@batijs/core 0.0.329 → 0.0.330

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.
Files changed (2) hide show
  1. package/dist/index.js +2 -2
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -1010,7 +1010,7 @@ ${j} return (`),yield _.insertTextAfter(W,`);
1010
1010
 
1011
1011
  `+a.message+`
1012
1012
  `+Array(a.message.length+1).join("=")+`
1013
- `+_Wr(t,n)):a}}var ZTt=Js("fs"),GTt=Js("path"),vus=/^\uFEFF/;function KTt(t,e,n){var i=GTt.resolve(n?e:GTt.dirname(e),t),a=GTt.extname(t);return a||(i+=".sqrl"),i}function Sus(t,e){var n,i,a=e.views,l=/^[A-Za-z]+:\\|^\//.exec(t);if(l&&l.length)n=KTt(t.replace(/^\/*/,""),e.root||"/",!0);else if(e.filename&&(i=KTt(t,e.filename),ZTt.existsSync(i)&&(n=i)),n||Array.isArray(a)&&a.some(function(p){return i=KTt(t,p,!0),ZTt.existsSync(i)})&&(n=i),!n)throw $v('Could not find the include file "'+t+'"');return n}function bWr(t){return ZTt.readFileSync(t).toString().replace(vus,"")}function xus(t,e){var n=X8e(e),i=bWr(t);try{var a=tvt(i,n);return n.storage.templates.define(n.filename,a),a}catch{throw $v("Loading file: "+t+" failed")}}function Eus(t){var e=t.filename;if(t.cache){var n=t.storage.templates.get(e);return n||xus(e,t)}return tvt(bWr(e),t)}function TWr(t,e){var n=X8e({filename:Sus(t,e)},e);return Eus(n)}function Cus(t,e,n){if(e&&e.length>0)throw $v("Helper 'includeFile' doesn't accept blocks");return TWr(t.params[0],n)(t.params[1],n)}function Aus(t,e,n){var i=t.params[1]||{};i.content=t.exec();for(var a=0;a<e.length;a++){var l=e[a];i[l.name]=l.exec()}return TWr(t.params[0],n)(i,n)}function HTt(t,e){var n;return e.cache&&e.name&&e.storage.templates.get(e.name)?e.storage.templates.get(e.name):(typeof t=="function"?n=t:n=tvt(t,e),e.cache&&e.name&&e.storage.templates.define(e.name,n),n)}function vWr(t,e,n,i){var a=X8e(n||{});if(a.async){var l;if(i)try{HTt(t,a)(e,a,i)}catch(p){return i(p)}else{if(typeof pWr=="function")return new pWr(function(p,f){try{l=HTt(t,a)(e,a),p(l)}catch(_){f(_)}});throw $v("Please provide a callback function, this env doesn't support Promises")}}else return HTt(t,a)(e,a)}evt.define("includeFile",Cus);evt.define("extendsFile",Aus);var rvt=["/*{","}*/"];function SWr(t,e){return vWr(t,e,{tags:rvt})}function Dus(t,e){return{eslint:t.includes("BATI.has")||t.includes("BATI_TEST")||t.includes("/*# BATI ")||t.includes("@batijs/")||e.endsWith(".ts")||e.endsWith(".tsx"),squirelly:t.includes(rvt[0])}}async function wus(t,e,n){let{eslint:i,squirelly:a}=Dus(t,n.filepath),l=t,p,f=!1;if(a&&(l=SWr(l,e),f=!0),i){let _=uWr(l,n.filepath,e);l=_.code,p=_.context,f=!0}return{code:f?await uit(l,n):l,context:p}}import{dirname as pbs,join as fbs}from"node:path";import{fileURLToPath as _bs}from"node:url";import{promises as yfs}from"node:fs";var w5e=af(mvt(),1),jJr=af(Xvt(),1);function dP(t){var e=t.use(h1),n=e.Type,i=e.builtInTypes,a=i.number;function l(g){return n.from(y=>a.check(y)&&y>=g,a+" >= "+g)}let p={null:function(){return null},emptyArray:function(){return[]},false:function(){return!1},true:function(){return!0},undefined:function(){},"use strict":function(){return"use strict"}};var f=n.or(i.string,i.number,i.boolean,i.null,i.undefined);let _=n.from(g=>{if(g===null)return!0;var y=typeof g;return!(y==="object"||y==="function")},f.toString());return{geq:l,defaults:p,isPrimitive:_}}function Vh(t){try{var e=t(),n=e.exports,i=n.default}catch{return}i&&i!==n&&typeof n=="object"&&(Object.assign(i,n,{default:i}),n.__esModule&&Object.defineProperty(i,"__esModule",{value:!0}),e.exports=i)}var bfs=Object.defineProperty,Tfs=(t,e,n)=>e in t?bfs(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,tC=(t,e,n)=>(Tfs(t,typeof e!="symbol"?e+"":e,n),n),BJr=Object.prototype,v5e=BJr.toString,$N=BJr.hasOwnProperty,FK=class{assert(e,n){if(!this.check(e,n)){var i=uSt(e);throw new Error(i+" does not match type "+this)}return!0}arrayOf(){let e=this;return new f0e(e)}},f0e=class extends FK{constructor(e){super(),this.elemType=e,tC(this,"kind","ArrayType")}toString(){return"["+this.elemType+"]"}check(e,n){return Array.isArray(e)&&e.every(i=>this.elemType.check(i,n))}},S5e=class extends FK{constructor(e){super(),this.value=e,tC(this,"kind","IdentityType")}toString(){return String(this.value)}check(e,n){let i=e===this.value;return!i&&typeof n=="function"&&n(this,e),i}},x5e=class extends FK{constructor(e){super(),this.fields=e,tC(this,"kind","ObjectType")}toString(){return"{ "+this.fields.join(", ")+" }"}check(e,n){return v5e.call(e)===v5e.call({})&&this.fields.every(i=>i.type.check(e[i.name],n))}},E5e=class extends FK{constructor(e){super(),this.types=e,tC(this,"kind","OrType")}toString(){return this.types.join(" | ")}check(e,n){return this.types.some(i=>i.check(e,!!n))?!0:(typeof n=="function"&&n(this,e),!1)}},LK=class extends FK{constructor(e,n){super(),this.name=e,this.predicate=n,tC(this,"kind","PredicateType")}toString(){return this.name}check(e,n){let i=this.predicate(e,n);return!i&&typeof n=="function"&&n(this,e),i}},u0e=class t{constructor(e,n){this.type=e,this.typeName=n,tC(this,"baseNames",[]),tC(this,"ownFields",Object.create(null)),tC(this,"allSupertypes",Object.create(null)),tC(this,"supertypeList",[]),tC(this,"allFields",Object.create(null)),tC(this,"fieldNames",[]),tC(this,"finalized",!1),tC(this,"buildable",!1),tC(this,"buildParams",[])}isSupertypeOf(e){if(e instanceof t){if(this.finalized!==!0||e.finalized!==!0)throw new Error("");return $N.call(e.allSupertypes,this.typeName)}else throw new Error(e+" is not a Def")}checkAllFields(e,n){var i=this.allFields;if(this.finalized!==!0)throw new Error(""+this.typeName);function a(l){var p=i[l],f=p.type,_=p.getValue(e);return f.check(_,n)}return e!==null&&typeof e=="object"&&Object.keys(i).every(a)}bases(...e){var n=this.baseNames;if(this.finalized){if(e.length!==n.length)throw new Error("");for(var i=0;i<e.length;i++)if(e[i]!==n[i])throw new Error("");return this}return e.forEach(a=>{n.indexOf(a)<0&&n.push(a)}),this}},C5e=class{constructor(e,n,i,a){this.name=e,this.type=n,this.defaultFn=i,tC(this,"hidden"),this.hidden=!!a}toString(){return JSON.stringify(this.name)+": "+this.type}getValue(e){var n=e[this.name];return typeof n<"u"||typeof this.defaultFn=="function"&&(n=this.defaultFn.call(e)),n}};function uSt(t){return Array.isArray(t)?"["+t.map(uSt).join(", ")+"]":t&&typeof t=="object"?"{ "+Object.keys(t).map(function(e){return e+": "+t[e]}).join(", ")+" }":JSON.stringify(t)}function h1(t){let e={or(...ht){return new E5e(ht.map(yr=>e.from(yr)))},from(ht,yr){if(ht instanceof f0e||ht instanceof S5e||ht instanceof x5e||ht instanceof E5e||ht instanceof LK)return ht;if(ht instanceof u0e)return ht.type;if(f.check(ht)){if(ht.length!==1)throw new Error("only one element type is permitted for typed arrays");return new f0e(e.from(ht[0]))}if(_.check(ht))return new x5e(Object.keys(ht).map(dr=>new C5e(dr,e.from(ht[dr],dr))));if(typeof ht=="function"){var vn=n.indexOf(ht);if(vn>=0)return i[vn];if(typeof yr!="string")throw new Error("missing name");return new LK(yr,ht)}return new S5e(ht)},def(ht){return $N.call(F,ht)?F[ht]:F[ht]=new q(ht)},hasDef(ht){return $N.call(F,ht)}};var n=[],i=[];function a(ht,yr){let vn=v5e.call(yr),dr=new LK(ht,ki=>v5e.call(ki)===vn);return yr&&typeof yr.constructor=="function"&&(n.push(yr.constructor),i.push(dr)),dr}let l=a("string","truthy"),p=a("function",function(){}),f=a("array",[]),_=a("object",{}),g=a("RegExp",/./),y=a("Date",new Date),T=a("number",3),b=a("boolean",!0),x=a("null",null),C=a("undefined",void 0),w=typeof BigInt=="function"?a("BigInt",BigInt(1234)):new LK("BigInt",()=>!1),O={string:l,function:p,array:f,object:_,RegExp:g,Date:y,number:T,boolean:b,null:x,undefined:C,BigInt:w};var F=Object.create(null);function j(ht){if(ht&&typeof ht=="object"){var yr=ht.type;if(typeof yr=="string"&&$N.call(F,yr)){var vn=F[yr];if(vn.finalized)return vn}}return null}class q extends u0e{constructor(yr){super(new LK(yr,(vn,dr)=>this.check(vn,dr)),yr)}check(yr,vn){if(this.finalized!==!0)throw new Error("prematurely checking unfinalized type "+this.typeName);if(yr===null||typeof yr!="object")return!1;var dr=j(yr);return dr?vn&&dr===this?this.checkAllFields(yr,vn):this.isSupertypeOf(dr)?vn?dr.checkAllFields(yr,vn)&&this.checkAllFields(yr,!1):!0:!1:this.typeName==="SourceLocation"||this.typeName==="Position"?this.checkAllFields(yr,vn):!1}build(...yr){if(this.buildParams=yr,this.buildable)return this;this.field("type",String,()=>this.typeName),this.buildable=!0;let vn=(ki,wi,$r,Di)=>{if(!$N.call(ki,wi)){var Nn=this.allFields;if(!$N.call(Nn,wi))throw new Error(""+wi);var Sn=Nn[wi],us=Sn.type,Bi;if(Di)Bi=$r;else if(Sn.defaultFn)Bi=Sn.defaultFn.call(ki);else{var ea="no value or default function given for field "+JSON.stringify(wi)+" of "+this.typeName+"("+this.buildParams.map(function(Qt){return Nn[Qt]}).join(", ")+")";throw new Error(ea)}if(!us.check(Bi))throw new Error(uSt(Bi)+" does not match field "+Sn+" of type "+this.typeName);ki[wi]=Bi}},dr=(...ki)=>{var wi=ki.length;if(!this.finalized)throw new Error("attempting to instantiate unfinalized type "+this.typeName);var $r=Object.create(se);if(this.buildParams.forEach(function(Di,Nn){Nn<wi?vn($r,Di,ki[Nn],!0):vn($r,Di,null,!1)}),Object.keys(this.allFields).forEach(function(Di){vn($r,Di,null,!1)}),$r.type!==this.typeName)throw new Error("");return $r};return dr.from=ki=>{if(!this.finalized)throw new Error("attempting to instantiate unfinalized type "+this.typeName);var wi=Object.create(se);if(Object.keys(this.allFields).forEach(function($r){$N.call(ki,$r)?vn(wi,$r,ki[$r],!0):vn(wi,$r,null,!1)}),wi.type!==this.typeName)throw new Error("");return wi},Object.defineProperty(H,Ce(this.typeName),{enumerable:!0,value:dr}),this}field(yr,vn,dr,ki){return this.finalized?(console.error("Ignoring attempt to redefine field "+JSON.stringify(yr)+" of finalized type "+JSON.stringify(this.typeName)),this):(this.ownFields[yr]=new C5e(yr,e.from(vn),dr,ki),this)}finalize(){if(!this.finalized){var yr=this.allFields,vn=this.allSupertypes;this.baseNames.forEach(ki=>{var wi=F[ki];if(wi instanceof u0e)wi.finalize(),Ft(yr,wi.allFields),Ft(vn,wi.allSupertypes);else{var $r="unknown supertype name "+JSON.stringify(ki)+" for subtype "+JSON.stringify(this.typeName);throw new Error($r)}}),Ft(yr,this.ownFields),vn[this.typeName]=this,this.fieldNames.length=0;for(var dr in yr)$N.call(yr,dr)&&!yr[dr].hidden&&this.fieldNames.push(dr);Object.defineProperty(ke,this.typeName,{enumerable:!0,value:this.type}),this.finalized=!0,Ye(this.typeName,this.supertypeList),this.buildable&&this.supertypeList.lastIndexOf("Expression")>=0&&st(this.typeName)}}}function W(ht){if(!$N.call(F,ht))throw new Error("");var yr=F[ht];if(yr.finalized!==!0)throw new Error("");return yr.supertypeList.slice(1)}function X(ht){for(var yr={},vn=Object.keys(F),dr=vn.length,ki=0;ki<dr;++ki){var wi=vn[ki],$r=F[wi];if($r.finalized!==!0)throw new Error(""+wi);for(var Di=0;Di<$r.supertypeList.length;++Di){var Nn=$r.supertypeList[Di];if($N.call(ht,Nn)){yr[wi]=Nn;break}}}return yr}var H=Object.create(null),se={};function de(ht,yr){var vn=se[ht];return C.check(yr)?delete se[ht]:(p.assert(yr),Object.defineProperty(se,ht,{enumerable:!0,configurable:!0,value:yr})),vn}function Ce(ht){return ht.replace(/^[A-Z]+/,function(yr){var vn=yr.length;switch(vn){case 0:return"";case 1:return yr.toLowerCase();default:return yr.slice(0,vn-1).toLowerCase()+yr.charAt(vn-1)}})}function Re(ht){return ht=Ce(ht),ht.replace(/(Expression)?$/,"Statement")}var ke={};function Le(ht){var yr=j(ht);if(yr)return yr.fieldNames.slice(0);if("type"in ht)throw new Error("did not recognize object of type "+JSON.stringify(ht.type));return Object.keys(ht)}function We(ht,yr){var vn=j(ht);if(vn){var dr=vn.allFields[yr];if(dr)return dr.getValue(ht)}return ht&&ht[yr]}function Te(ht,yr,vn){Le(ht).forEach(function(dr){yr.call(this,dr,We(ht,dr))},vn)}function Me(ht,yr,vn){return Le(ht).some(function(dr){return yr.call(this,dr,We(ht,dr))},vn)}function st(ht){var yr=Re(ht);if(H[yr])return;var vn=H[Ce(ht)];if(!vn)return;let dr=function(...ki){return H.expressionStatement(vn.apply(H,ki))};dr.from=function(...ki){return H.expressionStatement(vn.from.apply(H,ki))},H[yr]=dr}function Ye(ht,yr){yr.length=0,yr.push(ht);for(var vn=Object.create(null),dr=0;dr<yr.length;++dr){ht=yr[dr];var ki=F[ht];if(ki.finalized!==!0)throw new Error("");$N.call(vn,ht)&&delete yr[vn[ht]],vn[ht]=dr,yr.push.apply(yr,ki.baseNames)}for(var wi=0,$r=wi,Di=yr.length;$r<Di;++$r)$N.call(yr,$r)&&(yr[wi++]=yr[$r]);yr.length=wi}function Ft(ht,yr){return Object.keys(yr).forEach(function(vn){ht[vn]=yr[vn]}),ht}function nr(){Object.keys(F).forEach(function(ht){F[ht].finalize()})}return{Type:e,builtInTypes:O,getSupertypeNames:W,computeSupertypeLookupTable:X,builders:H,defineMethod:de,getBuilderName:Ce,getStatementBuilderName:Re,namedTypes:ke,getFieldNames:Le,getFieldValue:We,eachField:Te,someField:Me,finalize:nr}}Vh(()=>module);var vfs=Object.prototype,f5e=vfs.hasOwnProperty;function UJr(t){var e=t.use(h1),n=e.builtInTypes.array,i=e.builtInTypes.number;let a=function T(b,x,C){if(!(this instanceof T))throw new Error("Path constructor cannot be invoked without 'new'");if(x){if(!(x instanceof T))throw new Error("")}else x=null,C=null;this.value=b,this.parentPath=x,this.name=C,this.__childCache=null};var l=a.prototype;function p(T){return T.__childCache||(T.__childCache=Object.create(null))}function f(T,b){var x=p(T),C=T.getValueProperty(b),w=x[b];return(!f5e.call(x,b)||w.value!==C)&&(w=x[b]=new T.constructor(C,T,b)),w}l.getValueProperty=function(b){return this.value[b]},l.get=function(...b){for(var x=this,C=b.length,w=0;w<C;++w)x=f(x,b[w]);return x},l.each=function(b,x){for(var C=[],w=this.value.length,O=0,O=0;O<w;++O)f5e.call(this.value,O)&&(C[O]=this.get(O));for(x=x||this,O=0;O<w;++O)f5e.call(C,O)&&b.call(x,C[O])},l.map=function(b,x){var C=[];return this.each(function(w){C.push(b.call(this,w))},x),C},l.filter=function(b,x){var C=[];return this.each(function(w){b.call(this,w)&&C.push(w)},x),C};function _(){}function g(T,b,x,C){if(n.assert(T.value),b===0)return _;var w=T.value.length;if(w<1)return _;var O=arguments.length;O===2?(x=0,C=w):O===3?(x=Math.max(x,0),C=w):(x=Math.max(x,0),C=Math.min(C,w)),i.assert(x),i.assert(C);for(var F=Object.create(null),j=p(T),q=x;q<C;++q)if(f5e.call(T.value,q)){var W=T.get(q);if(W.name!==q)throw new Error("");var X=q+b;W.name=X,F[X]=W,delete j[q]}return delete j.length,function(){for(var H in F){var se=F[H];if(se.name!==+H)throw new Error("");j[H]=se,T.value[H]=se.value}}}l.shift=function(){var b=g(this,-1),x=this.value.shift();return b(),x},l.unshift=function(...b){var x=g(this,b.length),C=this.value.unshift.apply(this.value,b);return x(),C},l.push=function(...b){return n.assert(this.value),delete p(this).length,this.value.push.apply(this.value,b)},l.pop=function(){n.assert(this.value);var b=p(this);return delete b[this.value.length-1],delete b.length,this.value.pop()},l.insertAt=function(b){var x=arguments.length,C=g(this,x-1,b);if(C===_&&x<=1)return this;b=Math.max(b,0);for(var w=1;w<x;++w)this.value[b+w-1]=arguments[w];return C(),this},l.insertBefore=function(...b){for(var x=this.parentPath,C=b.length,w=[this.name],O=0;O<C;++O)w.push(b[O]);return x.insertAt.apply(x,w)},l.insertAfter=function(...b){for(var x=this.parentPath,C=b.length,w=[this.name+1],O=0;O<C;++O)w.push(b[O]);return x.insertAt.apply(x,w)};function y(T){if(!(T instanceof a))throw new Error("");var b=T.parentPath;if(!b)return T;var x=b.value,C=p(b);if(x[T.name]===T.value)C[T.name]=T;else if(n.check(x)){var w=x.indexOf(T.value);w>=0&&(C[T.name=w]=T)}else x[T.name]=T.value,C[T.name]=T;if(x[T.name]!==T.value)throw new Error("");if(T.parentPath.get(T.name)!==T)throw new Error("");return T}return l.replace=function(b){var x=[],C=this.parentPath.value,w=p(this.parentPath),O=arguments.length;if(y(this),n.check(C)){for(var F=C.length,j=g(this.parentPath,O-1,this.name+1),q=[this.name,1],W=0;W<O;++W)q.push(arguments[W]);var X=C.splice.apply(C,q);if(X[0]!==this.value)throw new Error("");if(C.length!==F-1+O)throw new Error("");if(j(),O===0)delete this.value,delete w[this.name],this.__childCache=null;else{if(C[this.name]!==b)throw new Error("");for(this.value!==b&&(this.value=b,this.__childCache=null),W=0;W<O;++W)x.push(this.parentPath.get(this.name+W));if(x[0]!==this)throw new Error("")}}else if(O===1)this.value!==b&&(this.__childCache=null),this.value=C[this.name]=b,x.push(this);else if(O===0)delete C[this.name],delete this.value,this.__childCache=null;else throw new Error("Could not replace path");return x},a}Vh(()=>module);var Cse=Object.prototype.hasOwnProperty;function Sfs(t){var e=t.use(h1),n=e.Type,i=e.namedTypes,a=i.Node,l=i.Expression,p=e.builtInTypes.array,f=e.builders;let _=function W(X,H){if(!(this instanceof W))throw new Error("Scope constructor cannot be invoked without 'new'");y.check(X.value)||g.assert(X.value);var se;if(H){if(!(H instanceof W))throw new Error("");se=H.depth+1}else H=null,se=0;Object.defineProperties(this,{path:{value:X},node:{value:X.value},isGlobal:{value:!H,enumerable:!0},depth:{value:se},parent:{value:H},bindings:{value:{}},types:{value:{}}})};var g=n.or(i.Program,i.Function,i.CatchClause),y=n.or(i.Function,i.ClassDeclaration,i.ClassExpression,i.InterfaceDeclaration,i.TSInterfaceDeclaration,i.TypeAlias,i.TSTypeAliasDeclaration),T=n.or(i.TypeParameter,i.TSTypeParameter);_.isEstablishedBy=function(W){return g.check(W)||y.check(W)};var b=_.prototype;b.didScan=!1,b.declares=function(W){return this.scan(),Cse.call(this.bindings,W)},b.declaresType=function(W){return this.scan(),Cse.call(this.types,W)},b.declareTemporary=function(W){if(W){if(!/^[a-z$_]/i.test(W))throw new Error("")}else W="t$";W+=this.depth.toString(36)+"$",this.scan();for(var X=0;this.declares(W+X);)++X;var H=W+X;return this.bindings[H]=e.builders.identifier(H)},b.injectTemporary=function(W,X){W||(W=this.declareTemporary());var H=this.path.get("body");return i.BlockStatement.check(H.value)&&(H=H.get("body")),H.unshift(f.variableDeclaration("var",[f.variableDeclarator(W,X||null)])),W},b.scan=function(W){if(W||!this.didScan){for(var X in this.bindings)delete this.bindings[X];for(var X in this.types)delete this.types[X];x(this.path,this.bindings,this.types),this.didScan=!0}},b.getBindings=function(){return this.scan(),this.bindings},b.getTypes=function(){return this.scan(),this.types};function x(W,X,H){var se=W.value;if(y.check(se)){let de=W.get("typeParameters","params");p.check(de.value)&&de.each(Ce=>{q(Ce,H)})}g.check(se)&&(i.CatchClause.check(se)?F(W.get("param"),X):C(W,X,H))}function C(W,X,H){var se=W.value;W.parent&&i.FunctionExpression.check(W.parent.node)&&W.parent.node.id&&F(W.parent.get("id"),X),se&&(p.check(se)?W.each(de=>{O(de,X,H)}):i.Function.check(se)?(W.get("params").each(de=>{F(de,X)}),O(W.get("body"),X,H),C(W.get("typeParameters"),X,H)):i.TypeAlias&&i.TypeAlias.check(se)||i.InterfaceDeclaration&&i.InterfaceDeclaration.check(se)||i.TSTypeAliasDeclaration&&i.TSTypeAliasDeclaration.check(se)||i.TSInterfaceDeclaration&&i.TSInterfaceDeclaration.check(se)?j(W.get("id"),H):i.VariableDeclarator.check(se)?(F(W.get("id"),X),O(W.get("init"),X,H)):se.type==="ImportSpecifier"||se.type==="ImportNamespaceSpecifier"||se.type==="ImportDefaultSpecifier"?F(W.get(se.local?"local":se.name?"name":"id"),X):a.check(se)&&!l.check(se)&&e.eachField(se,function(de,Ce){var Re=W.get(de);if(!w(Re,Ce))throw new Error("");O(Re,X,H)}))}function w(W,X){return!!(W.value===X||Array.isArray(W.value)&&W.value.length===0&&Array.isArray(X)&&X.length===0)}function O(W,X,H){var se=W.value;if(!(!se||l.check(se)))if(i.FunctionDeclaration.check(se)&&se.id!==null)F(W.get("id"),X);else if(i.ClassDeclaration&&i.ClassDeclaration.check(se)&&se.id!==null)F(W.get("id"),X),C(W.get("typeParameters"),X,H);else if(i.InterfaceDeclaration&&i.InterfaceDeclaration.check(se)||i.TSInterfaceDeclaration&&i.TSInterfaceDeclaration.check(se))j(W.get("id"),H);else if(g.check(se)){if(i.CatchClause.check(se)&&i.Identifier.check(se.param)){var de=se.param.name,Ce=Cse.call(X,de);C(W.get("body"),X,H),Ce||delete X[de]}}else C(W,X,H)}function F(W,X){var H=W.value;i.Pattern.assert(H),i.Identifier.check(H)?Cse.call(X,H.name)?X[H.name].push(W):X[H.name]=[W]:i.AssignmentPattern&&i.AssignmentPattern.check(H)?F(W.get("left"),X):i.ObjectPattern&&i.ObjectPattern.check(H)?W.get("properties").each(function(se){var de=se.value;i.Pattern.check(de)?F(se,X):i.Property.check(de)||i.ObjectProperty&&i.ObjectProperty.check(de)?F(se.get("value"),X):i.SpreadProperty&&i.SpreadProperty.check(de)&&F(se.get("argument"),X)}):i.ArrayPattern&&i.ArrayPattern.check(H)?W.get("elements").each(function(se){var de=se.value;i.Pattern.check(de)?F(se,X):i.SpreadElement&&i.SpreadElement.check(de)&&F(se.get("argument"),X)}):i.PropertyPattern&&i.PropertyPattern.check(H)?F(W.get("pattern"),X):(i.SpreadElementPattern&&i.SpreadElementPattern.check(H)||i.RestElement&&i.RestElement.check(H)||i.SpreadPropertyPattern&&i.SpreadPropertyPattern.check(H))&&F(W.get("argument"),X)}function j(W,X){var H=W.value;i.Pattern.assert(H),i.Identifier.check(H)&&(Cse.call(X,H.name)?X[H.name].push(W):X[H.name]=[W])}function q(W,X){var H=W.value;T.assert(H),Cse.call(X,H.name)?X[H.name].push(W):X[H.name]=[W]}return b.lookup=function(W){for(var X=this;X&&!X.declares(W);X=X.parent);return X},b.lookupType=function(W){for(var X=this;X&&!X.declaresType(W);X=X.parent);return X},b.getGlobalScope=function(){for(var W=this;!W.isGlobal;)W=W.parent;return W},_}Vh(()=>module);function qJr(t){var e=t.use(h1),n=e.namedTypes,i=e.builders,a=e.builtInTypes.number,l=e.builtInTypes.array,p=t.use(UJr),f=t.use(Sfs);let _=function O(F,j,q){if(!(this instanceof O))throw new Error("NodePath constructor cannot be invoked without 'new'");p.call(this,F,j,q)};var g=_.prototype=Object.create(p.prototype,{constructor:{value:_,enumerable:!1,writable:!0,configurable:!0}});Object.defineProperties(g,{node:{get:function(){return Object.defineProperty(this,"node",{configurable:!0,value:this._computeNode()}),this.node}},parent:{get:function(){return Object.defineProperty(this,"parent",{configurable:!0,value:this._computeParent()}),this.parent}},scope:{get:function(){return Object.defineProperty(this,"scope",{configurable:!0,value:this._computeScope()}),this.scope}}}),g.replace=function(){return delete this.node,delete this.parent,delete this.scope,p.prototype.replace.apply(this,arguments)},g.prune=function(){var O=this.parent;return this.replace(),C(O)},g._computeNode=function(){var O=this.value;if(n.Node.check(O))return O;var F=this.parentPath;return F&&F.node||null},g._computeParent=function(){var O=this.value,F=this.parentPath;if(!n.Node.check(O)){for(;F&&!n.Node.check(F.value);)F=F.parentPath;F&&(F=F.parentPath)}for(;F&&!n.Node.check(F.value);)F=F.parentPath;return F||null},g._computeScope=function(){var O=this.value,F=this.parentPath,j=F&&F.scope;return n.Node.check(O)&&f.isEstablishedBy(O)&&(j=new f(this,j)),j||null},g.getValueProperty=function(O){return e.getFieldValue(this.value,O)},g.needsParens=function(O){var F=this.parentPath;if(!F)return!1;var j=this.value;if(!n.Expression.check(j)||j.type==="Identifier")return!1;for(;!n.Node.check(F.value);)if(F=F.parentPath,!F)return!1;var q=F.value;switch(j.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":return q.type==="MemberExpression"&&this.name==="object"&&q.object===j;case"BinaryExpression":case"LogicalExpression":switch(q.type){case"CallExpression":return this.name==="callee"&&q.callee===j;case"UnaryExpression":case"SpreadElement":case"SpreadProperty":return!0;case"MemberExpression":return this.name==="object"&&q.object===j;case"BinaryExpression":case"LogicalExpression":{let W=j,X=q.operator,H=T[X],se=W.operator,de=T[se];if(H>de)return!0;if(H===de&&this.name==="right"){if(q.right!==W)throw new Error("Nodes must be equal");return!0}}default:return!1}case"SequenceExpression":switch(q.type){case"ForStatement":return!1;case"ExpressionStatement":return this.name!=="expression";default:return!0}case"YieldExpression":switch(q.type){case"BinaryExpression":case"LogicalExpression":case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"CallExpression":case"MemberExpression":case"NewExpression":case"ConditionalExpression":case"YieldExpression":return!0;default:return!1}case"Literal":return q.type==="MemberExpression"&&a.check(j.value)&&this.name==="object"&&q.object===j;case"AssignmentExpression":case"ConditionalExpression":switch(q.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":return!0;case"CallExpression":return this.name==="callee"&&q.callee===j;case"ConditionalExpression":return this.name==="test"&&q.test===j;case"MemberExpression":return this.name==="object"&&q.object===j;default:return!1}default:if(q.type==="NewExpression"&&this.name==="callee"&&q.callee===j)return b(j)}return!!(O!==!0&&!this.canBeFirstInStatement()&&this.firstInStatement())};function y(O){return n.BinaryExpression.check(O)||n.LogicalExpression.check(O)}var T={};[["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"]].forEach(function(O,F){O.forEach(function(j){T[j]=F})});function b(O){return n.CallExpression.check(O)?!0:l.check(O)?O.some(b):n.Node.check(O)?e.someField(O,function(F,j){return b(j)}):!1}g.canBeFirstInStatement=function(){var O=this.node;return!n.FunctionExpression.check(O)&&!n.ObjectExpression.check(O)},g.firstInStatement=function(){return x(this)};function x(O){for(var F,j;O.parent;O=O.parent){if(F=O.node,j=O.parent.node,n.BlockStatement.check(j)&&O.parent.name==="body"&&O.name===0){if(j.body[0]!==F)throw new Error("Nodes must be equal");return!0}if(n.ExpressionStatement.check(j)&&O.name==="expression"){if(j.expression!==F)throw new Error("Nodes must be equal");return!0}if(n.SequenceExpression.check(j)&&O.parent.name==="expressions"&&O.name===0){if(j.expressions[0]!==F)throw new Error("Nodes must be equal");continue}if(n.CallExpression.check(j)&&O.name==="callee"){if(j.callee!==F)throw new Error("Nodes must be equal");continue}if(n.MemberExpression.check(j)&&O.name==="object"){if(j.object!==F)throw new Error("Nodes must be equal");continue}if(n.ConditionalExpression.check(j)&&O.name==="test"){if(j.test!==F)throw new Error("Nodes must be equal");continue}if(y(j)&&O.name==="left"){if(j.left!==F)throw new Error("Nodes must be equal");continue}if(n.UnaryExpression.check(j)&&!j.prefix&&O.name==="argument"){if(j.argument!==F)throw new Error("Nodes must be equal");continue}return!1}return!0}function C(O){if(n.VariableDeclaration.check(O.node)){var F=O.get("declarations").value;if(!F||F.length===0)return O.prune()}else if(n.ExpressionStatement.check(O.node)){if(!O.get("expression").value)return O.prune()}else n.IfStatement.check(O.node)&&w(O);return O}function w(O){var F=O.get("test").value,j=O.get("alternate").value,q=O.get("consequent").value;if(!q&&!j){var W=i.expressionStatement(F);O.replace(W)}else if(!q&&j){var X=i.unaryExpression("!",F,!0);n.UnaryExpression.check(F)&&F.operator==="!"&&(X=F.argument),O.get("test").replace(X),O.get("consequent").replace(j),O.get("alternate").replace()}}return _}Vh(()=>module);var _5e=Object.prototype.hasOwnProperty;function xfs(t){var e=t.use(h1),n=t.use(qJr),i=e.builtInTypes.array,a=e.builtInTypes.object,l=e.builtInTypes.function,p;let f=function C(){if(!(this instanceof C))throw new Error("PathVisitor constructor cannot be invoked without 'new'");this._reusableContextStack=[],this._methodNameTable=_(this),this._shouldVisitComments=_5e.call(this._methodNameTable,"Block")||_5e.call(this._methodNameTable,"Line"),this.Context=b(this),this._visiting=!1,this._changeReported=!1};function _(C){var w=Object.create(null);for(var O in C)/^visit[A-Z]/.test(O)&&(w[O.slice(5)]=!0);for(var F=e.computeSupertypeLookupTable(w),j=Object.create(null),q=Object.keys(F),W=q.length,X=0;X<W;++X){var H=q[X];O="visit"+F[H],l.check(C[O])&&(j[H]=O)}return j}f.fromMethodsObject=function(w){if(w instanceof f)return w;if(!a.check(w))return new f;let O=function j(){if(!(this instanceof j))throw new Error("Visitor constructor cannot be invoked without 'new'");f.call(this)};var F=O.prototype=Object.create(y);return F.constructor=O,g(F,w),g(O,f),l.assert(O.fromMethodsObject),l.assert(O.visit),new O};function g(C,w){for(var O in w)_5e.call(w,O)&&(C[O]=w[O]);return C}f.visit=function(w,O){return f.fromMethodsObject(O).visit(w)};var y=f.prototype;y.visit=function(){if(this._visiting)throw new Error("Recursively calling visitor.visit(path) resets visitor state. Try this.visit(path) or this.traverse(path) instead.");this._visiting=!0,this._changeReported=!1,this._abortRequested=!1;for(var C=arguments.length,w=new Array(C),O=0;O<C;++O)w[O]=arguments[O];w[0]instanceof n||(w[0]=new n({root:w[0]}).get("root")),this.reset.apply(this,w);var F;try{var j=this.visitWithoutReset(w[0]);F=!0}finally{if(this._visiting=!1,!F&&this._abortRequested)return w[0].value}return j},y.AbortRequest=function(){},y.abort=function(){var C=this;C._abortRequested=!0;var w=new C.AbortRequest;throw w.cancel=function(){C._abortRequested=!1},w},y.reset=function(C){},y.visitWithoutReset=function(C){if(this instanceof this.Context)return this.visitor.visitWithoutReset(C);if(!(C instanceof n))throw new Error("");var w=C.value,O=w&&typeof w=="object"&&typeof w.type=="string"&&this._methodNameTable[w.type];if(O){var F=this.acquireContext(C);try{return F.invokeVisitorMethod(O)}finally{this.releaseContext(F)}}else return T(C,this)};function T(C,w){if(!(C instanceof n))throw new Error("");if(!(w instanceof f))throw new Error("");var O=C.value;if(i.check(O))C.each(w.visitWithoutReset,w);else if(a.check(O)){var F=e.getFieldNames(O);w._shouldVisitComments&&O.comments&&F.indexOf("comments")<0&&F.push("comments");for(var j=F.length,q=[],W=0;W<j;++W){var X=F[W];_5e.call(O,X)||(O[X]=e.getFieldValue(O,X)),q.push(C.get(X))}for(var W=0;W<j;++W)w.visitWithoutReset(q[W])}return C.value}y.acquireContext=function(C){return this._reusableContextStack.length===0?new this.Context(C):this._reusableContextStack.pop().reset(C)},y.releaseContext=function(C){if(!(C instanceof this.Context))throw new Error("");this._reusableContextStack.push(C),C.currentPath=null},y.reportChanged=function(){this._changeReported=!0},y.wasChangeReported=function(){return this._changeReported};function b(C){function w(F){if(!(this instanceof w))throw new Error("");if(!(this instanceof f))throw new Error("");if(!(F instanceof n))throw new Error("");Object.defineProperty(this,"visitor",{value:C,writable:!1,enumerable:!0,configurable:!1}),this.currentPath=F,this.needToCallTraverse=!0,Object.seal(this)}if(!(C instanceof f))throw new Error("");var O=w.prototype=Object.create(C);return O.constructor=w,g(O,x),w}var x=Object.create(null);return x.reset=function(w){if(!(this instanceof this.Context))throw new Error("");if(!(w instanceof n))throw new Error("");return this.currentPath=w,this.needToCallTraverse=!0,this},x.invokeVisitorMethod=function(w){if(!(this instanceof this.Context))throw new Error("");if(!(this.currentPath instanceof n))throw new Error("");var O=this.visitor[w].call(this,this.currentPath);if(O===!1?this.needToCallTraverse=!1:O!==p&&(this.currentPath=this.currentPath.replace(O)[0],this.needToCallTraverse&&this.traverse(this.currentPath)),this.needToCallTraverse!==!1)throw new Error("Must either call this.traverse or return false in "+w);var F=this.currentPath;return F&&F.value},x.traverse=function(w,O){if(!(this instanceof this.Context))throw new Error("");if(!(w instanceof n))throw new Error("");if(!(this.currentPath instanceof n))throw new Error("");return this.needToCallTraverse=!1,T(w,f.fromMethodsObject(O||this.visitor))},x.visit=function(w,O){if(!(this instanceof this.Context))throw new Error("");if(!(w instanceof n))throw new Error("");if(!(this.currentPath instanceof n))throw new Error("");return this.needToCallTraverse=!1,f.fromMethodsObject(O||this.visitor).visitWithoutReset(w)},x.reportChanged=function(){this.visitor.reportChanged()},x.abort=function(){this.needToCallTraverse=!1,this.visitor.abort()},f}Vh(()=>module);function Efs(t){var e=t.use(h1),n=e.getFieldNames,i=e.getFieldValue,a=e.builtInTypes.array,l=e.builtInTypes.object,p=e.builtInTypes.Date,f=e.builtInTypes.RegExp,_=Object.prototype.hasOwnProperty;function g(C,w,O){return a.check(O)?O.length=0:O=null,T(C,w,O)}g.assert=function(C,w){var O=[];if(!g(C,w,O))if(O.length===0){if(C!==w)throw new Error("Nodes must be equal")}else throw new Error("Nodes differ in the following path: "+O.map(y).join(""))};function y(C){return/[_$a-z][_$a-z0-9]*/i.test(C)?"."+C:"["+JSON.stringify(C)+"]"}function T(C,w,O){return C===w?!0:a.check(C)?b(C,w,O):l.check(C)?x(C,w,O):p.check(C)?p.check(w)&&+C==+w:f.check(C)?f.check(w)&&C.source===w.source&&C.global===w.global&&C.multiline===w.multiline&&C.ignoreCase===w.ignoreCase:C==w}function b(C,w,O){a.assert(C);var F=C.length;if(!a.check(w)||w.length!==F)return O&&O.push("length"),!1;for(var j=0;j<F;++j){if(O&&O.push(j),j in C!=j in w||!T(C[j],w[j],O))return!1;if(O){var q=O.pop();if(q!==j)throw new Error(""+q)}}return!0}function x(C,w,O){if(l.assert(C),!l.check(w))return!1;if(C.type!==w.type)return O&&O.push("type"),!1;var F=n(C),j=F.length,q=n(w),W=q.length;if(j===W){for(var X=0;X<j;++X){var H=F[X],se=i(C,H),de=i(w,H);if(O&&O.push(H),!T(se,de,O))return!1;if(O){var Ce=O.pop();if(Ce!==H)throw new Error(""+Ce)}}return!0}if(!O)return!1;var Re=Object.create(null);for(X=0;X<j;++X)Re[F[X]]=!0;for(X=0;X<W;++X){if(H=q[X],!_.call(Re,H))return O.push(H),!1;delete Re[H]}for(H in Re){O.push(H);break}return!1}return g}Vh(()=>module);function Cfs(t){let e=Afs(),n=e.use(h1);t.forEach(e.use),n.finalize();let i=e.use(xfs);return{Type:n.Type,builtInTypes:n.builtInTypes,namedTypes:n.namedTypes,builders:n.builders,defineMethod:n.defineMethod,getFieldNames:n.getFieldNames,getFieldValue:n.getFieldValue,eachField:n.eachField,someField:n.someField,getSupertypeNames:n.getSupertypeNames,getBuilderName:n.getBuilderName,astNodesAreEquivalent:e.use(Efs),finalize:n.finalize,Path:e.use(UJr),NodePath:e.use(qJr),PathVisitor:i,use:e.use,visit:i.visit}}function Afs(){let t=[],e=[];function n(a){var l=t.indexOf(a);return l===-1&&(l=t.length,t.push(a),e[l]=a(i)),e[l]}var i={use:n};return i}Vh(()=>module);function VJr(){return{BinaryOperators:["==","!=","===","!==","<","<=",">",">=","<<",">>",">>>","+","-","*","/","%","&","|","^","in","instanceof"],AssignmentOperators:["=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","|=","^=","&="],LogicalOperators:["||","&&"]}}Vh(()=>module);function zJr(t){let e=t.use(VJr);return e.BinaryOperators.indexOf("**")<0&&e.BinaryOperators.push("**"),e.AssignmentOperators.indexOf("**=")<0&&e.AssignmentOperators.push("**="),e}Vh(()=>module);function YJr(t){let e=t.use(zJr);return e.LogicalOperators.indexOf("??")<0&&e.LogicalOperators.push("??"),e}Vh(()=>module);function Dfs(t){let e=t.use(YJr);return e.LogicalOperators.forEach(n=>{let i=n+"=";e.AssignmentOperators.indexOf(i)<0&&e.AssignmentOperators.push(i)}),e}Vh(()=>module);function wfs(t){var e=t.use(h1),n=e.Type,i=n.def,a=n.or,l=t.use(dP),p=l.defaults,f=l.geq;let{BinaryOperators:_,AssignmentOperators:g,LogicalOperators:y}=t.use(VJr);i("Printable").field("loc",a(i("SourceLocation"),null),p.null,!0),i("Node").bases("Printable").field("type",String).field("comments",a([i("Comment")],null),p.null,!0),i("SourceLocation").field("start",i("Position")).field("end",i("Position")).field("source",a(String,null),p.null),i("Position").field("line",f(1)).field("column",f(0)),i("File").bases("Node").build("program","name").field("program",i("Program")).field("name",a(String,null),p.null),i("Program").bases("Node").build("body").field("body",[i("Statement")]),i("Function").bases("Node").field("id",a(i("Identifier"),null),p.null).field("params",[i("Pattern")]).field("body",i("BlockStatement")).field("generator",Boolean,p.false).field("async",Boolean,p.false),i("Statement").bases("Node"),i("EmptyStatement").bases("Statement").build(),i("BlockStatement").bases("Statement").build("body").field("body",[i("Statement")]),i("ExpressionStatement").bases("Statement").build("expression").field("expression",i("Expression")),i("IfStatement").bases("Statement").build("test","consequent","alternate").field("test",i("Expression")).field("consequent",i("Statement")).field("alternate",a(i("Statement"),null),p.null),i("LabeledStatement").bases("Statement").build("label","body").field("label",i("Identifier")).field("body",i("Statement")),i("BreakStatement").bases("Statement").build("label").field("label",a(i("Identifier"),null),p.null),i("ContinueStatement").bases("Statement").build("label").field("label",a(i("Identifier"),null),p.null),i("WithStatement").bases("Statement").build("object","body").field("object",i("Expression")).field("body",i("Statement")),i("SwitchStatement").bases("Statement").build("discriminant","cases","lexical").field("discriminant",i("Expression")).field("cases",[i("SwitchCase")]).field("lexical",Boolean,p.false),i("ReturnStatement").bases("Statement").build("argument").field("argument",a(i("Expression"),null)),i("ThrowStatement").bases("Statement").build("argument").field("argument",i("Expression")),i("TryStatement").bases("Statement").build("block","handler","finalizer").field("block",i("BlockStatement")).field("handler",a(i("CatchClause"),null),function(){return this.handlers&&this.handlers[0]||null}).field("handlers",[i("CatchClause")],function(){return this.handler?[this.handler]:[]},!0).field("guardedHandlers",[i("CatchClause")],p.emptyArray).field("finalizer",a(i("BlockStatement"),null),p.null),i("CatchClause").bases("Node").build("param","guard","body").field("param",i("Pattern")).field("guard",a(i("Expression"),null),p.null).field("body",i("BlockStatement")),i("WhileStatement").bases("Statement").build("test","body").field("test",i("Expression")).field("body",i("Statement")),i("DoWhileStatement").bases("Statement").build("body","test").field("body",i("Statement")).field("test",i("Expression")),i("ForStatement").bases("Statement").build("init","test","update","body").field("init",a(i("VariableDeclaration"),i("Expression"),null)).field("test",a(i("Expression"),null)).field("update",a(i("Expression"),null)).field("body",i("Statement")),i("ForInStatement").bases("Statement").build("left","right","body").field("left",a(i("VariableDeclaration"),i("Expression"))).field("right",i("Expression")).field("body",i("Statement")),i("DebuggerStatement").bases("Statement").build(),i("Declaration").bases("Statement"),i("FunctionDeclaration").bases("Function","Declaration").build("id","params","body").field("id",i("Identifier")),i("FunctionExpression").bases("Function","Expression").build("id","params","body"),i("VariableDeclaration").bases("Declaration").build("kind","declarations").field("kind",a("var","let","const")).field("declarations",[i("VariableDeclarator")]),i("VariableDeclarator").bases("Node").build("id","init").field("id",i("Pattern")).field("init",a(i("Expression"),null),p.null),i("Expression").bases("Node"),i("ThisExpression").bases("Expression").build(),i("ArrayExpression").bases("Expression").build("elements").field("elements",[a(i("Expression"),null)]),i("ObjectExpression").bases("Expression").build("properties").field("properties",[i("Property")]),i("Property").bases("Node").build("kind","key","value").field("kind",a("init","get","set")).field("key",a(i("Literal"),i("Identifier"))).field("value",i("Expression")),i("SequenceExpression").bases("Expression").build("expressions").field("expressions",[i("Expression")]);var T=a("-","+","!","~","typeof","void","delete");i("UnaryExpression").bases("Expression").build("operator","argument","prefix").field("operator",T).field("argument",i("Expression")).field("prefix",Boolean,p.true);let b=a(..._);i("BinaryExpression").bases("Expression").build("operator","left","right").field("operator",b).field("left",i("Expression")).field("right",i("Expression"));let x=a(...g);i("AssignmentExpression").bases("Expression").build("operator","left","right").field("operator",x).field("left",a(i("Pattern"),i("MemberExpression"))).field("right",i("Expression"));var C=a("++","--");i("UpdateExpression").bases("Expression").build("operator","argument","prefix").field("operator",C).field("argument",i("Expression")).field("prefix",Boolean);var w=a(...y);i("LogicalExpression").bases("Expression").build("operator","left","right").field("operator",w).field("left",i("Expression")).field("right",i("Expression")),i("ConditionalExpression").bases("Expression").build("test","consequent","alternate").field("test",i("Expression")).field("consequent",i("Expression")).field("alternate",i("Expression")),i("NewExpression").bases("Expression").build("callee","arguments").field("callee",i("Expression")).field("arguments",[i("Expression")]),i("CallExpression").bases("Expression").build("callee","arguments").field("callee",i("Expression")).field("arguments",[i("Expression")]),i("MemberExpression").bases("Expression").build("object","property","computed").field("object",i("Expression")).field("property",a(i("Identifier"),i("Expression"))).field("computed",Boolean,function(){var O=this.property.type;return O==="Literal"||O==="MemberExpression"||O==="BinaryExpression"}),i("Pattern").bases("Node"),i("SwitchCase").bases("Node").build("test","consequent").field("test",a(i("Expression"),null)).field("consequent",[i("Statement")]),i("Identifier").bases("Expression","Pattern").build("name").field("name",String).field("optional",Boolean,p.false),i("Literal").bases("Expression").build("value").field("value",a(String,Boolean,null,Number,RegExp,BigInt)),i("Comment").bases("Printable").field("value",String).field("leading",Boolean,p.true).field("trailing",Boolean,p.false)}Vh(()=>module);function Pfs(t){t.use(wfs);let e=t.use(h1),n=e.Type.def,i=e.Type.or,a=t.use(dP).defaults;n("Function").field("generator",Boolean,a.false).field("expression",Boolean,a.false).field("defaults",[i(n("Expression"),null)],a.emptyArray).field("rest",i(n("Identifier"),null),a.null),n("RestElement").bases("Pattern").build("argument").field("argument",n("Pattern")).field("typeAnnotation",i(n("TypeAnnotation"),n("TSTypeAnnotation"),null),a.null),n("SpreadElementPattern").bases("Pattern").build("argument").field("argument",n("Pattern")),n("FunctionDeclaration").build("id","params","body","generator","expression").field("id",i(n("Identifier"),null)),n("FunctionExpression").build("id","params","body","generator","expression"),n("ArrowFunctionExpression").bases("Function","Expression").build("params","body","expression").field("id",null,a.null).field("body",i(n("BlockStatement"),n("Expression"))).field("generator",!1,a.false),n("ForOfStatement").bases("Statement").build("left","right","body").field("left",i(n("VariableDeclaration"),n("Pattern"))).field("right",n("Expression")).field("body",n("Statement")),n("YieldExpression").bases("Expression").build("argument","delegate").field("argument",i(n("Expression"),null)).field("delegate",Boolean,a.false),n("GeneratorExpression").bases("Expression").build("body","blocks","filter").field("body",n("Expression")).field("blocks",[n("ComprehensionBlock")]).field("filter",i(n("Expression"),null)),n("ComprehensionExpression").bases("Expression").build("body","blocks","filter").field("body",n("Expression")).field("blocks",[n("ComprehensionBlock")]).field("filter",i(n("Expression"),null)),n("ComprehensionBlock").bases("Node").build("left","right","each").field("left",n("Pattern")).field("right",n("Expression")).field("each",Boolean),n("Property").field("key",i(n("Literal"),n("Identifier"),n("Expression"))).field("value",i(n("Expression"),n("Pattern"))).field("method",Boolean,a.false).field("shorthand",Boolean,a.false).field("computed",Boolean,a.false),n("ObjectProperty").field("shorthand",Boolean,a.false),n("PropertyPattern").bases("Pattern").build("key","pattern").field("key",i(n("Literal"),n("Identifier"),n("Expression"))).field("pattern",n("Pattern")).field("computed",Boolean,a.false),n("ObjectPattern").bases("Pattern").build("properties").field("properties",[i(n("PropertyPattern"),n("Property"))]),n("ArrayPattern").bases("Pattern").build("elements").field("elements",[i(n("Pattern"),null)]),n("SpreadElement").bases("Node").build("argument").field("argument",n("Expression")),n("ArrayExpression").field("elements",[i(n("Expression"),n("SpreadElement"),n("RestElement"),null)]),n("NewExpression").field("arguments",[i(n("Expression"),n("SpreadElement"))]),n("CallExpression").field("arguments",[i(n("Expression"),n("SpreadElement"))]),n("AssignmentPattern").bases("Pattern").build("left","right").field("left",n("Pattern")).field("right",n("Expression")),n("MethodDefinition").bases("Declaration").build("kind","key","value","static").field("kind",i("constructor","method","get","set")).field("key",n("Expression")).field("value",n("Function")).field("computed",Boolean,a.false).field("static",Boolean,a.false);let l=i(n("MethodDefinition"),n("VariableDeclarator"),n("ClassPropertyDefinition"),n("ClassProperty"),n("StaticBlock"));n("ClassProperty").bases("Declaration").build("key").field("key",i(n("Literal"),n("Identifier"),n("Expression"))).field("computed",Boolean,a.false),n("ClassPropertyDefinition").bases("Declaration").build("definition").field("definition",l),n("ClassBody").bases("Declaration").build("body").field("body",[l]),n("ClassDeclaration").bases("Declaration").build("id","body","superClass").field("id",i(n("Identifier"),null)).field("body",n("ClassBody")).field("superClass",i(n("Expression"),null),a.null),n("ClassExpression").bases("Expression").build("id","body","superClass").field("id",i(n("Identifier"),null),a.null).field("body",n("ClassBody")).field("superClass",i(n("Expression"),null),a.null),n("Super").bases("Expression").build(),n("Specifier").bases("Node"),n("ModuleSpecifier").bases("Specifier").field("local",i(n("Identifier"),null),a.null).field("id",i(n("Identifier"),null),a.null).field("name",i(n("Identifier"),null),a.null),n("ImportSpecifier").bases("ModuleSpecifier").build("imported","local").field("imported",n("Identifier")),n("ImportDefaultSpecifier").bases("ModuleSpecifier").build("local"),n("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("local"),n("ImportDeclaration").bases("Declaration").build("specifiers","source","importKind").field("specifiers",[i(n("ImportSpecifier"),n("ImportNamespaceSpecifier"),n("ImportDefaultSpecifier"))],a.emptyArray).field("source",n("Literal")).field("importKind",i("value","type"),function(){return"value"}),n("ExportNamedDeclaration").bases("Declaration").build("declaration","specifiers","source").field("declaration",i(n("Declaration"),null)).field("specifiers",[n("ExportSpecifier")],a.emptyArray).field("source",i(n("Literal"),null),a.null),n("ExportSpecifier").bases("ModuleSpecifier").build("local","exported").field("exported",n("Identifier")),n("ExportDefaultDeclaration").bases("Declaration").build("declaration").field("declaration",i(n("Declaration"),n("Expression"))),n("ExportAllDeclaration").bases("Declaration").build("source").field("source",n("Literal")),n("TaggedTemplateExpression").bases("Expression").build("tag","quasi").field("tag",n("Expression")).field("quasi",n("TemplateLiteral")),n("TemplateLiteral").bases("Expression").build("quasis","expressions").field("quasis",[n("TemplateElement")]).field("expressions",[n("Expression")]),n("TemplateElement").bases("Node").build("value","tail").field("value",{cooked:String,raw:String}).field("tail",Boolean),n("MetaProperty").bases("Expression").build("meta","property").field("meta",n("Identifier")).field("property",n("Identifier"))}Vh(()=>module);function kfs(t){t.use(zJr),t.use(Pfs)}Vh(()=>module);function Nfs(t){t.use(kfs);let n=t.use(h1).Type.def,i=t.use(dP).defaults;n("Function").field("async",Boolean,i.false),n("AwaitExpression").bases("Expression").build("argument").field("argument",n("Expression"))}Vh(()=>module);function Ifs(t){t.use(Nfs);let e=t.use(h1),n=e.Type.def,i=e.Type.or,a=t.use(dP).defaults;n("ForOfStatement").field("await",Boolean,a.false),n("SpreadProperty").bases("Node").build("argument").field("argument",n("Expression")),n("ObjectExpression").field("properties",[i(n("Property"),n("SpreadProperty"),n("SpreadElement"))]),n("TemplateElement").field("value",{cooked:i(String,null),raw:String}),n("SpreadPropertyPattern").bases("Pattern").build("argument").field("argument",n("Pattern")),n("ObjectPattern").field("properties",[i(n("PropertyPattern"),n("Property"),n("RestElement"),n("SpreadPropertyPattern"))])}Vh(()=>module);function Ofs(t){t.use(Ifs);let e=t.use(h1),n=e.Type.def,i=e.Type.or,a=t.use(dP).defaults;n("CatchClause").field("param",i(n("Pattern"),null),a.null)}Vh(()=>module);function Lfs(t){t.use(YJr),t.use(Ofs);let e=t.use(h1),n=e.Type.def,i=e.Type.or,l=t.use(dP).defaults;n("ImportExpression").bases("Expression").build("source").field("source",n("Expression")),n("ExportAllDeclaration").bases("Declaration").build("source","exported").field("source",n("Literal")).field("exported",i(n("Identifier"),null,void 0),l.null),n("ChainElement").bases("Node").field("optional",Boolean,l.false),n("CallExpression").bases("Expression","ChainElement"),n("MemberExpression").bases("Expression","ChainElement"),n("ChainExpression").bases("Expression").build("expression").field("expression",n("ChainElement")),n("OptionalCallExpression").bases("CallExpression").build("callee","arguments","optional").field("optional",Boolean,l.true),n("OptionalMemberExpression").bases("MemberExpression").build("object","property","computed","optional").field("optional",Boolean,l.true)}Vh(()=>module);function Ffs(t){t.use(Dfs),t.use(Lfs)}Vh(()=>module);function Mfs(t){t.use(Ffs);let n=t.use(h1).Type.def;n("StaticBlock").bases("Declaration").build("body").field("body",[n("Statement")])}Vh(()=>module);function h0e(t){t.use(Mfs);let e=t.use(h1),n=e.Type,i=e.Type.def,a=n.or,p=t.use(dP).defaults;i("AwaitExpression").build("argument","all").field("argument",a(i("Expression"),null)).field("all",Boolean,p.false),i("Decorator").bases("Node").build("expression").field("expression",i("Expression")),i("Property").field("decorators",a([i("Decorator")],null),p.null),i("MethodDefinition").field("decorators",a([i("Decorator")],null),p.null),i("PrivateName").bases("Expression","Pattern").build("id").field("id",i("Identifier")),i("ClassPrivateProperty").bases("ClassProperty").build("key","value").field("key",i("PrivateName")).field("value",a(i("Expression"),null),p.null),i("ImportAttribute").bases("Node").build("key","value").field("key",a(i("Identifier"),i("Literal"))).field("value",i("Expression")),["ImportDeclaration","ExportAllDeclaration","ExportNamedDeclaration"].forEach(f=>{i(f).field("assertions",[i("ImportAttribute")],p.emptyArray)}),i("RecordExpression").bases("Expression").build("properties").field("properties",[a(i("ObjectProperty"),i("ObjectMethod"),i("SpreadElement"))]),i("TupleExpression").bases("Expression").build("elements").field("elements",[a(i("Expression"),i("SpreadElement"),null)]),i("ModuleExpression").bases("Node").build("body").field("body",i("Program"))}Vh(()=>module);function Rfs(t){t.use(h0e);let e=t.use(h1),n=e.Type.def,i=e.Type.or,a=t.use(dP).defaults;n("JSXAttribute").bases("Node").build("name","value").field("name",i(n("JSXIdentifier"),n("JSXNamespacedName"))).field("value",i(n("Literal"),n("JSXExpressionContainer"),n("JSXElement"),n("JSXFragment"),null),a.null),n("JSXIdentifier").bases("Identifier").build("name").field("name",String),n("JSXNamespacedName").bases("Node").build("namespace","name").field("namespace",n("JSXIdentifier")).field("name",n("JSXIdentifier")),n("JSXMemberExpression").bases("MemberExpression").build("object","property").field("object",i(n("JSXIdentifier"),n("JSXMemberExpression"))).field("property",n("JSXIdentifier")).field("computed",Boolean,a.false);let l=i(n("JSXIdentifier"),n("JSXNamespacedName"),n("JSXMemberExpression"));n("JSXSpreadAttribute").bases("Node").build("argument").field("argument",n("Expression"));let p=[i(n("JSXAttribute"),n("JSXSpreadAttribute"))];n("JSXExpressionContainer").bases("Expression").build("expression").field("expression",i(n("Expression"),n("JSXEmptyExpression")));let f=[i(n("JSXText"),n("JSXExpressionContainer"),n("JSXSpreadChild"),n("JSXElement"),n("JSXFragment"),n("Literal"))];n("JSXElement").bases("Expression").build("openingElement","closingElement","children").field("openingElement",n("JSXOpeningElement")).field("closingElement",i(n("JSXClosingElement"),null),a.null).field("children",f,a.emptyArray).field("name",l,function(){return this.openingElement.name},!0).field("selfClosing",Boolean,function(){return this.openingElement.selfClosing},!0).field("attributes",p,function(){return this.openingElement.attributes},!0),n("JSXOpeningElement").bases("Node").build("name","attributes","selfClosing").field("name",l).field("attributes",p,a.emptyArray).field("selfClosing",Boolean,a.false),n("JSXClosingElement").bases("Node").build("name").field("name",l),n("JSXFragment").bases("Expression").build("openingFragment","closingFragment","children").field("openingFragment",n("JSXOpeningFragment")).field("closingFragment",n("JSXClosingFragment")).field("children",f,a.emptyArray),n("JSXOpeningFragment").bases("Node").build(),n("JSXClosingFragment").bases("Node").build(),n("JSXText").bases("Literal").build("value","raw").field("value",String).field("raw",String,function(){return this.value}),n("JSXEmptyExpression").bases("Node").build(),n("JSXSpreadChild").bases("Node").build("expression").field("expression",n("Expression"))}Vh(()=>module);function WJr(t){var e=t.use(h1),n=e.Type.def,i=e.Type.or,a=t.use(dP).defaults,l=i(n("TypeAnnotation"),n("TSTypeAnnotation"),null),p=i(n("TypeParameterDeclaration"),n("TSTypeParameterDeclaration"),null);n("Identifier").field("typeAnnotation",l,a.null),n("ObjectPattern").field("typeAnnotation",l,a.null),n("Function").field("returnType",l,a.null).field("typeParameters",p,a.null),n("ClassProperty").build("key","value","typeAnnotation","static").field("value",i(n("Expression"),null)).field("static",Boolean,a.false).field("typeAnnotation",l,a.null),["ClassDeclaration","ClassExpression"].forEach(f=>{n(f).field("typeParameters",p,a.null).field("superTypeParameters",i(n("TypeParameterInstantiation"),n("TSTypeParameterInstantiation"),null),a.null).field("implements",i([n("ClassImplements")],[n("TSExpressionWithTypeArguments")]),a.emptyArray)})}Vh(()=>module);function JJr(t){t.use(h0e),t.use(WJr);let e=t.use(h1),n=e.Type.def,i=e.Type.or,a=t.use(dP).defaults;n("Flow").bases("Node"),n("FlowType").bases("Flow"),n("AnyTypeAnnotation").bases("FlowType").build(),n("EmptyTypeAnnotation").bases("FlowType").build(),n("MixedTypeAnnotation").bases("FlowType").build(),n("VoidTypeAnnotation").bases("FlowType").build(),n("SymbolTypeAnnotation").bases("FlowType").build(),n("NumberTypeAnnotation").bases("FlowType").build(),n("BigIntTypeAnnotation").bases("FlowType").build(),n("NumberLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Number).field("raw",String),n("NumericLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Number).field("raw",String),n("BigIntLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",null).field("raw",String),n("StringTypeAnnotation").bases("FlowType").build(),n("StringLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",String).field("raw",String),n("BooleanTypeAnnotation").bases("FlowType").build(),n("BooleanLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Boolean).field("raw",String),n("TypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",n("FlowType")),n("NullableTypeAnnotation").bases("FlowType").build("typeAnnotation").field("typeAnnotation",n("FlowType")),n("NullLiteralTypeAnnotation").bases("FlowType").build(),n("NullTypeAnnotation").bases("FlowType").build(),n("ThisTypeAnnotation").bases("FlowType").build(),n("ExistsTypeAnnotation").bases("FlowType").build(),n("ExistentialTypeParam").bases("FlowType").build(),n("FunctionTypeAnnotation").bases("FlowType").build("params","returnType","rest","typeParameters").field("params",[n("FunctionTypeParam")]).field("returnType",n("FlowType")).field("rest",i(n("FunctionTypeParam"),null)).field("typeParameters",i(n("TypeParameterDeclaration"),null)),n("FunctionTypeParam").bases("Node").build("name","typeAnnotation","optional").field("name",i(n("Identifier"),null)).field("typeAnnotation",n("FlowType")).field("optional",Boolean),n("ArrayTypeAnnotation").bases("FlowType").build("elementType").field("elementType",n("FlowType")),n("ObjectTypeAnnotation").bases("FlowType").build("properties","indexers","callProperties").field("properties",[i(n("ObjectTypeProperty"),n("ObjectTypeSpreadProperty"))]).field("indexers",[n("ObjectTypeIndexer")],a.emptyArray).field("callProperties",[n("ObjectTypeCallProperty")],a.emptyArray).field("inexact",i(Boolean,void 0),a.undefined).field("exact",Boolean,a.false).field("internalSlots",[n("ObjectTypeInternalSlot")],a.emptyArray),n("Variance").bases("Node").build("kind").field("kind",i("plus","minus"));let l=i(n("Variance"),"plus","minus",null);n("ObjectTypeProperty").bases("Node").build("key","value","optional").field("key",i(n("Literal"),n("Identifier"))).field("value",n("FlowType")).field("optional",Boolean).field("variance",l,a.null),n("ObjectTypeIndexer").bases("Node").build("id","key","value").field("id",n("Identifier")).field("key",n("FlowType")).field("value",n("FlowType")).field("variance",l,a.null).field("static",Boolean,a.false),n("ObjectTypeCallProperty").bases("Node").build("value").field("value",n("FunctionTypeAnnotation")).field("static",Boolean,a.false),n("QualifiedTypeIdentifier").bases("Node").build("qualification","id").field("qualification",i(n("Identifier"),n("QualifiedTypeIdentifier"))).field("id",n("Identifier")),n("GenericTypeAnnotation").bases("FlowType").build("id","typeParameters").field("id",i(n("Identifier"),n("QualifiedTypeIdentifier"))).field("typeParameters",i(n("TypeParameterInstantiation"),null)),n("MemberTypeAnnotation").bases("FlowType").build("object","property").field("object",n("Identifier")).field("property",i(n("MemberTypeAnnotation"),n("GenericTypeAnnotation"))),n("IndexedAccessType").bases("FlowType").build("objectType","indexType").field("objectType",n("FlowType")).field("indexType",n("FlowType")),n("OptionalIndexedAccessType").bases("FlowType").build("objectType","indexType","optional").field("objectType",n("FlowType")).field("indexType",n("FlowType")).field("optional",Boolean),n("UnionTypeAnnotation").bases("FlowType").build("types").field("types",[n("FlowType")]),n("IntersectionTypeAnnotation").bases("FlowType").build("types").field("types",[n("FlowType")]),n("TypeofTypeAnnotation").bases("FlowType").build("argument").field("argument",n("FlowType")),n("ObjectTypeSpreadProperty").bases("Node").build("argument").field("argument",n("FlowType")),n("ObjectTypeInternalSlot").bases("Node").build("id","value","optional","static","method").field("id",n("Identifier")).field("value",n("FlowType")).field("optional",Boolean).field("static",Boolean).field("method",Boolean),n("TypeParameterDeclaration").bases("Node").build("params").field("params",[n("TypeParameter")]),n("TypeParameterInstantiation").bases("Node").build("params").field("params",[n("FlowType")]),n("TypeParameter").bases("FlowType").build("name","variance","bound","default").field("name",String).field("variance",l,a.null).field("bound",i(n("TypeAnnotation"),null),a.null).field("default",i(n("FlowType"),null),a.null),n("ClassProperty").field("variance",l,a.null),n("ClassImplements").bases("Node").build("id").field("id",n("Identifier")).field("superClass",i(n("Expression"),null),a.null).field("typeParameters",i(n("TypeParameterInstantiation"),null),a.null),n("InterfaceTypeAnnotation").bases("FlowType").build("body","extends").field("body",n("ObjectTypeAnnotation")).field("extends",i([n("InterfaceExtends")],null),a.null),n("InterfaceDeclaration").bases("Declaration").build("id","body","extends").field("id",n("Identifier")).field("typeParameters",i(n("TypeParameterDeclaration"),null),a.null).field("body",n("ObjectTypeAnnotation")).field("extends",[n("InterfaceExtends")]),n("DeclareInterface").bases("InterfaceDeclaration").build("id","body","extends"),n("InterfaceExtends").bases("Node").build("id").field("id",n("Identifier")).field("typeParameters",i(n("TypeParameterInstantiation"),null),a.null),n("TypeAlias").bases("Declaration").build("id","typeParameters","right").field("id",n("Identifier")).field("typeParameters",i(n("TypeParameterDeclaration"),null)).field("right",n("FlowType")),n("DeclareTypeAlias").bases("TypeAlias").build("id","typeParameters","right"),n("OpaqueType").bases("Declaration").build("id","typeParameters","impltype","supertype").field("id",n("Identifier")).field("typeParameters",i(n("TypeParameterDeclaration"),null)).field("impltype",n("FlowType")).field("supertype",i(n("FlowType"),null)),n("DeclareOpaqueType").bases("OpaqueType").build("id","typeParameters","supertype").field("impltype",i(n("FlowType"),null)),n("TypeCastExpression").bases("Expression").build("expression","typeAnnotation").field("expression",n("Expression")).field("typeAnnotation",n("TypeAnnotation")),n("TupleTypeAnnotation").bases("FlowType").build("types").field("types",[n("FlowType")]),n("DeclareVariable").bases("Statement").build("id").field("id",n("Identifier")),n("DeclareFunction").bases("Statement").build("id").field("id",n("Identifier")).field("predicate",i(n("FlowPredicate"),null),a.null),n("DeclareClass").bases("InterfaceDeclaration").build("id"),n("DeclareModule").bases("Statement").build("id","body").field("id",i(n("Identifier"),n("Literal"))).field("body",n("BlockStatement")),n("DeclareModuleExports").bases("Statement").build("typeAnnotation").field("typeAnnotation",n("TypeAnnotation")),n("DeclareExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",i(n("DeclareVariable"),n("DeclareFunction"),n("DeclareClass"),n("FlowType"),n("TypeAlias"),n("DeclareOpaqueType"),n("InterfaceDeclaration"),null)).field("specifiers",[i(n("ExportSpecifier"),n("ExportBatchSpecifier"))],a.emptyArray).field("source",i(n("Literal"),null),a.null),n("DeclareExportAllDeclaration").bases("Declaration").build("source").field("source",i(n("Literal"),null),a.null),n("ImportDeclaration").field("importKind",i("value","type","typeof"),()=>"value"),n("FlowPredicate").bases("Flow"),n("InferredPredicate").bases("FlowPredicate").build(),n("DeclaredPredicate").bases("FlowPredicate").build("value").field("value",n("Expression")),n("Function").field("predicate",i(n("FlowPredicate"),null),a.null),n("CallExpression").field("typeArguments",i(null,n("TypeParameterInstantiation")),a.null),n("NewExpression").field("typeArguments",i(null,n("TypeParameterInstantiation")),a.null),n("EnumDeclaration").bases("Declaration").build("id","body").field("id",n("Identifier")).field("body",i(n("EnumBooleanBody"),n("EnumNumberBody"),n("EnumStringBody"),n("EnumSymbolBody"))),n("EnumBooleanBody").build("members","explicitType").field("members",[n("EnumBooleanMember")]).field("explicitType",Boolean),n("EnumNumberBody").build("members","explicitType").field("members",[n("EnumNumberMember")]).field("explicitType",Boolean),n("EnumStringBody").build("members","explicitType").field("members",i([n("EnumStringMember")],[n("EnumDefaultedMember")])).field("explicitType",Boolean),n("EnumSymbolBody").build("members").field("members",[n("EnumDefaultedMember")]),n("EnumBooleanMember").build("id","init").field("id",n("Identifier")).field("init",i(n("Literal"),Boolean)),n("EnumNumberMember").build("id","init").field("id",n("Identifier")).field("init",n("Literal")),n("EnumStringMember").build("id","init").field("id",n("Identifier")).field("init",n("Literal")),n("EnumDefaultedMember").build("id").field("id",n("Identifier"))}Vh(()=>module);function jfs(t){t.use(h0e);var e=t.use(h1),n=t.use(dP).defaults,i=e.Type.def,a=e.Type.or;i("VariableDeclaration").field("declarations",[a(i("VariableDeclarator"),i("Identifier"))]),i("Property").field("value",a(i("Expression"),i("Pattern"))),i("ArrayPattern").field("elements",[a(i("Pattern"),i("SpreadElement"),null)]),i("ObjectPattern").field("properties",[a(i("Property"),i("PropertyPattern"),i("SpreadPropertyPattern"),i("SpreadProperty"))]),i("ExportSpecifier").bases("ModuleSpecifier").build("id","name"),i("ExportBatchSpecifier").bases("Specifier").build(),i("ExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",a(i("Declaration"),i("Expression"),null)).field("specifiers",[a(i("ExportSpecifier"),i("ExportBatchSpecifier"))],n.emptyArray).field("source",a(i("Literal"),null),n.null),i("Block").bases("Comment").build("value","leading","trailing"),i("Line").bases("Comment").build("value","leading","trailing")}Vh(()=>module);function $Jr(t){t.use(h0e);let e=t.use(h1),n=t.use(dP).defaults,i=e.Type.def,a=e.Type.or,{undefined:l}=e.builtInTypes;i("Noop").bases("Statement").build(),i("DoExpression").bases("Expression").build("body").field("body",[i("Statement")]),i("BindExpression").bases("Expression").build("object","callee").field("object",a(i("Expression"),null)).field("callee",i("Expression")),i("ParenthesizedExpression").bases("Expression").build("expression").field("expression",i("Expression")),i("ExportNamespaceSpecifier").bases("Specifier").build("exported").field("exported",i("Identifier")),i("ExportDefaultSpecifier").bases("Specifier").build("exported").field("exported",i("Identifier")),i("CommentBlock").bases("Comment").build("value","leading","trailing"),i("CommentLine").bases("Comment").build("value","leading","trailing"),i("Directive").bases("Node").build("value").field("value",i("DirectiveLiteral")),i("DirectiveLiteral").bases("Node","Expression").build("value").field("value",String,n["use strict"]),i("InterpreterDirective").bases("Node").build("value").field("value",String),i("BlockStatement").bases("Statement").build("body").field("body",[i("Statement")]).field("directives",[i("Directive")],n.emptyArray),i("Program").bases("Node").build("body").field("body",[i("Statement")]).field("directives",[i("Directive")],n.emptyArray).field("interpreter",a(i("InterpreterDirective"),null),n.null);function p(y=String,T){return["extra",{rawValue:y,raw:String},function(){let x=e.getFieldValue(this,"value");return{rawValue:x,raw:T?T(x):String(x)}}]}i("StringLiteral").bases("Literal").build("value").field("value",String).field(...p(String,y=>JSON.stringify(y))),i("NumericLiteral").bases("Literal").build("value").field("value",Number).field("raw",a(String,null),n.null).field(...p(Number)),i("BigIntLiteral").bases("Literal").build("value").field("value",a(String,Number)).field(...p(String,y=>y+"n")),i("DecimalLiteral").bases("Literal").build("value").field("value",String).field(...p(String,y=>y+"m")),i("NullLiteral").bases("Literal").build().field("value",null,n.null),i("BooleanLiteral").bases("Literal").build("value").field("value",Boolean),i("RegExpLiteral").bases("Literal").build("pattern","flags").field("pattern",String).field("flags",String).field("value",RegExp,function(){return new RegExp(this.pattern,this.flags)}).field(...p(a(RegExp,l),y=>`/${y.pattern}/${y.flags||""}`)).field("regex",{pattern:String,flags:String},function(){return{pattern:this.pattern,flags:this.flags}});var f=a(i("Property"),i("ObjectMethod"),i("ObjectProperty"),i("SpreadProperty"),i("SpreadElement"));i("ObjectExpression").bases("Expression").build("properties").field("properties",[f]),i("ObjectMethod").bases("Node","Function").build("kind","key","params","body","computed").field("kind",a("method","get","set")).field("key",a(i("Literal"),i("Identifier"),i("Expression"))).field("params",[i("Pattern")]).field("body",i("BlockStatement")).field("computed",Boolean,n.false).field("generator",Boolean,n.false).field("async",Boolean,n.false).field("accessibility",a(i("Literal"),null),n.null).field("decorators",a([i("Decorator")],null),n.null),i("ObjectProperty").bases("Node").build("key","value").field("key",a(i("Literal"),i("Identifier"),i("Expression"))).field("value",a(i("Expression"),i("Pattern"))).field("accessibility",a(i("Literal"),null),n.null).field("computed",Boolean,n.false);var _=a(i("MethodDefinition"),i("VariableDeclarator"),i("ClassPropertyDefinition"),i("ClassProperty"),i("ClassPrivateProperty"),i("ClassMethod"),i("ClassPrivateMethod"),i("ClassAccessorProperty"),i("StaticBlock"));i("ClassBody").bases("Declaration").build("body").field("body",[_]),i("ClassMethod").bases("Declaration","Function").build("kind","key","params","body","computed","static").field("key",a(i("Literal"),i("Identifier"),i("Expression"))),i("ClassPrivateMethod").bases("Declaration","Function").build("key","params","body","kind","computed","static").field("key",i("PrivateName")),i("ClassAccessorProperty").bases("Declaration").build("key","value","decorators","computed","static").field("key",a(i("Literal"),i("Identifier"),i("PrivateName"),i("Expression"))).field("value",a(i("Expression"),null),n.null),["ClassMethod","ClassPrivateMethod"].forEach(y=>{i(y).field("kind",a("get","set","method","constructor"),()=>"method").field("body",i("BlockStatement")).field("access",a("public","private","protected",null),n.null)}),["ClassMethod","ClassPrivateMethod","ClassAccessorProperty"].forEach(y=>{i(y).field("computed",Boolean,n.false).field("static",Boolean,n.false).field("abstract",Boolean,n.false).field("accessibility",a("public","private","protected",null),n.null).field("decorators",a([i("Decorator")],null),n.null).field("definite",Boolean,n.false).field("optional",Boolean,n.false).field("override",Boolean,n.false).field("readonly",Boolean,n.false)});var g=a(i("Property"),i("PropertyPattern"),i("SpreadPropertyPattern"),i("SpreadProperty"),i("ObjectProperty"),i("RestProperty"),i("RestElement"));i("ObjectPattern").bases("Pattern").build("properties").field("properties",[g]).field("decorators",a([i("Decorator")],null),n.null),i("SpreadProperty").bases("Node").build("argument").field("argument",i("Expression")),i("RestProperty").bases("Node").build("argument").field("argument",i("Expression")),i("ForAwaitStatement").bases("Statement").build("left","right","body").field("left",a(i("VariableDeclaration"),i("Expression"))).field("right",i("Expression")).field("body",i("Statement")),i("Import").bases("Expression").build()}Vh(()=>module);function Bfs(t){let n=t.use(h1).Type.def;t.use($Jr),t.use(JJr),n("V8IntrinsicIdentifier").bases("Expression").build("name").field("name",String),n("TopicReference").bases("Expression").build()}Vh(()=>module);function Ufs(t){t.use($Jr),t.use(WJr);var e=t.use(h1),n=e.namedTypes,i=e.Type.def,a=e.Type.or,l=t.use(dP).defaults,p=e.Type.from(function(y,T){return!!(n.StringLiteral&&n.StringLiteral.check(y,T)||n.Literal&&n.Literal.check(y,T)&&typeof y.value=="string")},"StringLiteral");i("TSType").bases("Node");var f=a(i("Identifier"),i("TSQualifiedName"));i("TSTypeReference").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("typeName","typeParameters").field("typeName",f),i("TSHasOptionalTypeParameterInstantiation").field("typeParameters",a(i("TSTypeParameterInstantiation"),null),l.null),i("TSHasOptionalTypeParameters").field("typeParameters",a(i("TSTypeParameterDeclaration"),null,void 0),l.null),i("TSHasOptionalTypeAnnotation").field("typeAnnotation",a(i("TSTypeAnnotation"),null),l.null),i("TSQualifiedName").bases("Node").build("left","right").field("left",f).field("right",f),i("TSAsExpression").bases("Expression","Pattern").build("expression","typeAnnotation").field("expression",i("Expression")).field("typeAnnotation",i("TSType")).field("extra",a({parenthesized:Boolean},null),l.null),i("TSTypeCastExpression").bases("Expression").build("expression","typeAnnotation").field("expression",i("Expression")).field("typeAnnotation",i("TSType")),i("TSSatisfiesExpression").bases("Expression","Pattern").build("expression","typeAnnotation").field("expression",i("Expression")).field("typeAnnotation",i("TSType")),i("TSNonNullExpression").bases("Expression","Pattern").build("expression").field("expression",i("Expression")),["TSAnyKeyword","TSBigIntKeyword","TSBooleanKeyword","TSNeverKeyword","TSNullKeyword","TSNumberKeyword","TSObjectKeyword","TSStringKeyword","TSSymbolKeyword","TSUndefinedKeyword","TSUnknownKeyword","TSVoidKeyword","TSIntrinsicKeyword","TSThisType"].forEach(y=>{i(y).bases("TSType").build()}),i("TSArrayType").bases("TSType").build("elementType").field("elementType",i("TSType")),i("TSLiteralType").bases("TSType").build("literal").field("literal",a(i("NumericLiteral"),i("StringLiteral"),i("BooleanLiteral"),i("TemplateLiteral"),i("UnaryExpression"),i("BigIntLiteral"))),i("TemplateLiteral").field("expressions",a([i("Expression")],[i("TSType")])),["TSUnionType","TSIntersectionType"].forEach(y=>{i(y).bases("TSType").build("types").field("types",[i("TSType")])}),i("TSConditionalType").bases("TSType").build("checkType","extendsType","trueType","falseType").field("checkType",i("TSType")).field("extendsType",i("TSType")).field("trueType",i("TSType")).field("falseType",i("TSType")),i("TSInferType").bases("TSType").build("typeParameter").field("typeParameter",i("TSTypeParameter")),i("TSParenthesizedType").bases("TSType").build("typeAnnotation").field("typeAnnotation",i("TSType"));var _=[a(i("Identifier"),i("RestElement"),i("ArrayPattern"),i("ObjectPattern"))];["TSFunctionType","TSConstructorType"].forEach(y=>{i(y).bases("TSType","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("parameters").field("parameters",_)}),i("TSDeclareFunction").bases("Declaration","TSHasOptionalTypeParameters").build("id","params","returnType").field("declare",Boolean,l.false).field("async",Boolean,l.false).field("generator",Boolean,l.false).field("id",a(i("Identifier"),null),l.null).field("params",[i("Pattern")]).field("returnType",a(i("TSTypeAnnotation"),i("Noop"),null),l.null),i("TSDeclareMethod").bases("Declaration","TSHasOptionalTypeParameters").build("key","params","returnType").field("async",Boolean,l.false).field("generator",Boolean,l.false).field("params",[i("Pattern")]).field("abstract",Boolean,l.false).field("accessibility",a("public","private","protected",void 0),l.undefined).field("static",Boolean,l.false).field("computed",Boolean,l.false).field("optional",Boolean,l.false).field("key",a(i("Identifier"),i("StringLiteral"),i("NumericLiteral"),i("Expression"))).field("kind",a("get","set","method","constructor"),function(){return"method"}).field("access",a("public","private","protected",void 0),l.undefined).field("decorators",a([i("Decorator")],null),l.null).field("returnType",a(i("TSTypeAnnotation"),i("Noop"),null),l.null),i("TSMappedType").bases("TSType").build("typeParameter","typeAnnotation").field("readonly",a(Boolean,"+","-"),l.false).field("typeParameter",i("TSTypeParameter")).field("optional",a(Boolean,"+","-"),l.false).field("typeAnnotation",a(i("TSType"),null),l.null),i("TSTupleType").bases("TSType").build("elementTypes").field("elementTypes",[a(i("TSType"),i("TSNamedTupleMember"))]),i("TSNamedTupleMember").bases("TSType").build("label","elementType","optional").field("label",i("Identifier")).field("optional",Boolean,l.false).field("elementType",i("TSType")),i("TSRestType").bases("TSType").build("typeAnnotation").field("typeAnnotation",i("TSType")),i("TSOptionalType").bases("TSType").build("typeAnnotation").field("typeAnnotation",i("TSType")),i("TSIndexedAccessType").bases("TSType").build("objectType","indexType").field("objectType",i("TSType")).field("indexType",i("TSType")),i("TSTypeOperator").bases("TSType").build("operator").field("operator",String).field("typeAnnotation",i("TSType")),i("TSTypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",a(i("TSType"),i("TSTypeAnnotation"))),i("TSIndexSignature").bases("Declaration","TSHasOptionalTypeAnnotation").build("parameters","typeAnnotation").field("parameters",[i("Identifier")]).field("readonly",Boolean,l.false),i("TSPropertySignature").bases("Declaration","TSHasOptionalTypeAnnotation").build("key","typeAnnotation","optional").field("key",i("Expression")).field("computed",Boolean,l.false).field("readonly",Boolean,l.false).field("optional",Boolean,l.false).field("initializer",a(i("Expression"),null),l.null),i("TSMethodSignature").bases("Declaration","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("key","parameters","typeAnnotation").field("key",i("Expression")).field("computed",Boolean,l.false).field("optional",Boolean,l.false).field("parameters",_),i("TSTypePredicate").bases("TSTypeAnnotation","TSType").build("parameterName","typeAnnotation","asserts").field("parameterName",a(i("Identifier"),i("TSThisType"))).field("typeAnnotation",a(i("TSTypeAnnotation"),null),l.null).field("asserts",Boolean,l.false),["TSCallSignatureDeclaration","TSConstructSignatureDeclaration"].forEach(y=>{i(y).bases("Declaration","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("parameters","typeAnnotation").field("parameters",_)}),i("TSEnumMember").bases("Node").build("id","initializer").field("id",a(i("Identifier"),p)).field("initializer",a(i("Expression"),null),l.null),i("TSTypeQuery").bases("TSType").build("exprName").field("exprName",a(f,i("TSImportType")));var g=a(i("TSCallSignatureDeclaration"),i("TSConstructSignatureDeclaration"),i("TSIndexSignature"),i("TSMethodSignature"),i("TSPropertySignature"));i("TSTypeLiteral").bases("TSType").build("members").field("members",[g]),i("TSTypeParameter").bases("Identifier").build("name","constraint","default").field("name",a(i("Identifier"),String)).field("constraint",a(i("TSType"),void 0),l.undefined).field("default",a(i("TSType"),void 0),l.undefined),i("TSTypeAssertion").bases("Expression","Pattern").build("typeAnnotation","expression").field("typeAnnotation",i("TSType")).field("expression",i("Expression")).field("extra",a({parenthesized:Boolean},null),l.null),i("TSTypeParameterDeclaration").bases("Declaration").build("params").field("params",[i("TSTypeParameter")]),i("TSInstantiationExpression").bases("Expression","TSHasOptionalTypeParameterInstantiation").build("expression","typeParameters").field("expression",i("Expression")),i("TSTypeParameterInstantiation").bases("Node").build("params").field("params",[i("TSType")]),i("TSEnumDeclaration").bases("Declaration").build("id","members").field("id",i("Identifier")).field("const",Boolean,l.false).field("declare",Boolean,l.false).field("members",[i("TSEnumMember")]).field("initializer",a(i("Expression"),null),l.null),i("TSTypeAliasDeclaration").bases("Declaration","TSHasOptionalTypeParameters").build("id","typeAnnotation").field("id",i("Identifier")).field("declare",Boolean,l.false).field("typeAnnotation",i("TSType")),i("TSModuleBlock").bases("Node").build("body").field("body",[i("Statement")]),i("TSModuleDeclaration").bases("Declaration").build("id","body").field("id",a(p,f)).field("declare",Boolean,l.false).field("global",Boolean,l.false).field("body",a(i("TSModuleBlock"),i("TSModuleDeclaration"),null),l.null),i("TSImportType").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("argument","qualifier","typeParameters").field("argument",p).field("qualifier",a(f,void 0),l.undefined),i("TSImportEqualsDeclaration").bases("Declaration").build("id","moduleReference").field("id",i("Identifier")).field("isExport",Boolean,l.false).field("moduleReference",a(f,i("TSExternalModuleReference"))),i("TSExternalModuleReference").bases("Declaration").build("expression").field("expression",p),i("TSExportAssignment").bases("Statement").build("expression").field("expression",i("Expression")),i("TSNamespaceExportDeclaration").bases("Declaration").build("id").field("id",i("Identifier")),i("TSInterfaceBody").bases("Node").build("body").field("body",[g]),i("TSExpressionWithTypeArguments").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("expression","typeParameters").field("expression",f),i("TSInterfaceDeclaration").bases("Declaration","TSHasOptionalTypeParameters").build("id","body").field("id",f).field("declare",Boolean,l.false).field("extends",a([i("TSExpressionWithTypeArguments")],null),l.null).field("body",i("TSInterfaceBody")),i("TSParameterProperty").bases("Pattern").build("parameter").field("accessibility",a("public","private","protected",void 0),l.undefined).field("readonly",Boolean,l.false).field("parameter",a(i("Identifier"),i("AssignmentPattern"))),i("ClassProperty").field("access",a("public","private","protected",void 0),l.undefined),i("ClassAccessorProperty").bases("Declaration","TSHasOptionalTypeAnnotation"),i("ClassBody").field("body",[a(i("MethodDefinition"),i("VariableDeclarator"),i("ClassPropertyDefinition"),i("ClassProperty"),i("ClassPrivateProperty"),i("ClassAccessorProperty"),i("ClassMethod"),i("ClassPrivateMethod"),i("StaticBlock"),i("TSDeclareMethod"),g)])}Vh(()=>module);var G3;G3||(G3={});var{astNodesAreEquivalent:hqs,builders:Ise,builtInTypes:K3,defineMethod:gqs,eachField:yqs,finalize:bqs,getBuilderName:Tqs,getFieldNames:qfs,getFieldValue:i9,getSupertypeNames:vqs,namedTypes:Vfs,NodePath:zfs,Path:Sqs,PathVisitor:xqs,someField:Yfs,Type:Eqs,use:Cqs,visit:Aqs}=Cfs([h0e,Rfs,JJr,jfs,Bfs,Ufs]);Object.assign(G3,Vfs);var d5e=G3,EJr=w5e.default.SourceMapConsumer,Wfs=w5e.default.SourceMapGenerator,GJr=Object.prototype.hasOwnProperty;function Jfs(){return`
1013
+ `+_Wr(t,n)):a}}var ZTt=Js("fs"),GTt=Js("path"),vus=/^\uFEFF/;function KTt(t,e,n){var i=GTt.resolve(n?e:GTt.dirname(e),t),a=GTt.extname(t);return a||(i+=".sqrl"),i}function Sus(t,e){var n,i,a=e.views,l=/^[A-Za-z]+:\\|^\//.exec(t);if(l&&l.length)n=KTt(t.replace(/^\/*/,""),e.root||"/",!0);else if(e.filename&&(i=KTt(t,e.filename),ZTt.existsSync(i)&&(n=i)),n||Array.isArray(a)&&a.some(function(p){return i=KTt(t,p,!0),ZTt.existsSync(i)})&&(n=i),!n)throw $v('Could not find the include file "'+t+'"');return n}function bWr(t){return ZTt.readFileSync(t).toString().replace(vus,"")}function xus(t,e){var n=X8e(e),i=bWr(t);try{var a=tvt(i,n);return n.storage.templates.define(n.filename,a),a}catch{throw $v("Loading file: "+t+" failed")}}function Eus(t){var e=t.filename;if(t.cache){var n=t.storage.templates.get(e);return n||xus(e,t)}return tvt(bWr(e),t)}function TWr(t,e){var n=X8e({filename:Sus(t,e)},e);return Eus(n)}function Cus(t,e,n){if(e&&e.length>0)throw $v("Helper 'includeFile' doesn't accept blocks");return TWr(t.params[0],n)(t.params[1],n)}function Aus(t,e,n){var i=t.params[1]||{};i.content=t.exec();for(var a=0;a<e.length;a++){var l=e[a];i[l.name]=l.exec()}return TWr(t.params[0],n)(i,n)}function HTt(t,e){var n;return e.cache&&e.name&&e.storage.templates.get(e.name)?e.storage.templates.get(e.name):(typeof t=="function"?n=t:n=tvt(t,e),e.cache&&e.name&&e.storage.templates.define(e.name,n),n)}function vWr(t,e,n,i){var a=X8e(n||{});if(a.async){var l;if(i)try{HTt(t,a)(e,a,i)}catch(p){return i(p)}else{if(typeof pWr=="function")return new pWr(function(p,f){try{l=HTt(t,a)(e,a),p(l)}catch(_){f(_)}});throw $v("Please provide a callback function, this env doesn't support Promises")}}else return HTt(t,a)(e,a)}evt.define("includeFile",Cus);evt.define("extendsFile",Aus);var rvt=["/*{","}*/"];function SWr(t,e){return vWr(t,e,{tags:rvt})}function Dus(t,e){return{eslint:(t.includes("BATI.has")||t.includes("BATI_TEST")||t.includes("/*# BATI ")||t.includes("@batijs/")||e.endsWith(".ts")||e.endsWith(".tsx"))&&!e.endsWith(".css"),squirelly:t.includes(rvt[0])}}async function wus(t,e,n){let{eslint:i,squirelly:a}=Dus(t,n.filepath),l=t,p,f=!1;if(a&&(l=SWr(l,e),f=!0),i){let _=uWr(l,n.filepath,e);l=_.code,p=_.context,f=!0}return{code:f?await uit(l,n):l,context:p}}import{dirname as pbs,join as fbs}from"node:path";import{fileURLToPath as _bs}from"node:url";import{promises as yfs}from"node:fs";var w5e=af(mvt(),1),jJr=af(Xvt(),1);function dP(t){var e=t.use(h1),n=e.Type,i=e.builtInTypes,a=i.number;function l(g){return n.from(y=>a.check(y)&&y>=g,a+" >= "+g)}let p={null:function(){return null},emptyArray:function(){return[]},false:function(){return!1},true:function(){return!0},undefined:function(){},"use strict":function(){return"use strict"}};var f=n.or(i.string,i.number,i.boolean,i.null,i.undefined);let _=n.from(g=>{if(g===null)return!0;var y=typeof g;return!(y==="object"||y==="function")},f.toString());return{geq:l,defaults:p,isPrimitive:_}}function Vh(t){try{var e=t(),n=e.exports,i=n.default}catch{return}i&&i!==n&&typeof n=="object"&&(Object.assign(i,n,{default:i}),n.__esModule&&Object.defineProperty(i,"__esModule",{value:!0}),e.exports=i)}var bfs=Object.defineProperty,Tfs=(t,e,n)=>e in t?bfs(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,tC=(t,e,n)=>(Tfs(t,typeof e!="symbol"?e+"":e,n),n),BJr=Object.prototype,v5e=BJr.toString,$N=BJr.hasOwnProperty,FK=class{assert(e,n){if(!this.check(e,n)){var i=uSt(e);throw new Error(i+" does not match type "+this)}return!0}arrayOf(){let e=this;return new f0e(e)}},f0e=class extends FK{constructor(e){super(),this.elemType=e,tC(this,"kind","ArrayType")}toString(){return"["+this.elemType+"]"}check(e,n){return Array.isArray(e)&&e.every(i=>this.elemType.check(i,n))}},S5e=class extends FK{constructor(e){super(),this.value=e,tC(this,"kind","IdentityType")}toString(){return String(this.value)}check(e,n){let i=e===this.value;return!i&&typeof n=="function"&&n(this,e),i}},x5e=class extends FK{constructor(e){super(),this.fields=e,tC(this,"kind","ObjectType")}toString(){return"{ "+this.fields.join(", ")+" }"}check(e,n){return v5e.call(e)===v5e.call({})&&this.fields.every(i=>i.type.check(e[i.name],n))}},E5e=class extends FK{constructor(e){super(),this.types=e,tC(this,"kind","OrType")}toString(){return this.types.join(" | ")}check(e,n){return this.types.some(i=>i.check(e,!!n))?!0:(typeof n=="function"&&n(this,e),!1)}},LK=class extends FK{constructor(e,n){super(),this.name=e,this.predicate=n,tC(this,"kind","PredicateType")}toString(){return this.name}check(e,n){let i=this.predicate(e,n);return!i&&typeof n=="function"&&n(this,e),i}},u0e=class t{constructor(e,n){this.type=e,this.typeName=n,tC(this,"baseNames",[]),tC(this,"ownFields",Object.create(null)),tC(this,"allSupertypes",Object.create(null)),tC(this,"supertypeList",[]),tC(this,"allFields",Object.create(null)),tC(this,"fieldNames",[]),tC(this,"finalized",!1),tC(this,"buildable",!1),tC(this,"buildParams",[])}isSupertypeOf(e){if(e instanceof t){if(this.finalized!==!0||e.finalized!==!0)throw new Error("");return $N.call(e.allSupertypes,this.typeName)}else throw new Error(e+" is not a Def")}checkAllFields(e,n){var i=this.allFields;if(this.finalized!==!0)throw new Error(""+this.typeName);function a(l){var p=i[l],f=p.type,_=p.getValue(e);return f.check(_,n)}return e!==null&&typeof e=="object"&&Object.keys(i).every(a)}bases(...e){var n=this.baseNames;if(this.finalized){if(e.length!==n.length)throw new Error("");for(var i=0;i<e.length;i++)if(e[i]!==n[i])throw new Error("");return this}return e.forEach(a=>{n.indexOf(a)<0&&n.push(a)}),this}},C5e=class{constructor(e,n,i,a){this.name=e,this.type=n,this.defaultFn=i,tC(this,"hidden"),this.hidden=!!a}toString(){return JSON.stringify(this.name)+": "+this.type}getValue(e){var n=e[this.name];return typeof n<"u"||typeof this.defaultFn=="function"&&(n=this.defaultFn.call(e)),n}};function uSt(t){return Array.isArray(t)?"["+t.map(uSt).join(", ")+"]":t&&typeof t=="object"?"{ "+Object.keys(t).map(function(e){return e+": "+t[e]}).join(", ")+" }":JSON.stringify(t)}function h1(t){let e={or(...ht){return new E5e(ht.map(yr=>e.from(yr)))},from(ht,yr){if(ht instanceof f0e||ht instanceof S5e||ht instanceof x5e||ht instanceof E5e||ht instanceof LK)return ht;if(ht instanceof u0e)return ht.type;if(f.check(ht)){if(ht.length!==1)throw new Error("only one element type is permitted for typed arrays");return new f0e(e.from(ht[0]))}if(_.check(ht))return new x5e(Object.keys(ht).map(dr=>new C5e(dr,e.from(ht[dr],dr))));if(typeof ht=="function"){var vn=n.indexOf(ht);if(vn>=0)return i[vn];if(typeof yr!="string")throw new Error("missing name");return new LK(yr,ht)}return new S5e(ht)},def(ht){return $N.call(F,ht)?F[ht]:F[ht]=new q(ht)},hasDef(ht){return $N.call(F,ht)}};var n=[],i=[];function a(ht,yr){let vn=v5e.call(yr),dr=new LK(ht,ki=>v5e.call(ki)===vn);return yr&&typeof yr.constructor=="function"&&(n.push(yr.constructor),i.push(dr)),dr}let l=a("string","truthy"),p=a("function",function(){}),f=a("array",[]),_=a("object",{}),g=a("RegExp",/./),y=a("Date",new Date),T=a("number",3),b=a("boolean",!0),x=a("null",null),C=a("undefined",void 0),w=typeof BigInt=="function"?a("BigInt",BigInt(1234)):new LK("BigInt",()=>!1),O={string:l,function:p,array:f,object:_,RegExp:g,Date:y,number:T,boolean:b,null:x,undefined:C,BigInt:w};var F=Object.create(null);function j(ht){if(ht&&typeof ht=="object"){var yr=ht.type;if(typeof yr=="string"&&$N.call(F,yr)){var vn=F[yr];if(vn.finalized)return vn}}return null}class q extends u0e{constructor(yr){super(new LK(yr,(vn,dr)=>this.check(vn,dr)),yr)}check(yr,vn){if(this.finalized!==!0)throw new Error("prematurely checking unfinalized type "+this.typeName);if(yr===null||typeof yr!="object")return!1;var dr=j(yr);return dr?vn&&dr===this?this.checkAllFields(yr,vn):this.isSupertypeOf(dr)?vn?dr.checkAllFields(yr,vn)&&this.checkAllFields(yr,!1):!0:!1:this.typeName==="SourceLocation"||this.typeName==="Position"?this.checkAllFields(yr,vn):!1}build(...yr){if(this.buildParams=yr,this.buildable)return this;this.field("type",String,()=>this.typeName),this.buildable=!0;let vn=(ki,wi,$r,Di)=>{if(!$N.call(ki,wi)){var Nn=this.allFields;if(!$N.call(Nn,wi))throw new Error(""+wi);var Sn=Nn[wi],us=Sn.type,Bi;if(Di)Bi=$r;else if(Sn.defaultFn)Bi=Sn.defaultFn.call(ki);else{var ea="no value or default function given for field "+JSON.stringify(wi)+" of "+this.typeName+"("+this.buildParams.map(function(Qt){return Nn[Qt]}).join(", ")+")";throw new Error(ea)}if(!us.check(Bi))throw new Error(uSt(Bi)+" does not match field "+Sn+" of type "+this.typeName);ki[wi]=Bi}},dr=(...ki)=>{var wi=ki.length;if(!this.finalized)throw new Error("attempting to instantiate unfinalized type "+this.typeName);var $r=Object.create(se);if(this.buildParams.forEach(function(Di,Nn){Nn<wi?vn($r,Di,ki[Nn],!0):vn($r,Di,null,!1)}),Object.keys(this.allFields).forEach(function(Di){vn($r,Di,null,!1)}),$r.type!==this.typeName)throw new Error("");return $r};return dr.from=ki=>{if(!this.finalized)throw new Error("attempting to instantiate unfinalized type "+this.typeName);var wi=Object.create(se);if(Object.keys(this.allFields).forEach(function($r){$N.call(ki,$r)?vn(wi,$r,ki[$r],!0):vn(wi,$r,null,!1)}),wi.type!==this.typeName)throw new Error("");return wi},Object.defineProperty(H,Ce(this.typeName),{enumerable:!0,value:dr}),this}field(yr,vn,dr,ki){return this.finalized?(console.error("Ignoring attempt to redefine field "+JSON.stringify(yr)+" of finalized type "+JSON.stringify(this.typeName)),this):(this.ownFields[yr]=new C5e(yr,e.from(vn),dr,ki),this)}finalize(){if(!this.finalized){var yr=this.allFields,vn=this.allSupertypes;this.baseNames.forEach(ki=>{var wi=F[ki];if(wi instanceof u0e)wi.finalize(),Ft(yr,wi.allFields),Ft(vn,wi.allSupertypes);else{var $r="unknown supertype name "+JSON.stringify(ki)+" for subtype "+JSON.stringify(this.typeName);throw new Error($r)}}),Ft(yr,this.ownFields),vn[this.typeName]=this,this.fieldNames.length=0;for(var dr in yr)$N.call(yr,dr)&&!yr[dr].hidden&&this.fieldNames.push(dr);Object.defineProperty(ke,this.typeName,{enumerable:!0,value:this.type}),this.finalized=!0,Ye(this.typeName,this.supertypeList),this.buildable&&this.supertypeList.lastIndexOf("Expression")>=0&&st(this.typeName)}}}function W(ht){if(!$N.call(F,ht))throw new Error("");var yr=F[ht];if(yr.finalized!==!0)throw new Error("");return yr.supertypeList.slice(1)}function X(ht){for(var yr={},vn=Object.keys(F),dr=vn.length,ki=0;ki<dr;++ki){var wi=vn[ki],$r=F[wi];if($r.finalized!==!0)throw new Error(""+wi);for(var Di=0;Di<$r.supertypeList.length;++Di){var Nn=$r.supertypeList[Di];if($N.call(ht,Nn)){yr[wi]=Nn;break}}}return yr}var H=Object.create(null),se={};function de(ht,yr){var vn=se[ht];return C.check(yr)?delete se[ht]:(p.assert(yr),Object.defineProperty(se,ht,{enumerable:!0,configurable:!0,value:yr})),vn}function Ce(ht){return ht.replace(/^[A-Z]+/,function(yr){var vn=yr.length;switch(vn){case 0:return"";case 1:return yr.toLowerCase();default:return yr.slice(0,vn-1).toLowerCase()+yr.charAt(vn-1)}})}function Re(ht){return ht=Ce(ht),ht.replace(/(Expression)?$/,"Statement")}var ke={};function Le(ht){var yr=j(ht);if(yr)return yr.fieldNames.slice(0);if("type"in ht)throw new Error("did not recognize object of type "+JSON.stringify(ht.type));return Object.keys(ht)}function We(ht,yr){var vn=j(ht);if(vn){var dr=vn.allFields[yr];if(dr)return dr.getValue(ht)}return ht&&ht[yr]}function Te(ht,yr,vn){Le(ht).forEach(function(dr){yr.call(this,dr,We(ht,dr))},vn)}function Me(ht,yr,vn){return Le(ht).some(function(dr){return yr.call(this,dr,We(ht,dr))},vn)}function st(ht){var yr=Re(ht);if(H[yr])return;var vn=H[Ce(ht)];if(!vn)return;let dr=function(...ki){return H.expressionStatement(vn.apply(H,ki))};dr.from=function(...ki){return H.expressionStatement(vn.from.apply(H,ki))},H[yr]=dr}function Ye(ht,yr){yr.length=0,yr.push(ht);for(var vn=Object.create(null),dr=0;dr<yr.length;++dr){ht=yr[dr];var ki=F[ht];if(ki.finalized!==!0)throw new Error("");$N.call(vn,ht)&&delete yr[vn[ht]],vn[ht]=dr,yr.push.apply(yr,ki.baseNames)}for(var wi=0,$r=wi,Di=yr.length;$r<Di;++$r)$N.call(yr,$r)&&(yr[wi++]=yr[$r]);yr.length=wi}function Ft(ht,yr){return Object.keys(yr).forEach(function(vn){ht[vn]=yr[vn]}),ht}function nr(){Object.keys(F).forEach(function(ht){F[ht].finalize()})}return{Type:e,builtInTypes:O,getSupertypeNames:W,computeSupertypeLookupTable:X,builders:H,defineMethod:de,getBuilderName:Ce,getStatementBuilderName:Re,namedTypes:ke,getFieldNames:Le,getFieldValue:We,eachField:Te,someField:Me,finalize:nr}}Vh(()=>module);var vfs=Object.prototype,f5e=vfs.hasOwnProperty;function UJr(t){var e=t.use(h1),n=e.builtInTypes.array,i=e.builtInTypes.number;let a=function T(b,x,C){if(!(this instanceof T))throw new Error("Path constructor cannot be invoked without 'new'");if(x){if(!(x instanceof T))throw new Error("")}else x=null,C=null;this.value=b,this.parentPath=x,this.name=C,this.__childCache=null};var l=a.prototype;function p(T){return T.__childCache||(T.__childCache=Object.create(null))}function f(T,b){var x=p(T),C=T.getValueProperty(b),w=x[b];return(!f5e.call(x,b)||w.value!==C)&&(w=x[b]=new T.constructor(C,T,b)),w}l.getValueProperty=function(b){return this.value[b]},l.get=function(...b){for(var x=this,C=b.length,w=0;w<C;++w)x=f(x,b[w]);return x},l.each=function(b,x){for(var C=[],w=this.value.length,O=0,O=0;O<w;++O)f5e.call(this.value,O)&&(C[O]=this.get(O));for(x=x||this,O=0;O<w;++O)f5e.call(C,O)&&b.call(x,C[O])},l.map=function(b,x){var C=[];return this.each(function(w){C.push(b.call(this,w))},x),C},l.filter=function(b,x){var C=[];return this.each(function(w){b.call(this,w)&&C.push(w)},x),C};function _(){}function g(T,b,x,C){if(n.assert(T.value),b===0)return _;var w=T.value.length;if(w<1)return _;var O=arguments.length;O===2?(x=0,C=w):O===3?(x=Math.max(x,0),C=w):(x=Math.max(x,0),C=Math.min(C,w)),i.assert(x),i.assert(C);for(var F=Object.create(null),j=p(T),q=x;q<C;++q)if(f5e.call(T.value,q)){var W=T.get(q);if(W.name!==q)throw new Error("");var X=q+b;W.name=X,F[X]=W,delete j[q]}return delete j.length,function(){for(var H in F){var se=F[H];if(se.name!==+H)throw new Error("");j[H]=se,T.value[H]=se.value}}}l.shift=function(){var b=g(this,-1),x=this.value.shift();return b(),x},l.unshift=function(...b){var x=g(this,b.length),C=this.value.unshift.apply(this.value,b);return x(),C},l.push=function(...b){return n.assert(this.value),delete p(this).length,this.value.push.apply(this.value,b)},l.pop=function(){n.assert(this.value);var b=p(this);return delete b[this.value.length-1],delete b.length,this.value.pop()},l.insertAt=function(b){var x=arguments.length,C=g(this,x-1,b);if(C===_&&x<=1)return this;b=Math.max(b,0);for(var w=1;w<x;++w)this.value[b+w-1]=arguments[w];return C(),this},l.insertBefore=function(...b){for(var x=this.parentPath,C=b.length,w=[this.name],O=0;O<C;++O)w.push(b[O]);return x.insertAt.apply(x,w)},l.insertAfter=function(...b){for(var x=this.parentPath,C=b.length,w=[this.name+1],O=0;O<C;++O)w.push(b[O]);return x.insertAt.apply(x,w)};function y(T){if(!(T instanceof a))throw new Error("");var b=T.parentPath;if(!b)return T;var x=b.value,C=p(b);if(x[T.name]===T.value)C[T.name]=T;else if(n.check(x)){var w=x.indexOf(T.value);w>=0&&(C[T.name=w]=T)}else x[T.name]=T.value,C[T.name]=T;if(x[T.name]!==T.value)throw new Error("");if(T.parentPath.get(T.name)!==T)throw new Error("");return T}return l.replace=function(b){var x=[],C=this.parentPath.value,w=p(this.parentPath),O=arguments.length;if(y(this),n.check(C)){for(var F=C.length,j=g(this.parentPath,O-1,this.name+1),q=[this.name,1],W=0;W<O;++W)q.push(arguments[W]);var X=C.splice.apply(C,q);if(X[0]!==this.value)throw new Error("");if(C.length!==F-1+O)throw new Error("");if(j(),O===0)delete this.value,delete w[this.name],this.__childCache=null;else{if(C[this.name]!==b)throw new Error("");for(this.value!==b&&(this.value=b,this.__childCache=null),W=0;W<O;++W)x.push(this.parentPath.get(this.name+W));if(x[0]!==this)throw new Error("")}}else if(O===1)this.value!==b&&(this.__childCache=null),this.value=C[this.name]=b,x.push(this);else if(O===0)delete C[this.name],delete this.value,this.__childCache=null;else throw new Error("Could not replace path");return x},a}Vh(()=>module);var Cse=Object.prototype.hasOwnProperty;function Sfs(t){var e=t.use(h1),n=e.Type,i=e.namedTypes,a=i.Node,l=i.Expression,p=e.builtInTypes.array,f=e.builders;let _=function W(X,H){if(!(this instanceof W))throw new Error("Scope constructor cannot be invoked without 'new'");y.check(X.value)||g.assert(X.value);var se;if(H){if(!(H instanceof W))throw new Error("");se=H.depth+1}else H=null,se=0;Object.defineProperties(this,{path:{value:X},node:{value:X.value},isGlobal:{value:!H,enumerable:!0},depth:{value:se},parent:{value:H},bindings:{value:{}},types:{value:{}}})};var g=n.or(i.Program,i.Function,i.CatchClause),y=n.or(i.Function,i.ClassDeclaration,i.ClassExpression,i.InterfaceDeclaration,i.TSInterfaceDeclaration,i.TypeAlias,i.TSTypeAliasDeclaration),T=n.or(i.TypeParameter,i.TSTypeParameter);_.isEstablishedBy=function(W){return g.check(W)||y.check(W)};var b=_.prototype;b.didScan=!1,b.declares=function(W){return this.scan(),Cse.call(this.bindings,W)},b.declaresType=function(W){return this.scan(),Cse.call(this.types,W)},b.declareTemporary=function(W){if(W){if(!/^[a-z$_]/i.test(W))throw new Error("")}else W="t$";W+=this.depth.toString(36)+"$",this.scan();for(var X=0;this.declares(W+X);)++X;var H=W+X;return this.bindings[H]=e.builders.identifier(H)},b.injectTemporary=function(W,X){W||(W=this.declareTemporary());var H=this.path.get("body");return i.BlockStatement.check(H.value)&&(H=H.get("body")),H.unshift(f.variableDeclaration("var",[f.variableDeclarator(W,X||null)])),W},b.scan=function(W){if(W||!this.didScan){for(var X in this.bindings)delete this.bindings[X];for(var X in this.types)delete this.types[X];x(this.path,this.bindings,this.types),this.didScan=!0}},b.getBindings=function(){return this.scan(),this.bindings},b.getTypes=function(){return this.scan(),this.types};function x(W,X,H){var se=W.value;if(y.check(se)){let de=W.get("typeParameters","params");p.check(de.value)&&de.each(Ce=>{q(Ce,H)})}g.check(se)&&(i.CatchClause.check(se)?F(W.get("param"),X):C(W,X,H))}function C(W,X,H){var se=W.value;W.parent&&i.FunctionExpression.check(W.parent.node)&&W.parent.node.id&&F(W.parent.get("id"),X),se&&(p.check(se)?W.each(de=>{O(de,X,H)}):i.Function.check(se)?(W.get("params").each(de=>{F(de,X)}),O(W.get("body"),X,H),C(W.get("typeParameters"),X,H)):i.TypeAlias&&i.TypeAlias.check(se)||i.InterfaceDeclaration&&i.InterfaceDeclaration.check(se)||i.TSTypeAliasDeclaration&&i.TSTypeAliasDeclaration.check(se)||i.TSInterfaceDeclaration&&i.TSInterfaceDeclaration.check(se)?j(W.get("id"),H):i.VariableDeclarator.check(se)?(F(W.get("id"),X),O(W.get("init"),X,H)):se.type==="ImportSpecifier"||se.type==="ImportNamespaceSpecifier"||se.type==="ImportDefaultSpecifier"?F(W.get(se.local?"local":se.name?"name":"id"),X):a.check(se)&&!l.check(se)&&e.eachField(se,function(de,Ce){var Re=W.get(de);if(!w(Re,Ce))throw new Error("");O(Re,X,H)}))}function w(W,X){return!!(W.value===X||Array.isArray(W.value)&&W.value.length===0&&Array.isArray(X)&&X.length===0)}function O(W,X,H){var se=W.value;if(!(!se||l.check(se)))if(i.FunctionDeclaration.check(se)&&se.id!==null)F(W.get("id"),X);else if(i.ClassDeclaration&&i.ClassDeclaration.check(se)&&se.id!==null)F(W.get("id"),X),C(W.get("typeParameters"),X,H);else if(i.InterfaceDeclaration&&i.InterfaceDeclaration.check(se)||i.TSInterfaceDeclaration&&i.TSInterfaceDeclaration.check(se))j(W.get("id"),H);else if(g.check(se)){if(i.CatchClause.check(se)&&i.Identifier.check(se.param)){var de=se.param.name,Ce=Cse.call(X,de);C(W.get("body"),X,H),Ce||delete X[de]}}else C(W,X,H)}function F(W,X){var H=W.value;i.Pattern.assert(H),i.Identifier.check(H)?Cse.call(X,H.name)?X[H.name].push(W):X[H.name]=[W]:i.AssignmentPattern&&i.AssignmentPattern.check(H)?F(W.get("left"),X):i.ObjectPattern&&i.ObjectPattern.check(H)?W.get("properties").each(function(se){var de=se.value;i.Pattern.check(de)?F(se,X):i.Property.check(de)||i.ObjectProperty&&i.ObjectProperty.check(de)?F(se.get("value"),X):i.SpreadProperty&&i.SpreadProperty.check(de)&&F(se.get("argument"),X)}):i.ArrayPattern&&i.ArrayPattern.check(H)?W.get("elements").each(function(se){var de=se.value;i.Pattern.check(de)?F(se,X):i.SpreadElement&&i.SpreadElement.check(de)&&F(se.get("argument"),X)}):i.PropertyPattern&&i.PropertyPattern.check(H)?F(W.get("pattern"),X):(i.SpreadElementPattern&&i.SpreadElementPattern.check(H)||i.RestElement&&i.RestElement.check(H)||i.SpreadPropertyPattern&&i.SpreadPropertyPattern.check(H))&&F(W.get("argument"),X)}function j(W,X){var H=W.value;i.Pattern.assert(H),i.Identifier.check(H)&&(Cse.call(X,H.name)?X[H.name].push(W):X[H.name]=[W])}function q(W,X){var H=W.value;T.assert(H),Cse.call(X,H.name)?X[H.name].push(W):X[H.name]=[W]}return b.lookup=function(W){for(var X=this;X&&!X.declares(W);X=X.parent);return X},b.lookupType=function(W){for(var X=this;X&&!X.declaresType(W);X=X.parent);return X},b.getGlobalScope=function(){for(var W=this;!W.isGlobal;)W=W.parent;return W},_}Vh(()=>module);function qJr(t){var e=t.use(h1),n=e.namedTypes,i=e.builders,a=e.builtInTypes.number,l=e.builtInTypes.array,p=t.use(UJr),f=t.use(Sfs);let _=function O(F,j,q){if(!(this instanceof O))throw new Error("NodePath constructor cannot be invoked without 'new'");p.call(this,F,j,q)};var g=_.prototype=Object.create(p.prototype,{constructor:{value:_,enumerable:!1,writable:!0,configurable:!0}});Object.defineProperties(g,{node:{get:function(){return Object.defineProperty(this,"node",{configurable:!0,value:this._computeNode()}),this.node}},parent:{get:function(){return Object.defineProperty(this,"parent",{configurable:!0,value:this._computeParent()}),this.parent}},scope:{get:function(){return Object.defineProperty(this,"scope",{configurable:!0,value:this._computeScope()}),this.scope}}}),g.replace=function(){return delete this.node,delete this.parent,delete this.scope,p.prototype.replace.apply(this,arguments)},g.prune=function(){var O=this.parent;return this.replace(),C(O)},g._computeNode=function(){var O=this.value;if(n.Node.check(O))return O;var F=this.parentPath;return F&&F.node||null},g._computeParent=function(){var O=this.value,F=this.parentPath;if(!n.Node.check(O)){for(;F&&!n.Node.check(F.value);)F=F.parentPath;F&&(F=F.parentPath)}for(;F&&!n.Node.check(F.value);)F=F.parentPath;return F||null},g._computeScope=function(){var O=this.value,F=this.parentPath,j=F&&F.scope;return n.Node.check(O)&&f.isEstablishedBy(O)&&(j=new f(this,j)),j||null},g.getValueProperty=function(O){return e.getFieldValue(this.value,O)},g.needsParens=function(O){var F=this.parentPath;if(!F)return!1;var j=this.value;if(!n.Expression.check(j)||j.type==="Identifier")return!1;for(;!n.Node.check(F.value);)if(F=F.parentPath,!F)return!1;var q=F.value;switch(j.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":return q.type==="MemberExpression"&&this.name==="object"&&q.object===j;case"BinaryExpression":case"LogicalExpression":switch(q.type){case"CallExpression":return this.name==="callee"&&q.callee===j;case"UnaryExpression":case"SpreadElement":case"SpreadProperty":return!0;case"MemberExpression":return this.name==="object"&&q.object===j;case"BinaryExpression":case"LogicalExpression":{let W=j,X=q.operator,H=T[X],se=W.operator,de=T[se];if(H>de)return!0;if(H===de&&this.name==="right"){if(q.right!==W)throw new Error("Nodes must be equal");return!0}}default:return!1}case"SequenceExpression":switch(q.type){case"ForStatement":return!1;case"ExpressionStatement":return this.name!=="expression";default:return!0}case"YieldExpression":switch(q.type){case"BinaryExpression":case"LogicalExpression":case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"CallExpression":case"MemberExpression":case"NewExpression":case"ConditionalExpression":case"YieldExpression":return!0;default:return!1}case"Literal":return q.type==="MemberExpression"&&a.check(j.value)&&this.name==="object"&&q.object===j;case"AssignmentExpression":case"ConditionalExpression":switch(q.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":return!0;case"CallExpression":return this.name==="callee"&&q.callee===j;case"ConditionalExpression":return this.name==="test"&&q.test===j;case"MemberExpression":return this.name==="object"&&q.object===j;default:return!1}default:if(q.type==="NewExpression"&&this.name==="callee"&&q.callee===j)return b(j)}return!!(O!==!0&&!this.canBeFirstInStatement()&&this.firstInStatement())};function y(O){return n.BinaryExpression.check(O)||n.LogicalExpression.check(O)}var T={};[["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"]].forEach(function(O,F){O.forEach(function(j){T[j]=F})});function b(O){return n.CallExpression.check(O)?!0:l.check(O)?O.some(b):n.Node.check(O)?e.someField(O,function(F,j){return b(j)}):!1}g.canBeFirstInStatement=function(){var O=this.node;return!n.FunctionExpression.check(O)&&!n.ObjectExpression.check(O)},g.firstInStatement=function(){return x(this)};function x(O){for(var F,j;O.parent;O=O.parent){if(F=O.node,j=O.parent.node,n.BlockStatement.check(j)&&O.parent.name==="body"&&O.name===0){if(j.body[0]!==F)throw new Error("Nodes must be equal");return!0}if(n.ExpressionStatement.check(j)&&O.name==="expression"){if(j.expression!==F)throw new Error("Nodes must be equal");return!0}if(n.SequenceExpression.check(j)&&O.parent.name==="expressions"&&O.name===0){if(j.expressions[0]!==F)throw new Error("Nodes must be equal");continue}if(n.CallExpression.check(j)&&O.name==="callee"){if(j.callee!==F)throw new Error("Nodes must be equal");continue}if(n.MemberExpression.check(j)&&O.name==="object"){if(j.object!==F)throw new Error("Nodes must be equal");continue}if(n.ConditionalExpression.check(j)&&O.name==="test"){if(j.test!==F)throw new Error("Nodes must be equal");continue}if(y(j)&&O.name==="left"){if(j.left!==F)throw new Error("Nodes must be equal");continue}if(n.UnaryExpression.check(j)&&!j.prefix&&O.name==="argument"){if(j.argument!==F)throw new Error("Nodes must be equal");continue}return!1}return!0}function C(O){if(n.VariableDeclaration.check(O.node)){var F=O.get("declarations").value;if(!F||F.length===0)return O.prune()}else if(n.ExpressionStatement.check(O.node)){if(!O.get("expression").value)return O.prune()}else n.IfStatement.check(O.node)&&w(O);return O}function w(O){var F=O.get("test").value,j=O.get("alternate").value,q=O.get("consequent").value;if(!q&&!j){var W=i.expressionStatement(F);O.replace(W)}else if(!q&&j){var X=i.unaryExpression("!",F,!0);n.UnaryExpression.check(F)&&F.operator==="!"&&(X=F.argument),O.get("test").replace(X),O.get("consequent").replace(j),O.get("alternate").replace()}}return _}Vh(()=>module);var _5e=Object.prototype.hasOwnProperty;function xfs(t){var e=t.use(h1),n=t.use(qJr),i=e.builtInTypes.array,a=e.builtInTypes.object,l=e.builtInTypes.function,p;let f=function C(){if(!(this instanceof C))throw new Error("PathVisitor constructor cannot be invoked without 'new'");this._reusableContextStack=[],this._methodNameTable=_(this),this._shouldVisitComments=_5e.call(this._methodNameTable,"Block")||_5e.call(this._methodNameTable,"Line"),this.Context=b(this),this._visiting=!1,this._changeReported=!1};function _(C){var w=Object.create(null);for(var O in C)/^visit[A-Z]/.test(O)&&(w[O.slice(5)]=!0);for(var F=e.computeSupertypeLookupTable(w),j=Object.create(null),q=Object.keys(F),W=q.length,X=0;X<W;++X){var H=q[X];O="visit"+F[H],l.check(C[O])&&(j[H]=O)}return j}f.fromMethodsObject=function(w){if(w instanceof f)return w;if(!a.check(w))return new f;let O=function j(){if(!(this instanceof j))throw new Error("Visitor constructor cannot be invoked without 'new'");f.call(this)};var F=O.prototype=Object.create(y);return F.constructor=O,g(F,w),g(O,f),l.assert(O.fromMethodsObject),l.assert(O.visit),new O};function g(C,w){for(var O in w)_5e.call(w,O)&&(C[O]=w[O]);return C}f.visit=function(w,O){return f.fromMethodsObject(O).visit(w)};var y=f.prototype;y.visit=function(){if(this._visiting)throw new Error("Recursively calling visitor.visit(path) resets visitor state. Try this.visit(path) or this.traverse(path) instead.");this._visiting=!0,this._changeReported=!1,this._abortRequested=!1;for(var C=arguments.length,w=new Array(C),O=0;O<C;++O)w[O]=arguments[O];w[0]instanceof n||(w[0]=new n({root:w[0]}).get("root")),this.reset.apply(this,w);var F;try{var j=this.visitWithoutReset(w[0]);F=!0}finally{if(this._visiting=!1,!F&&this._abortRequested)return w[0].value}return j},y.AbortRequest=function(){},y.abort=function(){var C=this;C._abortRequested=!0;var w=new C.AbortRequest;throw w.cancel=function(){C._abortRequested=!1},w},y.reset=function(C){},y.visitWithoutReset=function(C){if(this instanceof this.Context)return this.visitor.visitWithoutReset(C);if(!(C instanceof n))throw new Error("");var w=C.value,O=w&&typeof w=="object"&&typeof w.type=="string"&&this._methodNameTable[w.type];if(O){var F=this.acquireContext(C);try{return F.invokeVisitorMethod(O)}finally{this.releaseContext(F)}}else return T(C,this)};function T(C,w){if(!(C instanceof n))throw new Error("");if(!(w instanceof f))throw new Error("");var O=C.value;if(i.check(O))C.each(w.visitWithoutReset,w);else if(a.check(O)){var F=e.getFieldNames(O);w._shouldVisitComments&&O.comments&&F.indexOf("comments")<0&&F.push("comments");for(var j=F.length,q=[],W=0;W<j;++W){var X=F[W];_5e.call(O,X)||(O[X]=e.getFieldValue(O,X)),q.push(C.get(X))}for(var W=0;W<j;++W)w.visitWithoutReset(q[W])}return C.value}y.acquireContext=function(C){return this._reusableContextStack.length===0?new this.Context(C):this._reusableContextStack.pop().reset(C)},y.releaseContext=function(C){if(!(C instanceof this.Context))throw new Error("");this._reusableContextStack.push(C),C.currentPath=null},y.reportChanged=function(){this._changeReported=!0},y.wasChangeReported=function(){return this._changeReported};function b(C){function w(F){if(!(this instanceof w))throw new Error("");if(!(this instanceof f))throw new Error("");if(!(F instanceof n))throw new Error("");Object.defineProperty(this,"visitor",{value:C,writable:!1,enumerable:!0,configurable:!1}),this.currentPath=F,this.needToCallTraverse=!0,Object.seal(this)}if(!(C instanceof f))throw new Error("");var O=w.prototype=Object.create(C);return O.constructor=w,g(O,x),w}var x=Object.create(null);return x.reset=function(w){if(!(this instanceof this.Context))throw new Error("");if(!(w instanceof n))throw new Error("");return this.currentPath=w,this.needToCallTraverse=!0,this},x.invokeVisitorMethod=function(w){if(!(this instanceof this.Context))throw new Error("");if(!(this.currentPath instanceof n))throw new Error("");var O=this.visitor[w].call(this,this.currentPath);if(O===!1?this.needToCallTraverse=!1:O!==p&&(this.currentPath=this.currentPath.replace(O)[0],this.needToCallTraverse&&this.traverse(this.currentPath)),this.needToCallTraverse!==!1)throw new Error("Must either call this.traverse or return false in "+w);var F=this.currentPath;return F&&F.value},x.traverse=function(w,O){if(!(this instanceof this.Context))throw new Error("");if(!(w instanceof n))throw new Error("");if(!(this.currentPath instanceof n))throw new Error("");return this.needToCallTraverse=!1,T(w,f.fromMethodsObject(O||this.visitor))},x.visit=function(w,O){if(!(this instanceof this.Context))throw new Error("");if(!(w instanceof n))throw new Error("");if(!(this.currentPath instanceof n))throw new Error("");return this.needToCallTraverse=!1,f.fromMethodsObject(O||this.visitor).visitWithoutReset(w)},x.reportChanged=function(){this.visitor.reportChanged()},x.abort=function(){this.needToCallTraverse=!1,this.visitor.abort()},f}Vh(()=>module);function Efs(t){var e=t.use(h1),n=e.getFieldNames,i=e.getFieldValue,a=e.builtInTypes.array,l=e.builtInTypes.object,p=e.builtInTypes.Date,f=e.builtInTypes.RegExp,_=Object.prototype.hasOwnProperty;function g(C,w,O){return a.check(O)?O.length=0:O=null,T(C,w,O)}g.assert=function(C,w){var O=[];if(!g(C,w,O))if(O.length===0){if(C!==w)throw new Error("Nodes must be equal")}else throw new Error("Nodes differ in the following path: "+O.map(y).join(""))};function y(C){return/[_$a-z][_$a-z0-9]*/i.test(C)?"."+C:"["+JSON.stringify(C)+"]"}function T(C,w,O){return C===w?!0:a.check(C)?b(C,w,O):l.check(C)?x(C,w,O):p.check(C)?p.check(w)&&+C==+w:f.check(C)?f.check(w)&&C.source===w.source&&C.global===w.global&&C.multiline===w.multiline&&C.ignoreCase===w.ignoreCase:C==w}function b(C,w,O){a.assert(C);var F=C.length;if(!a.check(w)||w.length!==F)return O&&O.push("length"),!1;for(var j=0;j<F;++j){if(O&&O.push(j),j in C!=j in w||!T(C[j],w[j],O))return!1;if(O){var q=O.pop();if(q!==j)throw new Error(""+q)}}return!0}function x(C,w,O){if(l.assert(C),!l.check(w))return!1;if(C.type!==w.type)return O&&O.push("type"),!1;var F=n(C),j=F.length,q=n(w),W=q.length;if(j===W){for(var X=0;X<j;++X){var H=F[X],se=i(C,H),de=i(w,H);if(O&&O.push(H),!T(se,de,O))return!1;if(O){var Ce=O.pop();if(Ce!==H)throw new Error(""+Ce)}}return!0}if(!O)return!1;var Re=Object.create(null);for(X=0;X<j;++X)Re[F[X]]=!0;for(X=0;X<W;++X){if(H=q[X],!_.call(Re,H))return O.push(H),!1;delete Re[H]}for(H in Re){O.push(H);break}return!1}return g}Vh(()=>module);function Cfs(t){let e=Afs(),n=e.use(h1);t.forEach(e.use),n.finalize();let i=e.use(xfs);return{Type:n.Type,builtInTypes:n.builtInTypes,namedTypes:n.namedTypes,builders:n.builders,defineMethod:n.defineMethod,getFieldNames:n.getFieldNames,getFieldValue:n.getFieldValue,eachField:n.eachField,someField:n.someField,getSupertypeNames:n.getSupertypeNames,getBuilderName:n.getBuilderName,astNodesAreEquivalent:e.use(Efs),finalize:n.finalize,Path:e.use(UJr),NodePath:e.use(qJr),PathVisitor:i,use:e.use,visit:i.visit}}function Afs(){let t=[],e=[];function n(a){var l=t.indexOf(a);return l===-1&&(l=t.length,t.push(a),e[l]=a(i)),e[l]}var i={use:n};return i}Vh(()=>module);function VJr(){return{BinaryOperators:["==","!=","===","!==","<","<=",">",">=","<<",">>",">>>","+","-","*","/","%","&","|","^","in","instanceof"],AssignmentOperators:["=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","|=","^=","&="],LogicalOperators:["||","&&"]}}Vh(()=>module);function zJr(t){let e=t.use(VJr);return e.BinaryOperators.indexOf("**")<0&&e.BinaryOperators.push("**"),e.AssignmentOperators.indexOf("**=")<0&&e.AssignmentOperators.push("**="),e}Vh(()=>module);function YJr(t){let e=t.use(zJr);return e.LogicalOperators.indexOf("??")<0&&e.LogicalOperators.push("??"),e}Vh(()=>module);function Dfs(t){let e=t.use(YJr);return e.LogicalOperators.forEach(n=>{let i=n+"=";e.AssignmentOperators.indexOf(i)<0&&e.AssignmentOperators.push(i)}),e}Vh(()=>module);function wfs(t){var e=t.use(h1),n=e.Type,i=n.def,a=n.or,l=t.use(dP),p=l.defaults,f=l.geq;let{BinaryOperators:_,AssignmentOperators:g,LogicalOperators:y}=t.use(VJr);i("Printable").field("loc",a(i("SourceLocation"),null),p.null,!0),i("Node").bases("Printable").field("type",String).field("comments",a([i("Comment")],null),p.null,!0),i("SourceLocation").field("start",i("Position")).field("end",i("Position")).field("source",a(String,null),p.null),i("Position").field("line",f(1)).field("column",f(0)),i("File").bases("Node").build("program","name").field("program",i("Program")).field("name",a(String,null),p.null),i("Program").bases("Node").build("body").field("body",[i("Statement")]),i("Function").bases("Node").field("id",a(i("Identifier"),null),p.null).field("params",[i("Pattern")]).field("body",i("BlockStatement")).field("generator",Boolean,p.false).field("async",Boolean,p.false),i("Statement").bases("Node"),i("EmptyStatement").bases("Statement").build(),i("BlockStatement").bases("Statement").build("body").field("body",[i("Statement")]),i("ExpressionStatement").bases("Statement").build("expression").field("expression",i("Expression")),i("IfStatement").bases("Statement").build("test","consequent","alternate").field("test",i("Expression")).field("consequent",i("Statement")).field("alternate",a(i("Statement"),null),p.null),i("LabeledStatement").bases("Statement").build("label","body").field("label",i("Identifier")).field("body",i("Statement")),i("BreakStatement").bases("Statement").build("label").field("label",a(i("Identifier"),null),p.null),i("ContinueStatement").bases("Statement").build("label").field("label",a(i("Identifier"),null),p.null),i("WithStatement").bases("Statement").build("object","body").field("object",i("Expression")).field("body",i("Statement")),i("SwitchStatement").bases("Statement").build("discriminant","cases","lexical").field("discriminant",i("Expression")).field("cases",[i("SwitchCase")]).field("lexical",Boolean,p.false),i("ReturnStatement").bases("Statement").build("argument").field("argument",a(i("Expression"),null)),i("ThrowStatement").bases("Statement").build("argument").field("argument",i("Expression")),i("TryStatement").bases("Statement").build("block","handler","finalizer").field("block",i("BlockStatement")).field("handler",a(i("CatchClause"),null),function(){return this.handlers&&this.handlers[0]||null}).field("handlers",[i("CatchClause")],function(){return this.handler?[this.handler]:[]},!0).field("guardedHandlers",[i("CatchClause")],p.emptyArray).field("finalizer",a(i("BlockStatement"),null),p.null),i("CatchClause").bases("Node").build("param","guard","body").field("param",i("Pattern")).field("guard",a(i("Expression"),null),p.null).field("body",i("BlockStatement")),i("WhileStatement").bases("Statement").build("test","body").field("test",i("Expression")).field("body",i("Statement")),i("DoWhileStatement").bases("Statement").build("body","test").field("body",i("Statement")).field("test",i("Expression")),i("ForStatement").bases("Statement").build("init","test","update","body").field("init",a(i("VariableDeclaration"),i("Expression"),null)).field("test",a(i("Expression"),null)).field("update",a(i("Expression"),null)).field("body",i("Statement")),i("ForInStatement").bases("Statement").build("left","right","body").field("left",a(i("VariableDeclaration"),i("Expression"))).field("right",i("Expression")).field("body",i("Statement")),i("DebuggerStatement").bases("Statement").build(),i("Declaration").bases("Statement"),i("FunctionDeclaration").bases("Function","Declaration").build("id","params","body").field("id",i("Identifier")),i("FunctionExpression").bases("Function","Expression").build("id","params","body"),i("VariableDeclaration").bases("Declaration").build("kind","declarations").field("kind",a("var","let","const")).field("declarations",[i("VariableDeclarator")]),i("VariableDeclarator").bases("Node").build("id","init").field("id",i("Pattern")).field("init",a(i("Expression"),null),p.null),i("Expression").bases("Node"),i("ThisExpression").bases("Expression").build(),i("ArrayExpression").bases("Expression").build("elements").field("elements",[a(i("Expression"),null)]),i("ObjectExpression").bases("Expression").build("properties").field("properties",[i("Property")]),i("Property").bases("Node").build("kind","key","value").field("kind",a("init","get","set")).field("key",a(i("Literal"),i("Identifier"))).field("value",i("Expression")),i("SequenceExpression").bases("Expression").build("expressions").field("expressions",[i("Expression")]);var T=a("-","+","!","~","typeof","void","delete");i("UnaryExpression").bases("Expression").build("operator","argument","prefix").field("operator",T).field("argument",i("Expression")).field("prefix",Boolean,p.true);let b=a(..._);i("BinaryExpression").bases("Expression").build("operator","left","right").field("operator",b).field("left",i("Expression")).field("right",i("Expression"));let x=a(...g);i("AssignmentExpression").bases("Expression").build("operator","left","right").field("operator",x).field("left",a(i("Pattern"),i("MemberExpression"))).field("right",i("Expression"));var C=a("++","--");i("UpdateExpression").bases("Expression").build("operator","argument","prefix").field("operator",C).field("argument",i("Expression")).field("prefix",Boolean);var w=a(...y);i("LogicalExpression").bases("Expression").build("operator","left","right").field("operator",w).field("left",i("Expression")).field("right",i("Expression")),i("ConditionalExpression").bases("Expression").build("test","consequent","alternate").field("test",i("Expression")).field("consequent",i("Expression")).field("alternate",i("Expression")),i("NewExpression").bases("Expression").build("callee","arguments").field("callee",i("Expression")).field("arguments",[i("Expression")]),i("CallExpression").bases("Expression").build("callee","arguments").field("callee",i("Expression")).field("arguments",[i("Expression")]),i("MemberExpression").bases("Expression").build("object","property","computed").field("object",i("Expression")).field("property",a(i("Identifier"),i("Expression"))).field("computed",Boolean,function(){var O=this.property.type;return O==="Literal"||O==="MemberExpression"||O==="BinaryExpression"}),i("Pattern").bases("Node"),i("SwitchCase").bases("Node").build("test","consequent").field("test",a(i("Expression"),null)).field("consequent",[i("Statement")]),i("Identifier").bases("Expression","Pattern").build("name").field("name",String).field("optional",Boolean,p.false),i("Literal").bases("Expression").build("value").field("value",a(String,Boolean,null,Number,RegExp,BigInt)),i("Comment").bases("Printable").field("value",String).field("leading",Boolean,p.true).field("trailing",Boolean,p.false)}Vh(()=>module);function Pfs(t){t.use(wfs);let e=t.use(h1),n=e.Type.def,i=e.Type.or,a=t.use(dP).defaults;n("Function").field("generator",Boolean,a.false).field("expression",Boolean,a.false).field("defaults",[i(n("Expression"),null)],a.emptyArray).field("rest",i(n("Identifier"),null),a.null),n("RestElement").bases("Pattern").build("argument").field("argument",n("Pattern")).field("typeAnnotation",i(n("TypeAnnotation"),n("TSTypeAnnotation"),null),a.null),n("SpreadElementPattern").bases("Pattern").build("argument").field("argument",n("Pattern")),n("FunctionDeclaration").build("id","params","body","generator","expression").field("id",i(n("Identifier"),null)),n("FunctionExpression").build("id","params","body","generator","expression"),n("ArrowFunctionExpression").bases("Function","Expression").build("params","body","expression").field("id",null,a.null).field("body",i(n("BlockStatement"),n("Expression"))).field("generator",!1,a.false),n("ForOfStatement").bases("Statement").build("left","right","body").field("left",i(n("VariableDeclaration"),n("Pattern"))).field("right",n("Expression")).field("body",n("Statement")),n("YieldExpression").bases("Expression").build("argument","delegate").field("argument",i(n("Expression"),null)).field("delegate",Boolean,a.false),n("GeneratorExpression").bases("Expression").build("body","blocks","filter").field("body",n("Expression")).field("blocks",[n("ComprehensionBlock")]).field("filter",i(n("Expression"),null)),n("ComprehensionExpression").bases("Expression").build("body","blocks","filter").field("body",n("Expression")).field("blocks",[n("ComprehensionBlock")]).field("filter",i(n("Expression"),null)),n("ComprehensionBlock").bases("Node").build("left","right","each").field("left",n("Pattern")).field("right",n("Expression")).field("each",Boolean),n("Property").field("key",i(n("Literal"),n("Identifier"),n("Expression"))).field("value",i(n("Expression"),n("Pattern"))).field("method",Boolean,a.false).field("shorthand",Boolean,a.false).field("computed",Boolean,a.false),n("ObjectProperty").field("shorthand",Boolean,a.false),n("PropertyPattern").bases("Pattern").build("key","pattern").field("key",i(n("Literal"),n("Identifier"),n("Expression"))).field("pattern",n("Pattern")).field("computed",Boolean,a.false),n("ObjectPattern").bases("Pattern").build("properties").field("properties",[i(n("PropertyPattern"),n("Property"))]),n("ArrayPattern").bases("Pattern").build("elements").field("elements",[i(n("Pattern"),null)]),n("SpreadElement").bases("Node").build("argument").field("argument",n("Expression")),n("ArrayExpression").field("elements",[i(n("Expression"),n("SpreadElement"),n("RestElement"),null)]),n("NewExpression").field("arguments",[i(n("Expression"),n("SpreadElement"))]),n("CallExpression").field("arguments",[i(n("Expression"),n("SpreadElement"))]),n("AssignmentPattern").bases("Pattern").build("left","right").field("left",n("Pattern")).field("right",n("Expression")),n("MethodDefinition").bases("Declaration").build("kind","key","value","static").field("kind",i("constructor","method","get","set")).field("key",n("Expression")).field("value",n("Function")).field("computed",Boolean,a.false).field("static",Boolean,a.false);let l=i(n("MethodDefinition"),n("VariableDeclarator"),n("ClassPropertyDefinition"),n("ClassProperty"),n("StaticBlock"));n("ClassProperty").bases("Declaration").build("key").field("key",i(n("Literal"),n("Identifier"),n("Expression"))).field("computed",Boolean,a.false),n("ClassPropertyDefinition").bases("Declaration").build("definition").field("definition",l),n("ClassBody").bases("Declaration").build("body").field("body",[l]),n("ClassDeclaration").bases("Declaration").build("id","body","superClass").field("id",i(n("Identifier"),null)).field("body",n("ClassBody")).field("superClass",i(n("Expression"),null),a.null),n("ClassExpression").bases("Expression").build("id","body","superClass").field("id",i(n("Identifier"),null),a.null).field("body",n("ClassBody")).field("superClass",i(n("Expression"),null),a.null),n("Super").bases("Expression").build(),n("Specifier").bases("Node"),n("ModuleSpecifier").bases("Specifier").field("local",i(n("Identifier"),null),a.null).field("id",i(n("Identifier"),null),a.null).field("name",i(n("Identifier"),null),a.null),n("ImportSpecifier").bases("ModuleSpecifier").build("imported","local").field("imported",n("Identifier")),n("ImportDefaultSpecifier").bases("ModuleSpecifier").build("local"),n("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("local"),n("ImportDeclaration").bases("Declaration").build("specifiers","source","importKind").field("specifiers",[i(n("ImportSpecifier"),n("ImportNamespaceSpecifier"),n("ImportDefaultSpecifier"))],a.emptyArray).field("source",n("Literal")).field("importKind",i("value","type"),function(){return"value"}),n("ExportNamedDeclaration").bases("Declaration").build("declaration","specifiers","source").field("declaration",i(n("Declaration"),null)).field("specifiers",[n("ExportSpecifier")],a.emptyArray).field("source",i(n("Literal"),null),a.null),n("ExportSpecifier").bases("ModuleSpecifier").build("local","exported").field("exported",n("Identifier")),n("ExportDefaultDeclaration").bases("Declaration").build("declaration").field("declaration",i(n("Declaration"),n("Expression"))),n("ExportAllDeclaration").bases("Declaration").build("source").field("source",n("Literal")),n("TaggedTemplateExpression").bases("Expression").build("tag","quasi").field("tag",n("Expression")).field("quasi",n("TemplateLiteral")),n("TemplateLiteral").bases("Expression").build("quasis","expressions").field("quasis",[n("TemplateElement")]).field("expressions",[n("Expression")]),n("TemplateElement").bases("Node").build("value","tail").field("value",{cooked:String,raw:String}).field("tail",Boolean),n("MetaProperty").bases("Expression").build("meta","property").field("meta",n("Identifier")).field("property",n("Identifier"))}Vh(()=>module);function kfs(t){t.use(zJr),t.use(Pfs)}Vh(()=>module);function Nfs(t){t.use(kfs);let n=t.use(h1).Type.def,i=t.use(dP).defaults;n("Function").field("async",Boolean,i.false),n("AwaitExpression").bases("Expression").build("argument").field("argument",n("Expression"))}Vh(()=>module);function Ifs(t){t.use(Nfs);let e=t.use(h1),n=e.Type.def,i=e.Type.or,a=t.use(dP).defaults;n("ForOfStatement").field("await",Boolean,a.false),n("SpreadProperty").bases("Node").build("argument").field("argument",n("Expression")),n("ObjectExpression").field("properties",[i(n("Property"),n("SpreadProperty"),n("SpreadElement"))]),n("TemplateElement").field("value",{cooked:i(String,null),raw:String}),n("SpreadPropertyPattern").bases("Pattern").build("argument").field("argument",n("Pattern")),n("ObjectPattern").field("properties",[i(n("PropertyPattern"),n("Property"),n("RestElement"),n("SpreadPropertyPattern"))])}Vh(()=>module);function Ofs(t){t.use(Ifs);let e=t.use(h1),n=e.Type.def,i=e.Type.or,a=t.use(dP).defaults;n("CatchClause").field("param",i(n("Pattern"),null),a.null)}Vh(()=>module);function Lfs(t){t.use(YJr),t.use(Ofs);let e=t.use(h1),n=e.Type.def,i=e.Type.or,l=t.use(dP).defaults;n("ImportExpression").bases("Expression").build("source").field("source",n("Expression")),n("ExportAllDeclaration").bases("Declaration").build("source","exported").field("source",n("Literal")).field("exported",i(n("Identifier"),null,void 0),l.null),n("ChainElement").bases("Node").field("optional",Boolean,l.false),n("CallExpression").bases("Expression","ChainElement"),n("MemberExpression").bases("Expression","ChainElement"),n("ChainExpression").bases("Expression").build("expression").field("expression",n("ChainElement")),n("OptionalCallExpression").bases("CallExpression").build("callee","arguments","optional").field("optional",Boolean,l.true),n("OptionalMemberExpression").bases("MemberExpression").build("object","property","computed","optional").field("optional",Boolean,l.true)}Vh(()=>module);function Ffs(t){t.use(Dfs),t.use(Lfs)}Vh(()=>module);function Mfs(t){t.use(Ffs);let n=t.use(h1).Type.def;n("StaticBlock").bases("Declaration").build("body").field("body",[n("Statement")])}Vh(()=>module);function h0e(t){t.use(Mfs);let e=t.use(h1),n=e.Type,i=e.Type.def,a=n.or,p=t.use(dP).defaults;i("AwaitExpression").build("argument","all").field("argument",a(i("Expression"),null)).field("all",Boolean,p.false),i("Decorator").bases("Node").build("expression").field("expression",i("Expression")),i("Property").field("decorators",a([i("Decorator")],null),p.null),i("MethodDefinition").field("decorators",a([i("Decorator")],null),p.null),i("PrivateName").bases("Expression","Pattern").build("id").field("id",i("Identifier")),i("ClassPrivateProperty").bases("ClassProperty").build("key","value").field("key",i("PrivateName")).field("value",a(i("Expression"),null),p.null),i("ImportAttribute").bases("Node").build("key","value").field("key",a(i("Identifier"),i("Literal"))).field("value",i("Expression")),["ImportDeclaration","ExportAllDeclaration","ExportNamedDeclaration"].forEach(f=>{i(f).field("assertions",[i("ImportAttribute")],p.emptyArray)}),i("RecordExpression").bases("Expression").build("properties").field("properties",[a(i("ObjectProperty"),i("ObjectMethod"),i("SpreadElement"))]),i("TupleExpression").bases("Expression").build("elements").field("elements",[a(i("Expression"),i("SpreadElement"),null)]),i("ModuleExpression").bases("Node").build("body").field("body",i("Program"))}Vh(()=>module);function Rfs(t){t.use(h0e);let e=t.use(h1),n=e.Type.def,i=e.Type.or,a=t.use(dP).defaults;n("JSXAttribute").bases("Node").build("name","value").field("name",i(n("JSXIdentifier"),n("JSXNamespacedName"))).field("value",i(n("Literal"),n("JSXExpressionContainer"),n("JSXElement"),n("JSXFragment"),null),a.null),n("JSXIdentifier").bases("Identifier").build("name").field("name",String),n("JSXNamespacedName").bases("Node").build("namespace","name").field("namespace",n("JSXIdentifier")).field("name",n("JSXIdentifier")),n("JSXMemberExpression").bases("MemberExpression").build("object","property").field("object",i(n("JSXIdentifier"),n("JSXMemberExpression"))).field("property",n("JSXIdentifier")).field("computed",Boolean,a.false);let l=i(n("JSXIdentifier"),n("JSXNamespacedName"),n("JSXMemberExpression"));n("JSXSpreadAttribute").bases("Node").build("argument").field("argument",n("Expression"));let p=[i(n("JSXAttribute"),n("JSXSpreadAttribute"))];n("JSXExpressionContainer").bases("Expression").build("expression").field("expression",i(n("Expression"),n("JSXEmptyExpression")));let f=[i(n("JSXText"),n("JSXExpressionContainer"),n("JSXSpreadChild"),n("JSXElement"),n("JSXFragment"),n("Literal"))];n("JSXElement").bases("Expression").build("openingElement","closingElement","children").field("openingElement",n("JSXOpeningElement")).field("closingElement",i(n("JSXClosingElement"),null),a.null).field("children",f,a.emptyArray).field("name",l,function(){return this.openingElement.name},!0).field("selfClosing",Boolean,function(){return this.openingElement.selfClosing},!0).field("attributes",p,function(){return this.openingElement.attributes},!0),n("JSXOpeningElement").bases("Node").build("name","attributes","selfClosing").field("name",l).field("attributes",p,a.emptyArray).field("selfClosing",Boolean,a.false),n("JSXClosingElement").bases("Node").build("name").field("name",l),n("JSXFragment").bases("Expression").build("openingFragment","closingFragment","children").field("openingFragment",n("JSXOpeningFragment")).field("closingFragment",n("JSXClosingFragment")).field("children",f,a.emptyArray),n("JSXOpeningFragment").bases("Node").build(),n("JSXClosingFragment").bases("Node").build(),n("JSXText").bases("Literal").build("value","raw").field("value",String).field("raw",String,function(){return this.value}),n("JSXEmptyExpression").bases("Node").build(),n("JSXSpreadChild").bases("Node").build("expression").field("expression",n("Expression"))}Vh(()=>module);function WJr(t){var e=t.use(h1),n=e.Type.def,i=e.Type.or,a=t.use(dP).defaults,l=i(n("TypeAnnotation"),n("TSTypeAnnotation"),null),p=i(n("TypeParameterDeclaration"),n("TSTypeParameterDeclaration"),null);n("Identifier").field("typeAnnotation",l,a.null),n("ObjectPattern").field("typeAnnotation",l,a.null),n("Function").field("returnType",l,a.null).field("typeParameters",p,a.null),n("ClassProperty").build("key","value","typeAnnotation","static").field("value",i(n("Expression"),null)).field("static",Boolean,a.false).field("typeAnnotation",l,a.null),["ClassDeclaration","ClassExpression"].forEach(f=>{n(f).field("typeParameters",p,a.null).field("superTypeParameters",i(n("TypeParameterInstantiation"),n("TSTypeParameterInstantiation"),null),a.null).field("implements",i([n("ClassImplements")],[n("TSExpressionWithTypeArguments")]),a.emptyArray)})}Vh(()=>module);function JJr(t){t.use(h0e),t.use(WJr);let e=t.use(h1),n=e.Type.def,i=e.Type.or,a=t.use(dP).defaults;n("Flow").bases("Node"),n("FlowType").bases("Flow"),n("AnyTypeAnnotation").bases("FlowType").build(),n("EmptyTypeAnnotation").bases("FlowType").build(),n("MixedTypeAnnotation").bases("FlowType").build(),n("VoidTypeAnnotation").bases("FlowType").build(),n("SymbolTypeAnnotation").bases("FlowType").build(),n("NumberTypeAnnotation").bases("FlowType").build(),n("BigIntTypeAnnotation").bases("FlowType").build(),n("NumberLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Number).field("raw",String),n("NumericLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Number).field("raw",String),n("BigIntLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",null).field("raw",String),n("StringTypeAnnotation").bases("FlowType").build(),n("StringLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",String).field("raw",String),n("BooleanTypeAnnotation").bases("FlowType").build(),n("BooleanLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Boolean).field("raw",String),n("TypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",n("FlowType")),n("NullableTypeAnnotation").bases("FlowType").build("typeAnnotation").field("typeAnnotation",n("FlowType")),n("NullLiteralTypeAnnotation").bases("FlowType").build(),n("NullTypeAnnotation").bases("FlowType").build(),n("ThisTypeAnnotation").bases("FlowType").build(),n("ExistsTypeAnnotation").bases("FlowType").build(),n("ExistentialTypeParam").bases("FlowType").build(),n("FunctionTypeAnnotation").bases("FlowType").build("params","returnType","rest","typeParameters").field("params",[n("FunctionTypeParam")]).field("returnType",n("FlowType")).field("rest",i(n("FunctionTypeParam"),null)).field("typeParameters",i(n("TypeParameterDeclaration"),null)),n("FunctionTypeParam").bases("Node").build("name","typeAnnotation","optional").field("name",i(n("Identifier"),null)).field("typeAnnotation",n("FlowType")).field("optional",Boolean),n("ArrayTypeAnnotation").bases("FlowType").build("elementType").field("elementType",n("FlowType")),n("ObjectTypeAnnotation").bases("FlowType").build("properties","indexers","callProperties").field("properties",[i(n("ObjectTypeProperty"),n("ObjectTypeSpreadProperty"))]).field("indexers",[n("ObjectTypeIndexer")],a.emptyArray).field("callProperties",[n("ObjectTypeCallProperty")],a.emptyArray).field("inexact",i(Boolean,void 0),a.undefined).field("exact",Boolean,a.false).field("internalSlots",[n("ObjectTypeInternalSlot")],a.emptyArray),n("Variance").bases("Node").build("kind").field("kind",i("plus","minus"));let l=i(n("Variance"),"plus","minus",null);n("ObjectTypeProperty").bases("Node").build("key","value","optional").field("key",i(n("Literal"),n("Identifier"))).field("value",n("FlowType")).field("optional",Boolean).field("variance",l,a.null),n("ObjectTypeIndexer").bases("Node").build("id","key","value").field("id",n("Identifier")).field("key",n("FlowType")).field("value",n("FlowType")).field("variance",l,a.null).field("static",Boolean,a.false),n("ObjectTypeCallProperty").bases("Node").build("value").field("value",n("FunctionTypeAnnotation")).field("static",Boolean,a.false),n("QualifiedTypeIdentifier").bases("Node").build("qualification","id").field("qualification",i(n("Identifier"),n("QualifiedTypeIdentifier"))).field("id",n("Identifier")),n("GenericTypeAnnotation").bases("FlowType").build("id","typeParameters").field("id",i(n("Identifier"),n("QualifiedTypeIdentifier"))).field("typeParameters",i(n("TypeParameterInstantiation"),null)),n("MemberTypeAnnotation").bases("FlowType").build("object","property").field("object",n("Identifier")).field("property",i(n("MemberTypeAnnotation"),n("GenericTypeAnnotation"))),n("IndexedAccessType").bases("FlowType").build("objectType","indexType").field("objectType",n("FlowType")).field("indexType",n("FlowType")),n("OptionalIndexedAccessType").bases("FlowType").build("objectType","indexType","optional").field("objectType",n("FlowType")).field("indexType",n("FlowType")).field("optional",Boolean),n("UnionTypeAnnotation").bases("FlowType").build("types").field("types",[n("FlowType")]),n("IntersectionTypeAnnotation").bases("FlowType").build("types").field("types",[n("FlowType")]),n("TypeofTypeAnnotation").bases("FlowType").build("argument").field("argument",n("FlowType")),n("ObjectTypeSpreadProperty").bases("Node").build("argument").field("argument",n("FlowType")),n("ObjectTypeInternalSlot").bases("Node").build("id","value","optional","static","method").field("id",n("Identifier")).field("value",n("FlowType")).field("optional",Boolean).field("static",Boolean).field("method",Boolean),n("TypeParameterDeclaration").bases("Node").build("params").field("params",[n("TypeParameter")]),n("TypeParameterInstantiation").bases("Node").build("params").field("params",[n("FlowType")]),n("TypeParameter").bases("FlowType").build("name","variance","bound","default").field("name",String).field("variance",l,a.null).field("bound",i(n("TypeAnnotation"),null),a.null).field("default",i(n("FlowType"),null),a.null),n("ClassProperty").field("variance",l,a.null),n("ClassImplements").bases("Node").build("id").field("id",n("Identifier")).field("superClass",i(n("Expression"),null),a.null).field("typeParameters",i(n("TypeParameterInstantiation"),null),a.null),n("InterfaceTypeAnnotation").bases("FlowType").build("body","extends").field("body",n("ObjectTypeAnnotation")).field("extends",i([n("InterfaceExtends")],null),a.null),n("InterfaceDeclaration").bases("Declaration").build("id","body","extends").field("id",n("Identifier")).field("typeParameters",i(n("TypeParameterDeclaration"),null),a.null).field("body",n("ObjectTypeAnnotation")).field("extends",[n("InterfaceExtends")]),n("DeclareInterface").bases("InterfaceDeclaration").build("id","body","extends"),n("InterfaceExtends").bases("Node").build("id").field("id",n("Identifier")).field("typeParameters",i(n("TypeParameterInstantiation"),null),a.null),n("TypeAlias").bases("Declaration").build("id","typeParameters","right").field("id",n("Identifier")).field("typeParameters",i(n("TypeParameterDeclaration"),null)).field("right",n("FlowType")),n("DeclareTypeAlias").bases("TypeAlias").build("id","typeParameters","right"),n("OpaqueType").bases("Declaration").build("id","typeParameters","impltype","supertype").field("id",n("Identifier")).field("typeParameters",i(n("TypeParameterDeclaration"),null)).field("impltype",n("FlowType")).field("supertype",i(n("FlowType"),null)),n("DeclareOpaqueType").bases("OpaqueType").build("id","typeParameters","supertype").field("impltype",i(n("FlowType"),null)),n("TypeCastExpression").bases("Expression").build("expression","typeAnnotation").field("expression",n("Expression")).field("typeAnnotation",n("TypeAnnotation")),n("TupleTypeAnnotation").bases("FlowType").build("types").field("types",[n("FlowType")]),n("DeclareVariable").bases("Statement").build("id").field("id",n("Identifier")),n("DeclareFunction").bases("Statement").build("id").field("id",n("Identifier")).field("predicate",i(n("FlowPredicate"),null),a.null),n("DeclareClass").bases("InterfaceDeclaration").build("id"),n("DeclareModule").bases("Statement").build("id","body").field("id",i(n("Identifier"),n("Literal"))).field("body",n("BlockStatement")),n("DeclareModuleExports").bases("Statement").build("typeAnnotation").field("typeAnnotation",n("TypeAnnotation")),n("DeclareExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",i(n("DeclareVariable"),n("DeclareFunction"),n("DeclareClass"),n("FlowType"),n("TypeAlias"),n("DeclareOpaqueType"),n("InterfaceDeclaration"),null)).field("specifiers",[i(n("ExportSpecifier"),n("ExportBatchSpecifier"))],a.emptyArray).field("source",i(n("Literal"),null),a.null),n("DeclareExportAllDeclaration").bases("Declaration").build("source").field("source",i(n("Literal"),null),a.null),n("ImportDeclaration").field("importKind",i("value","type","typeof"),()=>"value"),n("FlowPredicate").bases("Flow"),n("InferredPredicate").bases("FlowPredicate").build(),n("DeclaredPredicate").bases("FlowPredicate").build("value").field("value",n("Expression")),n("Function").field("predicate",i(n("FlowPredicate"),null),a.null),n("CallExpression").field("typeArguments",i(null,n("TypeParameterInstantiation")),a.null),n("NewExpression").field("typeArguments",i(null,n("TypeParameterInstantiation")),a.null),n("EnumDeclaration").bases("Declaration").build("id","body").field("id",n("Identifier")).field("body",i(n("EnumBooleanBody"),n("EnumNumberBody"),n("EnumStringBody"),n("EnumSymbolBody"))),n("EnumBooleanBody").build("members","explicitType").field("members",[n("EnumBooleanMember")]).field("explicitType",Boolean),n("EnumNumberBody").build("members","explicitType").field("members",[n("EnumNumberMember")]).field("explicitType",Boolean),n("EnumStringBody").build("members","explicitType").field("members",i([n("EnumStringMember")],[n("EnumDefaultedMember")])).field("explicitType",Boolean),n("EnumSymbolBody").build("members").field("members",[n("EnumDefaultedMember")]),n("EnumBooleanMember").build("id","init").field("id",n("Identifier")).field("init",i(n("Literal"),Boolean)),n("EnumNumberMember").build("id","init").field("id",n("Identifier")).field("init",n("Literal")),n("EnumStringMember").build("id","init").field("id",n("Identifier")).field("init",n("Literal")),n("EnumDefaultedMember").build("id").field("id",n("Identifier"))}Vh(()=>module);function jfs(t){t.use(h0e);var e=t.use(h1),n=t.use(dP).defaults,i=e.Type.def,a=e.Type.or;i("VariableDeclaration").field("declarations",[a(i("VariableDeclarator"),i("Identifier"))]),i("Property").field("value",a(i("Expression"),i("Pattern"))),i("ArrayPattern").field("elements",[a(i("Pattern"),i("SpreadElement"),null)]),i("ObjectPattern").field("properties",[a(i("Property"),i("PropertyPattern"),i("SpreadPropertyPattern"),i("SpreadProperty"))]),i("ExportSpecifier").bases("ModuleSpecifier").build("id","name"),i("ExportBatchSpecifier").bases("Specifier").build(),i("ExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",a(i("Declaration"),i("Expression"),null)).field("specifiers",[a(i("ExportSpecifier"),i("ExportBatchSpecifier"))],n.emptyArray).field("source",a(i("Literal"),null),n.null),i("Block").bases("Comment").build("value","leading","trailing"),i("Line").bases("Comment").build("value","leading","trailing")}Vh(()=>module);function $Jr(t){t.use(h0e);let e=t.use(h1),n=t.use(dP).defaults,i=e.Type.def,a=e.Type.or,{undefined:l}=e.builtInTypes;i("Noop").bases("Statement").build(),i("DoExpression").bases("Expression").build("body").field("body",[i("Statement")]),i("BindExpression").bases("Expression").build("object","callee").field("object",a(i("Expression"),null)).field("callee",i("Expression")),i("ParenthesizedExpression").bases("Expression").build("expression").field("expression",i("Expression")),i("ExportNamespaceSpecifier").bases("Specifier").build("exported").field("exported",i("Identifier")),i("ExportDefaultSpecifier").bases("Specifier").build("exported").field("exported",i("Identifier")),i("CommentBlock").bases("Comment").build("value","leading","trailing"),i("CommentLine").bases("Comment").build("value","leading","trailing"),i("Directive").bases("Node").build("value").field("value",i("DirectiveLiteral")),i("DirectiveLiteral").bases("Node","Expression").build("value").field("value",String,n["use strict"]),i("InterpreterDirective").bases("Node").build("value").field("value",String),i("BlockStatement").bases("Statement").build("body").field("body",[i("Statement")]).field("directives",[i("Directive")],n.emptyArray),i("Program").bases("Node").build("body").field("body",[i("Statement")]).field("directives",[i("Directive")],n.emptyArray).field("interpreter",a(i("InterpreterDirective"),null),n.null);function p(y=String,T){return["extra",{rawValue:y,raw:String},function(){let x=e.getFieldValue(this,"value");return{rawValue:x,raw:T?T(x):String(x)}}]}i("StringLiteral").bases("Literal").build("value").field("value",String).field(...p(String,y=>JSON.stringify(y))),i("NumericLiteral").bases("Literal").build("value").field("value",Number).field("raw",a(String,null),n.null).field(...p(Number)),i("BigIntLiteral").bases("Literal").build("value").field("value",a(String,Number)).field(...p(String,y=>y+"n")),i("DecimalLiteral").bases("Literal").build("value").field("value",String).field(...p(String,y=>y+"m")),i("NullLiteral").bases("Literal").build().field("value",null,n.null),i("BooleanLiteral").bases("Literal").build("value").field("value",Boolean),i("RegExpLiteral").bases("Literal").build("pattern","flags").field("pattern",String).field("flags",String).field("value",RegExp,function(){return new RegExp(this.pattern,this.flags)}).field(...p(a(RegExp,l),y=>`/${y.pattern}/${y.flags||""}`)).field("regex",{pattern:String,flags:String},function(){return{pattern:this.pattern,flags:this.flags}});var f=a(i("Property"),i("ObjectMethod"),i("ObjectProperty"),i("SpreadProperty"),i("SpreadElement"));i("ObjectExpression").bases("Expression").build("properties").field("properties",[f]),i("ObjectMethod").bases("Node","Function").build("kind","key","params","body","computed").field("kind",a("method","get","set")).field("key",a(i("Literal"),i("Identifier"),i("Expression"))).field("params",[i("Pattern")]).field("body",i("BlockStatement")).field("computed",Boolean,n.false).field("generator",Boolean,n.false).field("async",Boolean,n.false).field("accessibility",a(i("Literal"),null),n.null).field("decorators",a([i("Decorator")],null),n.null),i("ObjectProperty").bases("Node").build("key","value").field("key",a(i("Literal"),i("Identifier"),i("Expression"))).field("value",a(i("Expression"),i("Pattern"))).field("accessibility",a(i("Literal"),null),n.null).field("computed",Boolean,n.false);var _=a(i("MethodDefinition"),i("VariableDeclarator"),i("ClassPropertyDefinition"),i("ClassProperty"),i("ClassPrivateProperty"),i("ClassMethod"),i("ClassPrivateMethod"),i("ClassAccessorProperty"),i("StaticBlock"));i("ClassBody").bases("Declaration").build("body").field("body",[_]),i("ClassMethod").bases("Declaration","Function").build("kind","key","params","body","computed","static").field("key",a(i("Literal"),i("Identifier"),i("Expression"))),i("ClassPrivateMethod").bases("Declaration","Function").build("key","params","body","kind","computed","static").field("key",i("PrivateName")),i("ClassAccessorProperty").bases("Declaration").build("key","value","decorators","computed","static").field("key",a(i("Literal"),i("Identifier"),i("PrivateName"),i("Expression"))).field("value",a(i("Expression"),null),n.null),["ClassMethod","ClassPrivateMethod"].forEach(y=>{i(y).field("kind",a("get","set","method","constructor"),()=>"method").field("body",i("BlockStatement")).field("access",a("public","private","protected",null),n.null)}),["ClassMethod","ClassPrivateMethod","ClassAccessorProperty"].forEach(y=>{i(y).field("computed",Boolean,n.false).field("static",Boolean,n.false).field("abstract",Boolean,n.false).field("accessibility",a("public","private","protected",null),n.null).field("decorators",a([i("Decorator")],null),n.null).field("definite",Boolean,n.false).field("optional",Boolean,n.false).field("override",Boolean,n.false).field("readonly",Boolean,n.false)});var g=a(i("Property"),i("PropertyPattern"),i("SpreadPropertyPattern"),i("SpreadProperty"),i("ObjectProperty"),i("RestProperty"),i("RestElement"));i("ObjectPattern").bases("Pattern").build("properties").field("properties",[g]).field("decorators",a([i("Decorator")],null),n.null),i("SpreadProperty").bases("Node").build("argument").field("argument",i("Expression")),i("RestProperty").bases("Node").build("argument").field("argument",i("Expression")),i("ForAwaitStatement").bases("Statement").build("left","right","body").field("left",a(i("VariableDeclaration"),i("Expression"))).field("right",i("Expression")).field("body",i("Statement")),i("Import").bases("Expression").build()}Vh(()=>module);function Bfs(t){let n=t.use(h1).Type.def;t.use($Jr),t.use(JJr),n("V8IntrinsicIdentifier").bases("Expression").build("name").field("name",String),n("TopicReference").bases("Expression").build()}Vh(()=>module);function Ufs(t){t.use($Jr),t.use(WJr);var e=t.use(h1),n=e.namedTypes,i=e.Type.def,a=e.Type.or,l=t.use(dP).defaults,p=e.Type.from(function(y,T){return!!(n.StringLiteral&&n.StringLiteral.check(y,T)||n.Literal&&n.Literal.check(y,T)&&typeof y.value=="string")},"StringLiteral");i("TSType").bases("Node");var f=a(i("Identifier"),i("TSQualifiedName"));i("TSTypeReference").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("typeName","typeParameters").field("typeName",f),i("TSHasOptionalTypeParameterInstantiation").field("typeParameters",a(i("TSTypeParameterInstantiation"),null),l.null),i("TSHasOptionalTypeParameters").field("typeParameters",a(i("TSTypeParameterDeclaration"),null,void 0),l.null),i("TSHasOptionalTypeAnnotation").field("typeAnnotation",a(i("TSTypeAnnotation"),null),l.null),i("TSQualifiedName").bases("Node").build("left","right").field("left",f).field("right",f),i("TSAsExpression").bases("Expression","Pattern").build("expression","typeAnnotation").field("expression",i("Expression")).field("typeAnnotation",i("TSType")).field("extra",a({parenthesized:Boolean},null),l.null),i("TSTypeCastExpression").bases("Expression").build("expression","typeAnnotation").field("expression",i("Expression")).field("typeAnnotation",i("TSType")),i("TSSatisfiesExpression").bases("Expression","Pattern").build("expression","typeAnnotation").field("expression",i("Expression")).field("typeAnnotation",i("TSType")),i("TSNonNullExpression").bases("Expression","Pattern").build("expression").field("expression",i("Expression")),["TSAnyKeyword","TSBigIntKeyword","TSBooleanKeyword","TSNeverKeyword","TSNullKeyword","TSNumberKeyword","TSObjectKeyword","TSStringKeyword","TSSymbolKeyword","TSUndefinedKeyword","TSUnknownKeyword","TSVoidKeyword","TSIntrinsicKeyword","TSThisType"].forEach(y=>{i(y).bases("TSType").build()}),i("TSArrayType").bases("TSType").build("elementType").field("elementType",i("TSType")),i("TSLiteralType").bases("TSType").build("literal").field("literal",a(i("NumericLiteral"),i("StringLiteral"),i("BooleanLiteral"),i("TemplateLiteral"),i("UnaryExpression"),i("BigIntLiteral"))),i("TemplateLiteral").field("expressions",a([i("Expression")],[i("TSType")])),["TSUnionType","TSIntersectionType"].forEach(y=>{i(y).bases("TSType").build("types").field("types",[i("TSType")])}),i("TSConditionalType").bases("TSType").build("checkType","extendsType","trueType","falseType").field("checkType",i("TSType")).field("extendsType",i("TSType")).field("trueType",i("TSType")).field("falseType",i("TSType")),i("TSInferType").bases("TSType").build("typeParameter").field("typeParameter",i("TSTypeParameter")),i("TSParenthesizedType").bases("TSType").build("typeAnnotation").field("typeAnnotation",i("TSType"));var _=[a(i("Identifier"),i("RestElement"),i("ArrayPattern"),i("ObjectPattern"))];["TSFunctionType","TSConstructorType"].forEach(y=>{i(y).bases("TSType","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("parameters").field("parameters",_)}),i("TSDeclareFunction").bases("Declaration","TSHasOptionalTypeParameters").build("id","params","returnType").field("declare",Boolean,l.false).field("async",Boolean,l.false).field("generator",Boolean,l.false).field("id",a(i("Identifier"),null),l.null).field("params",[i("Pattern")]).field("returnType",a(i("TSTypeAnnotation"),i("Noop"),null),l.null),i("TSDeclareMethod").bases("Declaration","TSHasOptionalTypeParameters").build("key","params","returnType").field("async",Boolean,l.false).field("generator",Boolean,l.false).field("params",[i("Pattern")]).field("abstract",Boolean,l.false).field("accessibility",a("public","private","protected",void 0),l.undefined).field("static",Boolean,l.false).field("computed",Boolean,l.false).field("optional",Boolean,l.false).field("key",a(i("Identifier"),i("StringLiteral"),i("NumericLiteral"),i("Expression"))).field("kind",a("get","set","method","constructor"),function(){return"method"}).field("access",a("public","private","protected",void 0),l.undefined).field("decorators",a([i("Decorator")],null),l.null).field("returnType",a(i("TSTypeAnnotation"),i("Noop"),null),l.null),i("TSMappedType").bases("TSType").build("typeParameter","typeAnnotation").field("readonly",a(Boolean,"+","-"),l.false).field("typeParameter",i("TSTypeParameter")).field("optional",a(Boolean,"+","-"),l.false).field("typeAnnotation",a(i("TSType"),null),l.null),i("TSTupleType").bases("TSType").build("elementTypes").field("elementTypes",[a(i("TSType"),i("TSNamedTupleMember"))]),i("TSNamedTupleMember").bases("TSType").build("label","elementType","optional").field("label",i("Identifier")).field("optional",Boolean,l.false).field("elementType",i("TSType")),i("TSRestType").bases("TSType").build("typeAnnotation").field("typeAnnotation",i("TSType")),i("TSOptionalType").bases("TSType").build("typeAnnotation").field("typeAnnotation",i("TSType")),i("TSIndexedAccessType").bases("TSType").build("objectType","indexType").field("objectType",i("TSType")).field("indexType",i("TSType")),i("TSTypeOperator").bases("TSType").build("operator").field("operator",String).field("typeAnnotation",i("TSType")),i("TSTypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",a(i("TSType"),i("TSTypeAnnotation"))),i("TSIndexSignature").bases("Declaration","TSHasOptionalTypeAnnotation").build("parameters","typeAnnotation").field("parameters",[i("Identifier")]).field("readonly",Boolean,l.false),i("TSPropertySignature").bases("Declaration","TSHasOptionalTypeAnnotation").build("key","typeAnnotation","optional").field("key",i("Expression")).field("computed",Boolean,l.false).field("readonly",Boolean,l.false).field("optional",Boolean,l.false).field("initializer",a(i("Expression"),null),l.null),i("TSMethodSignature").bases("Declaration","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("key","parameters","typeAnnotation").field("key",i("Expression")).field("computed",Boolean,l.false).field("optional",Boolean,l.false).field("parameters",_),i("TSTypePredicate").bases("TSTypeAnnotation","TSType").build("parameterName","typeAnnotation","asserts").field("parameterName",a(i("Identifier"),i("TSThisType"))).field("typeAnnotation",a(i("TSTypeAnnotation"),null),l.null).field("asserts",Boolean,l.false),["TSCallSignatureDeclaration","TSConstructSignatureDeclaration"].forEach(y=>{i(y).bases("Declaration","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("parameters","typeAnnotation").field("parameters",_)}),i("TSEnumMember").bases("Node").build("id","initializer").field("id",a(i("Identifier"),p)).field("initializer",a(i("Expression"),null),l.null),i("TSTypeQuery").bases("TSType").build("exprName").field("exprName",a(f,i("TSImportType")));var g=a(i("TSCallSignatureDeclaration"),i("TSConstructSignatureDeclaration"),i("TSIndexSignature"),i("TSMethodSignature"),i("TSPropertySignature"));i("TSTypeLiteral").bases("TSType").build("members").field("members",[g]),i("TSTypeParameter").bases("Identifier").build("name","constraint","default").field("name",a(i("Identifier"),String)).field("constraint",a(i("TSType"),void 0),l.undefined).field("default",a(i("TSType"),void 0),l.undefined),i("TSTypeAssertion").bases("Expression","Pattern").build("typeAnnotation","expression").field("typeAnnotation",i("TSType")).field("expression",i("Expression")).field("extra",a({parenthesized:Boolean},null),l.null),i("TSTypeParameterDeclaration").bases("Declaration").build("params").field("params",[i("TSTypeParameter")]),i("TSInstantiationExpression").bases("Expression","TSHasOptionalTypeParameterInstantiation").build("expression","typeParameters").field("expression",i("Expression")),i("TSTypeParameterInstantiation").bases("Node").build("params").field("params",[i("TSType")]),i("TSEnumDeclaration").bases("Declaration").build("id","members").field("id",i("Identifier")).field("const",Boolean,l.false).field("declare",Boolean,l.false).field("members",[i("TSEnumMember")]).field("initializer",a(i("Expression"),null),l.null),i("TSTypeAliasDeclaration").bases("Declaration","TSHasOptionalTypeParameters").build("id","typeAnnotation").field("id",i("Identifier")).field("declare",Boolean,l.false).field("typeAnnotation",i("TSType")),i("TSModuleBlock").bases("Node").build("body").field("body",[i("Statement")]),i("TSModuleDeclaration").bases("Declaration").build("id","body").field("id",a(p,f)).field("declare",Boolean,l.false).field("global",Boolean,l.false).field("body",a(i("TSModuleBlock"),i("TSModuleDeclaration"),null),l.null),i("TSImportType").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("argument","qualifier","typeParameters").field("argument",p).field("qualifier",a(f,void 0),l.undefined),i("TSImportEqualsDeclaration").bases("Declaration").build("id","moduleReference").field("id",i("Identifier")).field("isExport",Boolean,l.false).field("moduleReference",a(f,i("TSExternalModuleReference"))),i("TSExternalModuleReference").bases("Declaration").build("expression").field("expression",p),i("TSExportAssignment").bases("Statement").build("expression").field("expression",i("Expression")),i("TSNamespaceExportDeclaration").bases("Declaration").build("id").field("id",i("Identifier")),i("TSInterfaceBody").bases("Node").build("body").field("body",[g]),i("TSExpressionWithTypeArguments").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("expression","typeParameters").field("expression",f),i("TSInterfaceDeclaration").bases("Declaration","TSHasOptionalTypeParameters").build("id","body").field("id",f).field("declare",Boolean,l.false).field("extends",a([i("TSExpressionWithTypeArguments")],null),l.null).field("body",i("TSInterfaceBody")),i("TSParameterProperty").bases("Pattern").build("parameter").field("accessibility",a("public","private","protected",void 0),l.undefined).field("readonly",Boolean,l.false).field("parameter",a(i("Identifier"),i("AssignmentPattern"))),i("ClassProperty").field("access",a("public","private","protected",void 0),l.undefined),i("ClassAccessorProperty").bases("Declaration","TSHasOptionalTypeAnnotation"),i("ClassBody").field("body",[a(i("MethodDefinition"),i("VariableDeclarator"),i("ClassPropertyDefinition"),i("ClassProperty"),i("ClassPrivateProperty"),i("ClassAccessorProperty"),i("ClassMethod"),i("ClassPrivateMethod"),i("StaticBlock"),i("TSDeclareMethod"),g)])}Vh(()=>module);var G3;G3||(G3={});var{astNodesAreEquivalent:hqs,builders:Ise,builtInTypes:K3,defineMethod:gqs,eachField:yqs,finalize:bqs,getBuilderName:Tqs,getFieldNames:qfs,getFieldValue:i9,getSupertypeNames:vqs,namedTypes:Vfs,NodePath:zfs,Path:Sqs,PathVisitor:xqs,someField:Yfs,Type:Eqs,use:Cqs,visit:Aqs}=Cfs([h0e,Rfs,JJr,jfs,Bfs,Ufs]);Object.assign(G3,Vfs);var d5e=G3,EJr=w5e.default.SourceMapConsumer,Wfs=w5e.default.SourceMapGenerator,GJr=Object.prototype.hasOwnProperty;function Jfs(){return`
1014
1014
  `}function CJr(t,e,n){return t&&GJr.call(t,e)?t[e]:n}function $fs(...t){let e={},n=t.length;for(let i=0;i<n;++i){let a=Object.keys(t[i]),l=a.length;for(let p=0;p<l;++p)e[a[p]]=!0}return e}function xm(t,e){return t.line-e.line||t.column-e.column}function VV(t){return{line:t.line,column:t.column}}function Gfs(t,e){if(t){if(!e)return t}else return e||null;let n=new EJr(t),i=new EJr(e),a=new Wfs({file:e.file,sourceRoot:e.sourceRoot}),l={};return i.eachMapping(function(p){let f=n.originalPositionFor({line:p.originalLine,column:p.originalColumn}),_=f.source;if(_===null)return;a.addMapping({source:_,original:VV(f),generated:{line:p.generatedLine,column:p.generatedColumn},name:p.name});let g=n.sourceContentFor(_);g&&!GJr.call(l,_)&&(l[_]=g,a.setSourceContent(_,g))}),a.toJSON()}function KJr(t,e){if(!t.loc)return null;let n={start:t.loc.start,end:t.loc.end};function i(a){tSt(n,a.loc)}return t.declaration&&t.declaration.decorators&&P5e(t)&&t.declaration.decorators.forEach(i),xm(n.start,n.end)<0&&(n.start=VV(n.start),e.skipSpaces(n.start,!1,!0),xm(n.start,n.end)<0&&(n.end=VV(n.end),e.skipSpaces(n.end,!0,!0))),t.comments&&t.comments.forEach(i),n}function tSt(t,e){t&&e&&(xm(e.start,t.start)<0&&(t.start=e.start),xm(t.end,e.end)<0&&(t.end=e.end))}function pSt(t,e){let n=t.loc;if(n&&(n.start.line<1&&(n.start.line=1),n.end.line<1&&(n.end.line=1)),t.type==="File"&&(n.start=e.firstPos(),n.end=e.lastPos()),Kfs(t,e),Hfs(t,e),n&&t.decorators)t.decorators.forEach(function(i){tSt(n,i.loc)});else if(t.declaration&&P5e(t)){t.declaration.loc=null;let i=t.declaration.decorators;i&&i.forEach(function(a){tSt(n,a.loc)})}else if(d5e.MethodDefinition&&d5e.MethodDefinition.check(t)||d5e.Property.check(t)&&(t.method||t.shorthand))t.value.loc=null,d5e.FunctionExpression.check(t.value)&&(t.value.id=null);else if(t.type==="ObjectTypeProperty"){let i=t.loc,a=i&&i.end;a&&(a=VV(a),e.prevPos(a)&&e.charAt(a)===","&&(a=e.skipSpaces(a,!0,!0))&&(i.end=a))}}function Kfs(t,e){if(t.type!=="ForStatement")return;function n(i){let a=i&&i.loc,l=a&&a.start,p=a&&VV(a.end);for(;l&&p&&xm(l,p)<0&&(e.prevPos(p),e.charAt(p)===";");)a.end.line=p.line,a.end.column=p.column}n(t.init),n(t.test),n(t.update)}function Hfs(t,e){if(t.type==="TemplateLiteral"&&t.quasis.length!==0){if(t.loc){let n=VV(t.loc.start),i=t.quasis[0];xm(i.loc.start,n)<0&&(i.loc.start=n);let a=VV(t.loc.end),l=t.quasis[t.quasis.length-1];xm(a,l.loc.end)<0&&(l.loc.end=a)}t.expressions.forEach(function(n,i){let a=e.skipSpaces(n.loc.start,!0,!1);if(e.prevPos(a)&&e.charAt(a)==="{"&&e.prevPos(a)&&e.charAt(a)==="$"){let p=t.quasis[i];xm(a,p.loc.end)<0&&(p.loc.end=a)}let l=e.skipSpaces(n.loc.end,!1,!1);if(e.charAt(l)==="}"){let p=t.quasis[i+1];xm(p.loc.start,l)<0&&(p.loc.start=l)}})}}function P5e(t){if(t)switch(t.type){case"ExportDeclaration":case"ExportDefaultDeclaration":case"ExportDefaultSpecifier":case"DeclareExportDeclaration":case"ExportNamedDeclaration":case"ExportAllDeclaration":return!0}return!1}function HJr(t){let e=t.getParentNode();return t.getName()==="declaration"&&P5e(e)?e:null}function p0e(t,e){let n=t.trailingComma;return typeof n=="object"?!!n[e]:!!n}var rSt={tabWidth:4,useTabs:!1,reuseWhitespace:!0,lineTerminator:Jfs(),wrapColumn:74,sourceFileName:null,sourceMapName:null,sourceRoot:null,inputSourceMap:null,range:!1,tolerant:!0,quote:null,trailingComma:!1,arrayBracketSpacing:!1,objectCurlySpacing:!0,arrowParensAlways:!1,flowObjectCommas:!0,tokens:!0},Xfs=rSt.hasOwnProperty;function k5e(t){let e=t||rSt;function n(i){return Xfs.call(e,i)?e[i]:rSt[i]}return{tabWidth:+n("tabWidth"),useTabs:!!n("useTabs"),reuseWhitespace:!!n("reuseWhitespace"),lineTerminator:n("lineTerminator"),wrapColumn:Math.max(n("wrapColumn"),0),sourceFileName:n("sourceFileName"),sourceMapName:n("sourceMapName"),sourceRoot:n("sourceRoot"),inputSourceMap:n("inputSourceMap"),parser:n("esprima")||n("parser"),range:n("range"),tolerant:n("tolerant"),quote:n("quote"),trailingComma:n("trailingComma"),arrayBracketSpacing:n("arrayBracketSpacing"),objectCurlySpacing:n("objectCurlySpacing"),arrowParensAlways:n("arrowParensAlways"),flowObjectCommas:n("flowObjectCommas"),tokens:!!n("tokens")}}var nSt=class t{constructor(e,n,i=n){this.sourceLines=e,this.sourceLoc=n,this.targetLoc=i}slice(e,n,i=e.lastPos()){let a=this.sourceLines,l=this.sourceLoc,p=this.targetLoc;function f(_){let g=l[_],y=p[_],T=n;return _==="end"&&(T=i),Qfs(a,g,e,y,T)}if(xm(n,p.start)<=0)if(xm(p.end,i)<=0)p={start:qV(p.start,n.line,n.column),end:qV(p.end,n.line,n.column)};else{if(xm(i,p.start)<=0)return null;l={start:l.start,end:f("end")},p={start:qV(p.start,n.line,n.column),end:qV(i,n.line,n.column)}}else{if(xm(p.end,n)<=0)return null;xm(p.end,i)<=0?(l={start:f("start"),end:l.end},p={start:{line:1,column:0},end:qV(p.end,n.line,n.column)}):(l={start:f("start"),end:f("end")},p={start:{line:1,column:0},end:qV(i,n.line,n.column)})}return new t(this.sourceLines,l,p)}add(e,n){return new t(this.sourceLines,this.sourceLoc,{start:AJr(this.targetLoc.start,e,n),end:AJr(this.targetLoc.end,e,n)})}subtract(e,n){return new t(this.sourceLines,this.sourceLoc,{start:qV(this.targetLoc.start,e,n),end:qV(this.targetLoc.end,e,n)})}indent(e,n=!1,i=!1){if(e===0)return this;let a=this.targetLoc,l=a.start.line,p=a.end.line;if(n&&l===1&&p===1)return this;if(a={start:a.start,end:a.end},!n||l>1){let f=a.start.column+e;a.start={line:l,column:i?Math.max(0,f):f}}if(!n||p>1){let f=a.end.column+e;a.end={line:p,column:i?Math.max(0,f):f}}return new t(this.sourceLines,this.sourceLoc,a)}};function AJr(t,e,n){return{line:t.line+e-1,column:t.line===1?t.column+n:t.column}}function qV(t,e,n){return{line:t.line-e+1,column:t.line===e?t.column-n:t.column}}function Qfs(t,e,n,i,a){let l=xm(i,a);if(l===0)return e;let p,f;if(l<0){p=t.skipSpaces(e)||t.lastPos(),f=n.skipSpaces(i)||n.lastPos();let _=a.line-f.line;for(p.line+=_,f.line+=_,_>0&&(p.column=0,f.column=0);xm(f,a)<0&&n.nextPos(f,!0););}else{p=t.skipSpaces(e,!0)||t.firstPos(),f=n.skipSpaces(i,!0)||n.firstPos();let _=a.line-f.line;for(p.line+=_,f.line+=_,_<0&&(p.column=t.getLineLength(p.line),f.column=n.getLineLength(f.line));xm(a,f)<0&&n.prevPos(f,!0););}return p}var Zfs=Object.defineProperty,e_s=(t,e,n)=>e in t?Zfs(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,i0e=(t,e,n)=>(e_s(t,typeof e!="symbol"?e+"":e,n),n),kse=class t{constructor(e,n=null){this.infos=e,i0e(this,"length"),i0e(this,"name"),i0e(this,"mappings",[]),i0e(this,"cachedSourceMap",null),i0e(this,"cachedTabWidth"),this.length=e.length,this.name=n||null,this.name&&this.mappings.push(new nSt(this,{start:this.firstPos(),end:this.lastPos()}))}toString(e){return this.sliceString(this.firstPos(),this.lastPos(),e)}getSourceMap(e,n){if(!e)return null;let i=this;function a(f){return f=f||{},f.file=e,n&&(f.sourceRoot=n),f}if(i.cachedSourceMap)return a(i.cachedSourceMap.toJSON());let l=new w5e.default.SourceMapGenerator(a()),p={};return i.mappings.forEach(function(f){let _=f.sourceLines.skipSpaces(f.sourceLoc.start)||f.sourceLines.lastPos(),g=i.skipSpaces(f.targetLoc.start)||i.lastPos();for(;xm(_,f.sourceLoc.end)<0&&xm(g,f.targetLoc.end)<0;){f.sourceLines.charAt(_),i.charAt(g);let y=f.sourceLines.name;if(l.addMapping({source:y,original:{line:_.line,column:_.column},generated:{line:g.line,column:g.column}}),!iSt.call(p,y)){let T=f.sourceLines.toString();l.setSourceContent(y,T),p[y]=T}i.nextPos(g,!0),f.sourceLines.nextPos(_,!0)}}),i.cachedSourceMap=l,l.toJSON()}bootstrapCharAt(e){let n=e.line,i=e.column,a=this.toString().split(sSt),l=a[n-1];return typeof l>"u"?"":i===l.length&&n<a.length?`
1015
1015
  `:i>=l.length?"":l.charAt(i)}charAt(e){let n=e.line,i=e.column,a=this,l=a.infos,p=l[n-1],f=i;if(typeof p>"u"||f<0)return"";let _=this.getIndentAt(n);return f<_?" ":(f+=p.sliceStart-_,f===p.sliceEnd&&n<this.length?`
1016
1016
  `:f>=p.sliceEnd?"":p.line.charAt(f))}stripMargin(e,n){if(e===0)return this;if(n&&this.length===1)return this;let i=new t(this.infos.map(function(a,l){return a.line&&(l>0||!n)&&(a={...a,indent:Math.max(0,a.indent-e)}),a}));if(this.mappings.length>0){let a=i.mappings;this.mappings.forEach(function(l){a.push(l.indent(e,n,!0))})}return i}indent(e){if(e===0)return this;let n=new t(this.infos.map(function(i){return i.line&&!i.locked&&(i={...i,indent:i.indent+e}),i}));if(this.mappings.length>0){let i=n.mappings;this.mappings.forEach(function(a){i.push(a.indent(e))})}return n}indentTail(e){if(e===0)return this;if(this.length<2)return this;let n=new t(this.infos.map(function(i,a){return a>0&&i.line&&!i.locked&&(i={...i,indent:i.indent+e}),i}));if(this.mappings.length>0){let i=n.mappings;this.mappings.forEach(function(a){i.push(a.indent(e,!0))})}return n}lockIndentTail(){return this.length<2?this:new t(this.infos.map((e,n)=>({...e,locked:n>0})))}getIndentAt(e){return Math.max(this.infos[e-1].indent,0)}guessTabWidth(){if(typeof this.cachedTabWidth=="number")return this.cachedTabWidth;let e=[],n=0;for(let l=1,p=this.length;l<=p;++l){let f=this.infos[l-1],_=f.line.slice(f.sliceStart,f.sliceEnd);if(Ase(_))continue;let g=Math.abs(f.indent-n);e[g]=~~e[g]+1,n=f.indent}let i=-1,a=2;for(let l=1;l<e.length;l+=1)iSt.call(e,l)&&e[l]>i&&(i=e[l],a=l);return this.cachedTabWidth=a}startsWithComment(){if(this.infos.length===0)return!1;let e=this.infos[0],n=e.sliceStart,i=e.sliceEnd,a=e.line.slice(n,i).trim();return a.length===0||a.slice(0,2)==="//"||a.slice(0,2)==="/*"}isOnlyWhitespace(){return Ase(this.toString())}isPrecededOnlyByWhitespace(e){let n=this.infos[e.line-1],i=Math.max(n.indent,0),a=e.column-i;if(a<=0)return!0;let l=n.sliceStart,p=Math.min(l+a,n.sliceEnd),f=n.line.slice(l,p);return Ase(f)}getLineLength(e){let n=this.infos[e-1];return this.getIndentAt(e)+n.sliceEnd-n.sliceStart}nextPos(e,n=!1){let i=Math.max(e.line,0);return Math.max(e.column,0)<this.getLineLength(i)?(e.column+=1,n?!!this.skipSpaces(e,!1,!0):!0):i<this.length?(e.line+=1,e.column=0,n?!!this.skipSpaces(e,!1,!0):!0):!1}prevPos(e,n=!1){let i=e.line,a=e.column;if(a<1){if(i-=1,i<1)return!1;a=this.getLineLength(i)}else a=Math.min(a-1,this.getLineLength(i));return e.line=i,e.column=a,n?!!this.skipSpaces(e,!0,!0):!0}firstPos(){return{line:1,column:0}}lastPos(){return{line:this.length,column:this.getLineLength(this.length)}}skipSpaces(e,n=!1,i=!1){if(e?e=i?e:{line:e.line,column:e.column}:n?e=this.lastPos():e=this.firstPos(),n){for(;this.prevPos(e);)if(!Ase(this.charAt(e))&&this.nextPos(e))return e;return null}else{for(;Ase(this.charAt(e));)if(!this.nextPos(e))return null;return e}}trimLeft(){let e=this.skipSpaces(this.firstPos(),!1,!0);return e?this.slice(e):OK}trimRight(){let e=this.skipSpaces(this.lastPos(),!0,!0);return e?this.slice(this.firstPos(),e):OK}trim(){let e=this.skipSpaces(this.firstPos(),!1,!0);if(e===null)return OK;let n=this.skipSpaces(this.lastPos(),!0,!0);return n===null?OK:this.slice(e,n)}eachPos(e,n=this.firstPos(),i=!1){let a=this.firstPos();if(n&&(a.line=n.line,a.column=n.column),!(i&&!this.skipSpaces(a,!1,!0)))do e.call(this,a);while(this.nextPos(a,i))}bootstrapSlice(e,n){let i=this.toString().split(sSt).slice(e.line-1,n.line);return i.length>0&&(i.push(i.pop().slice(0,n.column)),i[0]=i[0].slice(e.column)),Ya(i.join(`
@@ -1160,7 +1160,7 @@ ${t}
1160
1160
 
1161
1161
  `));let a=i?i.replace(/^(.+)/gm,"# $1")+`
1162
1162
  `:"",l=`${e}=${ybs(n)}
1163
- `;return t+a+l}function ybs(t){let e="";switch(typeof t){case"string":t&&(e=JSON.stringify(t));break;case"boolean":case"number":e=String(t);break;case"undefined":e="";break;case"object":t!==null&&(e=JSON.stringify(t));break}return e}var jbs=af(yQr(),1);import{randomBytes as ZHs}from"node:crypto";var YEt={name:"@batijs/core",version:"0.0.329",description:"",type:"module",types:"./dist/index.d.ts",scripts:{"check-types":"tsc --noEmit",vue:"tsx src/parse/linters/vue.ts",test:"vitest run","test:ci":"vitest run",build:"tsup"},keywords:[],author:"Jo\xEBl Charles <joel.charles91@gmail.com>",repository:"https://github.com/vikejs/bati",license:"MIT",devDependencies:{"@batijs/features":"workspace:*","@types/eslint":"^9.6.1","@types/estree":"^1.0.6","@types/node":"^18.19.74","@types/which":"^3.0.4","@typescript-eslint/parser":"^8.21.0","@typescript-eslint/utils":"^8.21.0","attributes-parser":"^2.2.3",colorette:"^2.0.20",esbuild:"^0.24.2",eslint:"^9.19.0","eslint-plugin-solid":"^0.14.5","eslint-rule-composer":"^0.3.0",espree:"^10.3.0",magicast:"^0.3.5","mdast-builder":"^1.1.1","mdast-util-from-markdown":"^2.0.2","mdast-util-to-markdown":"^2.1.2","mdast-util-to-string":"^4.0.0","mdast-util-toc":"^7.1.0",prettier:"^3.4.2",squirrelly:"^9.1.0",tsup:"^8.3.6",tsx:"^4.19.2",typescript:"^5.7.3","unplugin-purge-polyfills":"^0.0.7",vitest:"^3.0.4","vue-eslint-parser":"^9.4.3",which:"^5.0.0",yaml:"^2.7.0"},exports:{".":"./dist/index.js","./types":{types:"./global.d.ts"}},typesVersions:{"*":{types:["./global.d.ts"]}},files:["dist/"]};function Ubs(){if(process.env.npm_config_user_agent)return qbs(process.env.npm_config_user_agent)}function qbs(t){let e=t.split(" ")[0],n=e.lastIndexOf("/"),i=e.substring(0,n);return{name:i==="npminstall"?"cnpm":i,version:e.substring(n+1)}}function nXs(){switch(Ubs()?.name){case"pnpm":return"pnpm create bati";case"yarn":return"yarn dlx @batijs/cli";case"bun":return"bun create bati";default:return"npm create bati ---"}}function iXs(){let t=YEt.version.split("."),e=t[0],n=t[1],i=t.slice(2).join(".");return{version:YEt.version,semver:[e,n,i]}}var export_which=jbs.default;export{VEt as MarkdownV2,gSt as Readme,hbs as addVitePlugin,YHs as appendToEnv,JKs as bgBlack,cHs as bgBlackBright,HKs as bgBlue,fHs as bgBlueBright,QKs as bgCyan,dHs as bgCyanBright,GKs as bgGreen,uHs as bgGreenBright,XKs as bgMagenta,_Hs as bgMagentaBright,$Ks as bgRed,lHs as bgRedBright,ZKs as bgWhite,mHs as bgWhiteBright,KKs as bgYellow,pHs as bgYellowBright,jKs as black,eHs as blackBright,qKs as blue,iHs as blueBright,IKs as bold,Ose as builders,cbs as createColors,zKs as cyan,aHs as cyanBright,GXr as deepMergeObject,zEt as dim,uit as formatCode,zV as generateCode,nXs as getArgs,iXs as getVersion,WKs as gray,UKs as green,rHs as greenBright,MKs as hidden,FKs as inverse,sbs as isColorSupported,OKs as italic,NHs as loadAsJson,OHs as loadAsMagicast,hSt as loadFile,kHs as loadMarkdown,IHs as loadPackageJson,PHs as loadReadme,LHs as loadRelativeFileAsMagicast,FHs as loadYaml,VKs as magenta,sHs as magentaBright,Pqs as markdown,Ubs as packageManager,BXr as parseMarkdown,I5e as parseModule,y$r as parseReadme,ZHs as randomBytes,BKs as red,tHs as redBright,NKs as reset,RKs as strikethrough,wus as transformAndFormat,LKs as underline,export_which as which,YKs as white,oHs as whiteBright,WXr as withIcon,YXr as yellow,nHs as yellowBright};
1163
+ `;return t+a+l}function ybs(t){let e="";switch(typeof t){case"string":t&&(e=JSON.stringify(t));break;case"boolean":case"number":e=String(t);break;case"undefined":e="";break;case"object":t!==null&&(e=JSON.stringify(t));break}return e}var jbs=af(yQr(),1);import{randomBytes as ZHs}from"node:crypto";var YEt={name:"@batijs/core",version:"0.0.330",description:"",type:"module",types:"./dist/index.d.ts",scripts:{"check-types":"tsc --noEmit",vue:"tsx src/parse/linters/vue.ts",test:"vitest run","test:ci":"vitest run",build:"tsup"},keywords:[],author:"Jo\xEBl Charles <joel.charles91@gmail.com>",repository:"https://github.com/vikejs/bati",license:"MIT",devDependencies:{"@batijs/features":"workspace:*","@types/eslint":"^9.6.1","@types/estree":"^1.0.6","@types/node":"^18.19.74","@types/which":"^3.0.4","@typescript-eslint/parser":"^8.21.0","@typescript-eslint/utils":"^8.21.0","attributes-parser":"^2.2.3",colorette:"^2.0.20",esbuild:"^0.24.2",eslint:"^9.19.0","eslint-plugin-solid":"^0.14.5","eslint-rule-composer":"^0.3.0",espree:"^10.3.0",magicast:"^0.3.5","mdast-builder":"^1.1.1","mdast-util-from-markdown":"^2.0.2","mdast-util-to-markdown":"^2.1.2","mdast-util-to-string":"^4.0.0","mdast-util-toc":"^7.1.0",prettier:"^3.4.2",squirrelly:"^9.1.0",tsup:"^8.3.6",tsx:"^4.19.2",typescript:"^5.7.3","unplugin-purge-polyfills":"^0.0.7",vitest:"^3.0.4","vue-eslint-parser":"^9.4.3",which:"^5.0.0",yaml:"^2.7.0"},exports:{".":"./dist/index.js","./types":{types:"./global.d.ts"}},typesVersions:{"*":{types:["./global.d.ts"]}},files:["dist/"]};function Ubs(){if(process.env.npm_config_user_agent)return qbs(process.env.npm_config_user_agent)}function qbs(t){let e=t.split(" ")[0],n=e.lastIndexOf("/"),i=e.substring(0,n);return{name:i==="npminstall"?"cnpm":i,version:e.substring(n+1)}}function nXs(){switch(Ubs()?.name){case"pnpm":return"pnpm create bati";case"yarn":return"yarn dlx @batijs/cli";case"bun":return"bun create bati";default:return"npm create bati ---"}}function iXs(){let t=YEt.version.split("."),e=t[0],n=t[1],i=t.slice(2).join(".");return{version:YEt.version,semver:[e,n,i]}}var export_which=jbs.default;export{VEt as MarkdownV2,gSt as Readme,hbs as addVitePlugin,YHs as appendToEnv,JKs as bgBlack,cHs as bgBlackBright,HKs as bgBlue,fHs as bgBlueBright,QKs as bgCyan,dHs as bgCyanBright,GKs as bgGreen,uHs as bgGreenBright,XKs as bgMagenta,_Hs as bgMagentaBright,$Ks as bgRed,lHs as bgRedBright,ZKs as bgWhite,mHs as bgWhiteBright,KKs as bgYellow,pHs as bgYellowBright,jKs as black,eHs as blackBright,qKs as blue,iHs as blueBright,IKs as bold,Ose as builders,cbs as createColors,zKs as cyan,aHs as cyanBright,GXr as deepMergeObject,zEt as dim,uit as formatCode,zV as generateCode,nXs as getArgs,iXs as getVersion,WKs as gray,UKs as green,rHs as greenBright,MKs as hidden,FKs as inverse,sbs as isColorSupported,OKs as italic,NHs as loadAsJson,OHs as loadAsMagicast,hSt as loadFile,kHs as loadMarkdown,IHs as loadPackageJson,PHs as loadReadme,LHs as loadRelativeFileAsMagicast,FHs as loadYaml,VKs as magenta,sHs as magentaBright,Pqs as markdown,Ubs as packageManager,BXr as parseMarkdown,I5e as parseModule,y$r as parseReadme,ZHs as randomBytes,BKs as red,tHs as redBright,NKs as reset,RKs as strikethrough,wus as transformAndFormat,LKs as underline,export_which as which,YKs as white,oHs as whiteBright,WXr as withIcon,YXr as yellow,nHs as yellowBright};
1164
1164
  /*! Bundled license information:
1165
1165
 
1166
1166
  uri-js/dist/es5/uri.all.js:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@batijs/core",
3
- "version": "0.0.329",
3
+ "version": "0.0.330",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
@@ -38,7 +38,7 @@
38
38
  "vue-eslint-parser": "^9.4.3",
39
39
  "which": "^5.0.0",
40
40
  "yaml": "^2.7.0",
41
- "@batijs/features": "0.0.329"
41
+ "@batijs/features": "0.0.330"
42
42
  },
43
43
  "exports": {
44
44
  ".": "./dist/index.js",