@putout/bundle 4.9.1 → 4.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -3
- package/bundle/putout-slim.min.js +0 -13
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var t=e.default;if("function"==typeof t){var n=function e(){var n=!1;try{n=this instanceof e}catch{}return n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}),n}var n={exports:{}},r="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function i(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}var a=i,o=s;function u(e){if(a===setTimeout)return setTimeout(e,0);if((a===i||!a)&&setTimeout)return a=setTimeout,setTimeout(e,0);try{return a(e,0)}catch(t){try{return a.call(null,e,0)}catch(t){return a.call(this,e,0)}}}"function"==typeof r.setTimeout&&(a=setTimeout),"function"==typeof r.clearTimeout&&(o=clearTimeout);var c,l=[],p=!1,d=-1;function h(){p&&c&&(p=!1,c.length?l=c.concat(l):d=-1,l.length&&f())}function f(){if(!p){var e=u(h);p=!0;for(var t=l.length;t;){for(c=l,l=[];++d<t;)c&&c[d].run();d=-1,t=l.length}c=null,p=!1,function(e){if(o===clearTimeout)return clearTimeout(e);if((o===s||!o)&&clearTimeout)return o=clearTimeout,clearTimeout(e);try{return o(e)}catch(t){try{return o.call(null,e)}catch(t){return o.call(this,e)}}}(e)}}function m(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];l.push(new y(e,t)),1!==l.length||p||u(f)}function y(e,t){this.fun=e,this.array=t}y.prototype.run=function(){this.fun.apply(null,this.array)};var g="browser",b="browser",x=!0,S={},T=[],E={},P={},v={};function A(){}var w=A,C=A,k=A,I=A,_=A,N=A,L=A;function O(e){throw new Error("process.binding is not supported")}function D(){return"/"}function M(e){throw new Error("process.chdir is not supported")}function B(){return 0}var F=r.performance||{},R=F.now||F.mozNow||F.msNow||F.oNow||F.webkitNow||function(){return(new Date).getTime()};function j(e){var t=.001*R.call(F),n=Math.floor(t),r=Math.floor(t%1*1e9);return e&&(n-=e[0],(r-=e[1])<0&&(n--,r+=1e9)),[n,r]}var U=new Date;function q(){return(new Date-U)/1e3}var $={nextTick:m,title:g,browser:x,env:S,argv:T,version:"",versions:E,on:w,addListener:C,once:k,off:I,removeListener:_,removeAllListeners:N,emit:L,binding:O,cwd:D,chdir:M,umask:B,hrtime:j,platform:b,release:P,config:v,uptime:q},J=Object.freeze({__proto__:null,addListener:C,argv:T,binding:O,browser:x,chdir:M,config:v,cwd:D,default:$,emit:L,env:S,hrtime:j,nextTick:m,off:I,on:w,once:k,platform:b,release:P,removeAllListeners:N,removeListener:_,title:g,umask:B,uptime:q,version:"",versions:E}),V=[],K=[],W="undefined"!=typeof Uint8Array?Uint8Array:Array,X=!1;function H(){X=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0;t<64;++t)V[t]=e[t],K[e.charCodeAt(t)]=t;K["-".charCodeAt(0)]=62,K["_".charCodeAt(0)]=63}function z(e){return V[e>>18&63]+V[e>>12&63]+V[e>>6&63]+V[63&e]}function Y(e,t,n){for(var r,i=[],s=t;s<n;s+=3)r=(e[s]<<16)+(e[s+1]<<8)+e[s+2],i.push(z(r));return i.join("")}function G(e){var t;X||H();for(var n=e.length,r=n%3,i="",s=[],a=16383,o=0,u=n-r;o<u;o+=a)s.push(Y(e,o,o+a>u?u:o+a));return 1===r?(t=e[n-1],i+=V[t>>2],i+=V[t<<4&63],i+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],i+=V[t>>10],i+=V[t>>4&63],i+=V[t<<2&63],i+="="),s.push(i),s.join("")}function Q(e,t,n,r,i){var s,a,o=8*i-r-1,u=(1<<o)-1,c=u>>1,l=-7,p=n?i-1:0,d=n?-1:1,h=e[t+p];for(p+=d,s=h&(1<<-l)-1,h>>=-l,l+=o;l>0;s=256*s+e[t+p],p+=d,l-=8);for(a=s&(1<<-l)-1,s>>=-l,l+=r;l>0;a=256*a+e[t+p],p+=d,l-=8);if(0===s)s=1-c;else{if(s===u)return a?NaN:1/0*(h?-1:1);a+=Math.pow(2,r),s-=c}return(h?-1:1)*a*Math.pow(2,s-r)}function Z(e,t,n,r,i,s){var a,o,u,c=8*s-i-1,l=(1<<c)-1,p=l>>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:s-1,f=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+p>=1?d/u:d*Math.pow(2,1-p))*u>=2&&(a++,u/=2),a+p>=l?(o=0,a=l):a+p>=1?(o=(t*u-1)*Math.pow(2,i),a+=p):(o=t*Math.pow(2,p-1)*Math.pow(2,i),a=0));i>=8;e[n+h]=255&o,h+=f,o/=256,i-=8);for(a=a<<i|o,c+=i;c>0;e[n+h]=255&a,h+=f,a/=256,c-=8);e[n+h-f]|=128*m}var ee={}.toString,te=Array.isArray||function(e){return"[object Array]"==ee.call(e)};function ne(){return ie.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function re(e,t){if(ne()<t)throw new RangeError("Invalid typed array length");return ie.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=ie.prototype:(null===e&&(e=new ie(t)),e.length=t),e}function ie(e,t,n){if(!(ie.TYPED_ARRAY_SUPPORT||this instanceof ie))return new ie(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return oe(this,e)}return se(this,e,t,n)}function se(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r);ie.TYPED_ARRAY_SUPPORT?(e=t).__proto__=ie.prototype:e=ue(e,t);return e}(e,t,n,r):"string"==typeof t?function(e,t,n){"string"==typeof n&&""!==n||(n="utf8");if(!ie.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|pe(t,n);e=re(e,r);var i=e.write(t,n);i!==r&&(e=e.slice(0,i));return e}(e,t,n):function(e,t){if(le(t)){var n=0|ce(t.length);return 0===(e=re(e,n)).length||t.copy(e,0,0,n),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(r=t.length)!=r?re(e,0):ue(e,t);if("Buffer"===t.type&&te(t.data))return ue(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function ae(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function oe(e,t){if(ae(t),e=re(e,t<0?0:0|ce(t)),!ie.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function ue(e,t){var n=t.length<0?0:0|ce(t.length);e=re(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function ce(e){if(e>=ne())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+ne().toString(16)+" bytes");return 0|e}function le(e){return!(null==e||!e._isBuffer)}function pe(e,t){if(le(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return Re(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return je(e).length;default:if(r)return Re(e).length;t=(""+t).toLowerCase(),r=!0}}function de(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return Ce(this,t,n);case"utf8":case"utf-8":return Pe(this,t,n);case"ascii":return Ae(this,t,n);case"latin1":case"binary":return we(this,t,n);case"base64":return Ee(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ke(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function he(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function fe(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=ie.from(t,r)),le(t))return 0===t.length?-1:me(e,t,n,r,i);if("number"==typeof t)return t&=255,ie.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):me(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function me(e,t,n,r,i){var s,a=1,o=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,o/=2,u/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var l=-1;for(s=n;s<o;s++)if(c(e,s)===c(t,-1===l?0:s-l)){if(-1===l&&(l=s),s-l+1===u)return l*a}else-1!==l&&(s-=s-l),l=-1}else for(n+u>o&&(n=o-u),s=n;s>=0;s--){for(var p=!0,d=0;d<u;d++)if(c(e,s+d)!==c(t,d)){p=!1;break}if(p)return s}return-1}function ye(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var s=t.length;if(s%2!=0)throw new TypeError("Invalid hex string");r>s/2&&(r=s/2);for(var a=0;a<r;++a){var o=parseInt(t.substr(2*a,2),16);if(isNaN(o))return a;e[n+a]=o}return a}function ge(e,t,n,r){return Ue(Re(t,e.length-n),e,n,r)}function be(e,t,n,r){return Ue(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function xe(e,t,n,r){return be(e,t,n,r)}function Se(e,t,n,r){return Ue(je(t),e,n,r)}function Te(e,t,n,r){return Ue(function(e,t){for(var n,r,i,s=[],a=0;a<e.length&&!((t-=2)<0);++a)r=(n=e.charCodeAt(a))>>8,i=n%256,s.push(i),s.push(r);return s}(t,e.length-n),e,n,r)}function Ee(e,t,n){return 0===t&&n===e.length?G(e):G(e.slice(t,n))}function Pe(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var s,a,o,u,c=e[i],l=null,p=c>239?4:c>223?3:c>191?2:1;if(i+p<=n)switch(p){case 1:c<128&&(l=c);break;case 2:128==(192&(s=e[i+1]))&&(u=(31&c)<<6|63&s)>127&&(l=u);break;case 3:s=e[i+1],a=e[i+2],128==(192&s)&&128==(192&a)&&(u=(15&c)<<12|(63&s)<<6|63&a)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:s=e[i+1],a=e[i+2],o=e[i+3],128==(192&s)&&128==(192&a)&&128==(192&o)&&(u=(15&c)<<18|(63&s)<<12|(63&a)<<6|63&o)>65535&&u<1114112&&(l=u)}null===l?(l=65533,p=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),i+=p}return function(e){var t=e.length;if(t<=ve)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=ve));return n}(r)}ie.TYPED_ARRAY_SUPPORT=void 0===r.TYPED_ARRAY_SUPPORT||r.TYPED_ARRAY_SUPPORT,ne(),ie.poolSize=8192,ie._augment=function(e){return e.__proto__=ie.prototype,e},ie.from=function(e,t,n){return se(null,e,t,n)},ie.TYPED_ARRAY_SUPPORT&&(ie.prototype.__proto__=Uint8Array.prototype,ie.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&ie[Symbol.species]),ie.alloc=function(e,t,n){return function(e,t,n,r){return ae(t),t<=0?re(e,t):void 0!==n?"string"==typeof r?re(e,t).fill(n,r):re(e,t).fill(n):re(e,t)}(null,e,t,n)},ie.allocUnsafe=function(e){return oe(null,e)},ie.allocUnsafeSlow=function(e){return oe(null,e)},ie.isBuffer=function(e){return null!=e&&(!!e._isBuffer||qe(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&qe(e.slice(0,0))}(e))},ie.compare=function(e,t){if(!le(e)||!le(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,s=Math.min(n,r);i<s;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},ie.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},ie.concat=function(e,t){if(!te(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return ie.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=ie.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var s=e[n];if(!le(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(r,i),i+=s.length}return r},ie.byteLength=pe,ie.prototype._isBuffer=!0,ie.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)he(this,t,t+1);return this},ie.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)he(this,t,t+3),he(this,t+1,t+2);return this},ie.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)he(this,t,t+7),he(this,t+1,t+6),he(this,t+2,t+5),he(this,t+3,t+4);return this},ie.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?Pe(this,0,e):de.apply(this,arguments)},ie.prototype.equals=function(e){if(!le(e))throw new TypeError("Argument must be a Buffer");return this===e||0===ie.compare(this,e)},ie.prototype.inspect=function(){var e="";return this.length>0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),"<Buffer "+e+">"},ie.prototype.compare=function(e,t,n,r,i){if(!le(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var s=(i>>>=0)-(r>>>=0),a=(n>>>=0)-(t>>>=0),o=Math.min(s,a),u=this.slice(r,i),c=e.slice(t,n),l=0;l<o;++l)if(u[l]!==c[l]){s=u[l],a=c[l];break}return s<a?-1:a<s?1:0},ie.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},ie.prototype.indexOf=function(e,t,n){return fe(this,e,t,n,!0)},ie.prototype.lastIndexOf=function(e,t,n){return fe(this,e,t,n,!1)},ie.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var s=!1;;)switch(r){case"hex":return ye(this,e,t,n);case"utf8":case"utf-8":return ge(this,e,t,n);case"ascii":return be(this,e,t,n);case"latin1":case"binary":return xe(this,e,t,n);case"base64":return Se(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Te(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),s=!0}},ie.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var ve=4096;function Ae(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function we(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function Ce(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var i="",s=t;s<n;++s)i+=Fe(e[s]);return i}function ke(e,t,n){for(var r=e.slice(t,n),i="",s=0;s<r.length;s+=2)i+=String.fromCharCode(r[s]+256*r[s+1]);return i}function Ie(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function _e(e,t,n,r,i,s){if(!le(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<s)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function Ne(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,s=Math.min(e.length-n,2);i<s;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function Le(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,s=Math.min(e.length-n,4);i<s;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function Oe(e,t,n,r,i,s){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function De(e,t,n,r,i){return i||Oe(e,0,n,4),Z(e,t,n,r,23,4),n+4}function Me(e,t,n,r,i){return i||Oe(e,0,n,8),Z(e,t,n,r,52,8),n+8}ie.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),ie.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=ie.prototype;else{var i=t-e;n=new ie(i,void 0);for(var s=0;s<i;++s)n[s]=this[s+e]}return n},ie.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||Ie(e,t,this.length);for(var r=this[e],i=1,s=0;++s<t&&(i*=256);)r+=this[e+s]*i;return r},ie.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||Ie(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},ie.prototype.readUInt8=function(e,t){return t||Ie(e,1,this.length),this[e]},ie.prototype.readUInt16LE=function(e,t){return t||Ie(e,2,this.length),this[e]|this[e+1]<<8},ie.prototype.readUInt16BE=function(e,t){return t||Ie(e,2,this.length),this[e]<<8|this[e+1]},ie.prototype.readUInt32LE=function(e,t){return t||Ie(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},ie.prototype.readUInt32BE=function(e,t){return t||Ie(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},ie.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||Ie(e,t,this.length);for(var r=this[e],i=1,s=0;++s<t&&(i*=256);)r+=this[e+s]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},ie.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||Ie(e,t,this.length);for(var r=t,i=1,s=this[e+--r];r>0&&(i*=256);)s+=this[e+--r]*i;return s>=(i*=128)&&(s-=Math.pow(2,8*t)),s},ie.prototype.readInt8=function(e,t){return t||Ie(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},ie.prototype.readInt16LE=function(e,t){t||Ie(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},ie.prototype.readInt16BE=function(e,t){t||Ie(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},ie.prototype.readInt32LE=function(e,t){return t||Ie(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},ie.prototype.readInt32BE=function(e,t){return t||Ie(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},ie.prototype.readFloatLE=function(e,t){return t||Ie(e,4,this.length),Q(this,e,!0,23,4)},ie.prototype.readFloatBE=function(e,t){return t||Ie(e,4,this.length),Q(this,e,!1,23,4)},ie.prototype.readDoubleLE=function(e,t){return t||Ie(e,8,this.length),Q(this,e,!0,52,8)},ie.prototype.readDoubleBE=function(e,t){return t||Ie(e,8,this.length),Q(this,e,!1,52,8)},ie.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||_e(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,s=0;for(this[t]=255&e;++s<n&&(i*=256);)this[t+s]=e/i&255;return t+n},ie.prototype.writeUIntBE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||_e(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,s=1;for(this[t+i]=255&e;--i>=0&&(s*=256);)this[t+i]=e/s&255;return t+n},ie.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,1,255,0),ie.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},ie.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,2,65535,0),ie.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Ne(this,e,t,!0),t+2},ie.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,2,65535,0),ie.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Ne(this,e,t,!1),t+2},ie.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,4,4294967295,0),ie.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):Le(this,e,t,!0),t+4},ie.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,4,4294967295,0),ie.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Le(this,e,t,!1),t+4},ie.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);_e(this,e,t,n,i-1,-i)}var s=0,a=1,o=0;for(this[t]=255&e;++s<n&&(a*=256);)e<0&&0===o&&0!==this[t+s-1]&&(o=1),this[t+s]=(e/a|0)-o&255;return t+n},ie.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);_e(this,e,t,n,i-1,-i)}var s=n-1,a=1,o=0;for(this[t+s]=255&e;--s>=0&&(a*=256);)e<0&&0===o&&0!==this[t+s+1]&&(o=1),this[t+s]=(e/a|0)-o&255;return t+n},ie.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,1,127,-128),ie.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},ie.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,2,32767,-32768),ie.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):Ne(this,e,t,!0),t+2},ie.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,2,32767,-32768),ie.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):Ne(this,e,t,!1),t+2},ie.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,4,2147483647,-2147483648),ie.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):Le(this,e,t,!0),t+4},ie.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||_e(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),ie.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):Le(this,e,t,!1),t+4},ie.prototype.writeFloatLE=function(e,t,n){return De(this,e,t,!0,n)},ie.prototype.writeFloatBE=function(e,t,n){return De(this,e,t,!1,n)},ie.prototype.writeDoubleLE=function(e,t,n){return Me(this,e,t,!0,n)},ie.prototype.writeDoubleBE=function(e,t,n){return Me(this,e,t,!1,n)},ie.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,s=r-n;if(this===e&&n<t&&t<r)for(i=s-1;i>=0;--i)e[i+t]=this[i+n];else if(s<1e3||!ie.TYPED_ARRAY_SUPPORT)for(i=0;i<s;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+s),t);return s},ie.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!ie.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var s;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(s=t;s<n;++s)this[s]=e;else{var a=le(e)?e:Re(new ie(e,r).toString()),o=a.length;for(s=0;s<n-t;++s)this[s+t]=a[s%o]}return this};var Be=/[^+\/0-9A-Za-z-_]/g;function Fe(e){return e<16?"0"+e.toString(16):e.toString(16)}function Re(e,t){var n;t=t||1/0;for(var r=e.length,i=null,s=[],a=0;a<r;++a){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&s.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function je(e){return function(e){var t,n,r,i,s,a;X||H();var o=e.length;if(o%4>0)throw new Error("Invalid string. Length must be a multiple of 4");s="="===e[o-2]?2:"="===e[o-1]?1:0,a=new W(3*o/4-s),r=s>0?o-4:o;var u=0;for(t=0,n=0;t<r;t+=4,n+=3)i=K[e.charCodeAt(t)]<<18|K[e.charCodeAt(t+1)]<<12|K[e.charCodeAt(t+2)]<<6|K[e.charCodeAt(t+3)],a[u++]=i>>16&255,a[u++]=i>>8&255,a[u++]=255&i;return 2===s?(i=K[e.charCodeAt(t)]<<2|K[e.charCodeAt(t+1)]>>4,a[u++]=255&i):1===s&&(i=K[e.charCodeAt(t)]<<10|K[e.charCodeAt(t+1)]<<4|K[e.charCodeAt(t+2)]>>2,a[u++]=i>>8&255,a[u++]=255&i),a}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(Be,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function Ue(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function qe(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}var $e=Object.create,Je=Object.defineProperty,Ve=Object.getOwnPropertyDescriptor,Ke=Object.getOwnPropertyNames,We=Object.getPrototypeOf,Xe=Object.prototype.hasOwnProperty,He=(e,t)=>function(){return t||(0,e[Ke(e)[0]])((t={exports:{}}).exports,t),t.exports},ze=(e,t)=>{for(var n in t)Je(e,n,{get:t[n],enumerable:!0})},Ye=(e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of Ke(t))Xe.call(e,i)||i===n||Je(e,i,{get:()=>t[i],enumerable:!(r=Ve(t,i))||r.enumerable});return e},Ge=(e,t,n)=>(n=null!=e?$e(We(e)):{},Ye(Je(n,"default",{value:e,enumerable:!0}),e)),Qe=(e,t,n)=>((e,t,n)=>t in e?Je(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n)(e,"symbol"!=typeof t?t+"":t,n),Ze=He({"node_modules/picocolors/picocolors.js"(e,t){var n=$||{},r=n.argv||[],i=n.env||{},s=!(i.NO_COLOR||r.includes("--no-color"))&&(!!i.FORCE_COLOR||r.includes("--color")||"win32"===n.platform||(n.stdout||{}).isTTY&&"dumb"!==i.TERM||!!i.CI),a=(e,t,n=e)=>r=>{let i=""+r,s=i.indexOf(t,e.length);return~s?e+o(i,t,n,s)+t:e+i+t},o=(e,t,n,r)=>{let i="",s=0;do{i+=e.substring(s,r)+n,s=r+t.length,r=e.indexOf(t,s)}while(~r);return i+e.substring(s)},u=(e=s)=>{let t=e?a:()=>String;return{isColorSupported:e,reset:t("[0m","[0m"),bold:t("[1m","[22m","[22m[1m"),dim:t("[2m","[22m","[22m[2m"),italic:t("[3m","[23m"),underline:t("[4m","[24m"),inverse:t("[7m","[27m"),hidden:t("[8m","[28m"),strikethrough:t("[9m","[29m"),black:t("[30m","[39m"),red:t("[31m","[39m"),green:t("[32m","[39m"),yellow:t("[33m","[39m"),blue:t("[34m","[39m"),magenta:t("[35m","[39m"),cyan:t("[36m","[39m"),white:t("[37m","[39m"),gray:t("[90m","[39m"),bgBlack:t("[40m","[49m"),bgRed:t("[41m","[49m"),bgGreen:t("[42m","[49m"),bgYellow:t("[43m","[49m"),bgBlue:t("[44m","[49m"),bgMagenta:t("[45m","[49m"),bgCyan:t("[46m","[49m"),bgWhite:t("[47m","[49m"),blackBright:t("[90m","[39m"),redBright:t("[91m","[39m"),greenBright:t("[92m","[39m"),yellowBright:t("[93m","[39m"),blueBright:t("[94m","[39m"),magentaBright:t("[95m","[39m"),cyanBright:t("[96m","[39m"),whiteBright:t("[97m","[39m"),bgBlackBright:t("[100m","[49m"),bgRedBright:t("[101m","[49m"),bgGreenBright:t("[102m","[49m"),bgYellowBright:t("[103m","[49m"),bgBlueBright:t("[104m","[49m"),bgMagentaBright:t("[105m","[49m"),bgCyanBright:t("[106m","[49m"),bgWhiteBright:t("[107m","[49m")}};t.exports=u(),t.exports.createColors=u}}),et=He({"node_modules/js-tokens/index.js"(e,t){var n,r,i,s,a,o,u,c,l,p,d,h,f,m,y,g,b,x,S;f=/\/(?![*\/])(?:\[(?:[^\]\\\n\r\u2028\u2029]+|\\.)*\]|[^\/\\\n\r\u2028\u2029]+|\\.)*(\/[$_\u200C\u200D\p{ID_Continue}]*|\\)?/uy,h=/--|\+\+|=>|\.{3}|\??\.(?!\d)|(?:&&|\|\||\?\?|[+\-%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2}|\/(?![\/*]))=?|[?~,:;[\](){}]/y,n=/(\x23?)(?=[$_\p{ID_Start}\\])(?:[$_\u200C\u200D\p{ID_Continue}]+|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+/uy,y=/(['"])(?:[^'"\\\n\r]+|(?!\1)['"]|\\(?:\r\n|[^]))*(\1)?/y,d=/(?:0[xX][\da-fA-F](?:_?[\da-fA-F])*|0[oO][0-7](?:_?[0-7])*|0[bB][01](?:_?[01])*)n?|0n|[1-9](?:_?\d)*n|(?:(?:0(?!\d)|0\d*[89]\d*|[1-9](?:_?\d)*)(?:\.(?:\d(?:_?\d)*)?)?|\.\d(?:_?\d)*)(?:[eE][+-]?\d(?:_?\d)*)?|0[0-7]+/y,g=/[`}](?:[^`\\$]+|\\[^]|\$(?!\{))*(`|\$\{)?/y,S=/[\t\v\f\ufeff\p{Zs}]+/uy,c=/\r?\n|[\r\u2028\u2029]/y,l=/\/\*(?:[^*]+|\*(?!\/))*(\*\/)?/y,m=/\/\/.*/y,i=/[<>.:={}]|\/(?![\/*])/y,r=/[$_\p{ID_Start}][$_\u200C\u200D\p{ID_Continue}-]*/uy,s=/(['"])(?:[^'"]+|(?!\1)['"])*(\1)?/y,a=/[^<>{}]+/y,x=/^(?:[\/+-]|\.{3}|\?(?:InterpolationIn(?:JSX|Template)|NoLineTerminatorHere|NonExpressionParenEnd|UnaryIncDec))?$|[{}([,;<>=*%&|^!~?:]$/,b=/^(?:=>|[;\]){}]|else|\?(?:NoLineTerminatorHere|NonExpressionParenEnd))?$/,o=/^(?:await|case|default|delete|do|else|instanceof|new|return|throw|typeof|void|yield)$/,u=/^(?:return|throw|yield)$/,p=RegExp(c.source),t.exports=function*(e,{jsx:t=!1}={}){var T,E,P,v,A,w,C,k,I,_,N,L,O,D;for(({length:w}=e),v=0,A="",D=[{tag:"JS"}],T=[],N=0,L=!1;v<w;){switch((k=D[D.length-1]).tag){case"JS":case"JSNonExpressionParen":case"InterpolationInTemplate":case"InterpolationInJSX":if("/"===e[v]&&(x.test(A)||o.test(A))&&(f.lastIndex=v,C=f.exec(e))){v=f.lastIndex,A=C[0],L=!0,yield{type:"RegularExpressionLiteral",value:C[0],closed:void 0!==C[1]&&"\\"!==C[1]};continue}if(h.lastIndex=v,C=h.exec(e)){switch(O=C[0],I=h.lastIndex,_=O,O){case"(":"?NonExpressionParenKeyword"===A&&D.push({tag:"JSNonExpressionParen",nesting:N}),N++,L=!1;break;case")":N--,L=!0,"JSNonExpressionParen"===k.tag&&N===k.nesting&&(D.pop(),_="?NonExpressionParenEnd",L=!1);break;case"{":h.lastIndex=0,P=!b.test(A)&&(x.test(A)||o.test(A)),T.push(P),L=!1;break;case"}":switch(k.tag){case"InterpolationInTemplate":if(T.length===k.nesting){g.lastIndex=v,C=g.exec(e),v=g.lastIndex,A=C[0],"${"===C[1]?(A="?InterpolationInTemplate",L=!1,yield{type:"TemplateMiddle",value:C[0]}):(D.pop(),L=!0,yield{type:"TemplateTail",value:C[0],closed:"`"===C[1]});continue}break;case"InterpolationInJSX":if(T.length===k.nesting){D.pop(),v+=1,A="}",yield{type:"JSXPunctuator",value:"}"};continue}}_=(L=T.pop())?"?ExpressionBraceEnd":"}";break;case"]":L=!0;break;case"++":case"--":_=L?"?PostfixIncDec":"?UnaryIncDec";break;case"<":if(t&&(x.test(A)||o.test(A))){D.push({tag:"JSXTag"}),v+=1,A="<",yield{type:"JSXPunctuator",value:O};continue}L=!1;break;default:L=!1}v=I,A=_,yield{type:"Punctuator",value:O};continue}if(n.lastIndex=v,C=n.exec(e)){switch(v=n.lastIndex,_=C[0],C[0]){case"for":case"if":case"while":case"with":"."!==A&&"?."!==A&&(_="?NonExpressionParenKeyword")}A=_,L=!o.test(C[0]),yield{type:"#"===C[1]?"PrivateIdentifier":"IdentifierName",value:C[0]};continue}if(y.lastIndex=v,C=y.exec(e)){v=y.lastIndex,A=C[0],L=!0,yield{type:"StringLiteral",value:C[0],closed:void 0!==C[2]};continue}if(d.lastIndex=v,C=d.exec(e)){v=d.lastIndex,A=C[0],L=!0,yield{type:"NumericLiteral",value:C[0]};continue}if(g.lastIndex=v,C=g.exec(e)){v=g.lastIndex,A=C[0],"${"===C[1]?(A="?InterpolationInTemplate",D.push({tag:"InterpolationInTemplate",nesting:T.length}),L=!1,yield{type:"TemplateHead",value:C[0]}):(L=!0,yield{type:"NoSubstitutionTemplate",value:C[0],closed:"`"===C[1]});continue}break;case"JSXTag":case"JSXTagEnd":if(i.lastIndex=v,C=i.exec(e)){switch(v=i.lastIndex,_=C[0],C[0]){case"<":D.push({tag:"JSXTag"});break;case">":D.pop(),"/"===A||"JSXTagEnd"===k.tag?(_="?JSX",L=!0):D.push({tag:"JSXChildren"});break;case"{":D.push({tag:"InterpolationInJSX",nesting:T.length}),_="?InterpolationInJSX",L=!1;break;case"/":"<"===A&&(D.pop(),"JSXChildren"===D[D.length-1].tag&&D.pop(),D.push({tag:"JSXTagEnd"}))}A=_,yield{type:"JSXPunctuator",value:C[0]};continue}if(r.lastIndex=v,C=r.exec(e)){v=r.lastIndex,A=C[0],yield{type:"JSXIdentifier",value:C[0]};continue}if(s.lastIndex=v,C=s.exec(e)){v=s.lastIndex,A=C[0],yield{type:"JSXString",value:C[0],closed:void 0!==C[2]};continue}break;case"JSXChildren":if(a.lastIndex=v,C=a.exec(e)){v=a.lastIndex,A=C[0],yield{type:"JSXText",value:C[0]};continue}switch(e[v]){case"<":D.push({tag:"JSXTag"}),v++,A="<",yield{type:"JSXPunctuator",value:"<"};continue;case"{":D.push({tag:"InterpolationInJSX",nesting:T.length}),v++,A="?InterpolationInJSX",L=!1,yield{type:"JSXPunctuator",value:"{"};continue}}S.lastIndex=v,(C=S.exec(e))?(v=S.lastIndex,yield{type:"WhiteSpace",value:C[0]}):(c.lastIndex=v,(C=c.exec(e))?(v=c.lastIndex,L=!1,u.test(A)&&(A="?NoLineTerminatorHere"),yield{type:"LineTerminatorSequence",value:C[0]}):(l.lastIndex=v,(C=l.exec(e))?(v=l.lastIndex,p.test(C[0])&&(L=!1,u.test(A)&&(A="?NoLineTerminatorHere")),yield{type:"MultiLineComment",value:C[0],closed:void 0!==C[1]}):(m.lastIndex=v,(C=m.exec(e))?(v=m.lastIndex,L=!1,yield{type:"SingleLineComment",value:C[0]}):(v+=(E=String.fromCodePoint(e.codePointAt(v))).length,A=E,L=!1,yield{type:k.tag.startsWith("JSX")?"JSXInvalid":"Invalid",value:E}))))}}}}),tt=He({"node_modules/jsesc/jsesc.js"(e,t){var n={},r=n.hasOwnProperty,i=(e,t)=>{for(const n in e)r.call(e,n)&&t(n,e[n])},s=e=>"\\u"+("0000"+e).slice(-4),a=(e,t)=>{let n=e.toString(16);return t?n:n.toUpperCase()},o=n.toString,u=Array.isArray,c=e=>"bigint"==typeof e,l={"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},p=/[\\\b\f\n\r\t]/,d=/[0-9]/,h=/[\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,f=/([\uD800-\uDBFF][\uDC00-\uDFFF])|([\uD800-\uDFFF])|(['"`])|[^]/g,m=/([\uD800-\uDBFF][\uDC00-\uDFFF])|([\uD800-\uDFFF])|(['"`])|[^ !#-&\(-\[\]-_a-~]/g,y=(e,t)=>{const n=()=>{v=P,++t.indentLevel,P=t.indent.repeat(t.indentLevel)},r={escapeEverything:!1,minimal:!1,isScriptContext:!1,quotes:"single",wrap:!1,es6:!1,json:!1,compact:!0,lowercaseHex:!1,numbers:"decimal",indent:"\t",indentLevel:0,__inline1__:!1,__inline2__:!1},g=t&&t.json;var b,x;g&&(r.quotes="double",r.wrap=!0),b=r,t=(x=t)?(i(x,(e,t)=>{b[e]=t}),b):b,"single"!=t.quotes&&"double"!=t.quotes&&"backtick"!=t.quotes&&(t.quotes="single");const S="double"==t.quotes?'"':"backtick"==t.quotes?"`":"'",T=t.compact,E=t.lowercaseHex;let P=t.indent.repeat(t.indentLevel),v="";const A=t.__inline1__,w=t.__inline2__,C=T?"":"\n";let k,I=!0;const _="binary"==t.numbers,N="octal"==t.numbers,L="decimal"==t.numbers,O="hexadecimal"==t.numbers;if(g&&e&&"function"==typeof e.toJSON&&(e=e.toJSON()),!(e=>"string"==typeof e||"[object String]"==o.call(e))(e)){if((e=>"[object Map]"==o.call(e))(e))return 0==e.size?"new Map()":(T||(t.__inline1__=!0,t.__inline2__=!1),"new Map("+y(Array.from(e),t)+")");if((e=>"[object Set]"==o.call(e))(e))return 0==e.size?"new Set()":"new Set("+y(Array.from(e),t)+")";if((e=>Array.isArray(e))(e))return 0==e.length?"Buffer.from([])":"Buffer.from("+y(Array.from(e),t)+")";if(u(e))return k=[],t.wrap=!0,A&&(t.__inline1__=!1,t.__inline2__=!0),w||n(),((e,t)=>{const n=e.length;let r=-1;for(;++r<n;)t(e[r])})(e,e=>{I=!1,w&&(t.__inline2__=!1),k.push((T||w?"":P)+y(e,t))}),I?"[]":w?"["+k.join(", ")+"]":"["+C+k.join(","+C)+C+(T?"":v)+"]";if((e=>"number"==typeof e||"[object Number]"==o.call(e))(e)||c(e)){if(g)return JSON.stringify(Number(e));let t;if(L)t=String(e);else if(O){let n=e.toString(16);E||(n=n.toUpperCase()),t="0x"+n}else _?t="0b"+e.toString(2):N&&(t="0o"+e.toString(8));return c(e)?t+"n":t}return c(e)?g?JSON.stringify(Number(e)):e+"n":(e=>"[object Object]"==o.call(e))(e)?(k=[],t.wrap=!0,n(),i(e,(e,n)=>{I=!1,k.push((T?"":P)+y(e,t)+":"+(T?"":" ")+y(n,t))}),I?"{}":"{"+C+k.join(","+C)+C+(T?"":v)+"}"):g?JSON.stringify(e)||"null":String(e)}const D=t.escapeEverything?f:m;return k=e.replace(D,(e,n,r,i,o,u)=>{if(n){if(t.minimal)return n;const e=n.charCodeAt(0),r=n.charCodeAt(1);if(t.es6){return"\\u{"+a(1024*(e-55296)+r-56320+65536,E)+"}"}return s(a(e,E))+s(a(r,E))}if(r)return s(a(r.charCodeAt(0),E));if("\0"==e&&!g&&!d.test(u.charAt(o+1)))return"\\0";if(i)return i==S||t.escapeEverything?"\\"+i:i;if(p.test(e))return l[e];if(t.minimal&&!h.test(e))return e;const c=a(e.charCodeAt(0),E);return g||c.length>2?s(c):"\\x"+("00"+c).slice(-2)}),"`"==S&&(k=k.replace(/\$\{/g,"\\${")),t.isScriptContext&&(k=k.replace(/<\/(script|style)/gi,"<\\/$1").replace(/<!--/g,g?"\\u003C!--":"\\x3C!--")),t.wrap&&(k=S+k+S),k};y.version="3.0.2",t.exports=y}}),nt=He({"node_modules/debug/src/index.js"(e,t){t.exports=()=>({enabled:!1})}}),rt={};ze(rt,{codeFrameColumns:()=>oI,generate:()=>EO,parse:()=>Vk,parseExpression:()=>Kk,template:()=>QI,tokTypes:()=>Wk,traverse:()=>Vj,types:()=>at});var it,st=(it=rt,Ye(Je({},"__esModule",{value:!0}),it)),at={};ze(at,{ACCESSOR_TYPES:()=>hA,ALIAS_KEYS:()=>qo,ASSIGNMENT_OPERATORS:()=>Do,AnyTypeAnnotation:()=>bm,ArgumentPlaceholder:()=>Wy,ArrayExpression:()=>Bh,ArrayPattern:()=>Mf,ArrayTypeAnnotation:()=>xm,ArrowFunctionExpression:()=>Bf,AssignmentExpression:()=>Fh,AssignmentPattern:()=>Df,AwaitExpression:()=>sm,BINARY_OPERATORS:()=>Oo,BINARY_TYPES:()=>Dv,BLOCKPARENT_TYPES:()=>Bv,BLOCK_TYPES:()=>Fv,BOOLEAN_BINARY_OPERATORS:()=>No,BOOLEAN_NUMBER_BINARY_OPERATORS:()=>ko,BOOLEAN_UNARY_OPERATORS:()=>Mo,BUILDER_KEYS:()=>Vo,BigIntLiteral:()=>om,BinaryExpression:()=>Rh,BindExpression:()=>Xy,BlockStatement:()=>$h,BooleanLiteral:()=>lf,BooleanLiteralTypeAnnotation:()=>Tm,BooleanTypeAnnotation:()=>Sm,BreakStatement:()=>Jh,CLASS_TYPES:()=>cA,COMMENT_KEYS:()=>Ao,COMPARISON_BINARY_OPERATORS:()=>_o,COMPLETIONSTATEMENT_TYPES:()=>Uv,CONDITIONAL_TYPES:()=>qv,CallExpression:()=>Vh,CatchClause:()=>Kh,ClassAccessorProperty:()=>dm,ClassBody:()=>Ff,ClassDeclaration:()=>jf,ClassExpression:()=>Rf,ClassImplements:()=>Pm,ClassMethod:()=>Gf,ClassPrivateMethod:()=>fm,ClassPrivateProperty:()=>hm,ClassProperty:()=>pm,ConditionalExpression:()=>Wh,ContinueStatement:()=>Xh,DECLARATION_TYPES:()=>Yv,DEPRECATED_ALIASES:()=>Uu,DEPRECATED_KEYS:()=>Ko,DebuggerStatement:()=>Hh,DeclareClass:()=>vm,DeclareExportAllDeclaration:()=>Om,DeclareExportDeclaration:()=>Lm,DeclareFunction:()=>Am,DeclareInterface:()=>wm,DeclareModule:()=>Cm,DeclareModuleExports:()=>km,DeclareOpaqueType:()=>_m,DeclareTypeAlias:()=>Im,DeclareVariable:()=>Nm,DeclaredPredicate:()=>Dm,Decorator:()=>Hy,Directive:()=>Uh,DirectiveLiteral:()=>qh,DoExpression:()=>zy,DoWhileStatement:()=>zh,ENUMBODY_TYPES:()=>SA,ENUMMEMBER_TYPES:()=>TA,EQUALITY_BINARY_OPERATORS:()=>Io,EXPORTDECLARATION_TYPES:()=>pA,EXPRESSIONWRAPPER_TYPES:()=>Vv,EXPRESSION_TYPES:()=>Ov,EmptyStatement:()=>Yh,EmptyTypeAnnotation:()=>Km,EnumBooleanBody:()=>xy,EnumBooleanMember:()=>Py,EnumDeclaration:()=>by,EnumDefaultedMember:()=>wy,EnumNumberBody:()=>Sy,EnumNumberMember:()=>vy,EnumStringBody:()=>Ty,EnumStringMember:()=>Ay,EnumSymbolBody:()=>Ey,ExistsTypeAnnotation:()=>Mm,ExportAllDeclaration:()=>Uf,ExportDefaultDeclaration:()=>qf,ExportDefaultSpecifier:()=>Yy,ExportNamedDeclaration:()=>$f,ExportNamespaceSpecifier:()=>um,ExportSpecifier:()=>Jf,ExpressionStatement:()=>Gh,FLATTENABLE_KEYS:()=>Po,FLIPPED_ALIAS_KEYS:()=>$o,FLOWBASEANNOTATION_TYPES:()=>gA,FLOWDECLARATION_TYPES:()=>bA,FLOWPREDICATE_TYPES:()=>xA,FLOWTYPE_TYPES:()=>yA,FLOW_TYPES:()=>mA,FORXSTATEMENT_TYPES:()=>Wv,FOR_INIT_KEYS:()=>vo,FOR_TYPES:()=>Kv,FUNCTIONPARAMETER_TYPES:()=>Gv,FUNCTIONPARENT_TYPES:()=>Hv,FUNCTION_TYPES:()=>Xv,File:()=>Qh,ForInStatement:()=>Zh,ForOfStatement:()=>Vf,ForStatement:()=>ef,FunctionDeclaration:()=>tf,FunctionExpression:()=>nf,FunctionTypeAnnotation:()=>Bm,FunctionTypeParam:()=>Fm,GenericTypeAnnotation:()=>Rm,IMMUTABLE_TYPES:()=>nA,IMPORTOREXPORTDECLARATION_TYPES:()=>lA,INHERIT_KEYS:()=>jo,Identifier:()=>rf,IfStatement:()=>sf,Import:()=>am,ImportAttribute:()=>gm,ImportDeclaration:()=>Kf,ImportDefaultSpecifier:()=>Wf,ImportExpression:()=>zf,ImportNamespaceSpecifier:()=>Xf,ImportSpecifier:()=>Hf,IndexedAccessType:()=>Cy,InferredPredicate:()=>jm,InterfaceDeclaration:()=>qm,InterfaceExtends:()=>Um,InterfaceTypeAnnotation:()=>$m,InterpreterDirective:()=>jh,IntersectionTypeAnnotation:()=>Jm,JSXAttribute:()=>Iy,JSXClosingElement:()=>_y,JSXClosingFragment:()=>Jy,JSXElement:()=>Ny,JSXEmptyExpression:()=>Ly,JSXExpressionContainer:()=>Oy,JSXFragment:()=>qy,JSXIdentifier:()=>My,JSXMemberExpression:()=>By,JSXNamespacedName:()=>Fy,JSXOpeningElement:()=>Ry,JSXOpeningFragment:()=>$y,JSXSpreadAttribute:()=>jy,JSXSpreadChild:()=>Dy,JSXText:()=>Uy,JSX_TYPES:()=>EA,LITERAL_TYPES:()=>tA,LOGICAL_OPERATORS:()=>wo,LOOP_TYPES:()=>$v,LVAL_TYPES:()=>Zv,LabeledStatement:()=>af,LogicalExpression:()=>df,METHOD_TYPES:()=>iA,MISCELLANEOUS_TYPES:()=>PA,MODULEDECLARATION_TYPES:()=>kA,MODULESPECIFIER_TYPES:()=>dA,MemberExpression:()=>hf,MetaProperty:()=>Yf,MixedTypeAnnotation:()=>Vm,ModuleExpression:()=>Zy,NODE_FIELDS:()=>Jo,NODE_PARENT_VALIDATIONS:()=>Wo,NUMBER_BINARY_OPERATORS:()=>Lo,NUMBER_UNARY_OPERATORS:()=>Bo,NewExpression:()=>ff,NullLiteral:()=>cf,NullLiteralTypeAnnotation:()=>Em,NullableTypeAnnotation:()=>Wm,NumberLiteralTypeAnnotation:()=>Xm,NumberTypeAnnotation:()=>Hm,NumericLiteral:()=>uf,OBJECTMEMBER_TYPES:()=>sA,ObjectExpression:()=>yf,ObjectMethod:()=>gf,ObjectPattern:()=>Qf,ObjectProperty:()=>bf,ObjectTypeAnnotation:()=>zm,ObjectTypeCallProperty:()=>Gm,ObjectTypeIndexer:()=>Qm,ObjectTypeInternalSlot:()=>Ym,ObjectTypeProperty:()=>Zm,ObjectTypeSpreadProperty:()=>ey,OpaqueType:()=>ty,OptionalCallExpression:()=>lm,OptionalIndexedAccessType:()=>ky,OptionalMemberExpression:()=>cm,PATTERNLIKE_TYPES:()=>Qv,PATTERN_TYPES:()=>uA,PLACEHOLDERS:()=>Cu,PLACEHOLDERS_ALIAS:()=>ku,PLACEHOLDERS_FLIPPED_ALIAS:()=>Iu,PRIVATE_TYPES:()=>fA,PROPERTY_TYPES:()=>aA,PUREISH_TYPES:()=>zv,ParenthesizedExpression:()=>Ef,PipelineBareFunction:()=>ng,PipelinePrimaryTopicReference:()=>rg,PipelineTopicExpression:()=>tg,Placeholder:()=>Vy,PrivateName:()=>mm,Program:()=>mf,QualifiedTypeIdentifier:()=>ny,RecordExpression:()=>Gy,RegExpLiteral:()=>pf,RestElement:()=>xf,ReturnStatement:()=>Sf,SCOPABLE_TYPES:()=>Mv,STANDARDIZED_TYPES:()=>Lv,STATEMENT_OR_BLOCK_KEYS:()=>Eo,STATEMENT_TYPES:()=>Rv,STRING_UNARY_OPERATORS:()=>Fo,SequenceExpression:()=>Tf,SpreadElement:()=>Zf,StaticBlock:()=>ym,StringLiteral:()=>of,StringLiteralTypeAnnotation:()=>ry,StringTypeAnnotation:()=>iy,Super:()=>em,SwitchCase:()=>Pf,SwitchStatement:()=>vf,SymbolTypeAnnotation:()=>sy,TERMINATORLESS_TYPES:()=>jv,TSAnyKeyword:()=>fg,TSArrayType:()=>Dg,TSAsExpression:()=>tb,TSBASETYPE_TYPES:()=>CA,TSBigIntKeyword:()=>yg,TSBooleanKeyword:()=>mg,TSCallSignatureDeclaration:()=>cg,TSClassImplements:()=>zg,TSConditionalType:()=>qg,TSConstructSignatureDeclaration:()=>lg,TSConstructorType:()=>Ig,TSDeclareFunction:()=>ag,TSDeclareMethod:()=>og,TSENTITYNAME_TYPES:()=>eA,TSEnumBody:()=>ib,TSEnumDeclaration:()=>sb,TSEnumMember:()=>ab,TSExportAssignment:()=>hb,TSExternalModuleReference:()=>pb,TSFunctionType:()=>kg,TSImportEqualsDeclaration:()=>lb,TSImportType:()=>cb,TSIndexSignature:()=>hg,TSIndexedAccessType:()=>Kg,TSInferType:()=>$g,TSInstantiationExpression:()=>eb,TSInterfaceBody:()=>Qg,TSInterfaceDeclaration:()=>Gg,TSInterfaceHeritage:()=>Yg,TSIntersectionType:()=>Ug,TSIntrinsicKeyword:()=>gg,TSLiteralType:()=>Hg,TSMappedType:()=>Wg,TSMethodSignature:()=>dg,TSModuleBlock:()=>ub,TSModuleDeclaration:()=>ob,TSNamedTupleMember:()=>Rg,TSNamespaceExportDeclaration:()=>fb,TSNeverKeyword:()=>bg,TSNonNullExpression:()=>db,TSNullKeyword:()=>xg,TSNumberKeyword:()=>Sg,TSObjectKeyword:()=>Tg,TSOptionalType:()=>Bg,TSParameterProperty:()=>sg,TSParenthesizedType:()=>Jg,TSPropertySignature:()=>pg,TSQualifiedName:()=>ug,TSRestType:()=>Fg,TSSatisfiesExpression:()=>nb,TSStringKeyword:()=>Eg,TSSymbolKeyword:()=>Pg,TSTYPEELEMENT_TYPES:()=>AA,TSTYPE_TYPES:()=>wA,TSTemplateLiteralType:()=>Xg,TSThisType:()=>Cg,TSTupleType:()=>Mg,TSTypeAliasDeclaration:()=>Zg,TSTypeAnnotation:()=>mb,TSTypeAssertion:()=>rb,TSTypeLiteral:()=>Og,TSTypeOperator:()=>Vg,TSTypeParameter:()=>bb,TSTypeParameterDeclaration:()=>gb,TSTypeParameterInstantiation:()=>yb,TSTypePredicate:()=>Ng,TSTypeQuery:()=>Lg,TSTypeReference:()=>_g,TSUndefinedKeyword:()=>vg,TSUnionType:()=>jg,TSUnknownKeyword:()=>Ag,TSVoidKeyword:()=>wg,TYPES:()=>qu,TYPESCRIPT_TYPES:()=>vA,TaggedTemplateExpression:()=>tm,TemplateElement:()=>nm,TemplateLiteral:()=>rm,ThisExpression:()=>Af,ThisTypeAnnotation:()=>ay,ThrowStatement:()=>wf,TopicReference:()=>eg,TryStatement:()=>Cf,TupleExpression:()=>Qy,TupleTypeAnnotation:()=>oy,TypeAlias:()=>cy,TypeAnnotation:()=>ly,TypeCastExpression:()=>py,TypeParameter:()=>dy,TypeParameterDeclaration:()=>hy,TypeParameterInstantiation:()=>fy,TypeofTypeAnnotation:()=>uy,UNARYLIKE_TYPES:()=>oA,UNARY_OPERATORS:()=>Ro,UPDATE_OPERATORS:()=>Co,USERWHITESPACABLE_TYPES:()=>rA,UnaryExpression:()=>kf,UnionTypeAnnotation:()=>my,UpdateExpression:()=>If,V8IntrinsicIdentifier:()=>Ky,VISITOR_KEYS:()=>Uo,VariableDeclaration:()=>_f,VariableDeclarator:()=>Nf,Variance:()=>yy,VoidPattern:()=>ig,VoidTypeAnnotation:()=>gy,WHILE_TYPES:()=>Jv,WhileStatement:()=>Lf,WithStatement:()=>Of,YieldExpression:()=>im,__internal__deprecationWarning:()=>It,addComment:()=>Av,addComments:()=>vv,anyTypeAnnotation:()=>Il,appendToMemberExpression:()=>WA,argumentPlaceholder:()=>rd,arrayExpression:()=>Hu,arrayPattern:()=>Wc,arrayTypeAnnotation:()=>_l,arrowFunctionExpression:()=>Xc,assertAccessor:()=>UP,assertAnyTypeAnnotation:()=>iS,assertArgumentPlaceholder:()=>LT,assertArrayExpression:()=>Pb,assertArrayPattern:()=>Tx,assertArrayTypeAnnotation:()=>sS,assertArrowFunctionExpression:()=>Ex,assertAssignmentExpression:()=>vb,assertAssignmentPattern:()=>Sx,assertAwaitExpression:()=>Kx,assertBigIntLiteral:()=>Xx,assertBinary:()=>oP,assertBinaryExpression:()=>Ab,assertBindExpression:()=>OT,assertBlock:()=>lP,assertBlockParent:()=>cP,assertBlockStatement:()=>Ib,assertBooleanLiteral:()=>Yb,assertBooleanLiteralTypeAnnotation:()=>oS,assertBooleanTypeAnnotation:()=>aS,assertBreakStatement:()=>_b,assertCallExpression:()=>Nb,assertCatchClause:()=>Lb,assertClass:()=>BP,assertClassAccessorProperty:()=>Qx,assertClassBody:()=>Px,assertClassDeclaration:()=>Ax,assertClassExpression:()=>vx,assertClassImplements:()=>cS,assertClassMethod:()=>Fx,assertClassPrivateMethod:()=>eS,assertClassPrivateProperty:()=>Zx,assertClassProperty:()=>Gx,assertCompletionStatement:()=>hP,assertConditional:()=>fP,assertConditionalExpression:()=>Ob,assertContinueStatement:()=>Db,assertDebuggerStatement:()=>Mb,assertDeclaration:()=>PP,assertDeclareClass:()=>lS,assertDeclareExportAllDeclaration:()=>xS,assertDeclareExportDeclaration:()=>bS,assertDeclareFunction:()=>pS,assertDeclareInterface:()=>dS,assertDeclareModule:()=>hS,assertDeclareModuleExports:()=>fS,assertDeclareOpaqueType:()=>yS,assertDeclareTypeAlias:()=>mS,assertDeclareVariable:()=>gS,assertDeclaredPredicate:()=>SS,assertDecorator:()=>DT,assertDirective:()=>Cb,assertDirectiveLiteral:()=>kb,assertDoExpression:()=>MT,assertDoWhileStatement:()=>Bb,assertEmptyStatement:()=>Fb,assertEmptyTypeAnnotation:()=>NS,assertEnumBody:()=>XP,assertEnumBooleanBody:()=>sT,assertEnumBooleanMember:()=>cT,assertEnumDeclaration:()=>iT,assertEnumDefaultedMember:()=>dT,assertEnumMember:()=>HP,assertEnumNumberBody:()=>aT,assertEnumNumberMember:()=>lT,assertEnumStringBody:()=>oT,assertEnumStringMember:()=>pT,assertEnumSymbolBody:()=>uT,assertExistsTypeAnnotation:()=>TS,assertExportAllDeclaration:()=>wx,assertExportDeclaration:()=>RP,assertExportDefaultDeclaration:()=>Cx,assertExportDefaultSpecifier:()=>BT,assertExportNamedDeclaration:()=>kx,assertExportNamespaceSpecifier:()=>Hx,assertExportSpecifier:()=>Ix,assertExpression:()=>aP,assertExpressionStatement:()=>Rb,assertExpressionWrapper:()=>gP,assertFile:()=>jb,assertFlow:()=>$P,assertFlowBaseAnnotation:()=>VP,assertFlowDeclaration:()=>KP,assertFlowPredicate:()=>WP,assertFlowType:()=>JP,assertFor:()=>bP,assertForInStatement:()=>Ub,assertForOfStatement:()=>_x,assertForStatement:()=>qb,assertForXStatement:()=>xP,assertFunction:()=>SP,assertFunctionDeclaration:()=>$b,assertFunctionExpression:()=>Jb,assertFunctionParameter:()=>vP,assertFunctionParent:()=>TP,assertFunctionTypeAnnotation:()=>ES,assertFunctionTypeParam:()=>PS,assertGenericTypeAnnotation:()=>vS,assertIdentifier:()=>Vb,assertIfStatement:()=>Kb,assertImmutable:()=>IP,assertImport:()=>Wx,assertImportAttribute:()=>rS,assertImportDeclaration:()=>Nx,assertImportDefaultSpecifier:()=>Lx,assertImportExpression:()=>Mx,assertImportNamespaceSpecifier:()=>Ox,assertImportOrExportDeclaration:()=>FP,assertImportSpecifier:()=>Dx,assertIndexedAccessType:()=>hT,assertInferredPredicate:()=>AS,assertInterfaceDeclaration:()=>CS,assertInterfaceExtends:()=>wS,assertInterfaceTypeAnnotation:()=>kS,assertInterpreterDirective:()=>wb,assertIntersectionTypeAnnotation:()=>IS,assertJSX:()=>zP,assertJSXAttribute:()=>mT,assertJSXClosingElement:()=>yT,assertJSXClosingFragment:()=>IT,assertJSXElement:()=>gT,assertJSXEmptyExpression:()=>bT,assertJSXExpressionContainer:()=>xT,assertJSXFragment:()=>CT,assertJSXIdentifier:()=>TT,assertJSXMemberExpression:()=>ET,assertJSXNamespacedName:()=>PT,assertJSXOpeningElement:()=>vT,assertJSXOpeningFragment:()=>kT,assertJSXSpreadAttribute:()=>AT,assertJSXSpreadChild:()=>ST,assertJSXText:()=>wT,assertLVal:()=>wP,assertLabeledStatement:()=>Wb,assertLiteral:()=>kP,assertLogicalExpression:()=>Qb,assertLoop:()=>mP,assertMemberExpression:()=>Zb,assertMetaProperty:()=>Bx,assertMethod:()=>NP,assertMiscellaneous:()=>YP,assertMixedTypeAnnotation:()=>_S,assertModuleDeclaration:()=>sv,assertModuleExpression:()=>jT,assertModuleSpecifier:()=>jP,assertNewExpression:()=>ex,assertNode:()=>Tb,assertNullLiteral:()=>zb,assertNullLiteralTypeAnnotation:()=>uS,assertNullableTypeAnnotation:()=>LS,assertNumberLiteral:()=>tv,assertNumberLiteralTypeAnnotation:()=>OS,assertNumberTypeAnnotation:()=>DS,assertNumericLiteral:()=>Hb,assertObjectExpression:()=>nx,assertObjectMember:()=>LP,assertObjectMethod:()=>rx,assertObjectPattern:()=>Rx,assertObjectProperty:()=>ix,assertObjectTypeAnnotation:()=>MS,assertObjectTypeCallProperty:()=>FS,assertObjectTypeIndexer:()=>RS,assertObjectTypeInternalSlot:()=>BS,assertObjectTypeProperty:()=>jS,assertObjectTypeSpreadProperty:()=>US,assertOpaqueType:()=>qS,assertOptionalCallExpression:()=>Yx,assertOptionalIndexedAccessType:()=>fT,assertOptionalMemberExpression:()=>zx,assertParenthesizedExpression:()=>ux,assertPattern:()=>MP,assertPatternLike:()=>AP,assertPipelineBareFunction:()=>$T,assertPipelinePrimaryTopicReference:()=>JT,assertPipelineTopicExpression:()=>qT,assertPlaceholder:()=>_T,assertPrivate:()=>qP,assertPrivateName:()=>tS,assertProgram:()=>tx,assertProperty:()=>OP,assertPureish:()=>EP,assertQualifiedTypeIdentifier:()=>$S,assertRecordExpression:()=>FT,assertRegExpLiteral:()=>Gb,assertRegexLiteral:()=>nv,assertRestElement:()=>sx,assertRestProperty:()=>rv,assertReturnStatement:()=>ax,assertScopable:()=>uP,assertSequenceExpression:()=>ox,assertSpreadElement:()=>jx,assertSpreadProperty:()=>iv,assertStandardized:()=>sP,assertStatement:()=>pP,assertStaticBlock:()=>nS,assertStringLiteral:()=>Xb,assertStringLiteralTypeAnnotation:()=>JS,assertStringTypeAnnotation:()=>VS,assertSuper:()=>Ux,assertSwitchCase:()=>cx,assertSwitchStatement:()=>lx,assertSymbolTypeAnnotation:()=>KS,assertTSAnyKeyword:()=>eE,assertTSArrayType:()=>SE,assertTSAsExpression:()=>qE,assertTSBaseType:()=>ev,assertTSBigIntKeyword:()=>nE,assertTSBooleanKeyword:()=>tE,assertTSCallSignatureDeclaration:()=>zT,assertTSClassImplements:()=>ME,assertTSConditionalType:()=>CE,assertTSConstructSignatureDeclaration:()=>YT,assertTSConstructorType:()=>mE,assertTSDeclareFunction:()=>WT,assertTSDeclareMethod:()=>XT,assertTSEntityName:()=>CP,assertTSEnumBody:()=>VE,assertTSEnumDeclaration:()=>KE,assertTSEnumMember:()=>WE,assertTSExportAssignment:()=>ZE,assertTSExternalModuleReference:()=>GE,assertTSFunctionType:()=>fE,assertTSImportEqualsDeclaration:()=>YE,assertTSImportType:()=>zE,assertTSIndexSignature:()=>ZT,assertTSIndexedAccessType:()=>NE,assertTSInferType:()=>kE,assertTSInstantiationExpression:()=>UE,assertTSInterfaceBody:()=>RE,assertTSInterfaceDeclaration:()=>FE,assertTSInterfaceHeritage:()=>BE,assertTSIntersectionType:()=>wE,assertTSIntrinsicKeyword:()=>rE,assertTSLiteralType:()=>DE,assertTSMappedType:()=>LE,assertTSMethodSignature:()=>QT,assertTSModuleBlock:()=>HE,assertTSModuleDeclaration:()=>XE,assertTSNamedTupleMember:()=>vE,assertTSNamespaceExportDeclaration:()=>eP,assertTSNeverKeyword:()=>iE,assertTSNonNullExpression:()=>QE,assertTSNullKeyword:()=>sE,assertTSNumberKeyword:()=>aE,assertTSObjectKeyword:()=>oE,assertTSOptionalType:()=>EE,assertTSParameterProperty:()=>KT,assertTSParenthesizedType:()=>IE,assertTSPropertySignature:()=>GT,assertTSQualifiedName:()=>HT,assertTSRestType:()=>PE,assertTSSatisfiesExpression:()=>$E,assertTSStringKeyword:()=>uE,assertTSSymbolKeyword:()=>cE,assertTSTemplateLiteralType:()=>OE,assertTSThisType:()=>hE,assertTSTupleType:()=>TE,assertTSType:()=>ZP,assertTSTypeAliasDeclaration:()=>jE,assertTSTypeAnnotation:()=>tP,assertTSTypeAssertion:()=>JE,assertTSTypeElement:()=>QP,assertTSTypeLiteral:()=>xE,assertTSTypeOperator:()=>_E,assertTSTypeParameter:()=>iP,assertTSTypeParameterDeclaration:()=>rP,assertTSTypeParameterInstantiation:()=>nP,assertTSTypePredicate:()=>gE,assertTSTypeQuery:()=>bE,assertTSTypeReference:()=>yE,assertTSUndefinedKeyword:()=>lE,assertTSUnionType:()=>AE,assertTSUnknownKeyword:()=>pE,assertTSVoidKeyword:()=>dE,assertTaggedTemplateExpression:()=>qx,assertTemplateElement:()=>$x,assertTemplateLiteral:()=>Jx,assertTerminatorless:()=>dP,assertThisExpression:()=>px,assertThisTypeAnnotation:()=>WS,assertThrowStatement:()=>dx,assertTopicReference:()=>UT,assertTryStatement:()=>hx,assertTupleExpression:()=>RT,assertTupleTypeAnnotation:()=>XS,assertTypeAlias:()=>zS,assertTypeAnnotation:()=>YS,assertTypeCastExpression:()=>GS,assertTypeParameter:()=>QS,assertTypeParameterDeclaration:()=>ZS,assertTypeParameterInstantiation:()=>eT,assertTypeScript:()=>GP,assertTypeofTypeAnnotation:()=>HS,assertUnaryExpression:()=>fx,assertUnaryLike:()=>DP,assertUnionTypeAnnotation:()=>tT,assertUpdateExpression:()=>mx,assertUserWhitespacable:()=>_P,assertV8IntrinsicIdentifier:()=>NT,assertVariableDeclaration:()=>yx,assertVariableDeclarator:()=>gx,assertVariance:()=>nT,assertVoidPattern:()=>VT,assertVoidTypeAnnotation:()=>rT,assertWhile:()=>yP,assertWhileStatement:()=>bx,assertWithStatement:()=>xx,assertYieldExpression:()=>Vx,assignmentExpression:()=>zu,assignmentPattern:()=>Kc,awaitExpression:()=>yl,bigIntLiteral:()=>bl,binaryExpression:()=>Yu,bindExpression:()=>id,blockStatement:()=>ec,booleanLiteral:()=>Tc,booleanLiteralTypeAnnotation:()=>Ll,booleanTypeAnnotation:()=>Nl,breakStatement:()=>tc,buildMatchMemberExpression:()=>yo,buildUndefinedNode:()=>hv,callExpression:()=>nc,catchClause:()=>rc,classAccessorProperty:()=>Pl,classBody:()=>Hc,classDeclaration:()=>Yc,classExpression:()=>zc,classImplements:()=>Dl,classMethod:()=>ul,classPrivateMethod:()=>Al,classPrivateProperty:()=>vl,classProperty:()=>El,clone:()=>Sv,cloneDeep:()=>Tv,cloneDeepWithoutLoc:()=>Ev,cloneNode:()=>gv,cloneWithoutLoc:()=>Pv,conditionalExpression:()=>ic,continueStatement:()=>sc,createFlowUnionType:()=>cv,createTSUnionType:()=>dv,createTypeAnnotationBasedOnTypeof:()=>av,createUnionTypeAnnotation:()=>cv,debuggerStatement:()=>ac,declareClass:()=>Ml,declareExportAllDeclaration:()=>Vl,declareExportDeclaration:()=>Jl,declareFunction:()=>Bl,declareInterface:()=>Fl,declareModule:()=>Rl,declareModuleExports:()=>jl,declareOpaqueType:()=>ql,declareTypeAlias:()=>Ul,declareVariable:()=>$l,declaredPredicate:()=>Kl,decorator:()=>sd,directive:()=>Qu,directiveLiteral:()=>Zu,doExpression:()=>ad,doWhileStatement:()=>oc,emptyStatement:()=>uc,emptyTypeAnnotation:()=>np,ensureBlock:()=>_A,enumBooleanBody:()=>_p,enumBooleanMember:()=>Dp,enumDeclaration:()=>Ip,enumDefaultedMember:()=>Fp,enumNumberBody:()=>Np,enumNumberMember:()=>Mp,enumStringBody:()=>Lp,enumStringMember:()=>Bp,enumSymbolBody:()=>Op,existsTypeAnnotation:()=>Wl,exportAllDeclaration:()=>Gc,exportDefaultDeclaration:()=>Qc,exportDefaultSpecifier:()=>od,exportNamedDeclaration:()=>Zc,exportNamespaceSpecifier:()=>xl,exportSpecifier:()=>el,expressionStatement:()=>cc,file:()=>lc,forInStatement:()=>pc,forOfStatement:()=>tl,forStatement:()=>dc,functionDeclaration:()=>hc,functionExpression:()=>fc,functionTypeAnnotation:()=>Xl,functionTypeParam:()=>Hl,genericTypeAnnotation:()=>zl,getAssignmentIdentifiers:()=>zA,getBindingIdentifiers:()=>YA,getFunctionName:()=>ZA,getOuterBindingIdentifiers:()=>GA,identifier:()=>mc,ifStatement:()=>yc,import:()=>gl,importAttribute:()=>kl,importDeclaration:()=>nl,importDefaultSpecifier:()=>rl,importExpression:()=>al,importNamespaceSpecifier:()=>il,importSpecifier:()=>sl,indexedAccessType:()=>Rp,inferredPredicate:()=>Yl,inheritInnerComments:()=>Cv,inheritLeadingComments:()=>kv,inheritTrailingComments:()=>Iv,inherits:()=>XA,inheritsComments:()=>_v,interfaceDeclaration:()=>Ql,interfaceExtends:()=>Gl,interfaceTypeAnnotation:()=>Zl,interpreterDirective:()=>Gu,intersectionTypeAnnotation:()=>ep,is:()=>So,isAccessor:()=>Xa,isAnyTypeAnnotation:()=>dr,isArgumentPlaceholder:()=>Ui,isArrayExpression:()=>_t,isArrayPattern:()=>In,isArrayTypeAnnotation:()=>hr,isArrowFunctionExpression:()=>_n,isAssignmentExpression:()=>Nt,isAssignmentPattern:()=>kn,isAwaitExpression:()=>Zn,isBigIntLiteral:()=>tr,isBinary:()=>ma,isBinaryExpression:()=>Lt,isBindExpression:()=>qi,isBinding:()=>nw,isBlock:()=>ba,isBlockParent:()=>ga,isBlockScoped:()=>iw,isBlockStatement:()=>Bt,isBooleanLiteral:()=>rn,isBooleanLiteralTypeAnnotation:()=>mr,isBooleanTypeAnnotation:()=>fr,isBreakStatement:()=>Ft,isCallExpression:()=>Rt,isCatchClause:()=>jt,isClass:()=>Ja,isClassAccessorProperty:()=>ar,isClassBody:()=>Nn,isClassDeclaration:()=>On,isClassExpression:()=>Ln,isClassImplements:()=>gr,isClassMethod:()=>Kn,isClassPrivateMethod:()=>ur,isClassPrivateProperty:()=>or,isClassProperty:()=>sr,isCompletionStatement:()=>Ta,isConditional:()=>Ea,isConditionalExpression:()=>Ut,isContinueStatement:()=>qt,isDebuggerStatement:()=>$t,isDeclaration:()=>Na,isDeclareClass:()=>br,isDeclareExportAllDeclaration:()=>Cr,isDeclareExportDeclaration:()=>wr,isDeclareFunction:()=>xr,isDeclareInterface:()=>Sr,isDeclareModule:()=>Tr,isDeclareModuleExports:()=>Er,isDeclareOpaqueType:()=>vr,isDeclareTypeAlias:()=>Pr,isDeclareVariable:()=>Ar,isDeclaredPredicate:()=>kr,isDecorator:()=>$i,isDirective:()=>Dt,isDirectiveLiteral:()=>Mt,isDoExpression:()=>Ji,isDoWhileStatement:()=>Jt,isEmptyStatement:()=>Vt,isEmptyTypeAnnotation:()=>jr,isEnumBody:()=>eo,isEnumBooleanBody:()=>hi,isEnumBooleanMember:()=>gi,isEnumDeclaration:()=>di,isEnumDefaultedMember:()=>Si,isEnumMember:()=>to,isEnumNumberBody:()=>fi,isEnumNumberMember:()=>bi,isEnumStringBody:()=>mi,isEnumStringMember:()=>xi,isEnumSymbolBody:()=>yi,isExistsTypeAnnotation:()=>Ir,isExportAllDeclaration:()=>Dn,isExportDeclaration:()=>Ka,isExportDefaultDeclaration:()=>Mn,isExportDefaultSpecifier:()=>Vi,isExportNamedDeclaration:()=>Bn,isExportNamespaceSpecifier:()=>nr,isExportSpecifier:()=>Fn,isExpression:()=>fa,isExpressionStatement:()=>Kt,isExpressionWrapper:()=>Aa,isFile:()=>Wt,isFlow:()=>za,isFlowBaseAnnotation:()=>Ga,isFlowDeclaration:()=>Qa,isFlowPredicate:()=>Za,isFlowType:()=>Ya,isFor:()=>wa,isForInStatement:()=>Xt,isForOfStatement:()=>Rn,isForStatement:()=>Ht,isForXStatement:()=>Ca,isFunction:()=>ka,isFunctionDeclaration:()=>zt,isFunctionExpression:()=>Yt,isFunctionParameter:()=>La,isFunctionParent:()=>Ia,isFunctionTypeAnnotation:()=>_r,isFunctionTypeParam:()=>Nr,isGenericTypeAnnotation:()=>Lr,isIdentifier:()=>Gt,isIfStatement:()=>Qt,isImmutable:()=>sw,isImport:()=>er,isImportAttribute:()=>pr,isImportDeclaration:()=>jn,isImportDefaultSpecifier:()=>Un,isImportExpression:()=>Jn,isImportNamespaceSpecifier:()=>qn,isImportOrExportDeclaration:()=>Va,isImportSpecifier:()=>$n,isIndexedAccessType:()=>Ti,isInferredPredicate:()=>Or,isInterfaceDeclaration:()=>Mr,isInterfaceExtends:()=>Dr,isInterfaceTypeAnnotation:()=>Br,isInterpreterDirective:()=>Ot,isIntersectionTypeAnnotation:()=>Fr,isJSX:()=>no,isJSXAttribute:()=>Pi,isJSXClosingElement:()=>vi,isJSXClosingFragment:()=>Fi,isJSXElement:()=>Ai,isJSXEmptyExpression:()=>wi,isJSXExpressionContainer:()=>Ci,isJSXFragment:()=>Mi,isJSXIdentifier:()=>Ii,isJSXMemberExpression:()=>_i,isJSXNamespacedName:()=>Ni,isJSXOpeningElement:()=>Li,isJSXOpeningFragment:()=>Bi,isJSXSpreadAttribute:()=>Oi,isJSXSpreadChild:()=>ki,isJSXText:()=>Di,isLVal:()=>Da,isLabeledStatement:()=>Zt,isLet:()=>rw,isLiteral:()=>Ba,isLogicalExpression:()=>an,isLoop:()=>Pa,isMemberExpression:()=>on,isMetaProperty:()=>Vn,isMethod:()=>Ra,isMiscellaneous:()=>ro,isMixedTypeAnnotation:()=>Rr,isModuleDeclaration:()=>ho,isModuleExpression:()=>Xi,isModuleSpecifier:()=>Wa,isNewExpression:()=>un,isNode:()=>Sb,isNodesEquivalent:()=>aw,isNullLiteral:()=>nn,isNullLiteralTypeAnnotation:()=>yr,isNullableTypeAnnotation:()=>Ur,isNumberLiteral:()=>uo,isNumberLiteralTypeAnnotation:()=>qr,isNumberTypeAnnotation:()=>$r,isNumericLiteral:()=>tn,isObjectExpression:()=>ln,isObjectMember:()=>ja,isObjectMethod:()=>pn,isObjectPattern:()=>Wn,isObjectProperty:()=>dn,isObjectTypeAnnotation:()=>Jr,isObjectTypeCallProperty:()=>Kr,isObjectTypeIndexer:()=>Wr,isObjectTypeInternalSlot:()=>Vr,isObjectTypeProperty:()=>Xr,isObjectTypeSpreadProperty:()=>Hr,isOpaqueType:()=>zr,isOptionalCallExpression:()=>ir,isOptionalIndexedAccessType:()=>Ei,isOptionalMemberExpression:()=>rr,isParenthesizedExpression:()=>yn,isPattern:()=>$a,isPatternLike:()=>Oa,isPipelineBareFunction:()=>Yi,isPipelinePrimaryTopicReference:()=>Gi,isPipelineTopicExpression:()=>zi,isPlaceholder:()=>Ri,isPlaceholderType:()=>xo,isPrivate:()=>Ha,isPrivateName:()=>cr,isProgram:()=>cn,isProperty:()=>Ua,isPureish:()=>_a,isQualifiedTypeIdentifier:()=>Yr,isRecordExpression:()=>Ki,isReferenced:()=>ow,isRegExpLiteral:()=>sn,isRegexLiteral:()=>co,isRestElement:()=>hn,isRestProperty:()=>lo,isReturnStatement:()=>fn,isScopable:()=>ya,isScope:()=>uw,isSequenceExpression:()=>mn,isSpecifierDefault:()=>cw,isSpreadElement:()=>Xn,isSpreadProperty:()=>po,isStandardized:()=>ha,isStatement:()=>xa,isStaticBlock:()=>lr,isStringLiteral:()=>en,isStringLiteralTypeAnnotation:()=>Gr,isStringTypeAnnotation:()=>Qr,isSuper:()=>Hn,isSwitchCase:()=>gn,isSwitchStatement:()=>bn,isSymbolTypeAnnotation:()=>Zr,isTSAnyKeyword:()=>us,isTSArrayType:()=>ks,isTSAsExpression:()=>zs,isTSBaseType:()=>oo,isTSBigIntKeyword:()=>ls,isTSBooleanKeyword:()=>cs,isTSCallSignatureDeclaration:()=>rs,isTSClassImplements:()=>Js,isTSConditionalType:()=>Ms,isTSConstructSignatureDeclaration:()=>is,isTSConstructorType:()=>Ps,isTSDeclareFunction:()=>es,isTSDeclareMethod:()=>ts,isTSEntityName:()=>Ma,isTSEnumBody:()=>Qs,isTSEnumDeclaration:()=>Zs,isTSEnumMember:()=>ea,isTSExportAssignment:()=>oa,isTSExternalModuleReference:()=>sa,isTSFunctionType:()=>Es,isTSImportEqualsDeclaration:()=>ia,isTSImportType:()=>ra,isTSIndexSignature:()=>os,isTSIndexedAccessType:()=>js,isTSInferType:()=>Bs,isTSInstantiationExpression:()=>Hs,isTSInterfaceBody:()=>Ws,isTSInterfaceDeclaration:()=>Ks,isTSInterfaceHeritage:()=>Vs,isTSIntersectionType:()=>Ds,isTSIntrinsicKeyword:()=>ps,isTSLiteralType:()=>$s,isTSMappedType:()=>Us,isTSMethodSignature:()=>as,isTSModuleBlock:()=>na,isTSModuleDeclaration:()=>ta,isTSNamedTupleMember:()=>Ls,isTSNamespaceExportDeclaration:()=>ua,isTSNeverKeyword:()=>ds,isTSNonNullExpression:()=>aa,isTSNullKeyword:()=>hs,isTSNumberKeyword:()=>fs,isTSObjectKeyword:()=>ms,isTSOptionalType:()=>_s,isTSParameterProperty:()=>Zi,isTSParenthesizedType:()=>Fs,isTSPropertySignature:()=>ss,isTSQualifiedName:()=>ns,isTSRestType:()=>Ns,isTSSatisfiesExpression:()=>Ys,isTSStringKeyword:()=>ys,isTSSymbolKeyword:()=>gs,isTSTemplateLiteralType:()=>qs,isTSThisType:()=>Ts,isTSTupleType:()=>Is,isTSType:()=>ao,isTSTypeAliasDeclaration:()=>Xs,isTSTypeAnnotation:()=>ca,isTSTypeAssertion:()=>Gs,isTSTypeElement:()=>so,isTSTypeLiteral:()=>Cs,isTSTypeOperator:()=>Rs,isTSTypeParameter:()=>da,isTSTypeParameterDeclaration:()=>pa,isTSTypeParameterInstantiation:()=>la,isTSTypePredicate:()=>As,isTSTypeQuery:()=>ws,isTSTypeReference:()=>vs,isTSUndefinedKeyword:()=>bs,isTSUnionType:()=>Os,isTSUnknownKeyword:()=>xs,isTSVoidKeyword:()=>Ss,isTaggedTemplateExpression:()=>zn,isTemplateElement:()=>Yn,isTemplateLiteral:()=>Gn,isTerminatorless:()=>Sa,isThisExpression:()=>xn,isThisTypeAnnotation:()=>ei,isThrowStatement:()=>Sn,isTopicReference:()=>Hi,isTryStatement:()=>Tn,isTupleExpression:()=>Wi,isTupleTypeAnnotation:()=>ti,isType:()=>bo,isTypeAlias:()=>ri,isTypeAnnotation:()=>ii,isTypeCastExpression:()=>si,isTypeParameter:()=>ai,isTypeParameterDeclaration:()=>oi,isTypeParameterInstantiation:()=>ui,isTypeScript:()=>io,isTypeofTypeAnnotation:()=>ni,isUnaryExpression:()=>En,isUnaryLike:()=>qa,isUnionTypeAnnotation:()=>ci,isUpdateExpression:()=>Pn,isUserWhitespacable:()=>Fa,isV8IntrinsicIdentifier:()=>ji,isValidES3Identifier:()=>pw,isValidIdentifier:()=>To,isVar:()=>dw,isVariableDeclaration:()=>vn,isVariableDeclarator:()=>An,isVariance:()=>li,isVoidPattern:()=>Qi,isVoidTypeAnnotation:()=>pi,isWhile:()=>va,isWhileStatement:()=>wn,isWithStatement:()=>Cn,isYieldExpression:()=>Qn,jsxAttribute:()=>Up,jsxClosingElement:()=>qp,jsxClosingFragment:()=>ed,jsxElement:()=>$p,jsxEmptyExpression:()=>Jp,jsxExpressionContainer:()=>Vp,jsxFragment:()=>Qp,jsxIdentifier:()=>Wp,jsxMemberExpression:()=>Xp,jsxNamespacedName:()=>Hp,jsxOpeningElement:()=>zp,jsxOpeningFragment:()=>Zp,jsxSpreadAttribute:()=>Yp,jsxSpreadChild:()=>Kp,jsxText:()=>Gp,labeledStatement:()=>gc,logicalExpression:()=>Pc,matchesPattern:()=>mo,memberExpression:()=>vc,metaProperty:()=>ol,mixedTypeAnnotation:()=>tp,moduleExpression:()=>ld,newExpression:()=>Ac,nullLiteral:()=>Sc,nullLiteralTypeAnnotation:()=>Ol,nullableTypeAnnotation:()=>rp,numberLiteral:()=>_h,numberLiteralTypeAnnotation:()=>ip,numberTypeAnnotation:()=>sp,numericLiteral:()=>xc,objectExpression:()=>Cc,objectMethod:()=>kc,objectPattern:()=>cl,objectProperty:()=>Ic,objectTypeAnnotation:()=>ap,objectTypeCallProperty:()=>up,objectTypeIndexer:()=>cp,objectTypeInternalSlot:()=>op,objectTypeProperty:()=>lp,objectTypeSpreadProperty:()=>pp,opaqueType:()=>dp,optionalCallExpression:()=>Tl,optionalIndexedAccessType:()=>jp,optionalMemberExpression:()=>Sl,parenthesizedExpression:()=>Oc,pipelineBareFunction:()=>hd,pipelinePrimaryTopicReference:()=>fd,pipelineTopicExpression:()=>dd,placeholder:()=>td,prependToMemberExpression:()=>HA,privateName:()=>wl,program:()=>wc,qualifiedTypeIdentifier:()=>hp,react:()=>hw,recordExpression:()=>ud,regExpLiteral:()=>Ec,regexLiteral:()=>Nh,removeComments:()=>Nv,removeProperties:()=>UA,removePropertiesDeep:()=>qA,removeTypeDuplicates:()=>uv,restElement:()=>_c,restProperty:()=>Lh,returnStatement:()=>Nc,sequenceExpression:()=>Lc,shallowEqual:()=>Ct,spreadElement:()=>ll,spreadProperty:()=>Oh,staticBlock:()=>Cl,stringLiteral:()=>bc,stringLiteralTypeAnnotation:()=>fp,stringTypeAnnotation:()=>mp,super:()=>pl,switchCase:()=>Dc,switchStatement:()=>Mc,symbolTypeAnnotation:()=>yp,taggedTemplateExpression:()=>dl,templateElement:()=>hl,templateLiteral:()=>fl,thisExpression:()=>Bc,thisTypeAnnotation:()=>gp,throwStatement:()=>Fc,toBindingIdentifierName:()=>LA,toBlock:()=>IA,toComputedKey:()=>OA,toExpression:()=>DA,toIdentifier:()=>NA,toKeyAlias:()=>$A,toStatement:()=>JA,topicReference:()=>pd,traverse:()=>ew,traverseFast:()=>FA,tryStatement:()=>Rc,tsAnyKeyword:()=>Ad,tsArrayType:()=>Kd,tsAsExpression:()=>dh,tsBigIntKeyword:()=>Cd,tsBooleanKeyword:()=>wd,tsCallSignatureDeclaration:()=>Sd,tsClassImplements:()=>ah,tsConditionalType:()=>Qd,tsConstructSignatureDeclaration:()=>Td,tsConstructorType:()=>Ud,tsDeclareFunction:()=>gd,tsDeclareMethod:()=>bd,tsEnumBody:()=>mh,tsEnumDeclaration:()=>yh,tsEnumMember:()=>gh,tsExportAssignment:()=>vh,tsExternalModuleReference:()=>Eh,tsFunctionType:()=>jd,tsImportEqualsDeclaration:()=>Th,tsImportType:()=>Sh,tsIndexSignature:()=>vd,tsIndexedAccessType:()=>nh,tsInferType:()=>Zd,tsInstantiationExpression:()=>ph,tsInterfaceBody:()=>ch,tsInterfaceDeclaration:()=>uh,tsInterfaceHeritage:()=>oh,tsIntersectionType:()=>Gd,tsIntrinsicKeyword:()=>kd,tsLiteralType:()=>sh,tsMappedType:()=>rh,tsMethodSignature:()=>Pd,tsModuleBlock:()=>xh,tsModuleDeclaration:()=>bh,tsNamedTupleMember:()=>zd,tsNamespaceExportDeclaration:()=>Ah,tsNeverKeyword:()=>Id,tsNonNullExpression:()=>Ph,tsNullKeyword:()=>_d,tsNumberKeyword:()=>Nd,tsObjectKeyword:()=>Ld,tsOptionalType:()=>Xd,tsParameterProperty:()=>yd,tsParenthesizedType:()=>eh,tsPropertySignature:()=>Ed,tsQualifiedName:()=>xd,tsRestType:()=>Hd,tsSatisfiesExpression:()=>hh,tsStringKeyword:()=>Od,tsSymbolKeyword:()=>Dd,tsTemplateLiteralType:()=>ih,tsThisType:()=>Rd,tsTupleType:()=>Wd,tsTypeAliasDeclaration:()=>lh,tsTypeAnnotation:()=>wh,tsTypeAssertion:()=>fh,tsTypeLiteral:()=>Vd,tsTypeOperator:()=>th,tsTypeParameter:()=>Ih,tsTypeParameterDeclaration:()=>kh,tsTypeParameterInstantiation:()=>Ch,tsTypePredicate:()=>$d,tsTypeQuery:()=>Jd,tsTypeReference:()=>qd,tsUndefinedKeyword:()=>Md,tsUnionType:()=>Yd,tsUnknownKeyword:()=>Bd,tsVoidKeyword:()=>Fd,tupleExpression:()=>cd,tupleTypeAnnotation:()=>bp,typeAlias:()=>Sp,typeAnnotation:()=>Tp,typeCastExpression:()=>Ep,typeParameter:()=>Pp,typeParameterDeclaration:()=>vp,typeParameterInstantiation:()=>Ap,typeofTypeAnnotation:()=>xp,unaryExpression:()=>jc,unionTypeAnnotation:()=>wp,updateExpression:()=>Uc,v8IntrinsicIdentifier:()=>nd,validate:()=>$u,valueToNode:()=>KA,variableDeclaration:()=>qc,variableDeclarator:()=>$c,variance:()=>Cp,voidPattern:()=>md,voidTypeAnnotation:()=>kp,whileStatement:()=>Jc,withStatement:()=>Vc,yieldExpression:()=>ml});var ot="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-Ა-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-Ꟑꟑꟓꟕ-ꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",ut="·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・",ct=new RegExp("["+ot+"]"),lt=new RegExp("["+ot+ut+"]");ot=ut=null;var pt=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,2,60,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,200,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,42,9,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,496,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191],dt=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,80,3,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,343,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,726,6,110,6,6,9,4759,9,787719,239];function ht(e,t){let n=65536;for(let r=0,i=t.length;r<i;r+=2){if(n+=t[r],n>e)return!1;if(n+=t[r+1],n>=e)return!0}return!1}function ft(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&ct.test(String.fromCharCode(e)):ht(e,pt)))}function mt(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&<.test(String.fromCharCode(e)):ht(e,pt)||ht(e,dt))))}var yt=["implements","interface","let","package","private","protected","public","static","yield"],gt=["eval","arguments"],bt=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"]),xt=new Set(yt);function St(e,t){return t&&"await"===e||"enum"===e}function Tt(e,t){return St(e,t)||xt.has(e)}function Et(e){return bt.has(e)}new Set(gt);var Pt=function(e){return e>=48&&e<=57};function vt(e,t,n,r){return 96===t||36===t&&123===n.charCodeAt(r+1)}function At(e,t,n,r,i,s){const a=!1;t++;const o=e=>({pos:t,ch:e,lineStart:n,curLine:r}),u=e.charCodeAt(t++);switch(u){case 110:return o("\n");case 114:return o("\r");case 120:{let i;return({code:i,pos:t}=wt(e,t,n,r,2,!1,a,s)),o(null===i?null:String.fromCharCode(i))}case 117:{let i;return({code:i,pos:t}=function(e,t,n,r,i,s){const a=e.charCodeAt(t);let o;if(123===a){if(++t,({code:o,pos:t}=wt(e,t,n,r,e.indexOf("}",t)-t,!0,i,s)),++t,null!==o&&o>1114111)return{code:null,pos:t}}else({code:o,pos:t}=wt(e,t,n,r,4,!1,i,s));return{code:o,pos:t}}(e,t,n,r,a,s)),o(null===i?null:String.fromCodePoint(i))}case 116:return o("\t");case 98:return o("\b");case 118:return o("\v");case 102:return o("\f");case 13:10===e.charCodeAt(t)&&++t;case 10:n=t,++r;case 8232:case 8233:return o("");case 56:case 57:return o(null);default:if(u>=48&&u<=55){const n=t-1;let r=/^[0-7]+/.exec(e.slice(n,t+2))[0],i=parseInt(r,8);i>255&&(r=r.slice(0,-1),i=parseInt(r,8)),t+=r.length-1;const s=e.charCodeAt(t);return o("0"!==r||56===s||57===s?null:String.fromCharCode(i))}return o(String.fromCharCode(u))}}function wt(e,t,n,r,i,s,a,o){const u=t;let c;return({n:c,pos:t}=function(e,t,n,r,i,s,a,o,u,c){const l=t;let p=!1,d=0;for(let l=0,h=null==s?1/0:s;l<h;++l){const s=e.charCodeAt(t);let l;if(95===s&&"bail"!==o)return e.charCodeAt(t-1),e.charCodeAt(t+1),{n:null,pos:t};if(l=s>=97?s-97+10:s>=65?s-65+10:Pt(s)?s-48:1/0,l>=i){if(l<=9&&c)return{n:null,pos:t};if(l<=9&&u.invalidDigit(t,n,r,i))l=0;else{if(!a)break;l=0,p=!0}}++t,d=d*i+l}if(t===l||null!=s&&t-l!==s||p)return{n:null,pos:t};return{n:d,pos:t}}(e,t,n,r,16,i,s,!1,o,!0)),null===c&&(t=u-1),{code:c,pos:t}}function Ct(e,t){const n=Object.keys(t);for(const r of n)if(e[r]!==t[r])return!1;return!0}var kt=new Set;function It(e,t,n="",r=e){if(kt.has(r))return;kt.add(r);const{internal:i,trace:s}=function(e,t){const{stackTraceLimit:n,prepareStackTrace:r}=Error;let i;if(Error.stackTraceLimit=1+e+t,Error.prepareStackTrace=function(e,t){i=t},(new Error).stack,Error.stackTraceLimit=n,Error.prepareStackTrace=r,!i)return{internal:!1,trace:""};const s=i.slice(1+e,1+e+t);return{internal:/[\\/]@babel[\\/]/.test(s[1].getFileName()),trace:s.map(e=>` at ${e}`).join("\n")}}(1,2);i||console.warn(`${n}\`${e}\` has been deprecated, please migrate to \`${t}\`\n${s}`)}function _t(e,t){return!!e&&("ArrayExpression"===e.type&&(null==t||Ct(e,t)))}function Nt(e,t){return!!e&&("AssignmentExpression"===e.type&&(null==t||Ct(e,t)))}function Lt(e,t){return!!e&&("BinaryExpression"===e.type&&(null==t||Ct(e,t)))}function Ot(e,t){return!!e&&("InterpreterDirective"===e.type&&(null==t||Ct(e,t)))}function Dt(e,t){return!!e&&("Directive"===e.type&&(null==t||Ct(e,t)))}function Mt(e,t){return!!e&&("DirectiveLiteral"===e.type&&(null==t||Ct(e,t)))}function Bt(e,t){return!!e&&("BlockStatement"===e.type&&(null==t||Ct(e,t)))}function Ft(e,t){return!!e&&("BreakStatement"===e.type&&(null==t||Ct(e,t)))}function Rt(e,t){return!!e&&("CallExpression"===e.type&&(null==t||Ct(e,t)))}function jt(e,t){return!!e&&("CatchClause"===e.type&&(null==t||Ct(e,t)))}function Ut(e,t){return!!e&&("ConditionalExpression"===e.type&&(null==t||Ct(e,t)))}function qt(e,t){return!!e&&("ContinueStatement"===e.type&&(null==t||Ct(e,t)))}function $t(e,t){return!!e&&("DebuggerStatement"===e.type&&(null==t||Ct(e,t)))}function Jt(e,t){return!!e&&("DoWhileStatement"===e.type&&(null==t||Ct(e,t)))}function Vt(e,t){return!!e&&("EmptyStatement"===e.type&&(null==t||Ct(e,t)))}function Kt(e,t){return!!e&&("ExpressionStatement"===e.type&&(null==t||Ct(e,t)))}function Wt(e,t){return!!e&&("File"===e.type&&(null==t||Ct(e,t)))}function Xt(e,t){return!!e&&("ForInStatement"===e.type&&(null==t||Ct(e,t)))}function Ht(e,t){return!!e&&("ForStatement"===e.type&&(null==t||Ct(e,t)))}function zt(e,t){return!!e&&("FunctionDeclaration"===e.type&&(null==t||Ct(e,t)))}function Yt(e,t){return!!e&&("FunctionExpression"===e.type&&(null==t||Ct(e,t)))}function Gt(e,t){return!!e&&("Identifier"===e.type&&(null==t||Ct(e,t)))}function Qt(e,t){return!!e&&("IfStatement"===e.type&&(null==t||Ct(e,t)))}function Zt(e,t){return!!e&&("LabeledStatement"===e.type&&(null==t||Ct(e,t)))}function en(e,t){return!!e&&("StringLiteral"===e.type&&(null==t||Ct(e,t)))}function tn(e,t){return!!e&&("NumericLiteral"===e.type&&(null==t||Ct(e,t)))}function nn(e,t){return!!e&&("NullLiteral"===e.type&&(null==t||Ct(e,t)))}function rn(e,t){return!!e&&("BooleanLiteral"===e.type&&(null==t||Ct(e,t)))}function sn(e,t){return!!e&&("RegExpLiteral"===e.type&&(null==t||Ct(e,t)))}function an(e,t){return!!e&&("LogicalExpression"===e.type&&(null==t||Ct(e,t)))}function on(e,t){return!!e&&("MemberExpression"===e.type&&(null==t||Ct(e,t)))}function un(e,t){return!!e&&("NewExpression"===e.type&&(null==t||Ct(e,t)))}function cn(e,t){return!!e&&("Program"===e.type&&(null==t||Ct(e,t)))}function ln(e,t){return!!e&&("ObjectExpression"===e.type&&(null==t||Ct(e,t)))}function pn(e,t){return!!e&&("ObjectMethod"===e.type&&(null==t||Ct(e,t)))}function dn(e,t){return!!e&&("ObjectProperty"===e.type&&(null==t||Ct(e,t)))}function hn(e,t){return!!e&&("RestElement"===e.type&&(null==t||Ct(e,t)))}function fn(e,t){return!!e&&("ReturnStatement"===e.type&&(null==t||Ct(e,t)))}function mn(e,t){return!!e&&("SequenceExpression"===e.type&&(null==t||Ct(e,t)))}function yn(e,t){return!!e&&("ParenthesizedExpression"===e.type&&(null==t||Ct(e,t)))}function gn(e,t){return!!e&&("SwitchCase"===e.type&&(null==t||Ct(e,t)))}function bn(e,t){return!!e&&("SwitchStatement"===e.type&&(null==t||Ct(e,t)))}function xn(e,t){return!!e&&("ThisExpression"===e.type&&(null==t||Ct(e,t)))}function Sn(e,t){return!!e&&("ThrowStatement"===e.type&&(null==t||Ct(e,t)))}function Tn(e,t){return!!e&&("TryStatement"===e.type&&(null==t||Ct(e,t)))}function En(e,t){return!!e&&("UnaryExpression"===e.type&&(null==t||Ct(e,t)))}function Pn(e,t){return!!e&&("UpdateExpression"===e.type&&(null==t||Ct(e,t)))}function vn(e,t){return!!e&&("VariableDeclaration"===e.type&&(null==t||Ct(e,t)))}function An(e,t){return!!e&&("VariableDeclarator"===e.type&&(null==t||Ct(e,t)))}function wn(e,t){return!!e&&("WhileStatement"===e.type&&(null==t||Ct(e,t)))}function Cn(e,t){return!!e&&("WithStatement"===e.type&&(null==t||Ct(e,t)))}function kn(e,t){return!!e&&("AssignmentPattern"===e.type&&(null==t||Ct(e,t)))}function In(e,t){return!!e&&("ArrayPattern"===e.type&&(null==t||Ct(e,t)))}function _n(e,t){return!!e&&("ArrowFunctionExpression"===e.type&&(null==t||Ct(e,t)))}function Nn(e,t){return!!e&&("ClassBody"===e.type&&(null==t||Ct(e,t)))}function Ln(e,t){return!!e&&("ClassExpression"===e.type&&(null==t||Ct(e,t)))}function On(e,t){return!!e&&("ClassDeclaration"===e.type&&(null==t||Ct(e,t)))}function Dn(e,t){return!!e&&("ExportAllDeclaration"===e.type&&(null==t||Ct(e,t)))}function Mn(e,t){return!!e&&("ExportDefaultDeclaration"===e.type&&(null==t||Ct(e,t)))}function Bn(e,t){return!!e&&("ExportNamedDeclaration"===e.type&&(null==t||Ct(e,t)))}function Fn(e,t){return!!e&&("ExportSpecifier"===e.type&&(null==t||Ct(e,t)))}function Rn(e,t){return!!e&&("ForOfStatement"===e.type&&(null==t||Ct(e,t)))}function jn(e,t){return!!e&&("ImportDeclaration"===e.type&&(null==t||Ct(e,t)))}function Un(e,t){return!!e&&("ImportDefaultSpecifier"===e.type&&(null==t||Ct(e,t)))}function qn(e,t){return!!e&&("ImportNamespaceSpecifier"===e.type&&(null==t||Ct(e,t)))}function $n(e,t){return!!e&&("ImportSpecifier"===e.type&&(null==t||Ct(e,t)))}function Jn(e,t){return!!e&&("ImportExpression"===e.type&&(null==t||Ct(e,t)))}function Vn(e,t){return!!e&&("MetaProperty"===e.type&&(null==t||Ct(e,t)))}function Kn(e,t){return!!e&&("ClassMethod"===e.type&&(null==t||Ct(e,t)))}function Wn(e,t){return!!e&&("ObjectPattern"===e.type&&(null==t||Ct(e,t)))}function Xn(e,t){return!!e&&("SpreadElement"===e.type&&(null==t||Ct(e,t)))}function Hn(e,t){return!!e&&("Super"===e.type&&(null==t||Ct(e,t)))}function zn(e,t){return!!e&&("TaggedTemplateExpression"===e.type&&(null==t||Ct(e,t)))}function Yn(e,t){return!!e&&("TemplateElement"===e.type&&(null==t||Ct(e,t)))}function Gn(e,t){return!!e&&("TemplateLiteral"===e.type&&(null==t||Ct(e,t)))}function Qn(e,t){return!!e&&("YieldExpression"===e.type&&(null==t||Ct(e,t)))}function Zn(e,t){return!!e&&("AwaitExpression"===e.type&&(null==t||Ct(e,t)))}function er(e,t){return!!e&&("Import"===e.type&&(null==t||Ct(e,t)))}function tr(e,t){return!!e&&("BigIntLiteral"===e.type&&(null==t||Ct(e,t)))}function nr(e,t){return!!e&&("ExportNamespaceSpecifier"===e.type&&(null==t||Ct(e,t)))}function rr(e,t){return!!e&&("OptionalMemberExpression"===e.type&&(null==t||Ct(e,t)))}function ir(e,t){return!!e&&("OptionalCallExpression"===e.type&&(null==t||Ct(e,t)))}function sr(e,t){return!!e&&("ClassProperty"===e.type&&(null==t||Ct(e,t)))}function ar(e,t){return!!e&&("ClassAccessorProperty"===e.type&&(null==t||Ct(e,t)))}function or(e,t){return!!e&&("ClassPrivateProperty"===e.type&&(null==t||Ct(e,t)))}function ur(e,t){return!!e&&("ClassPrivateMethod"===e.type&&(null==t||Ct(e,t)))}function cr(e,t){return!!e&&("PrivateName"===e.type&&(null==t||Ct(e,t)))}function lr(e,t){return!!e&&("StaticBlock"===e.type&&(null==t||Ct(e,t)))}function pr(e,t){return!!e&&("ImportAttribute"===e.type&&(null==t||Ct(e,t)))}function dr(e,t){return!!e&&("AnyTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function hr(e,t){return!!e&&("ArrayTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function fr(e,t){return!!e&&("BooleanTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function mr(e,t){return!!e&&("BooleanLiteralTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function yr(e,t){return!!e&&("NullLiteralTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function gr(e,t){return!!e&&("ClassImplements"===e.type&&(null==t||Ct(e,t)))}function br(e,t){return!!e&&("DeclareClass"===e.type&&(null==t||Ct(e,t)))}function xr(e,t){return!!e&&("DeclareFunction"===e.type&&(null==t||Ct(e,t)))}function Sr(e,t){return!!e&&("DeclareInterface"===e.type&&(null==t||Ct(e,t)))}function Tr(e,t){return!!e&&("DeclareModule"===e.type&&(null==t||Ct(e,t)))}function Er(e,t){return!!e&&("DeclareModuleExports"===e.type&&(null==t||Ct(e,t)))}function Pr(e,t){return!!e&&("DeclareTypeAlias"===e.type&&(null==t||Ct(e,t)))}function vr(e,t){return!!e&&("DeclareOpaqueType"===e.type&&(null==t||Ct(e,t)))}function Ar(e,t){return!!e&&("DeclareVariable"===e.type&&(null==t||Ct(e,t)))}function wr(e,t){return!!e&&("DeclareExportDeclaration"===e.type&&(null==t||Ct(e,t)))}function Cr(e,t){return!!e&&("DeclareExportAllDeclaration"===e.type&&(null==t||Ct(e,t)))}function kr(e,t){return!!e&&("DeclaredPredicate"===e.type&&(null==t||Ct(e,t)))}function Ir(e,t){return!!e&&("ExistsTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function _r(e,t){return!!e&&("FunctionTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Nr(e,t){return!!e&&("FunctionTypeParam"===e.type&&(null==t||Ct(e,t)))}function Lr(e,t){return!!e&&("GenericTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Or(e,t){return!!e&&("InferredPredicate"===e.type&&(null==t||Ct(e,t)))}function Dr(e,t){return!!e&&("InterfaceExtends"===e.type&&(null==t||Ct(e,t)))}function Mr(e,t){return!!e&&("InterfaceDeclaration"===e.type&&(null==t||Ct(e,t)))}function Br(e,t){return!!e&&("InterfaceTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Fr(e,t){return!!e&&("IntersectionTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Rr(e,t){return!!e&&("MixedTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function jr(e,t){return!!e&&("EmptyTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Ur(e,t){return!!e&&("NullableTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function qr(e,t){return!!e&&("NumberLiteralTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function $r(e,t){return!!e&&("NumberTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Jr(e,t){return!!e&&("ObjectTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Vr(e,t){return!!e&&("ObjectTypeInternalSlot"===e.type&&(null==t||Ct(e,t)))}function Kr(e,t){return!!e&&("ObjectTypeCallProperty"===e.type&&(null==t||Ct(e,t)))}function Wr(e,t){return!!e&&("ObjectTypeIndexer"===e.type&&(null==t||Ct(e,t)))}function Xr(e,t){return!!e&&("ObjectTypeProperty"===e.type&&(null==t||Ct(e,t)))}function Hr(e,t){return!!e&&("ObjectTypeSpreadProperty"===e.type&&(null==t||Ct(e,t)))}function zr(e,t){return!!e&&("OpaqueType"===e.type&&(null==t||Ct(e,t)))}function Yr(e,t){return!!e&&("QualifiedTypeIdentifier"===e.type&&(null==t||Ct(e,t)))}function Gr(e,t){return!!e&&("StringLiteralTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Qr(e,t){return!!e&&("StringTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function Zr(e,t){return!!e&&("SymbolTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function ei(e,t){return!!e&&("ThisTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function ti(e,t){return!!e&&("TupleTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function ni(e,t){return!!e&&("TypeofTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function ri(e,t){return!!e&&("TypeAlias"===e.type&&(null==t||Ct(e,t)))}function ii(e,t){return!!e&&("TypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function si(e,t){return!!e&&("TypeCastExpression"===e.type&&(null==t||Ct(e,t)))}function ai(e,t){return!!e&&("TypeParameter"===e.type&&(null==t||Ct(e,t)))}function oi(e,t){return!!e&&("TypeParameterDeclaration"===e.type&&(null==t||Ct(e,t)))}function ui(e,t){return!!e&&("TypeParameterInstantiation"===e.type&&(null==t||Ct(e,t)))}function ci(e,t){return!!e&&("UnionTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function li(e,t){return!!e&&("Variance"===e.type&&(null==t||Ct(e,t)))}function pi(e,t){return!!e&&("VoidTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function di(e,t){return!!e&&("EnumDeclaration"===e.type&&(null==t||Ct(e,t)))}function hi(e,t){return!!e&&("EnumBooleanBody"===e.type&&(null==t||Ct(e,t)))}function fi(e,t){return!!e&&("EnumNumberBody"===e.type&&(null==t||Ct(e,t)))}function mi(e,t){return!!e&&("EnumStringBody"===e.type&&(null==t||Ct(e,t)))}function yi(e,t){return!!e&&("EnumSymbolBody"===e.type&&(null==t||Ct(e,t)))}function gi(e,t){return!!e&&("EnumBooleanMember"===e.type&&(null==t||Ct(e,t)))}function bi(e,t){return!!e&&("EnumNumberMember"===e.type&&(null==t||Ct(e,t)))}function xi(e,t){return!!e&&("EnumStringMember"===e.type&&(null==t||Ct(e,t)))}function Si(e,t){return!!e&&("EnumDefaultedMember"===e.type&&(null==t||Ct(e,t)))}function Ti(e,t){return!!e&&("IndexedAccessType"===e.type&&(null==t||Ct(e,t)))}function Ei(e,t){return!!e&&("OptionalIndexedAccessType"===e.type&&(null==t||Ct(e,t)))}function Pi(e,t){return!!e&&("JSXAttribute"===e.type&&(null==t||Ct(e,t)))}function vi(e,t){return!!e&&("JSXClosingElement"===e.type&&(null==t||Ct(e,t)))}function Ai(e,t){return!!e&&("JSXElement"===e.type&&(null==t||Ct(e,t)))}function wi(e,t){return!!e&&("JSXEmptyExpression"===e.type&&(null==t||Ct(e,t)))}function Ci(e,t){return!!e&&("JSXExpressionContainer"===e.type&&(null==t||Ct(e,t)))}function ki(e,t){return!!e&&("JSXSpreadChild"===e.type&&(null==t||Ct(e,t)))}function Ii(e,t){return!!e&&("JSXIdentifier"===e.type&&(null==t||Ct(e,t)))}function _i(e,t){return!!e&&("JSXMemberExpression"===e.type&&(null==t||Ct(e,t)))}function Ni(e,t){return!!e&&("JSXNamespacedName"===e.type&&(null==t||Ct(e,t)))}function Li(e,t){return!!e&&("JSXOpeningElement"===e.type&&(null==t||Ct(e,t)))}function Oi(e,t){return!!e&&("JSXSpreadAttribute"===e.type&&(null==t||Ct(e,t)))}function Di(e,t){return!!e&&("JSXText"===e.type&&(null==t||Ct(e,t)))}function Mi(e,t){return!!e&&("JSXFragment"===e.type&&(null==t||Ct(e,t)))}function Bi(e,t){return!!e&&("JSXOpeningFragment"===e.type&&(null==t||Ct(e,t)))}function Fi(e,t){return!!e&&("JSXClosingFragment"===e.type&&(null==t||Ct(e,t)))}function Ri(e,t){return!!e&&("Placeholder"===e.type&&(null==t||Ct(e,t)))}function ji(e,t){return!!e&&("V8IntrinsicIdentifier"===e.type&&(null==t||Ct(e,t)))}function Ui(e,t){return!!e&&("ArgumentPlaceholder"===e.type&&(null==t||Ct(e,t)))}function qi(e,t){return!!e&&("BindExpression"===e.type&&(null==t||Ct(e,t)))}function $i(e,t){return!!e&&("Decorator"===e.type&&(null==t||Ct(e,t)))}function Ji(e,t){return!!e&&("DoExpression"===e.type&&(null==t||Ct(e,t)))}function Vi(e,t){return!!e&&("ExportDefaultSpecifier"===e.type&&(null==t||Ct(e,t)))}function Ki(e,t){return!!e&&("RecordExpression"===e.type&&(null==t||Ct(e,t)))}function Wi(e,t){return!!e&&("TupleExpression"===e.type&&(null==t||Ct(e,t)))}function Xi(e,t){return!!e&&("ModuleExpression"===e.type&&(null==t||Ct(e,t)))}function Hi(e,t){return!!e&&("TopicReference"===e.type&&(null==t||Ct(e,t)))}function zi(e,t){return!!e&&("PipelineTopicExpression"===e.type&&(null==t||Ct(e,t)))}function Yi(e,t){return!!e&&("PipelineBareFunction"===e.type&&(null==t||Ct(e,t)))}function Gi(e,t){return!!e&&("PipelinePrimaryTopicReference"===e.type&&(null==t||Ct(e,t)))}function Qi(e,t){return!!e&&("VoidPattern"===e.type&&(null==t||Ct(e,t)))}function Zi(e,t){return!!e&&("TSParameterProperty"===e.type&&(null==t||Ct(e,t)))}function es(e,t){return!!e&&("TSDeclareFunction"===e.type&&(null==t||Ct(e,t)))}function ts(e,t){return!!e&&("TSDeclareMethod"===e.type&&(null==t||Ct(e,t)))}function ns(e,t){return!!e&&("TSQualifiedName"===e.type&&(null==t||Ct(e,t)))}function rs(e,t){return!!e&&("TSCallSignatureDeclaration"===e.type&&(null==t||Ct(e,t)))}function is(e,t){return!!e&&("TSConstructSignatureDeclaration"===e.type&&(null==t||Ct(e,t)))}function ss(e,t){return!!e&&("TSPropertySignature"===e.type&&(null==t||Ct(e,t)))}function as(e,t){return!!e&&("TSMethodSignature"===e.type&&(null==t||Ct(e,t)))}function os(e,t){return!!e&&("TSIndexSignature"===e.type&&(null==t||Ct(e,t)))}function us(e,t){return!!e&&("TSAnyKeyword"===e.type&&(null==t||Ct(e,t)))}function cs(e,t){return!!e&&("TSBooleanKeyword"===e.type&&(null==t||Ct(e,t)))}function ls(e,t){return!!e&&("TSBigIntKeyword"===e.type&&(null==t||Ct(e,t)))}function ps(e,t){return!!e&&("TSIntrinsicKeyword"===e.type&&(null==t||Ct(e,t)))}function ds(e,t){return!!e&&("TSNeverKeyword"===e.type&&(null==t||Ct(e,t)))}function hs(e,t){return!!e&&("TSNullKeyword"===e.type&&(null==t||Ct(e,t)))}function fs(e,t){return!!e&&("TSNumberKeyword"===e.type&&(null==t||Ct(e,t)))}function ms(e,t){return!!e&&("TSObjectKeyword"===e.type&&(null==t||Ct(e,t)))}function ys(e,t){return!!e&&("TSStringKeyword"===e.type&&(null==t||Ct(e,t)))}function gs(e,t){return!!e&&("TSSymbolKeyword"===e.type&&(null==t||Ct(e,t)))}function bs(e,t){return!!e&&("TSUndefinedKeyword"===e.type&&(null==t||Ct(e,t)))}function xs(e,t){return!!e&&("TSUnknownKeyword"===e.type&&(null==t||Ct(e,t)))}function Ss(e,t){return!!e&&("TSVoidKeyword"===e.type&&(null==t||Ct(e,t)))}function Ts(e,t){return!!e&&("TSThisType"===e.type&&(null==t||Ct(e,t)))}function Es(e,t){return!!e&&("TSFunctionType"===e.type&&(null==t||Ct(e,t)))}function Ps(e,t){return!!e&&("TSConstructorType"===e.type&&(null==t||Ct(e,t)))}function vs(e,t){return!!e&&("TSTypeReference"===e.type&&(null==t||Ct(e,t)))}function As(e,t){return!!e&&("TSTypePredicate"===e.type&&(null==t||Ct(e,t)))}function ws(e,t){return!!e&&("TSTypeQuery"===e.type&&(null==t||Ct(e,t)))}function Cs(e,t){return!!e&&("TSTypeLiteral"===e.type&&(null==t||Ct(e,t)))}function ks(e,t){return!!e&&("TSArrayType"===e.type&&(null==t||Ct(e,t)))}function Is(e,t){return!!e&&("TSTupleType"===e.type&&(null==t||Ct(e,t)))}function _s(e,t){return!!e&&("TSOptionalType"===e.type&&(null==t||Ct(e,t)))}function Ns(e,t){return!!e&&("TSRestType"===e.type&&(null==t||Ct(e,t)))}function Ls(e,t){return!!e&&("TSNamedTupleMember"===e.type&&(null==t||Ct(e,t)))}function Os(e,t){return!!e&&("TSUnionType"===e.type&&(null==t||Ct(e,t)))}function Ds(e,t){return!!e&&("TSIntersectionType"===e.type&&(null==t||Ct(e,t)))}function Ms(e,t){return!!e&&("TSConditionalType"===e.type&&(null==t||Ct(e,t)))}function Bs(e,t){return!!e&&("TSInferType"===e.type&&(null==t||Ct(e,t)))}function Fs(e,t){return!!e&&("TSParenthesizedType"===e.type&&(null==t||Ct(e,t)))}function Rs(e,t){return!!e&&("TSTypeOperator"===e.type&&(null==t||Ct(e,t)))}function js(e,t){return!!e&&("TSIndexedAccessType"===e.type&&(null==t||Ct(e,t)))}function Us(e,t){return!!e&&("TSMappedType"===e.type&&(null==t||Ct(e,t)))}function qs(e,t){return!!e&&("TSTemplateLiteralType"===e.type&&(null==t||Ct(e,t)))}function $s(e,t){return!!e&&("TSLiteralType"===e.type&&(null==t||Ct(e,t)))}function Js(e,t){return!!e&&("TSClassImplements"===e.type&&(null==t||Ct(e,t)))}function Vs(e,t){return!!e&&("TSInterfaceHeritage"===e.type&&(null==t||Ct(e,t)))}function Ks(e,t){return!!e&&("TSInterfaceDeclaration"===e.type&&(null==t||Ct(e,t)))}function Ws(e,t){return!!e&&("TSInterfaceBody"===e.type&&(null==t||Ct(e,t)))}function Xs(e,t){return!!e&&("TSTypeAliasDeclaration"===e.type&&(null==t||Ct(e,t)))}function Hs(e,t){return!!e&&("TSInstantiationExpression"===e.type&&(null==t||Ct(e,t)))}function zs(e,t){return!!e&&("TSAsExpression"===e.type&&(null==t||Ct(e,t)))}function Ys(e,t){return!!e&&("TSSatisfiesExpression"===e.type&&(null==t||Ct(e,t)))}function Gs(e,t){return!!e&&("TSTypeAssertion"===e.type&&(null==t||Ct(e,t)))}function Qs(e,t){return!!e&&("TSEnumBody"===e.type&&(null==t||Ct(e,t)))}function Zs(e,t){return!!e&&("TSEnumDeclaration"===e.type&&(null==t||Ct(e,t)))}function ea(e,t){return!!e&&("TSEnumMember"===e.type&&(null==t||Ct(e,t)))}function ta(e,t){return!!e&&("TSModuleDeclaration"===e.type&&(null==t||Ct(e,t)))}function na(e,t){return!!e&&("TSModuleBlock"===e.type&&(null==t||Ct(e,t)))}function ra(e,t){return!!e&&("TSImportType"===e.type&&(null==t||Ct(e,t)))}function ia(e,t){return!!e&&("TSImportEqualsDeclaration"===e.type&&(null==t||Ct(e,t)))}function sa(e,t){return!!e&&("TSExternalModuleReference"===e.type&&(null==t||Ct(e,t)))}function aa(e,t){return!!e&&("TSNonNullExpression"===e.type&&(null==t||Ct(e,t)))}function oa(e,t){return!!e&&("TSExportAssignment"===e.type&&(null==t||Ct(e,t)))}function ua(e,t){return!!e&&("TSNamespaceExportDeclaration"===e.type&&(null==t||Ct(e,t)))}function ca(e,t){return!!e&&("TSTypeAnnotation"===e.type&&(null==t||Ct(e,t)))}function la(e,t){return!!e&&("TSTypeParameterInstantiation"===e.type&&(null==t||Ct(e,t)))}function pa(e,t){return!!e&&("TSTypeParameterDeclaration"===e.type&&(null==t||Ct(e,t)))}function da(e,t){return!!e&&("TSTypeParameter"===e.type&&(null==t||Ct(e,t)))}function ha(e,t){if(!e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"InterpreterDirective":case"Directive":case"DirectiveLiteral":case"BlockStatement":case"BreakStatement":case"CallExpression":case"CatchClause":case"ConditionalExpression":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"File":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Identifier":case"IfStatement":case"LabeledStatement":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"Program":case"ObjectExpression":case"ObjectMethod":case"ObjectProperty":case"RestElement":case"ReturnStatement":case"SequenceExpression":case"ParenthesizedExpression":case"SwitchCase":case"SwitchStatement":case"ThisExpression":case"ThrowStatement":case"TryStatement":case"UnaryExpression":case"UpdateExpression":case"VariableDeclaration":case"VariableDeclarator":case"WhileStatement":case"WithStatement":case"AssignmentPattern":case"ArrayPattern":case"ArrowFunctionExpression":case"ClassBody":case"ClassExpression":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ExportSpecifier":case"ForOfStatement":case"ImportDeclaration":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":case"ImportExpression":case"MetaProperty":case"ClassMethod":case"ObjectPattern":case"SpreadElement":case"Super":case"TaggedTemplateExpression":case"TemplateElement":case"TemplateLiteral":case"YieldExpression":case"AwaitExpression":case"Import":case"BigIntLiteral":case"ExportNamespaceSpecifier":case"OptionalMemberExpression":case"OptionalCallExpression":case"ClassProperty":case"ClassAccessorProperty":case"ClassPrivateProperty":case"ClassPrivateMethod":case"PrivateName":case"StaticBlock":case"ImportAttribute":break;case"Placeholder":switch(e.expectedNode){case"Identifier":case"StringLiteral":case"BlockStatement":case"ClassBody":break;default:return!1}break;default:return!1}return null==t||Ct(e,t)}function fa(e,t){if(!e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ParenthesizedExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":case"ArrowFunctionExpression":case"ClassExpression":case"ImportExpression":case"MetaProperty":case"TaggedTemplateExpression":case"TemplateLiteral":case"YieldExpression":case"AwaitExpression":case"Import":case"BigIntLiteral":case"OptionalMemberExpression":case"OptionalCallExpression":case"TypeCastExpression":case"JSXElement":case"JSXFragment":case"BindExpression":case"DoExpression":case"RecordExpression":case"TupleExpression":case"ModuleExpression":case"TopicReference":case"PipelineTopicExpression":case"PipelineBareFunction":case"PipelinePrimaryTopicReference":case"TSInstantiationExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(e.expectedNode){case"Expression":case"Identifier":case"StringLiteral":break;default:return!1}break;default:return!1}return null==t||Ct(e,t)}function ma(e,t){if(!e)return!1;switch(e.type){case"BinaryExpression":case"LogicalExpression":break;default:return!1}return null==t||Ct(e,t)}function ya(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"CatchClause":case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Program":case"ObjectMethod":case"SwitchStatement":case"WhileStatement":case"ArrowFunctionExpression":case"ClassExpression":case"ClassDeclaration":case"ForOfStatement":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;case"Placeholder":if("BlockStatement"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function ga(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"CatchClause":case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Program":case"ObjectMethod":case"SwitchStatement":case"WhileStatement":case"ArrowFunctionExpression":case"ForOfStatement":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;case"Placeholder":if("BlockStatement"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function ba(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"Program":case"TSModuleBlock":break;case"Placeholder":if("BlockStatement"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function xa(e,t){if(!e)return!1;switch(e.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ForOfStatement":case"ImportDeclaration":case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"InterfaceDeclaration":case"OpaqueType":case"TypeAlias":case"EnumDeclaration":case"TSDeclareFunction":case"TSInterfaceDeclaration":case"TSTypeAliasDeclaration":case"TSEnumDeclaration":case"TSModuleDeclaration":case"TSImportEqualsDeclaration":case"TSExportAssignment":case"TSNamespaceExportDeclaration":break;case"Placeholder":switch(e.expectedNode){case"Statement":case"Declaration":case"BlockStatement":break;default:return!1}break;default:return!1}return null==t||Ct(e,t)}function Sa(e,t){if(!e)return!1;switch(e.type){case"BreakStatement":case"ContinueStatement":case"ReturnStatement":case"ThrowStatement":case"YieldExpression":case"AwaitExpression":break;default:return!1}return null==t||Ct(e,t)}function Ta(e,t){if(!e)return!1;switch(e.type){case"BreakStatement":case"ContinueStatement":case"ReturnStatement":case"ThrowStatement":break;default:return!1}return null==t||Ct(e,t)}function Ea(e,t){if(!e)return!1;switch(e.type){case"ConditionalExpression":case"IfStatement":break;default:return!1}return null==t||Ct(e,t)}function Pa(e,t){if(!e)return!1;switch(e.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":case"ForOfStatement":break;default:return!1}return null==t||Ct(e,t)}function va(e,t){if(!e)return!1;switch(e.type){case"DoWhileStatement":case"WhileStatement":break;default:return!1}return null==t||Ct(e,t)}function Aa(e,t){if(!e)return!1;switch(e.type){case"ExpressionStatement":case"ParenthesizedExpression":case"TypeCastExpression":break;default:return!1}return null==t||Ct(e,t)}function wa(e,t){if(!e)return!1;switch(e.type){case"ForInStatement":case"ForStatement":case"ForOfStatement":break;default:return!1}return null==t||Ct(e,t)}function Ca(e,t){if(!e)return!1;switch(e.type){case"ForInStatement":case"ForOfStatement":break;default:return!1}return null==t||Ct(e,t)}function ka(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"FunctionExpression":case"ObjectMethod":case"ArrowFunctionExpression":case"ClassMethod":case"ClassPrivateMethod":break;default:return!1}return null==t||Ct(e,t)}function Ia(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"FunctionExpression":case"ObjectMethod":case"ArrowFunctionExpression":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;default:return!1}return null==t||Ct(e,t)}function _a(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"FunctionExpression":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"ArrowFunctionExpression":case"BigIntLiteral":break;case"Placeholder":if("StringLiteral"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function Na(e,t){if(!e)return!1;switch(e.type){case"FunctionDeclaration":case"VariableDeclaration":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ImportDeclaration":case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"InterfaceDeclaration":case"OpaqueType":case"TypeAlias":case"EnumDeclaration":case"TSDeclareFunction":case"TSInterfaceDeclaration":case"TSTypeAliasDeclaration":case"TSEnumDeclaration":case"TSModuleDeclaration":case"TSImportEqualsDeclaration":break;case"Placeholder":if("Declaration"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function La(e,t){if(!e)return!1;switch(e.type){case"Identifier":case"RestElement":case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":case"VoidPattern":break;case"Placeholder":if("Identifier"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function Oa(e,t){if(!e)return!1;switch(e.type){case"Identifier":case"MemberExpression":case"RestElement":case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":case"VoidPattern":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(e.expectedNode){case"Pattern":case"Identifier":break;default:return!1}break;default:return!1}return null==t||Ct(e,t)}function Da(e,t){if(!e)return!1;switch(e.type){case"Identifier":case"MemberExpression":case"ArrayPattern":case"ObjectPattern":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(e.expectedNode){case"Pattern":case"Identifier":break;default:return!1}break;default:return!1}return null==t||Ct(e,t)}function Ma(e,t){if(!e)return!1;switch(e.type){case"Identifier":case"ThisExpression":case"TSQualifiedName":break;case"Placeholder":if("Identifier"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function Ba(e,t){if(!e)return!1;switch(e.type){case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"TemplateLiteral":case"BigIntLiteral":break;case"Placeholder":if("StringLiteral"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function Fa(e,t){if(!e)return!1;switch(e.type){case"ObjectMethod":case"ObjectProperty":case"ObjectTypeInternalSlot":case"ObjectTypeCallProperty":case"ObjectTypeIndexer":case"ObjectTypeProperty":case"ObjectTypeSpreadProperty":break;default:return!1}return null==t||Ct(e,t)}function Ra(e,t){if(!e)return!1;switch(e.type){case"ObjectMethod":case"ClassMethod":case"ClassPrivateMethod":break;default:return!1}return null==t||Ct(e,t)}function ja(e,t){if(!e)return!1;switch(e.type){case"ObjectMethod":case"ObjectProperty":break;default:return!1}return null==t||Ct(e,t)}function Ua(e,t){if(!e)return!1;switch(e.type){case"ObjectProperty":case"ClassProperty":case"ClassAccessorProperty":case"ClassPrivateProperty":break;default:return!1}return null==t||Ct(e,t)}function qa(e,t){if(!e)return!1;switch(e.type){case"UnaryExpression":case"SpreadElement":break;default:return!1}return null==t||Ct(e,t)}function $a(e,t){if(!e)return!1;switch(e.type){case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":case"VoidPattern":break;case"Placeholder":if("Pattern"===e.expectedNode)break;default:return!1}return null==t||Ct(e,t)}function Ja(e,t){if(!e)return!1;switch(e.type){case"ClassExpression":case"ClassDeclaration":break;default:return!1}return null==t||Ct(e,t)}function Va(e,t){if(!e)return!1;switch(e.type){case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ImportDeclaration":break;default:return!1}return null==t||Ct(e,t)}function Ka(e,t){if(!e)return!1;switch(e.type){case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":break;default:return!1}return null==t||Ct(e,t)}function Wa(e,t){if(!e)return!1;switch(e.type){case"ExportSpecifier":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":case"ExportNamespaceSpecifier":case"ExportDefaultSpecifier":break;default:return!1}return null==t||Ct(e,t)}function Xa(e,t){return!!e&&("ClassAccessorProperty"===e.type&&(null==t||Ct(e,t)))}function Ha(e,t){if(!e)return!1;switch(e.type){case"ClassPrivateProperty":case"ClassPrivateMethod":case"PrivateName":break;default:return!1}return null==t||Ct(e,t)}function za(){}function Ya(){}function Ga(){}function Qa(){}function Za(){}function eo(e,t){if(!e)return!1;switch(e.type){case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":break;default:return!1}return null==t||Ct(e,t)}function to(e,t){if(!e)return!1;switch(e.type){case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":case"EnumDefaultedMember":break;default:return!1}return null==t||Ct(e,t)}function no(e,t){if(!e)return!1;switch(e.type){case"JSXAttribute":case"JSXClosingElement":case"JSXElement":case"JSXEmptyExpression":case"JSXExpressionContainer":case"JSXSpreadChild":case"JSXIdentifier":case"JSXMemberExpression":case"JSXNamespacedName":case"JSXOpeningElement":case"JSXSpreadAttribute":case"JSXText":case"JSXFragment":case"JSXOpeningFragment":case"JSXClosingFragment":break;default:return!1}return null==t||Ct(e,t)}function ro(e,t){if(!e)return!1;switch(e.type){case"Placeholder":case"V8IntrinsicIdentifier":break;default:return!1}return null==t||Ct(e,t)}function io(e,t){if(!e)return!1;switch(e.type){case"TSParameterProperty":case"TSDeclareFunction":case"TSDeclareMethod":case"TSQualifiedName":case"TSCallSignatureDeclaration":case"TSConstructSignatureDeclaration":case"TSPropertySignature":case"TSMethodSignature":case"TSIndexSignature":case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSFunctionType":case"TSConstructorType":case"TSTypeReference":case"TSTypePredicate":case"TSTypeQuery":case"TSTypeLiteral":case"TSArrayType":case"TSTupleType":case"TSOptionalType":case"TSRestType":case"TSNamedTupleMember":case"TSUnionType":case"TSIntersectionType":case"TSConditionalType":case"TSInferType":case"TSParenthesizedType":case"TSTypeOperator":case"TSIndexedAccessType":case"TSMappedType":case"TSTemplateLiteralType":case"TSLiteralType":case"TSClassImplements":case"TSInterfaceHeritage":case"TSInterfaceDeclaration":case"TSInterfaceBody":case"TSTypeAliasDeclaration":case"TSInstantiationExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSEnumBody":case"TSEnumDeclaration":case"TSEnumMember":case"TSModuleDeclaration":case"TSModuleBlock":case"TSImportType":case"TSImportEqualsDeclaration":case"TSExternalModuleReference":case"TSNonNullExpression":case"TSExportAssignment":case"TSNamespaceExportDeclaration":case"TSTypeAnnotation":case"TSTypeParameterInstantiation":case"TSTypeParameterDeclaration":case"TSTypeParameter":break;default:return!1}return null==t||Ct(e,t)}function so(e,t){if(!e)return!1;switch(e.type){case"TSCallSignatureDeclaration":case"TSConstructSignatureDeclaration":case"TSPropertySignature":case"TSMethodSignature":case"TSIndexSignature":break;default:return!1}return null==t||Ct(e,t)}function ao(e,t){if(!e)return!1;switch(e.type){case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSFunctionType":case"TSConstructorType":case"TSTypeReference":case"TSTypePredicate":case"TSTypeQuery":case"TSTypeLiteral":case"TSArrayType":case"TSTupleType":case"TSOptionalType":case"TSRestType":case"TSUnionType":case"TSIntersectionType":case"TSConditionalType":case"TSInferType":case"TSParenthesizedType":case"TSTypeOperator":case"TSIndexedAccessType":case"TSMappedType":case"TSTemplateLiteralType":case"TSLiteralType":case"TSClassImplements":case"TSInterfaceHeritage":case"TSImportType":break;default:return!1}return null==t||Ct(e,t)}function oo(e,t){if(!e)return!1;switch(e.type){case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSTemplateLiteralType":case"TSLiteralType":break;default:return!1}return null==t||Ct(e,t)}function uo(e,t){return It("isNumberLiteral","isNumericLiteral"),!!e&&("NumberLiteral"===e.type&&(null==t||Ct(e,t)))}function co(e,t){return It("isRegexLiteral","isRegExpLiteral"),!!e&&("RegexLiteral"===e.type&&(null==t||Ct(e,t)))}function lo(e,t){return It("isRestProperty","isRestElement"),!!e&&("RestProperty"===e.type&&(null==t||Ct(e,t)))}function po(e,t){return It("isSpreadProperty","isSpreadElement"),!!e&&("SpreadProperty"===e.type&&(null==t||Ct(e,t)))}function ho(e,t){return It("isModuleDeclaration","isImportOrExportDeclaration"),Va(e,t)}function fo(e){return on(e)||Vn(e)}function mo(e,t,n){if(!fo(e))return!1;const r=Array.isArray(t)?t:t.split("."),i=[];let s;for(s=e;fo(s);s=s.object??s.meta)i.push(s.property);if(i.push(s),i.length<r.length)return!1;if(!n&&i.length>r.length)return!1;for(let e=0,t=i.length-1;e<r.length;e++,t--){const n=i[t];let s;if(Gt(n))s=n.name;else if(en(n))s=n.value;else if(xn(n))s="this";else if(Hn(n))s="super";else{if(!cr(n))return!1;s="#"+n.id.name}if(r[e]!==s)return!1}return!0}function yo(e,t){const n=e.split(".");return e=>mo(e,n,t)}var go=yo("React.Component");function bo(e,t){if(e===t)return!0;if(null==e)return!1;if(qo[t])return!1;const n=$o[t];return!!n?.includes(e)}function xo(e,t){if(e===t)return!0;const n=ku[e];return!!n?.includes(t)}function So(e,t,n){if(!t)return!1;return bo(t.type,e)?void 0===n||Ct(t,n):!n&&"Placeholder"===t.type&&e in $o&&xo(t.expectedNode,e)}function To(e,t=!0){return"string"==typeof e&&((!t||!Et(e)&&!Tt(e,!0))&&function(e){let t=!0;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);if(55296==(64512&r)&&n+1<e.length){const t=e.charCodeAt(++n);56320==(64512&t)&&(r=65536+((1023&r)<<10)+(1023&t))}if(t){if(t=!1,!ft(r))return!1}else if(!mt(r))return!1}return!t}(e))}var Eo=["consequent","body","alternate"],Po=["body","expressions"],vo=["left","init"],Ao=["leadingComments","trailingComments","innerComments"],wo=["||","&&","??"],Co=["++","--"],ko=[">","<",">=","<="],Io=["==","===","!=","!=="],_o=[...Io,"in","instanceof"],No=[..._o,...ko],Lo=["-","/","%","*","**","&","|",">>",">>>","<<","^"],Oo=["+",...Lo,...No,"|>"],Do=["=","+=",...Lo.map(e=>e+"="),...wo.map(e=>e+"=")],Mo=["delete","!"],Bo=["+","-","~"],Fo=["typeof"],Ro=["void","throw",...Mo,...Bo,...Fo],jo={optional:["typeAnnotation","typeParameters","returnType"],force:["start","loc","end"]},Uo={},qo={},$o={},Jo={},Vo={},Ko={},Wo={};function Xo(e){return Array.isArray(e)?"array":null===e?"null":typeof e}function Ho(e){return{validate:e}}function zo(...e){return Ho(iu(...e))}function Yo(e){return{validate:e,optional:!0}}function Go(...e){return{validate:iu(...e),optional:!0}}function Qo(e){return cu(au("array"),tu(e))}function Zo(...e){return Qo(iu(...e))}function eu(...e){return Ho(Zo(...e))}function tu(e){const t=Vu;function n(n,r,i){if(!Array.isArray(i))return;let s=0;const a={toString:()=>`${r}[${s}]`};for(;s<i.length;s++){const r=i[s];e(n,a,r),t(n,a,r)}}return n.each=e,n}function nu(...e){function t(t,n,r){if(!e.includes(r))throw new TypeError(`Property ${n} expected value to be one of ${JSON.stringify(e)} but got ${JSON.stringify(r)}`)}return t.oneOf=e,t}var ru=[];function iu(...e){const t=new Set;function n(n,r,i){const s=i?.type;if(null!=s){if(t.has(s))return void Vu(n,r,i);if("Placeholder"===s)for(const t of e)if(So(t,i))return void Vu(n,r,i)}throw new TypeError(`Property ${r} of ${n.type} expected node to be of a type ${JSON.stringify(e)} but instead got ${JSON.stringify(s)}`)}return ru.push({types:e,set:t}),n.oneOfNodeTypes=e,n}function su(...e){function t(t,n,r){const i=Xo(r);for(const s of e)if(i===s||So(s,r))return void Vu(t,n,r);throw new TypeError(`Property ${n} of ${t.type} expected node to be of a type ${JSON.stringify(e)} but instead got ${JSON.stringify(r?.type)}`)}return t.oneOfNodeOrValueTypes=e,t}function au(e){function t(t,n,r){if(Xo(r)!==e)throw new TypeError(`Property ${n} expected type of ${e} but got ${Xo(r)}`)}return t.type=e,t}function ou(e){const t=Object.keys(e);function n(n,r,i){const s=[];for(const r of t)try{Ju(n,r,i[r],e[r])}catch(e){if(e instanceof TypeError){s.push(e.message);continue}throw e}if(s.length)throw new TypeError(`Property ${r} of ${n.type} expected to have the following:\n${s.join("\n")}`)}return n.shapeOf=e,n}function uu(){return function(e){let t=e;for(;e;){const{type:e}=t;if("OptionalCallExpression"!==e){if("OptionalMemberExpression"!==e)break;if(t.optional)return;t=t.object}else{if(t.optional)return;t=t.callee}}throw new TypeError(`Non-optional ${e.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${t?.type}`)}}function cu(...e){function t(...t){for(const n of e)n(...t)}if(t.chainOf=e,e.length>=2&&"type"in e[0]&&"array"===e[0].type&&!("each"in e[1]))throw new Error('An assertValueType("array") validator can only be followed by an assertEach(...) validator.');return t}var lu=new Set(["aliases","builder","deprecatedAlias","fields","inherits","visitor","validate"]),pu=new Set(["default","optional","deprecated","validate"]),du={};function hu(...e){return(t,n={})=>{let r=n.aliases;r||(n.inherits&&(r=du[n.inherits].aliases?.slice()),r??(r=[]),n.aliases=r);const i=e.filter(e=>!r.includes(e));r.unshift(...i),fu(t,n)}}function fu(e,t={}){const n=t.inherits&&du[t.inherits]||{};let r=t.fields;if(!r&&(r={},n.fields)){const e=Object.getOwnPropertyNames(n.fields);for(const t of e){const e=n.fields[t],i=e.default;if(Array.isArray(i)?i.length>0:i&&"object"==typeof i)throw new Error("field defaults can only be primitives or empty arrays currently");r[t]={default:Array.isArray(i)?[]:i,optional:e.optional,deprecated:e.deprecated,validate:e.validate}}}const i=t.visitor||n.visitor||[],s=t.aliases||n.aliases||[],a=t.builder||n.builder||t.visitor||[];for(const n of Object.keys(t))if(!lu.has(n))throw new Error(`Unknown type option "${n}" on ${e}`);t.deprecatedAlias&&(Ko[t.deprecatedAlias]=e);for(const e of i.concat(a))r[e]=r[e]||{};for(const t of Object.keys(r)){const n=r[t];void 0===n.default||a.includes(t)||(n.optional=!0),void 0===n.default?n.default=null:n.validate||null==n.default||(n.validate=au(Xo(n.default)));for(const r of Object.keys(n))if(!pu.has(r))throw new Error(`Unknown field key "${r}" on ${e}.${t}`)}Uo[e]=t.visitor=i,Vo[e]=t.builder=a,Jo[e]=t.fields=r,qo[e]=t.aliases=s,s.forEach(t=>{$o[t]=$o[t]||[],$o[t].push(e)}),t.validate&&(Wo[e]=t.validate),du[e]=t}var mu=Object.freeze({__proto__:null,ALIAS_KEYS:qo,BUILDER_KEYS:Vo,DEPRECATED_KEYS:Ko,FLIPPED_ALIAS_KEYS:$o,NODE_FIELDS:Jo,NODE_PARENT_VALIDATIONS:Wo,VISITOR_KEYS:Uo,allExpandedTypes:ru,arrayOf:Qo,arrayOfType:Zo,assertEach:tu,assertNodeOrValueType:su,assertNodeType:iu,assertOneOf:nu,assertOptionalChainStart:uu,assertShape:ou,assertValueType:au,chain:cu,default:fu,defineAliasedType:hu,validate:Ho,validateArrayOfType:eu,validateOptional:Yo,validateOptionalType:Go,validateType:zo}),yu=hu("Standardized");yu("ArrayExpression",{fields:{elements:{validate:Qo(su("null","Expression","SpreadElement")),default:void 0}},visitor:["elements"],aliases:["Expression"]}),yu("AssignmentExpression",{fields:{operator:{validate:Object.assign(function(){const e=nu(...Do),t=nu("=");return function(n,r,i){(So("Pattern",n.left)?t:e)(n,r,i)}}(),{oneOf:Do})},left:{validate:iu("Identifier","MemberExpression","OptionalMemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")},right:{validate:iu("Expression")}},builder:["operator","left","right"],visitor:["left","right"],aliases:["Expression"]}),yu("BinaryExpression",{builder:["operator","left","right"],fields:{operator:{validate:nu(...Oo)},left:{validate:function(){const e=iu("Expression"),t=iu("Expression","PrivateName");return Object.assign(function(n,r,i){("in"===n.operator?t:e)(n,r,i)},{oneOfNodeTypes:["Expression","PrivateName"]})}()},right:{validate:iu("Expression")}},visitor:["left","right"],aliases:["Binary","Expression"]}),yu("InterpreterDirective",{builder:["value"],fields:{value:{validate:au("string")}}}),yu("Directive",{visitor:["value"],fields:{value:{validate:iu("DirectiveLiteral")}}}),yu("DirectiveLiteral",{builder:["value"],fields:{value:{validate:au("string")}}}),yu("BlockStatement",{builder:["body","directives"],visitor:["directives","body"],fields:{directives:{validate:Zo("Directive"),default:[]},body:eu("Statement")},aliases:["Scopable","BlockParent","Block","Statement"]}),yu("BreakStatement",{visitor:["label"],fields:{label:{validate:iu("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),yu("CallExpression",{visitor:["callee","typeArguments","arguments"],builder:["callee","arguments"],aliases:["Expression"],fields:Object.assign({callee:{validate:iu("Expression","Super","V8IntrinsicIdentifier")},arguments:eu("Expression","SpreadElement","ArgumentPlaceholder"),typeArguments:{validate:iu("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}},{})}),yu("CatchClause",{visitor:["param","body"],fields:{param:{validate:iu("Identifier","ArrayPattern","ObjectPattern"),optional:!0},body:{validate:iu("BlockStatement")}},aliases:["Scopable","BlockParent"]}),yu("ConditionalExpression",{visitor:["test","consequent","alternate"],fields:{test:{validate:iu("Expression")},consequent:{validate:iu("Expression")},alternate:{validate:iu("Expression")}},aliases:["Expression","Conditional"]}),yu("ContinueStatement",{visitor:["label"],fields:{label:{validate:iu("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),yu("DebuggerStatement",{aliases:["Statement"]}),yu("DoWhileStatement",{builder:["test","body"],visitor:["body","test"],fields:{test:{validate:iu("Expression")},body:{validate:iu("Statement")}},aliases:["Statement","BlockParent","Loop","While","Scopable"]}),yu("EmptyStatement",{aliases:["Statement"]}),yu("ExpressionStatement",{visitor:["expression"],fields:{expression:{validate:iu("Expression")}},aliases:["Statement","ExpressionWrapper"]}),yu("File",{builder:["program","comments","tokens"],visitor:["program"],fields:{program:{validate:iu("Program")},comments:{validate:tu(iu("CommentBlock","CommentLine")),optional:!0},tokens:{validate:tu(Object.assign(()=>{},{type:"any"})),optional:!0}}}),yu("ForInStatement",{visitor:["left","right","body"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:iu("VariableDeclaration","Identifier","MemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")},right:{validate:iu("Expression")},body:{validate:iu("Statement")}}}),yu("ForStatement",{visitor:["init","test","update","body"],aliases:["Scopable","Statement","For","BlockParent","Loop"],fields:{init:{validate:iu("VariableDeclaration","Expression"),optional:!0},test:{validate:iu("Expression"),optional:!0},update:{validate:iu("Expression"),optional:!0},body:{validate:iu("Statement")}}});var gu=()=>({params:eu("FunctionParameter"),generator:{default:!1},async:{default:!1}}),bu=()=>({returnType:{validate:iu("TypeAnnotation","TSTypeAnnotation"),optional:!0},typeParameters:{validate:iu("TypeParameterDeclaration","TSTypeParameterDeclaration"),optional:!0}}),xu=()=>Object.assign({},gu(),{declare:{validate:au("boolean"),optional:!0},id:{validate:iu("Identifier"),optional:!0}});yu("FunctionDeclaration",{builder:["id","params","body","generator","async"],visitor:["id","typeParameters","params","predicate","returnType","body"],fields:Object.assign({},xu(),bu(),{body:{validate:iu("BlockStatement")},predicate:{validate:iu("DeclaredPredicate","InferredPredicate"),optional:!0}}),aliases:["Scopable","Function","BlockParent","FunctionParent","Statement","Pureish","Declaration"],validate:function(){const e=iu("Identifier");return function(t,n,r){So("ExportDefaultDeclaration",t)||e(r,"id",r.id)}}()}),yu("FunctionExpression",{inherits:"FunctionDeclaration",aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},gu(),bu(),{id:{validate:iu("Identifier"),optional:!0},body:{validate:iu("BlockStatement")},predicate:{validate:iu("DeclaredPredicate","InferredPredicate"),optional:!0}})});var Su=()=>({typeAnnotation:{validate:iu("TypeAnnotation","TSTypeAnnotation"),optional:!0},optional:{validate:au("boolean"),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0}});yu("Identifier",{builder:["name"],visitor:["typeAnnotation","decorators"],aliases:["Expression","FunctionParameter","PatternLike","LVal","TSEntityName"],fields:Object.assign({},Su(),{name:{validate:cu(au("string"),Object.assign(function(e,t,n){if(!To(n,!1))throw new TypeError(`"${n}" is not a valid identifier name`)},{type:"string"}))}}),validate:function(e,t,n){const r=/\.(\w+)$/.exec(t.toString());if(!r)return;const[,i]=r,s={computed:!1};if("property"===i){if(So("MemberExpression",e,s))return;if(So("OptionalMemberExpression",e,s))return}else if("key"===i){if(So("Property",e,s))return;if(So("Method",e,s))return}else if("exported"===i){if(So("ExportSpecifier",e))return}else if("imported"===i){if(So("ImportSpecifier",e,{imported:n}))return}else if("meta"===i&&So("MetaProperty",e,{meta:n}))return;if((Et(n.name)||St(n.name,!1))&&"this"!==n.name)throw new TypeError(`"${n.name}" is not a valid identifier`)}}),yu("IfStatement",{visitor:["test","consequent","alternate"],aliases:["Statement","Conditional"],fields:{test:{validate:iu("Expression")},consequent:{validate:iu("Statement")},alternate:{optional:!0,validate:iu("Statement")}}}),yu("LabeledStatement",{visitor:["label","body"],aliases:["Statement"],fields:{label:{validate:iu("Identifier")},body:{validate:iu("Statement")}}}),yu("StringLiteral",{builder:["value"],fields:{value:{validate:au("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),yu("NumericLiteral",{builder:["value"],deprecatedAlias:"NumberLiteral",fields:{value:{validate:cu(au("number"),Object.assign(function(e,t,n){if(1/n<0||!Number.isFinite(n)){const e=new Error(`NumericLiterals must be non-negative finite numbers. You can use t.valueToNode(${n}) instead.`);if(!(new Error).stack.includes("regenerator"))throw e}},{type:"number"}))}},aliases:["Expression","Pureish","Literal","Immutable"]}),yu("NullLiteral",{aliases:["Expression","Pureish","Literal","Immutable"]}),yu("BooleanLiteral",{builder:["value"],fields:{value:{validate:au("boolean")}},aliases:["Expression","Pureish","Literal","Immutable"]}),yu("RegExpLiteral",{builder:["pattern","flags"],deprecatedAlias:"RegexLiteral",aliases:["Expression","Pureish","Literal"],fields:{pattern:{validate:au("string")},flags:{validate:cu(au("string"),Object.assign(function(e,t,n){const r=/[^dgimsuvy]/.exec(n);if(r)throw new TypeError(`"${r[0]}" is not a valid RegExp flag`)},{type:"string"})),default:""}}}),yu("LogicalExpression",{builder:["operator","left","right"],visitor:["left","right"],aliases:["Binary","Expression"],fields:{operator:{validate:nu(...wo)},left:{validate:iu("Expression")},right:{validate:iu("Expression")}}}),yu("MemberExpression",{builder:["object","property","computed"],visitor:["object","property"],aliases:["Expression","LVal","PatternLike"],fields:Object.assign({object:{validate:iu("Expression","Super")},property:{validate:function(){const e=iu("Identifier","PrivateName"),t=iu("Expression"),n=function(n,r,i){(n.computed?t:e)(n,r,i)};return n.oneOfNodeTypes=["Expression","Identifier","PrivateName"],n}()},computed:{default:!1}},{})}),yu("NewExpression",{inherits:"CallExpression"}),yu("Program",{visitor:["directives","body"],builder:["body","directives","sourceType","interpreter"],fields:{sourceType:{validate:nu("script","module"),default:"script"},interpreter:{validate:iu("InterpreterDirective"),default:null,optional:!0},directives:{validate:Zo("Directive"),default:[]},body:eu("Statement")},aliases:["Scopable","BlockParent","Block"]}),yu("ObjectExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:eu("ObjectMethod","ObjectProperty","SpreadElement")}}),yu("ObjectMethod",{builder:["kind","key","params","body","computed","generator","async"],visitor:["decorators","key","typeParameters","params","returnType","body"],fields:Object.assign({},gu(),bu(),{kind:Object.assign({validate:nu("method","get","set")},{}),computed:{default:!1},key:{validate:function(){const e=iu("Identifier","StringLiteral","NumericLiteral","BigIntLiteral"),t=iu("Expression"),n=function(n,r,i){(n.computed?t:e)(n,r,i)};return n.oneOfNodeTypes=["Expression","Identifier","StringLiteral","NumericLiteral","BigIntLiteral"],n}()},decorators:{validate:Zo("Decorator"),optional:!0},body:{validate:iu("BlockStatement")}}),aliases:["UserWhitespacable","Function","Scopable","BlockParent","FunctionParent","Method","ObjectMember"]}),yu("ObjectProperty",{builder:["key","value","computed","shorthand"],fields:{computed:{default:!1},key:{validate:function(){const e=iu("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","PrivateName"),t=iu("Expression");return Object.assign(function(n,r,i){(n.computed?t:e)(n,r,i)},{oneOfNodeTypes:["Expression","Identifier","StringLiteral","NumericLiteral","BigIntLiteral","PrivateName"]})}()},value:{validate:iu("Expression","PatternLike")},shorthand:{validate:cu(au("boolean"),Object.assign(function(e,t,n){if(n){if(e.computed)throw new TypeError("Property shorthand of ObjectProperty cannot be true if computed is true");if(!So("Identifier",e.key))throw new TypeError("Property shorthand of ObjectProperty cannot be true if key is not an Identifier")}},{type:"boolean"})),default:!1},decorators:{validate:Zo("Decorator"),optional:!0}},visitor:["decorators","key","value"],aliases:["UserWhitespacable","Property","ObjectMember"],validate:function(){const e=iu("Identifier","Pattern","TSAsExpression","TSSatisfiesExpression","TSNonNullExpression","TSTypeAssertion"),t=iu("Expression");return function(n,r,i){(So("ObjectPattern",n)?e:t)(i,"value",i.value)}}()}),yu("RestElement",{visitor:["argument","typeAnnotation"],builder:["argument"],aliases:["FunctionParameter","PatternLike"],deprecatedAlias:"RestProperty",fields:Object.assign({},Su(),{argument:{validate:iu("Identifier","ArrayPattern","ObjectPattern","MemberExpression","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")}}),validate:function(e,t){const n=/(\w+)\[(\d+)\]/.exec(t.toString());if(!n)throw new Error("Internal Babel error: malformed key.");const[,r,i]=n;if(e[r].length>+i+1)throw new TypeError(`RestElement must be last element of ${r}`)}}),yu("ReturnStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:iu("Expression"),optional:!0}}}),yu("SequenceExpression",{visitor:["expressions"],fields:{expressions:eu("Expression")},aliases:["Expression"]}),yu("ParenthesizedExpression",{visitor:["expression"],aliases:["Expression","ExpressionWrapper"],fields:{expression:{validate:iu("Expression")}}}),yu("SwitchCase",{visitor:["test","consequent"],fields:{test:{validate:iu("Expression"),optional:!0},consequent:eu("Statement")}}),yu("SwitchStatement",{visitor:["discriminant","cases"],aliases:["Statement","BlockParent","Scopable"],fields:{discriminant:{validate:iu("Expression")},cases:eu("SwitchCase")}}),yu("ThisExpression",{aliases:["Expression","TSEntityName"]}),yu("ThrowStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:iu("Expression")}}}),yu("TryStatement",{visitor:["block","handler","finalizer"],aliases:["Statement"],fields:{block:{validate:cu(iu("BlockStatement"),Object.assign(function(e){if(!e.handler&&!e.finalizer)throw new TypeError("TryStatement expects either a handler or finalizer, or both")},{oneOfNodeTypes:["BlockStatement"]}))},handler:{optional:!0,validate:iu("CatchClause")},finalizer:{optional:!0,validate:iu("BlockStatement")}}}),yu("UnaryExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!0},argument:{validate:iu("Expression")},operator:{validate:nu(...Ro)}},visitor:["argument"],aliases:["UnaryLike","Expression"]}),yu("UpdateExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!1},argument:{validate:iu("Identifier","MemberExpression")},operator:{validate:nu(...Co)}},visitor:["argument"],aliases:["Expression"]}),yu("VariableDeclaration",{builder:["kind","declarations"],visitor:["declarations"],aliases:["Statement","Declaration"],fields:{declare:{validate:au("boolean"),optional:!0},kind:{validate:nu("var","let","const","using","await using")},declarations:eu("VariableDeclarator")},validate:(()=>{const e=iu("Identifier","Placeholder"),t=iu("Identifier","ArrayPattern","ObjectPattern","Placeholder"),n=iu("Identifier","VoidPattern","Placeholder");return function(r,i,s){const{kind:a,declarations:o}=s,u=So("ForXStatement",r,{left:s});if(u&&1!==o.length)throw new TypeError(`Exactly one VariableDeclarator is required in the VariableDeclaration of a ${r.type}`);for(const r of o)"const"===a||"let"===a||"var"===a?u||r.init?t(r,"id",r.id):e(r,"id",r.id):n(r,"id",r.id)}})()}),yu("VariableDeclarator",{visitor:["id","init"],fields:{id:{validate:iu("Identifier","ArrayPattern","ObjectPattern","VoidPattern")},definite:{optional:!0,validate:au("boolean")},init:{optional:!0,validate:iu("Expression")}}}),yu("WhileStatement",{visitor:["test","body"],aliases:["Statement","BlockParent","Loop","While","Scopable"],fields:{test:{validate:iu("Expression")},body:{validate:iu("Statement")}}}),yu("WithStatement",{visitor:["object","body"],aliases:["Statement"],fields:{object:{validate:iu("Expression")},body:{validate:iu("Statement")}}}),yu("AssignmentPattern",{visitor:["left","right","decorators"],builder:["left","right"],aliases:["FunctionParameter","Pattern","PatternLike"],fields:Object.assign({},Su(),{left:{validate:iu("Identifier","ObjectPattern","ArrayPattern","MemberExpression","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")},right:{validate:iu("Expression")},decorators:{validate:Zo("Decorator"),optional:!0}})}),yu("ArrayPattern",{visitor:["elements","typeAnnotation"],builder:["elements"],aliases:["FunctionParameter","Pattern","PatternLike","LVal"],fields:Object.assign({},Su(),{elements:{validate:cu(au("array"),tu(su("null","PatternLike")))}})}),yu("ArrowFunctionExpression",{builder:["params","body","async"],visitor:["typeParameters","params","predicate","returnType","body"],aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},gu(),bu(),{expression:{validate:au("boolean")},body:{validate:iu("BlockStatement","Expression")},predicate:{validate:iu("DeclaredPredicate","InferredPredicate"),optional:!0}})}),yu("ClassBody",{visitor:["body"],fields:{body:eu("ClassMethod","ClassPrivateMethod","ClassProperty","ClassPrivateProperty","ClassAccessorProperty","TSDeclareMethod","TSIndexSignature","StaticBlock")}}),yu("ClassExpression",{builder:["id","superClass","body","decorators"],visitor:["decorators","id","typeParameters","superClass","superTypeArguments","mixins","implements","body"],aliases:["Scopable","Class","Expression"],fields:{id:{validate:iu("Identifier"),optional:!0},typeParameters:{validate:iu("TypeParameterDeclaration","TSTypeParameterDeclaration"),optional:!0},body:{validate:iu("ClassBody")},superClass:{optional:!0,validate:iu("Expression")},superTypeArguments:{validate:iu("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:Zo("TSClassImplements","ClassImplements"),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0},mixins:{validate:iu("InterfaceExtends"),optional:!0}}}),yu("ClassDeclaration",{inherits:"ClassExpression",aliases:["Scopable","Class","Statement","Declaration"],fields:{id:{validate:iu("Identifier"),optional:!0},typeParameters:{validate:iu("TypeParameterDeclaration","TSTypeParameterDeclaration"),optional:!0},body:{validate:iu("ClassBody")},superClass:{optional:!0,validate:iu("Expression")},superTypeArguments:{validate:iu("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:Zo("TSClassImplements","ClassImplements"),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0},mixins:{validate:iu("InterfaceExtends"),optional:!0},declare:{validate:au("boolean"),optional:!0},abstract:{validate:au("boolean"),optional:!0}},validate:function(){const e=iu("Identifier");return function(t,n,r){So("ExportDefaultDeclaration",t)||e(r,"id",r.id)}}()});var Tu={attributes:{optional:!0,validate:Zo("ImportAttribute")},assertions:{deprecated:!0,optional:!0,validate:Zo("ImportAttribute")}};yu("ExportAllDeclaration",{builder:["source"],visitor:["source","attributes","assertions"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:Object.assign({source:{validate:iu("StringLiteral")},exportKind:Yo(nu("type","value"))},Tu)}),yu("ExportDefaultDeclaration",{visitor:["declaration"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:{declaration:zo("TSDeclareFunction","FunctionDeclaration","ClassDeclaration","Expression"),exportKind:Yo(nu("value"))}}),yu("ExportNamedDeclaration",{builder:["declaration","specifiers","source"],visitor:["declaration","specifiers","source","attributes"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:Object.assign({declaration:{optional:!0,validate:cu(iu("Declaration"),Object.assign(function(e,t,n){if(n&&e.specifiers.length)throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration");if(n&&e.source)throw new TypeError("Cannot export a declaration from a source")},{oneOfNodeTypes:["Declaration"]}))}},Tu,{specifiers:{default:[],validate:Qo(function(){const e=iu("ExportSpecifier","ExportDefaultSpecifier","ExportNamespaceSpecifier"),t=iu("ExportSpecifier");return Object.assign(function(n,r,i){(n.source?e:t)(n,r,i)},{oneOfNodeTypes:["ExportSpecifier","ExportDefaultSpecifier","ExportNamespaceSpecifier"]})}())},source:{validate:iu("StringLiteral"),optional:!0},exportKind:Yo(nu("type","value"))})}),yu("ExportSpecifier",{visitor:["local","exported"],aliases:["ModuleSpecifier"],fields:{local:{validate:iu("Identifier")},exported:{validate:iu("Identifier","StringLiteral")},exportKind:{validate:nu("type","value"),optional:!0}}}),yu("ForOfStatement",{visitor:["left","right","body"],builder:["left","right","body","await"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:function(){const e=iu("VariableDeclaration"),t=iu("Identifier","MemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression");return Object.assign(function(n,r,i){So("VariableDeclaration",i)?e(n,r,i):t(n,r,i)},{oneOfNodeTypes:["VariableDeclaration","Identifier","MemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression"]})}()},right:{validate:iu("Expression")},body:{validate:iu("Statement")},await:{default:!1}}}),yu("ImportDeclaration",{builder:["specifiers","source"],visitor:["specifiers","source","attributes"],aliases:["Statement","Declaration","ImportOrExportDeclaration"],fields:Object.assign({},Tu,{module:{optional:!0,validate:au("boolean")},phase:{default:null,validate:nu("source","defer")},specifiers:eu("ImportSpecifier","ImportDefaultSpecifier","ImportNamespaceSpecifier"),source:{validate:iu("StringLiteral")},importKind:{validate:nu("type","typeof","value"),optional:!0}})}),yu("ImportDefaultSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:iu("Identifier")}}}),yu("ImportNamespaceSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:iu("Identifier")}}}),yu("ImportSpecifier",{visitor:["imported","local"],builder:["local","imported"],aliases:["ModuleSpecifier"],fields:{local:{validate:iu("Identifier")},imported:{validate:iu("Identifier","StringLiteral")},importKind:{validate:nu("type","typeof","value"),optional:!0}}}),yu("ImportExpression",{visitor:["source","options"],aliases:["Expression"],fields:{phase:{default:null,validate:nu("source","defer")},source:{validate:iu("Expression")},options:{validate:iu("Expression"),optional:!0}}}),yu("MetaProperty",{visitor:["meta","property"],aliases:["Expression"],fields:{meta:{validate:cu(iu("Identifier"),Object.assign(function(e,t,n){let r;switch(n.name){case"function":r="sent";break;case"new":r="target";break;case"import":r="meta"}if(!So("Identifier",e.property,{name:r}))throw new TypeError("Unrecognised MetaProperty")},{oneOfNodeTypes:["Identifier"]}))},property:{validate:iu("Identifier")}}});var Eu=()=>({abstract:{validate:au("boolean"),optional:!0},accessibility:{validate:nu("public","private","protected"),optional:!0},static:{default:!1},override:{default:!1},computed:{default:!1},optional:{validate:au("boolean"),optional:!0},key:{validate:cu(function(){const e=iu("Identifier","StringLiteral","NumericLiteral","BigIntLiteral"),t=iu("Expression");return function(n,r,i){(n.computed?t:e)(n,r,i)}}(),iu("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","Expression"))}}),Pu=()=>Object.assign({},gu(),Eu(),{params:eu("FunctionParameter","TSParameterProperty"),kind:{validate:nu("get","set","method","constructor"),default:"method"},access:{validate:cu(au("string"),nu("public","private","protected")),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0}});yu("ClassMethod",{aliases:["Function","Scopable","BlockParent","FunctionParent","Method"],builder:["kind","key","params","body","computed","static","generator","async"],visitor:["decorators","key","typeParameters","params","returnType","body"],fields:Object.assign({},Pu(),bu(),{body:{validate:iu("BlockStatement")}})}),yu("ObjectPattern",{visitor:["decorators","properties","typeAnnotation"],builder:["properties"],aliases:["FunctionParameter","Pattern","PatternLike","LVal"],fields:Object.assign({},Su(),{properties:eu("RestElement","ObjectProperty")})}),yu("SpreadElement",{visitor:["argument"],aliases:["UnaryLike"],deprecatedAlias:"SpreadProperty",fields:{argument:{validate:iu("Expression")}}}),yu("Super",void 0),yu("TaggedTemplateExpression",{visitor:["tag","typeArguments","quasi"],builder:["tag","quasi"],aliases:["Expression"],fields:{tag:{validate:iu("Expression")},quasi:{validate:iu("TemplateLiteral")},typeArguments:{validate:iu("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}}}),yu("TemplateElement",{builder:["value","tail"],fields:{value:{validate:cu(ou({raw:{validate:au("string")},cooked:{validate:au("string"),optional:!0}}),function(e){const t=e.value.raw;let n=!1;const r=()=>{throw new Error("Internal @babel/types error.")},{str:i,firstInvalidLoc:s}=function(e,t,n,r,i,s){const a=n,o=r,u=i;let c="",l=null,p=n;const{length:d}=t;for(;;){if(n>=d){s.unterminated(a,o,u),c+=t.slice(p,n);break}const e=t.charCodeAt(n);if(vt(0,e,t,n)){c+=t.slice(p,n);break}if(92===e){c+=t.slice(p,n);const e=At(t,n,r,i,0,s);null!==e.ch||l?c+=e.ch:l={pos:n,lineStart:r,curLine:i},({pos:n,lineStart:r,curLine:i}=e),p=n}else 8232===e||8233===e?(++i,r=++n):10===e||13===e?(c+=t.slice(p,n)+"\n",++n,13===e&&10===t.charCodeAt(n)&&++n,++i,p=r=n):++n}return{pos:n,str:c,firstInvalidLoc:l,lineStart:r,curLine:i}}(0,t,0,0,0,{unterminated(){n=!0},strictNumericEscape:r,invalidEscapeSequence:r,numericSeparatorInEscapeSequence:r,unexpectedNumericSeparator:r,invalidDigit:r,invalidCodePoint:r});if(!n)throw new Error("Invalid raw");e.value.cooked=s?null:i})},tail:{default:!1}}}),yu("TemplateLiteral",{visitor:["quasis","expressions"],aliases:["Expression","Literal"],fields:{quasis:eu("TemplateElement"),expressions:{validate:cu(au("array"),tu(iu("Expression","TSType")),function(e,t,n){if(e.quasis.length!==n.length+1)throw new TypeError(`Number of ${e.type} quasis should be exactly one more than the number of expressions.\nExpected ${n.length+1} quasis but got ${e.quasis.length}`)})}}}),yu("YieldExpression",{builder:["argument","delegate"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{delegate:{validate:cu(au("boolean"),Object.assign(function(e,t,n){if(n&&!e.argument)throw new TypeError("Property delegate of YieldExpression cannot be true if there is no argument")},{type:"boolean"})),default:!1},argument:{optional:!0,validate:iu("Expression")}}}),yu("AwaitExpression",{builder:["argument"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{argument:{validate:iu("Expression")}}}),yu("Import",{aliases:["Expression"]}),yu("BigIntLiteral",{builder:["value"],fields:{value:{validate:au("bigint")}},aliases:["Expression","Pureish","Literal","Immutable"]}),yu("ExportNamespaceSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:iu("Identifier")}}}),yu("OptionalMemberExpression",{builder:["object","property","computed","optional"],visitor:["object","property"],aliases:["Expression"],fields:{object:{validate:iu("Expression")},property:{validate:function(){const e=iu("Identifier"),t=iu("Expression");return Object.assign(function(n,r,i){(n.computed?t:e)(n,r,i)},{oneOfNodeTypes:["Expression","Identifier"]})}()},computed:{default:!1},optional:{validate:cu(au("boolean"),uu())}}}),yu("OptionalCallExpression",{visitor:["callee","typeArguments","arguments"],builder:["callee","arguments","optional"],aliases:["Expression"],fields:Object.assign({callee:{validate:iu("Expression")},arguments:eu("Expression","SpreadElement","ArgumentPlaceholder"),optional:{validate:cu(au("boolean"),uu())},typeArguments:{validate:iu("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}},{})}),yu("ClassProperty",{visitor:["decorators","variance","key","typeAnnotation","value"],builder:["key","value","typeAnnotation","decorators","computed","static"],aliases:["Property"],fields:Object.assign({},Eu(),{value:{validate:iu("Expression"),optional:!0},definite:{validate:au("boolean"),optional:!0},typeAnnotation:{validate:iu("TypeAnnotation","TSTypeAnnotation"),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0},readonly:{validate:au("boolean"),optional:!0},declare:{validate:au("boolean"),optional:!0},variance:{validate:iu("Variance"),optional:!0}})}),yu("ClassAccessorProperty",{visitor:["decorators","key","typeAnnotation","value"],builder:["key","value","typeAnnotation","decorators","computed","static"],aliases:["Property","Accessor"],fields:Object.assign({},Eu(),{key:{validate:cu(function(){const e=iu("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","PrivateName"),t=iu("Expression");return function(n,r,i){(n.computed?t:e)(n,r,i)}}(),iu("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","Expression","PrivateName"))},value:{validate:iu("Expression"),optional:!0},definite:{validate:au("boolean"),optional:!0},typeAnnotation:{validate:iu("TypeAnnotation","TSTypeAnnotation"),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0},readonly:{validate:au("boolean"),optional:!0},declare:{validate:au("boolean"),optional:!0},variance:{validate:iu("Variance"),optional:!0}})}),yu("ClassPrivateProperty",{visitor:["decorators","variance","key","typeAnnotation","value"],builder:["key","value","decorators","static"],aliases:["Property","Private"],fields:{key:{validate:iu("PrivateName")},value:{validate:iu("Expression"),optional:!0},typeAnnotation:{validate:iu("TypeAnnotation","TSTypeAnnotation"),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0},static:{validate:au("boolean"),default:!1},readonly:{validate:au("boolean"),optional:!0},optional:{validate:au("boolean"),optional:!0},definite:{validate:au("boolean"),optional:!0},variance:{validate:iu("Variance"),optional:!0}}}),yu("ClassPrivateMethod",{builder:["kind","key","params","body","static"],visitor:["decorators","key","typeParameters","params","returnType","body"],aliases:["Function","Scopable","BlockParent","FunctionParent","Method","Private"],fields:Object.assign({},Pu(),bu(),{kind:{validate:nu("get","set","method"),default:"method"},key:{validate:iu("PrivateName")},body:{validate:iu("BlockStatement")}})}),yu("PrivateName",{visitor:["id"],aliases:["Private"],fields:{id:{validate:iu("Identifier")}}}),yu("StaticBlock",{visitor:["body"],fields:{body:eu("Statement")},aliases:["Scopable","BlockParent","FunctionParent"]}),yu("ImportAttribute",{visitor:["key","value"],fields:{key:{validate:iu("Identifier","StringLiteral")},value:{validate:iu("StringLiteral")}}});var vu=hu("Flow"),Au=e=>{const t="DeclareClass"===e;vu(e,{builder:["id","typeParameters","extends","body"],visitor:["id","typeParameters","extends",...t?["mixins","implements"]:[],"body"],aliases:["FlowDeclaration","Statement","Declaration"],fields:Object.assign({id:zo("Identifier"),typeParameters:Go("TypeParameterDeclaration"),extends:Yo(Zo("InterfaceExtends"))},t?{mixins:Yo(Zo("InterfaceExtends")),implements:Yo(Zo("ClassImplements"))}:{},{body:zo("ObjectTypeAnnotation")})})};vu("AnyTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("ArrayTypeAnnotation",{visitor:["elementType"],aliases:["FlowType"],fields:{elementType:zo("FlowType")}}),vu("BooleanTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("BooleanLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:Ho(au("boolean"))}}),vu("NullLiteralTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("ClassImplements",{visitor:["id","typeParameters"],fields:{id:zo("Identifier"),typeParameters:Go("TypeParameterInstantiation")}}),Au("DeclareClass"),vu("DeclareFunction",{builder:["id"],visitor:["id","predicate"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:zo("Identifier"),predicate:Go("DeclaredPredicate")}}),Au("DeclareInterface"),vu("DeclareModule",{builder:["id","body","kind"],visitor:["id","body"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:zo("Identifier","StringLiteral"),body:zo("BlockStatement"),kind:Yo(nu("CommonJS","ES"))}}),vu("DeclareModuleExports",{visitor:["typeAnnotation"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{typeAnnotation:zo("TypeAnnotation")}}),vu("DeclareTypeAlias",{visitor:["id","typeParameters","right"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:zo("Identifier"),typeParameters:Go("TypeParameterDeclaration"),right:zo("FlowType")}}),vu("DeclareOpaqueType",{visitor:["id","typeParameters","supertype"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:zo("Identifier"),typeParameters:Go("TypeParameterDeclaration"),supertype:Go("FlowType"),impltype:Go("FlowType")}}),vu("DeclareVariable",{visitor:["id"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:zo("Identifier")}}),vu("DeclareExportDeclaration",{visitor:["declaration","specifiers","source","attributes"],aliases:["FlowDeclaration","Statement","Declaration"],fields:Object.assign({declaration:Go("Flow"),specifiers:Yo(Zo("ExportSpecifier","ExportNamespaceSpecifier")),source:Go("StringLiteral"),default:Yo(au("boolean"))},Tu)}),vu("DeclareExportAllDeclaration",{visitor:["source","attributes"],aliases:["FlowDeclaration","Statement","Declaration"],fields:Object.assign({source:zo("StringLiteral"),exportKind:Yo(nu("type","value"))},Tu)}),vu("DeclaredPredicate",{visitor:["value"],aliases:["FlowPredicate"],fields:{value:zo("Flow")}}),vu("ExistsTypeAnnotation",{aliases:["FlowType"]}),vu("FunctionTypeAnnotation",{builder:["typeParameters","params","rest","returnType"],visitor:["typeParameters","this","params","rest","returnType"],aliases:["FlowType"],fields:{typeParameters:Go("TypeParameterDeclaration"),params:eu("FunctionTypeParam"),rest:Go("FunctionTypeParam"),this:Go("FunctionTypeParam"),returnType:zo("FlowType")}}),vu("FunctionTypeParam",{visitor:["name","typeAnnotation"],fields:{name:Go("Identifier"),typeAnnotation:zo("FlowType"),optional:Yo(au("boolean"))}}),vu("GenericTypeAnnotation",{visitor:["id","typeParameters"],aliases:["FlowType"],fields:{id:zo("Identifier","QualifiedTypeIdentifier"),typeParameters:Go("TypeParameterInstantiation")}}),vu("InferredPredicate",{aliases:["FlowPredicate"]}),vu("InterfaceExtends",{visitor:["id","typeParameters"],fields:{id:zo("Identifier","QualifiedTypeIdentifier"),typeParameters:Go("TypeParameterInstantiation")}}),Au("InterfaceDeclaration"),vu("InterfaceTypeAnnotation",{visitor:["extends","body"],aliases:["FlowType"],fields:{extends:Yo(Zo("InterfaceExtends")),body:zo("ObjectTypeAnnotation")}}),vu("IntersectionTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:Ho(Zo("FlowType"))}}),vu("MixedTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("EmptyTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("NullableTypeAnnotation",{visitor:["typeAnnotation"],aliases:["FlowType"],fields:{typeAnnotation:zo("FlowType")}}),vu("NumberLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:Ho(au("number"))}}),vu("NumberTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("ObjectTypeAnnotation",{visitor:["properties","indexers","callProperties","internalSlots"],aliases:["FlowType"],builder:["properties","indexers","callProperties","internalSlots","exact"],fields:{properties:Ho(Zo("ObjectTypeProperty","ObjectTypeSpreadProperty")),indexers:{validate:Zo("ObjectTypeIndexer"),optional:!1,default:[]},callProperties:{validate:Zo("ObjectTypeCallProperty"),optional:!1,default:[]},internalSlots:{validate:Zo("ObjectTypeInternalSlot"),optional:!1,default:[]},exact:{validate:au("boolean"),default:!1},inexact:Yo(au("boolean"))}}),vu("ObjectTypeInternalSlot",{visitor:["id","value"],builder:["id","value","optional","static","method"],aliases:["UserWhitespacable"],fields:{id:zo("Identifier"),value:zo("FlowType"),optional:Ho(au("boolean")),static:Ho(au("boolean")),method:Ho(au("boolean"))}}),vu("ObjectTypeCallProperty",{visitor:["value"],aliases:["UserWhitespacable"],fields:{value:zo("FlowType"),static:Ho(au("boolean"))}}),vu("ObjectTypeIndexer",{visitor:["variance","id","key","value"],builder:["id","key","value","variance"],aliases:["UserWhitespacable"],fields:{id:Go("Identifier"),key:zo("FlowType"),value:zo("FlowType"),static:Ho(au("boolean")),variance:Go("Variance")}}),vu("ObjectTypeProperty",{visitor:["key","value","variance"],aliases:["UserWhitespacable"],fields:{key:zo("Identifier","StringLiteral"),value:zo("FlowType"),kind:Ho(nu("init","get","set")),static:Ho(au("boolean")),proto:Ho(au("boolean")),optional:Ho(au("boolean")),variance:Go("Variance"),method:Ho(au("boolean"))}}),vu("ObjectTypeSpreadProperty",{visitor:["argument"],aliases:["UserWhitespacable"],fields:{argument:zo("FlowType")}}),vu("OpaqueType",{visitor:["id","typeParameters","supertype","impltype"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:zo("Identifier"),typeParameters:Go("TypeParameterDeclaration"),supertype:Go("FlowType"),impltype:zo("FlowType")}}),vu("QualifiedTypeIdentifier",{visitor:["qualification","id"],builder:["id","qualification"],fields:{id:zo("Identifier"),qualification:zo("Identifier","QualifiedTypeIdentifier")}}),vu("StringLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:Ho(au("string"))}}),vu("StringTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("SymbolTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("ThisTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("TupleTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:Ho(Zo("FlowType"))}}),vu("TypeofTypeAnnotation",{visitor:["argument"],aliases:["FlowType"],fields:{argument:zo("FlowType")}}),vu("TypeAlias",{visitor:["id","typeParameters","right"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:zo("Identifier"),typeParameters:Go("TypeParameterDeclaration"),right:zo("FlowType")}}),vu("TypeAnnotation",{visitor:["typeAnnotation"],fields:{typeAnnotation:zo("FlowType")}}),vu("TypeCastExpression",{visitor:["expression","typeAnnotation"],aliases:["ExpressionWrapper","Expression"],fields:{expression:zo("Expression"),typeAnnotation:zo("TypeAnnotation")}}),vu("TypeParameter",{visitor:["bound","default","variance"],fields:{name:Ho(au("string")),bound:Go("TypeAnnotation"),default:Go("FlowType"),variance:Go("Variance")}}),vu("TypeParameterDeclaration",{visitor:["params"],fields:{params:Ho(Zo("TypeParameter"))}}),vu("TypeParameterInstantiation",{visitor:["params"],fields:{params:Ho(Zo("FlowType"))}}),vu("UnionTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:Ho(Zo("FlowType"))}}),vu("Variance",{builder:["kind"],fields:{kind:Ho(nu("minus","plus"))}}),vu("VoidTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]}),vu("EnumDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:{id:zo("Identifier"),body:zo("EnumBooleanBody","EnumNumberBody","EnumStringBody","EnumSymbolBody")}}),vu("EnumBooleanBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:Ho(au("boolean")),members:eu("EnumBooleanMember"),hasUnknownMembers:Ho(au("boolean"))}}),vu("EnumNumberBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:Ho(au("boolean")),members:eu("EnumNumberMember"),hasUnknownMembers:Ho(au("boolean"))}}),vu("EnumStringBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:Ho(au("boolean")),members:eu("EnumStringMember","EnumDefaultedMember"),hasUnknownMembers:Ho(au("boolean"))}}),vu("EnumSymbolBody",{aliases:["EnumBody"],visitor:["members"],fields:{members:eu("EnumDefaultedMember"),hasUnknownMembers:Ho(au("boolean"))}}),vu("EnumBooleanMember",{aliases:["EnumMember"],builder:["id"],visitor:["id","init"],fields:{id:zo("Identifier"),init:zo("BooleanLiteral")}}),vu("EnumNumberMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:zo("Identifier"),init:zo("NumericLiteral")}}),vu("EnumStringMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:zo("Identifier"),init:zo("StringLiteral")}}),vu("EnumDefaultedMember",{aliases:["EnumMember"],visitor:["id"],fields:{id:zo("Identifier")}}),vu("IndexedAccessType",{visitor:["objectType","indexType"],aliases:["FlowType"],fields:{objectType:zo("FlowType"),indexType:zo("FlowType")}}),vu("OptionalIndexedAccessType",{visitor:["objectType","indexType"],aliases:["FlowType"],fields:{objectType:zo("FlowType"),indexType:zo("FlowType"),optional:Ho(au("boolean"))}});var wu=hu("JSX");wu("JSXAttribute",{visitor:["name","value"],aliases:["Immutable"],fields:{name:{validate:iu("JSXIdentifier","JSXNamespacedName")},value:{optional:!0,validate:iu("JSXElement","JSXFragment","StringLiteral","JSXExpressionContainer")}}}),wu("JSXClosingElement",{visitor:["name"],aliases:["Immutable"],fields:{name:{validate:iu("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")}}}),wu("JSXElement",{builder:["openingElement","closingElement","children"],visitor:["openingElement","children","closingElement"],aliases:["Immutable","Expression"],fields:Object.assign({openingElement:{validate:iu("JSXOpeningElement")},closingElement:{optional:!0,validate:iu("JSXClosingElement")},children:eu("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")},{})}),wu("JSXEmptyExpression",{}),wu("JSXExpressionContainer",{visitor:["expression"],aliases:["Immutable"],fields:{expression:{validate:iu("Expression","JSXEmptyExpression")}}}),wu("JSXSpreadChild",{visitor:["expression"],aliases:["Immutable"],fields:{expression:{validate:iu("Expression")}}}),wu("JSXIdentifier",{builder:["name"],fields:{name:{validate:au("string")}}}),wu("JSXMemberExpression",{visitor:["object","property"],fields:{object:{validate:iu("JSXMemberExpression","JSXIdentifier")},property:{validate:iu("JSXIdentifier")}}}),wu("JSXNamespacedName",{visitor:["namespace","name"],fields:{namespace:{validate:iu("JSXIdentifier")},name:{validate:iu("JSXIdentifier")}}}),wu("JSXOpeningElement",{builder:["name","attributes","selfClosing"],visitor:["name","typeArguments","attributes"],aliases:["Immutable"],fields:Object.assign({name:{validate:iu("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")},selfClosing:{default:!1},attributes:eu("JSXAttribute","JSXSpreadAttribute"),typeArguments:{validate:iu("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}},{})}),wu("JSXSpreadAttribute",{visitor:["argument"],fields:{argument:{validate:iu("Expression")}}}),wu("JSXText",{aliases:["Immutable"],builder:["value"],fields:{value:{validate:au("string")}}}),wu("JSXFragment",{builder:["openingFragment","closingFragment","children"],visitor:["openingFragment","children","closingFragment"],aliases:["Immutable","Expression"],fields:{openingFragment:{validate:iu("JSXOpeningFragment")},closingFragment:{validate:iu("JSXClosingFragment")},children:eu("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")}}),wu("JSXOpeningFragment",{aliases:["Immutable"]}),wu("JSXClosingFragment",{aliases:["Immutable"]});var Cu=["Identifier","StringLiteral","Expression","Statement","Declaration","BlockStatement","ClassBody","Pattern"],ku={Declaration:["Statement"],Pattern:["PatternLike","LVal"]};for(const e of Cu){const t=qo[e];t?.length&&(ku[e]=t)}var Iu={};Object.keys(ku).forEach(e=>{ku[e].forEach(t=>{Object.hasOwn(Iu,t)||(Iu[t]=[]),Iu[t].push(e)})});var _u=hu("Miscellaneous");_u("Placeholder",{visitor:[],builder:["expectedNode","name"],fields:Object.assign({name:{validate:iu("Identifier")},expectedNode:{validate:nu(...Cu)}},Su())}),_u("V8IntrinsicIdentifier",{builder:["name"],fields:{name:{validate:au("string")}}}),fu("ArgumentPlaceholder",{}),fu("BindExpression",{visitor:["object","callee"],aliases:["Expression"],fields:{object:{validate:iu("Expression")},callee:{validate:iu("Expression")}}}),fu("Decorator",{visitor:["expression"],fields:{expression:{validate:iu("Expression")}}}),fu("DoExpression",{visitor:["body"],builder:["body","async"],aliases:["Expression"],fields:{body:{validate:iu("BlockStatement")},async:{validate:au("boolean"),default:!1}}}),fu("ExportDefaultSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:iu("Identifier")}}}),fu("RecordExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:eu("ObjectProperty","SpreadElement")}}),fu("TupleExpression",{fields:{elements:{validate:Zo("Expression","SpreadElement"),default:[]}},visitor:["elements"],aliases:["Expression"]}),fu("ModuleExpression",{visitor:["body"],fields:{body:{validate:iu("Program")}},aliases:["Expression"]}),fu("TopicReference",{aliases:["Expression"]}),fu("PipelineTopicExpression",{builder:["expression"],visitor:["expression"],fields:{expression:{validate:iu("Expression")}},aliases:["Expression"]}),fu("PipelineBareFunction",{builder:["callee"],visitor:["callee"],fields:{callee:{validate:iu("Expression")}},aliases:["Expression"]}),fu("PipelinePrimaryTopicReference",{aliases:["Expression"]}),fu("VoidPattern",{aliases:["Pattern","PatternLike","FunctionParameter"]});var Nu=hu("TypeScript"),Lu=au("boolean"),Ou=()=>({returnType:{validate:iu("TSTypeAnnotation"),optional:!0},typeParameters:{validate:iu("TSTypeParameterDeclaration"),optional:!0}});Nu("TSParameterProperty",{aliases:[],visitor:["parameter"],fields:{accessibility:{validate:nu("public","private","protected"),optional:!0},readonly:{validate:au("boolean"),optional:!0},parameter:{validate:iu("Identifier","AssignmentPattern")},override:{validate:au("boolean"),optional:!0},decorators:{validate:Zo("Decorator"),optional:!0}}}),Nu("TSDeclareFunction",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","params","returnType"],fields:Object.assign({},xu(),Ou())}),Nu("TSDeclareMethod",{visitor:["decorators","key","typeParameters","params","returnType"],fields:Object.assign({},Pu(),Ou())}),Nu("TSQualifiedName",{aliases:["TSEntityName"],visitor:["left","right"],fields:{left:zo("TSEntityName"),right:zo("Identifier")}});var Du=()=>({typeParameters:Go("TSTypeParameterDeclaration"),params:eu("ArrayPattern","Identifier","ObjectPattern","RestElement"),returnType:Go("TSTypeAnnotation")}),Mu={aliases:["TSTypeElement"],visitor:["typeParameters","params","returnType"],fields:Du()};Nu("TSCallSignatureDeclaration",Mu),Nu("TSConstructSignatureDeclaration",Mu);var Bu=()=>({key:zo("Expression"),computed:{default:!1},optional:Yo(Lu)});Nu("TSPropertySignature",{aliases:["TSTypeElement"],visitor:["key","typeAnnotation"],fields:Object.assign({},Bu(),{readonly:Yo(Lu),typeAnnotation:Go("TSTypeAnnotation"),kind:{optional:!0,validate:nu("get","set")}})}),Nu("TSMethodSignature",{aliases:["TSTypeElement"],visitor:["key","typeParameters","params","returnType"],fields:Object.assign({},Du(),Bu(),{kind:{validate:nu("method","get","set")}})}),Nu("TSIndexSignature",{aliases:["TSTypeElement"],visitor:["parameters","typeAnnotation"],fields:{readonly:Yo(Lu),static:Yo(Lu),parameters:eu("Identifier"),typeAnnotation:Go("TSTypeAnnotation")}});for(const e of["TSAnyKeyword","TSBooleanKeyword","TSBigIntKeyword","TSIntrinsicKeyword","TSNeverKeyword","TSNullKeyword","TSNumberKeyword","TSObjectKeyword","TSStringKeyword","TSSymbolKeyword","TSUndefinedKeyword","TSUnknownKeyword","TSVoidKeyword"])Nu(e,{aliases:["TSType","TSBaseType"],visitor:[],fields:{}});Nu("TSThisType",{aliases:["TSType","TSBaseType"],visitor:[],fields:{}});var Fu={aliases:["TSType"],visitor:["typeParameters","params","returnType"]};Nu("TSFunctionType",Object.assign({},Fu,{fields:Du()})),Nu("TSConstructorType",Object.assign({},Fu,{fields:Object.assign({},Du(),{abstract:Yo(Lu)})})),Nu("TSTypeReference",{aliases:["TSType"],visitor:["typeName","typeArguments"],fields:{typeName:zo("TSEntityName"),typeArguments:Go("TSTypeParameterInstantiation")}}),Nu("TSTypePredicate",{aliases:["TSType"],visitor:["parameterName","typeAnnotation"],builder:["parameterName","typeAnnotation","asserts"],fields:{parameterName:zo("Identifier","TSThisType"),typeAnnotation:Go("TSTypeAnnotation"),asserts:Yo(Lu)}}),Nu("TSTypeQuery",{aliases:["TSType"],visitor:["exprName","typeArguments"],fields:{exprName:zo("TSEntityName","TSImportType"),typeArguments:Go("TSTypeParameterInstantiation")}}),Nu("TSTypeLiteral",{aliases:["TSType"],visitor:["members"],fields:{members:eu("TSTypeElement")}}),Nu("TSArrayType",{aliases:["TSType"],visitor:["elementType"],fields:{elementType:zo("TSType")}}),Nu("TSTupleType",{aliases:["TSType"],visitor:["elementTypes"],fields:{elementTypes:eu("TSType","TSNamedTupleMember")}}),Nu("TSOptionalType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:zo("TSType")}}),Nu("TSRestType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:zo("TSType")}}),Nu("TSNamedTupleMember",{visitor:["label","elementType"],builder:["label","elementType","optional"],fields:{label:zo("Identifier"),optional:{validate:Lu,default:!1},elementType:zo("TSType")}});var Ru={aliases:["TSType"],visitor:["types"],fields:{types:eu("TSType")}};Nu("TSUnionType",Ru),Nu("TSIntersectionType",Ru),Nu("TSConditionalType",{aliases:["TSType"],visitor:["checkType","extendsType","trueType","falseType"],fields:{checkType:zo("TSType"),extendsType:zo("TSType"),trueType:zo("TSType"),falseType:zo("TSType")}}),Nu("TSInferType",{aliases:["TSType"],visitor:["typeParameter"],fields:{typeParameter:zo("TSTypeParameter")}}),Nu("TSParenthesizedType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:zo("TSType")}}),Nu("TSTypeOperator",{aliases:["TSType"],visitor:["typeAnnotation"],builder:["typeAnnotation","operator"],fields:{operator:{validate:nu("keyof","readonly","unique"),default:void 0},typeAnnotation:zo("TSType")}}),Nu("TSIndexedAccessType",{aliases:["TSType"],visitor:["objectType","indexType"],fields:{objectType:zo("TSType"),indexType:zo("TSType")}}),Nu("TSMappedType",{aliases:["TSType"],visitor:["key","constraint","nameType","typeAnnotation"],builder:["key","constraint","nameType","typeAnnotation"],fields:Object.assign({},{key:zo("Identifier"),constraint:zo("TSType")},{readonly:Yo(nu(!0,!1,"+","-")),optional:Yo(nu(!0,!1,"+","-")),typeAnnotation:Go("TSType"),nameType:Go("TSType")})}),Nu("TSTemplateLiteralType",{aliases:["TSType","TSBaseType"],visitor:["quasis","types"],fields:{quasis:eu("TemplateElement"),types:{validate:cu(au("array"),tu(iu("TSType")),function(e,t,n){if(e.quasis.length!==n.length+1)throw new TypeError(`Number of ${e.type} quasis should be exactly one more than the number of types.\nExpected ${n.length+1} quasis but got ${e.quasis.length}`)})}}}),Nu("TSLiteralType",{aliases:["TSType","TSBaseType"],visitor:["literal"],fields:{literal:{validate:function(){const e=iu("NumericLiteral","BigIntLiteral"),t=nu("-"),n=iu("NumericLiteral","StringLiteral","BooleanLiteral","BigIntLiteral","TemplateLiteral");function r(r,i,s){So("UnaryExpression",s)?(t(s,"operator",s.operator),e(s,"argument",s.argument)):n(r,i,s)}return r.oneOfNodeTypes=["NumericLiteral","StringLiteral","BooleanLiteral","BigIntLiteral","TemplateLiteral","UnaryExpression"],r}()}}}),Nu("TSClassImplements",{aliases:["TSType"],visitor:["expression","typeArguments"],fields:{expression:zo("Expression"),typeArguments:Go("TSTypeParameterInstantiation")}}),Nu("TSInterfaceHeritage",{aliases:["TSType"],visitor:["expression","typeArguments"],fields:{expression:zo("Expression"),typeArguments:Go("TSTypeParameterInstantiation")}}),Nu("TSInterfaceDeclaration",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","extends","body"],fields:{declare:Yo(Lu),id:zo("Identifier"),typeParameters:Go("TSTypeParameterDeclaration"),extends:Yo(Zo("TSClassImplements")),body:zo("TSInterfaceBody")}}),Nu("TSInterfaceBody",{visitor:["body"],fields:{body:eu("TSTypeElement")}}),Nu("TSTypeAliasDeclaration",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","typeAnnotation"],fields:{declare:Yo(Lu),id:zo("Identifier"),typeParameters:Go("TSTypeParameterDeclaration"),typeAnnotation:zo("TSType")}}),Nu("TSInstantiationExpression",{aliases:["Expression"],visitor:["expression","typeArguments"],fields:{expression:zo("Expression"),typeArguments:Go("TSTypeParameterInstantiation")}});var ju={aliases:["Expression","LVal","PatternLike"],visitor:["expression","typeAnnotation"],fields:{expression:zo("Expression"),typeAnnotation:zo("TSType")}};Nu("TSAsExpression",ju),Nu("TSSatisfiesExpression",ju),Nu("TSTypeAssertion",{aliases:["Expression","LVal","PatternLike"],visitor:["typeAnnotation","expression"],fields:{typeAnnotation:zo("TSType"),expression:zo("Expression")}}),Nu("TSEnumBody",{visitor:["members"],fields:{members:eu("TSEnumMember")}}),Nu("TSEnumDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:{declare:Yo(Lu),const:Yo(Lu),id:zo("Identifier"),body:zo("TSEnumBody")}}),Nu("TSEnumMember",{visitor:["id","initializer"],fields:{id:zo("Identifier","StringLiteral"),initializer:Go("Expression")}}),Nu("TSModuleDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:Object.assign({kind:{validate:nu("global","module","namespace")},declare:Yo(Lu)},!1,{id:zo("TSEntityName","StringLiteral"),body:zo("TSModuleBlock")})}),Nu("TSModuleBlock",{aliases:["Scopable","Block","BlockParent","FunctionParent"],visitor:["body"],fields:{body:eu("Statement")}}),Nu("TSImportType",{aliases:["TSType"],builder:["argument","qualifier","typeArguments"],visitor:["argument","options","qualifier","typeArguments"],fields:{argument:zo("TSLiteralType"),qualifier:Go("TSEntityName"),typeArguments:Go("TSTypeParameterInstantiation"),options:{validate:iu("ObjectExpression"),optional:!0}}}),Nu("TSImportEqualsDeclaration",{aliases:["Statement","Declaration"],visitor:["id","moduleReference"],fields:Object.assign({},{},{id:zo("Identifier"),moduleReference:zo("TSEntityName","TSExternalModuleReference"),importKind:{validate:nu("type","value"),optional:!0}})}),Nu("TSExternalModuleReference",{visitor:["expression"],fields:{expression:zo("StringLiteral")}}),Nu("TSNonNullExpression",{aliases:["Expression","LVal","PatternLike"],visitor:["expression"],fields:{expression:zo("Expression")}}),Nu("TSExportAssignment",{aliases:["Statement"],visitor:["expression"],fields:{expression:zo("Expression")}}),Nu("TSNamespaceExportDeclaration",{aliases:["Statement"],visitor:["id"],fields:{id:zo("Identifier")}}),Nu("TSTypeAnnotation",{visitor:["typeAnnotation"],fields:{typeAnnotation:{validate:iu("TSType")}}}),Nu("TSTypeParameterInstantiation",{visitor:["params"],fields:{params:eu("TSType")}}),Nu("TSTypeParameterDeclaration",{visitor:["params"],fields:{params:eu("TSTypeParameter")}}),Nu("TSTypeParameter",{builder:["constraint","default","name"],visitor:["name","constraint","default"],fields:{name:{validate:iu("Identifier")},in:{validate:au("boolean"),optional:!0},out:{validate:au("boolean"),optional:!0},const:{validate:au("boolean"),optional:!0},constraint:{validate:iu("TSType"),optional:!0},default:{validate:iu("TSType"),optional:!0}}});var Uu={ModuleDeclaration:"ImportOrExportDeclaration"};Object.keys(Uu).forEach(e=>{$o[e]=$o[Uu[e]]});for(const{types:e,set:t}of ru)for(const n of e){const e=$o[n];e?e.forEach(t.add,t):t.add(n)}var qu=[].concat(Object.keys(Uo),Object.keys($o),Object.keys(Ko));function $u(e,t,n){if(!e)return;const r=Jo[e.type];if(!r)return;Ju(e,t,n,r[t]),Vu(e,t,n)}function Ju(e,t,n,r){r?.validate&&(r.optional&&null==n||r.validate(e,t,n))}function Vu(e,t,n){const r=n?.type;null!=r&&Wo[r]?.(e,t,n)}var Ku=Object.freeze({__proto__:null,default:$u,validateChild:Vu,validateField:Ju,validateInternal:function(e,t,n,r,i){if(e?.validate&&(!e.optional||null!=r)&&(e.validate(t,n,r),i)){const e=r.type;if(null==e)return;Wo[e]?.(t,n,r)}}}),{validateInternal:Wu}=Ku,{NODE_FIELDS:Xu}=mu;function Hu(e){const t={type:"ArrayExpression",elements:e},n=Xu.ArrayExpression;return Wu(n.elements,t,"elements",e,1),t}function zu(e,t,n){const r={type:"AssignmentExpression",operator:e,left:t,right:n},i=Xu.AssignmentExpression;return Wu(i.operator,r,"operator",e),Wu(i.left,r,"left",t,1),Wu(i.right,r,"right",n,1),r}function Yu(e,t,n){const r={type:"BinaryExpression",operator:e,left:t,right:n},i=Xu.BinaryExpression;return Wu(i.operator,r,"operator",e),Wu(i.left,r,"left",t,1),Wu(i.right,r,"right",n,1),r}function Gu(e){const t={type:"InterpreterDirective",value:e},n=Xu.InterpreterDirective;return Wu(n.value,t,"value",e),t}function Qu(e){const t={type:"Directive",value:e},n=Xu.Directive;return Wu(n.value,t,"value",e,1),t}function Zu(e){const t={type:"DirectiveLiteral",value:e},n=Xu.DirectiveLiteral;return Wu(n.value,t,"value",e),t}function ec(e,t=[]){const n={type:"BlockStatement",body:e,directives:t},r=Xu.BlockStatement;return Wu(r.body,n,"body",e,1),Wu(r.directives,n,"directives",t,1),n}function tc(e=null){const t={type:"BreakStatement",label:e},n=Xu.BreakStatement;return Wu(n.label,t,"label",e,1),t}function nc(e,t){const n={type:"CallExpression",callee:e,arguments:t},r=Xu.CallExpression;return Wu(r.callee,n,"callee",e,1),Wu(r.arguments,n,"arguments",t,1),n}function rc(e=null,t){const n={type:"CatchClause",param:e,body:t},r=Xu.CatchClause;return Wu(r.param,n,"param",e,1),Wu(r.body,n,"body",t,1),n}function ic(e,t,n){const r={type:"ConditionalExpression",test:e,consequent:t,alternate:n},i=Xu.ConditionalExpression;return Wu(i.test,r,"test",e,1),Wu(i.consequent,r,"consequent",t,1),Wu(i.alternate,r,"alternate",n,1),r}function sc(e=null){const t={type:"ContinueStatement",label:e},n=Xu.ContinueStatement;return Wu(n.label,t,"label",e,1),t}function ac(){return{type:"DebuggerStatement"}}function oc(e,t){const n={type:"DoWhileStatement",test:e,body:t},r=Xu.DoWhileStatement;return Wu(r.test,n,"test",e,1),Wu(r.body,n,"body",t,1),n}function uc(){return{type:"EmptyStatement"}}function cc(e){const t={type:"ExpressionStatement",expression:e},n=Xu.ExpressionStatement;return Wu(n.expression,t,"expression",e,1),t}function lc(e,t=null,n=null){const r={type:"File",program:e,comments:t,tokens:n},i=Xu.File;return Wu(i.program,r,"program",e,1),Wu(i.comments,r,"comments",t,1),Wu(i.tokens,r,"tokens",n),r}function pc(e,t,n){const r={type:"ForInStatement",left:e,right:t,body:n},i=Xu.ForInStatement;return Wu(i.left,r,"left",e,1),Wu(i.right,r,"right",t,1),Wu(i.body,r,"body",n,1),r}function dc(e=null,t=null,n=null,r){const i={type:"ForStatement",init:e,test:t,update:n,body:r},s=Xu.ForStatement;return Wu(s.init,i,"init",e,1),Wu(s.test,i,"test",t,1),Wu(s.update,i,"update",n,1),Wu(s.body,i,"body",r,1),i}function hc(e=null,t,n,r=!1,i=!1){const s={type:"FunctionDeclaration",id:e,params:t,body:n,generator:r,async:i},a=Xu.FunctionDeclaration;return Wu(a.id,s,"id",e,1),Wu(a.params,s,"params",t,1),Wu(a.body,s,"body",n,1),Wu(a.generator,s,"generator",r),Wu(a.async,s,"async",i),s}function fc(e=null,t,n,r=!1,i=!1){const s={type:"FunctionExpression",id:e,params:t,body:n,generator:r,async:i},a=Xu.FunctionExpression;return Wu(a.id,s,"id",e,1),Wu(a.params,s,"params",t,1),Wu(a.body,s,"body",n,1),Wu(a.generator,s,"generator",r),Wu(a.async,s,"async",i),s}function mc(e){const t={type:"Identifier",name:e},n=Xu.Identifier;return Wu(n.name,t,"name",e),t}function yc(e,t,n=null){const r={type:"IfStatement",test:e,consequent:t,alternate:n},i=Xu.IfStatement;return Wu(i.test,r,"test",e,1),Wu(i.consequent,r,"consequent",t,1),Wu(i.alternate,r,"alternate",n,1),r}function gc(e,t){const n={type:"LabeledStatement",label:e,body:t},r=Xu.LabeledStatement;return Wu(r.label,n,"label",e,1),Wu(r.body,n,"body",t,1),n}function bc(e){const t={type:"StringLiteral",value:e},n=Xu.StringLiteral;return Wu(n.value,t,"value",e),t}function xc(e){const t={type:"NumericLiteral",value:e},n=Xu.NumericLiteral;return Wu(n.value,t,"value",e),t}function Sc(){return{type:"NullLiteral"}}function Tc(e){const t={type:"BooleanLiteral",value:e},n=Xu.BooleanLiteral;return Wu(n.value,t,"value",e),t}function Ec(e,t=""){const n={type:"RegExpLiteral",pattern:e,flags:t},r=Xu.RegExpLiteral;return Wu(r.pattern,n,"pattern",e),Wu(r.flags,n,"flags",t),n}function Pc(e,t,n){const r={type:"LogicalExpression",operator:e,left:t,right:n},i=Xu.LogicalExpression;return Wu(i.operator,r,"operator",e),Wu(i.left,r,"left",t,1),Wu(i.right,r,"right",n,1),r}function vc(e,t,n=!1){const r={type:"MemberExpression",object:e,property:t,computed:n},i=Xu.MemberExpression;return Wu(i.object,r,"object",e,1),Wu(i.property,r,"property",t,1),Wu(i.computed,r,"computed",n),r}function Ac(e,t){const n={type:"NewExpression",callee:e,arguments:t},r=Xu.NewExpression;return Wu(r.callee,n,"callee",e,1),Wu(r.arguments,n,"arguments",t,1),n}function wc(e,t=[],n="script",r=null){const i={type:"Program",body:e,directives:t,sourceType:n,interpreter:r},s=Xu.Program;return Wu(s.body,i,"body",e,1),Wu(s.directives,i,"directives",t,1),Wu(s.sourceType,i,"sourceType",n),Wu(s.interpreter,i,"interpreter",r,1),i}function Cc(e){const t={type:"ObjectExpression",properties:e},n=Xu.ObjectExpression;return Wu(n.properties,t,"properties",e,1),t}function kc(e,t,n,r,i=!1,s=!1,a=!1){const o={type:"ObjectMethod",kind:e,key:t,params:n,body:r,computed:i,generator:s,async:a},u=Xu.ObjectMethod;return Wu(u.kind,o,"kind",e),Wu(u.key,o,"key",t,1),Wu(u.params,o,"params",n,1),Wu(u.body,o,"body",r,1),Wu(u.computed,o,"computed",i),Wu(u.generator,o,"generator",s),Wu(u.async,o,"async",a),o}function Ic(e,t,n=!1,r=!1){const i={type:"ObjectProperty",key:e,value:t,computed:n,shorthand:r},s=Xu.ObjectProperty;return Wu(s.key,i,"key",e,1),Wu(s.value,i,"value",t,1),Wu(s.computed,i,"computed",n),Wu(s.shorthand,i,"shorthand",r),i}function _c(e){const t={type:"RestElement",argument:e},n=Xu.RestElement;return Wu(n.argument,t,"argument",e,1),t}function Nc(e=null){const t={type:"ReturnStatement",argument:e},n=Xu.ReturnStatement;return Wu(n.argument,t,"argument",e,1),t}function Lc(e){const t={type:"SequenceExpression",expressions:e},n=Xu.SequenceExpression;return Wu(n.expressions,t,"expressions",e,1),t}function Oc(e){const t={type:"ParenthesizedExpression",expression:e},n=Xu.ParenthesizedExpression;return Wu(n.expression,t,"expression",e,1),t}function Dc(e=null,t){const n={type:"SwitchCase",test:e,consequent:t},r=Xu.SwitchCase;return Wu(r.test,n,"test",e,1),Wu(r.consequent,n,"consequent",t,1),n}function Mc(e,t){const n={type:"SwitchStatement",discriminant:e,cases:t},r=Xu.SwitchStatement;return Wu(r.discriminant,n,"discriminant",e,1),Wu(r.cases,n,"cases",t,1),n}function Bc(){return{type:"ThisExpression"}}function Fc(e){const t={type:"ThrowStatement",argument:e},n=Xu.ThrowStatement;return Wu(n.argument,t,"argument",e,1),t}function Rc(e,t=null,n=null){const r={type:"TryStatement",block:e,handler:t,finalizer:n},i=Xu.TryStatement;return Wu(i.block,r,"block",e,1),Wu(i.handler,r,"handler",t,1),Wu(i.finalizer,r,"finalizer",n,1),r}function jc(e,t,n=!0){const r={type:"UnaryExpression",operator:e,argument:t,prefix:n},i=Xu.UnaryExpression;return Wu(i.operator,r,"operator",e),Wu(i.argument,r,"argument",t,1),Wu(i.prefix,r,"prefix",n),r}function Uc(e,t,n=!1){const r={type:"UpdateExpression",operator:e,argument:t,prefix:n},i=Xu.UpdateExpression;return Wu(i.operator,r,"operator",e),Wu(i.argument,r,"argument",t,1),Wu(i.prefix,r,"prefix",n),r}function qc(e,t){const n={type:"VariableDeclaration",kind:e,declarations:t},r=Xu.VariableDeclaration;return Wu(r.kind,n,"kind",e),Wu(r.declarations,n,"declarations",t,1),n}function $c(e,t=null){const n={type:"VariableDeclarator",id:e,init:t},r=Xu.VariableDeclarator;return Wu(r.id,n,"id",e,1),Wu(r.init,n,"init",t,1),n}function Jc(e,t){const n={type:"WhileStatement",test:e,body:t},r=Xu.WhileStatement;return Wu(r.test,n,"test",e,1),Wu(r.body,n,"body",t,1),n}function Vc(e,t){const n={type:"WithStatement",object:e,body:t},r=Xu.WithStatement;return Wu(r.object,n,"object",e,1),Wu(r.body,n,"body",t,1),n}function Kc(e,t){const n={type:"AssignmentPattern",left:e,right:t},r=Xu.AssignmentPattern;return Wu(r.left,n,"left",e,1),Wu(r.right,n,"right",t,1),n}function Wc(e){const t={type:"ArrayPattern",elements:e},n=Xu.ArrayPattern;return Wu(n.elements,t,"elements",e,1),t}function Xc(e,t,n=!1){const r={type:"ArrowFunctionExpression",params:e,body:t,async:n,expression:null},i=Xu.ArrowFunctionExpression;return Wu(i.params,r,"params",e,1),Wu(i.body,r,"body",t,1),Wu(i.async,r,"async",n),r}function Hc(e){const t={type:"ClassBody",body:e},n=Xu.ClassBody;return Wu(n.body,t,"body",e,1),t}function zc(e=null,t=null,n,r=null){const i={type:"ClassExpression",id:e,superClass:t,body:n,decorators:r},s=Xu.ClassExpression;return Wu(s.id,i,"id",e,1),Wu(s.superClass,i,"superClass",t,1),Wu(s.body,i,"body",n,1),Wu(s.decorators,i,"decorators",r,1),i}function Yc(e=null,t=null,n,r=null){const i={type:"ClassDeclaration",id:e,superClass:t,body:n,decorators:r},s=Xu.ClassDeclaration;return Wu(s.id,i,"id",e,1),Wu(s.superClass,i,"superClass",t,1),Wu(s.body,i,"body",n,1),Wu(s.decorators,i,"decorators",r,1),i}function Gc(e){const t={type:"ExportAllDeclaration",source:e},n=Xu.ExportAllDeclaration;return Wu(n.source,t,"source",e,1),t}function Qc(e){const t={type:"ExportDefaultDeclaration",declaration:e},n=Xu.ExportDefaultDeclaration;return Wu(n.declaration,t,"declaration",e,1),t}function Zc(e=null,t=[],n=null){const r={type:"ExportNamedDeclaration",declaration:e,specifiers:t,source:n},i=Xu.ExportNamedDeclaration;return Wu(i.declaration,r,"declaration",e,1),Wu(i.specifiers,r,"specifiers",t,1),Wu(i.source,r,"source",n,1),r}function el(e,t){const n={type:"ExportSpecifier",local:e,exported:t},r=Xu.ExportSpecifier;return Wu(r.local,n,"local",e,1),Wu(r.exported,n,"exported",t,1),n}function tl(e,t,n,r=!1){const i={type:"ForOfStatement",left:e,right:t,body:n,await:r},s=Xu.ForOfStatement;return Wu(s.left,i,"left",e,1),Wu(s.right,i,"right",t,1),Wu(s.body,i,"body",n,1),Wu(s.await,i,"await",r),i}function nl(e,t){const n={type:"ImportDeclaration",specifiers:e,source:t},r=Xu.ImportDeclaration;return Wu(r.specifiers,n,"specifiers",e,1),Wu(r.source,n,"source",t,1),n}function rl(e){const t={type:"ImportDefaultSpecifier",local:e},n=Xu.ImportDefaultSpecifier;return Wu(n.local,t,"local",e,1),t}function il(e){const t={type:"ImportNamespaceSpecifier",local:e},n=Xu.ImportNamespaceSpecifier;return Wu(n.local,t,"local",e,1),t}function sl(e,t){const n={type:"ImportSpecifier",local:e,imported:t},r=Xu.ImportSpecifier;return Wu(r.local,n,"local",e,1),Wu(r.imported,n,"imported",t,1),n}function al(e,t=null){const n={type:"ImportExpression",source:e,options:t},r=Xu.ImportExpression;return Wu(r.source,n,"source",e,1),Wu(r.options,n,"options",t,1),n}function ol(e,t){const n={type:"MetaProperty",meta:e,property:t},r=Xu.MetaProperty;return Wu(r.meta,n,"meta",e,1),Wu(r.property,n,"property",t,1),n}function ul(e="method",t,n,r,i=!1,s=!1,a=!1,o=!1){const u={type:"ClassMethod",kind:e,key:t,params:n,body:r,computed:i,static:s,generator:a,async:o},c=Xu.ClassMethod;return Wu(c.kind,u,"kind",e),Wu(c.key,u,"key",t,1),Wu(c.params,u,"params",n,1),Wu(c.body,u,"body",r,1),Wu(c.computed,u,"computed",i),Wu(c.static,u,"static",s),Wu(c.generator,u,"generator",a),Wu(c.async,u,"async",o),u}function cl(e){const t={type:"ObjectPattern",properties:e},n=Xu.ObjectPattern;return Wu(n.properties,t,"properties",e,1),t}function ll(e){const t={type:"SpreadElement",argument:e},n=Xu.SpreadElement;return Wu(n.argument,t,"argument",e,1),t}function pl(){return{type:"Super"}}function dl(e,t){const n={type:"TaggedTemplateExpression",tag:e,quasi:t},r=Xu.TaggedTemplateExpression;return Wu(r.tag,n,"tag",e,1),Wu(r.quasi,n,"quasi",t,1),n}function hl(e,t=!1){const n={type:"TemplateElement",value:e,tail:t},r=Xu.TemplateElement;return Wu(r.value,n,"value",e),Wu(r.tail,n,"tail",t),n}function fl(e,t){const n={type:"TemplateLiteral",quasis:e,expressions:t},r=Xu.TemplateLiteral;return Wu(r.quasis,n,"quasis",e,1),Wu(r.expressions,n,"expressions",t,1),n}function ml(e=null,t=!1){const n={type:"YieldExpression",argument:e,delegate:t},r=Xu.YieldExpression;return Wu(r.argument,n,"argument",e,1),Wu(r.delegate,n,"delegate",t),n}function yl(e){const t={type:"AwaitExpression",argument:e},n=Xu.AwaitExpression;return Wu(n.argument,t,"argument",e,1),t}function gl(){return{type:"Import"}}function bl(e){const t={type:"BigIntLiteral",value:e},n=Xu.BigIntLiteral;return Wu(n.value,t,"value",e),t}function xl(e){const t={type:"ExportNamespaceSpecifier",exported:e},n=Xu.ExportNamespaceSpecifier;return Wu(n.exported,t,"exported",e,1),t}function Sl(e,t,n=!1,r){const i={type:"OptionalMemberExpression",object:e,property:t,computed:n,optional:r},s=Xu.OptionalMemberExpression;return Wu(s.object,i,"object",e,1),Wu(s.property,i,"property",t,1),Wu(s.computed,i,"computed",n),Wu(s.optional,i,"optional",r),i}function Tl(e,t,n){const r={type:"OptionalCallExpression",callee:e,arguments:t,optional:n},i=Xu.OptionalCallExpression;return Wu(i.callee,r,"callee",e,1),Wu(i.arguments,r,"arguments",t,1),Wu(i.optional,r,"optional",n),r}function El(e,t=null,n=null,r=null,i=!1,s=!1){const a={type:"ClassProperty",key:e,value:t,typeAnnotation:n,decorators:r,computed:i,static:s},o=Xu.ClassProperty;return Wu(o.key,a,"key",e,1),Wu(o.value,a,"value",t,1),Wu(o.typeAnnotation,a,"typeAnnotation",n,1),Wu(o.decorators,a,"decorators",r,1),Wu(o.computed,a,"computed",i),Wu(o.static,a,"static",s),a}function Pl(e,t=null,n=null,r=null,i=!1,s=!1){const a={type:"ClassAccessorProperty",key:e,value:t,typeAnnotation:n,decorators:r,computed:i,static:s},o=Xu.ClassAccessorProperty;return Wu(o.key,a,"key",e,1),Wu(o.value,a,"value",t,1),Wu(o.typeAnnotation,a,"typeAnnotation",n,1),Wu(o.decorators,a,"decorators",r,1),Wu(o.computed,a,"computed",i),Wu(o.static,a,"static",s),a}function vl(e,t=null,n=null,r=!1){const i={type:"ClassPrivateProperty",key:e,value:t,decorators:n,static:r},s=Xu.ClassPrivateProperty;return Wu(s.key,i,"key",e,1),Wu(s.value,i,"value",t,1),Wu(s.decorators,i,"decorators",n,1),Wu(s.static,i,"static",r),i}function Al(e="method",t,n,r,i=!1){const s={type:"ClassPrivateMethod",kind:e,key:t,params:n,body:r,static:i},a=Xu.ClassPrivateMethod;return Wu(a.kind,s,"kind",e),Wu(a.key,s,"key",t,1),Wu(a.params,s,"params",n,1),Wu(a.body,s,"body",r,1),Wu(a.static,s,"static",i),s}function wl(e){const t={type:"PrivateName",id:e},n=Xu.PrivateName;return Wu(n.id,t,"id",e,1),t}function Cl(e){const t={type:"StaticBlock",body:e},n=Xu.StaticBlock;return Wu(n.body,t,"body",e,1),t}function kl(e,t){const n={type:"ImportAttribute",key:e,value:t},r=Xu.ImportAttribute;return Wu(r.key,n,"key",e,1),Wu(r.value,n,"value",t,1),n}function Il(){return{type:"AnyTypeAnnotation"}}function _l(e){const t={type:"ArrayTypeAnnotation",elementType:e},n=Xu.ArrayTypeAnnotation;return Wu(n.elementType,t,"elementType",e,1),t}function Nl(){return{type:"BooleanTypeAnnotation"}}function Ll(e){const t={type:"BooleanLiteralTypeAnnotation",value:e},n=Xu.BooleanLiteralTypeAnnotation;return Wu(n.value,t,"value",e),t}function Ol(){return{type:"NullLiteralTypeAnnotation"}}function Dl(e,t=null){const n={type:"ClassImplements",id:e,typeParameters:t},r=Xu.ClassImplements;return Wu(r.id,n,"id",e,1),Wu(r.typeParameters,n,"typeParameters",t,1),n}function Ml(e,t=null,n=null,r){const i={type:"DeclareClass",id:e,typeParameters:t,extends:n,body:r},s=Xu.DeclareClass;return Wu(s.id,i,"id",e,1),Wu(s.typeParameters,i,"typeParameters",t,1),Wu(s.extends,i,"extends",n,1),Wu(s.body,i,"body",r,1),i}function Bl(e){const t={type:"DeclareFunction",id:e},n=Xu.DeclareFunction;return Wu(n.id,t,"id",e,1),t}function Fl(e,t=null,n=null,r){const i={type:"DeclareInterface",id:e,typeParameters:t,extends:n,body:r},s=Xu.DeclareInterface;return Wu(s.id,i,"id",e,1),Wu(s.typeParameters,i,"typeParameters",t,1),Wu(s.extends,i,"extends",n,1),Wu(s.body,i,"body",r,1),i}function Rl(e,t,n=null){const r={type:"DeclareModule",id:e,body:t,kind:n},i=Xu.DeclareModule;return Wu(i.id,r,"id",e,1),Wu(i.body,r,"body",t,1),Wu(i.kind,r,"kind",n),r}function jl(e){const t={type:"DeclareModuleExports",typeAnnotation:e},n=Xu.DeclareModuleExports;return Wu(n.typeAnnotation,t,"typeAnnotation",e,1),t}function Ul(e,t=null,n){const r={type:"DeclareTypeAlias",id:e,typeParameters:t,right:n},i=Xu.DeclareTypeAlias;return Wu(i.id,r,"id",e,1),Wu(i.typeParameters,r,"typeParameters",t,1),Wu(i.right,r,"right",n,1),r}function ql(e,t=null,n=null){const r={type:"DeclareOpaqueType",id:e,typeParameters:t,supertype:n},i=Xu.DeclareOpaqueType;return Wu(i.id,r,"id",e,1),Wu(i.typeParameters,r,"typeParameters",t,1),Wu(i.supertype,r,"supertype",n,1),r}function $l(e){const t={type:"DeclareVariable",id:e},n=Xu.DeclareVariable;return Wu(n.id,t,"id",e,1),t}function Jl(e=null,t=null,n=null,r=null){const i={type:"DeclareExportDeclaration",declaration:e,specifiers:t,source:n,attributes:r},s=Xu.DeclareExportDeclaration;return Wu(s.declaration,i,"declaration",e,1),Wu(s.specifiers,i,"specifiers",t,1),Wu(s.source,i,"source",n,1),Wu(s.attributes,i,"attributes",r,1),i}function Vl(e,t=null){const n={type:"DeclareExportAllDeclaration",source:e,attributes:t},r=Xu.DeclareExportAllDeclaration;return Wu(r.source,n,"source",e,1),Wu(r.attributes,n,"attributes",t,1),n}function Kl(e){const t={type:"DeclaredPredicate",value:e},n=Xu.DeclaredPredicate;return Wu(n.value,t,"value",e,1),t}function Wl(){return{type:"ExistsTypeAnnotation"}}function Xl(e=null,t,n=null,r){const i={type:"FunctionTypeAnnotation",typeParameters:e,params:t,rest:n,returnType:r},s=Xu.FunctionTypeAnnotation;return Wu(s.typeParameters,i,"typeParameters",e,1),Wu(s.params,i,"params",t,1),Wu(s.rest,i,"rest",n,1),Wu(s.returnType,i,"returnType",r,1),i}function Hl(e=null,t){const n={type:"FunctionTypeParam",name:e,typeAnnotation:t},r=Xu.FunctionTypeParam;return Wu(r.name,n,"name",e,1),Wu(r.typeAnnotation,n,"typeAnnotation",t,1),n}function zl(e,t=null){const n={type:"GenericTypeAnnotation",id:e,typeParameters:t},r=Xu.GenericTypeAnnotation;return Wu(r.id,n,"id",e,1),Wu(r.typeParameters,n,"typeParameters",t,1),n}function Yl(){return{type:"InferredPredicate"}}function Gl(e,t=null){const n={type:"InterfaceExtends",id:e,typeParameters:t},r=Xu.InterfaceExtends;return Wu(r.id,n,"id",e,1),Wu(r.typeParameters,n,"typeParameters",t,1),n}function Ql(e,t=null,n=null,r){const i={type:"InterfaceDeclaration",id:e,typeParameters:t,extends:n,body:r},s=Xu.InterfaceDeclaration;return Wu(s.id,i,"id",e,1),Wu(s.typeParameters,i,"typeParameters",t,1),Wu(s.extends,i,"extends",n,1),Wu(s.body,i,"body",r,1),i}function Zl(e=null,t){const n={type:"InterfaceTypeAnnotation",extends:e,body:t},r=Xu.InterfaceTypeAnnotation;return Wu(r.extends,n,"extends",e,1),Wu(r.body,n,"body",t,1),n}function ep(e){const t={type:"IntersectionTypeAnnotation",types:e},n=Xu.IntersectionTypeAnnotation;return Wu(n.types,t,"types",e,1),t}function tp(){return{type:"MixedTypeAnnotation"}}function np(){return{type:"EmptyTypeAnnotation"}}function rp(e){const t={type:"NullableTypeAnnotation",typeAnnotation:e},n=Xu.NullableTypeAnnotation;return Wu(n.typeAnnotation,t,"typeAnnotation",e,1),t}function ip(e){const t={type:"NumberLiteralTypeAnnotation",value:e},n=Xu.NumberLiteralTypeAnnotation;return Wu(n.value,t,"value",e),t}function sp(){return{type:"NumberTypeAnnotation"}}function ap(e,t=[],n=[],r=[],i=!1){const s={type:"ObjectTypeAnnotation",properties:e,indexers:t,callProperties:n,internalSlots:r,exact:i},a=Xu.ObjectTypeAnnotation;return Wu(a.properties,s,"properties",e,1),Wu(a.indexers,s,"indexers",t,1),Wu(a.callProperties,s,"callProperties",n,1),Wu(a.internalSlots,s,"internalSlots",r,1),Wu(a.exact,s,"exact",i),s}function op(e,t,n,r,i){const s={type:"ObjectTypeInternalSlot",id:e,value:t,optional:n,static:r,method:i},a=Xu.ObjectTypeInternalSlot;return Wu(a.id,s,"id",e,1),Wu(a.value,s,"value",t,1),Wu(a.optional,s,"optional",n),Wu(a.static,s,"static",r),Wu(a.method,s,"method",i),s}function up(e){const t={type:"ObjectTypeCallProperty",value:e,static:null},n=Xu.ObjectTypeCallProperty;return Wu(n.value,t,"value",e,1),t}function cp(e=null,t,n,r=null){const i={type:"ObjectTypeIndexer",id:e,key:t,value:n,variance:r,static:null},s=Xu.ObjectTypeIndexer;return Wu(s.id,i,"id",e,1),Wu(s.key,i,"key",t,1),Wu(s.value,i,"value",n,1),Wu(s.variance,i,"variance",r,1),i}function lp(e,t,n=null){const r={type:"ObjectTypeProperty",key:e,value:t,variance:n,kind:null,method:null,optional:null,proto:null,static:null},i=Xu.ObjectTypeProperty;return Wu(i.key,r,"key",e,1),Wu(i.value,r,"value",t,1),Wu(i.variance,r,"variance",n,1),r}function pp(e){const t={type:"ObjectTypeSpreadProperty",argument:e},n=Xu.ObjectTypeSpreadProperty;return Wu(n.argument,t,"argument",e,1),t}function dp(e,t=null,n=null,r){const i={type:"OpaqueType",id:e,typeParameters:t,supertype:n,impltype:r},s=Xu.OpaqueType;return Wu(s.id,i,"id",e,1),Wu(s.typeParameters,i,"typeParameters",t,1),Wu(s.supertype,i,"supertype",n,1),Wu(s.impltype,i,"impltype",r,1),i}function hp(e,t){const n={type:"QualifiedTypeIdentifier",id:e,qualification:t},r=Xu.QualifiedTypeIdentifier;return Wu(r.id,n,"id",e,1),Wu(r.qualification,n,"qualification",t,1),n}function fp(e){const t={type:"StringLiteralTypeAnnotation",value:e},n=Xu.StringLiteralTypeAnnotation;return Wu(n.value,t,"value",e),t}function mp(){return{type:"StringTypeAnnotation"}}function yp(){return{type:"SymbolTypeAnnotation"}}function gp(){return{type:"ThisTypeAnnotation"}}function bp(e){const t={type:"TupleTypeAnnotation",types:e},n=Xu.TupleTypeAnnotation;return Wu(n.types,t,"types",e,1),t}function xp(e){const t={type:"TypeofTypeAnnotation",argument:e},n=Xu.TypeofTypeAnnotation;return Wu(n.argument,t,"argument",e,1),t}function Sp(e,t=null,n){const r={type:"TypeAlias",id:e,typeParameters:t,right:n},i=Xu.TypeAlias;return Wu(i.id,r,"id",e,1),Wu(i.typeParameters,r,"typeParameters",t,1),Wu(i.right,r,"right",n,1),r}function Tp(e){const t={type:"TypeAnnotation",typeAnnotation:e},n=Xu.TypeAnnotation;return Wu(n.typeAnnotation,t,"typeAnnotation",e,1),t}function Ep(e,t){const n={type:"TypeCastExpression",expression:e,typeAnnotation:t},r=Xu.TypeCastExpression;return Wu(r.expression,n,"expression",e,1),Wu(r.typeAnnotation,n,"typeAnnotation",t,1),n}function Pp(e=null,t=null,n=null){const r={type:"TypeParameter",bound:e,default:t,variance:n,name:null},i=Xu.TypeParameter;return Wu(i.bound,r,"bound",e,1),Wu(i.default,r,"default",t,1),Wu(i.variance,r,"variance",n,1),r}function vp(e){const t={type:"TypeParameterDeclaration",params:e},n=Xu.TypeParameterDeclaration;return Wu(n.params,t,"params",e,1),t}function Ap(e){const t={type:"TypeParameterInstantiation",params:e},n=Xu.TypeParameterInstantiation;return Wu(n.params,t,"params",e,1),t}function wp(e){const t={type:"UnionTypeAnnotation",types:e},n=Xu.UnionTypeAnnotation;return Wu(n.types,t,"types",e,1),t}function Cp(e){const t={type:"Variance",kind:e},n=Xu.Variance;return Wu(n.kind,t,"kind",e),t}function kp(){return{type:"VoidTypeAnnotation"}}function Ip(e,t){const n={type:"EnumDeclaration",id:e,body:t},r=Xu.EnumDeclaration;return Wu(r.id,n,"id",e,1),Wu(r.body,n,"body",t,1),n}function _p(e){const t={type:"EnumBooleanBody",members:e,explicitType:null,hasUnknownMembers:null},n=Xu.EnumBooleanBody;return Wu(n.members,t,"members",e,1),t}function Np(e){const t={type:"EnumNumberBody",members:e,explicitType:null,hasUnknownMembers:null},n=Xu.EnumNumberBody;return Wu(n.members,t,"members",e,1),t}function Lp(e){const t={type:"EnumStringBody",members:e,explicitType:null,hasUnknownMembers:null},n=Xu.EnumStringBody;return Wu(n.members,t,"members",e,1),t}function Op(e){const t={type:"EnumSymbolBody",members:e,hasUnknownMembers:null},n=Xu.EnumSymbolBody;return Wu(n.members,t,"members",e,1),t}function Dp(e){const t={type:"EnumBooleanMember",id:e,init:null},n=Xu.EnumBooleanMember;return Wu(n.id,t,"id",e,1),t}function Mp(e,t){const n={type:"EnumNumberMember",id:e,init:t},r=Xu.EnumNumberMember;return Wu(r.id,n,"id",e,1),Wu(r.init,n,"init",t,1),n}function Bp(e,t){const n={type:"EnumStringMember",id:e,init:t},r=Xu.EnumStringMember;return Wu(r.id,n,"id",e,1),Wu(r.init,n,"init",t,1),n}function Fp(e){const t={type:"EnumDefaultedMember",id:e},n=Xu.EnumDefaultedMember;return Wu(n.id,t,"id",e,1),t}function Rp(e,t){const n={type:"IndexedAccessType",objectType:e,indexType:t},r=Xu.IndexedAccessType;return Wu(r.objectType,n,"objectType",e,1),Wu(r.indexType,n,"indexType",t,1),n}function jp(e,t){const n={type:"OptionalIndexedAccessType",objectType:e,indexType:t,optional:null},r=Xu.OptionalIndexedAccessType;return Wu(r.objectType,n,"objectType",e,1),Wu(r.indexType,n,"indexType",t,1),n}function Up(e,t=null){const n={type:"JSXAttribute",name:e,value:t},r=Xu.JSXAttribute;return Wu(r.name,n,"name",e,1),Wu(r.value,n,"value",t,1),n}function qp(e){const t={type:"JSXClosingElement",name:e},n=Xu.JSXClosingElement;return Wu(n.name,t,"name",e,1),t}function $p(e,t=null,n){const r={type:"JSXElement",openingElement:e,closingElement:t,children:n},i=Xu.JSXElement;return Wu(i.openingElement,r,"openingElement",e,1),Wu(i.closingElement,r,"closingElement",t,1),Wu(i.children,r,"children",n,1),r}function Jp(){return{type:"JSXEmptyExpression"}}function Vp(e){const t={type:"JSXExpressionContainer",expression:e},n=Xu.JSXExpressionContainer;return Wu(n.expression,t,"expression",e,1),t}function Kp(e){const t={type:"JSXSpreadChild",expression:e},n=Xu.JSXSpreadChild;return Wu(n.expression,t,"expression",e,1),t}function Wp(e){const t={type:"JSXIdentifier",name:e},n=Xu.JSXIdentifier;return Wu(n.name,t,"name",e),t}function Xp(e,t){const n={type:"JSXMemberExpression",object:e,property:t},r=Xu.JSXMemberExpression;return Wu(r.object,n,"object",e,1),Wu(r.property,n,"property",t,1),n}function Hp(e,t){const n={type:"JSXNamespacedName",namespace:e,name:t},r=Xu.JSXNamespacedName;return Wu(r.namespace,n,"namespace",e,1),Wu(r.name,n,"name",t,1),n}function zp(e,t,n=!1){const r={type:"JSXOpeningElement",name:e,attributes:t,selfClosing:n},i=Xu.JSXOpeningElement;return Wu(i.name,r,"name",e,1),Wu(i.attributes,r,"attributes",t,1),Wu(i.selfClosing,r,"selfClosing",n),r}function Yp(e){const t={type:"JSXSpreadAttribute",argument:e},n=Xu.JSXSpreadAttribute;return Wu(n.argument,t,"argument",e,1),t}function Gp(e){const t={type:"JSXText",value:e},n=Xu.JSXText;return Wu(n.value,t,"value",e),t}function Qp(e,t,n){const r={type:"JSXFragment",openingFragment:e,closingFragment:t,children:n},i=Xu.JSXFragment;return Wu(i.openingFragment,r,"openingFragment",e,1),Wu(i.closingFragment,r,"closingFragment",t,1),Wu(i.children,r,"children",n,1),r}function Zp(){return{type:"JSXOpeningFragment"}}function ed(){return{type:"JSXClosingFragment"}}function td(e,t){const n={type:"Placeholder",expectedNode:e,name:t},r=Xu.Placeholder;return Wu(r.expectedNode,n,"expectedNode",e),Wu(r.name,n,"name",t,1),n}function nd(e){const t={type:"V8IntrinsicIdentifier",name:e},n=Xu.V8IntrinsicIdentifier;return Wu(n.name,t,"name",e),t}function rd(){return{type:"ArgumentPlaceholder"}}function id(e,t){const n={type:"BindExpression",object:e,callee:t},r=Xu.BindExpression;return Wu(r.object,n,"object",e,1),Wu(r.callee,n,"callee",t,1),n}function sd(e){const t={type:"Decorator",expression:e},n=Xu.Decorator;return Wu(n.expression,t,"expression",e,1),t}function ad(e,t=!1){const n={type:"DoExpression",body:e,async:t},r=Xu.DoExpression;return Wu(r.body,n,"body",e,1),Wu(r.async,n,"async",t),n}function od(e){const t={type:"ExportDefaultSpecifier",exported:e},n=Xu.ExportDefaultSpecifier;return Wu(n.exported,t,"exported",e,1),t}function ud(e){const t={type:"RecordExpression",properties:e},n=Xu.RecordExpression;return Wu(n.properties,t,"properties",e,1),t}function cd(e=[]){const t={type:"TupleExpression",elements:e},n=Xu.TupleExpression;return Wu(n.elements,t,"elements",e,1),t}function ld(e){const t={type:"ModuleExpression",body:e},n=Xu.ModuleExpression;return Wu(n.body,t,"body",e,1),t}function pd(){return{type:"TopicReference"}}function dd(e){const t={type:"PipelineTopicExpression",expression:e},n=Xu.PipelineTopicExpression;return Wu(n.expression,t,"expression",e,1),t}function hd(e){const t={type:"PipelineBareFunction",callee:e},n=Xu.PipelineBareFunction;return Wu(n.callee,t,"callee",e,1),t}function fd(){return{type:"PipelinePrimaryTopicReference"}}function md(){return{type:"VoidPattern"}}function yd(e){const t={type:"TSParameterProperty",parameter:e},n=Xu.TSParameterProperty;return Wu(n.parameter,t,"parameter",e,1),t}function gd(e=null,t=null,n,r=null){const i={type:"TSDeclareFunction",id:e,typeParameters:t,params:n,returnType:r},s=Xu.TSDeclareFunction;return Wu(s.id,i,"id",e,1),Wu(s.typeParameters,i,"typeParameters",t,1),Wu(s.params,i,"params",n,1),Wu(s.returnType,i,"returnType",r,1),i}function bd(e=null,t,n=null,r,i=null){const s={type:"TSDeclareMethod",decorators:e,key:t,typeParameters:n,params:r,returnType:i},a=Xu.TSDeclareMethod;return Wu(a.decorators,s,"decorators",e,1),Wu(a.key,s,"key",t,1),Wu(a.typeParameters,s,"typeParameters",n,1),Wu(a.params,s,"params",r,1),Wu(a.returnType,s,"returnType",i,1),s}function xd(e,t){const n={type:"TSQualifiedName",left:e,right:t},r=Xu.TSQualifiedName;return Wu(r.left,n,"left",e,1),Wu(r.right,n,"right",t,1),n}function Sd(e=null,t,n=null){const r={type:"TSCallSignatureDeclaration",typeParameters:e,params:t,returnType:n},i=Xu.TSCallSignatureDeclaration;return Wu(i.typeParameters,r,"typeParameters",e,1),Wu(i.params,r,"params",t,1),Wu(i.returnType,r,"returnType",n,1),r}function Td(e=null,t,n=null){const r={type:"TSConstructSignatureDeclaration",typeParameters:e,params:t,returnType:n},i=Xu.TSConstructSignatureDeclaration;return Wu(i.typeParameters,r,"typeParameters",e,1),Wu(i.params,r,"params",t,1),Wu(i.returnType,r,"returnType",n,1),r}function Ed(e,t=null){const n={type:"TSPropertySignature",key:e,typeAnnotation:t},r=Xu.TSPropertySignature;return Wu(r.key,n,"key",e,1),Wu(r.typeAnnotation,n,"typeAnnotation",t,1),n}function Pd(e,t=null,n,r=null){const i={type:"TSMethodSignature",key:e,typeParameters:t,params:n,returnType:r,kind:null},s=Xu.TSMethodSignature;return Wu(s.key,i,"key",e,1),Wu(s.typeParameters,i,"typeParameters",t,1),Wu(s.params,i,"params",n,1),Wu(s.returnType,i,"returnType",r,1),i}function vd(e,t=null){const n={type:"TSIndexSignature",parameters:e,typeAnnotation:t},r=Xu.TSIndexSignature;return Wu(r.parameters,n,"parameters",e,1),Wu(r.typeAnnotation,n,"typeAnnotation",t,1),n}function Ad(){return{type:"TSAnyKeyword"}}function wd(){return{type:"TSBooleanKeyword"}}function Cd(){return{type:"TSBigIntKeyword"}}function kd(){return{type:"TSIntrinsicKeyword"}}function Id(){return{type:"TSNeverKeyword"}}function _d(){return{type:"TSNullKeyword"}}function Nd(){return{type:"TSNumberKeyword"}}function Ld(){return{type:"TSObjectKeyword"}}function Od(){return{type:"TSStringKeyword"}}function Dd(){return{type:"TSSymbolKeyword"}}function Md(){return{type:"TSUndefinedKeyword"}}function Bd(){return{type:"TSUnknownKeyword"}}function Fd(){return{type:"TSVoidKeyword"}}function Rd(){return{type:"TSThisType"}}function jd(e=null,t,n=null){const r={type:"TSFunctionType",typeParameters:e,params:t,returnType:n},i=Xu.TSFunctionType;return Wu(i.typeParameters,r,"typeParameters",e,1),Wu(i.params,r,"params",t,1),Wu(i.returnType,r,"returnType",n,1),r}function Ud(e=null,t,n=null){const r={type:"TSConstructorType",typeParameters:e,params:t,returnType:n},i=Xu.TSConstructorType;return Wu(i.typeParameters,r,"typeParameters",e,1),Wu(i.params,r,"params",t,1),Wu(i.returnType,r,"returnType",n,1),r}function qd(e,t=null){const n={type:"TSTypeReference",typeName:e,typeArguments:t},r=Xu.TSTypeReference;return Wu(r.typeName,n,"typeName",e,1),Wu(r.typeArguments,n,"typeArguments",t,1),n}function $d(e,t=null,n=null){const r={type:"TSTypePredicate",parameterName:e,typeAnnotation:t,asserts:n},i=Xu.TSTypePredicate;return Wu(i.parameterName,r,"parameterName",e,1),Wu(i.typeAnnotation,r,"typeAnnotation",t,1),Wu(i.asserts,r,"asserts",n),r}function Jd(e,t=null){const n={type:"TSTypeQuery",exprName:e,typeArguments:t},r=Xu.TSTypeQuery;return Wu(r.exprName,n,"exprName",e,1),Wu(r.typeArguments,n,"typeArguments",t,1),n}function Vd(e){const t={type:"TSTypeLiteral",members:e},n=Xu.TSTypeLiteral;return Wu(n.members,t,"members",e,1),t}function Kd(e){const t={type:"TSArrayType",elementType:e},n=Xu.TSArrayType;return Wu(n.elementType,t,"elementType",e,1),t}function Wd(e){const t={type:"TSTupleType",elementTypes:e},n=Xu.TSTupleType;return Wu(n.elementTypes,t,"elementTypes",e,1),t}function Xd(e){const t={type:"TSOptionalType",typeAnnotation:e},n=Xu.TSOptionalType;return Wu(n.typeAnnotation,t,"typeAnnotation",e,1),t}function Hd(e){const t={type:"TSRestType",typeAnnotation:e},n=Xu.TSRestType;return Wu(n.typeAnnotation,t,"typeAnnotation",e,1),t}function zd(e,t,n=!1){const r={type:"TSNamedTupleMember",label:e,elementType:t,optional:n},i=Xu.TSNamedTupleMember;return Wu(i.label,r,"label",e,1),Wu(i.elementType,r,"elementType",t,1),Wu(i.optional,r,"optional",n),r}function Yd(e){const t={type:"TSUnionType",types:e},n=Xu.TSUnionType;return Wu(n.types,t,"types",e,1),t}function Gd(e){const t={type:"TSIntersectionType",types:e},n=Xu.TSIntersectionType;return Wu(n.types,t,"types",e,1),t}function Qd(e,t,n,r){const i={type:"TSConditionalType",checkType:e,extendsType:t,trueType:n,falseType:r},s=Xu.TSConditionalType;return Wu(s.checkType,i,"checkType",e,1),Wu(s.extendsType,i,"extendsType",t,1),Wu(s.trueType,i,"trueType",n,1),Wu(s.falseType,i,"falseType",r,1),i}function Zd(e){const t={type:"TSInferType",typeParameter:e},n=Xu.TSInferType;return Wu(n.typeParameter,t,"typeParameter",e,1),t}function eh(e){const t={type:"TSParenthesizedType",typeAnnotation:e},n=Xu.TSParenthesizedType;return Wu(n.typeAnnotation,t,"typeAnnotation",e,1),t}function th(e,t){const n={type:"TSTypeOperator",typeAnnotation:e,operator:t},r=Xu.TSTypeOperator;return Wu(r.typeAnnotation,n,"typeAnnotation",e,1),Wu(r.operator,n,"operator",t),n}function nh(e,t){const n={type:"TSIndexedAccessType",objectType:e,indexType:t},r=Xu.TSIndexedAccessType;return Wu(r.objectType,n,"objectType",e,1),Wu(r.indexType,n,"indexType",t,1),n}function rh(e,t,n=null,r=null){const i={type:"TSMappedType",key:e,constraint:t,nameType:n,typeAnnotation:r},s=Xu.TSMappedType;return Wu(s.key,i,"key",e,1),Wu(s.constraint,i,"constraint",t,1),Wu(s.nameType,i,"nameType",n,1),Wu(s.typeAnnotation,i,"typeAnnotation",r,1),i}function ih(e,t){const n={type:"TSTemplateLiteralType",quasis:e,types:t},r=Xu.TSTemplateLiteralType;return Wu(r.quasis,n,"quasis",e,1),Wu(r.types,n,"types",t,1),n}function sh(e){const t={type:"TSLiteralType",literal:e},n=Xu.TSLiteralType;return Wu(n.literal,t,"literal",e,1),t}function ah(e,t=null){const n={type:"TSClassImplements",expression:e,typeArguments:t},r=Xu.TSClassImplements;return Wu(r.expression,n,"expression",e,1),Wu(r.typeArguments,n,"typeArguments",t,1),n}function oh(e,t=null){const n={type:"TSInterfaceHeritage",expression:e,typeArguments:t},r=Xu.TSInterfaceHeritage;return Wu(r.expression,n,"expression",e,1),Wu(r.typeArguments,n,"typeArguments",t,1),n}function uh(e,t=null,n=null,r){const i={type:"TSInterfaceDeclaration",id:e,typeParameters:t,extends:n,body:r},s=Xu.TSInterfaceDeclaration;return Wu(s.id,i,"id",e,1),Wu(s.typeParameters,i,"typeParameters",t,1),Wu(s.extends,i,"extends",n,1),Wu(s.body,i,"body",r,1),i}function ch(e){const t={type:"TSInterfaceBody",body:e},n=Xu.TSInterfaceBody;return Wu(n.body,t,"body",e,1),t}function lh(e,t=null,n){const r={type:"TSTypeAliasDeclaration",id:e,typeParameters:t,typeAnnotation:n},i=Xu.TSTypeAliasDeclaration;return Wu(i.id,r,"id",e,1),Wu(i.typeParameters,r,"typeParameters",t,1),Wu(i.typeAnnotation,r,"typeAnnotation",n,1),r}function ph(e,t=null){const n={type:"TSInstantiationExpression",expression:e,typeArguments:t},r=Xu.TSInstantiationExpression;return Wu(r.expression,n,"expression",e,1),Wu(r.typeArguments,n,"typeArguments",t,1),n}function dh(e,t){const n={type:"TSAsExpression",expression:e,typeAnnotation:t},r=Xu.TSAsExpression;return Wu(r.expression,n,"expression",e,1),Wu(r.typeAnnotation,n,"typeAnnotation",t,1),n}function hh(e,t){const n={type:"TSSatisfiesExpression",expression:e,typeAnnotation:t},r=Xu.TSSatisfiesExpression;return Wu(r.expression,n,"expression",e,1),Wu(r.typeAnnotation,n,"typeAnnotation",t,1),n}function fh(e,t){const n={type:"TSTypeAssertion",typeAnnotation:e,expression:t},r=Xu.TSTypeAssertion;return Wu(r.typeAnnotation,n,"typeAnnotation",e,1),Wu(r.expression,n,"expression",t,1),n}function mh(e){const t={type:"TSEnumBody",members:e},n=Xu.TSEnumBody;return Wu(n.members,t,"members",e,1),t}function yh(e,t){const n={type:"TSEnumDeclaration",id:e,body:t},r=Xu.TSEnumDeclaration;return Wu(r.id,n,"id",e,1),Wu(r.body,n,"body",t,1),n}function gh(e,t=null){const n={type:"TSEnumMember",id:e,initializer:t},r=Xu.TSEnumMember;return Wu(r.id,n,"id",e,1),Wu(r.initializer,n,"initializer",t,1),n}function bh(e,t){const n={type:"TSModuleDeclaration",id:e,body:t,kind:null},r=Xu.TSModuleDeclaration;return Wu(r.id,n,"id",e,1),Wu(r.body,n,"body",t,1),n}function xh(e){const t={type:"TSModuleBlock",body:e},n=Xu.TSModuleBlock;return Wu(n.body,t,"body",e,1),t}function Sh(e,t=null,n=null){const r={type:"TSImportType",argument:e,qualifier:t,typeArguments:n},i=Xu.TSImportType;return Wu(i.argument,r,"argument",e,1),Wu(i.qualifier,r,"qualifier",t,1),Wu(i.typeArguments,r,"typeArguments",n,1),r}function Th(e,t){const n={type:"TSImportEqualsDeclaration",id:e,moduleReference:t},r=Xu.TSImportEqualsDeclaration;return Wu(r.id,n,"id",e,1),Wu(r.moduleReference,n,"moduleReference",t,1),n}function Eh(e){const t={type:"TSExternalModuleReference",expression:e},n=Xu.TSExternalModuleReference;return Wu(n.expression,t,"expression",e,1),t}function Ph(e){const t={type:"TSNonNullExpression",expression:e},n=Xu.TSNonNullExpression;return Wu(n.expression,t,"expression",e,1),t}function vh(e){const t={type:"TSExportAssignment",expression:e},n=Xu.TSExportAssignment;return Wu(n.expression,t,"expression",e,1),t}function Ah(e){const t={type:"TSNamespaceExportDeclaration",id:e},n=Xu.TSNamespaceExportDeclaration;return Wu(n.id,t,"id",e,1),t}function wh(e){const t={type:"TSTypeAnnotation",typeAnnotation:e},n=Xu.TSTypeAnnotation;return Wu(n.typeAnnotation,t,"typeAnnotation",e,1),t}function Ch(e){const t={type:"TSTypeParameterInstantiation",params:e},n=Xu.TSTypeParameterInstantiation;return Wu(n.params,t,"params",e,1),t}function kh(e){const t={type:"TSTypeParameterDeclaration",params:e},n=Xu.TSTypeParameterDeclaration;return Wu(n.params,t,"params",e,1),t}function Ih(e=null,t=null,n){const r={type:"TSTypeParameter",constraint:e,default:t,name:n},i=Xu.TSTypeParameter;return Wu(i.constraint,r,"constraint",e,1),Wu(i.default,r,"default",t,1),Wu(i.name,r,"name",n,1),r}function _h(e){return It("NumberLiteral","NumericLiteral","The node type "),xc(e)}function Nh(e,t=""){return It("RegexLiteral","RegExpLiteral","The node type "),Ec(e,t)}function Lh(e){return It("RestProperty","RestElement","The node type "),_c(e)}function Oh(e){return It("SpreadProperty","SpreadElement","The node type "),ll(e)}var Dh=Object.freeze({__proto__:null,anyTypeAnnotation:Il,argumentPlaceholder:rd,arrayExpression:Hu,arrayPattern:Wc,arrayTypeAnnotation:_l,arrowFunctionExpression:Xc,assignmentExpression:zu,assignmentPattern:Kc,awaitExpression:yl,bigIntLiteral:bl,binaryExpression:Yu,bindExpression:id,blockStatement:ec,booleanLiteral:Tc,booleanLiteralTypeAnnotation:Ll,booleanTypeAnnotation:Nl,breakStatement:tc,callExpression:nc,catchClause:rc,classAccessorProperty:Pl,classBody:Hc,classDeclaration:Yc,classExpression:zc,classImplements:Dl,classMethod:ul,classPrivateMethod:Al,classPrivateProperty:vl,classProperty:El,conditionalExpression:ic,continueStatement:sc,debuggerStatement:ac,declareClass:Ml,declareExportAllDeclaration:Vl,declareExportDeclaration:Jl,declareFunction:Bl,declareInterface:Fl,declareModule:Rl,declareModuleExports:jl,declareOpaqueType:ql,declareTypeAlias:Ul,declareVariable:$l,declaredPredicate:Kl,decorator:sd,directive:Qu,directiveLiteral:Zu,doExpression:ad,doWhileStatement:oc,emptyStatement:uc,emptyTypeAnnotation:np,enumBooleanBody:_p,enumBooleanMember:Dp,enumDeclaration:Ip,enumDefaultedMember:Fp,enumNumberBody:Np,enumNumberMember:Mp,enumStringBody:Lp,enumStringMember:Bp,enumSymbolBody:Op,existsTypeAnnotation:Wl,exportAllDeclaration:Gc,exportDefaultDeclaration:Qc,exportDefaultSpecifier:od,exportNamedDeclaration:Zc,exportNamespaceSpecifier:xl,exportSpecifier:el,expressionStatement:cc,file:lc,forInStatement:pc,forOfStatement:tl,forStatement:dc,functionDeclaration:hc,functionExpression:fc,functionTypeAnnotation:Xl,functionTypeParam:Hl,genericTypeAnnotation:zl,identifier:mc,ifStatement:yc,import:gl,importAttribute:kl,importDeclaration:nl,importDefaultSpecifier:rl,importExpression:al,importNamespaceSpecifier:il,importSpecifier:sl,indexedAccessType:Rp,inferredPredicate:Yl,interfaceDeclaration:Ql,interfaceExtends:Gl,interfaceTypeAnnotation:Zl,interpreterDirective:Gu,intersectionTypeAnnotation:ep,jsxAttribute:Up,jsxClosingElement:qp,jsxClosingFragment:ed,jsxElement:$p,jsxEmptyExpression:Jp,jsxExpressionContainer:Vp,jsxFragment:Qp,jsxIdentifier:Wp,jsxMemberExpression:Xp,jsxNamespacedName:Hp,jsxOpeningElement:zp,jsxOpeningFragment:Zp,jsxSpreadAttribute:Yp,jsxSpreadChild:Kp,jsxText:Gp,labeledStatement:gc,logicalExpression:Pc,memberExpression:vc,metaProperty:ol,mixedTypeAnnotation:tp,moduleExpression:ld,newExpression:Ac,nullLiteral:Sc,nullLiteralTypeAnnotation:Ol,nullableTypeAnnotation:rp,numberLiteral:_h,numberLiteralTypeAnnotation:ip,numberTypeAnnotation:sp,numericLiteral:xc,objectExpression:Cc,objectMethod:kc,objectPattern:cl,objectProperty:Ic,objectTypeAnnotation:ap,objectTypeCallProperty:up,objectTypeIndexer:cp,objectTypeInternalSlot:op,objectTypeProperty:lp,objectTypeSpreadProperty:pp,opaqueType:dp,optionalCallExpression:Tl,optionalIndexedAccessType:jp,optionalMemberExpression:Sl,parenthesizedExpression:Oc,pipelineBareFunction:hd,pipelinePrimaryTopicReference:fd,pipelineTopicExpression:dd,placeholder:td,privateName:wl,program:wc,qualifiedTypeIdentifier:hp,recordExpression:ud,regExpLiteral:Ec,regexLiteral:Nh,restElement:_c,restProperty:Lh,returnStatement:Nc,sequenceExpression:Lc,spreadElement:ll,spreadProperty:Oh,staticBlock:Cl,stringLiteral:bc,stringLiteralTypeAnnotation:fp,stringTypeAnnotation:mp,super:pl,switchCase:Dc,switchStatement:Mc,symbolTypeAnnotation:yp,taggedTemplateExpression:dl,templateElement:hl,templateLiteral:fl,thisExpression:Bc,thisTypeAnnotation:gp,throwStatement:Fc,topicReference:pd,tryStatement:Rc,tsAnyKeyword:Ad,tsArrayType:Kd,tsAsExpression:dh,tsBigIntKeyword:Cd,tsBooleanKeyword:wd,tsCallSignatureDeclaration:Sd,tsClassImplements:ah,tsConditionalType:Qd,tsConstructSignatureDeclaration:Td,tsConstructorType:Ud,tsDeclareFunction:gd,tsDeclareMethod:bd,tsEnumBody:mh,tsEnumDeclaration:yh,tsEnumMember:gh,tsExportAssignment:vh,tsExternalModuleReference:Eh,tsFunctionType:jd,tsImportEqualsDeclaration:Th,tsImportType:Sh,tsIndexSignature:vd,tsIndexedAccessType:nh,tsInferType:Zd,tsInstantiationExpression:ph,tsInterfaceBody:ch,tsInterfaceDeclaration:uh,tsInterfaceHeritage:oh,tsIntersectionType:Gd,tsIntrinsicKeyword:kd,tsLiteralType:sh,tsMappedType:rh,tsMethodSignature:Pd,tsModuleBlock:xh,tsModuleDeclaration:bh,tsNamedTupleMember:zd,tsNamespaceExportDeclaration:Ah,tsNeverKeyword:Id,tsNonNullExpression:Ph,tsNullKeyword:_d,tsNumberKeyword:Nd,tsObjectKeyword:Ld,tsOptionalType:Xd,tsParameterProperty:yd,tsParenthesizedType:eh,tsPropertySignature:Ed,tsQualifiedName:xd,tsRestType:Hd,tsSatisfiesExpression:hh,tsStringKeyword:Od,tsSymbolKeyword:Dd,tsTemplateLiteralType:ih,tsThisType:Rd,tsTupleType:Wd,tsTypeAliasDeclaration:lh,tsTypeAnnotation:wh,tsTypeAssertion:fh,tsTypeLiteral:Vd,tsTypeOperator:th,tsTypeParameter:Ih,tsTypeParameterDeclaration:kh,tsTypeParameterInstantiation:Ch,tsTypePredicate:$d,tsTypeQuery:Jd,tsTypeReference:qd,tsUndefinedKeyword:Md,tsUnionType:Yd,tsUnknownKeyword:Bd,tsVoidKeyword:Fd,tupleExpression:cd,tupleTypeAnnotation:bp,typeAlias:Sp,typeAnnotation:Tp,typeCastExpression:Ep,typeParameter:Pp,typeParameterDeclaration:vp,typeParameterInstantiation:Ap,typeofTypeAnnotation:xp,unaryExpression:jc,unionTypeAnnotation:wp,updateExpression:Uc,v8IntrinsicIdentifier:nd,variableDeclaration:qc,variableDeclarator:$c,variance:Cp,voidPattern:md,voidTypeAnnotation:kp,whileStatement:Jc,withStatement:Vc,yieldExpression:ml});function Mh(e){return function(){return It(e.replace(/^(?:ts|jsx|[a-z])/,e=>e.toUpperCase()),e,"Usage of builders starting with an uppercase letter such as ","uppercase builders"),Dh[e](...arguments)}}var Bh=Mh("arrayExpression"),Fh=Mh("assignmentExpression"),Rh=Mh("binaryExpression"),jh=Mh("interpreterDirective"),Uh=Mh("directive"),qh=Mh("directiveLiteral"),$h=Mh("blockStatement"),Jh=Mh("breakStatement"),Vh=Mh("callExpression"),Kh=Mh("catchClause"),Wh=Mh("conditionalExpression"),Xh=Mh("continueStatement"),Hh=Mh("debuggerStatement"),zh=Mh("doWhileStatement"),Yh=Mh("emptyStatement"),Gh=Mh("expressionStatement"),Qh=Mh("file"),Zh=Mh("forInStatement"),ef=Mh("forStatement"),tf=Mh("functionDeclaration"),nf=Mh("functionExpression"),rf=Mh("identifier"),sf=Mh("ifStatement"),af=Mh("labeledStatement"),of=Mh("stringLiteral"),uf=Mh("numericLiteral"),cf=Mh("nullLiteral"),lf=Mh("booleanLiteral"),pf=Mh("regExpLiteral"),df=Mh("logicalExpression"),hf=Mh("memberExpression"),ff=Mh("newExpression"),mf=Mh("program"),yf=Mh("objectExpression"),gf=Mh("objectMethod"),bf=Mh("objectProperty"),xf=Mh("restElement"),Sf=Mh("returnStatement"),Tf=Mh("sequenceExpression"),Ef=Mh("parenthesizedExpression"),Pf=Mh("switchCase"),vf=Mh("switchStatement"),Af=Mh("thisExpression"),wf=Mh("throwStatement"),Cf=Mh("tryStatement"),kf=Mh("unaryExpression"),If=Mh("updateExpression"),_f=Mh("variableDeclaration"),Nf=Mh("variableDeclarator"),Lf=Mh("whileStatement"),Of=Mh("withStatement"),Df=Mh("assignmentPattern"),Mf=Mh("arrayPattern"),Bf=Mh("arrowFunctionExpression"),Ff=Mh("classBody"),Rf=Mh("classExpression"),jf=Mh("classDeclaration"),Uf=Mh("exportAllDeclaration"),qf=Mh("exportDefaultDeclaration"),$f=Mh("exportNamedDeclaration"),Jf=Mh("exportSpecifier"),Vf=Mh("forOfStatement"),Kf=Mh("importDeclaration"),Wf=Mh("importDefaultSpecifier"),Xf=Mh("importNamespaceSpecifier"),Hf=Mh("importSpecifier"),zf=Mh("importExpression"),Yf=Mh("metaProperty"),Gf=Mh("classMethod"),Qf=Mh("objectPattern"),Zf=Mh("spreadElement"),em=Mh("super"),tm=Mh("taggedTemplateExpression"),nm=Mh("templateElement"),rm=Mh("templateLiteral"),im=Mh("yieldExpression"),sm=Mh("awaitExpression"),am=Mh("import"),om=Mh("bigIntLiteral"),um=Mh("exportNamespaceSpecifier"),cm=Mh("optionalMemberExpression"),lm=Mh("optionalCallExpression"),pm=Mh("classProperty"),dm=Mh("classAccessorProperty"),hm=Mh("classPrivateProperty"),fm=Mh("classPrivateMethod"),mm=Mh("privateName"),ym=Mh("staticBlock"),gm=Mh("importAttribute"),bm=Mh("anyTypeAnnotation"),xm=Mh("arrayTypeAnnotation"),Sm=Mh("booleanTypeAnnotation"),Tm=Mh("booleanLiteralTypeAnnotation"),Em=Mh("nullLiteralTypeAnnotation"),Pm=Mh("classImplements"),vm=Mh("declareClass"),Am=Mh("declareFunction"),wm=Mh("declareInterface"),Cm=Mh("declareModule"),km=Mh("declareModuleExports"),Im=Mh("declareTypeAlias"),_m=Mh("declareOpaqueType"),Nm=Mh("declareVariable"),Lm=Mh("declareExportDeclaration"),Om=Mh("declareExportAllDeclaration"),Dm=Mh("declaredPredicate"),Mm=Mh("existsTypeAnnotation"),Bm=Mh("functionTypeAnnotation"),Fm=Mh("functionTypeParam"),Rm=Mh("genericTypeAnnotation"),jm=Mh("inferredPredicate"),Um=Mh("interfaceExtends"),qm=Mh("interfaceDeclaration"),$m=Mh("interfaceTypeAnnotation"),Jm=Mh("intersectionTypeAnnotation"),Vm=Mh("mixedTypeAnnotation"),Km=Mh("emptyTypeAnnotation"),Wm=Mh("nullableTypeAnnotation"),Xm=Mh("numberLiteralTypeAnnotation"),Hm=Mh("numberTypeAnnotation"),zm=Mh("objectTypeAnnotation"),Ym=Mh("objectTypeInternalSlot"),Gm=Mh("objectTypeCallProperty"),Qm=Mh("objectTypeIndexer"),Zm=Mh("objectTypeProperty"),ey=Mh("objectTypeSpreadProperty"),ty=Mh("opaqueType"),ny=Mh("qualifiedTypeIdentifier"),ry=Mh("stringLiteralTypeAnnotation"),iy=Mh("stringTypeAnnotation"),sy=Mh("symbolTypeAnnotation"),ay=Mh("thisTypeAnnotation"),oy=Mh("tupleTypeAnnotation"),uy=Mh("typeofTypeAnnotation"),cy=Mh("typeAlias"),ly=Mh("typeAnnotation"),py=Mh("typeCastExpression"),dy=Mh("typeParameter"),hy=Mh("typeParameterDeclaration"),fy=Mh("typeParameterInstantiation"),my=Mh("unionTypeAnnotation"),yy=Mh("variance"),gy=Mh("voidTypeAnnotation"),by=Mh("enumDeclaration"),xy=Mh("enumBooleanBody"),Sy=Mh("enumNumberBody"),Ty=Mh("enumStringBody"),Ey=Mh("enumSymbolBody"),Py=Mh("enumBooleanMember"),vy=Mh("enumNumberMember"),Ay=Mh("enumStringMember"),wy=Mh("enumDefaultedMember"),Cy=Mh("indexedAccessType"),ky=Mh("optionalIndexedAccessType"),Iy=Mh("jsxAttribute"),_y=Mh("jsxClosingElement"),Ny=Mh("jsxElement"),Ly=Mh("jsxEmptyExpression"),Oy=Mh("jsxExpressionContainer"),Dy=Mh("jsxSpreadChild"),My=Mh("jsxIdentifier"),By=Mh("jsxMemberExpression"),Fy=Mh("jsxNamespacedName"),Ry=Mh("jsxOpeningElement"),jy=Mh("jsxSpreadAttribute"),Uy=Mh("jsxText"),qy=Mh("jsxFragment"),$y=Mh("jsxOpeningFragment"),Jy=Mh("jsxClosingFragment"),Vy=Mh("placeholder"),Ky=Mh("v8IntrinsicIdentifier"),Wy=Mh("argumentPlaceholder"),Xy=Mh("bindExpression"),Hy=Mh("decorator"),zy=Mh("doExpression"),Yy=Mh("exportDefaultSpecifier"),Gy=Mh("recordExpression"),Qy=Mh("tupleExpression"),Zy=Mh("moduleExpression"),eg=Mh("topicReference"),tg=Mh("pipelineTopicExpression"),ng=Mh("pipelineBareFunction"),rg=Mh("pipelinePrimaryTopicReference"),ig=Mh("voidPattern"),sg=Mh("tsParameterProperty"),ag=Mh("tsDeclareFunction"),og=Mh("tsDeclareMethod"),ug=Mh("tsQualifiedName"),cg=Mh("tsCallSignatureDeclaration"),lg=Mh("tsConstructSignatureDeclaration"),pg=Mh("tsPropertySignature"),dg=Mh("tsMethodSignature"),hg=Mh("tsIndexSignature"),fg=Mh("tsAnyKeyword"),mg=Mh("tsBooleanKeyword"),yg=Mh("tsBigIntKeyword"),gg=Mh("tsIntrinsicKeyword"),bg=Mh("tsNeverKeyword"),xg=Mh("tsNullKeyword"),Sg=Mh("tsNumberKeyword"),Tg=Mh("tsObjectKeyword"),Eg=Mh("tsStringKeyword"),Pg=Mh("tsSymbolKeyword"),vg=Mh("tsUndefinedKeyword"),Ag=Mh("tsUnknownKeyword"),wg=Mh("tsVoidKeyword"),Cg=Mh("tsThisType"),kg=Mh("tsFunctionType"),Ig=Mh("tsConstructorType"),_g=Mh("tsTypeReference"),Ng=Mh("tsTypePredicate"),Lg=Mh("tsTypeQuery"),Og=Mh("tsTypeLiteral"),Dg=Mh("tsArrayType"),Mg=Mh("tsTupleType"),Bg=Mh("tsOptionalType"),Fg=Mh("tsRestType"),Rg=Mh("tsNamedTupleMember"),jg=Mh("tsUnionType"),Ug=Mh("tsIntersectionType"),qg=Mh("tsConditionalType"),$g=Mh("tsInferType"),Jg=Mh("tsParenthesizedType"),Vg=Mh("tsTypeOperator"),Kg=Mh("tsIndexedAccessType"),Wg=Mh("tsMappedType"),Xg=Mh("tsTemplateLiteralType"),Hg=Mh("tsLiteralType"),zg=Mh("tsClassImplements"),Yg=Mh("tsInterfaceHeritage"),Gg=Mh("tsInterfaceDeclaration"),Qg=Mh("tsInterfaceBody"),Zg=Mh("tsTypeAliasDeclaration"),eb=Mh("tsInstantiationExpression"),tb=Mh("tsAsExpression"),nb=Mh("tsSatisfiesExpression"),rb=Mh("tsTypeAssertion"),ib=Mh("tsEnumBody"),sb=Mh("tsEnumDeclaration"),ab=Mh("tsEnumMember"),ob=Mh("tsModuleDeclaration"),ub=Mh("tsModuleBlock"),cb=Mh("tsImportType"),lb=Mh("tsImportEqualsDeclaration"),pb=Mh("tsExternalModuleReference"),db=Mh("tsNonNullExpression"),hb=Mh("tsExportAssignment"),fb=Mh("tsNamespaceExportDeclaration"),mb=Mh("tsTypeAnnotation"),yb=Mh("tsTypeParameterInstantiation"),gb=Mh("tsTypeParameterDeclaration"),bb=Mh("tsTypeParameter");function xb(e,t){const n=e.value.split(/\r\n|\n|\r/);let r=0;for(let e=0;e<n.length;e++)/[^ \t]/.exec(n[e])&&(r=e);let i="";for(let e=0;e<n.length;e++){const t=n[e],s=0===e,a=e===n.length-1,o=e===r;let u=t.replace(/\t/g," ");s||(u=u.replace(/^ +/,"")),a||(u=u.replace(/ +$/,"")),u&&(o||(u+=" "),i+=u)}i&&t.push(XA(bc(i),e))}function Sb(e){return!(!e||!Uo[e.type])}function Tb(e){if(!Sb(e)){const t=e?.type??JSON.stringify(e);throw new TypeError(`Not a valid node of type "${t}"`)}}function Eb(e,t,n){if(!So(e,t,n))throw new Error(`Expected type "${e}" with option ${JSON.stringify(n)}, but instead got "${t.type}".`)}function Pb(e,t){Eb("ArrayExpression",e,t)}function vb(e,t){Eb("AssignmentExpression",e,t)}function Ab(e,t){Eb("BinaryExpression",e,t)}function wb(e,t){Eb("InterpreterDirective",e,t)}function Cb(e,t){Eb("Directive",e,t)}function kb(e,t){Eb("DirectiveLiteral",e,t)}function Ib(e,t){Eb("BlockStatement",e,t)}function _b(e,t){Eb("BreakStatement",e,t)}function Nb(e,t){Eb("CallExpression",e,t)}function Lb(e,t){Eb("CatchClause",e,t)}function Ob(e,t){Eb("ConditionalExpression",e,t)}function Db(e,t){Eb("ContinueStatement",e,t)}function Mb(e,t){Eb("DebuggerStatement",e,t)}function Bb(e,t){Eb("DoWhileStatement",e,t)}function Fb(e,t){Eb("EmptyStatement",e,t)}function Rb(e,t){Eb("ExpressionStatement",e,t)}function jb(e,t){Eb("File",e,t)}function Ub(e,t){Eb("ForInStatement",e,t)}function qb(e,t){Eb("ForStatement",e,t)}function $b(e,t){Eb("FunctionDeclaration",e,t)}function Jb(e,t){Eb("FunctionExpression",e,t)}function Vb(e,t){Eb("Identifier",e,t)}function Kb(e,t){Eb("IfStatement",e,t)}function Wb(e,t){Eb("LabeledStatement",e,t)}function Xb(e,t){Eb("StringLiteral",e,t)}function Hb(e,t){Eb("NumericLiteral",e,t)}function zb(e,t){Eb("NullLiteral",e,t)}function Yb(e,t){Eb("BooleanLiteral",e,t)}function Gb(e,t){Eb("RegExpLiteral",e,t)}function Qb(e,t){Eb("LogicalExpression",e,t)}function Zb(e,t){Eb("MemberExpression",e,t)}function ex(e,t){Eb("NewExpression",e,t)}function tx(e,t){Eb("Program",e,t)}function nx(e,t){Eb("ObjectExpression",e,t)}function rx(e,t){Eb("ObjectMethod",e,t)}function ix(e,t){Eb("ObjectProperty",e,t)}function sx(e,t){Eb("RestElement",e,t)}function ax(e,t){Eb("ReturnStatement",e,t)}function ox(e,t){Eb("SequenceExpression",e,t)}function ux(e,t){Eb("ParenthesizedExpression",e,t)}function cx(e,t){Eb("SwitchCase",e,t)}function lx(e,t){Eb("SwitchStatement",e,t)}function px(e,t){Eb("ThisExpression",e,t)}function dx(e,t){Eb("ThrowStatement",e,t)}function hx(e,t){Eb("TryStatement",e,t)}function fx(e,t){Eb("UnaryExpression",e,t)}function mx(e,t){Eb("UpdateExpression",e,t)}function yx(e,t){Eb("VariableDeclaration",e,t)}function gx(e,t){Eb("VariableDeclarator",e,t)}function bx(e,t){Eb("WhileStatement",e,t)}function xx(e,t){Eb("WithStatement",e,t)}function Sx(e,t){Eb("AssignmentPattern",e,t)}function Tx(e,t){Eb("ArrayPattern",e,t)}function Ex(e,t){Eb("ArrowFunctionExpression",e,t)}function Px(e,t){Eb("ClassBody",e,t)}function vx(e,t){Eb("ClassExpression",e,t)}function Ax(e,t){Eb("ClassDeclaration",e,t)}function wx(e,t){Eb("ExportAllDeclaration",e,t)}function Cx(e,t){Eb("ExportDefaultDeclaration",e,t)}function kx(e,t){Eb("ExportNamedDeclaration",e,t)}function Ix(e,t){Eb("ExportSpecifier",e,t)}function _x(e,t){Eb("ForOfStatement",e,t)}function Nx(e,t){Eb("ImportDeclaration",e,t)}function Lx(e,t){Eb("ImportDefaultSpecifier",e,t)}function Ox(e,t){Eb("ImportNamespaceSpecifier",e,t)}function Dx(e,t){Eb("ImportSpecifier",e,t)}function Mx(e,t){Eb("ImportExpression",e,t)}function Bx(e,t){Eb("MetaProperty",e,t)}function Fx(e,t){Eb("ClassMethod",e,t)}function Rx(e,t){Eb("ObjectPattern",e,t)}function jx(e,t){Eb("SpreadElement",e,t)}function Ux(e,t){Eb("Super",e,t)}function qx(e,t){Eb("TaggedTemplateExpression",e,t)}function $x(e,t){Eb("TemplateElement",e,t)}function Jx(e,t){Eb("TemplateLiteral",e,t)}function Vx(e,t){Eb("YieldExpression",e,t)}function Kx(e,t){Eb("AwaitExpression",e,t)}function Wx(e,t){Eb("Import",e,t)}function Xx(e,t){Eb("BigIntLiteral",e,t)}function Hx(e,t){Eb("ExportNamespaceSpecifier",e,t)}function zx(e,t){Eb("OptionalMemberExpression",e,t)}function Yx(e,t){Eb("OptionalCallExpression",e,t)}function Gx(e,t){Eb("ClassProperty",e,t)}function Qx(e,t){Eb("ClassAccessorProperty",e,t)}function Zx(e,t){Eb("ClassPrivateProperty",e,t)}function eS(e,t){Eb("ClassPrivateMethod",e,t)}function tS(e,t){Eb("PrivateName",e,t)}function nS(e,t){Eb("StaticBlock",e,t)}function rS(e,t){Eb("ImportAttribute",e,t)}function iS(e,t){Eb("AnyTypeAnnotation",e,t)}function sS(e,t){Eb("ArrayTypeAnnotation",e,t)}function aS(e,t){Eb("BooleanTypeAnnotation",e,t)}function oS(e,t){Eb("BooleanLiteralTypeAnnotation",e,t)}function uS(e,t){Eb("NullLiteralTypeAnnotation",e,t)}function cS(e,t){Eb("ClassImplements",e,t)}function lS(e,t){Eb("DeclareClass",e,t)}function pS(e,t){Eb("DeclareFunction",e,t)}function dS(e,t){Eb("DeclareInterface",e,t)}function hS(e,t){Eb("DeclareModule",e,t)}function fS(e,t){Eb("DeclareModuleExports",e,t)}function mS(e,t){Eb("DeclareTypeAlias",e,t)}function yS(e,t){Eb("DeclareOpaqueType",e,t)}function gS(e,t){Eb("DeclareVariable",e,t)}function bS(e,t){Eb("DeclareExportDeclaration",e,t)}function xS(e,t){Eb("DeclareExportAllDeclaration",e,t)}function SS(e,t){Eb("DeclaredPredicate",e,t)}function TS(e,t){Eb("ExistsTypeAnnotation",e,t)}function ES(e,t){Eb("FunctionTypeAnnotation",e,t)}function PS(e,t){Eb("FunctionTypeParam",e,t)}function vS(e,t){Eb("GenericTypeAnnotation",e,t)}function AS(e,t){Eb("InferredPredicate",e,t)}function wS(e,t){Eb("InterfaceExtends",e,t)}function CS(e,t){Eb("InterfaceDeclaration",e,t)}function kS(e,t){Eb("InterfaceTypeAnnotation",e,t)}function IS(e,t){Eb("IntersectionTypeAnnotation",e,t)}function _S(e,t){Eb("MixedTypeAnnotation",e,t)}function NS(e,t){Eb("EmptyTypeAnnotation",e,t)}function LS(e,t){Eb("NullableTypeAnnotation",e,t)}function OS(e,t){Eb("NumberLiteralTypeAnnotation",e,t)}function DS(e,t){Eb("NumberTypeAnnotation",e,t)}function MS(e,t){Eb("ObjectTypeAnnotation",e,t)}function BS(e,t){Eb("ObjectTypeInternalSlot",e,t)}function FS(e,t){Eb("ObjectTypeCallProperty",e,t)}function RS(e,t){Eb("ObjectTypeIndexer",e,t)}function jS(e,t){Eb("ObjectTypeProperty",e,t)}function US(e,t){Eb("ObjectTypeSpreadProperty",e,t)}function qS(e,t){Eb("OpaqueType",e,t)}function $S(e,t){Eb("QualifiedTypeIdentifier",e,t)}function JS(e,t){Eb("StringLiteralTypeAnnotation",e,t)}function VS(e,t){Eb("StringTypeAnnotation",e,t)}function KS(e,t){Eb("SymbolTypeAnnotation",e,t)}function WS(e,t){Eb("ThisTypeAnnotation",e,t)}function XS(e,t){Eb("TupleTypeAnnotation",e,t)}function HS(e,t){Eb("TypeofTypeAnnotation",e,t)}function zS(e,t){Eb("TypeAlias",e,t)}function YS(e,t){Eb("TypeAnnotation",e,t)}function GS(e,t){Eb("TypeCastExpression",e,t)}function QS(e,t){Eb("TypeParameter",e,t)}function ZS(e,t){Eb("TypeParameterDeclaration",e,t)}function eT(e,t){Eb("TypeParameterInstantiation",e,t)}function tT(e,t){Eb("UnionTypeAnnotation",e,t)}function nT(e,t){Eb("Variance",e,t)}function rT(e,t){Eb("VoidTypeAnnotation",e,t)}function iT(e,t){Eb("EnumDeclaration",e,t)}function sT(e,t){Eb("EnumBooleanBody",e,t)}function aT(e,t){Eb("EnumNumberBody",e,t)}function oT(e,t){Eb("EnumStringBody",e,t)}function uT(e,t){Eb("EnumSymbolBody",e,t)}function cT(e,t){Eb("EnumBooleanMember",e,t)}function lT(e,t){Eb("EnumNumberMember",e,t)}function pT(e,t){Eb("EnumStringMember",e,t)}function dT(e,t){Eb("EnumDefaultedMember",e,t)}function hT(e,t){Eb("IndexedAccessType",e,t)}function fT(e,t){Eb("OptionalIndexedAccessType",e,t)}function mT(e,t){Eb("JSXAttribute",e,t)}function yT(e,t){Eb("JSXClosingElement",e,t)}function gT(e,t){Eb("JSXElement",e,t)}function bT(e,t){Eb("JSXEmptyExpression",e,t)}function xT(e,t){Eb("JSXExpressionContainer",e,t)}function ST(e,t){Eb("JSXSpreadChild",e,t)}function TT(e,t){Eb("JSXIdentifier",e,t)}function ET(e,t){Eb("JSXMemberExpression",e,t)}function PT(e,t){Eb("JSXNamespacedName",e,t)}function vT(e,t){Eb("JSXOpeningElement",e,t)}function AT(e,t){Eb("JSXSpreadAttribute",e,t)}function wT(e,t){Eb("JSXText",e,t)}function CT(e,t){Eb("JSXFragment",e,t)}function kT(e,t){Eb("JSXOpeningFragment",e,t)}function IT(e,t){Eb("JSXClosingFragment",e,t)}function _T(e,t){Eb("Placeholder",e,t)}function NT(e,t){Eb("V8IntrinsicIdentifier",e,t)}function LT(e,t){Eb("ArgumentPlaceholder",e,t)}function OT(e,t){Eb("BindExpression",e,t)}function DT(e,t){Eb("Decorator",e,t)}function MT(e,t){Eb("DoExpression",e,t)}function BT(e,t){Eb("ExportDefaultSpecifier",e,t)}function FT(e,t){Eb("RecordExpression",e,t)}function RT(e,t){Eb("TupleExpression",e,t)}function jT(e,t){Eb("ModuleExpression",e,t)}function UT(e,t){Eb("TopicReference",e,t)}function qT(e,t){Eb("PipelineTopicExpression",e,t)}function $T(e,t){Eb("PipelineBareFunction",e,t)}function JT(e,t){Eb("PipelinePrimaryTopicReference",e,t)}function VT(e,t){Eb("VoidPattern",e,t)}function KT(e,t){Eb("TSParameterProperty",e,t)}function WT(e,t){Eb("TSDeclareFunction",e,t)}function XT(e,t){Eb("TSDeclareMethod",e,t)}function HT(e,t){Eb("TSQualifiedName",e,t)}function zT(e,t){Eb("TSCallSignatureDeclaration",e,t)}function YT(e,t){Eb("TSConstructSignatureDeclaration",e,t)}function GT(e,t){Eb("TSPropertySignature",e,t)}function QT(e,t){Eb("TSMethodSignature",e,t)}function ZT(e,t){Eb("TSIndexSignature",e,t)}function eE(e,t){Eb("TSAnyKeyword",e,t)}function tE(e,t){Eb("TSBooleanKeyword",e,t)}function nE(e,t){Eb("TSBigIntKeyword",e,t)}function rE(e,t){Eb("TSIntrinsicKeyword",e,t)}function iE(e,t){Eb("TSNeverKeyword",e,t)}function sE(e,t){Eb("TSNullKeyword",e,t)}function aE(e,t){Eb("TSNumberKeyword",e,t)}function oE(e,t){Eb("TSObjectKeyword",e,t)}function uE(e,t){Eb("TSStringKeyword",e,t)}function cE(e,t){Eb("TSSymbolKeyword",e,t)}function lE(e,t){Eb("TSUndefinedKeyword",e,t)}function pE(e,t){Eb("TSUnknownKeyword",e,t)}function dE(e,t){Eb("TSVoidKeyword",e,t)}function hE(e,t){Eb("TSThisType",e,t)}function fE(e,t){Eb("TSFunctionType",e,t)}function mE(e,t){Eb("TSConstructorType",e,t)}function yE(e,t){Eb("TSTypeReference",e,t)}function gE(e,t){Eb("TSTypePredicate",e,t)}function bE(e,t){Eb("TSTypeQuery",e,t)}function xE(e,t){Eb("TSTypeLiteral",e,t)}function SE(e,t){Eb("TSArrayType",e,t)}function TE(e,t){Eb("TSTupleType",e,t)}function EE(e,t){Eb("TSOptionalType",e,t)}function PE(e,t){Eb("TSRestType",e,t)}function vE(e,t){Eb("TSNamedTupleMember",e,t)}function AE(e,t){Eb("TSUnionType",e,t)}function wE(e,t){Eb("TSIntersectionType",e,t)}function CE(e,t){Eb("TSConditionalType",e,t)}function kE(e,t){Eb("TSInferType",e,t)}function IE(e,t){Eb("TSParenthesizedType",e,t)}function _E(e,t){Eb("TSTypeOperator",e,t)}function NE(e,t){Eb("TSIndexedAccessType",e,t)}function LE(e,t){Eb("TSMappedType",e,t)}function OE(e,t){Eb("TSTemplateLiteralType",e,t)}function DE(e,t){Eb("TSLiteralType",e,t)}function ME(e,t){Eb("TSClassImplements",e,t)}function BE(e,t){Eb("TSInterfaceHeritage",e,t)}function FE(e,t){Eb("TSInterfaceDeclaration",e,t)}function RE(e,t){Eb("TSInterfaceBody",e,t)}function jE(e,t){Eb("TSTypeAliasDeclaration",e,t)}function UE(e,t){Eb("TSInstantiationExpression",e,t)}function qE(e,t){Eb("TSAsExpression",e,t)}function $E(e,t){Eb("TSSatisfiesExpression",e,t)}function JE(e,t){Eb("TSTypeAssertion",e,t)}function VE(e,t){Eb("TSEnumBody",e,t)}function KE(e,t){Eb("TSEnumDeclaration",e,t)}function WE(e,t){Eb("TSEnumMember",e,t)}function XE(e,t){Eb("TSModuleDeclaration",e,t)}function HE(e,t){Eb("TSModuleBlock",e,t)}function zE(e,t){Eb("TSImportType",e,t)}function YE(e,t){Eb("TSImportEqualsDeclaration",e,t)}function GE(e,t){Eb("TSExternalModuleReference",e,t)}function QE(e,t){Eb("TSNonNullExpression",e,t)}function ZE(e,t){Eb("TSExportAssignment",e,t)}function eP(e,t){Eb("TSNamespaceExportDeclaration",e,t)}function tP(e,t){Eb("TSTypeAnnotation",e,t)}function nP(e,t){Eb("TSTypeParameterInstantiation",e,t)}function rP(e,t){Eb("TSTypeParameterDeclaration",e,t)}function iP(e,t){Eb("TSTypeParameter",e,t)}function sP(e,t){Eb("Standardized",e,t)}function aP(e,t){Eb("Expression",e,t)}function oP(e,t){Eb("Binary",e,t)}function uP(e,t){Eb("Scopable",e,t)}function cP(e,t){Eb("BlockParent",e,t)}function lP(e,t){Eb("Block",e,t)}function pP(e,t){Eb("Statement",e,t)}function dP(e,t){Eb("Terminatorless",e,t)}function hP(e,t){Eb("CompletionStatement",e,t)}function fP(e,t){Eb("Conditional",e,t)}function mP(e,t){Eb("Loop",e,t)}function yP(e,t){Eb("While",e,t)}function gP(e,t){Eb("ExpressionWrapper",e,t)}function bP(e,t){Eb("For",e,t)}function xP(e,t){Eb("ForXStatement",e,t)}function SP(e,t){Eb("Function",e,t)}function TP(e,t){Eb("FunctionParent",e,t)}function EP(e,t){Eb("Pureish",e,t)}function PP(e,t){Eb("Declaration",e,t)}function vP(e,t){Eb("FunctionParameter",e,t)}function AP(e,t){Eb("PatternLike",e,t)}function wP(e,t){Eb("LVal",e,t)}function CP(e,t){Eb("TSEntityName",e,t)}function kP(e,t){Eb("Literal",e,t)}function IP(e,t){Eb("Immutable",e,t)}function _P(e,t){Eb("UserWhitespacable",e,t)}function NP(e,t){Eb("Method",e,t)}function LP(e,t){Eb("ObjectMember",e,t)}function OP(e,t){Eb("Property",e,t)}function DP(e,t){Eb("UnaryLike",e,t)}function MP(e,t){Eb("Pattern",e,t)}function BP(e,t){Eb("Class",e,t)}function FP(e,t){Eb("ImportOrExportDeclaration",e,t)}function RP(e,t){Eb("ExportDeclaration",e,t)}function jP(e,t){Eb("ModuleSpecifier",e,t)}function UP(e,t){Eb("Accessor",e,t)}function qP(e,t){Eb("Private",e,t)}function $P(e,t){Eb("Flow",e,t)}function JP(e,t){Eb("FlowType",e,t)}function VP(e,t){Eb("FlowBaseAnnotation",e,t)}function KP(e,t){Eb("FlowDeclaration",e,t)}function WP(e,t){Eb("FlowPredicate",e,t)}function XP(e,t){Eb("EnumBody",e,t)}function HP(e,t){Eb("EnumMember",e,t)}function zP(e,t){Eb("JSX",e,t)}function YP(e,t){Eb("Miscellaneous",e,t)}function GP(e,t){Eb("TypeScript",e,t)}function QP(e,t){Eb("TSTypeElement",e,t)}function ZP(e,t){Eb("TSType",e,t)}function ev(e,t){Eb("TSBaseType",e,t)}function tv(e,t){It("assertNumberLiteral","assertNumericLiteral"),Eb("NumberLiteral",e,t)}function nv(e,t){It("assertRegexLiteral","assertRegExpLiteral"),Eb("RegexLiteral",e,t)}function rv(e,t){It("assertRestProperty","assertRestElement"),Eb("RestProperty",e,t)}function iv(e,t){It("assertSpreadProperty","assertSpreadElement"),Eb("SpreadProperty",e,t)}function sv(e,t){It("assertModuleDeclaration","assertImportOrExportDeclaration"),Eb("ModuleDeclaration",e,t)}function av(e){switch(e){case"string":return{type:"StringTypeAnnotation"};case"number":return{type:"NumberTypeAnnotation"};case"undefined":return{type:"VoidTypeAnnotation"};case"boolean":return{type:"BooleanTypeAnnotation"};case"function":return zl(mc("Function"));case"object":return zl(mc("Object"));case"symbol":return zl(mc("Symbol"));case"bigint":return{type:"AnyTypeAnnotation"}}throw new Error("Invalid typeof value: "+e)}function ov(e){return Gt(e)?e.name:`${e.id.name}.${ov(e.qualification)}`}function uv(e){const t=Array.from(e),n=new Map,r=new Map,i=new Set,s=[];for(let e=0;e<t.length;e++){const a=t[e];if(a&&!s.includes(a)){if(dr(a))return[a];if(Ga())r.set(a.type,a);else if(ci(a))i.has(a.types)||(t.push(...a.types),i.add(a.types));else{if(Lr(a)){const e=ov(a.id);if(n.has(e)){let t=n.get(e);t.typeParameters?a.typeParameters&&(t.typeParameters.params.push(...a.typeParameters.params),t.typeParameters.params=uv(t.typeParameters.params)):t=a.typeParameters}else n.set(e,a);continue}s.push(a)}}}for(const[,e]of r)s.push(e);for(const[,e]of n)s.push(e);return s}function cv(e){const t=uv(e);return 1===t.length?t[0]:wp(t)}function lv(e){return Gt(e)?e.name:xn(e)?"this":`${e.right.name}.${lv(e.left)}`}function pv(e){const t=Array.from(e),n=new Map,r=new Map,i=new Set,s=[];for(let e=0;e<t.length;e++){const a=t[e];if(!a)continue;if(s.includes(a))continue;if(us(a))return[a];if(oo(a)){r.set(a.type,a);continue}if(Os(a)){i.has(a.types)||(t.push(...a.types),i.add(a.types));continue}const o="typeArguments";if(vs(a)&&a[o]){const e=a[o],t=lv(a.typeName);if(n.has(t)){let r=n.get(t);const i=r[o];i?(i.params.push(...e.params),i.params=pv(i.params)):r=e}else n.set(t,a);continue}s.push(a)}for(const[,e]of r)s.push(e);for(const[,e]of n)s.push(e);return s}function dv(e){const t=pv(e.map(e=>ca(e)?e.typeAnnotation:e));return 1===t.length?t[0]:Yd(t)}function hv(){return jc("void",xc(0),!0)}var{hasOwn:fv}=Object;function mv(e,t,n,r){return e&&"string"==typeof e.type?bv(e,t,n,r):e}function yv(e,t,n,r){return Array.isArray(e)?e.map(e=>mv(e,t,n,r)):mv(e,t,n,r)}function gv(e,t=!0,n=!1){return bv(e,t,n,new Map)}function bv(e,t=!0,n=!1,r){if(!e)return e;const{type:i}=e,s={type:e.type};if(Gt(e))s.name=e.name,fv(e,"optional")&&"boolean"==typeof e.optional&&(s.optional=e.optional),fv(e,"typeAnnotation")&&(s.typeAnnotation=t?yv(e.typeAnnotation,!0,n,r):e.typeAnnotation),fv(e,"decorators")&&(s.decorators=t?yv(e.decorators,!0,n,r):e.decorators);else{if(!fv(Jo,i))throw new Error(`Unknown node type: "${i}"`);for(const a of Object.keys(Jo[i]))fv(e,a)&&(s[a]=t?Wt(e)&&"comments"===a?xv(e.comments,t,n,r):yv(e[a],!0,n,r):e[a])}return fv(e,"loc")&&(s.loc=n?null:e.loc),fv(e,"leadingComments")&&(s.leadingComments=xv(e.leadingComments,t,n,r)),fv(e,"innerComments")&&(s.innerComments=xv(e.innerComments,t,n,r)),fv(e,"trailingComments")&&(s.trailingComments=xv(e.trailingComments,t,n,r)),fv(e,"extra")&&(s.extra=Object.assign({},e.extra)),s}function xv(e,t,n,r){return e&&t?e.map(e=>{const t=r.get(e);if(t)return t;const{type:i,value:s,loc:a}=e,o={type:i,value:s,loc:a};return n&&(o.loc=null),r.set(e,o),o}):e}function Sv(e){return gv(e,!1)}function Tv(e){return gv(e)}function Ev(e){return gv(e,!0,!0)}function Pv(e){return gv(e,!1,!0)}function vv(e,t,n){if(!n||!e)return e;const r=`${t}Comments`;return e[r]?"leading"===t?e[r]=n.concat(e[r]):e[r].push(...n):e[r]=n,e}function Av(e,t,n,r){return vv(e,t,[{type:r?"CommentLine":"CommentBlock",value:n}])}function wv(e,t,n){t&&n&&(t[e]=Array.from(new Set([].concat(t[e],n[e]).filter(Boolean))))}function Cv(e,t){wv("innerComments",e,t)}function kv(e,t){wv("leadingComments",e,t)}function Iv(e,t){wv("trailingComments",e,t)}function _v(e,t){return Iv(e,t),kv(e,t),Cv(e,t),e}function Nv(e){return Ao.forEach(t=>{e[t]=null}),e}var Lv=$o.Standardized,Ov=$o.Expression,Dv=$o.Binary,Mv=$o.Scopable,Bv=$o.BlockParent,Fv=$o.Block,Rv=$o.Statement,jv=$o.Terminatorless,Uv=$o.CompletionStatement,qv=$o.Conditional,$v=$o.Loop,Jv=$o.While,Vv=$o.ExpressionWrapper,Kv=$o.For,Wv=$o.ForXStatement,Xv=$o.Function,Hv=$o.FunctionParent,zv=$o.Pureish,Yv=$o.Declaration,Gv=$o.FunctionParameter,Qv=$o.PatternLike,Zv=$o.LVal,eA=$o.TSEntityName,tA=$o.Literal,nA=$o.Immutable,rA=$o.UserWhitespacable,iA=$o.Method,sA=$o.ObjectMember,aA=$o.Property,oA=$o.UnaryLike,uA=$o.Pattern,cA=$o.Class,lA=$o.ImportOrExportDeclaration,pA=$o.ExportDeclaration,dA=$o.ModuleSpecifier,hA=$o.Accessor,fA=$o.Private,mA=$o.Flow,yA=$o.FlowType,gA=$o.FlowBaseAnnotation,bA=$o.FlowDeclaration,xA=$o.FlowPredicate,SA=$o.EnumBody,TA=$o.EnumMember,EA=$o.JSX,PA=$o.Miscellaneous,vA=$o.TypeScript,AA=$o.TSTypeElement,wA=$o.TSType,CA=$o.TSBaseType,kA=lA;function IA(e,t){if(Bt(e))return e;let n=[];return Vt(e)?n=[]:(xa(e)||(e=ka(t)?Nc(e):cc(e)),n=[e]),ec(n)}function _A(e,t="body"){const n=IA(e[t],e);return e[t]=n,n}function NA(e){e+="";let t="";for(const n of e)t+=mt(n.codePointAt(0))?n:"-";return t=t.replace(/^[-0-9]+/,""),t=t.replace(/[-\s]+(.)?/g,function(e,t){return t?t.toUpperCase():""}),To(t)||(t=`_${t}`),t||"_"}function LA(e){return"eval"!==(e=NA(e))&&"arguments"!==e||(e="_"+e),e}function OA(e,t=e.key||e.property){return!e.computed&&Gt(t)&&(t=bc(t.name)),t}function DA(e){if(Kt(e)&&(e=e.expression),fa(e))return e;if(Ja(e)?(e.type="ClassExpression",e.abstract=!1):ka(e)&&(e.type="FunctionExpression"),!fa(e))throw new Error(`cannot turn ${e.type} to an expression`);return e}var MA=Symbol(),BA=Symbol();function FA(e,t,n){if(!e)return!1;const r=Uo[e.type];if(!r)return!1;const i=t(e,n=n||{});if(void 0!==i)switch(i){case MA:return!1;case BA:return!0}for(const i of r){const r=e[i];if(r)if(Array.isArray(r)){for(const e of r)if(FA(e,t,n))return!0}else if(FA(r,t,n))return!0}return!1}FA.skip=MA,FA.stop=BA;var RA=["tokens","start","end","loc","raw","rawValue"],jA=[...Ao,"comments",...RA];function UA(e,t={}){const n=t.preserveComments?RA:jA;for(const t of n)null!=e[t]&&(e[t]=void 0);for(const t of Object.keys(e))"_"===t[0]&&null!=e[t]&&(e[t]=void 0);const r=Object.getOwnPropertySymbols(e);for(const t of r)e[t]=null}function qA(e,t){return FA(e,UA,t),e}function $A(e,t=e.key){let n;return"method"===e.kind?$A.increment()+"":(n=Gt(t)?t.name:en(t)?JSON.stringify(t.value):JSON.stringify(qA(gv(t))),e.computed&&(n=`[${n}]`),e.static&&(n=`static:${n}`),n)}function JA(e,t){if(xa(e))return e;let n,r=!1;if(Ja(e))r=!0,n="ClassDeclaration";else if(ka(e))r=!0,n="FunctionDeclaration";else if(Nt(e))return cc(e);if(r&&!e.id&&(n=!1),!n){if(t)return!1;throw new Error(`cannot turn ${e.type} to a statement`)}return e.type=n,e}$A.uid=0,$A.increment=function(){return $A.uid>=Number.MAX_SAFE_INTEGER?$A.uid=0:$A.uid++};var VA=Function.call.bind(Object.prototype.toString);function KA(e){if(void 0===e)return mc("undefined");if(!0===e||!1===e)return Tc(e);if(null===e)return{type:"NullLiteral"};if("string"==typeof e)return bc(e);if("number"==typeof e){let t;if(Number.isFinite(e))t=xc(Math.abs(e));else{let n;n=Number.isNaN(e)?xc(0):xc(1),t=Yu("/",n,xc(0))}return(e<0||Object.is(e,-0))&&(t=jc("-",t)),t}if("bigint"==typeof e)return e<0?jc("-",bl(-e)):bl(e);if(function(e){return"[object RegExp]"===VA(e)}(e)){return Ec(e.source,/\/([a-z]*)$/.exec(e.toString())[1])}if(Array.isArray(e))return Hu(e.map(KA));if(function(e){if("object"!=typeof e||null===e||"[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||null===Object.getPrototypeOf(t)}(e)){const t=[];for(const n of Object.keys(e)){let r,i=!1;To(n)?"__proto__"===n?(i=!0,r=bc(n)):r=mc(n):r=bc(n),t.push(Ic(r,KA(e[n]),i))}return Cc(t)}throw new Error("don't know how to turn this value into a node")}function WA(e,t,n=!1){return e.object=vc(e.object,e.property,e.computed),e.property=t,e.computed=!!n,e}function XA(e,t){if(!e||!t)return e;for(const n of jo.optional)null==e[n]&&(e[n]=t[n]);for(const n of Object.keys(t))"_"===n[0]&&"__clone"!==n&&(e[n]=t[n]);for(const n of jo.force)e[n]=t[n];return _v(e,t),e}function HA(e,t){if(Hn(e.object))throw new Error("Cannot prepend node to super property access (`super.foo`).");return e.object=vc(t,e.object),e}function zA(e){const t=[].concat(e),n=Object.create(null);for(;t.length;){const e=t.pop();if(e)switch(e.type){case"ArrayPattern":t.push(...e.elements);break;case"AssignmentExpression":case"AssignmentPattern":case"ForInStatement":case"ForOfStatement":t.push(e.left);break;case"ObjectPattern":t.push(...e.properties);break;case"ObjectProperty":t.push(e.value);break;case"RestElement":case"UpdateExpression":t.push(e.argument);break;case"UnaryExpression":"delete"===e.operator&&t.push(e.argument);break;case"Identifier":n[e.name]=e}}return n}function YA(e,t,n,r){const i=[].concat(e),s=Object.create(null);for(;i.length;){const e=i.shift();if(!e)continue;if(r&&(Nt(e)||En(e)||Pn(e)))continue;if(Gt(e)){if(t){(s[e.name]=s[e.name]||[]).push(e)}else s[e.name]=e;continue}if(Ka(e)&&!Dn(e)){Na(e.declaration)&&i.push(e.declaration);continue}if(n){if(zt(e)){i.push(e.id);continue}if(Yt(e)||Ln(e))continue}const a=YA.keys[e.type];if(a)for(let t=0;t<a.length;t++){const n=e[a[t]];n&&(Array.isArray(n)?i.push(...n):i.push(n))}}return s}function GA(e,t){return YA(e,t,!0)}function QA(e){if(!e.computed||Ba(e.key))return e.key}function ZA(e,t){if("id"in e&&e.id)return{name:e.id.name,originalNode:e.id};let n,r="";if(dn(t,{value:e})?n=QA(t):pn(e)||Kn(e)?(n=QA(e),"get"===e.kind?r="get ":"set"===e.kind&&(r="set ")):An(t,{init:e})?n=t.id:Nt(t,{operator:"=",right:e})&&(n=t.left),!n)return null;const i=Ba(n)?function(e){return nn(e)?"null":sn(e)?`/${e.pattern}/${e.flags}`:Gn(e)?e.quasis.map(e=>e.value.raw).join(""):void 0!==e.value?String(e.value):null}(n):Gt(n)?n.name:cr(n)?n.id.name:null;return null==i?null:{name:r+i,originalNode:n}}function ew(e,t,n){"function"==typeof t&&(t={enter:t});const{enter:r,exit:i}=t;tw(e,r,i,n,[])}function tw(e,t,n,r,i){const s=Uo[e.type];if(s){t&&t(e,i,r);for(const a of s){const s=e[a];if(Array.isArray(s))for(let o=0;o<s.length;o++){const u=s[o];u&&(i.push({node:e,key:a,index:o}),tw(u,t,n,r,i),i.pop())}else s&&(i.push({node:e,key:a}),tw(s,t,n,r,i),i.pop())}n&&n(e,i,r)}}function nw(e,t,n){if(n&&"Identifier"===e.type&&"ObjectProperty"===t.type&&"ObjectExpression"===n.type)return!1;const r=YA.keys[t.type];if(r)for(let n=0;n<r.length;n++){const i=t[r[n]];if(Array.isArray(i)){if(i.includes(e))return!0}else if(i===e)return!0}return!1}function rw(e){return vn(e)&&"var"!==e.kind}function iw(e){return zt(e)||On(e)||rw(e)}function sw(e){return!!bo(e.type,"Immutable")||!!Gt(e)&&"undefined"===e.name}function aw(e,t){if("object"!=typeof e||"object"!=typeof t||null==e||null==t)return e===t;if(e.type!==t.type)return!1;const n=Object.keys(Jo[e.type]||e.type),r=Uo[e.type];for(const i of n){const n=e[i],s=t[i];if(typeof n!=typeof s)return!1;if(null!=n||null!=s){if(null==n||null==s)return!1;if(Array.isArray(n)){if(!Array.isArray(s))return!1;if(n.length!==s.length)return!1;for(let e=0;e<n.length;e++)if(!aw(n[e],s[e]))return!1}else if("object"!=typeof n||r?.includes(i)){if(!aw(n,s))return!1}else for(const e of Object.keys(n))if(n[e]!==s[e])return!1}}return!0}function ow(e,t,n){switch(t.type){case"MemberExpression":case"OptionalMemberExpression":return t.property===e?!!t.computed:t.object===e;case"JSXMemberExpression":return t.object===e;case"VariableDeclarator":return t.init===e;case"ArrowFunctionExpression":return t.body===e;case"PrivateName":case"LabeledStatement":case"CatchClause":case"RestElement":case"BreakStatement":case"ContinueStatement":case"FunctionDeclaration":case"FunctionExpression":case"ExportNamespaceSpecifier":case"ExportDefaultSpecifier":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":case"ImportAttribute":case"JSXAttribute":case"ObjectPattern":case"ArrayPattern":case"MetaProperty":return!1;case"ClassMethod":case"ClassPrivateMethod":case"ObjectMethod":return t.key===e&&!!t.computed;case"ObjectProperty":return t.key===e?!!t.computed:!n||"ObjectPattern"!==n.type;case"ClassProperty":case"ClassAccessorProperty":case"TSPropertySignature":return t.key!==e||!!t.computed;case"ClassPrivateProperty":case"ObjectTypeProperty":return t.key!==e;case"ClassDeclaration":case"ClassExpression":return t.superClass===e;case"AssignmentExpression":case"AssignmentPattern":return t.right===e;case"ExportSpecifier":return!n?.source&&t.local===e;case"TSEnumMember":return t.id!==e}return!0}function uw(e,t){return(!Bt(e)||!ka(t)&&!jt(t))&&(!(!$a(e)||!ka(t)&&!jt(t))||ya(e))}function cw(e){return Un(e)||Gt(e.imported||e.exported,{name:"default"})}YA.keys={DeclareClass:["id"],DeclareFunction:["id"],DeclareModule:["id"],DeclareVariable:["id"],DeclareInterface:["id"],DeclareTypeAlias:["id"],DeclareOpaqueType:["id"],InterfaceDeclaration:["id"],TypeAlias:["id"],OpaqueType:["id"],CatchClause:["param"],LabeledStatement:["label"],UnaryExpression:["argument"],AssignmentExpression:["left"],ImportSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportDefaultSpecifier:["local"],ImportDeclaration:["specifiers"],TSImportEqualsDeclaration:["id"],ExportSpecifier:["exported"],ExportNamespaceSpecifier:["exported"],ExportDefaultSpecifier:["exported"],FunctionDeclaration:["id","params"],FunctionExpression:["id","params"],ArrowFunctionExpression:["params"],ObjectMethod:["params"],ClassMethod:["params"],ClassPrivateMethod:["params"],ForInStatement:["left"],ForOfStatement:["left"],ClassDeclaration:["id"],ClassExpression:["id"],RestElement:["argument"],UpdateExpression:["argument"],ObjectProperty:["value"],AssignmentPattern:["left"],ArrayPattern:["elements"],ObjectPattern:["properties"],VariableDeclaration:["declarations"],VariableDeclarator:["id"]};var lw=new Set(["abstract","boolean","byte","char","double","enum","final","float","goto","implements","int","interface","long","native","package","private","protected","public","short","static","synchronized","throws","transient","volatile"]);function pw(e){return To(e)&&!lw.has(e)}function dw(e){return vn(e)&&"var"===e.kind}var hw={isReactComponent:go,isCompatTag:function(e){return!!e&&/^[a-z]/.test(e)},buildChildren:function(e){const t=[];for(let n=0;n<e.children.length;n++){let r=e.children[n];Di(r)?xb(r,t):(Ci(r)&&(r=r.expression),wi(r)||t.push(r))}return t}};function fw(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}var mw=class{constructor(e,t,n){Qe(this,"line"),Qe(this,"column"),Qe(this,"index"),this.line=e,this.column=t,this.index=n}},yw=class{constructor(e,t){Qe(this,"start"),Qe(this,"end"),Qe(this,"filename"),Qe(this,"identifierName"),this.start=e,this.end=t}};function gw(e,t){const{line:n,column:r,index:i}=e;return new mw(n,r+t,i+t)}var bw="BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED",xw={ImportMetaOutsideModule:{message:"import.meta may appear only with 'sourceType: \"module\"'",code:bw},ImportOutsideModule:{message:"'import' and 'export' may appear only with 'sourceType: \"module\"'",code:bw}},Sw={ArrayPattern:"array destructuring pattern",AssignmentExpression:"assignment expression",AssignmentPattern:"assignment expression",ArrowFunctionExpression:"arrow function expression",ConditionalExpression:"conditional expression",CatchClause:"catch clause",ForOfStatement:"for-of statement",ForInStatement:"for-in statement",ForStatement:"for-loop",FormalParameters:"function parameter list",Identifier:"identifier",ImportSpecifier:"import specifier",ImportDefaultSpecifier:"import default specifier",ImportNamespaceSpecifier:"import namespace specifier",ObjectPattern:"object destructuring pattern",ParenthesizedExpression:"parenthesized expression",RestElement:"rest element",UpdateExpression:{true:"prefix operation",false:"postfix operation"},VariableDeclarator:"variable declaration",YieldExpression:"yield expression"},Tw=e=>"UpdateExpression"===e.type?Sw.UpdateExpression[`${e.prefix}`]:Sw[e.type],Ew={AccessorIsGenerator:({kind:e})=>`A ${e}ter cannot be a generator.`,ArgumentsInClass:"'arguments' is only allowed in functions and class methods.",AsyncFunctionInSingleStatementContext:"Async functions can only be declared at the top level or inside a block.",AwaitBindingIdentifier:"Can not use 'await' as identifier inside an async function.",AwaitBindingIdentifierInStaticBlock:"Can not use 'await' as identifier inside a static block.",AwaitExpressionFormalParameter:"'await' is not allowed in async function parameters.",AwaitUsingNotInAsyncContext:"'await using' is only allowed within async functions and at the top levels of modules.",AwaitNotInAsyncContext:"'await' is only allowed within async functions and at the top levels of modules.",BadGetterArity:"A 'get' accessor must not have any formal parameters.",BadSetterArity:"A 'set' accessor must have exactly one formal parameter.",BadSetterRestParameter:"A 'set' accessor function argument must not be a rest parameter.",ConstructorClassField:"Classes may not have a field named 'constructor'.",ConstructorClassPrivateField:"Classes may not have a private field named '#constructor'.",ConstructorIsAccessor:"Class constructor may not be an accessor.",ConstructorIsAsync:"Constructor can't be an async function.",ConstructorIsGenerator:"Constructor can't be a generator.",DeclarationMissingInitializer:({kind:e})=>`Missing initializer in ${e} declaration.`,DecoratorArgumentsOutsideParentheses:"Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(decorator)(args)'.",DecoratorBeforeExport:"Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use the 'export @decorator class {}' syntax.",DecoratorsBeforeAfterExport:"Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the same time.",DecoratorConstructor:"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",DecoratorExportClass:"Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use the '@decorator export class {}' syntax.",DecoratorSemicolon:"Decorators must not be followed by a semicolon.",DecoratorStaticBlock:"Decorators can't be used with a static block.",DeferImportRequiresNamespace:'Only `import defer * as x from "./module"` is valid.',DeletePrivateField:"Deleting a private field is not allowed.",DestructureNamedImport:"ES2015 named imports do not destructure. Use another statement for destructuring after the import.",DuplicateConstructor:"Duplicate constructor in the same class.",DuplicateDefaultExport:"Only one default export allowed per module.",DuplicateExport:({exportName:e})=>`\`${e}\` has already been exported. Exported identifiers must be unique.`,DuplicateProto:"Redefinition of __proto__ property.",DuplicateRegExpFlags:"Duplicate regular expression flag.",ElementAfterRest:"Rest element must be last element.",EscapedCharNotAnIdentifier:"Invalid Unicode escape.",ExportBindingIsString:({localName:e,exportName:t})=>`A string literal cannot be used as an exported binding without \`from\`.\n- Did you mean \`export { '${e}' as '${t}' } from 'some-module'\`?`,ExportDefaultFromAsIdentifier:"'from' is not allowed as an identifier after 'export default'.",ForInOfLoopInitializer:({type:e})=>`'${"ForInStatement"===e?"for-in":"for-of"}' loop variable declaration may not have an initializer.`,ForInUsing:"For-in loop may not start with 'using' declaration.",ForOfAsync:"The left-hand side of a for-of loop may not be 'async'.",ForOfLet:"The left-hand side of a for-of loop may not start with 'let'.",GeneratorInSingleStatementContext:"Generators can only be declared at the top level or inside a block.",IllegalBreakContinue:({type:e})=>`Unsyntactic ${"BreakStatement"===e?"break":"continue"}.`,IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list.",IllegalReturn:"'return' outside of function.",ImportAttributesUseAssert:"The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You can enable the `deprecatedImportAssert` parser plugin to suppress this error.",ImportBindingIsString:({importName:e})=>`A string literal cannot be used as an imported binding.\n- Did you mean \`import { "${e}" as foo }\`?`,ImportCallArity:"`import()` requires exactly one or two arguments.",ImportCallNotNewExpression:"Cannot use new with import(...).",ImportCallSpreadArgument:"`...` is not allowed in `import()`.",ImportJSONBindingNotDefault:"A JSON module can only be imported with `default`.",ImportReflectionHasAssertion:"`import module x` cannot have assertions.",ImportReflectionNotBinding:'Only `import module x from "./module"` is valid.',IncompatibleRegExpUVFlags:"The 'u' and 'v' regular expression flags cannot be enabled at the same time.",InvalidBigIntLiteral:"Invalid BigIntLiteral.",InvalidCodePoint:"Code point out of bounds.",InvalidCoverDiscardElement:"'void' must be followed by an expression when not used in a binding position.",InvalidCoverInitializedName:"Invalid shorthand property initializer.",InvalidDecimal:"Invalid decimal.",InvalidDigit:({radix:e})=>`Expected number in radix ${e}.`,InvalidEscapeSequence:"Bad character escape sequence.",InvalidEscapeSequenceTemplate:"Invalid escape sequence in template.",InvalidEscapedReservedWord:({reservedWord:e})=>`Escape sequence in keyword ${e}.`,InvalidIdentifier:({identifierName:e})=>`Invalid identifier ${e}.`,InvalidLhs:({ancestor:e})=>`Invalid left-hand side in ${Tw(e)}.`,InvalidLhsBinding:({ancestor:e})=>`Binding invalid left-hand side in ${Tw(e)}.`,InvalidLhsOptionalChaining:({ancestor:e})=>`Invalid optional chaining in the left-hand side of ${Tw(e)}.`,InvalidNumber:"Invalid number.",InvalidOrMissingExponent:"Floating-point numbers require a valid exponent after the 'e'.",InvalidOrUnexpectedToken:({unexpected:e})=>`Unexpected character '${e}'.`,InvalidParenthesizedAssignment:"Invalid parenthesized assignment pattern.",InvalidPrivateFieldResolution:({identifierName:e})=>`Private name #${e} is not defined.`,InvalidPropertyBindingPattern:"Binding member expression.",InvalidRecordProperty:"Only properties and spread elements are allowed in record definitions.",InvalidRestAssignmentPattern:"Invalid rest operator's argument.",LabelRedeclaration:({labelName:e})=>`Label '${e}' is already declared.`,LetInLexicalBinding:"'let' is disallowed as a lexically bound name.",LineTerminatorBeforeArrow:"No line break is allowed before '=>'.",MalformedRegExpFlags:"Invalid regular expression flag.",MissingClassName:"A class name is required.",MissingEqInAssignment:"Only '=' operator can be used for specifying default value.",MissingSemicolon:"Missing semicolon.",MissingPlugin:({missingPlugin:e})=>`This experimental syntax requires enabling the parser plugin: ${e.map(e=>JSON.stringify(e)).join(", ")}.`,MissingOneOfPlugins:({missingPlugin:e})=>`This experimental syntax requires enabling one of the following parser plugin(s): ${e.map(e=>JSON.stringify(e)).join(", ")}.`,MissingUnicodeEscape:"Expecting Unicode escape sequence \\uXXXX.",MixingCoalesceWithLogical:"Nullish coalescing operator(??) requires parens when mixing with logical operators.",ModuleAttributeDifferentFromType:"The only accepted module attribute is `type`.",ModuleAttributeInvalidValue:"Only string literals are allowed as module attribute values.",ModuleAttributesWithDuplicateKeys:({key:e})=>`Duplicate key "${e}" is not allowed in module attributes.`,ModuleExportNameHasLoneSurrogate:({surrogateCharCode:e})=>`An export name cannot include a lone surrogate, found '\\u${e.toString(16)}'.`,ModuleExportUndefined:({localName:e})=>`Export '${e}' is not defined.`,MultipleDefaultsInSwitch:"Multiple default clauses.",NewlineAfterThrow:"Illegal newline after throw.",NoCatchOrFinally:"Missing catch or finally clause.",NumberIdentifier:"Identifier directly after number.",NumericSeparatorInEscapeSequence:"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.",ObsoleteAwaitStar:"'await*' has been removed from the async functions proposal. Use Promise.all() instead.",OptionalChainingNoNew:"Constructors in/after an Optional Chain are not allowed.",OptionalChainingNoTemplate:"Tagged Template Literals are not allowed in optionalChain.",OverrideOnConstructor:"'override' modifier cannot appear on a constructor declaration.",ParamDupe:"Argument name clash.",PatternHasAccessor:"Object pattern can't contain getter or setter.",PatternHasMethod:"Object pattern can't contain methods.",PrivateInExpectedIn:({identifierName:e})=>`Private names are only allowed in property accesses (\`obj.#${e}\`) or in \`in\` expressions (\`#${e} in obj\`).`,PrivateNameRedeclaration:({identifierName:e})=>`Duplicate private name #${e}.`,RecordExpressionBarIncorrectEndSyntaxType:"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionBarIncorrectStartSyntaxType:"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionHashIncorrectStartSyntaxType:"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",RecordNoProto:"'__proto__' is not allowed in Record expressions.",RestTrailingComma:"Unexpected trailing comma after rest element.",SloppyFunction:"In non-strict mode code, functions can only be declared at top level or inside a block.",SloppyFunctionAnnexB:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.",SourcePhaseImportRequiresDefault:'Only `import source x from "./module"` is valid.',StaticPrototype:"Classes may not have static property named prototype.",SuperNotAllowed:"`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?",SuperPrivateField:"Private fields can't be accessed on super.",TrailingDecorator:"Decorators must be attached to a class element.",TupleExpressionBarIncorrectEndSyntaxType:"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionBarIncorrectStartSyntaxType:"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionHashIncorrectStartSyntaxType:"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",UnexpectedArgumentPlaceholder:"Unexpected argument placeholder.",UnexpectedAwaitAfterPipelineBody:'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.',UnexpectedDigitAfterHash:"Unexpected digit after hash token.",UnexpectedImportExport:"'import' and 'export' may only appear at the top level.",UnexpectedKeyword:({keyword:e})=>`Unexpected keyword '${e}'.`,UnexpectedLeadingDecorator:"Leading decorators must be attached to a class declaration.",UnexpectedLexicalDeclaration:"Lexical declaration cannot appear in a single-statement context.",UnexpectedNewTarget:"`new.target` can only be used in functions or class properties.",UnexpectedNumericSeparator:"A numeric separator is only allowed between two digits.",UnexpectedPrivateField:"Unexpected private name.",UnexpectedReservedWord:({reservedWord:e})=>`Unexpected reserved word '${e}'.`,UnexpectedSuper:"'super' is only allowed in object methods and classes.",UnexpectedToken:({expected:e,unexpected:t})=>`Unexpected token${t?` '${t}'.`:""}${e?`, expected "${e}"`:""}`,UnexpectedTokenUnaryExponentiation:"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",UnexpectedUsingDeclaration:"Using declaration cannot appear in the top level when source type is `script` or in the bare case statement.",UnexpectedVoidPattern:"Unexpected void binding.",UnsupportedBind:"Binding should be performed on object property.",UnsupportedDecoratorExport:"A decorated export must export a class declaration.",UnsupportedDefaultExport:"Only expressions, functions or classes are allowed as the `default` export.",UnsupportedImport:"`import` can only be used in `import()` or `import.meta`.",UnsupportedMetaProperty:({target:e,onlyValidPropertyName:t})=>`The only valid meta property for ${e} is ${e}.${t}.`,UnsupportedParameterDecorator:"Decorators cannot be used to decorate parameters.",UnsupportedPropertyDecorator:"Decorators cannot be used to decorate object literal properties.",UnsupportedSuper:"'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).",UnterminatedComment:"Unterminated comment.",UnterminatedRegExp:"Unterminated regular expression.",UnterminatedString:"Unterminated string constant.",UnterminatedTemplate:"Unterminated template.",UsingDeclarationExport:"Using declaration cannot be exported.",UsingDeclarationHasBindingPattern:"Using declaration cannot have destructuring patterns.",VarRedeclaration:({identifierName:e})=>`Identifier '${e}' has already been declared.`,VoidPatternCatchClauseParam:"A void binding can not be the catch clause parameter. Use `try { ... } catch { ... }` if you want to discard the caught error.",VoidPatternInitializer:"A void binding may not have an initializer.",YieldBindingIdentifier:"Can not use 'yield' as identifier inside a generator.",YieldInParameter:"Yield expression is not allowed in formal parameters.",YieldNotInGeneratorFunction:"'yield' is only allowed within generator functions.",ZeroDigitNumericSeparator:"Numeric separator can not be used after leading 0."},Pw={ParseExpressionEmptyInput:"Unexpected parseExpression() input: The input is empty or contains only comments.",ParseExpressionExpectsEOF:({unexpected:e})=>`Unexpected parseExpression() input: The input should contain exactly one expression, but the first expression is followed by the unexpected character \`${String.fromCodePoint(e)}\`.`},vw=new Set(["ArrowFunctionExpression","AssignmentExpression","ConditionalExpression","YieldExpression"]),Aw=Object.assign({PipeBodyIsTighter:"Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.",PipeTopicRequiresHackPipes:'Topic references are only supported when using the `"proposal": "hack"` version of the pipeline proposal.',PipeTopicUnbound:"Topic reference is unbound; it must be inside a pipe body.",PipeTopicUnconfiguredToken:({token:e})=>`Invalid topic token ${e}. In order to use ${e} as a topic reference, the pipelineOperator plugin must be configured with { "proposal": "hack", "topicToken": "${e}" }.`,PipeTopicUnused:"Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.",PipeUnparenthesizedBody:({type:e})=>`Hack-style pipe body cannot be an unparenthesized ${Tw({type:e})}; please wrap it in parentheses.`},{}),ww=["message"];function Cw(e,t,n){Object.defineProperty(e,t,{enumerable:!1,configurable:!0,value:n})}function kw({toMessage:e,code:t,reasonCode:n,syntaxPlugin:r}){const i="MissingPlugin"===n||"MissingOneOfPlugins"===n;return function s(a,o){const u=new SyntaxError;return u.code=t,u.reasonCode=n,u.loc=a,u.pos=a.index,u.syntaxPlugin=r,i&&(u.missingPlugin=o.missingPlugin),Cw(u,"clone",function(e={}){const{line:t,column:n,index:r}=e.loc??a;return s(new mw(t,n,r),Object.assign({},o,e.details))}),Cw(u,"details",o),Object.defineProperty(u,"message",{configurable:!0,get(){const t=`${e(o)} (${a.line}:${a.column})`;return this.message=t,t},set(e){Object.defineProperty(this,"message",{value:e,writable:!0})}}),u}}function Iw(e,t){if(Array.isArray(e))return t=>Iw(t,e[0]);const n={};for(const r of Object.keys(e)){const i=e[r],s="string"==typeof i?{message:()=>i}:"function"==typeof i?{message:i}:i,{message:a}=s,o=fw(s,ww),u="string"==typeof a?()=>a:a;n[r]=kw(Object.assign({code:"BABEL_PARSER_SYNTAX_ERROR",reasonCode:r,toMessage:u},t?{syntaxPlugin:t}:{},o))}return n}var _w=Object.assign({},Iw(xw),Iw(Ew),Iw({StrictDelete:"Deleting local variable in strict mode.",StrictEvalArguments:({referenceName:e})=>`Assigning to '${e}' in strict mode.`,StrictEvalArgumentsBinding:({bindingName:e})=>`Binding '${e}' in strict mode.`,StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block.",StrictNumericEscape:"The only valid numeric escape in strict mode is '\\0'.",StrictOctalLiteral:"Legacy octal literals are not allowed in strict mode.",StrictWith:"'with' in strict mode."}),Iw(Pw),Iw`pipelineOperator`(Aw));var{defineProperty:Nw}=Object,Lw=(e,t)=>{e&&Nw(e,t,{enumerable:!1,value:e[t]})};function Ow(e){return Lw(e.loc.start,"index"),Lw(e.loc.end,"index"),e}var Dw=class{constructor(e,t){Qe(this,"token"),Qe(this,"preserveSpace"),this.token=e,this.preserveSpace=!!t}},Mw={brace:new Dw("{"),j_oTag:new Dw("<tag"),j_cTag:new Dw("</tag"),j_expr:new Dw("<tag>...</tag>",!0)},Bw=!0,Fw=!0,Rw=!0,jw=!0,Uw=!0,qw=class{constructor(e,t={}){Qe(this,"label"),Qe(this,"keyword"),Qe(this,"beforeExpr"),Qe(this,"startsExpr"),Qe(this,"rightAssociative"),Qe(this,"isLoop"),Qe(this,"isAssign"),Qe(this,"prefix"),Qe(this,"postfix"),Qe(this,"binop"),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.rightAssociative=!!t.rightAssociative,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=null!=t.binop?t.binop:null}},$w=new Map;function Jw(e,t={}){t.keyword=e;const n=Qw(e,t);return $w.set(e,n),n}function Vw(e,t){return Qw(e,{beforeExpr:Bw,binop:t})}var Kw=-1,Ww=[],Xw=[],Hw=[],zw=[],Yw=[],Gw=[];function Qw(e,t={}){return++Kw,Xw.push(e),Hw.push(t.binop??-1),zw.push(t.beforeExpr??!1),Yw.push(t.startsExpr??!1),Gw.push(t.prefix??!1),Ww.push(new qw(e,t)),Kw}function Zw(e,t={}){return++Kw,$w.set(e,Kw),Xw.push(e),Hw.push(t.binop??-1),zw.push(t.beforeExpr??!1),Yw.push(t.startsExpr??!1),Gw.push(t.prefix??!1),Ww.push(new qw("name",t)),Kw}var eC={bracketL:Qw("[",{beforeExpr:Bw,startsExpr:Fw}),bracketHashL:Qw("#[",{beforeExpr:Bw,startsExpr:Fw}),bracketBarL:Qw("[|",{beforeExpr:Bw,startsExpr:Fw}),bracketR:Qw("]"),bracketBarR:Qw("|]"),braceL:Qw("{",{beforeExpr:Bw,startsExpr:Fw}),braceBarL:Qw("{|",{beforeExpr:Bw,startsExpr:Fw}),braceHashL:Qw("#{",{beforeExpr:Bw,startsExpr:Fw}),braceR:Qw("}"),braceBarR:Qw("|}"),parenL:Qw("(",{beforeExpr:Bw,startsExpr:Fw}),parenR:Qw(")"),comma:Qw(",",{beforeExpr:Bw}),semi:Qw(";",{beforeExpr:Bw}),colon:Qw(":",{beforeExpr:Bw}),doubleColon:Qw("::",{beforeExpr:Bw}),dot:Qw("."),question:Qw("?",{beforeExpr:Bw}),questionDot:Qw("?."),arrow:Qw("=>",{beforeExpr:Bw}),template:Qw("template"),ellipsis:Qw("...",{beforeExpr:Bw}),backQuote:Qw("`",{startsExpr:Fw}),dollarBraceL:Qw("${",{beforeExpr:Bw,startsExpr:Fw}),templateTail:Qw("...`",{startsExpr:Fw}),templateNonTail:Qw("...${",{beforeExpr:Bw,startsExpr:Fw}),at:Qw("@"),hash:Qw("#",{startsExpr:Fw}),interpreterDirective:Qw("#!..."),eq:Qw("=",{beforeExpr:Bw,isAssign:jw}),assign:Qw("_=",{beforeExpr:Bw,isAssign:jw}),slashAssign:Qw("_=",{beforeExpr:Bw,isAssign:jw}),xorAssign:Qw("_=",{beforeExpr:Bw,isAssign:jw}),moduloAssign:Qw("_=",{beforeExpr:Bw,isAssign:jw}),incDec:Qw("++/--",{prefix:Uw,postfix:!0,startsExpr:Fw}),bang:Qw("!",{beforeExpr:Bw,prefix:Uw,startsExpr:Fw}),tilde:Qw("~",{beforeExpr:Bw,prefix:Uw,startsExpr:Fw}),doubleCaret:Qw("^^",{startsExpr:Fw}),doubleAt:Qw("@@",{startsExpr:Fw}),pipeline:Vw("|>",0),nullishCoalescing:Vw("??",1),logicalOR:Vw("||",1),logicalAND:Vw("&&",2),bitwiseOR:Vw("|",3),bitwiseXOR:Vw("^",4),bitwiseAND:Vw("&",5),equality:Vw("==/!=/===/!==",6),lt:Vw("</>/<=/>=",7),gt:Vw("</>/<=/>=",7),relational:Vw("</>/<=/>=",7),bitShift:Vw("<</>>/>>>",8),bitShiftL:Vw("<</>>/>>>",8),bitShiftR:Vw("<</>>/>>>",8),plusMin:Qw("+/-",{beforeExpr:Bw,binop:9,prefix:Uw,startsExpr:Fw}),modulo:Qw("%",{binop:10,startsExpr:Fw}),star:Qw("*",{binop:10}),slash:Vw("/",10),exponent:Qw("**",{beforeExpr:Bw,binop:11,rightAssociative:!0}),_in:Jw("in",{beforeExpr:Bw,binop:7}),_instanceof:Jw("instanceof",{beforeExpr:Bw,binop:7}),_break:Jw("break"),_case:Jw("case",{beforeExpr:Bw}),_catch:Jw("catch"),_continue:Jw("continue"),_debugger:Jw("debugger"),_default:Jw("default",{beforeExpr:Bw}),_else:Jw("else",{beforeExpr:Bw}),_finally:Jw("finally"),_function:Jw("function",{startsExpr:Fw}),_if:Jw("if"),_return:Jw("return",{beforeExpr:Bw}),_switch:Jw("switch"),_throw:Jw("throw",{beforeExpr:Bw,prefix:Uw,startsExpr:Fw}),_try:Jw("try"),_var:Jw("var"),_const:Jw("const"),_with:Jw("with"),_new:Jw("new",{beforeExpr:Bw,startsExpr:Fw}),_this:Jw("this",{startsExpr:Fw}),_super:Jw("super",{startsExpr:Fw}),_class:Jw("class",{startsExpr:Fw}),_extends:Jw("extends",{beforeExpr:Bw}),_export:Jw("export"),_import:Jw("import",{startsExpr:Fw}),_null:Jw("null",{startsExpr:Fw}),_true:Jw("true",{startsExpr:Fw}),_false:Jw("false",{startsExpr:Fw}),_typeof:Jw("typeof",{beforeExpr:Bw,prefix:Uw,startsExpr:Fw}),_void:Jw("void",{beforeExpr:Bw,prefix:Uw,startsExpr:Fw}),_delete:Jw("delete",{beforeExpr:Bw,prefix:Uw,startsExpr:Fw}),_do:Jw("do",{isLoop:Rw,beforeExpr:Bw}),_for:Jw("for",{isLoop:Rw}),_while:Jw("while",{isLoop:Rw}),_as:Zw("as",{startsExpr:Fw}),_assert:Zw("assert",{startsExpr:Fw}),_async:Zw("async",{startsExpr:Fw}),_await:Zw("await",{startsExpr:Fw}),_defer:Zw("defer",{startsExpr:Fw}),_from:Zw("from",{startsExpr:Fw}),_get:Zw("get",{startsExpr:Fw}),_let:Zw("let",{startsExpr:Fw}),_meta:Zw("meta",{startsExpr:Fw}),_of:Zw("of",{startsExpr:Fw}),_sent:Zw("sent",{startsExpr:Fw}),_set:Zw("set",{startsExpr:Fw}),_source:Zw("source",{startsExpr:Fw}),_static:Zw("static",{startsExpr:Fw}),_using:Zw("using",{startsExpr:Fw}),_yield:Zw("yield",{startsExpr:Fw}),_asserts:Zw("asserts",{startsExpr:Fw}),_checks:Zw("checks",{startsExpr:Fw}),_exports:Zw("exports",{startsExpr:Fw}),_global:Zw("global",{startsExpr:Fw}),_implements:Zw("implements",{startsExpr:Fw}),_intrinsic:Zw("intrinsic",{startsExpr:Fw}),_infer:Zw("infer",{startsExpr:Fw}),_is:Zw("is",{startsExpr:Fw}),_mixins:Zw("mixins",{startsExpr:Fw}),_proto:Zw("proto",{startsExpr:Fw}),_require:Zw("require",{startsExpr:Fw}),_satisfies:Zw("satisfies",{startsExpr:Fw}),_keyof:Zw("keyof",{startsExpr:Fw}),_readonly:Zw("readonly",{startsExpr:Fw}),_unique:Zw("unique",{startsExpr:Fw}),_abstract:Zw("abstract",{startsExpr:Fw}),_declare:Zw("declare",{startsExpr:Fw}),_enum:Zw("enum",{startsExpr:Fw}),_module:Zw("module",{startsExpr:Fw}),_namespace:Zw("namespace",{startsExpr:Fw}),_interface:Zw("interface",{startsExpr:Fw}),_type:Zw("type",{startsExpr:Fw}),_opaque:Zw("opaque",{startsExpr:Fw}),name:Qw("name",{startsExpr:Fw}),placeholder:Qw("%%",{startsExpr:Fw}),string:Qw("string",{startsExpr:Fw}),num:Qw("num",{startsExpr:Fw}),bigint:Qw("bigint",{startsExpr:Fw}),decimal:Qw("decimal",{startsExpr:Fw}),regexp:Qw("regexp",{startsExpr:Fw}),privateName:Qw("#name",{startsExpr:Fw}),eof:Qw("eof"),jsxName:Qw("jsxName"),jsxText:Qw("jsxText",{beforeExpr:Bw}),jsxTagStart:Qw("jsxTagStart",{startsExpr:Fw}),jsxTagEnd:Qw("jsxTagEnd")};function tC(e){return e>=93&&e<=133}function nC(e){return e>=58&&e<=133}function rC(e){return Yw[e]}function iC(e){return e>=58&&e<=92}function sC(e){return 34===e}function aC(e){return Xw[e]}function oC(e){return Hw[e]}function uC(e){return e>=24&&e<=25}function cC(e){return Ww[e]}var lC="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-Ა-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-Ꟑꟑꟓꟕ-ꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",pC="·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・",dC=new RegExp("["+lC+"]"),hC=new RegExp("["+lC+pC+"]");lC=pC=null;var fC=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,2,60,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,200,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,42,9,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,496,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191],mC=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,80,3,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,343,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,726,6,110,6,6,9,4759,9,787719,239];function yC(e,t){let n=65536;for(let r=0,i=t.length;r<i;r+=2){if(n+=t[r],n>e)return!1;if(n+=t[r+1],n>=e)return!0}return!1}function gC(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&dC.test(String.fromCharCode(e)):yC(e,fC)))}function bC(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&hC.test(String.fromCharCode(e)):yC(e,fC)||yC(e,mC))))}var xC=["implements","interface","let","package","private","protected","public","static","yield"],SC=["eval","arguments"],TC=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"]),EC=new Set(xC),PC=new Set(SC);function vC(e,t){return t&&"await"===e||"enum"===e}function AC(e,t){return vC(e,t)||EC.has(e)}function wC(e){return PC.has(e)}function CC(e,t){return AC(e,t)||wC(e)}var kC=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete","implements","interface","let","package","private","protected","public","static","yield","eval","arguments","enum","await"]);var IC=class{constructor(e){Qe(this,"flags",0),Qe(this,"names",new Map),Qe(this,"firstLexicalName",""),this.flags=e}},_C=class{constructor(e,t){Qe(this,"parser"),Qe(this,"scopeStack",[]),Qe(this,"inModule"),Qe(this,"undefinedExports",new Map),this.parser=e,this.inModule=t}get inTopLevel(){return(1&this.currentScope().flags)>0}get inFunction(){return(2&this.currentVarScopeFlags())>0}get allowSuper(){return(16&this.currentThisScopeFlags())>0}get allowDirectSuper(){return(32&this.currentThisScopeFlags())>0}get allowNewTarget(){return(512&this.currentThisScopeFlags())>0}get inClass(){return(64&this.currentThisScopeFlags())>0}get inClassAndNotInNonArrowFunction(){const e=this.currentThisScopeFlags();return(64&e)>0&&!(2&e)}get inStaticBlock(){for(let e=this.scopeStack.length-1;;e--){const{flags:t}=this.scopeStack[e];if(128&t)return!0;if(1731&t)return!1}}get inNonArrowFunction(){return(2&this.currentThisScopeFlags())>0}get inBareCaseStatement(){return(256&this.currentScope().flags)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(e){return new IC(e)}enter(e){this.scopeStack.push(this.createScope(e))}exit(){return this.scopeStack.pop().flags}treatFunctionsAsVarInScope(e){return!!(130&e.flags||!this.parser.inModule&&1&e.flags)}declareName(e,t,n){let r=this.currentScope();if(8&t||16&t){this.checkRedeclarationInScope(r,e,t,n);let i=r.names.get(e)||0;16&t?i|=4:(r.firstLexicalName||(r.firstLexicalName=e),i|=2),r.names.set(e,i),8&t&&this.maybeExportDefined(r,e)}else if(4&t)for(let i=this.scopeStack.length-1;i>=0&&(r=this.scopeStack[i],this.checkRedeclarationInScope(r,e,t,n),r.names.set(e,1|(r.names.get(e)||0)),this.maybeExportDefined(r,e),!(1667&r.flags));--i);this.parser.inModule&&1&r.flags&&this.undefinedExports.delete(e)}maybeExportDefined(e,t){this.parser.inModule&&1&e.flags&&this.undefinedExports.delete(t)}checkRedeclarationInScope(e,t,n,r){this.isRedeclaredInScope(e,t,n)&&this.parser.raise(_w.VarRedeclaration,r,{identifierName:t})}isRedeclaredInScope(e,t,n){if(!(1&n))return!1;if(8&n)return e.names.has(t);const r=e.names.get(t);return 16&n?(2&r)>0||!this.treatFunctionsAsVarInScope(e)&&(1&r)>0:(2&r)>0&&!(8&e.flags&&e.firstLexicalName===t)||!this.treatFunctionsAsVarInScope(e)&&(4&r)>0}checkLocalExport(e){const{name:t}=e;this.scopeStack[0].names.has(t)||this.undefinedExports.set(t,e.loc.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScopeFlags(){for(let e=this.scopeStack.length-1;;e--){const{flags:t}=this.scopeStack[e];if(1667&t)return t}}currentThisScopeFlags(){for(let e=this.scopeStack.length-1;;e--){const{flags:t}=this.scopeStack[e];if(1731&t&&!(4&t))return t}}},NC={__proto__:null,quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"",zwj:"",lrm:"",rlm:"",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"},LC=new RegExp(/\r\n|[\r\n\u2028\u2029]/.source,"g");function OC(e){switch(e){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}function DC(e,t,n){for(let r=t;r<n;r++)if(OC(e.charCodeAt(r)))return!0;return!1}var MC=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,BC=/(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/g;function FC(e){switch(e){case 9:case 11:case 12:case 32:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8239:case 8287:case 12288:case 65279:return!0;default:return!1}}var RC=Iw`jsx`({AttributeIsEmpty:"JSX attributes must only be assigned a non-empty expression.",MissingClosingTagElement:({openingTagName:e})=>`Expected corresponding JSX closing tag for <${e}>.`,MissingClosingTagFragment:"Expected corresponding JSX closing tag for <>.",UnexpectedSequenceExpression:"Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",UnexpectedToken:({unexpected:e,HTMLEntity:t})=>`Unexpected token \`${e}\`. Did you mean \`${t}\` or \`{'${e}'}\`?`,UnsupportedJsxValue:"JSX value should be either an expression or a quoted JSX text.",UnterminatedJsxContent:"Unterminated JSX contents.",UnwrappedAdjacentJSXElements:"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?"});function jC(e){return!!e&&("JSXOpeningFragment"===e.type||"JSXClosingFragment"===e.type)}function UC(e){if("JSXIdentifier"===e.type)return e.name;if("JSXNamespacedName"===e.type)return e.namespace.name+":"+e.name.name;if("JSXMemberExpression"===e.type)return UC(e.object)+"."+UC(e.property);throw new Error("Node had unexpected type: "+e.type)}var qC=class extends IC{constructor(){super(...arguments),Qe(this,"tsNames",new Map)}},$C=class extends _C{constructor(){super(...arguments),Qe(this,"importsStack",[])}createScope(e){return this.importsStack.push(new Set),new qC(e)}enter(e){1024===e&&this.importsStack.push(new Set),super.enter(e)}exit(){const e=super.exit();return 1024===e&&this.importsStack.pop(),e}hasImport(e,t){const n=this.importsStack.length;if(this.importsStack[n-1].has(e))return!0;if(!t&&n>1)for(let t=0;t<n-1;t++)if(this.importsStack[t].has(e))return!0;return!1}declareName(e,t,n){if(4096&t)return this.hasImport(e,!0)&&this.parser.raise(_w.VarRedeclaration,n,{identifierName:e}),void this.importsStack[this.importsStack.length-1].add(e);const r=this.currentScope();let i=r.tsNames.get(e)||0;if(1024&t)return this.maybeExportDefined(r,e),void r.tsNames.set(e,16|i);super.declareName(e,t,n),2&t&&(1&t||(this.checkRedeclarationInScope(r,e,t,n),this.maybeExportDefined(r,e)),i|=1),256&t&&(i|=2),512&t&&(i|=4),128&t&&(i|=8),i&&r.tsNames.set(e,i)}isRedeclaredInScope(e,t,n){const r=e.tsNames.get(t);if((2&r)>0){if(256&n){return!!(512&n)!==(4&r)>0}return!0}return 128&n&&(8&r)>0?!!(2&e.names.get(t))&&!!(1&n):!!(2&n&&(1&r)>0)||super.isRedeclaredInScope(e,t,n)}checkLocalExport(e){const{name:t}=e;if(this.hasImport(t))return;for(let e=this.scopeStack.length-1;e>=0;e--){const n=this.scopeStack[e].tsNames.get(t);if((1&n)>0||(16&n)>0)return}super.checkLocalExport(e)}},JC=class{constructor(){Qe(this,"stacks",[])}enter(e){this.stacks.push(e)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(2&this.currentFlags())>0}get hasYield(){return(1&this.currentFlags())>0}get hasReturn(){return(4&this.currentFlags())>0}get hasIn(){return(8&this.currentFlags())>0}};function VC(e,t){return(e?2:0)|(t?1:0)}var KC=class{constructor(){Qe(this,"sawUnambiguousESM",!1),Qe(this,"ambiguousScriptDifferentAst",!1)}sourceToOffsetPos(e){return e+this.startIndex}offsetToSourcePos(e){return e-this.startIndex}hasPlugin(e){if("string"==typeof e)return this.plugins.has(e);{const[t,n]=e;if(!this.hasPlugin(t))return!1;const r=this.plugins.get(t);for(const e of Object.keys(n))if(r?.[e]!==n[e])return!1;return!0}}getPluginOption(e,t){return this.plugins.get(e)?.[t]}};function WC(e,t){void 0===e.trailingComments?e.trailingComments=t:e.trailingComments.unshift(...t)}function XC(e,t){void 0===e.innerComments?e.innerComments=t:e.innerComments.unshift(...t)}function HC(e,t,n){let r=null,i=t.length;for(;null===r&&i>0;)r=t[--i];null===r||r.start>n.start?XC(e,n.comments):WC(r,n.comments)}var zC=class extends KC{addComment(e){this.filename&&(e.loc.filename=this.filename);const{commentsLen:t}=this.state;this.comments.length!==t&&(this.comments.length=t),this.comments.push(e),this.state.commentsLen++}processComment(e){const{commentStack:t}=this.state,n=t.length;if(0===n)return;let r=n-1;const i=t[r];i.start===e.end&&(i.leadingNode=e,r--);const{start:s}=e;for(;r>=0;r--){const n=t[r],i=n.end;if(!(i>s)){i===s&&(n.trailingNode=e);break}n.containingNode=e,this.finalizeComment(n),t.splice(r,1)}}finalizeComment(e){const{comments:t}=e;if(null!==e.leadingNode||null!==e.trailingNode)null!==e.leadingNode&&WC(e.leadingNode,t),null!==e.trailingNode&&function(e,t){void 0===e.leadingComments?e.leadingComments=t:e.leadingComments.unshift(...t)}(e.trailingNode,t);else{const{containingNode:n,start:r}=e;if(44===this.input.charCodeAt(this.offsetToSourcePos(r)-1))switch(n.type){case"ObjectExpression":case"ObjectPattern":case"RecordExpression":HC(n,n.properties,e);break;case"CallExpression":case"OptionalCallExpression":HC(n,n.arguments,e);break;case"ImportExpression":HC(n,[n.source,n.options??null],e);break;case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"ObjectMethod":case"ClassMethod":case"ClassPrivateMethod":HC(n,n.params,e);break;case"ArrayExpression":case"ArrayPattern":case"TupleExpression":HC(n,n.elements,e);break;case"ExportNamedDeclaration":case"ImportDeclaration":HC(n,n.specifiers,e);break;case"TSEnumDeclaration":default:XC(n,t);break;case"TSEnumBody":HC(n,n.members,e)}else XC(n,t)}}finalizeRemainingComments(){const{commentStack:e}=this.state;for(let t=e.length-1;t>=0;t--)this.finalizeComment(e[t]);this.state.commentStack=[]}resetPreviousNodeTrailingComments(e){const{commentStack:t}=this.state,{length:n}=t;if(0===n)return;const r=t[n-1];r.leadingNode===e&&(r.leadingNode=null)}takeSurroundingComments(e,t,n){const{commentStack:r}=this.state,i=r.length;if(0===i)return;let s=i-1;for(;s>=0;s--){const i=r[s],a=i.end;if(i.start===n)i.leadingNode=e;else if(a===t)i.trailingNode=e;else if(a<t)break}}},YC=class e{constructor(){Qe(this,"flags",1024),Qe(this,"startIndex"),Qe(this,"curLine"),Qe(this,"lineStart"),Qe(this,"startLoc"),Qe(this,"endLoc"),Qe(this,"errors",[]),Qe(this,"potentialArrowAt",-1),Qe(this,"noArrowAt",[]),Qe(this,"noArrowParamsConversionAt",[]),Qe(this,"topicContext",{maxNumOfResolvableTopics:0,maxTopicIndex:null}),Qe(this,"labels",[]),Qe(this,"commentsLen",0),Qe(this,"commentStack",[]),Qe(this,"pos",0),Qe(this,"type",140),Qe(this,"value",null),Qe(this,"start",0),Qe(this,"end",0),Qe(this,"lastTokEndLoc",null),Qe(this,"lastTokStartLoc",null),Qe(this,"context",[Mw.brace]),Qe(this,"firstInvalidTemplateEscapePos",null),Qe(this,"strictErrors",new Map),Qe(this,"tokensLength",0)}get strict(){return(1&this.flags)>0}set strict(e){e?this.flags|=1:this.flags&=-2}init({strictMode:e,sourceType:t,startIndex:n,startLine:r,startColumn:i}){this.strict=!1!==e&&(!0===e||"module"===t),this.startIndex=n,this.curLine=r,this.lineStart=-i,this.startLoc=this.endLoc=new mw(r,i,n)}get maybeInArrowParameters(){return(2&this.flags)>0}set maybeInArrowParameters(e){e?this.flags|=2:this.flags&=-3}get inType(){return(4&this.flags)>0}set inType(e){e?this.flags|=4:this.flags&=-5}get noAnonFunctionType(){return(8&this.flags)>0}set noAnonFunctionType(e){e?this.flags|=8:this.flags&=-9}get hasFlowComment(){return(16&this.flags)>0}set hasFlowComment(e){e?this.flags|=16:this.flags&=-17}get isAmbientContext(){return(32&this.flags)>0}set isAmbientContext(e){e?this.flags|=32:this.flags&=-33}get inAbstractClass(){return(64&this.flags)>0}set inAbstractClass(e){e?this.flags|=64:this.flags&=-65}get inDisallowConditionalTypesContext(){return(128&this.flags)>0}set inDisallowConditionalTypesContext(e){e?this.flags|=128:this.flags&=-129}get soloAwait(){return(256&this.flags)>0}set soloAwait(e){e?this.flags|=256:this.flags&=-257}get inFSharpPipelineDirectBody(){return(512&this.flags)>0}set inFSharpPipelineDirectBody(e){e?this.flags|=512:this.flags&=-513}get canStartJSXElement(){return(1024&this.flags)>0}set canStartJSXElement(e){e?this.flags|=1024:this.flags&=-1025}get containsEsc(){return(2048&this.flags)>0}set containsEsc(e){e?this.flags|=2048:this.flags&=-2049}get hasTopLevelAwait(){return(4096&this.flags)>0}set hasTopLevelAwait(e){e?this.flags|=4096:this.flags&=-4097}curPosition(){return new mw(this.curLine,this.pos-this.lineStart,this.pos+this.startIndex)}clone(){const t=new e;return t.flags=this.flags,t.startIndex=this.startIndex,t.curLine=this.curLine,t.lineStart=this.lineStart,t.startLoc=this.startLoc,t.endLoc=this.endLoc,t.errors=this.errors.slice(),t.potentialArrowAt=this.potentialArrowAt,t.noArrowAt=this.noArrowAt.slice(),t.noArrowParamsConversionAt=this.noArrowParamsConversionAt.slice(),t.topicContext=this.topicContext,t.labels=this.labels.slice(),t.commentsLen=this.commentsLen,t.commentStack=this.commentStack.slice(),t.pos=this.pos,t.type=this.type,t.value=this.value,t.start=this.start,t.end=this.end,t.lastTokEndLoc=this.lastTokEndLoc,t.lastTokStartLoc=this.lastTokStartLoc,t.context=this.context.slice(),t.firstInvalidTemplateEscapePos=this.firstInvalidTemplateEscapePos,t.strictErrors=this.strictErrors,t.tokensLength=this.tokensLength,t}},GC=function(e){return e>=48&&e<=57},QC={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])},ZC={bin:e=>48===e||49===e,oct:e=>e>=48&&e<=55,dec:e=>e>=48&&e<=57,hex:e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102};function ek(e,t,n,r,i,s){const a=n,o=r,u=i;let c="",l=null,p=n;const{length:d}=t;for(;;){if(n>=d){s.unterminated(a,o,u),c+=t.slice(p,n);break}const h=t.charCodeAt(n);if(tk(e,h,t,n)){c+=t.slice(p,n);break}if(92===h){c+=t.slice(p,n);const a=nk(t,n,r,i,"template"===e,s);null!==a.ch||l?c+=a.ch:l={pos:n,lineStart:r,curLine:i},({pos:n,lineStart:r,curLine:i}=a),p=n}else 8232===h||8233===h?(++i,r=++n):10===h||13===h?"template"===e?(c+=t.slice(p,n)+"\n",++n,13===h&&10===t.charCodeAt(n)&&++n,++i,p=r=n):s.unterminated(a,o,u):++n}return{pos:n,str:c,firstInvalidLoc:l,lineStart:r,curLine:i}}function tk(e,t,n,r){return"template"===e?96===t||36===t&&123===n.charCodeAt(r+1):t===("double"===e?34:39)}function nk(e,t,n,r,i,s){const a=!i;t++;const o=e=>({pos:t,ch:e,lineStart:n,curLine:r}),u=e.charCodeAt(t++);switch(u){case 110:return o("\n");case 114:return o("\r");case 120:{let i;return({code:i,pos:t}=rk(e,t,n,r,2,!1,a,s)),o(null===i?null:String.fromCharCode(i))}case 117:{let i;return({code:i,pos:t}=sk(e,t,n,r,a,s)),o(null===i?null:String.fromCodePoint(i))}case 116:return o("\t");case 98:return o("\b");case 118:return o("\v");case 102:return o("\f");case 13:10===e.charCodeAt(t)&&++t;case 10:n=t,++r;case 8232:case 8233:return o("");case 56:case 57:if(i)return o(null);s.strictNumericEscape(t-1,n,r);default:if(u>=48&&u<=55){const a=t-1;let u=/^[0-7]+/.exec(e.slice(a,t+2))[0],c=parseInt(u,8);c>255&&(u=u.slice(0,-1),c=parseInt(u,8)),t+=u.length-1;const l=e.charCodeAt(t);if("0"!==u||56===l||57===l){if(i)return o(null);s.strictNumericEscape(a,n,r)}return o(String.fromCharCode(c))}return o(String.fromCharCode(u))}}function rk(e,t,n,r,i,s,a,o){const u=t;let c;return({n:c,pos:t}=ik(e,t,n,r,16,i,s,!1,o,!a)),null===c&&(a?o.invalidEscapeSequence(u,n,r):t=u-1),{code:c,pos:t}}function ik(e,t,n,r,i,s,a,o,u,c){const l=t,p=16===i?QC.hex:QC.decBinOct,d=16===i?ZC.hex:10===i?ZC.dec:8===i?ZC.oct:ZC.bin;let h=!1,f=0;for(let l=0,m=null==s?1/0:s;l<m;++l){const s=e.charCodeAt(t);let l;if(95===s&&"bail"!==o){const i=e.charCodeAt(t-1),s=e.charCodeAt(t+1);if(o){if(Number.isNaN(s)||!d(s)||p.has(i)||p.has(s)){if(c)return{n:null,pos:t};u.unexpectedNumericSeparator(t,n,r)}}else{if(c)return{n:null,pos:t};u.numericSeparatorInEscapeSequence(t,n,r)}++t;continue}if(l=s>=97?s-97+10:s>=65?s-65+10:GC(s)?s-48:1/0,l>=i){if(l<=9&&c)return{n:null,pos:t};if(l<=9&&u.invalidDigit(t,n,r,i))l=0;else{if(!a)break;l=0,h=!0}}++t,f=f*i+l}return t===l||null!=s&&t-l!==s||h?{n:null,pos:t}:{n:f,pos:t}}function sk(e,t,n,r,i,s){let a;if(123===e.charCodeAt(t)){if(++t,({code:a,pos:t}=rk(e,t,n,r,e.indexOf("}",t)-t,!0,i,s)),++t,null!==a&&a>1114111){if(!i)return{code:null,pos:t};s.invalidCodePoint(t,n,r)}}else({code:a,pos:t}=rk(e,t,n,r,4,!1,i,s));return{code:a,pos:t}}function ak(e,t,n){return new mw(n,e-t,e)}var ok=new Set([103,109,115,105,121,117,100,118]),uk=class{constructor(e){const t=e.startIndex||0;this.type=e.type,this.value=e.value,this.start=t+e.start,this.end=t+e.end,this.loc=new yw(e.startLoc,e.endLoc)}},ck=class extends zC{constructor(e,t){super(),Qe(this,"isLookahead"),Qe(this,"tokens",[]),Qe(this,"errorHandlers_readInt",{invalidDigit:(e,t,n,r)=>!!(2048&this.optionFlags)&&(this.raise(_w.InvalidDigit,ak(e,t,n),{radix:r}),!0),numericSeparatorInEscapeSequence:this.errorBuilder(_w.NumericSeparatorInEscapeSequence),unexpectedNumericSeparator:this.errorBuilder(_w.UnexpectedNumericSeparator)}),Qe(this,"errorHandlers_readCodePoint",Object.assign({},this.errorHandlers_readInt,{invalidEscapeSequence:this.errorBuilder(_w.InvalidEscapeSequence),invalidCodePoint:this.errorBuilder(_w.InvalidCodePoint)})),Qe(this,"errorHandlers_readStringContents_string",Object.assign({},this.errorHandlers_readCodePoint,{strictNumericEscape:(e,t,n)=>{this.recordStrictModeErrors(_w.StrictNumericEscape,ak(e,t,n))},unterminated:(e,t,n)=>{throw this.raise(_w.UnterminatedString,ak(e-1,t,n))}})),Qe(this,"errorHandlers_readStringContents_template",Object.assign({},this.errorHandlers_readCodePoint,{strictNumericEscape:this.errorBuilder(_w.StrictNumericEscape),unterminated:(e,t,n)=>{throw this.raise(_w.UnterminatedTemplate,ak(e,t,n))}})),this.state=new YC,this.state.init(e),this.input=t,this.length=t.length,this.comments=[],this.isLookahead=!1}pushToken(e){this.tokens.length=this.state.tokensLength,this.tokens.push(e),++this.state.tokensLength}next(){this.checkKeywordEscapes(),256&this.optionFlags&&this.pushToken(new uk(this.state)),this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(e){return!!this.match(e)&&(this.next(),!0)}match(e){return this.state.type===e}createLookaheadState(e){return{pos:e.pos,value:null,type:e.type,start:e.start,end:e.end,context:[this.curContext()],inType:e.inType,startLoc:e.startLoc,lastTokEndLoc:e.lastTokEndLoc,curLine:e.curLine,lineStart:e.lineStart,curPosition:e.curPosition}}lookahead(){const e=this.state;this.state=this.createLookaheadState(e),this.isLookahead=!0,this.nextToken(),this.isLookahead=!1;const t=this.state;return this.state=e,t}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(e){return MC.lastIndex=e,MC.test(this.input)?MC.lastIndex:e}lookaheadCharCode(){return this.lookaheadCharCodeSince(this.state.pos)}lookaheadCharCodeSince(e){return this.input.charCodeAt(this.nextTokenStartSince(e))}nextTokenInLineStart(){return this.nextTokenInLineStartSince(this.state.pos)}nextTokenInLineStartSince(e){return BC.lastIndex=e,BC.test(this.input)?BC.lastIndex:e}lookaheadInLineCharCode(){return this.input.charCodeAt(this.nextTokenInLineStart())}codePointAtPos(e){let t=this.input.charCodeAt(e);if(55296==(64512&t)&&++e<this.input.length){const n=this.input.charCodeAt(e);56320==(64512&n)&&(t=65536+((1023&t)<<10)+(1023&n))}return t}setStrict(e){this.state.strict=e,e&&(this.state.strictErrors.forEach(([e,t])=>this.raise(e,t)),this.state.strictErrors.clear())}curContext(){return this.state.context[this.state.context.length-1]}nextToken(){this.skipSpace(),this.state.start=this.state.pos,this.isLookahead||(this.state.startLoc=this.state.curPosition()),this.state.pos>=this.length?this.finishToken(140):this.getTokenFromCode(this.codePointAtPos(this.state.pos))}skipBlockComment(e){let t;this.isLookahead||(t=this.state.curPosition());const n=this.state.pos,r=this.input.indexOf(e,n+2);if(-1===r)throw this.raise(_w.UnterminatedComment,this.state.curPosition());for(this.state.pos=r+e.length,LC.lastIndex=n+2;LC.test(this.input)&&LC.lastIndex<=r;)++this.state.curLine,this.state.lineStart=LC.lastIndex;if(this.isLookahead)return;const i={type:"CommentBlock",value:this.input.slice(n+2,r),start:this.sourceToOffsetPos(n),end:this.sourceToOffsetPos(r+e.length),loc:new yw(t,this.state.curPosition())};return 256&this.optionFlags&&this.pushToken(i),i}skipLineComment(e){const t=this.state.pos;let n;this.isLookahead||(n=this.state.curPosition());let r=this.input.charCodeAt(this.state.pos+=e);if(this.state.pos<this.length)for(;!OC(r)&&++this.state.pos<this.length;)r=this.input.charCodeAt(this.state.pos);if(this.isLookahead)return;const i=this.state.pos,s={type:"CommentLine",value:this.input.slice(t+e,i),start:this.sourceToOffsetPos(t),end:this.sourceToOffsetPos(i),loc:new yw(n,this.state.curPosition())};return 256&this.optionFlags&&this.pushToken(s),s}skipSpace(){const e=this.state.pos,t=4096&this.optionFlags?[]:null;e:for(;this.state.pos<this.length;){const n=this.input.charCodeAt(this.state.pos);switch(n){case 32:case 160:case 9:++this.state.pos;break;case 13:10===this.input.charCodeAt(this.state.pos+1)&&++this.state.pos;case 10:case 8232:case 8233:++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;break;case 47:switch(this.input.charCodeAt(this.state.pos+1)){case 42:{const e=this.skipBlockComment("*/");void 0!==e&&(this.addComment(e),t?.push(e));break}case 47:{const e=this.skipLineComment(2);void 0!==e&&(this.addComment(e),t?.push(e));break}default:break e}break;default:if(FC(n))++this.state.pos;else if(45===n&&!this.inModule&&8192&this.optionFlags){const n=this.state.pos;if(45!==this.input.charCodeAt(n+1)||62!==this.input.charCodeAt(n+2)||!(0===e||this.state.lineStart>e))break e;{const e=this.skipLineComment(3);void 0!==e&&(this.addComment(e),t?.push(e))}}else{if(60!==n||this.inModule||!(8192&this.optionFlags))break e;{const e=this.state.pos;if(33!==this.input.charCodeAt(e+1)||45!==this.input.charCodeAt(e+2)||45!==this.input.charCodeAt(e+3))break e;{const e=this.skipLineComment(4);void 0!==e&&(this.addComment(e),t?.push(e))}}}}}if(t?.length>0){const n=this.state.pos,r={start:this.sourceToOffsetPos(e),end:this.sourceToOffsetPos(n),comments:t,leadingNode:null,trailingNode:null,containingNode:null};this.state.commentStack.push(r)}}finishToken(e,t){this.state.end=this.state.pos,this.state.endLoc=this.state.curPosition();const n=this.state.type;this.state.type=e,this.state.value=t,this.isLookahead||this.updateContext(n)}replaceToken(e){this.state.type=e,this.updateContext()}readToken_numberSign(){if(0===this.state.pos&&this.readToken_interpreter())return;const e=this.state.pos+1,t=this.codePointAtPos(e);if(t>=48&&t<=57)throw this.raise(_w.UnexpectedDigitAfterHash,this.state.curPosition());gC(t)?(++this.state.pos,this.finishToken(139,this.readWord1(t))):92===t?(++this.state.pos,this.finishToken(139,this.readWord1())):this.finishOp(27,1)}readToken_dot(){const e=this.input.charCodeAt(this.state.pos+1);e>=48&&e<=57?this.readNumber(!0):46===e&&46===this.input.charCodeAt(this.state.pos+2)?(this.state.pos+=3,this.finishToken(21)):(++this.state.pos,this.finishToken(16))}readToken_slash(){61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(31,2):this.finishOp(56,1)}readToken_interpreter(){if(0!==this.state.pos||this.length<2)return!1;let e=this.input.charCodeAt(this.state.pos+1);if(33!==e)return!1;const t=this.state.pos;for(this.state.pos+=1;!OC(e)&&++this.state.pos<this.length;)e=this.input.charCodeAt(this.state.pos);const n=this.input.slice(t+2,this.state.pos);return this.finishToken(28,n),!0}readToken_mult_modulo(e){let t=42===e?55:54,n=1,r=this.input.charCodeAt(this.state.pos+1);42===e&&42===r&&(n++,r=this.input.charCodeAt(this.state.pos+2),t=57),61!==r||this.state.inType||(n++,t=37===e?33:30),this.finishOp(t,n)}readToken_pipe_amp(e){const t=this.input.charCodeAt(this.state.pos+1);t!==e?124!==e||62!==t?61!==t?this.finishOp(124===e?43:45,1):this.finishOp(30,2):this.finishOp(39,2):61===this.input.charCodeAt(this.state.pos+2)?this.finishOp(30,3):this.finishOp(124===e?41:42,2)}readToken_caret(){const e=this.input.charCodeAt(this.state.pos+1);if(61!==e||this.state.inType)if(94===e&&this.hasPlugin(["pipelineOperator",{proposal:"hack",topicToken:"^^"}])){this.finishOp(37,2);94===this.input.codePointAt(this.state.pos)&&this.unexpected()}else this.finishOp(44,1);else this.finishOp(32,2)}readToken_atSign(){64===this.input.charCodeAt(this.state.pos+1)&&this.hasPlugin(["pipelineOperator",{proposal:"hack",topicToken:"@@"}])?this.finishOp(38,2):this.finishOp(26,1)}readToken_plus_min(e){const t=this.input.charCodeAt(this.state.pos+1);t!==e?61===t?this.finishOp(30,2):this.finishOp(53,1):this.finishOp(34,2)}readToken_lt(){const{pos:e}=this.state,t=this.input.charCodeAt(e+1);if(60===t)return 61===this.input.charCodeAt(e+2)?void this.finishOp(30,3):void this.finishOp(51,2);61!==t?this.finishOp(47,1):this.finishOp(49,2)}readToken_gt(){const{pos:e}=this.state,t=this.input.charCodeAt(e+1);if(62===t){const t=62===this.input.charCodeAt(e+2)?3:2;return 61===this.input.charCodeAt(e+t)?void this.finishOp(30,t+1):void this.finishOp(52,t)}61!==t?this.finishOp(48,1):this.finishOp(49,2)}readToken_eq_excl(e){const t=this.input.charCodeAt(this.state.pos+1);if(61!==t)return 61===e&&62===t?(this.state.pos+=2,void this.finishToken(19)):void this.finishOp(61===e?29:35,1);this.finishOp(46,61===this.input.charCodeAt(this.state.pos+2)?3:2)}readToken_question(){const e=this.input.charCodeAt(this.state.pos+1),t=this.input.charCodeAt(this.state.pos+2);63===e?61===t?this.finishOp(30,3):this.finishOp(40,2):46!==e||t>=48&&t<=57?(++this.state.pos,this.finishToken(17)):(this.state.pos+=2,this.finishToken(18))}getTokenFromCode(e){switch(e){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(10);case 41:return++this.state.pos,void this.finishToken(11);case 59:return++this.state.pos,void this.finishToken(13);case 44:return++this.state.pos,void this.finishToken(12);case 91:return++this.state.pos,void this.finishToken(0);case 93:return++this.state.pos,void this.finishToken(3);case 123:return++this.state.pos,void this.finishToken(5);case 125:return++this.state.pos,void this.finishToken(8);case 58:return void(this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(15,2):(++this.state.pos,this.finishToken(14)));case 63:return void this.readToken_question();case 96:return void this.readTemplateToken();case 48:{const e=this.input.charCodeAt(this.state.pos+1);if(120===e||88===e)return void this.readRadixNumber(16);if(111===e||79===e)return void this.readRadixNumber(8);if(98===e||66===e)return void this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return void this.readNumber(!1);case 34:case 39:return void this.readString(e);case 47:return void this.readToken_slash();case 37:case 42:return void this.readToken_mult_modulo(e);case 124:case 38:return void this.readToken_pipe_amp(e);case 94:return void this.readToken_caret();case 43:case 45:return void this.readToken_plus_min(e);case 60:return void this.readToken_lt();case 62:return void this.readToken_gt();case 61:case 33:return void this.readToken_eq_excl(e);case 126:return void this.finishOp(36,1);case 64:return void this.readToken_atSign();case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(gC(e))return void this.readWord(e)}throw this.raise(_w.InvalidOrUnexpectedToken,this.state.curPosition(),{unexpected:String.fromCodePoint(e)})}finishOp(e,t){const n=this.input.slice(this.state.pos,this.state.pos+t);this.state.pos+=t,this.finishToken(e,n)}readRegexp(){const e=this.state.startLoc,t=this.state.start+1;let n,r,{pos:i}=this.state;for(;;++i){if(i>=this.length)throw this.raise(_w.UnterminatedRegExp,gw(e,1));const t=this.input.charCodeAt(i);if(OC(t))throw this.raise(_w.UnterminatedRegExp,gw(e,1));if(n)n=!1;else{if(91===t)r=!0;else if(93===t&&r)r=!1;else if(47===t&&!r)break;n=92===t}}const s=this.input.slice(t,i);++i;let a="";const o=()=>gw(e,i+2-t);for(;i<this.length;){const e=this.codePointAtPos(i),t=String.fromCharCode(e);if(ok.has(e))118===e?a.includes("u")&&this.raise(_w.IncompatibleRegExpUVFlags,o()):117===e&&a.includes("v")&&this.raise(_w.IncompatibleRegExpUVFlags,o()),a.includes(t)&&this.raise(_w.DuplicateRegExpFlags,o());else{if(!bC(e)&&92!==e)break;this.raise(_w.MalformedRegExpFlags,o())}++i,a+=t}this.state.pos=i,this.finishToken(138,{pattern:s,flags:a})}readInt(e,t,n=!1,r=!0){const{n:i,pos:s}=ik(this.input,this.state.pos,this.state.lineStart,this.state.curLine,e,t,n,r,this.errorHandlers_readInt,!1);return this.state.pos=s,i}readRadixNumber(e){const t=this.state.pos,n=this.state.curPosition();let r=!1;this.state.pos+=2;const i=this.readInt(e);null==i&&this.raise(_w.InvalidDigit,gw(n,2),{radix:e});const s=this.input.charCodeAt(this.state.pos);if(110===s)++this.state.pos,r=!0;else if(109===s)throw this.raise(_w.InvalidDecimal,n);if(gC(this.codePointAtPos(this.state.pos)))throw this.raise(_w.NumberIdentifier,this.state.curPosition());if(r){const e=this.input.slice(t,this.state.pos).replace(/[_n]/g,"");return void this.finishToken(136,e)}this.finishToken(135,i)}readNumber(e){const t=this.state.pos,n=this.state.curPosition();let r=!1,i=!1,s=!1;e||null!==this.readInt(10)||this.raise(_w.InvalidNumber,this.state.curPosition());const a=this.state.pos-t>=2&&48===this.input.charCodeAt(t);if(a){const e=this.input.slice(t,this.state.pos);if(this.recordStrictModeErrors(_w.StrictOctalLiteral,n),!this.state.strict){const t=e.indexOf("_");t>0&&this.raise(_w.ZeroDigitNumericSeparator,gw(n,t))}s=a&&!/[89]/.test(e)}let o=this.input.charCodeAt(this.state.pos);if(46!==o||s||(++this.state.pos,this.readInt(10),r=!0,o=this.input.charCodeAt(this.state.pos)),69!==o&&101!==o||s||(o=this.input.charCodeAt(++this.state.pos),43!==o&&45!==o||++this.state.pos,null===this.readInt(10)&&this.raise(_w.InvalidOrMissingExponent,n),r=!0,o=this.input.charCodeAt(this.state.pos)),110===o&&((r||a)&&this.raise(_w.InvalidBigIntLiteral,n),++this.state.pos,i=!0),gC(this.codePointAtPos(this.state.pos)))throw this.raise(_w.NumberIdentifier,this.state.curPosition());const u=this.input.slice(t,this.state.pos).replace(/[_mn]/g,"");if(i)return void this.finishToken(136,u);const c=s?parseInt(u,8):parseFloat(u);this.finishToken(135,c)}readCodePoint(e){const{code:t,pos:n}=sk(this.input,this.state.pos,this.state.lineStart,this.state.curLine,e,this.errorHandlers_readCodePoint);return this.state.pos=n,t}readString(e){const{str:t,pos:n,curLine:r,lineStart:i}=ek(34===e?"double":"single",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_string);this.state.pos=n+1,this.state.lineStart=i,this.state.curLine=r,this.finishToken(134,t)}readTemplateContinuation(){this.match(8)||this.unexpected(null,8),this.state.pos--,this.readTemplateToken()}readTemplateToken(){const e=this.input[this.state.pos],{str:t,firstInvalidLoc:n,pos:r,curLine:i,lineStart:s}=ek("template",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_template);this.state.pos=r+1,this.state.lineStart=s,this.state.curLine=i,n&&(this.state.firstInvalidTemplateEscapePos=new mw(n.curLine,n.pos-n.lineStart,this.sourceToOffsetPos(n.pos))),96===this.input.codePointAt(r)?this.finishToken(24,n?null:e+t+"`"):(this.state.pos++,this.finishToken(25,n?null:e+t+"${"))}recordStrictModeErrors(e,t){const n=t.index;this.state.strict&&!this.state.strictErrors.has(n)?this.raise(e,t):this.state.strictErrors.set(n,[e,t])}readWord1(e){this.state.containsEsc=!1;let t="";const n=this.state.pos;let r=this.state.pos;for(void 0!==e&&(this.state.pos+=e<=65535?1:2);this.state.pos<this.length;){const e=this.codePointAtPos(this.state.pos);if(bC(e))this.state.pos+=e<=65535?1:2;else{if(92!==e)break;{this.state.containsEsc=!0,t+=this.input.slice(r,this.state.pos);const e=this.state.curPosition(),i=this.state.pos===n?gC:bC;if(117!==this.input.charCodeAt(++this.state.pos)){this.raise(_w.MissingUnicodeEscape,this.state.curPosition()),r=this.state.pos-1;continue}++this.state.pos;const s=this.readCodePoint(!0);null!==s&&(i(s)||this.raise(_w.EscapedCharNotAnIdentifier,e),t+=String.fromCodePoint(s)),r=this.state.pos}}}return t+this.input.slice(r,this.state.pos)}readWord(e){const t=this.readWord1(e),n=$w.get(t);void 0!==n?this.finishToken(n,aC(n)):this.finishToken(132,t)}checkKeywordEscapes(){const{type:e}=this.state;iC(e)&&this.state.containsEsc&&this.raise(_w.InvalidEscapedReservedWord,this.state.startLoc,{reservedWord:aC(e)})}raise(e,t,n={}){const r=e(t instanceof mw?t:t.loc.start,n);if(!(2048&this.optionFlags))throw r;return this.isLookahead||this.state.errors.push(r),r}raiseOverwrite(e,t,n={}){const r=t instanceof mw?t:t.loc.start,i=r.index,s=this.state.errors;for(let t=s.length-1;t>=0;t--){const a=s[t];if(a.loc.index===i)return s[t]=e(r,n);if(a.loc.index<i)break}return this.raise(e,t,n)}updateContext(e){}unexpected(e,t){throw this.raise(_w.UnexpectedToken,null!=e?e:this.state.startLoc,{expected:t?aC(t):null})}expectPlugin(e,t){if(this.hasPlugin(e))return!0;throw this.raise(_w.MissingPlugin,null!=t?t:this.state.startLoc,{missingPlugin:[e]})}expectOnePlugin(e){if(!e.some(e=>this.hasPlugin(e)))throw this.raise(_w.MissingOneOfPlugins,this.state.startLoc,{missingPlugin:e})}errorBuilder(e){return(t,n,r)=>{this.raise(e,ak(t,n,r))}}},lk=class{constructor(){Qe(this,"privateNames",new Set),Qe(this,"loneAccessors",new Map),Qe(this,"undefinedPrivateNames",new Map)}},pk=class{constructor(e){Qe(this,"parser"),Qe(this,"stack",[]),Qe(this,"undefinedPrivateNames",new Map),this.parser=e}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new lk)}exit(){const e=this.stack.pop(),t=this.current();for(const[n,r]of Array.from(e.undefinedPrivateNames))t?t.undefinedPrivateNames.has(n)||t.undefinedPrivateNames.set(n,r):this.parser.raise(_w.InvalidPrivateFieldResolution,r,{identifierName:n})}declarePrivateName(e,t,n){const{privateNames:r,loneAccessors:i,undefinedPrivateNames:s}=this.current();let a=r.has(e);if(3&t){const n=a&&i.get(e);if(n){a=(3&n)===(3&t)||(4&n)!==(4&t),a||i.delete(e)}else a||i.set(e,t)}a&&this.parser.raise(_w.PrivateNameRedeclaration,n,{identifierName:e}),r.add(e),s.delete(e)}usePrivateName(e,t){let n;for(n of this.stack)if(n.privateNames.has(e))return;n?n.undefinedPrivateNames.set(e,t):this.parser.raise(_w.InvalidPrivateFieldResolution,t,{identifierName:e})}},dk=class{constructor(e=0){this.type=e}canBeArrowParameterDeclaration(){return 2===this.type||1===this.type}isCertainlyParameterDeclaration(){return 3===this.type}},hk=class extends dk{constructor(e){super(e),Qe(this,"declarationErrors",new Map)}recordDeclarationError(e,t){const n=t.index;this.declarationErrors.set(n,[e,t])}clearDeclarationError(e){this.declarationErrors.delete(e)}iterateErrors(e){this.declarationErrors.forEach(e)}},fk=class{constructor(e){Qe(this,"parser"),Qe(this,"stack",[new dk]),this.parser=e}enter(e){this.stack.push(e)}exit(){this.stack.pop()}recordParameterInitializerError(e,t){const n=t.loc.start,{stack:r}=this;let i=r.length-1,s=r[i];for(;!s.isCertainlyParameterDeclaration();){if(!s.canBeArrowParameterDeclaration())return;s.recordDeclarationError(e,n),s=r[--i]}this.parser.raise(e,n)}recordArrowParameterBindingError(e,t){const{stack:n}=this,r=n[n.length-1],i=t.loc.start;if(r.isCertainlyParameterDeclaration())this.parser.raise(e,i);else{if(!r.canBeArrowParameterDeclaration())return;r.recordDeclarationError(e,i)}}recordAsyncArrowParametersError(e){const{stack:t}=this;let n=t.length-1,r=t[n];for(;r.canBeArrowParameterDeclaration();)2===r.type&&r.recordDeclarationError(_w.AwaitBindingIdentifier,e),r=t[--n]}validateAsPattern(){const{stack:e}=this,t=e[e.length-1];t.canBeArrowParameterDeclaration()&&t.iterateErrors(([t,n])=>{this.parser.raise(t,n);let r=e.length-2,i=e[r];for(;i.canBeArrowParameterDeclaration();)i.clearDeclarationError(n.index),i=e[--r]})}};function mk(){return new dk}var yk=class extends ck{addExtra(e,t,n,r=!0){if(!e)return;let{extra:i}=e;null==i&&(i={},e.extra=i),r?i[t]=n:Object.defineProperty(i,t,{enumerable:r,value:n})}isContextual(e){return this.state.type===e&&!this.state.containsEsc}isUnparsedContextual(e,t){if(this.input.startsWith(t,e)){const n=this.input.charCodeAt(e+t.length);return!(bC(n)||55296==(64512&n))}return!1}isLookaheadContextual(e){const t=this.nextTokenStart();return this.isUnparsedContextual(t,e)}eatContextual(e){return!!this.isContextual(e)&&(this.next(),!0)}expectContextual(e,t){if(!this.eatContextual(e)){if(null!=t)throw this.raise(t,this.state.startLoc);this.unexpected(null,e)}}canInsertSemicolon(){return this.match(140)||this.match(8)||this.hasPrecedingLineBreak()}hasPrecedingLineBreak(){return DC(this.input,this.offsetToSourcePos(this.state.lastTokEndLoc.index),this.state.start)}hasFollowingLineBreak(){return DC(this.input,this.state.end,this.nextTokenStart())}isLineTerminator(){return this.eat(13)||this.canInsertSemicolon()}semicolon(e=!0){(e?this.isLineTerminator():this.eat(13))||this.raise(_w.MissingSemicolon,this.state.lastTokEndLoc)}expect(e,t){this.eat(e)||this.unexpected(t,e)}tryParse(e,t=this.state.clone()){const n={node:null};try{const r=e((e=null)=>{throw n.node=e,n});if(this.state.errors.length>t.errors.length){const e=this.state;return this.state=t,this.state.tokensLength=e.tokensLength,{node:r,error:e.errors[t.errors.length],thrown:!1,aborted:!1,failState:e}}return{node:r,error:null,thrown:!1,aborted:!1,failState:null}}catch(e){const r=this.state;if(this.state=t,e instanceof SyntaxError)return{node:null,error:e,thrown:!0,aborted:!1,failState:r};if(e===n)return{node:n.node,error:null,thrown:!1,aborted:!0,failState:r};throw e}}checkExpressionErrors(e,t){if(!e)return!1;const{shorthandAssignLoc:n,doubleProtoLoc:r,privateKeyLoc:i,optionalParametersLoc:s,voidPatternLoc:a}=e;if(!t)return!!(n||r||s||i||a);null!=n&&this.raise(_w.InvalidCoverInitializedName,n),null!=r&&this.raise(_w.DuplicateProto,r),null!=i&&this.raise(_w.UnexpectedPrivateField,i),null!=s&&this.unexpected(s),null!=a&&this.raise(_w.InvalidCoverDiscardElement,a)}isLiteralPropertyName(){return(e=this.state.type)>=58&&e<=137;var e}isPrivateName(e){return"PrivateName"===e.type}getPrivateNameSV(e){return e.id.name}hasPropertyAsPrivateName(e){return("MemberExpression"===e.type||"OptionalMemberExpression"===e.type)&&this.isPrivateName(e.property)}isObjectProperty(e){return"ObjectProperty"===e.type}isObjectMethod(e){return"ObjectMethod"===e.type}initializeScopes(e="module"===this.options.sourceType){const t=this.state.labels;this.state.labels=[];const n=this.exportedIdentifiers;this.exportedIdentifiers=new Set;const r=this.inModule;this.inModule=e;const i=this.scope,s=this.getScopeHandler();this.scope=new s(this,e);const a=this.prodParam;this.prodParam=new JC;const o=this.classScope;this.classScope=new pk(this);const u=this.expressionScope;return this.expressionScope=new fk(this),()=>{this.state.labels=t,this.exportedIdentifiers=n,this.inModule=r,this.scope=i,this.prodParam=a,this.classScope=o,this.expressionScope=u}}enterInitialScopes(){let e=0;(this.inModule||1&this.optionFlags)&&(e|=2),32&this.optionFlags&&(e|=1);const t=!this.inModule&&"commonjs"===this.options.sourceType;(t||2&this.optionFlags)&&(e|=4),this.prodParam.enter(e);let n=t?514:1;4&this.optionFlags&&(n|=512),this.scope.enter(n)}checkDestructuringPrivate(e){const{privateKeyLoc:t}=e;null!==t&&this.expectPlugin("destructuringPrivate",t)}},gk=class{constructor(){Qe(this,"shorthandAssignLoc",null),Qe(this,"doubleProtoLoc",null),Qe(this,"privateKeyLoc",null),Qe(this,"optionalParametersLoc",null),Qe(this,"voidPatternLoc",null)}},bk=class{constructor(e,t,n){Qe(this,"type",""),this.start=t,this.end=0,this.loc=new yw(n),128&e?.optionFlags&&(this.range=[t,0]),e?.filename&&(this.loc.filename=e.filename)}},xk=bk.prototype,Sk=class extends yk{startNode(){const e=this.state.startLoc;return new bk(this,e.index,e)}startNodeAt(e){return new bk(this,e.index,e)}startNodeAtNode(e){return this.startNodeAt(e.loc.start)}finishNode(e,t){return this.finishNodeAt(e,t,this.state.lastTokEndLoc)}finishNodeAt(e,t,n){return e.type=t,e.end=n.index,e.loc.end=n,128&this.optionFlags&&(e.range[1]=n.index),4096&this.optionFlags&&this.processComment(e),e}resetStartLocation(e,t){e.start=t.index,e.loc.start=t,128&this.optionFlags&&(e.range[0]=t.index)}resetEndLocation(e,t=this.state.lastTokEndLoc){e.end=t.index,e.loc.end=t,128&this.optionFlags&&(e.range[1]=t.index)}resetStartLocationFromNode(e,t){this.resetStartLocation(e,t.loc.start)}castNodeTo(e,t){return e.type=t,e}cloneIdentifier(e){const{type:t,start:n,end:r,loc:i,range:s,name:a}=e,o=Object.create(xk);return o.type=t,o.start=n,o.end=r,o.loc=i,o.range=s,o.name=a,e.extra&&(o.extra=e.extra),o}cloneStringLiteral(e){const{type:t,start:n,end:r,loc:i,range:s,extra:a}=e,o=Object.create(xk);return o.type=t,o.start=n,o.end=r,o.loc=i,o.range=s,o.extra=a,o.value=e.value,o}},Tk=e=>"ParenthesizedExpression"===e.type?Tk(e.expression):e,Ek=class extends Sk{toAssignable(e,t=!1){let n;switch(("ParenthesizedExpression"===e.type||e.extra?.parenthesized)&&(n=Tk(e),t?"Identifier"===n.type?this.expressionScope.recordArrowParameterBindingError(_w.InvalidParenthesizedAssignment,e):"MemberExpression"===n.type||this.isOptionalMemberExpression(n)||this.raise(_w.InvalidParenthesizedAssignment,e):this.raise(_w.InvalidParenthesizedAssignment,e)),e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":case"VoidPattern":break;case"ObjectExpression":this.castNodeTo(e,"ObjectPattern");for(let n=0,r=e.properties.length,i=r-1;n<r;n++){const r=e.properties[n],s=n===i;this.toAssignableObjectExpressionProp(r,s,t),s&&"RestElement"===r.type&&e.extra?.trailingCommaLoc&&this.raise(_w.RestTrailingComma,e.extra.trailingCommaLoc)}break;case"ObjectProperty":{const{key:n,value:r}=e;this.isPrivateName(n)&&this.classScope.usePrivateName(this.getPrivateNameSV(n),n.loc.start),this.toAssignable(r,t);break}case"SpreadElement":throw new Error("Internal @babel/parser error (this is a bug, please report it). SpreadElement should be converted by .toAssignable's caller.");case"ArrayExpression":this.castNodeTo(e,"ArrayPattern"),this.toAssignableList(e.elements,e.extra?.trailingCommaLoc,t);break;case"AssignmentExpression":"="!==e.operator&&this.raise(_w.MissingEqInAssignment,e.left.loc.end),this.castNodeTo(e,"AssignmentPattern"),delete e.operator,"VoidPattern"===e.left.type&&this.raise(_w.VoidPatternInitializer,e.left),this.toAssignable(e.left,t);break;case"ParenthesizedExpression":this.toAssignable(n,t)}}toAssignableObjectExpressionProp(e,t,n){if("ObjectMethod"===e.type)this.raise("get"===e.kind||"set"===e.kind?_w.PatternHasAccessor:_w.PatternHasMethod,e.key);else if("SpreadElement"===e.type){this.castNodeTo(e,"RestElement");const r=e.argument;this.checkToRestConversion(r,!1),this.toAssignable(r,n),t||this.raise(_w.RestTrailingComma,e)}else this.toAssignable(e,n)}toAssignableList(e,t,n){const r=e.length-1;for(let i=0;i<=r;i++){const s=e[i];s&&(this.toAssignableListItem(e,i,n),"RestElement"===s.type&&(i<r?this.raise(_w.RestTrailingComma,s):t&&this.raise(_w.RestTrailingComma,t)))}}toAssignableListItem(e,t,n){const r=e[t];if("SpreadElement"===r.type){this.castNodeTo(r,"RestElement");const e=r.argument;this.checkToRestConversion(e,!0),this.toAssignable(e,n)}else this.toAssignable(r,n)}isAssignable(e,t){switch(e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":case"VoidPattern":return!0;case"ObjectExpression":{const t=e.properties.length-1;return e.properties.every((e,n)=>"ObjectMethod"!==e.type&&(n===t||"SpreadElement"!==e.type)&&this.isAssignable(e))}case"ObjectProperty":return this.isAssignable(e.value);case"SpreadElement":return this.isAssignable(e.argument);case"ArrayExpression":return e.elements.every(e=>null===e||this.isAssignable(e));case"AssignmentExpression":return"="===e.operator;case"ParenthesizedExpression":return this.isAssignable(e.expression);case"MemberExpression":case"OptionalMemberExpression":return!t;default:return!1}}toReferencedList(e,t){return e}toReferencedListDeep(e,t){this.toReferencedList(e,t);for(const t of e)"ArrayExpression"===t?.type&&this.toReferencedListDeep(t.elements)}parseSpread(e){const t=this.startNode();return this.next(),t.argument=this.parseMaybeAssignAllowIn(e,void 0),this.finishNode(t,"SpreadElement")}parseRestBinding(){const e=this.startNode();this.next();const t=this.parseBindingAtom();return"VoidPattern"===t.type&&this.raise(_w.UnexpectedVoidPattern,t),e.argument=t,this.finishNode(e,"RestElement")}parseBindingAtom(){switch(this.state.type){case 0:{const e=this.startNode();return this.next(),e.elements=this.parseBindingList(3,93,1),this.finishNode(e,"ArrayPattern")}case 5:return this.parseObjectLike(8,!0);case 88:return this.parseVoidPattern(null)}return this.parseIdentifier()}parseBindingList(e,t,n){const r=1&n,i=[];let s=!0;for(;!this.eat(e);)if(s?s=!1:this.expect(12),r&&this.match(12))i.push(null);else{if(this.eat(e))break;if(this.match(21)){let r=this.parseRestBinding();if(2&n&&(r=this.parseFunctionParamType(r)),i.push(r),!this.checkCommaAfterRest(t)){this.expect(e);break}}else{const e=[];if(2&n)for(this.match(26)&&this.hasPlugin("decorators")&&this.raise(_w.UnsupportedParameterDecorator,this.state.startLoc);this.match(26);)e.push(this.parseDecorator());i.push(this.parseBindingElement(n,e))}}return i}parseBindingRestProperty(e){return this.next(),this.hasPlugin("discardBinding")&&this.match(88)?(e.argument=this.parseVoidPattern(null),this.raise(_w.UnexpectedVoidPattern,e.argument)):e.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(e,"RestElement")}parseBindingProperty(){const{type:e,startLoc:t}=this.state;if(21===e)return this.parseBindingRestProperty(this.startNode());const n=this.startNode();return 139===e?(this.expectPlugin("destructuringPrivate",t),this.classScope.usePrivateName(this.state.value,t),n.key=this.parsePrivateName()):this.parsePropertyName(n),n.method=!1,this.parseObjPropValue(n,t,!1,!1,!0,!1)}parseBindingElement(e,t){const n=this.parseMaybeDefault();2&e&&this.parseFunctionParamType(n),t.length&&(n.decorators=t,this.resetStartLocationFromNode(n,t[0]));return this.parseMaybeDefault(n.loc.start,n)}parseFunctionParamType(e){return e}parseMaybeDefault(e,t){if(e??(e=this.state.startLoc),t=t??this.parseBindingAtom(),!this.eat(29))return t;const n=this.startNodeAt(e);return"VoidPattern"===t.type&&this.raise(_w.VoidPatternInitializer,t),n.left=t,n.right=this.parseMaybeAssignAllowIn(),this.finishNode(n,"AssignmentPattern")}isValidLVal(e,t,n){switch(e){case"AssignmentPattern":return"left";case"RestElement":return"argument";case"ObjectProperty":return"value";case"ParenthesizedExpression":return"expression";case"ArrayPattern":return"elements";case"ObjectPattern":return"properties";case"VoidPattern":return!0}return!1}isOptionalMemberExpression(e){return"OptionalMemberExpression"===e.type}checkLVal(e,t,n=64,r=!1,i=!1,s=!1){const a=e.type;if(this.isObjectMethod(e))return;const o=this.isOptionalMemberExpression(e);if(o||"MemberExpression"===a)return o&&(this.expectPlugin("optionalChainingAssign",e.loc.start),"AssignmentExpression"!==t.type&&this.raise(_w.InvalidLhsOptionalChaining,e,{ancestor:t})),void(64!==n&&this.raise(_w.InvalidPropertyBindingPattern,e));if("Identifier"===a){this.checkIdentifier(e,n,i);const{name:t}=e;return void(r&&(r.has(t)?this.raise(_w.ParamDupe,e):r.add(t)))}"VoidPattern"===a&&"CatchClause"===t.type&&this.raise(_w.VoidPatternCatchClauseParam,e);const u=this.isValidLVal(a,!(s||e.extra?.parenthesized)&&"AssignmentExpression"===t.type,n);if(!0===u)return;if(!1===u){const r=64===n?_w.InvalidLhs:_w.InvalidLhsBinding;return void this.raise(r,e,{ancestor:t})}let c,l;"string"==typeof u?(c=u,l="ParenthesizedExpression"===a):[c,l]=u;const p="ArrayPattern"===a||"ObjectPattern"===a?{type:a}:t,d=e[c];if(Array.isArray(d))for(const e of d)e&&this.checkLVal(e,p,n,r,i,l);else d&&this.checkLVal(d,p,n,r,i,l)}checkIdentifier(e,t,n=!1){this.state.strict&&(n?CC(e.name,this.inModule):wC(e.name))&&(64===t?this.raise(_w.StrictEvalArguments,e,{referenceName:e.name}):this.raise(_w.StrictEvalArgumentsBinding,e,{bindingName:e.name})),8192&t&&"let"===e.name&&this.raise(_w.LetInLexicalBinding,e),64&t||this.declareNameFromIdentifier(e,t)}declareNameFromIdentifier(e,t){this.scope.declareName(e.name,t,e.loc.start)}checkToRestConversion(e,t){switch(e.type){case"ParenthesizedExpression":this.checkToRestConversion(e.expression,t);break;case"Identifier":case"MemberExpression":break;case"ArrayExpression":case"ObjectExpression":if(t)break;default:this.raise(_w.InvalidRestAssignmentPattern,e)}}checkCommaAfterRest(e){return!!this.match(12)&&(this.raise(this.lookaheadCharCode()===e?_w.RestTrailingComma:_w.ElementAfterRest,this.state.startLoc),!0)}};function Pk(e){if(!e)throw new Error("Assert fail")}var vk=Iw`typescript`({AbstractMethodHasImplementation:({methodName:e})=>`Method '${e}' cannot have an implementation because it is marked abstract.`,AbstractPropertyHasInitializer:({propertyName:e})=>`Property '${e}' cannot have an initializer because it is marked abstract.`,AccessorCannotBeOptional:"An 'accessor' property cannot be declared optional.",AccessorCannotDeclareThisParameter:"'get' and 'set' accessors cannot declare 'this' parameters.",AccessorCannotHaveTypeParameters:"An accessor cannot have type parameters.",ClassMethodHasDeclare:"Class methods cannot have the 'declare' modifier.",ClassMethodHasReadonly:"Class methods cannot have the 'readonly' modifier.",ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference:"A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.",ConstructorHasTypeParameters:"Type parameters cannot appear on a constructor declaration.",DeclareAccessor:({kind:e})=>`'declare' is not allowed in ${e}ters.`,DeclareClassFieldHasInitializer:"Initializers are not allowed in ambient contexts.",DeclareFunctionHasImplementation:"An implementation cannot be declared in ambient contexts.",DuplicateAccessibilityModifier:({modifier:e})=>`Accessibility modifier already seen: '${e}'.`,DuplicateModifier:({modifier:e})=>`Duplicate modifier: '${e}'.`,EmptyHeritageClauseType:({token:e})=>`'${e}' list cannot be empty.`,EmptyTypeArguments:"Type argument list cannot be empty.",EmptyTypeParameters:"Type parameter list cannot be empty.",ExpectedAmbientAfterExportDeclare:"'export declare' must be followed by an ambient declaration.",ImportAliasHasImportType:"An import alias can not use 'import type'.",ImportReflectionHasImportType:"An `import module` declaration can not use `type` modifier",IncompatibleModifiers:({modifiers:e})=>`'${e[0]}' modifier cannot be used with '${e[1]}' modifier.`,IndexSignatureHasAbstract:"Index signatures cannot have the 'abstract' modifier.",IndexSignatureHasAccessibility:({modifier:e})=>`Index signatures cannot have an accessibility modifier ('${e}').`,IndexSignatureHasDeclare:"Index signatures cannot have the 'declare' modifier.",IndexSignatureHasOverride:"'override' modifier cannot appear on an index signature.",IndexSignatureHasStatic:"Index signatures cannot have the 'static' modifier.",InitializerNotAllowedInAmbientContext:"Initializers are not allowed in ambient contexts.",InvalidHeritageClauseType:({token:e})=>`'${e}' list can only include identifiers or qualified-names with optional type arguments.`,InvalidModifierOnAwaitUsingDeclaration:e=>`'${e}' modifier cannot appear on an await using declaration.`,InvalidModifierOnTypeMember:({modifier:e})=>`'${e}' modifier cannot appear on a type member.`,InvalidModifierOnTypeParameter:({modifier:e})=>`'${e}' modifier cannot appear on a type parameter.`,InvalidModifierOnTypeParameterPositions:({modifier:e})=>`'${e}' modifier can only appear on a type parameter of a class, interface or type alias.`,InvalidModifierOnUsingDeclaration:e=>`'${e}' modifier cannot appear on a using declaration.`,InvalidModifiersOrder:({orderedModifiers:e})=>`'${e[0]}' modifier must precede '${e[1]}' modifier.`,InvalidPropertyAccessAfterInstantiationExpression:"Invalid property access after an instantiation expression. You can either wrap the instantiation expression in parentheses, or delete the type arguments.",InvalidTupleMemberLabel:"Tuple members must be labeled with a simple identifier.",MissingInterfaceName:"'interface' declarations must be followed by an identifier.",NonAbstractClassHasAbstractMethod:"Abstract methods can only appear within an abstract class.",NonClassMethodPropertyHasAbstractModifier:"'abstract' modifier can only appear on a class, method, or property declaration.",OptionalTypeBeforeRequired:"A required element cannot follow an optional element.",OverrideNotInSubClass:"This member cannot have an 'override' modifier because its containing class does not extend another class.",PatternIsOptional:"A binding pattern parameter cannot be optional in an implementation signature.",PrivateElementHasAbstract:"Private elements cannot have the 'abstract' modifier.",PrivateElementHasAccessibility:({modifier:e})=>`Private elements cannot have an accessibility modifier ('${e}').`,ReadonlyForMethodSignature:"'readonly' modifier can only appear on a property declaration or index signature.",ReservedArrowTypeParam:"This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `<T,>() => ...`.",ReservedTypeAssertion:"This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",SetAccessorCannotHaveOptionalParameter:"A 'set' accessor cannot have an optional parameter.",SetAccessorCannotHaveRestParameter:"A 'set' accessor cannot have rest parameter.",SetAccessorCannotHaveReturnType:"A 'set' accessor cannot have a return type annotation.",SingleTypeParameterWithoutTrailingComma:({typeParameterName:e})=>`Single type parameter ${e} should have a trailing comma. Example usage: <${e},>.`,StaticBlockCannotHaveModifier:"Static class blocks cannot have any modifier.",TupleOptionalAfterType:"A labeled tuple optional element must be declared using a question mark after the name and before the colon (`name?: type`), rather than after the type (`name: type?`).",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeImportCannotSpecifyDefaultAndNamed:"A type-only import can specify a default import or named bindings, but not both.",TypeModifierIsUsedInTypeExports:"The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.",TypeModifierIsUsedInTypeImports:"The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.",UnexpectedParameterModifier:"A parameter property is only allowed in a constructor implementation.",UnexpectedReadonly:"'readonly' type modifier is only permitted on array and tuple literal types.",UnexpectedTypeAnnotation:"Did not expect a type annotation here.",UnexpectedTypeCastInParameter:"Unexpected type cast in parameter position.",UnsupportedImportTypeArgument:"Argument in a type import must be a string literal.",UnsupportedParameterPropertyKind:"A parameter property may not be declared using a binding pattern.",UnsupportedSignatureParameterKind:({type:e})=>`Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${e}.`,UsingDeclarationInAmbientContext:e=>`'${e}' declarations are not allowed in ambient contexts.`});function Ak(e){return"private"===e||"public"===e||"protected"===e}function wk(e){return"in"===e||"out"===e}function Ck(e){if(e.extra?.parenthesized)return!1;switch(e.type){case"Identifier":return!0;case"MemberExpression":return!e.computed&&Ck(e.object);case"TSInstantiationExpression":return Ck(e.expression);default:return!1}}function kk(e){if("MemberExpression"!==e.type)return!1;const{computed:t,property:n}=e;return(!t||"StringLiteral"===n.type||!("TemplateLiteral"!==n.type||n.expressions.length>0))&&Nk(e.object)}function Ik(e,t){const{type:n}=e;if(e.extra?.parenthesized)return!1;if(t){if("Literal"===n){const{value:t}=e;if("string"==typeof t||"boolean"==typeof t)return!0}}else if("StringLiteral"===n||"BooleanLiteral"===n)return!0;return!(!_k(e,t)&&!function(e,t){if("UnaryExpression"===e.type){const{operator:n,argument:r}=e;if("-"===n&&_k(r,t))return!0}return!1}(e,t))||("TemplateLiteral"===n&&0===e.expressions.length||!!kk(e))}function _k(e,t){return t?"Literal"===e.type&&("number"==typeof e.value||"bigint"in e):"NumericLiteral"===e.type||"BigIntLiteral"===e.type}function Nk(e){return"Identifier"===e.type||"MemberExpression"===e.type&&!e.computed&&Nk(e.object)}var Lk=Iw`placeholders`({ClassNameIsRequired:"A class name is required.",UnexpectedSpace:"Unexpected space in placeholder."}),Ok=["fsharp","hack"],Dk=["^^","@@","^","%","#"];var Mk={estree:e=>class extends e{parse(){const e=Ow(super.parse());return 256&this.optionFlags&&(e.tokens=e.tokens.map(Ow)),e}parseRegExpLiteral({pattern:e,flags:t}){let n=null;try{n=new RegExp(e,t)}catch(e){}const r=this.estreeParseLiteral(n);return r.regex={pattern:e,flags:t},r}parseBigIntLiteral(e){let t;try{t=BigInt(e)}catch{t=null}const n=this.estreeParseLiteral(t);return n.bigint=String(n.value||e),n}parseDecimalLiteral(e){const t=this.estreeParseLiteral(null);return t.decimal=String(t.value||e),t}estreeParseLiteral(e){return this.parseLiteral(e,"Literal")}parseStringLiteral(e){return this.estreeParseLiteral(e)}parseNumericLiteral(e){return this.estreeParseLiteral(e)}parseNullLiteral(){return this.estreeParseLiteral(null)}parseBooleanLiteral(e){return this.estreeParseLiteral(e)}estreeParseChainExpression(e,t){const n=this.startNodeAtNode(e);return n.expression=e,this.finishNodeAt(n,"ChainExpression",t)}directiveToStmt(e){const t=e.value;delete e.value,this.castNodeTo(t,"Literal"),t.raw=t.extra.raw,t.value=t.extra.expressionValue;const n=this.castNodeTo(e,"ExpressionStatement");return n.expression=t,n.directive=t.extra.rawValue,delete t.extra,n}fillOptionalPropertiesForTSESLint(e){}cloneEstreeStringLiteral(e){const{start:t,end:n,loc:r,range:i,raw:s,value:a}=e,o=Object.create(e.constructor.prototype);return o.type="Literal",o.start=t,o.end=n,o.loc=r,o.range=i,o.raw=s,o.value=a,o}initFunction(e,t){super.initFunction(e,t),e.expression=!1}checkDeclaration(e){null!=e&&this.isObjectProperty(e)?this.checkDeclaration(e.value):super.checkDeclaration(e)}getObjectOrClassMethodParams(e){return e.value.params}isValidDirective(e){return"ExpressionStatement"===e.type&&"Literal"===e.expression.type&&"string"==typeof e.expression.value&&!e.expression.extra?.parenthesized}parseBlockBody(e,t,n,r,i){super.parseBlockBody(e,t,n,r,i);const s=e.directives.map(e=>this.directiveToStmt(e));e.body=s.concat(e.body),delete e.directives}parsePrivateName(){const e=super.parsePrivateName();return this.convertPrivateNameToPrivateIdentifier(e)}convertPrivateNameToPrivateIdentifier(e){const t=super.getPrivateNameSV(e);return delete e.id,e.name=t,this.castNodeTo(e,"PrivateIdentifier")}isPrivateName(e){return"PrivateIdentifier"===e.type}getPrivateNameSV(e){return e.name}parseLiteral(e,t){const n=super.parseLiteral(e,t);return n.raw=n.extra.raw,delete n.extra,n}parseFunctionBody(e,t,n=!1){super.parseFunctionBody(e,t,n),e.expression="BlockStatement"!==e.body.type}parseMethod(e,t,n,r,i,s,a=!1){let o=this.startNode();o.kind=e.kind,o=super.parseMethod(o,t,n,r,i,s,a),delete o.kind;const{typeParameters:u}=e;u&&(delete e.typeParameters,o.typeParameters=u,this.resetStartLocationFromNode(o,u));const c=this.castNodeTo(o,this.hasPlugin("typescript")&&!o.body?"TSEmptyBodyFunctionExpression":"FunctionExpression");return e.value=c,"ClassPrivateMethod"===s&&(e.computed=!1),this.hasPlugin("typescript")&&e.abstract?(delete e.abstract,this.finishNode(e,"TSAbstractMethodDefinition")):"ObjectMethod"===s?("method"===e.kind&&(e.kind="init"),e.shorthand=!1,this.finishNode(e,"Property")):this.finishNode(e,"MethodDefinition")}nameIsConstructor(e){return"Literal"===e.type?"constructor"===e.value:super.nameIsConstructor(e)}parseClassProperty(...e){const t=super.parseClassProperty(...e);return t.abstract&&this.hasPlugin("typescript")?(delete t.abstract,this.castNodeTo(t,"TSAbstractPropertyDefinition")):this.castNodeTo(t,"PropertyDefinition"),t}parseClassPrivateProperty(...e){const t=super.parseClassPrivateProperty(...e);return t.abstract&&this.hasPlugin("typescript")?this.castNodeTo(t,"TSAbstractPropertyDefinition"):this.castNodeTo(t,"PropertyDefinition"),t.computed=!1,t}parseClassAccessorProperty(e){const t=super.parseClassAccessorProperty(e);return t.abstract&&this.hasPlugin("typescript")?(delete t.abstract,this.castNodeTo(t,"TSAbstractAccessorProperty")):this.castNodeTo(t,"AccessorProperty"),t}parseObjectProperty(e,t,n,r){const i=super.parseObjectProperty(e,t,n,r);return i&&(i.kind="init",this.castNodeTo(i,"Property")),i}finishObjectProperty(e){return e.kind="init",this.finishNode(e,"Property")}isValidLVal(e,t,n){return"Property"===e?"value":super.isValidLVal(e,t,n)}isAssignable(e,t){return null!=e&&this.isObjectProperty(e)?this.isAssignable(e.value,t):super.isAssignable(e,t)}toAssignable(e,t=!1){if(null!=e&&this.isObjectProperty(e)){const{key:n,value:r}=e;this.isPrivateName(n)&&this.classScope.usePrivateName(this.getPrivateNameSV(n),n.loc.start),this.toAssignable(r,t)}else super.toAssignable(e,t)}toAssignableObjectExpressionProp(e,t,n){"Property"!==e.type||"get"!==e.kind&&"set"!==e.kind?"Property"===e.type&&e.method?this.raise(_w.PatternHasMethod,e.key):super.toAssignableObjectExpressionProp(e,t,n):this.raise(_w.PatternHasAccessor,e.key)}finishCallExpression(e,t){const n=super.finishCallExpression(e,t);return"Import"===n.callee.type?(this.castNodeTo(n,"ImportExpression"),n.source=n.arguments[0],n.options=n.arguments[1]??null,delete n.arguments,delete n.callee):"OptionalCallExpression"===n.type?this.castNodeTo(n,"CallExpression"):n.optional=!1,n}toReferencedArguments(e){"ImportExpression"!==e.type&&super.toReferencedArguments(e)}parseExport(e,t){const n=this.state.lastTokStartLoc,r=super.parseExport(e,t);switch(r.type){case"ExportAllDeclaration":r.exported=null;break;case"ExportNamedDeclaration":1===r.specifiers.length&&"ExportNamespaceSpecifier"===r.specifiers[0].type&&(this.castNodeTo(r,"ExportAllDeclaration"),r.exported=r.specifiers[0].exported,delete r.specifiers);case"ExportDefaultDeclaration":{const{declaration:e}=r;"ClassDeclaration"===e?.type&&e.decorators?.length>0&&e.start===r.start&&this.resetStartLocation(r,n)}}return r}stopParseSubscript(e,t){const n=super.stopParseSubscript(e,t);return t.optionalChainMember?this.estreeParseChainExpression(n,e.loc.end):n}parseMember(e,t,n,r,i){const s=super.parseMember(e,t,n,r,i);return"OptionalMemberExpression"===s.type?this.castNodeTo(s,"MemberExpression"):s.optional=!1,s}isOptionalMemberExpression(e){return"ChainExpression"===e.type?"MemberExpression"===e.expression.type:super.isOptionalMemberExpression(e)}hasPropertyAsPrivateName(e){return"ChainExpression"===e.type&&(e=e.expression),super.hasPropertyAsPrivateName(e)}isObjectProperty(e){return"Property"===e.type&&"init"===e.kind&&!e.method}isObjectMethod(e){return"Property"===e.type&&(e.method||"get"===e.kind||"set"===e.kind)}castNodeTo(e,t){const n=super.castNodeTo(e,t);return this.fillOptionalPropertiesForTSESLint(n),n}cloneIdentifier(e){const t=super.cloneIdentifier(e);return this.fillOptionalPropertiesForTSESLint(t),t}cloneStringLiteral(e){return"Literal"===e.type?this.cloneEstreeStringLiteral(e):super.cloneStringLiteral(e)}finishNodeAt(e,t,n){return Ow(super.finishNodeAt(e,t,n))}finishNode(e,t){const n=super.finishNode(e,t);return this.fillOptionalPropertiesForTSESLint(n),n}resetStartLocation(e,t){super.resetStartLocation(e,t),Ow(e)}resetEndLocation(e,t=this.state.lastTokEndLoc){super.resetEndLocation(e,t),Ow(e)}},jsx:e=>class extends e{jsxReadToken(){let e="",t=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(RC.UnterminatedJsxContent,this.state.startLoc);const n=this.input.charCodeAt(this.state.pos);switch(n){case 60:case 123:return this.state.pos===this.state.start?void(60===n&&this.state.canStartJSXElement?(++this.state.pos,this.finishToken(143)):super.getTokenFromCode(n)):(e+=this.input.slice(t,this.state.pos),void this.finishToken(142,e));case 38:e+=this.input.slice(t,this.state.pos),e+=this.jsxReadEntity(),t=this.state.pos;break;case 62:case 125:this.raise(RC.UnexpectedToken,this.state.curPosition(),{unexpected:this.input[this.state.pos],HTMLEntity:125===n?"}":">"});default:OC(n)?(e+=this.input.slice(t,this.state.pos),e+=this.jsxReadNewLine(!0),t=this.state.pos):++this.state.pos}}}jsxReadNewLine(e){const t=this.input.charCodeAt(this.state.pos);let n;return++this.state.pos,13===t&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,n=e?"\n":"\r\n"):n=String.fromCharCode(t),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(e){let t="",n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(_w.UnterminatedString,this.state.startLoc);const r=this.input.charCodeAt(this.state.pos);if(r===e)break;38===r?(t+=this.input.slice(n,this.state.pos),t+=this.jsxReadEntity(),n=this.state.pos):OC(r)?(t+=this.input.slice(n,this.state.pos),t+=this.jsxReadNewLine(!1),n=this.state.pos):++this.state.pos}t+=this.input.slice(n,this.state.pos++),this.finishToken(134,t)}jsxReadEntity(){const e=++this.state.pos;if(35===this.codePointAtPos(this.state.pos)){++this.state.pos;let e=10;120===this.codePointAtPos(this.state.pos)&&(e=16,++this.state.pos);const t=this.readInt(e,void 0,!1,"bail");if(null!==t&&59===this.codePointAtPos(this.state.pos))return++this.state.pos,String.fromCodePoint(t)}else{let t=0,n=!1;for(;t++<10&&this.state.pos<this.length&&!(n=59===this.codePointAtPos(this.state.pos));)++this.state.pos;if(n){const t=this.input.slice(e,this.state.pos),n=NC[t];if(++this.state.pos,n)return n}}return this.state.pos=e,"&"}jsxReadWord(){let e;const t=this.state.pos;do{e=this.input.charCodeAt(++this.state.pos)}while(bC(e)||45===e);this.finishToken(141,this.input.slice(t,this.state.pos))}jsxParseIdentifier(){const e=this.startNode();return this.match(141)?e.name=this.state.value:iC(this.state.type)?e.name=aC(this.state.type):this.unexpected(),this.next(),this.finishNode(e,"JSXIdentifier")}jsxParseNamespacedName(){const e=this.state.startLoc,t=this.jsxParseIdentifier();if(!this.eat(14))return t;const n=this.startNodeAt(e);return n.namespace=t,n.name=this.jsxParseIdentifier(),this.finishNode(n,"JSXNamespacedName")}jsxParseElementName(){const e=this.state.startLoc;let t=this.jsxParseNamespacedName();if("JSXNamespacedName"===t.type)return t;for(;this.eat(16);){const n=this.startNodeAt(e);n.object=t,n.property=this.jsxParseIdentifier(),t=this.finishNode(n,"JSXMemberExpression")}return t}jsxParseAttributeValue(){let e;switch(this.state.type){case 5:return e=this.startNode(),this.setContext(Mw.brace),this.next(),e=this.jsxParseExpressionContainer(e,Mw.j_oTag),"JSXEmptyExpression"===e.expression.type&&this.raise(RC.AttributeIsEmpty,e),e;case 143:case 134:return this.parseExprAtom();default:throw this.raise(RC.UnsupportedJsxValue,this.state.startLoc)}}jsxParseEmptyExpression(){const e=this.startNodeAt(this.state.lastTokEndLoc);return this.finishNodeAt(e,"JSXEmptyExpression",this.state.startLoc)}jsxParseSpreadChild(e){return this.next(),e.expression=this.parseExpression(),this.setContext(Mw.j_expr),this.state.canStartJSXElement=!0,this.expect(8),this.finishNode(e,"JSXSpreadChild")}jsxParseExpressionContainer(e,t){if(this.match(8))e.expression=this.jsxParseEmptyExpression();else{const t=this.parseExpression();"SequenceExpression"!==t.type||t.extra?.parenthesized||this.raise(RC.UnexpectedSequenceExpression,t.expressions[1]),e.expression=t}return this.setContext(t),this.state.canStartJSXElement=!0,this.expect(8),this.finishNode(e,"JSXExpressionContainer")}jsxParseAttribute(){const e=this.startNode();return this.match(5)?(this.setContext(Mw.brace),this.next(),this.expect(21),e.argument=this.parseMaybeAssignAllowIn(),this.setContext(Mw.j_oTag),this.state.canStartJSXElement=!0,this.expect(8),this.finishNode(e,"JSXSpreadAttribute")):(e.name=this.jsxParseNamespacedName(),e.value=this.eat(29)?this.jsxParseAttributeValue():null,this.finishNode(e,"JSXAttribute"))}jsxParseOpeningElementAt(e){const t=this.startNodeAt(e);return this.eat(144)?this.finishNode(t,"JSXOpeningFragment"):(t.name=this.jsxParseElementName(),this.jsxParseOpeningElementAfterName(t))}jsxParseOpeningElementAfterName(e){const t=[];for(;!this.match(56)&&!this.match(144);)t.push(this.jsxParseAttribute());return e.attributes=t,e.selfClosing=this.eat(56),this.expect(144),this.finishNode(e,"JSXOpeningElement")}jsxParseClosingElementAt(e){const t=this.startNodeAt(e);return this.eat(144)?this.finishNode(t,"JSXClosingFragment"):(t.name=this.jsxParseElementName(),this.expect(144),this.finishNode(t,"JSXClosingElement"))}jsxParseElementAt(e){const t=this.startNodeAt(e),n=[],r=this.jsxParseOpeningElementAt(e);let i=null;if(!r.selfClosing){e:for(;;)switch(this.state.type){case 143:if(e=this.state.startLoc,this.next(),this.eat(56)){i=this.jsxParseClosingElementAt(e);break e}n.push(this.jsxParseElementAt(e));break;case 142:n.push(this.parseLiteral(this.state.value,"JSXText"));break;case 5:{const e=this.startNode();this.setContext(Mw.brace),this.next(),this.match(21)?n.push(this.jsxParseSpreadChild(e)):n.push(this.jsxParseExpressionContainer(e,Mw.j_expr));break}default:this.unexpected()}jC(r)&&!jC(i)&&null!==i?this.raise(RC.MissingClosingTagFragment,i):!jC(r)&&jC(i)?this.raise(RC.MissingClosingTagElement,i,{openingTagName:UC(r.name)}):jC(r)||jC(i)||UC(i.name)!==UC(r.name)&&this.raise(RC.MissingClosingTagElement,i,{openingTagName:UC(r.name)})}if(jC(r)?(t.openingFragment=r,t.closingFragment=i):(t.openingElement=r,t.closingElement=i),t.children=n,this.match(47))throw this.raise(RC.UnwrappedAdjacentJSXElements,this.state.startLoc);return jC(r)?this.finishNode(t,"JSXFragment"):this.finishNode(t,"JSXElement")}jsxParseElement(){const e=this.state.startLoc;return this.next(),this.jsxParseElementAt(e)}setContext(e){const{context:t}=this.state;t[t.length-1]=e}parseExprAtom(e){return this.match(143)?this.jsxParseElement():this.match(47)&&33!==this.input.charCodeAt(this.state.pos)?(this.replaceToken(143),this.jsxParseElement()):super.parseExprAtom(e)}skipSpace(){this.curContext().preserveSpace||super.skipSpace()}getTokenFromCode(e){const t=this.curContext();if(t!==Mw.j_expr){if(t===Mw.j_oTag||t===Mw.j_cTag){if(gC(e))return void this.jsxReadWord();if(62===e)return++this.state.pos,void this.finishToken(144);if((34===e||39===e)&&t===Mw.j_oTag)return void this.jsxReadString(e)}if(60===e&&this.state.canStartJSXElement&&33!==this.input.charCodeAt(this.state.pos+1))return++this.state.pos,void this.finishToken(143);super.getTokenFromCode(e)}else this.jsxReadToken()}updateContext(e){const{context:t,type:n}=this.state;if(56===n&&143===e)t.splice(-2,2,Mw.j_cTag),this.state.canStartJSXElement=!1;else if(143===n)t.push(Mw.j_oTag);else if(144===n){const n=t[t.length-1];n===Mw.j_oTag&&56===e||n===Mw.j_cTag?(t.pop(),this.state.canStartJSXElement=t[t.length-1]===Mw.j_expr):(this.setContext(Mw.j_expr),this.state.canStartJSXElement=!0)}else this.state.canStartJSXElement=zw[n]}},typescript:e=>class extends e{constructor(){super(...arguments),Qe(this,"tsParseInOutModifiers",this.tsParseModifiers.bind(this,{allowedModifiers:["in","out"],disallowedModifiers:["const","public","private","protected","readonly","declare","abstract","override"],errorTemplate:vk.InvalidModifierOnTypeParameter})),Qe(this,"tsParseConstModifier",this.tsParseModifiers.bind(this,{allowedModifiers:["const"],disallowedModifiers:["in","out"],errorTemplate:vk.InvalidModifierOnTypeParameterPositions})),Qe(this,"tsParseInOutConstModifiers",this.tsParseModifiers.bind(this,{allowedModifiers:["in","out","const"],disallowedModifiers:["public","private","protected","readonly","declare","abstract","override"],errorTemplate:vk.InvalidModifierOnTypeParameter}))}getScopeHandler(){return $C}tsIsIdentifier(){return tC(this.state.type)}tsTokenCanFollowModifier(){return this.match(0)||this.match(5)||this.match(55)||this.match(21)||this.match(139)||this.isLiteralPropertyName()}tsNextTokenOnSameLineAndCanFollowModifier(){return this.next(),!this.hasPrecedingLineBreak()&&this.tsTokenCanFollowModifier()}tsNextTokenCanFollowModifier(){return this.match(106)?(this.next(),this.tsTokenCanFollowModifier()):this.tsNextTokenOnSameLineAndCanFollowModifier()}tsParseModifier(e,t,n){if(!tC(this.state.type)&&58!==this.state.type&&75!==this.state.type)return;const r=this.state.value;if(e.includes(r)){if(n&&this.match(106))return;if(t&&this.tsIsStartOfStaticBlocks())return;if(this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this)))return r}}tsParseModifiers({allowedModifiers:e,disallowedModifiers:t,stopOnStartOfClassStaticBlock:n,errorTemplate:r=vk.InvalidModifierOnTypeMember},i){const s=(e,t,n,r)=>{t===n&&i[r]&&this.raise(vk.InvalidModifiersOrder,e,{orderedModifiers:[n,r]})},a=(e,t,n,r)=>{(i[n]&&t===r||i[r]&&t===n)&&this.raise(vk.IncompatibleModifiers,e,{modifiers:[n,r]})};for(;;){const{startLoc:o}=this.state,u=this.tsParseModifier(e.concat(t??[]),n,i.static);if(!u)break;Ak(u)?i.accessibility?this.raise(vk.DuplicateAccessibilityModifier,o,{modifier:u}):(s(o,u,u,"override"),s(o,u,u,"static"),s(o,u,u,"readonly"),i.accessibility=u):wk(u)?(i[u]&&this.raise(vk.DuplicateModifier,o,{modifier:u}),i[u]=!0,s(o,u,"in","out")):(Object.hasOwn(i,u)?this.raise(vk.DuplicateModifier,o,{modifier:u}):(s(o,u,"static","readonly"),s(o,u,"static","override"),s(o,u,"override","readonly"),s(o,u,"abstract","override"),a(o,u,"declare","override"),a(o,u,"static","abstract")),i[u]=!0),t?.includes(u)&&this.raise(r,o,{modifier:u})}}tsIsListTerminator(e){switch(e){case"EnumMembers":case"TypeMembers":return this.match(8);case"HeritageClauseElement":return this.match(5);case"TupleElementTypes":return this.match(3);case"TypeParametersOrArguments":return this.match(48)}}tsParseList(e,t){const n=[];for(;!this.tsIsListTerminator(e);)n.push(t());return n}tsParseDelimitedList(e,t,n){return function(e){if(null==e)throw new Error(`Unexpected ${e} value.`);return e}(this.tsParseDelimitedListWorker(e,t,!0,n))}tsParseDelimitedListWorker(e,t,n,r){const i=[];let s=-1;for(;!this.tsIsListTerminator(e);){s=-1;const r=t();if(null==r)return;if(i.push(r),!this.eat(12)){if(this.tsIsListTerminator(e))break;return void(n&&this.expect(12))}s=this.state.lastTokStartLoc.index}return r&&(r.value=s),i}tsParseBracketedList(e,t,n,r,i){r||(n?this.expect(0):this.expect(47));const s=this.tsParseDelimitedList(e,t,i);return n?this.expect(3):this.expect(48),s}tsParseImportType(){const e=this.startNode();return this.expect(83),this.expect(10),this.match(134)?e.argument=this.tsParseLiteralTypeNode():(this.raise(vk.UnsupportedImportTypeArgument,this.state.startLoc),e.argument=this.tsParseNonConditionalType()),this.eat(12)?e.options=this.tsParseImportTypeOptions():e.options=null,this.expect(11),this.eat(16)&&(e.qualifier=this.tsParseEntityName(3)),this.match(47)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,"TSImportType")}tsParseImportTypeOptions(){const e=this.startNode();this.expect(5);const t=this.startNode();return this.isContextual(76)?(t.method=!1,t.key=this.parseIdentifier(!0),t.computed=!1,t.shorthand=!1):this.unexpected(null,76),this.expect(14),t.value=this.tsParseImportTypeWithPropertyValue(),e.properties=[this.finishObjectProperty(t)],this.eat(12),this.expect(8),this.finishNode(e,"ObjectExpression")}tsParseImportTypeWithPropertyValue(){const e=this.startNode(),t=[];for(this.expect(5);!this.match(8);){const e=this.state.type;tC(e)||134===e?t.push(super.parsePropertyDefinition(null)):this.unexpected(),this.eat(12)}return e.properties=t,this.next(),this.finishNode(e,"ObjectExpression")}tsParseEntityName(e){let t;if(1&e&&this.match(78))if(2&e)t=this.parseIdentifier(!0);else{const e=this.startNode();this.next(),t=this.finishNode(e,"ThisExpression")}else t=this.parseIdentifier(!!(1&e));for(;this.eat(16);){const n=this.startNodeAtNode(t);n.left=t,n.right=this.parseIdentifier(!!(1&e)),t=this.finishNode(n,"TSQualifiedName")}return t}tsParseTypeReference(){const e=this.startNode();return e.typeName=this.tsParseEntityName(1),!this.hasPrecedingLineBreak()&&this.match(47)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,"TSTypeReference")}tsParseThisTypePredicate(e){this.next();const t=this.startNodeAtNode(e);return t.parameterName=e,t.typeAnnotation=this.tsParseTypeAnnotation(!1),t.asserts=!1,this.finishNode(t,"TSTypePredicate")}tsParseThisTypeNode(){const e=this.startNode();return this.next(),this.finishNode(e,"TSThisType")}tsParseTypeQuery(){const e=this.startNode();return this.expect(87),this.match(83)?e.exprName=this.tsParseImportType():e.exprName=this.tsParseEntityName(1),!this.hasPrecedingLineBreak()&&this.match(47)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,"TSTypeQuery")}tsParseTypeParameter(e){const t=this.startNode();return e(t),t.name=this.tsParseTypeParameterName(),t.constraint=this.tsEatThenParseType(81),t.default=this.tsEatThenParseType(29),this.finishNode(t,"TSTypeParameter")}tsTryParseTypeParameters(e){if(this.match(47))return this.tsParseTypeParameters(e)}tsParseTypeParameters(e){const t=this.startNode();this.match(47)||this.match(143)?this.next():this.unexpected();const n={value:-1};return t.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this,e),!1,!0,n),0===t.params.length&&this.raise(vk.EmptyTypeParameters,t),-1!==n.value&&this.addExtra(t,"trailingComma",n.value),this.finishNode(t,"TSTypeParameterDeclaration")}tsFillSignature(e,t){const n=19===e,r="returnType";t.typeParameters=this.tsTryParseTypeParameters(this.tsParseConstModifier),this.expect(10),t.params=this.tsParseBindingListForSignature(),(n||this.match(e))&&(t[r]=this.tsParseTypeOrTypePredicateAnnotation(e))}tsParseBindingListForSignature(){const e=super.parseBindingList(11,41,2);for(const t of e){const{type:e}=t;"AssignmentPattern"!==e&&"TSParameterProperty"!==e||this.raise(vk.UnsupportedSignatureParameterKind,t,{type:e})}return e}tsParseTypeMemberSemicolon(){this.eat(12)||this.isLineTerminator()||this.expect(13)}tsParseSignatureMember(e,t){return this.tsFillSignature(14,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,e)}tsIsUnambiguouslyIndexSignature(){return this.next(),!!tC(this.state.type)&&(this.next(),this.match(14))}tsTryParseIndexSignature(e){if(!this.match(0)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(0);const t=this.parseIdentifier();t.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(t),this.expect(3),e.parameters=[t];const n=this.tsTryParseTypeAnnotation();return n&&(e.typeAnnotation=n),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSIndexSignature")}tsParsePropertyOrMethodSignature(e,t){if(this.eat(17)&&(e.optional=!0),this.match(10)||this.match(47)){t&&this.raise(vk.ReadonlyForMethodSignature,e);const n=e;n.kind&&this.match(47)&&this.raise(vk.AccessorCannotHaveTypeParameters,this.state.curPosition()),this.tsFillSignature(14,n),this.tsParseTypeMemberSemicolon();const r="params",i="returnType";if("get"===n.kind)n[r].length>0&&(this.raise(_w.BadGetterArity,this.state.curPosition()),this.isThisParam(n[r][0])&&this.raise(vk.AccessorCannotDeclareThisParameter,this.state.curPosition()));else if("set"===n.kind){if(1!==n[r].length)this.raise(_w.BadSetterArity,this.state.curPosition());else{const e=n[r][0];this.isThisParam(e)&&this.raise(vk.AccessorCannotDeclareThisParameter,this.state.curPosition()),"Identifier"===e.type&&e.optional&&this.raise(vk.SetAccessorCannotHaveOptionalParameter,this.state.curPosition()),"RestElement"===e.type&&this.raise(vk.SetAccessorCannotHaveRestParameter,this.state.curPosition())}n[i]&&this.raise(vk.SetAccessorCannotHaveReturnType,n[i])}else n.kind="method";return this.finishNode(n,"TSMethodSignature")}{const n=e;t&&(n.readonly=!0);const r=this.tsTryParseTypeAnnotation();return r&&(n.typeAnnotation=r),this.tsParseTypeMemberSemicolon(),this.finishNode(n,"TSPropertySignature")}}tsParseTypeMember(){const e=this.startNode();if(this.match(10)||this.match(47))return this.tsParseSignatureMember("TSCallSignatureDeclaration",e);if(this.match(77)){const t=this.startNode();return this.next(),this.match(10)||this.match(47)?this.tsParseSignatureMember("TSConstructSignatureDeclaration",e):(e.key=this.createIdentifier(t,"new"),this.tsParsePropertyOrMethodSignature(e,!1))}this.tsParseModifiers({allowedModifiers:["readonly"],disallowedModifiers:["declare","abstract","private","protected","public","static","override"]},e);const t=this.tsTryParseIndexSignature(e);return t||(super.parsePropertyName(e),e.computed||"Identifier"!==e.key.type||"get"!==e.key.name&&"set"!==e.key.name||!this.tsTokenCanFollowModifier()||(e.kind=e.key.name,super.parsePropertyName(e),this.match(10)||this.match(47)||this.unexpected(null,10)),this.tsParsePropertyOrMethodSignature(e,!!e.readonly))}tsParseTypeLiteral(){const e=this.startNode();return e.members=this.tsParseObjectTypeMembers(),this.finishNode(e,"TSTypeLiteral")}tsParseObjectTypeMembers(){this.expect(5);const e=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(8),e}tsIsStartOfMappedType(){return this.next(),this.eat(53)?this.isContextual(122):(this.isContextual(122)&&this.next(),!!this.match(0)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(58))))}tsParseMappedType(){const e=this.startNode();return this.expect(5),this.match(53)?(e.readonly=this.state.value,this.next(),this.expectContextual(122)):this.eatContextual(122)&&(e.readonly=!0),this.expect(0),e.key=this.tsParseTypeParameterName(),e.constraint=this.tsExpectThenParseType(58),e.nameType=this.eatContextual(93)?this.tsParseType():null,this.expect(3),this.match(53)?(e.optional=this.state.value,this.next(),this.expect(17)):this.eat(17)&&(e.optional=!0),e.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(8),this.finishNode(e,"TSMappedType")}tsParseTupleType(){const e=this.startNode();e.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let t=!1;return e.elementTypes.forEach(e=>{const{type:n}=e;!t||"TSRestType"===n||"TSOptionalType"===n||"TSNamedTupleMember"===n&&e.optional||this.raise(vk.OptionalTypeBeforeRequired,e),t||(t="TSNamedTupleMember"===n&&e.optional||"TSOptionalType"===n)}),this.finishNode(e,"TSTupleType")}tsParseTupleElementType(){const e=this.state.startLoc,t=this.eat(21),{startLoc:n}=this.state;let r,i,s,a;const o=nC(this.state.type)?this.lookaheadCharCode():null;if(58===o)r=!0,s=!1,i=this.parseIdentifier(!0),this.expect(14),a=this.tsParseType();else if(63===o){s=!0;const e=this.state.value,t=this.tsParseNonArrayType();58===this.lookaheadCharCode()?(r=!0,i=this.createIdentifier(this.startNodeAt(n),e),this.expect(17),this.expect(14),a=this.tsParseType()):(r=!1,a=t,this.expect(17))}else a=this.tsParseType(),s=this.eat(17),r=this.eat(14);if(r){let e;i?(e=this.startNodeAt(n),e.optional=s,e.label=i,e.elementType=a,this.eat(17)&&(e.optional=!0,this.raise(vk.TupleOptionalAfterType,this.state.lastTokStartLoc))):(e=this.startNodeAt(n),e.optional=s,this.raise(vk.InvalidTupleMemberLabel,a),e.label=a,e.elementType=this.tsParseType()),a=this.finishNode(e,"TSNamedTupleMember")}else if(s){const e=this.startNodeAt(n);e.typeAnnotation=a,a=this.finishNode(e,"TSOptionalType")}if(t){const t=this.startNodeAt(e);t.typeAnnotation=a,a=this.finishNode(t,"TSRestType")}return a}tsParseParenthesizedType(){const e=this.startNode();return this.expect(10),e.typeAnnotation=this.tsParseType(),this.expect(11),this.finishNode(e,"TSParenthesizedType")}tsParseFunctionOrConstructorType(e,t){const n=this.startNode();return"TSConstructorType"===e&&(n.abstract=!!t,t&&this.next(),this.next()),this.tsInAllowConditionalTypesContext(()=>this.tsFillSignature(19,n)),this.finishNode(n,e)}tsParseLiteralTypeNode(){const e=this.startNode();switch(this.state.type){case 135:case 136:case 134:case 85:case 86:e.literal=super.parseExprAtom();break;default:this.unexpected()}return this.finishNode(e,"TSLiteralType")}tsParseTemplateLiteralType(){{const e=this.state.startLoc;let t=this.parseTemplateElement(!1);const n=[t];if(t.tail){const t=this.startNodeAt(e),r=this.startNodeAt(e);return r.expressions=[],r.quasis=n,t.literal=this.finishNode(r,"TemplateLiteral"),this.finishNode(t,"TSLiteralType")}{const r=[];for(;!t.tail;)r.push(this.tsParseType()),this.readTemplateContinuation(),n.push(t=this.parseTemplateElement(!1));const i=this.startNodeAt(e);return i.types=r,i.quasis=n,this.finishNode(i,"TSTemplateLiteralType")}}}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){const e=this.tsParseThisTypeNode();return this.isContextual(116)&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(e):e}tsParseNonArrayType(){switch(this.state.type){case 134:case 135:case 136:case 85:case 86:return this.tsParseLiteralTypeNode();case 53:if("-"===this.state.value){const e=this.startNode(),t=this.lookahead();return 135!==t.type&&136!==t.type&&this.unexpected(),e.literal=this.parseMaybeUnary(),this.finishNode(e,"TSLiteralType")}break;case 78:return this.tsParseThisTypeOrThisTypePredicate();case 87:return this.tsParseTypeQuery();case 83:return this.tsParseImportType();case 5:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case 0:return this.tsParseTupleType();case 10:if(!(1024&this.optionFlags)){const e=this.state.startLoc;this.next();const t=this.tsParseType();return this.expect(11),this.addExtra(t,"parenthesized",!0),this.addExtra(t,"parenStart",e.index),t}return this.tsParseParenthesizedType();case 25:case 24:return this.tsParseTemplateLiteralType();default:{const{type:e}=this.state;if(tC(e)||88===e||84===e){const t=88===e?"TSVoidKeyword":84===e?"TSNullKeyword":function(e){switch(e){case"any":return"TSAnyKeyword";case"boolean":return"TSBooleanKeyword";case"bigint":return"TSBigIntKeyword";case"never":return"TSNeverKeyword";case"number":return"TSNumberKeyword";case"object":return"TSObjectKeyword";case"string":return"TSStringKeyword";case"symbol":return"TSSymbolKeyword";case"undefined":return"TSUndefinedKeyword";case"unknown":return"TSUnknownKeyword";default:return}}(this.state.value);if(void 0!==t&&46!==this.lookaheadCharCode()){const e=this.startNode();return this.next(),this.finishNode(e,t)}return this.tsParseTypeReference()}}}this.unexpected()}tsParseArrayTypeOrHigher(){const{startLoc:e}=this.state;let t=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(0);)if(this.match(3)){const n=this.startNodeAt(e);n.elementType=t,this.expect(3),t=this.finishNode(n,"TSArrayType")}else{const n=this.startNodeAt(e);n.objectType=t,n.indexType=this.tsParseType(),this.expect(3),t=this.finishNode(n,"TSIndexedAccessType")}return t}tsParseTypeOperator(){const e=this.startNode(),t=this.state.value;return this.next(),e.operator=t,e.typeAnnotation=this.tsParseTypeOperatorOrHigher(),"readonly"===t&&this.tsCheckTypeAnnotationForReadOnly(e),this.finishNode(e,"TSTypeOperator")}tsCheckTypeAnnotationForReadOnly(e){switch(e.typeAnnotation.type){case"TSTupleType":case"TSArrayType":return;default:this.raise(vk.UnexpectedReadonly,e)}}tsParseInferType(){const e=this.startNode();this.expectContextual(115);const t=this.startNode();return t.name=this.tsParseTypeParameterName(),t.constraint=this.tsTryParse(()=>this.tsParseConstraintForInferType()),e.typeParameter=this.finishNode(t,"TSTypeParameter"),this.finishNode(e,"TSInferType")}tsParseConstraintForInferType(){if(this.eat(81)){const e=this.tsInDisallowConditionalTypesContext(()=>this.tsParseType());if(this.state.inDisallowConditionalTypesContext||!this.match(17))return e}}tsParseTypeOperatorOrHigher(){var e;return(e=this.state.type)>=121&&e<=123&&!this.state.containsEsc?this.tsParseTypeOperator():this.isContextual(115)?this.tsParseInferType():this.tsInAllowConditionalTypesContext(()=>this.tsParseArrayTypeOrHigher())}tsParseUnionOrIntersectionType(e,t,n){const r=this.startNode(),i=this.eat(n),s=[];do{s.push(t())}while(this.eat(n));return 1!==s.length||i?(r.types=s,this.finishNode(r,e)):s[0]}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),45)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),43)}tsIsStartOfFunctionType(){return!!this.match(47)||this.match(10)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(tC(this.state.type)||this.match(78))return this.next(),!0;if(this.match(5)){const{errors:e}=this.state,t=e.length;try{return this.parseObjectLike(8,!0),e.length===t}catch{return!1}}if(this.match(0)){this.next();const{errors:e}=this.state,t=e.length;try{return super.parseBindingList(3,93,1),e.length===t}catch{return!1}}return!1}tsIsUnambiguouslyStartOfFunctionType(){if(this.next(),this.match(11)||this.match(21))return!0;if(this.tsSkipParameterStart()){if(this.match(14)||this.match(12)||this.match(17)||this.match(29))return!0;if(this.match(11)&&(this.next(),this.match(19)))return!0}return!1}tsParseTypeOrTypePredicateAnnotation(e){return this.tsInType(()=>{const t=this.startNode();this.expect(e);const n=this.startNode(),r=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(r&&this.match(78)){let e=this.tsParseThisTypeOrThisTypePredicate();return"TSThisType"===e.type?(n.parameterName=e,n.asserts=!0,n.typeAnnotation=null,e=this.finishNode(n,"TSTypePredicate")):(this.resetStartLocationFromNode(e,n),e.asserts=!0),t.typeAnnotation=e,this.finishNode(t,"TSTypeAnnotation")}const i=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!i)return r?(n.parameterName=this.parseIdentifier(),n.asserts=r,n.typeAnnotation=null,t.typeAnnotation=this.finishNode(n,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")):this.tsParseTypeAnnotation(!1,t);const s=this.tsParseTypeAnnotation(!1);return n.parameterName=i,n.typeAnnotation=s,n.asserts=r,t.typeAnnotation=this.finishNode(n,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")})}tsTryParseTypeOrTypePredicateAnnotation(){if(this.match(14))return this.tsParseTypeOrTypePredicateAnnotation(14)}tsTryParseTypeAnnotation(){if(this.match(14))return this.tsParseTypeAnnotation()}tsTryParseType(){return this.tsEatThenParseType(14)}tsParseTypePredicatePrefix(){const e=this.parseIdentifier();if(this.isContextual(116)&&!this.hasPrecedingLineBreak())return this.next(),e}tsParseTypePredicateAsserts(){if(109!==this.state.type)return!1;const e=this.state.containsEsc;return this.next(),!(!tC(this.state.type)&&!this.match(78))&&(e&&this.raise(_w.InvalidEscapedReservedWord,this.state.lastTokStartLoc,{reservedWord:"asserts"}),!0)}tsParseTypeAnnotation(e=!0,t=this.startNode()){return this.tsInType(()=>{e&&this.expect(14),t.typeAnnotation=this.tsParseType()}),this.finishNode(t,"TSTypeAnnotation")}tsParseType(){Pk(this.state.inType);const e=this.tsParseNonConditionalType();if(this.state.inDisallowConditionalTypesContext||this.hasPrecedingLineBreak()||!this.eat(81))return e;const t=this.startNodeAtNode(e);return t.checkType=e,t.extendsType=this.tsInDisallowConditionalTypesContext(()=>this.tsParseNonConditionalType()),this.expect(17),t.trueType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.expect(14),t.falseType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.finishNode(t,"TSConditionalType")}isAbstractConstructorSignature(){return this.isContextual(124)&&this.isLookaheadContextual("new")}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(77)?this.tsParseFunctionOrConstructorType("TSConstructorType"):this.isAbstractConstructorSignature()?this.tsParseFunctionOrConstructorType("TSConstructorType",!0):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){this.getPluginOption("typescript","disallowAmbiguousJSXLike")&&this.raise(vk.ReservedTypeAssertion,this.state.startLoc);const e=this.startNode();return e.typeAnnotation=this.tsInType(()=>(this.next(),this.match(75)?this.tsParseTypeReference():this.tsParseType())),this.expect(48),e.expression=this.parseMaybeUnary(),this.finishNode(e,"TSTypeAssertion")}tsParseHeritageClause(e){const t=this.state.startLoc,n=this.tsParseDelimitedList("HeritageClauseElement",()=>{{const t=super.parseExprSubscripts();Ck(t)||this.raise(vk.InvalidHeritageClauseType,t.loc.start,{token:e});const n="extends"===e?"TSInterfaceHeritage":"TSClassImplements";if("TSInstantiationExpression"===t.type)return t.type=n,t;const r=this.startNodeAtNode(t);return r.expression=t,(this.match(47)||this.match(51))&&(r.typeArguments=this.tsParseTypeArgumentsInExpression()),this.finishNode(r,n)}});return n.length||this.raise(vk.EmptyHeritageClauseType,t,{token:e}),n}tsParseInterfaceDeclaration(e,t={}){if(this.hasFollowingLineBreak())return null;this.expectContextual(129),t.declare&&(e.declare=!0),tC(this.state.type)?(e.id=this.parseIdentifier(),this.checkIdentifier(e.id,130)):(e.id=null,this.raise(vk.MissingInterfaceName,this.state.startLoc)),e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers),this.eat(81)&&(e.extends=this.tsParseHeritageClause("extends"));const n=this.startNode();return n.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),e.body=this.finishNode(n,"TSInterfaceBody"),this.finishNode(e,"TSInterfaceDeclaration")}tsParseTypeAliasDeclaration(e){return e.id=this.parseIdentifier(),this.checkIdentifier(e.id,2),e.typeAnnotation=this.tsInType(()=>{if(e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutModifiers),this.expect(29),this.isContextual(114)&&46!==this.lookaheadCharCode()){const e=this.startNode();return this.next(),this.finishNode(e,"TSIntrinsicKeyword")}return this.tsParseType()}),this.semicolon(),this.finishNode(e,"TSTypeAliasDeclaration")}tsInTopLevelContext(e){if(this.curContext()===Mw.brace)return e();{const t=this.state.context;this.state.context=[t[0]];try{return e()}finally{this.state.context=t}}}tsInType(e){const t=this.state.inType;this.state.inType=!0;try{return e()}finally{this.state.inType=t}}tsInDisallowConditionalTypesContext(e){const t=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!0;try{return e()}finally{this.state.inDisallowConditionalTypesContext=t}}tsInAllowConditionalTypesContext(e){const t=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!1;try{return e()}finally{this.state.inDisallowConditionalTypesContext=t}}tsEatThenParseType(e){if(this.match(e))return this.tsNextThenParseType()}tsExpectThenParseType(e){return this.tsInType(()=>(this.expect(e),this.tsParseType()))}tsNextThenParseType(){return this.tsInType(()=>(this.next(),this.tsParseType()))}tsParseEnumMember(){const e=this.startNode();return e.id=this.match(134)?super.parseStringLiteral(this.state.value):this.parseIdentifier(!0),this.eat(29)&&(e.initializer=super.parseMaybeAssignAllowIn()),this.finishNode(e,"TSEnumMember")}tsParseEnumDeclaration(e,t={}){return t.const&&(e.const=!0),t.declare&&(e.declare=!0),this.expectContextual(126),e.id=this.parseIdentifier(),this.checkIdentifier(e.id,e.const?8971:8459),e.body=this.tsParseEnumBody(),this.finishNode(e,"TSEnumDeclaration")}tsParseEnumBody(){const e=this.startNode();return this.expect(5),e.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(8),this.finishNode(e,"TSEnumBody")}tsParseModuleBlock(){const e=this.startNode();return this.scope.enter(0),this.expect(5),super.parseBlockOrModuleBlockBody(e.body=[],void 0,!0,8),this.scope.exit(),this.finishNode(e,"TSModuleBlock")}tsParseModuleOrNamespaceDeclaration(e,t=!1){return e.id=this.tsParseEntityName(1),"Identifier"===e.id.type&&this.checkIdentifier(e.id,1024),this.scope.enter(1024),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit(),this.finishNode(e,"TSModuleDeclaration")}tsParseAmbientExternalModuleDeclaration(e){return this.isContextual(112)?(e.kind="global",e.id=this.parseIdentifier()):this.match(134)?(e.kind="module",e.id=super.parseStringLiteral(this.state.value)):this.unexpected(),this.match(5)?(this.scope.enter(1024),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(e,"TSModuleDeclaration")}tsParseImportEqualsDeclaration(e,t,n){e.id=t||this.parseIdentifier(),this.checkIdentifier(e.id,4096),this.expect(29);const r=this.tsParseModuleReference();return"type"===e.importKind&&"TSExternalModuleReference"!==r.type&&this.raise(vk.ImportAliasHasImportType,r),e.moduleReference=r,this.semicolon(),this.finishNode(e,"TSImportEqualsDeclaration")}tsIsExternalModuleReference(){return this.isContextual(119)&&40===this.lookaheadCharCode()}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(0)}tsParseExternalModuleReference(){const e=this.startNode();return this.expectContextual(119),this.expect(10),this.match(134)||this.unexpected(),e.expression=super.parseExprAtom(),this.expect(11),this.sawUnambiguousESM=!0,this.finishNode(e,"TSExternalModuleReference")}tsLookAhead(e){const t=this.state.clone(),n=e();return this.state=t,n}tsTryParseAndCatch(e){const t=this.tryParse(t=>e()||t());if(!t.aborted&&t.node)return t.error&&(this.state=t.failState),t.node}tsTryParse(e){const t=this.state.clone(),n=e();if(void 0!==n&&!1!==n)return n;this.state=t}tsTryParseDeclare(e){if(this.isLineTerminator())return;const t=this.state.type;return this.tsInAmbientContext(()=>{switch(t){case 68:return e.declare=!0,super.parseFunctionStatement(e,!1,!1);case 80:return e.declare=!0,this.parseClass(e,!0,!1);case 126:return this.tsParseEnumDeclaration(e,{declare:!0});case 112:return this.tsParseAmbientExternalModuleDeclaration(e);case 100:if(this.state.containsEsc)return;case 75:case 74:return this.match(75)&&this.isLookaheadContextual("enum")?(this.expect(75),this.tsParseEnumDeclaration(e,{const:!0,declare:!0})):(e.declare=!0,this.parseVarStatement(e,this.state.value,!0));case 107:if(this.isUsing())return this.raise(vk.InvalidModifierOnUsingDeclaration,this.state.startLoc,"declare"),e.declare=!0,this.parseVarStatement(e,"using",!0);break;case 96:if(this.isAwaitUsing())return this.raise(vk.InvalidModifierOnAwaitUsingDeclaration,this.state.startLoc,"declare"),e.declare=!0,this.next(),this.parseVarStatement(e,"await using",!0);break;case 129:{const t=this.tsParseInterfaceDeclaration(e,{declare:!0});if(t)return t}default:if(tC(t))return this.tsParseDeclaration(e,this.state.value,!0,null)}})}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0,null)}tsParseExpressionStatement(e,t,n){switch(t.name){case"declare":{const t=this.tsTryParseDeclare(e);return t&&(t.declare=!0),t}case"global":if(this.match(5)){this.scope.enter(1024),this.prodParam.enter(0);const n=e;return n.kind="global",n.id=t,n.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(n,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(e,t.name,!1,n)}}tsParseDeclaration(e,t,n,r){switch(t){case"abstract":if(this.tsCheckLineTerminator(n)&&(this.match(80)||tC(this.state.type)))return this.tsParseAbstractDeclaration(e,r);break;case"module":if(this.tsCheckLineTerminator(n)){if(this.match(134))return this.tsParseAmbientExternalModuleDeclaration(e);if(tC(this.state.type))return e.kind="module",this.tsParseModuleOrNamespaceDeclaration(e)}break;case"namespace":if(this.tsCheckLineTerminator(n)&&tC(this.state.type))return e.kind="namespace",this.tsParseModuleOrNamespaceDeclaration(e);break;case"type":if(this.tsCheckLineTerminator(n)&&tC(this.state.type))return this.tsParseTypeAliasDeclaration(e)}}tsCheckLineTerminator(e){return e?!this.hasFollowingLineBreak()&&(this.next(),!0):!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(e){if(!this.match(47))return;const t=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;const n=this.tsTryParseAndCatch(()=>{const t=this.startNodeAt(e);return t.typeParameters=this.tsParseTypeParameters(this.tsParseConstModifier),super.parseFunctionParams(t),t.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(19),t});return this.state.maybeInArrowParameters=t,n?super.parseArrowExpression(n,null,!0):void 0}tsParseTypeArgumentsInExpression(){if(47===this.reScan_lt())return this.tsParseTypeArguments()}tsParseTypeArguments(){const e=this.startNode();return e.params=this.tsInType(()=>this.tsInTopLevelContext(()=>(this.expect(47),this.tsParseDelimitedList("TypeParametersOrArguments",this.tsParseType.bind(this))))),0===e.params.length?this.raise(vk.EmptyTypeArguments,e):this.state.inType||this.curContext()!==Mw.brace||this.reScan_lt_gt(),this.expect(48),this.finishNode(e,"TSTypeParameterInstantiation")}tsIsDeclarationStart(){return(e=this.state.type)>=124&&e<=130;var e}isExportDefaultSpecifier(){return!this.tsIsDeclarationStart()&&super.isExportDefaultSpecifier()}parseBindingElement(e,t){const n=t.length?t[0].loc.start:this.state.startLoc,r={};this.tsParseModifiers({allowedModifiers:["public","private","protected","override","readonly"]},r);const i=r.accessibility,s=r.override,a=r.readonly;4&e||!(i||a||s)||this.raise(vk.UnexpectedParameterModifier,n);const o=this.parseMaybeDefault();2&e&&this.parseFunctionParamType(o);const u=this.parseMaybeDefault(o.loc.start,o);if(i||a||s){const e=this.startNodeAt(n);return t.length&&(e.decorators=t),i&&(e.accessibility=i),a&&(e.readonly=a),s&&(e.override=s),"Identifier"!==u.type&&"AssignmentPattern"!==u.type&&this.raise(vk.UnsupportedParameterPropertyKind,e),e.parameter=u,this.finishNode(e,"TSParameterProperty")}return t.length&&(o.decorators=t),u}isSimpleParameter(e){return"TSParameterProperty"===e.type&&super.isSimpleParameter(e.parameter)||super.isSimpleParameter(e)}tsDisallowOptionalPattern(e){for(const t of e.params)"Identifier"!==t.type&&t.optional&&!this.state.isAmbientContext&&this.raise(vk.PatternIsOptional,t)}setArrowFunctionParameters(e,t,n){super.setArrowFunctionParameters(e,t,n),this.tsDisallowOptionalPattern(e)}parseFunctionBodyAndFinish(e,t,n=!1){this.match(14)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(14));const r="FunctionDeclaration"===t?"TSDeclareFunction":"ClassMethod"===t||"ClassPrivateMethod"===t?"TSDeclareMethod":void 0;return r&&!this.match(5)&&this.isLineTerminator()?this.finishNode(e,r):"TSDeclareFunction"===r&&this.state.isAmbientContext&&(this.raise(vk.DeclareFunctionHasImplementation,e),e.declare)?super.parseFunctionBodyAndFinish(e,r,n):(this.tsDisallowOptionalPattern(e),super.parseFunctionBodyAndFinish(e,t,n))}registerFunctionStatementId(e){!e.body&&e.id?this.checkIdentifier(e.id,1024):super.registerFunctionStatementId(e)}tsCheckForInvalidTypeCasts(e){e.forEach(e=>{"TSTypeCastExpression"===e?.type&&this.raise(vk.UnexpectedTypeAnnotation,e.typeAnnotation)})}toReferencedList(e,t){return this.tsCheckForInvalidTypeCasts(e),e}parseArrayLike(e,t,n,r){const i=super.parseArrayLike(e,t,n,r);return"ArrayExpression"===i.type&&this.tsCheckForInvalidTypeCasts(i.elements),i}parseSubscript(e,t,n,r){if(!this.hasPrecedingLineBreak()&&this.match(35)){this.state.canStartJSXElement=!1,this.next();const n=this.startNodeAt(t);return n.expression=e,this.finishNode(n,"TSNonNullExpression")}let i=!1;if(this.match(18)&&60===this.lookaheadCharCode()){if(n)return r.stop=!0,e;r.optionalChainMember=i=!0,this.next()}if(this.match(47)||this.match(51)){let s;const a=this.tsTryParseAndCatch(()=>{if(!n&&this.atPossibleAsyncArrow(e)){const e=this.tsTryParseGenericAsyncArrowFunction(t);if(e)return r.stop=!0,e}const a=this.tsParseTypeArgumentsInExpression();if(!a)return;if(i&&!this.match(10))return void(s=this.state.curPosition());if(uC(this.state.type)){const n=super.parseTaggedTemplateExpression(e,t,r);return n.typeArguments=a,n}if(!n&&this.eat(10)){const n=this.startNodeAt(t);return n.callee=e,n.arguments=this.parseCallExpressionArguments(),this.tsCheckForInvalidTypeCasts(n.arguments),n.typeArguments=a,r.optionalChainMember&&(n.optional=i),this.finishCallExpression(n,r.optionalChainMember)}const o=this.state.type;if(48===o||52===o||10!==o&&rC(o)&&!this.hasPrecedingLineBreak())return;const u=this.startNodeAt(t);return u.expression=e,u.typeArguments=a,this.finishNode(u,"TSInstantiationExpression")});if(s&&this.unexpected(s,10),a)return"TSInstantiationExpression"===a.type&&((this.match(16)||this.match(18)&&40!==this.lookaheadCharCode())&&this.raise(vk.InvalidPropertyAccessAfterInstantiationExpression,this.state.startLoc),this.match(16)||this.match(18)||(a.expression=super.stopParseSubscript(e,r))),a}return super.parseSubscript(e,t,n,r)}parseNewCallee(e){super.parseNewCallee(e);const{callee:t}=e;"TSInstantiationExpression"!==t.type||t.extra?.parenthesized||(e.typeArguments=t.typeArguments,e.callee=t.expression)}parseExprOp(e,t,n){let r;if(oC(58)>n&&!this.hasPrecedingLineBreak()&&(this.isContextual(93)||(r=this.isContextual(120)))){const i=this.startNodeAt(t);return i.expression=e,i.typeAnnotation=this.tsInType(()=>(this.next(),this.match(75)?(r&&this.raise(_w.UnexpectedKeyword,this.state.startLoc,{keyword:"const"}),this.tsParseTypeReference()):this.tsParseType())),this.finishNode(i,r?"TSSatisfiesExpression":"TSAsExpression"),this.reScan_lt_gt(),this.parseExprOp(i,t,n)}return super.parseExprOp(e,t,n)}checkReservedWord(e,t,n,r){this.state.isAmbientContext||super.checkReservedWord(e,t,n,r)}checkImportReflection(e){super.checkImportReflection(e),e.module&&"value"!==e.importKind&&this.raise(vk.ImportReflectionHasImportType,e.specifiers[0].loc.start)}checkDuplicateExports(){}isPotentialImportPhase(e){if(super.isPotentialImportPhase(e))return!0;if(this.isContextual(130)){const t=this.lookaheadCharCode();return e?123===t||42===t:61!==t}return!e&&this.isContextual(87)}applyImportPhase(e,t,n,r){super.applyImportPhase(e,t,n,r),t?e.exportKind="type"===n?"type":"value":e.importKind="type"===n||"typeof"===n?n:"value"}parseImport(e){if(this.match(134))return e.importKind="value",super.parseImport(e);let t;if(tC(this.state.type)&&61===this.lookaheadCharCode())return e.importKind="value",this.tsParseImportEqualsDeclaration(e);if(this.isContextual(130)){const n=this.parseMaybeImportPhase(e,!1);if(61===this.lookaheadCharCode())return this.tsParseImportEqualsDeclaration(e,n);t=super.parseImportSpecifiersAndAfter(e,n)}else t=super.parseImport(e);return"type"===t.importKind&&t.specifiers.length>1&&"ImportDefaultSpecifier"===t.specifiers[0].type&&this.raise(vk.TypeImportCannotSpecifyDefaultAndNamed,t),t}parseExport(e,t){if(this.match(83)){const t=this.startNode();this.next();let n=null;this.isContextual(130)&&this.isPotentialImportPhase(!1)?n=this.parseMaybeImportPhase(t,!1):t.importKind="value";const r=this.tsParseImportEqualsDeclaration(t,n,!0);return e.attributes=[],e.declaration=r,e.exportKind="value",e.source=null,e.specifiers=[],this.finishNode(e,"ExportNamedDeclaration")}if(this.eat(29)){const t=e;return t.expression=super.parseExpression(),this.semicolon(),this.sawUnambiguousESM=!0,this.finishNode(t,"TSExportAssignment")}if(this.eatContextual(93)){const t=e;return this.expectContextual(128),t.id=this.parseIdentifier(),this.semicolon(),this.finishNode(t,"TSNamespaceExportDeclaration")}return super.parseExport(e,t)}isAbstractClass(){return this.isContextual(124)&&this.isLookaheadContextual("class")}parseExportDefaultExpression(){if(this.isAbstractClass()){const e=this.startNode();return this.next(),e.abstract=!0,this.parseClass(e,!0,!0)}if(this.match(129)){const e=this.tsParseInterfaceDeclaration(this.startNode());if(e)return e}return super.parseExportDefaultExpression()}parseVarStatement(e,t,n=!1){const{isAmbientContext:r}=this.state,i=super.parseVarStatement(e,t,n||r);if(!r)return i;if(!e.declare&&("using"===t||"await using"===t))return this.raiseOverwrite(vk.UsingDeclarationInAmbientContext,e,t),i;for(const{id:e,init:n}of i.declarations)n&&("var"===t||"let"===t||e.typeAnnotation?this.raise(vk.InitializerNotAllowedInAmbientContext,n):Ik(n,this.hasPlugin("estree"))||this.raise(vk.ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference,n));return i}parseStatementContent(e,t){if(this.match(75)&&this.isLookaheadContextual("enum")){const e=this.startNode();return this.expect(75),this.tsParseEnumDeclaration(e,{const:!0})}if(this.isContextual(126))return this.tsParseEnumDeclaration(this.startNode());if(this.isContextual(129)){const e=this.tsParseInterfaceDeclaration(this.startNode());if(e)return e}return super.parseStatementContent(e,t)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}tsHasSomeModifiers(e,t){return t.some(t=>Ak(t)?e.accessibility===t:!!e[t])}tsIsStartOfStaticBlocks(){return this.isContextual(106)&&123===this.lookaheadCharCode()}parseClassMember(e,t,n){const r=["declare","private","public","protected","override","abstract","readonly","static"];this.tsParseModifiers({allowedModifiers:r,disallowedModifiers:["in","out"],stopOnStartOfClassStaticBlock:!0,errorTemplate:vk.InvalidModifierOnTypeParameterPositions},t);const i=()=>{this.tsIsStartOfStaticBlocks()?(this.next(),this.next(),this.tsHasSomeModifiers(t,r)&&this.raise(vk.StaticBlockCannotHaveModifier,this.state.curPosition()),super.parseClassStaticBlock(e,t)):this.parseClassMemberWithIsStatic(e,t,n,!!t.static)};t.declare?this.tsInAmbientContext(i):i()}parseClassMemberWithIsStatic(e,t,n,r){const i=this.tsTryParseIndexSignature(t);if(i)return e.body.push(i),t.abstract&&this.raise(vk.IndexSignatureHasAbstract,t),t.accessibility&&this.raise(vk.IndexSignatureHasAccessibility,t,{modifier:t.accessibility}),t.declare&&this.raise(vk.IndexSignatureHasDeclare,t),void(t.override&&this.raise(vk.IndexSignatureHasOverride,t));!this.state.inAbstractClass&&t.abstract&&this.raise(vk.NonAbstractClassHasAbstractMethod,t),t.override&&(n.hadSuperClass||this.raise(vk.OverrideNotInSubClass,t)),super.parseClassMemberWithIsStatic(e,t,n,r)}parsePostMemberNameModifiers(e){this.eat(17)&&(e.optional=!0),e.readonly&&this.match(10)&&this.raise(vk.ClassMethodHasReadonly,e),e.declare&&this.match(10)&&this.raise(vk.ClassMethodHasDeclare,e)}parseExpressionStatement(e,t,n){return("Identifier"===t.type?this.tsParseExpressionStatement(e,t,n):void 0)||super.parseExpressionStatement(e,t,n)}shouldParseExportDeclaration(){return!!this.tsIsDeclarationStart()||super.shouldParseExportDeclaration()}parseConditional(e,t,n){if(!this.match(17))return e;if(this.state.maybeInArrowParameters){const t=this.lookaheadCharCode();if(44===t||61===t||58===t||41===t)return this.setOptionalParametersError(n),e}return super.parseConditional(e,t,n)}parseParenItem(e,t){const n=super.parseParenItem(e,t);if(this.eat(17)&&(n.optional=!0,this.resetEndLocation(e)),this.match(14)){const n=this.startNodeAt(t);return n.expression=e,n.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(n,"TSTypeCastExpression")}return e}parseExportDeclaration(e){if(!this.state.isAmbientContext&&this.isContextual(125))return this.tsInAmbientContext(()=>this.parseExportDeclaration(e));const t=this.state.startLoc,n=this.eatContextual(125);if(n&&(this.isContextual(125)||!this.shouldParseExportDeclaration()))throw this.raise(vk.ExpectedAmbientAfterExportDeclare,this.state.startLoc);const r=tC(this.state.type)&&this.tsTryParseExportDeclaration()||super.parseExportDeclaration(e);return r?(("TSInterfaceDeclaration"===r.type||"TSTypeAliasDeclaration"===r.type||n)&&(e.exportKind="type"),n&&"TSImportEqualsDeclaration"!==r.type&&(this.resetStartLocation(r,t),r.declare=!0),r):null}parseClassId(e,t,n,r){if((!t||n)&&this.isContextual(113))return;super.parseClassId(e,t,n,e.declare?1024:8331);const i=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);i&&(e.typeParameters=i)}parseClassPropertyAnnotation(e){e.optional||(this.eat(35)?e.definite=!0:this.eat(17)&&(e.optional=!0));const t=this.tsTryParseTypeAnnotation();t&&(e.typeAnnotation=t)}parseClassProperty(e){if(this.parseClassPropertyAnnotation(e),this.state.isAmbientContext&&(!e.readonly||e.typeAnnotation)&&this.match(29)&&this.raise(vk.DeclareClassFieldHasInitializer,this.state.startLoc),e.abstract&&this.match(29)){const{key:t}=e;this.raise(vk.AbstractPropertyHasInitializer,this.state.startLoc,{propertyName:"Identifier"!==t.type||e.computed?`[${this.input.slice(this.offsetToSourcePos(t.start),this.offsetToSourcePos(t.end))}]`:t.name})}return super.parseClassProperty(e)}parseClassPrivateProperty(e){return e.abstract&&this.raise(vk.PrivateElementHasAbstract,e),e.accessibility&&this.raise(vk.PrivateElementHasAccessibility,e,{modifier:e.accessibility}),this.parseClassPropertyAnnotation(e),super.parseClassPrivateProperty(e)}parseClassAccessorProperty(e){return this.parseClassPropertyAnnotation(e),e.optional&&this.raise(vk.AccessorCannotBeOptional,e),super.parseClassAccessorProperty(e)}pushClassMethod(e,t,n,r,i,s){const a=this.tsTryParseTypeParameters(this.tsParseConstModifier);a&&i&&this.raise(vk.ConstructorHasTypeParameters,a);const{declare:o=!1,kind:u}=t;!o||"get"!==u&&"set"!==u||this.raise(vk.DeclareAccessor,t,{kind:u}),a&&(t.typeParameters=a),super.pushClassMethod(e,t,n,r,i,s)}pushClassPrivateMethod(e,t,n,r){const i=this.tsTryParseTypeParameters(this.tsParseConstModifier);i&&(t.typeParameters=i),super.pushClassPrivateMethod(e,t,n,r)}declareClassPrivateMethodInScope(e,t){"TSDeclareMethod"!==e.type&&("MethodDefinition"===e.type&&null==e.value.body||super.declareClassPrivateMethodInScope(e,t))}parseClassSuper(e){super.parseClassSuper(e),e.superClass&&(this.match(47)||this.match(51))&&(e.superTypeArguments=this.tsParseTypeArgumentsInExpression()),this.eatContextual(113)&&(e.implements=this.tsParseHeritageClause("implements"))}parseObjPropValue(e,t,n,r,i,s,a){const o=this.tsTryParseTypeParameters(this.tsParseConstModifier);return o&&(e.typeParameters=o),super.parseObjPropValue(e,t,n,r,i,s,a)}parseFunctionParams(e,t){const n=this.tsTryParseTypeParameters(this.tsParseConstModifier);n&&(e.typeParameters=n),super.parseFunctionParams(e,t)}parseVarId(e,t){super.parseVarId(e,t),"Identifier"===e.id.type&&!this.hasPrecedingLineBreak()&&this.eat(35)&&(e.definite=!0);const n=this.tsTryParseTypeAnnotation();n&&(e.id.typeAnnotation=n,this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,t){return this.match(14)&&(e.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(e,t)}parseMaybeAssign(e,t){let n,r,i,s;if(this.hasPlugin("jsx")&&(this.match(143)||this.match(47))){if(n=this.state.clone(),r=this.tryParse(()=>super.parseMaybeAssign(e,t),n),!r.error)return r.node;const{context:i}=this.state,s=i[i.length-1];s!==Mw.j_oTag&&s!==Mw.j_expr||i.pop()}if(!r?.error&&!this.match(47))return super.parseMaybeAssign(e,t);n&&n!==this.state||(n=this.state.clone());const a=this.tryParse(n=>{s=this.tsParseTypeParameters(this.tsParseConstModifier);const r=super.parseMaybeAssign(e,t);if(("ArrowFunctionExpression"!==r.type||r.extra?.parenthesized)&&n(),0!==s?.params.length&&this.resetStartLocationFromNode(r,s),r.typeParameters=s,this.hasPlugin("jsx")&&1===r.typeParameters.params.length&&!r.typeParameters.extra?.trailingComma){const e=r.typeParameters.params[0];e.constraint||this.raise(vk.SingleTypeParameterWithoutTrailingComma,gw(e.loc.end,1),{typeParameterName:e.name.name})}return r},n);if(!a.error&&!a.aborted)return s&&this.reportReservedArrowTypeParam(s),a.node;if(!r&&(Pk(!this.hasPlugin("jsx")),i=this.tryParse(()=>super.parseMaybeAssign(e,t),n),!i.error))return i.node;if(r?.node)return this.state=r.failState,r.node;if(a.node)return this.state=a.failState,s&&this.reportReservedArrowTypeParam(s),a.node;if(i?.node)return this.state=i.failState,i.node;throw r?.error||a.error||i?.error}reportReservedArrowTypeParam(e){1!==e.params.length||e.params[0].constraint||e.extra?.trailingComma||!this.getPluginOption("typescript","disallowAmbiguousJSXLike")||this.raise(vk.ReservedArrowTypeParam,e)}parseMaybeUnary(e,t){return!this.hasPlugin("jsx")&&this.match(47)?this.tsParseTypeAssertion():super.parseMaybeUnary(e,t)}parseArrow(e){if(this.match(14)){const t=this.tryParse(e=>{const t=this.tsParseTypeOrTypePredicateAnnotation(14);return!this.canInsertSemicolon()&&this.match(19)||e(),t});if(t.aborted)return;t.thrown||(t.error&&(this.state=t.failState),e.returnType=t.node)}return super.parseArrow(e)}parseFunctionParamType(e){this.eat(17)&&(e.optional=!0);const t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t),this.resetEndLocation(e),e}isAssignable(e,t){switch(e.type){case"TSTypeCastExpression":return this.isAssignable(e.expression,t);case"TSParameterProperty":return!0;default:return super.isAssignable(e,t)}}toAssignable(e,t=!1){switch(e.type){case"ParenthesizedExpression":this.toAssignableParenthesizedExpression(e,t);break;case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":t?this.expressionScope.recordArrowParameterBindingError(vk.UnexpectedTypeCastInParameter,e):this.raise(vk.UnexpectedTypeCastInParameter,e),this.toAssignable(e.expression,t);break;case"AssignmentExpression":t||"TSTypeCastExpression"!==e.left.type||(e.left=this.typeCastToParameter(e.left));default:super.toAssignable(e,t)}}toAssignableParenthesizedExpression(e,t){switch(e.expression.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":case"ParenthesizedExpression":this.toAssignable(e.expression,t);break;default:super.toAssignable(e,t)}}checkToRestConversion(e,t){switch(e.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":this.checkToRestConversion(e.expression,!1);break;default:super.checkToRestConversion(e,t)}}isValidLVal(e,t,n){switch(e){case"TSTypeCastExpression":return!0;case"TSParameterProperty":return"parameter";case"TSNonNullExpression":return"expression";case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":return(64!==n||!t)&&["expression",!0];default:return super.isValidLVal(e,t,n)}}parseBindingAtom(){return 78===this.state.type?this.parseIdentifier(!0):super.parseBindingAtom()}parseMaybeDecoratorArguments(e,t){if(this.match(47)||this.match(51)){const n=this.tsParseTypeArgumentsInExpression();if(this.match(10)){const r=super.parseMaybeDecoratorArguments(e,t);return r.typeArguments=n,r}this.unexpected(null,10)}return super.parseMaybeDecoratorArguments(e,t)}checkCommaAfterRest(e){return this.state.isAmbientContext&&this.match(12)&&this.lookaheadCharCode()===e?(this.next(),!1):super.checkCommaAfterRest(e)}isClassMethod(){return this.match(47)||super.isClassMethod()}isClassProperty(){return this.match(35)||this.match(14)||super.isClassProperty()}parseMaybeDefault(e,t){const n=super.parseMaybeDefault(e,t);return"AssignmentPattern"===n.type&&n.typeAnnotation&&n.right.start<n.typeAnnotation.start&&this.raise(vk.TypeAnnotationAfterAssign,n.typeAnnotation),n}getTokenFromCode(e){if(this.state.inType){if(62===e)return void this.finishOp(48,1);if(60===e)return void this.finishOp(47,1)}super.getTokenFromCode(e)}reScan_lt_gt(){const{type:e}=this.state;47===e?(this.state.pos-=1,this.readToken_lt()):48===e&&(this.state.pos-=1,this.readToken_gt())}reScan_lt(){const{type:e}=this.state;return 51===e?(this.state.pos-=2,this.finishOp(47,1),47):e}toAssignableListItem(e,t,n){const r=e[t];"TSTypeCastExpression"===r.type&&(e[t]=this.typeCastToParameter(r)),super.toAssignableListItem(e,t,n)}typeCastToParameter(e){return e.expression.typeAnnotation=e.typeAnnotation,this.resetEndLocation(e.expression,e.typeAnnotation.loc.end),e.expression}shouldParseArrow(e){return this.match(14)?e.every(e=>this.isAssignable(e,!0)):super.shouldParseArrow(e)}shouldParseAsyncArrow(){return this.match(14)||super.shouldParseAsyncArrow()}canHaveLeadingDecorator(){return super.canHaveLeadingDecorator()||this.isAbstractClass()}jsxParseOpeningElementAfterName(e){if(this.match(47)||this.match(51)){const t=this.tsTryParseAndCatch(()=>this.tsParseTypeArgumentsInExpression());t&&(e.typeArguments=t)}return super.jsxParseOpeningElementAfterName(e)}getGetterSetterExpectedParamCount(e){const t=super.getGetterSetterExpectedParamCount(e),n=this.getObjectOrClassMethodParams(e)[0];return n&&this.isThisParam(n)?t+1:t}parseCatchClauseParam(){const e=super.parseCatchClauseParam(),t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t,this.resetEndLocation(e)),e}tsInAmbientContext(e){const{isAmbientContext:t,strict:n}=this.state;this.state.isAmbientContext=!0,this.state.strict=!1;try{return e()}finally{this.state.isAmbientContext=t,this.state.strict=n}}parseClass(e,t,n){const r=this.state.inAbstractClass;this.state.inAbstractClass=!!e.abstract;try{return super.parseClass(e,t,n)}finally{this.state.inAbstractClass=r}}tsParseAbstractDeclaration(e,t){if(this.match(80))return e.abstract=!0,this.maybeTakeDecorators(t,this.parseClass(e,!0,!1));if(this.isContextual(129)){if(!this.hasFollowingLineBreak())return e.abstract=!0,this.raise(vk.NonClassMethodPropertyHasAbstractModifier,e),this.tsParseInterfaceDeclaration(e)}else this.unexpected(null,80)}parseMethod(e,t,n,r,i,s,a){const o=super.parseMethod(e,t,n,r,i,s,a);if(o.abstract||"TSAbstractMethodDefinition"===o.type){if((this.hasPlugin("estree")?o.value:o).body){const{key:e}=o;this.raise(vk.AbstractMethodHasImplementation,o,{methodName:"Identifier"!==e.type||o.computed?`[${this.input.slice(this.offsetToSourcePos(e.start),this.offsetToSourcePos(e.end))}]`:e.name})}}return o}tsParseTypeParameterName(){return this.parseIdentifier()}shouldParseAsAmbientContext(){return!!this.getPluginOption("typescript","dts")}parse(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.parse()}getExpression(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.getExpression()}parseExportSpecifier(e,t,n,r){return!t&&r?(this.parseTypeOnlyImportExportSpecifier(e,!1,n),this.finishNode(e,"ExportSpecifier")):(e.exportKind="value",super.parseExportSpecifier(e,t,n,r))}parseImportSpecifier(e,t,n,r,i){return!t&&r?(this.parseTypeOnlyImportExportSpecifier(e,!0,n),this.finishNode(e,"ImportSpecifier")):(e.importKind="value",super.parseImportSpecifier(e,t,n,r,n?4098:4096))}parseTypeOnlyImportExportSpecifier(e,t,n){const r=t?"imported":"local",i=t?"local":"exported";let s,a=e[r],o=!1,u=!0;const c=a.loc.start;if(this.isContextual(93)){const e=this.parseIdentifier();if(this.isContextual(93)){const n=this.parseIdentifier();nC(this.state.type)?(o=!0,a=e,s=t?this.parseIdentifier():this.parseModuleExportName(),u=!1):(s=n,u=!1)}else nC(this.state.type)?(u=!1,s=t?this.parseIdentifier():this.parseModuleExportName()):(o=!0,a=e)}else nC(this.state.type)&&(o=!0,t?(a=this.parseIdentifier(!0),this.isContextual(93)||this.checkReservedWord(a.name,a.loc.start,!0,!0)):a=this.parseModuleExportName());o&&n&&this.raise(t?vk.TypeModifierIsUsedInTypeImports:vk.TypeModifierIsUsedInTypeExports,c),e[r]=a,e[i]=s;e[t?"importKind":"exportKind"]=o?"type":"value",u&&this.eatContextual(93)&&(e[i]=t?this.parseIdentifier():this.parseModuleExportName()),e[i]||(e[i]=this.cloneIdentifier(e[r])),t&&this.checkIdentifier(e[i],o?4098:4096)}fillOptionalPropertiesForTSESLint(e){switch(e.type){case"ExpressionStatement":return void(e.directive??(e.directive=void 0));case"RestElement":e.value=void 0;case"Identifier":case"ArrayPattern":case"AssignmentPattern":case"ObjectPattern":return e.decorators??(e.decorators=[]),e.optional??(e.optional=!1),void(e.typeAnnotation??(e.typeAnnotation=void 0));case"TSParameterProperty":return e.accessibility??(e.accessibility=void 0),e.decorators??(e.decorators=[]),e.override??(e.override=!1),e.readonly??(e.readonly=!1),void(e.static??(e.static=!1));case"TSEmptyBodyFunctionExpression":e.body=null;case"TSDeclareFunction":case"FunctionDeclaration":case"FunctionExpression":case"ClassMethod":case"ClassPrivateMethod":return e.declare??(e.declare=!1),e.returnType??(e.returnType=void 0),void(e.typeParameters??(e.typeParameters=void 0));case"Property":return void(e.optional??(e.optional=!1));case"TSMethodSignature":case"TSPropertySignature":e.optional??(e.optional=!1);case"TSIndexSignature":return e.accessibility??(e.accessibility=void 0),e.readonly??(e.readonly=!1),void(e.static??(e.static=!1));case"TSAbstractPropertyDefinition":case"PropertyDefinition":case"TSAbstractAccessorProperty":case"AccessorProperty":e.declare??(e.declare=!1),e.definite??(e.definite=!1),e.readonly??(e.readonly=!1),e.typeAnnotation??(e.typeAnnotation=void 0);case"TSAbstractMethodDefinition":case"MethodDefinition":return e.accessibility??(e.accessibility=void 0),e.decorators??(e.decorators=[]),e.override??(e.override=!1),void(e.optional??(e.optional=!1));case"ClassExpression":e.id??(e.id=null);case"ClassDeclaration":return e.abstract??(e.abstract=!1),e.declare??(e.declare=!1),e.decorators??(e.decorators=[]),e.implements??(e.implements=[]),e.superTypeArguments??(e.superTypeArguments=void 0),void(e.typeParameters??(e.typeParameters=void 0));case"TSTypeAliasDeclaration":case"VariableDeclaration":return void(e.declare??(e.declare=!1));case"VariableDeclarator":return void(e.definite??(e.definite=!1));case"TSEnumDeclaration":return e.const??(e.const=!1),void(e.declare??(e.declare=!1));case"TSEnumMember":return void(e.computed??(e.computed=!1));case"TSImportType":return e.qualifier??(e.qualifier=null),e.options??(e.options=null),void(e.typeArguments??(e.typeArguments=null));case"TSInterfaceDeclaration":return e.declare??(e.declare=!1),void(e.extends??(e.extends=[]));case"TSMappedType":return e.optional??(e.optional=!1),void(e.readonly??(e.readonly=void 0));case"TSModuleDeclaration":return e.declare??(e.declare=!1),void(e.global??(e.global="global"===e.kind));case"TSTypeParameter":return e.const??(e.const=!1),e.in??(e.in=!1),void(e.out??(e.out=!1))}}},v8intrinsic:e=>class extends e{parseV8Intrinsic(){if(this.match(54)){const e=this.state.startLoc,t=this.startNode();if(this.next(),tC(this.state.type)){const e=this.parseIdentifierName(),n=this.createIdentifier(t,e);if(this.castNodeTo(n,"V8IntrinsicIdentifier"),this.match(10))return n}this.unexpected(e)}}parseExprAtom(e){return this.parseV8Intrinsic()||super.parseExprAtom(e)}},placeholders:e=>class extends e{parsePlaceholder(e){if(this.match(133)){const t=this.startNode();return this.next(),this.assertNoSpace(),t.name=super.parseIdentifier(!0),this.assertNoSpace(),this.expect(133),this.finishPlaceholder(t,e)}}finishPlaceholder(e,t){let n=e;return n.expectedNode&&n.type||(n=this.finishNode(n,"Placeholder")),n.expectedNode=t,n}getTokenFromCode(e){37===e&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(133,2):super.getTokenFromCode(e)}parseExprAtom(e){return this.parsePlaceholder("Expression")||super.parseExprAtom(e)}parseIdentifier(e){return this.parsePlaceholder("Identifier")||super.parseIdentifier(e)}checkReservedWord(e,t,n,r){void 0!==e&&super.checkReservedWord(e,t,n,r)}cloneIdentifier(e){const t=super.cloneIdentifier(e);return"Placeholder"===t.type&&(t.expectedNode=e.expectedNode),t}cloneStringLiteral(e){return"Placeholder"===e.type?this.cloneIdentifier(e):super.cloneStringLiteral(e)}parseBindingAtom(){return this.parsePlaceholder("Pattern")||super.parseBindingAtom()}isValidLVal(e,t,n){return"Placeholder"===e||super.isValidLVal(e,t,n)}toAssignable(e,t){e&&"Placeholder"===e.type&&"Expression"===e.expectedNode?e.expectedNode="Pattern":super.toAssignable(e,t)}chStartsBindingIdentifier(e,t){if(super.chStartsBindingIdentifier(e,t))return!0;const n=this.nextTokenStart();return 37===this.input.charCodeAt(n)&&37===this.input.charCodeAt(n+1)}verifyBreakContinue(e,t){e.label&&"Placeholder"===e.label.type||super.verifyBreakContinue(e,t)}parseExpressionStatement(e,t){if("Placeholder"!==t.type||t.extra?.parenthesized)return super.parseExpressionStatement(e,t);if(this.match(14)){const n=e;return n.label=this.finishPlaceholder(t,"Identifier"),this.next(),n.body=super.parseStatementOrSloppyAnnexBFunctionDeclaration(),this.finishNode(n,"LabeledStatement")}this.semicolon();const n=e;return n.name=t.name,this.finishPlaceholder(n,"Statement")}parseBlock(e,t,n){return this.parsePlaceholder("BlockStatement")||super.parseBlock(e,t,n)}parseFunctionId(e){return this.parsePlaceholder("Identifier")||super.parseFunctionId(e)}parseClass(e,t,n){const r=t?"ClassDeclaration":"ClassExpression";this.next();const i=this.state.strict,s=this.parsePlaceholder("Identifier");if(s){if(!(this.match(81)||this.match(133)||this.match(5))){if(n||!t)return e.id=null,e.body=this.finishPlaceholder(s,"ClassBody"),this.finishNode(e,r);throw this.raise(Lk.ClassNameIsRequired,this.state.startLoc)}e.id=s}else this.parseClassId(e,t,n);return super.parseClassSuper(e),e.body=this.parsePlaceholder("ClassBody")||super.parseClassBody(!!e.superClass,i),this.finishNode(e,r)}parseExport(e,t){const n=this.parsePlaceholder("Identifier");if(!n)return super.parseExport(e,t);const r=e;if(!this.isContextual(98)&&!this.match(12))return r.specifiers=[],r.source=null,r.declaration=this.finishPlaceholder(n,"Declaration"),this.finishNode(r,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");const i=this.startNode();return i.exported=n,r.specifiers=[this.finishNode(i,"ExportDefaultSpecifier")],super.parseExport(r,t)}isExportDefaultSpecifier(){if(this.match(65)){const e=this.nextTokenStart();if(this.isUnparsedContextual(e,"from")&&this.input.startsWith(aC(133),this.nextTokenStartSince(e+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(e,t){return!!e.specifiers?.length||super.maybeParseExportDefaultSpecifier(e,t)}checkExport(e){const{specifiers:t}=e;t?.length&&(e.specifiers=t.filter(e=>"Placeholder"===e.exported.type)),super.checkExport(e),e.specifiers=t}parseImport(e){const t=this.parsePlaceholder("Identifier");if(!t)return super.parseImport(e);if(e.specifiers=[],!this.isContextual(98)&&!this.match(12))return e.source=this.finishPlaceholder(t,"StringLiteral"),this.semicolon(),this.finishNode(e,"ImportDeclaration");const n=this.startNodeAtNode(t);if(n.local=t,e.specifiers.push(this.finishNode(n,"ImportDefaultSpecifier")),this.eat(12)){this.maybeParseStarImportSpecifier(e)||this.parseNamedImportSpecifiers(e)}return this.expectContextual(98),e.source=this.parseImportSource(),this.semicolon(),this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource()}assertNoSpace(){this.state.start>this.offsetToSourcePos(this.state.lastTokEndLoc.index)&&this.raise(Lk.UnexpectedSpace,this.state.lastTokEndLoc)}}},Bk=Object.keys(Mk),Fk=class extends Ek{checkProto(e,t,n,r){if("SpreadElement"===e.type||this.isObjectMethod(e)||e.computed||e.shorthand)return n;const i=e.key;return"__proto__"===("Identifier"===i.type?i.name:i.value)?t?(this.raise(_w.RecordNoProto,i),!0):(n&&(r?null===r.doubleProtoLoc&&(r.doubleProtoLoc=i.loc.start):this.raise(_w.DuplicateProto,i)),!0):n}shouldExitDescending(e,t){return"ArrowFunctionExpression"===e.type&&this.offsetToSourcePos(e.start)===t}getExpression(){if(this.enterInitialScopes(),this.nextToken(),this.match(140))throw this.raise(_w.ParseExpressionEmptyInput,this.state.startLoc);const e=this.parseExpression();if(!this.match(140))throw this.raise(_w.ParseExpressionExpectsEOF,this.state.startLoc,{unexpected:this.input.codePointAt(this.state.start)});return this.finalizeRemainingComments(),e.comments=this.comments,e.errors=this.state.errors,256&this.optionFlags&&(e.tokens=this.tokens),e}parseExpression(e,t){return e?this.disallowInAnd(()=>this.parseExpressionBase(t)):this.allowInAnd(()=>this.parseExpressionBase(t))}parseExpressionBase(e){const t=this.state.startLoc,n=this.parseMaybeAssign(e);if(this.match(12)){const r=this.startNodeAt(t);for(r.expressions=[n];this.eat(12);)r.expressions.push(this.parseMaybeAssign(e));return this.toReferencedList(r.expressions),this.finishNode(r,"SequenceExpression")}return n}parseMaybeAssignDisallowIn(e,t){return this.disallowInAnd(()=>this.parseMaybeAssign(e,t))}parseMaybeAssignAllowIn(e,t){return this.allowInAnd(()=>this.parseMaybeAssign(e,t))}setOptionalParametersError(e){e.optionalParametersLoc=this.state.startLoc}parseMaybeAssign(e,t){const n=this.state.startLoc,r=this.isContextual(108);if(r&&this.prodParam.hasYield){this.next();let e=this.parseYield(n);return t&&(e=t.call(this,e,n)),e}let i;e?i=!1:(e=new gk,i=!0);const{type:s}=this.state;(10===s||tC(s))&&(this.state.potentialArrowAt=this.state.start);let a=this.parseMaybeConditional(e);if(t&&(a=t.call(this,a,n)),(o=this.state.type)>=29&&o<=33){const t=this.startNodeAt(n),r=this.state.value;if(t.operator=r,this.match(29)){this.toAssignable(a,!0),t.left=a;const r=n.index;null!=e.doubleProtoLoc&&e.doubleProtoLoc.index>=r&&(e.doubleProtoLoc=null),null!=e.shorthandAssignLoc&&e.shorthandAssignLoc.index>=r&&(e.shorthandAssignLoc=null),null!=e.privateKeyLoc&&e.privateKeyLoc.index>=r&&(this.checkDestructuringPrivate(e),e.privateKeyLoc=null),null!=e.voidPatternLoc&&e.voidPatternLoc.index>=r&&(e.voidPatternLoc=null)}else t.left=a;return this.next(),t.right=this.parseMaybeAssign(),this.checkLVal(a,this.finishNode(t,"AssignmentExpression")),t}var o;if(i&&this.checkExpressionErrors(e,!0),r){const{type:e}=this.state;if((this.hasPlugin("v8intrinsic")?rC(e):rC(e)&&!this.match(54))&&!this.isAmbiguousPrefixOrIdentifier())return this.raiseOverwrite(_w.YieldNotInGeneratorFunction,n),this.parseYield(n)}return a}parseMaybeConditional(e){const t=this.state.startLoc,n=this.state.potentialArrowAt,r=this.parseExprOps(e);return this.shouldExitDescending(r,n)?r:this.parseConditional(r,t,e)}parseConditional(e,t,n){if(this.eat(17)){const n=this.startNodeAt(t);return n.test=e,n.consequent=this.parseMaybeAssignAllowIn(),this.expect(14),n.alternate=this.parseMaybeAssign(),this.finishNode(n,"ConditionalExpression")}return e}parseMaybeUnaryOrPrivate(e){return this.match(139)?this.parsePrivateName():this.parseMaybeUnary(e)}parseExprOps(e){const t=this.state.startLoc,n=this.state.potentialArrowAt,r=this.parseMaybeUnaryOrPrivate(e);return this.shouldExitDescending(r,n)?r:this.parseExprOp(r,t,-1)}parseExprOp(e,t,n){if(this.isPrivateName(e)){const t=this.getPrivateNameSV(e);(n>=oC(58)||!this.prodParam.hasIn||!this.match(58))&&this.raise(_w.PrivateInExpectedIn,e,{identifierName:t}),this.classScope.usePrivateName(t,e.loc.start)}const r=this.state.type;if((i=r)>=39&&i<=59&&(this.prodParam.hasIn||!this.match(58))){let i=oC(r);if(i>n){if(39===r){if(this.expectPlugin("pipelineOperator"),this.state.inFSharpPipelineDirectBody)return e;this.checkPipelineAtInfixOperator(e,t)}const s=this.startNodeAt(t);s.left=e,s.operator=this.state.value;const a=41===r||42===r,o=40===r;o&&(i=oC(42)),this.next(),s.right=this.parseExprOpRightExpr(r,i);const u=this.finishNode(s,a||o?"LogicalExpression":"BinaryExpression"),c=this.state.type;if(o&&(41===c||42===c)||a&&40===c)throw this.raise(_w.MixingCoalesceWithLogical,this.state.startLoc);return this.parseExprOp(u,t,n)}}var i;return e}parseExprOpRightExpr(e,t){if(this.state.startLoc,39===e)switch(this.getPluginOption("pipelineOperator","proposal")){case"hack":return this.withTopicBindingContext(()=>this.parseHackPipeBody());case"fsharp":return this.withSoloAwaitPermittingContext(()=>this.parseFSharpPipelineBody(t))}return this.parseExprOpBaseRightExpr(e,t)}parseExprOpBaseRightExpr(e,t){const n=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnaryOrPrivate(),n,57===e?t-1:t)}parseHackPipeBody(){const{startLoc:e}=this.state,t=this.parseMaybeAssign();return vw.has(t.type)&&!t.extra?.parenthesized&&this.raise(_w.PipeUnparenthesizedBody,e,{type:t.type}),this.topicReferenceWasUsedInCurrentContext()||this.raise(_w.PipeTopicUnused,e),t}checkExponentialAfterUnary(e){this.match(57)&&this.raise(_w.UnexpectedTokenUnaryExponentiation,e.argument)}parseMaybeUnary(e,t){const n=this.state.startLoc,r=this.isContextual(96);if(r&&this.recordAwaitIfAllowed()){this.next();const e=this.parseAwait(n);return t||this.checkExponentialAfterUnary(e),e}const i=this.match(34),s=this.startNode();if(a=this.state.type,Gw[a]){s.operator=this.state.value,s.prefix=!0,this.match(72)&&this.expectPlugin("throwExpressions");const n=this.match(89);if(this.next(),s.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(e,!0),this.state.strict&&n){const e=s.argument;"Identifier"===e.type?this.raise(_w.StrictDelete,s):this.hasPropertyAsPrivateName(e)&&this.raise(_w.DeletePrivateField,s)}if(!i)return t||this.checkExponentialAfterUnary(s),this.finishNode(s,"UnaryExpression")}var a;const o=this.parseUpdate(s,i,e);if(r){const{type:e}=this.state;if((this.hasPlugin("v8intrinsic")?rC(e):rC(e)&&!this.match(54))&&!this.isAmbiguousPrefixOrIdentifier())return this.raiseOverwrite(_w.AwaitNotInAsyncContext,n),this.parseAwait(n)}return o}parseUpdate(e,t,n){if(t){const t=e;return this.checkLVal(t.argument,this.finishNode(t,"UpdateExpression")),e}const r=this.state.startLoc;let i=this.parseExprSubscripts(n);if(this.checkExpressionErrors(n,!1))return i;for(;sC(this.state.type)&&!this.canInsertSemicolon();){const e=this.startNodeAt(r);e.operator=this.state.value,e.prefix=!1,e.argument=i,this.next(),this.checkLVal(i,i=this.finishNode(e,"UpdateExpression"))}return i}parseExprSubscripts(e){const t=this.state.startLoc,n=this.state.potentialArrowAt,r=this.parseExprAtom(e);return this.shouldExitDescending(r,n)?r:this.parseSubscripts(r,t)}parseSubscripts(e,t,n){const r={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(e),stop:!1};do{e=this.parseSubscript(e,t,n,r),r.maybeAsyncArrow=!1}while(!r.stop);return e}parseSubscript(e,t,n,r){const{type:i}=this.state;if(!n&&15===i)return this.parseBind(e,t,n,r);if(uC(i))return this.parseTaggedTemplateExpression(e,t,r);let s=!1;if(18===i){if(n&&(this.raise(_w.OptionalChainingNoNew,this.state.startLoc),40===this.lookaheadCharCode()))return this.stopParseSubscript(e,r);r.optionalChainMember=s=!0,this.next()}if(!n&&this.match(10))return this.parseCoverCallAndAsyncArrowHead(e,t,r,s);{const n=this.eat(0);return n||s||this.eat(16)?this.parseMember(e,t,r,n,s):this.stopParseSubscript(e,r)}}stopParseSubscript(e,t){return t.stop=!0,e}parseMember(e,t,n,r,i){const s=this.startNodeAt(t);return s.object=e,s.computed=r,r?(s.property=this.parseExpression(),this.expect(3)):this.match(139)?("Super"===e.type&&this.raise(_w.SuperPrivateField,t),this.classScope.usePrivateName(this.state.value,this.state.startLoc),s.property=this.parsePrivateName()):s.property=this.parseIdentifier(!0),n.optionalChainMember?(s.optional=i,this.finishNode(s,"OptionalMemberExpression")):this.finishNode(s,"MemberExpression")}parseBind(e,t,n,r){const i=this.startNodeAt(t);return i.object=e,this.next(),i.callee=this.parseNoCallExpr(),r.stop=!0,this.parseSubscripts(this.finishNode(i,"BindExpression"),t,n)}parseCoverCallAndAsyncArrowHead(e,t,n,r){const i=this.state.maybeInArrowParameters;let s=null;this.state.maybeInArrowParameters=!0,this.next();const a=this.startNodeAt(t);a.callee=e;const{maybeAsyncArrow:o,optionalChainMember:u}=n;o&&(this.expressionScope.enter(new hk(2)),s=new gk),u&&(a.optional=r),a.arguments=r?this.parseCallExpressionArguments():this.parseCallExpressionArguments("Super"!==e.type,a,s);let c=this.finishCallExpression(a,u);return o&&this.shouldParseAsyncArrow()&&!r?(n.stop=!0,this.checkDestructuringPrivate(s),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),c=this.parseAsyncArrowFromCallExpression(this.startNodeAt(t),c)):(o&&(this.checkExpressionErrors(s,!0),this.expressionScope.exit()),this.toReferencedArguments(c)),this.state.maybeInArrowParameters=i,c}toReferencedArguments(e,t){this.toReferencedListDeep(e.arguments,t)}parseTaggedTemplateExpression(e,t,n){const r=this.startNodeAt(t);return r.tag=e,r.quasi=this.parseTemplate(!0),n.optionalChainMember&&this.raise(_w.OptionalChainingNoTemplate,t),this.finishNode(r,"TaggedTemplateExpression")}atPossibleAsyncArrow(e){return"Identifier"===e.type&&"async"===e.name&&this.state.lastTokEndLoc.index===e.end&&!this.canInsertSemicolon()&&e.end-e.start===5&&this.offsetToSourcePos(e.start)===this.state.potentialArrowAt}finishCallExpression(e,t){if("Import"===e.callee.type)if(0===e.arguments.length||e.arguments.length>2)this.raise(_w.ImportCallArity,e);else for(const t of e.arguments)"SpreadElement"===t.type&&this.raise(_w.ImportCallSpreadArgument,t);return this.finishNode(e,t?"OptionalCallExpression":"CallExpression")}parseCallExpressionArguments(e,t,n){const r=[];let i=!0;const s=this.state.inFSharpPipelineDirectBody;for(this.state.inFSharpPipelineDirectBody=!1;!this.eat(11);){if(i)i=!1;else if(this.expect(12),this.match(11)){t&&this.addTrailingCommaExtraToNode(t),this.next();break}r.push(this.parseExprListItem(11,!1,n,e))}return this.state.inFSharpPipelineDirectBody=s,r}shouldParseAsyncArrow(){return this.match(19)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(e,t){return this.resetPreviousNodeTrailingComments(t),this.expect(19),this.parseArrowExpression(e,t.arguments,!0,t.extra?.trailingCommaLoc),t.innerComments&&XC(e,t.innerComments),t.callee.trailingComments&&XC(e,t.callee.trailingComments),e}parseNoCallExpr(){const e=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),e,!0)}parseExprAtom(e){let t,n=null;const{type:r}=this.state;switch(r){case 79:return this.parseSuper();case 83:return t=this.startNode(),this.next(),this.match(16)?this.parseImportMetaPropertyOrPhaseCall(t):this.match(10)?512&this.optionFlags?this.parseImportCall(t):this.finishNode(t,"Import"):(this.raise(_w.UnsupportedImport,this.state.lastTokStartLoc),this.finishNode(t,"Import"));case 78:return t=this.startNode(),this.next(),this.finishNode(t,"ThisExpression");case 90:return this.parseDo(this.startNode(),!1);case 56:case 31:return this.readRegexp(),this.parseRegExpLiteral(this.state.value);case 135:return this.parseNumericLiteral(this.state.value);case 136:return this.parseBigIntLiteral(this.state.value);case 134:return this.parseStringLiteral(this.state.value);case 84:return this.parseNullLiteral();case 85:return this.parseBooleanLiteral(!0);case 86:return this.parseBooleanLiteral(!1);case 10:{const e=this.state.potentialArrowAt===this.state.start;return this.parseParenAndDistinguishExpression(e)}case 0:return this.parseArrayLike(3,!0,!1,e);case 5:return this.parseObjectLike(8,!1,!1,e);case 68:return this.parseFunctionOrFunctionSent();case 26:n=this.parseDecorators();case 80:return this.parseClass(this.maybeTakeDecorators(n,this.startNode()),!1);case 77:return this.parseNewOrNewTarget();case 25:case 24:return this.parseTemplate(!1);case 15:{t=this.startNode(),this.next(),t.object=null;const e=t.callee=this.parseNoCallExpr();if("MemberExpression"===e.type)return this.finishNode(t,"BindExpression");throw this.raise(_w.UnsupportedBind,e)}case 139:return this.raise(_w.PrivateInExpectedIn,this.state.startLoc,{identifierName:this.state.value}),this.parsePrivateName();case 33:return this.parseTopicReferenceThenEqualsSign(54,"%");case 32:return this.parseTopicReferenceThenEqualsSign(44,"^");case 37:case 38:return this.parseTopicReference("hack");case 44:case 54:case 27:{const e=this.getPluginOption("pipelineOperator","proposal");if(e)return this.parseTopicReference(e);this.unexpected();break}case 47:{const e=this.input.codePointAt(this.nextTokenStart());gC(e)||62===e?this.expectOnePlugin(["jsx","flow","typescript"]):this.unexpected();break}default:if(tC(r)){if(this.isContextual(127)&&123===this.lookaheadInLineCharCode())return this.parseModuleExpression();const e=this.state.potentialArrowAt===this.state.start,t=this.state.containsEsc,n=this.parseIdentifier();if(!t&&"async"===n.name&&!this.canInsertSemicolon()){const{type:e}=this.state;if(68===e)return this.resetPreviousNodeTrailingComments(n),this.next(),this.parseAsyncFunctionExpression(this.startNodeAtNode(n));if(tC(e))return 61===this.lookaheadCharCode()?this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(n)):n;if(90===e)return this.resetPreviousNodeTrailingComments(n),this.parseDo(this.startNodeAtNode(n),!0)}return e&&this.match(19)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(n),[n],!1)):n}this.unexpected()}}parseTopicReferenceThenEqualsSign(e,t){const n=this.getPluginOption("pipelineOperator","proposal");if(n)return this.state.type=e,this.state.value=t,this.state.pos--,this.state.end--,this.state.endLoc=gw(this.state.endLoc,-1),this.parseTopicReference(n);this.unexpected()}parseTopicReference(e){const t=this.startNode(),n=this.state.startLoc,r=this.state.type;return this.next(),this.finishTopicReference(t,n,e,r)}finishTopicReference(e,t,n,r){if(this.testTopicReferenceConfiguration(n,t,r))return this.topicReferenceIsAllowedInCurrentContext()||this.raise(_w.PipeTopicUnbound,t),this.registerTopicReference(),this.finishNode(e,"TopicReference");throw this.raise(_w.PipeTopicUnconfiguredToken,t,{token:aC(r)})}testTopicReferenceConfiguration(e,t,n){switch(e){case"hack":return this.hasPlugin(["pipelineOperator",{topicToken:aC(n)}]);case"smart":return 27===n;default:throw this.raise(_w.PipeTopicRequiresHackPipes,t)}}parseAsyncArrowUnaryFunction(e){this.prodParam.enter(VC(!0,this.prodParam.hasYield));const t=[this.parseIdentifier()];return this.prodParam.exit(),this.hasPrecedingLineBreak()&&this.raise(_w.LineTerminatorBeforeArrow,this.state.curPosition()),this.expect(19),this.parseArrowExpression(e,t,!0)}parseDo(e,t){this.expectPlugin("doExpressions"),t&&this.expectPlugin("asyncDoExpressions"),e.async=t,this.next();const n=this.state.labels;return this.state.labels=[],t?(this.prodParam.enter(2),e.body=this.parseBlock(),this.prodParam.exit()):e.body=this.parseBlock(),this.state.labels=n,this.finishNode(e,"DoExpression")}parseSuper(){const e=this.startNode();return this.next(),!this.match(10)||this.scope.allowDirectSuper||16&this.optionFlags?this.scope.allowSuper||16&this.optionFlags||this.raise(_w.UnexpectedSuper,e):this.raise(_w.SuperNotAllowed,e),this.match(10)||this.match(0)||this.match(16)||this.raise(_w.UnsupportedSuper,e),this.finishNode(e,"Super")}parsePrivateName(){const e=this.startNode(),t=this.startNodeAt(gw(this.state.startLoc,1)),n=this.state.value;return this.next(),e.id=this.createIdentifier(t,n),this.finishNode(e,"PrivateName")}parseFunctionOrFunctionSent(){const e=this.startNode();if(this.next(),this.prodParam.hasYield&&this.match(16)){const t=this.createIdentifier(this.startNodeAtNode(e),"function");return this.next(),this.match(103)?this.expectPlugin("functionSent"):this.hasPlugin("functionSent")||this.unexpected(),this.parseMetaProperty(e,t,"sent")}return this.parseFunction(e)}parseMetaProperty(e,t,n){e.meta=t;const r=this.state.containsEsc;return e.property=this.parseIdentifier(!0),(e.property.name!==n||r)&&this.raise(_w.UnsupportedMetaProperty,e.property,{target:t.name,onlyValidPropertyName:n}),this.finishNode(e,"MetaProperty")}parseImportMetaPropertyOrPhaseCall(e){if(this.next(),this.isContextual(105)||this.isContextual(97)){const t=this.isContextual(105);return this.expectPlugin(t?"sourcePhaseImports":"deferredImportEvaluation"),this.next(),e.phase=t?"source":"defer",this.parseImportCall(e)}{const t=this.createIdentifierAt(this.startNodeAtNode(e),"import",this.state.lastTokStartLoc);return this.isContextual(101)&&(this.inModule||this.raise(_w.ImportMetaOutsideModule,t),this.sawUnambiguousESM=!0),this.parseMetaProperty(e,t,"meta")}}parseLiteralAtNode(e,t,n){return this.addExtra(n,"rawValue",e),this.addExtra(n,"raw",this.input.slice(this.offsetToSourcePos(n.start),this.state.end)),n.value=e,this.next(),this.finishNode(n,t)}parseLiteral(e,t){const n=this.startNode();return this.parseLiteralAtNode(e,t,n)}parseStringLiteral(e){return this.parseLiteral(e,"StringLiteral")}parseNumericLiteral(e){return this.parseLiteral(e,"NumericLiteral")}parseBigIntLiteral(e){{let t;try{t=BigInt(e)}catch{t=null}return this.parseLiteral(t,"BigIntLiteral")}}parseDecimalLiteral(e){return this.parseLiteral(e,"DecimalLiteral")}parseRegExpLiteral(e){const t=this.startNode();return this.addExtra(t,"raw",this.input.slice(this.offsetToSourcePos(t.start),this.state.end)),t.pattern=e.pattern,t.flags=e.flags,this.next(),this.finishNode(t,"RegExpLiteral")}parseBooleanLiteral(e){const t=this.startNode();return t.value=e,this.next(),this.finishNode(t,"BooleanLiteral")}parseNullLiteral(){const e=this.startNode();return this.next(),this.finishNode(e,"NullLiteral")}parseParenAndDistinguishExpression(e){const t=this.state.startLoc;let n;this.next(),this.expressionScope.enter(new hk(1));const r=this.state.maybeInArrowParameters,i=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.inFSharpPipelineDirectBody=!1;const s=this.state.startLoc,a=[],o=new gk;let u,c,l=!0;for(;!this.match(11);){if(l)l=!1;else if(this.expect(12,null===o.optionalParametersLoc?null:o.optionalParametersLoc),this.match(11)){c=this.state.startLoc;break}if(this.match(21)){const e=this.state.startLoc;if(u=this.state.startLoc,a.push(this.parseParenItem(this.parseRestBinding(),e)),!this.checkCommaAfterRest(41))break}else a.push(this.parseMaybeAssignAllowInOrVoidPattern(11,o,this.parseParenItem))}const p=this.state.lastTokEndLoc;this.expect(11),this.state.maybeInArrowParameters=r,this.state.inFSharpPipelineDirectBody=i;let d=this.startNodeAt(t);return e&&this.shouldParseArrow(a)&&(d=this.parseArrow(d))?(this.checkDestructuringPrivate(o),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),this.parseArrowExpression(d,a,!1),d):(this.expressionScope.exit(),a.length||this.unexpected(this.state.lastTokStartLoc),c&&this.unexpected(c),u&&this.unexpected(u),this.checkExpressionErrors(o,!0),this.toReferencedListDeep(a,!0),a.length>1?(n=this.startNodeAt(s),n.expressions=a,this.finishNode(n,"SequenceExpression"),this.resetEndLocation(n,p)):n=a[0],this.wrapParenthesis(t,n))}wrapParenthesis(e,t){if(!(1024&this.optionFlags))return this.addExtra(t,"parenthesized",!0),this.addExtra(t,"parenStart",e.index),this.takeSurroundingComments(t,e.index,this.state.lastTokEndLoc.index),t;const n=this.startNodeAt(e);return n.expression=t,this.finishNode(n,"ParenthesizedExpression")}shouldParseArrow(e){return!this.canInsertSemicolon()}parseArrow(e){if(this.eat(19))return e}parseParenItem(e,t){return e}parseNewOrNewTarget(){const e=this.startNode();if(this.next(),this.match(16)){const t=this.createIdentifier(this.startNodeAtNode(e),"new");this.next();const n=this.parseMetaProperty(e,t,"target");return this.scope.allowNewTarget||this.raise(_w.UnexpectedNewTarget,n),n}return this.parseNew(e)}parseNew(e){if(this.parseNewCallee(e),this.eat(10)){const t=this.parseExprList(11);this.toReferencedList(t),e.arguments=t}else e.arguments=[];return this.finishNode(e,"NewExpression")}parseNewCallee(e){const t=this.match(83),n=this.parseNoCallExpr();e.callee=n,!t||"Import"!==n.type&&"ImportExpression"!==n.type||this.raise(_w.ImportCallNotNewExpression,n)}parseTemplateElement(e){const{start:t,startLoc:n,end:r,value:i}=this.state,s=t+1,a=this.startNodeAt(gw(n,1));null===i&&(e||this.raise(_w.InvalidEscapeSequenceTemplate,gw(this.state.firstInvalidTemplateEscapePos,1)));const o=this.match(24),u=o?-1:-2,c=r+u;a.value={raw:this.input.slice(s,c).replace(/\r\n?/g,"\n"),cooked:null===i?null:i.slice(1,u)},a.tail=o,this.next();const l=this.finishNode(a,"TemplateElement");return this.resetEndLocation(l,gw(this.state.lastTokEndLoc,u)),l}parseTemplate(e){const t=this.startNode();let n=this.parseTemplateElement(e);const r=[n],i=[];for(;!n.tail;)i.push(this.parseTemplateSubstitution()),this.readTemplateContinuation(),r.push(n=this.parseTemplateElement(e));return t.expressions=i,t.quasis=r,this.finishNode(t,"TemplateLiteral")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(e,t,n,r){n&&this.expectPlugin("recordAndTuple");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;let s=!1,a=!0;const o=this.startNode();for(o.properties=[],this.next();!this.match(e);){if(a)a=!1;else if(this.expect(12),this.match(e)){this.addTrailingCommaExtraToNode(o);break}let i;t?i=this.parseBindingProperty():(i=this.parsePropertyDefinition(r),s=this.checkProto(i,n,s,r)),n&&!this.isObjectProperty(i)&&"SpreadElement"!==i.type&&this.raise(_w.InvalidRecordProperty,i),o.properties.push(i)}this.next(),this.state.inFSharpPipelineDirectBody=i;let u="ObjectExpression";return t?u="ObjectPattern":n&&(u="RecordExpression"),this.finishNode(o,u)}addTrailingCommaExtraToNode(e){this.addExtra(e,"trailingComma",this.state.lastTokStartLoc.index),this.addExtra(e,"trailingCommaLoc",this.state.lastTokStartLoc,!1)}maybeAsyncOrAccessorProp(e){return!e.computed&&"Identifier"===e.key.type&&(this.isLiteralPropertyName()||this.match(0)||this.match(55))}parsePropertyDefinition(e){let t=[];if(this.match(26))for(this.hasPlugin("decorators")&&this.raise(_w.UnsupportedPropertyDecorator,this.state.startLoc);this.match(26);)t.push(this.parseDecorator());const n=this.startNode();let r,i=!1,s=!1;if(this.match(21))return t.length&&this.unexpected(),this.parseSpread();t.length&&(n.decorators=t,t=[]),n.method=!1,e&&(r=this.state.startLoc);let a=this.eat(55);this.parsePropertyNamePrefixOperator(n);const o=this.state.containsEsc;if(this.parsePropertyName(n,e),!a&&!o&&this.maybeAsyncOrAccessorProp(n)){const{key:e}=n,t=e.name;"async"!==t||this.hasPrecedingLineBreak()||(i=!0,this.resetPreviousNodeTrailingComments(e),a=this.eat(55),this.parsePropertyName(n)),"get"!==t&&"set"!==t||(s=!0,this.resetPreviousNodeTrailingComments(e),n.kind=t,this.match(55)&&(a=!0,this.raise(_w.AccessorIsGenerator,this.state.curPosition(),{kind:t}),this.next()),this.parsePropertyName(n))}return this.parseObjPropValue(n,r,a,i,!1,s,e)}getGetterSetterExpectedParamCount(e){return"get"===e.kind?0:1}getObjectOrClassMethodParams(e){return e.params}checkGetterSetterParams(e){const t=this.getGetterSetterExpectedParamCount(e),n=this.getObjectOrClassMethodParams(e);n.length!==t&&this.raise("get"===e.kind?_w.BadGetterArity:_w.BadSetterArity,e),"set"===e.kind&&"RestElement"===n[n.length-1]?.type&&this.raise(_w.BadSetterRestParameter,e)}parseObjectMethod(e,t,n,r,i){if(i){const n=this.parseMethod(e,t,!1,!1,!1,"ObjectMethod");return this.checkGetterSetterParams(n),n}if(n||t||this.match(10))return r&&this.unexpected(),e.kind="method",e.method=!0,this.parseMethod(e,t,n,!1,!1,"ObjectMethod")}parseObjectProperty(e,t,n,r){if(e.shorthand=!1,this.eat(14))return e.value=n?this.parseMaybeDefault(this.state.startLoc):this.parseMaybeAssignAllowInOrVoidPattern(8,r),this.finishObjectProperty(e);if(!e.computed&&"Identifier"===e.key.type){if(this.checkReservedWord(e.key.name,e.key.loc.start,!0,!1),n)e.value=this.parseMaybeDefault(t,this.cloneIdentifier(e.key));else if(this.match(29)){const n=this.state.startLoc;null!=r?null===r.shorthandAssignLoc&&(r.shorthandAssignLoc=n):this.raise(_w.InvalidCoverInitializedName,n),e.value=this.parseMaybeDefault(t,this.cloneIdentifier(e.key))}else e.value=this.cloneIdentifier(e.key);return e.shorthand=!0,this.finishObjectProperty(e)}}finishObjectProperty(e){return this.finishNode(e,"ObjectProperty")}parseObjPropValue(e,t,n,r,i,s,a){const o=this.parseObjectMethod(e,n,r,i,s)||this.parseObjectProperty(e,t,i,a);return o||this.unexpected(),o}parsePropertyName(e,t){if(this.eat(0))e.computed=!0,e.key=this.parseMaybeAssignAllowIn(),this.expect(3);else{const{type:n,value:r}=this.state;let i;if(nC(n))i=this.parseIdentifier(!0);else switch(n){case 135:i=this.parseNumericLiteral(r);break;case 134:i=this.parseStringLiteral(r);break;case 136:i=this.parseBigIntLiteral(r);break;case 139:{const e=this.state.startLoc;null!=t?null===t.privateKeyLoc&&(t.privateKeyLoc=e):this.raise(_w.UnexpectedPrivateField,e),i=this.parsePrivateName();break}default:this.unexpected()}e.key=i,139!==n&&(e.computed=!1)}}initFunction(e,t){e.id=null,e.generator=!1,e.async=t}parseMethod(e,t,n,r,i,s,a=!1){this.initFunction(e,n),e.generator=t,this.scope.enter(530|(a?576:0)|(i?32:0)),this.prodParam.enter(VC(n,e.generator)),this.parseFunctionParams(e,r);const o=this.parseFunctionBodyAndFinish(e,s,!0);return this.prodParam.exit(),this.scope.exit(),o}parseArrayLike(e,t,n,r){n&&this.expectPlugin("recordAndTuple");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const s=this.startNode();return this.next(),s.elements=this.parseExprList(e,!n,r,s),this.state.inFSharpPipelineDirectBody=i,this.finishNode(s,n?"TupleExpression":"ArrayExpression")}parseArrowExpression(e,t,n,r){this.scope.enter(518);let i=VC(n,!1);!this.match(5)&&this.prodParam.hasIn&&(i|=8),this.prodParam.enter(i),this.initFunction(e,n);const s=this.state.maybeInArrowParameters;return t&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(e,t,r)),this.state.maybeInArrowParameters=!1,this.parseFunctionBody(e,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=s,this.finishNode(e,"ArrowFunctionExpression")}setArrowFunctionParameters(e,t,n){this.toAssignableList(t,n,!1),e.params=t}parseFunctionBodyAndFinish(e,t,n=!1){return this.parseFunctionBody(e,!1,n),this.finishNode(e,t)}parseFunctionBody(e,t,n=!1){const r=t&&!this.match(5);if(this.expressionScope.enter(mk()),r)e.body=this.parseMaybeAssign(),this.checkParams(e,!1,t,!1);else{const r=this.state.strict,i=this.state.labels;this.state.labels=[],this.prodParam.enter(4|this.prodParam.currentFlags()),e.body=this.parseBlock(!0,!1,i=>{const s=!this.isSimpleParamList(e.params);i&&s&&this.raise(_w.IllegalLanguageModeDirective,"method"!==e.kind&&"constructor"!==e.kind||!e.key?e:e.key.loc.end);const a=!r&&this.state.strict;this.checkParams(e,!(this.state.strict||t||n||s),t,a),this.state.strict&&e.id&&this.checkIdentifier(e.id,65,a)}),this.prodParam.exit(),this.state.labels=i}this.expressionScope.exit()}isSimpleParameter(e){return"Identifier"===e.type}isSimpleParamList(e){for(let t=0,n=e.length;t<n;t++)if(!this.isSimpleParameter(e[t]))return!1;return!0}checkParams(e,t,n,r=!0){const i=!t&&new Set,s={type:"FormalParameters"};for(const t of e.params)this.checkLVal(t,s,5,i,r)}parseExprList(e,t,n,r){const i=[];let s=!0;for(;!this.eat(e);){if(s)s=!1;else if(this.expect(12),this.match(e)){r&&this.addTrailingCommaExtraToNode(r),this.next();break}i.push(this.parseExprListItem(e,t,n))}return i}parseExprListItem(e,t,n,r){let i;if(this.match(12))t||this.raise(_w.UnexpectedToken,this.state.curPosition(),{unexpected:","}),i=null;else if(this.match(21)){const e=this.state.startLoc;i=this.parseParenItem(this.parseSpread(n),e)}else if(this.match(17)){this.expectPlugin("partialApplication"),r||this.raise(_w.UnexpectedArgumentPlaceholder,this.state.startLoc);const e=this.startNode();this.next(),i=this.finishNode(e,"ArgumentPlaceholder")}else i=this.parseMaybeAssignAllowInOrVoidPattern(e,n,this.parseParenItem);return i}parseIdentifier(e){const t=this.startNode(),n=this.parseIdentifierName(e);return this.createIdentifier(t,n)}createIdentifier(e,t){return e.name=t,e.loc.identifierName=t,this.finishNode(e,"Identifier")}createIdentifierAt(e,t,n){return e.name=t,e.loc.identifierName=t,this.finishNodeAt(e,"Identifier",n)}parseIdentifierName(e){let t;const{startLoc:n,type:r}=this.state;nC(r)?t=this.state.value:this.unexpected();const i=r<=92;return e?i&&this.replaceToken(132):this.checkReservedWord(t,n,i,!1),this.next(),t}checkReservedWord(e,t,n,r){if(e.length>10)return;if(!function(e){return kC.has(e)}(e))return;if(n&&function(e){return TC.has(e)}(e))return void this.raise(_w.UnexpectedKeyword,t,{keyword:e});if((this.state.strict?r?CC:AC:vC)(e,this.inModule))this.raise(_w.UnexpectedReservedWord,t,{reservedWord:e});else if("yield"===e){if(this.prodParam.hasYield)return void this.raise(_w.YieldBindingIdentifier,t)}else if("await"===e){if(this.prodParam.hasAwait)return void this.raise(_w.AwaitBindingIdentifier,t);if(this.scope.inStaticBlock)return void this.raise(_w.AwaitBindingIdentifierInStaticBlock,t);this.expressionScope.recordAsyncArrowParametersError(t)}else if("arguments"===e&&this.scope.inClassAndNotInNonArrowFunction)return void this.raise(_w.ArgumentsInClass,t)}recordAwaitIfAllowed(){const e=this.prodParam.hasAwait;return e&&!this.scope.inFunction&&(this.state.hasTopLevelAwait=!0),e}parseAwait(e){const t=this.startNodeAt(e);return this.expressionScope.recordParameterInitializerError(_w.AwaitExpressionFormalParameter,t),this.eat(55)&&this.raise(_w.ObsoleteAwaitStar,t),this.scope.inFunction||1&this.optionFlags||(this.isAmbiguousPrefixOrIdentifier()?this.ambiguousScriptDifferentAst=!0:this.sawUnambiguousESM=!0),this.state.soloAwait||(t.argument=this.parseMaybeUnary(null,!0)),this.finishNode(t,"AwaitExpression")}isAmbiguousPrefixOrIdentifier(){if(this.hasPrecedingLineBreak())return!0;const{type:e}=this.state;return 53===e||10===e||0===e||uC(e)||102===e&&!this.state.containsEsc||138===e||56===e||this.hasPlugin("v8intrinsic")&&54===e}parseYield(e){const t=this.startNodeAt(e);this.expressionScope.recordParameterInitializerError(_w.YieldInParameter,t);let n=!1,r=null;if(!this.hasPrecedingLineBreak())switch(n=this.eat(55),this.state.type){case 13:case 140:case 8:case 11:case 3:case 9:case 14:case 12:if(!n)break;default:r=this.parseMaybeAssign()}return t.delegate=n,t.argument=r,this.finishNode(t,"YieldExpression")}parseImportCall(e){if(this.next(),e.source=this.parseMaybeAssignAllowIn(),e.options=null,this.eat(12))if(this.match(11))this.addTrailingCommaExtraToNode(e.source);else if(e.options=this.parseMaybeAssignAllowIn(),this.eat(12)&&(this.addTrailingCommaExtraToNode(e.options),!this.match(11))){do{this.parseMaybeAssignAllowIn()}while(this.eat(12)&&!this.match(11));this.raise(_w.ImportCallArity,e)}return this.expect(11),this.finishNode(e,"ImportExpression")}checkPipelineAtInfixOperator(e,t){this.hasPlugin(["pipelineOperator",{proposal:"smart"}])&&"SequenceExpression"===e.type&&this.raise(_w.PipelineHeadSequenceExpression,t)}parseSmartPipelineBodyInStyle(e,t){if(this.isSimpleReference(e)){const n=this.startNodeAt(t);return n.callee=e,this.finishNode(n,"PipelineBareFunction")}{const n=this.startNodeAt(t);return this.checkSmartPipeTopicBodyEarlyErrors(t),n.expression=e,this.finishNode(n,"PipelineTopicExpression")}}isSimpleReference(e){switch(e.type){case"MemberExpression":return!e.computed&&this.isSimpleReference(e.object);case"Identifier":return!0;default:return!1}}checkSmartPipeTopicBodyEarlyErrors(e){if(this.match(19))throw this.raise(_w.PipelineBodyNoArrow,this.state.startLoc);this.topicReferenceWasUsedInCurrentContext()||this.raise(_w.PipelineTopicUnused,e)}withTopicBindingContext(e){const t=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:1,maxTopicIndex:null};try{return e()}finally{this.state.topicContext=t}}withSmartMixTopicForbiddingContext(e){return e()}withSoloAwaitPermittingContext(e){const t=this.state.soloAwait;this.state.soloAwait=!0;try{return e()}finally{this.state.soloAwait=t}}allowInAnd(e){const t=this.prodParam.currentFlags();if(8&~t){this.prodParam.enter(8|t);try{return e()}finally{this.prodParam.exit()}}return e()}disallowInAnd(e){const t=this.prodParam.currentFlags();if(8&t){this.prodParam.enter(-9&t);try{return e()}finally{this.prodParam.exit()}}return e()}registerTopicReference(){this.state.topicContext.maxTopicIndex=0}topicReferenceIsAllowedInCurrentContext(){return this.state.topicContext.maxNumOfResolvableTopics>=1}topicReferenceWasUsedInCurrentContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(e){const t=this.state.startLoc;this.state.potentialArrowAt=this.state.start;const n=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;const r=this.parseExprOp(this.parseMaybeUnaryOrPrivate(),t,e);return this.state.inFSharpPipelineDirectBody=n,r}parseModuleExpression(){this.expectPlugin("moduleBlocks");const e=this.startNode();this.next(),this.match(5)||this.unexpected(null,5);const t=this.startNodeAt(this.state.endLoc);this.next();const n=this.initializeScopes(!0);this.enterInitialScopes();try{e.body=this.parseProgram(t,8,"module")}finally{n()}return this.finishNode(e,"ModuleExpression")}parseVoidPattern(e){this.expectPlugin("discardBinding");const t=this.startNode();return null!=e&&(e.voidPatternLoc=this.state.startLoc),this.next(),this.finishNode(t,"VoidPattern")}parseMaybeAssignAllowInOrVoidPattern(e,t,n){if(null!=t&&this.match(88)){const n=this.lookaheadCharCode();if(44===n||n===(3===e?93:8===e?125:41)||61===n)return this.parseMaybeDefault(this.state.startLoc,this.parseVoidPattern(t))}return this.parseMaybeAssignAllowIn(t,n)}parsePropertyNamePrefixOperator(e){}},Rk={kind:1},jk={kind:2},Uk=/[\uD800-\uDFFF]/u,qk=/in(?:stanceof)?/y;var $k=class extends Fk{parseTopLevel(e,t){return e.program=this.parseProgram(t,140,"module"===this.options.sourceType?"module":"script"),e.comments=this.comments,256&this.optionFlags&&(e.tokens=function(e){for(let t=0;t<e.length;t++){const n=e[t],{type:r}=n;"number"==typeof r&&(n.type=cC(r))}return e}(this.tokens,this.input,this.startIndex)),this.finishNode(e,"File")}parseProgram(e,t,n){if(e.sourceType=n,e.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(e,!0,!0,t),this.inModule){if(!(64&this.optionFlags)&&this.scope.undefinedExports.size>0)for(const[e,t]of Array.from(this.scope.undefinedExports))this.raise(_w.ModuleExportUndefined,t,{localName:e});this.addExtra(e,"topLevelAwait",this.state.hasTopLevelAwait)}let r;return r=140===t?this.finishNode(e,"Program"):this.finishNodeAt(e,"Program",gw(this.state.startLoc,-1)),r}stmtToDirective(e){const t=this.castNodeTo(e,"Directive"),n=this.castNodeTo(e.expression,"DirectiveLiteral"),r=n.value,i=this.input.slice(this.offsetToSourcePos(n.start),this.offsetToSourcePos(n.end)),s=n.value=i.slice(1,-1);return this.addExtra(n,"raw",i),this.addExtra(n,"rawValue",s),this.addExtra(n,"expressionValue",r),t.value=n,delete e.expression,t}parseInterpreterDirective(){if(!this.match(28))return null;const e=this.startNode();return e.value=this.state.value,this.next(),this.finishNode(e,"InterpreterDirective")}isLet(){return!!this.isContextual(100)&&this.hasFollowingBindingAtom()}isUsing(){if(!this.isContextual(107))return!1;const e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return this.chStartsBindingIdentifier(t,e)}isForUsing(){if(!this.isContextual(107))return!1;const e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);if(this.isUnparsedContextual(e,"of")){const t=this.lookaheadCharCodeSince(e+2);if(61!==t&&58!==t&&59!==t)return!1}return!(!this.chStartsBindingIdentifier(t,e)&&!this.isUnparsedContextual(e,"void"))}isAwaitUsing(){if(!this.isContextual(96))return!1;let e=this.nextTokenInLineStart();if(this.isUnparsedContextual(e,"using")){e=this.nextTokenInLineStartSince(e+5);const t=this.codePointAtPos(e);if(this.chStartsBindingIdentifier(t,e))return!0}return!1}chStartsBindingIdentifier(e,t){if(gC(e)){if(qk.lastIndex=t,qk.test(this.input)){const e=this.codePointAtPos(qk.lastIndex);if(!bC(e)&&92!==e)return!1}return!0}return 92===e}chStartsBindingPattern(e){return 91===e||123===e}hasFollowingBindingAtom(){const e=this.nextTokenStart(),t=this.codePointAtPos(e);return this.chStartsBindingPattern(t)||this.chStartsBindingIdentifier(t,e)}hasInLineFollowingBindingIdentifierOrBrace(){const e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return 123===t||this.chStartsBindingIdentifier(t,e)}allowsUsing(){return(this.scope.inModule||!this.scope.inTopLevel)&&!this.scope.inBareCaseStatement}parseModuleItem(){return this.parseStatementLike(15)}parseStatementListItem(){return this.parseStatementLike(6|(!this.options.annexB||this.state.strict?0:8))}parseStatementOrSloppyAnnexBFunctionDeclaration(e=!1){let t=0;return this.options.annexB&&!this.state.strict&&(t|=4,e&&(t|=8)),this.parseStatementLike(t)}parseStatement(){return this.parseStatementLike(0)}parseStatementLike(e){let t=null;return this.match(26)&&(t=this.parseDecorators(!0)),this.parseStatementContent(e,t)}parseStatementContent(e,t){const n=this.state.type,r=this.startNode(),i=!!(2&e),s=!!(4&e),a=1&e;switch(n){case 60:return this.parseBreakContinueStatement(r,!0);case 63:return this.parseBreakContinueStatement(r,!1);case 64:return this.parseDebuggerStatement(r);case 90:return this.parseDoWhileStatement(r);case 91:return this.parseForStatement(r);case 68:if(46===this.lookaheadCharCode())break;return s||this.raise(this.state.strict?_w.StrictFunction:this.options.annexB?_w.SloppyFunctionAnnexB:_w.SloppyFunction,this.state.startLoc),this.parseFunctionStatement(r,!1,!i&&s);case 80:return i||this.unexpected(),this.parseClass(this.maybeTakeDecorators(t,r),!0);case 69:return this.parseIfStatement(r);case 70:return this.parseReturnStatement(r);case 71:return this.parseSwitchStatement(r);case 72:return this.parseThrowStatement(r);case 73:return this.parseTryStatement(r);case 96:if(this.isAwaitUsing())return this.allowsUsing()?i?this.recordAwaitIfAllowed()||this.raise(_w.AwaitUsingNotInAsyncContext,r):this.raise(_w.UnexpectedLexicalDeclaration,r):this.raise(_w.UnexpectedUsingDeclaration,r),this.next(),this.parseVarStatement(r,"await using");break;case 107:if(this.state.containsEsc||!this.hasInLineFollowingBindingIdentifierOrBrace())break;return this.allowsUsing()?i||this.raise(_w.UnexpectedLexicalDeclaration,this.state.startLoc):this.raise(_w.UnexpectedUsingDeclaration,this.state.startLoc),this.parseVarStatement(r,"using");case 100:{if(this.state.containsEsc)break;const e=this.nextTokenStart(),t=this.codePointAtPos(e);if(91!==t){if(!i&&this.hasFollowingLineBreak())break;if(!this.chStartsBindingIdentifier(t,e)&&123!==t)break}}case 75:i||this.raise(_w.UnexpectedLexicalDeclaration,this.state.startLoc);case 74:{const e=this.state.value;return this.parseVarStatement(r,e)}case 92:return this.parseWhileStatement(r);case 76:return this.parseWithStatement(r);case 5:return this.parseBlock();case 13:return this.parseEmptyStatement(r);case 83:{const e=this.lookaheadCharCode();if(40===e||46===e)break}case 82:{let e;return 8&this.optionFlags||a||this.raise(_w.UnexpectedImportExport,this.state.startLoc),this.next(),e=83===n?this.parseImport(r):this.parseExport(r,t),this.assertModuleNodeAllowed(e),e}default:if(this.isAsyncFunction())return i||this.raise(_w.AsyncFunctionInSingleStatementContext,this.state.startLoc),this.next(),this.parseFunctionStatement(r,!0,!i&&s)}const o=this.state.value,u=this.parseExpression();return tC(n)&&"Identifier"===u.type&&this.eat(14)?this.parseLabeledStatement(r,o,u,e):this.parseExpressionStatement(r,u,t)}assertModuleNodeAllowed(e){8&this.optionFlags||this.inModule||this.raise(_w.ImportOutsideModule,e)}decoratorsEnabledBeforeExport(){return!!this.hasPlugin("decorators-legacy")||this.hasPlugin("decorators")&&!1!==this.getPluginOption("decorators","decoratorsBeforeExport")}maybeTakeDecorators(e,t,n){return e&&(t.decorators?.length?("boolean"!=typeof this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(_w.DecoratorsBeforeAfterExport,t.decorators[0]),t.decorators.unshift(...e)):t.decorators=e,this.resetStartLocationFromNode(t,e[0]),n&&this.resetStartLocationFromNode(n,t)),t}canHaveLeadingDecorator(){return this.match(80)}parseDecorators(e){const t=[];do{t.push(this.parseDecorator())}while(this.match(26));if(this.match(82))e||this.unexpected(),this.decoratorsEnabledBeforeExport()||this.raise(_w.DecoratorExportClass,this.state.startLoc);else if(!this.canHaveLeadingDecorator())throw this.raise(_w.UnexpectedLeadingDecorator,this.state.startLoc);return t}parseDecorator(){this.expectOnePlugin(["decorators","decorators-legacy"]);const e=this.startNode();if(this.next(),this.hasPlugin("decorators")){const t=this.state.startLoc;let n;if(this.match(10)){const t=this.state.startLoc;this.next(),n=this.parseExpression(),this.expect(11),n=this.wrapParenthesis(t,n);const r=this.state.startLoc;e.expression=this.parseMaybeDecoratorArguments(n,t),!1===this.getPluginOption("decorators","allowCallParenthesized")&&e.expression!==n&&this.raise(_w.DecoratorArgumentsOutsideParentheses,r)}else{for(n=this.parseIdentifier(!1);this.eat(16);){const e=this.startNodeAt(t);e.object=n,this.match(139)?(this.classScope.usePrivateName(this.state.value,this.state.startLoc),e.property=this.parsePrivateName()):e.property=this.parseIdentifier(!0),e.computed=!1,n=this.finishNode(e,"MemberExpression")}e.expression=this.parseMaybeDecoratorArguments(n,t)}}else e.expression=this.parseExprSubscripts();return this.finishNode(e,"Decorator")}parseMaybeDecoratorArguments(e,t){if(this.eat(10)){const n=this.startNodeAt(t);return n.callee=e,n.arguments=this.parseCallExpressionArguments(),this.toReferencedList(n.arguments),this.finishNode(n,"CallExpression")}return e}parseBreakContinueStatement(e,t){return this.next(),this.isLineTerminator()?e.label=null:(e.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(e,t),this.finishNode(e,t?"BreakStatement":"ContinueStatement")}verifyBreakContinue(e,t){let n;for(n=0;n<this.state.labels.length;++n){const r=this.state.labels[n];if(null==e.label||r.name===e.label.name){if(null!=r.kind&&(t||1===r.kind))break;if(e.label&&t)break}}if(n===this.state.labels.length){const n=t?"BreakStatement":"ContinueStatement";this.raise(_w.IllegalBreakContinue,e,{type:n})}}parseDebuggerStatement(e){return this.next(),this.semicolon(),this.finishNode(e,"DebuggerStatement")}parseHeaderExpression(){this.expect(10);const e=this.parseExpression();return this.expect(11),e}parseDoWhileStatement(e){return this.next(),this.state.labels.push(Rk),e.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.state.labels.pop(),this.expect(92),e.test=this.parseHeaderExpression(),this.eat(13),this.finishNode(e,"DoWhileStatement")}parseForStatement(e){this.next(),this.state.labels.push(Rk);let t=null;if(this.isContextual(96)&&this.recordAwaitIfAllowed()&&(t=this.state.startLoc,this.next()),this.scope.enter(0),this.expect(10),this.match(13))return null!==t&&this.unexpected(t),this.parseFor(e,null);const n=this.isContextual(100);{const r=this.isAwaitUsing(),i=r||this.isForUsing(),s=n&&this.hasFollowingBindingAtom()||i;if(this.match(74)||this.match(75)||s){const n=this.startNode();let s;r?(s="await using",this.recordAwaitIfAllowed()||this.raise(_w.AwaitUsingNotInAsyncContext,this.state.startLoc),this.next()):s=this.state.value,this.next(),this.parseVar(n,!0,s);const a=this.finishNode(n,"VariableDeclaration"),o=this.match(58);return o&&i&&this.raise(_w.ForInUsing,a),(o||this.isContextual(102))&&1===a.declarations.length?this.parseForIn(e,a,t):(null!==t&&this.unexpected(t),this.parseFor(e,a))}}const r=this.isContextual(95),i=new gk,s=this.parseExpression(!0,i),a=this.isContextual(102);if(a&&(n&&this.raise(_w.ForOfLet,s),null===t&&r&&"Identifier"===s.type&&this.raise(_w.ForOfAsync,s)),a||this.match(58)){this.checkDestructuringPrivate(i),this.toAssignable(s,!0);const n=a?"ForOfStatement":"ForInStatement";return this.checkLVal(s,{type:n}),this.parseForIn(e,s,t)}return this.checkExpressionErrors(i,!0),null!==t&&this.unexpected(t),this.parseFor(e,s)}parseFunctionStatement(e,t,n){return this.next(),this.parseFunction(e,1|(n?2:0)|(t?8:0))}parseIfStatement(e){return this.next(),e.test=this.parseHeaderExpression(),e.consequent=this.parseStatementOrSloppyAnnexBFunctionDeclaration(),e.alternate=this.eat(66)?this.parseStatementOrSloppyAnnexBFunctionDeclaration():null,this.finishNode(e,"IfStatement")}parseReturnStatement(e){return this.prodParam.hasReturn||this.raise(_w.IllegalReturn,this.state.startLoc),this.next(),this.isLineTerminator()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")}parseSwitchStatement(e){this.next(),e.discriminant=this.parseHeaderExpression();const t=e.cases=[];let n;this.expect(5),this.state.labels.push(jk),this.scope.enter(256);for(let e;!this.match(8);)if(this.match(61)||this.match(65)){const r=this.match(61);n&&this.finishNode(n,"SwitchCase"),t.push(n=this.startNode()),n.consequent=[],this.next(),r?n.test=this.parseExpression():(e&&this.raise(_w.MultipleDefaultsInSwitch,this.state.lastTokStartLoc),e=!0,n.test=null),this.expect(14)}else n?n.consequent.push(this.parseStatementListItem()):this.unexpected();return this.scope.exit(),n&&this.finishNode(n,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(e,"SwitchStatement")}parseThrowStatement(e){return this.next(),this.hasPrecedingLineBreak()&&this.raise(_w.NewlineAfterThrow,this.state.lastTokEndLoc),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")}parseCatchClauseParam(){const e=this.parseBindingAtom();return this.scope.enter(this.options.annexB&&"Identifier"===e.type?8:0),this.checkLVal(e,{type:"CatchClause"},9),e}parseTryStatement(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.match(62)){const t=this.startNode();this.next(),this.match(10)?(this.expect(10),t.param=this.parseCatchClauseParam(),this.expect(11)):(t.param=null,this.scope.enter(0)),t.body=this.withSmartMixTopicForbiddingContext(()=>this.parseBlock(!1,!1)),this.scope.exit(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(67)?this.parseBlock():null,e.handler||e.finalizer||this.raise(_w.NoCatchOrFinally,e),this.finishNode(e,"TryStatement")}parseVarStatement(e,t,n=!1){return this.next(),this.parseVar(e,!1,t,n),this.semicolon(),this.finishNode(e,"VariableDeclaration")}parseWhileStatement(e){return this.next(),e.test=this.parseHeaderExpression(),this.state.labels.push(Rk),e.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.state.labels.pop(),this.finishNode(e,"WhileStatement")}parseWithStatement(e){return this.state.strict&&this.raise(_w.StrictWith,this.state.startLoc),this.next(),e.object=this.parseHeaderExpression(),e.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.finishNode(e,"WithStatement")}parseEmptyStatement(e){return this.next(),this.finishNode(e,"EmptyStatement")}parseLabeledStatement(e,t,n,r){for(const e of this.state.labels)e.name===t&&this.raise(_w.LabelRedeclaration,n,{labelName:t});const i=(s=this.state.type)>=90&&s<=92?1:this.match(71)?2:null;var s;for(let t=this.state.labels.length-1;t>=0;t--){const n=this.state.labels[t];if(n.statementStart!==e.start)break;n.statementStart=this.sourceToOffsetPos(this.state.start),n.kind=i}return this.state.labels.push({name:t,kind:i,statementStart:this.sourceToOffsetPos(this.state.start)}),e.body=8&r?this.parseStatementOrSloppyAnnexBFunctionDeclaration(!0):this.parseStatement(),this.state.labels.pop(),e.label=n,this.finishNode(e,"LabeledStatement")}parseExpressionStatement(e,t,n){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")}parseBlock(e=!1,t=!0,n){const r=this.startNode();return e&&this.state.strictErrors.clear(),this.expect(5),t&&this.scope.enter(0),this.parseBlockBody(r,e,!1,8,n),t&&this.scope.exit(),this.finishNode(r,"BlockStatement")}isValidDirective(e){return"ExpressionStatement"===e.type&&"StringLiteral"===e.expression.type&&!e.expression.extra.parenthesized}parseBlockBody(e,t,n,r,i){const s=e.body=[],a=e.directives=[];this.parseBlockOrModuleBlockBody(s,t?a:void 0,n,r,i)}parseBlockOrModuleBlockBody(e,t,n,r,i){const s=this.state.strict;let a=!1,o=!1;for(;!this.match(r);){const r=n?this.parseModuleItem():this.parseStatementListItem();if(t&&!o){if(this.isValidDirective(r)){const e=this.stmtToDirective(r);t.push(e),a||"use strict"!==e.value.value||(a=!0,this.setStrict(!0));continue}o=!0,this.state.strictErrors.clear()}e.push(r)}i?.call(this,a),s||this.setStrict(!1),this.next()}parseFor(e,t){return e.init=t,this.semicolon(!1),e.test=this.match(13)?null:this.parseExpression(),this.semicolon(!1),e.update=this.match(11)?null:this.parseExpression(),this.expect(11),e.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,"ForStatement")}parseForIn(e,t,n){const r=this.match(58);return this.next(),r?null!==n&&this.unexpected(n):e.await=null!==n,"VariableDeclaration"!==t.type||null==t.declarations[0].init||r&&this.options.annexB&&!this.state.strict&&"var"===t.kind&&"Identifier"===t.declarations[0].id.type||this.raise(_w.ForInOfLoopInitializer,t,{type:r?"ForInStatement":"ForOfStatement"}),"AssignmentPattern"===t.type&&this.raise(_w.InvalidLhs,t,{ancestor:{type:"ForStatement"}}),e.left=t,e.right=r?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(11),e.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,r?"ForInStatement":"ForOfStatement")}parseVar(e,t,n,r=!1){const i=e.declarations=[];for(e.kind=n;;){const e=this.startNode();if(this.parseVarId(e,n),e.init=this.eat(29)?t?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():null,null!==e.init||r||("Identifier"===e.id.type||t&&(this.match(58)||this.isContextual(102))?"const"!==n&&"using"!==n&&"await using"!==n||this.match(58)||this.isContextual(102)||this.raise(_w.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:n}):this.raise(_w.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:"destructuring"})),i.push(this.finishNode(e,"VariableDeclarator")),!this.eat(12))break}return e}parseVarId(e,t){const n=this.parseBindingAtom();"using"===t||"await using"===t?"ArrayPattern"!==n.type&&"ObjectPattern"!==n.type||this.raise(_w.UsingDeclarationHasBindingPattern,n.loc.start):"VoidPattern"===n.type&&this.raise(_w.UnexpectedVoidPattern,n.loc.start),this.checkLVal(n,{type:"VariableDeclarator"},"var"===t?5:8201),e.id=n}parseAsyncFunctionExpression(e){return this.parseFunction(e,8)}parseFunction(e,t=0){const n=2&t,r=!!(1&t),i=r&&!(4&t),s=!!(8&t);this.initFunction(e,s),this.match(55)&&(n&&this.raise(_w.GeneratorInSingleStatementContext,this.state.startLoc),this.next(),e.generator=!0),r&&(e.id=this.parseFunctionId(i));const a=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(514),this.prodParam.enter(VC(s,e.generator)),r||(e.id=this.parseFunctionId()),this.parseFunctionParams(e,!1),this.withSmartMixTopicForbiddingContext(()=>{this.parseFunctionBodyAndFinish(e,r?"FunctionDeclaration":"FunctionExpression")}),this.prodParam.exit(),this.scope.exit(),r&&!n&&this.registerFunctionStatementId(e),this.state.maybeInArrowParameters=a,e}parseFunctionId(e){return e||tC(this.state.type)?this.parseIdentifier():null}parseFunctionParams(e,t){this.expect(10),this.expressionScope.enter(new dk(3)),e.params=this.parseBindingList(11,41,2|(t?4:0)),this.expressionScope.exit()}registerFunctionStatementId(e){e.id&&this.scope.declareName(e.id.name,!this.options.annexB||this.state.strict||e.generator||e.async?this.scope.treatFunctionsAsVar?5:8201:17,e.id.loc.start)}parseClass(e,t,n){this.next();const r=this.state.strict;return this.state.strict=!0,this.parseClassId(e,t,n),this.parseClassSuper(e),e.body=this.parseClassBody(!!e.superClass,r),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(29)||this.match(13)||this.match(8)}isClassMethod(){return this.match(10)}nameIsConstructor(e){return"Identifier"===e.type&&"constructor"===e.name||"StringLiteral"===e.type&&"constructor"===e.value}isNonstaticConstructor(e){return!e.computed&&!e.static&&this.nameIsConstructor(e.key)}parseClassBody(e,t){this.classScope.enter();const n={hadConstructor:!1,hadSuperClass:e};let r=[];const i=this.startNode();if(i.body=[],this.expect(5),this.withSmartMixTopicForbiddingContext(()=>{for(;!this.match(8);){if(this.eat(13)){if(r.length>0)throw this.raise(_w.DecoratorSemicolon,this.state.lastTokEndLoc);continue}if(this.match(26)){r.push(this.parseDecorator());continue}const e=this.startNode();r.length&&(e.decorators=r,this.resetStartLocationFromNode(e,r[0]),r=[]),this.parseClassMember(i,e,n),"constructor"===e.kind&&e.decorators&&e.decorators.length>0&&this.raise(_w.DecoratorConstructor,e)}}),this.state.strict=t,this.next(),r.length)throw this.raise(_w.TrailingDecorator,this.state.startLoc);return this.classScope.exit(),this.finishNode(i,"ClassBody")}parseClassMemberFromModifier(e,t){const n=this.parseIdentifier(!0);if(this.isClassMethod()){const r=t;return r.kind="method",r.computed=!1,r.key=n,r.static=!1,this.pushClassMethod(e,r,!1,!1,!1,!1),!0}if(this.isClassProperty()){const r=t;return r.computed=!1,r.key=n,r.static=!1,e.body.push(this.parseClassProperty(r)),!0}return this.resetPreviousNodeTrailingComments(n),!1}parseClassMember(e,t,n){const r=this.isContextual(106);if(r){if(this.parseClassMemberFromModifier(e,t))return;if(this.eat(5))return void this.parseClassStaticBlock(e,t)}this.parseClassMemberWithIsStatic(e,t,n,r)}parseClassMemberWithIsStatic(e,t,n,r){const i=t,s=t,a=t,o=t,u=t,c=i,l=i;if(t.static=r,this.parsePropertyNamePrefixOperator(t),this.eat(55)){c.kind="method";const t=this.match(139);return this.parseClassElementName(c),this.parsePostMemberNameModifiers(c),t?void this.pushClassPrivateMethod(e,s,!0,!1):(this.isNonstaticConstructor(i)&&this.raise(_w.ConstructorIsGenerator,i.key),void this.pushClassMethod(e,i,!0,!1,!1,!1))}const p=!this.state.containsEsc&&tC(this.state.type),d=this.parseClassElementName(t),h=p?d.name:null,f=this.isPrivateName(d),m=this.state.startLoc;if(this.parsePostMemberNameModifiers(l),this.isClassMethod()){if(c.kind="method",f)return void this.pushClassPrivateMethod(e,s,!1,!1);const r=this.isNonstaticConstructor(i);let a=!1;r&&(i.kind="constructor",n.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(_w.DuplicateConstructor,d),r&&this.hasPlugin("typescript")&&t.override&&this.raise(_w.OverrideOnConstructor,d),n.hadConstructor=!0,a=n.hadSuperClass),this.pushClassMethod(e,i,!1,!1,r,a)}else if(this.isClassProperty())f?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,a);else if("async"!==h||this.isLineTerminator())if("get"!==h&&"set"!==h||this.match(55)&&this.isLineTerminator())if("accessor"!==h||this.isLineTerminator())this.isLineTerminator()?f?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,a):this.unexpected();else{this.expectPlugin("decoratorAutoAccessors"),this.resetPreviousNodeTrailingComments(d);const t=this.match(139);this.parseClassElementName(a),this.pushClassAccessorProperty(e,u,t)}else{this.resetPreviousNodeTrailingComments(d),c.kind=h;const t=this.match(139);this.parseClassElementName(i),t?this.pushClassPrivateMethod(e,s,!1,!1):(this.isNonstaticConstructor(i)&&this.raise(_w.ConstructorIsAccessor,i.key),this.pushClassMethod(e,i,!1,!1,!1,!1)),this.checkGetterSetterParams(i)}else{this.resetPreviousNodeTrailingComments(d);const t=this.eat(55);l.optional&&this.unexpected(m),c.kind="method";const n=this.match(139);this.parseClassElementName(c),this.parsePostMemberNameModifiers(l),n?this.pushClassPrivateMethod(e,s,t,!0):(this.isNonstaticConstructor(i)&&this.raise(_w.ConstructorIsAsync,i.key),this.pushClassMethod(e,i,t,!0,!1,!1))}}parseClassElementName(e){const{type:t,value:n}=this.state;if(132!==t&&134!==t||!e.static||"prototype"!==n||this.raise(_w.StaticPrototype,this.state.startLoc),139===t){"constructor"===n&&this.raise(_w.ConstructorClassPrivateField,this.state.startLoc);const t=this.parsePrivateName();return e.key=t,t}return this.parsePropertyName(e),e.key}parseClassStaticBlock(e,t){this.scope.enter(720);const n=this.state.labels;this.state.labels=[],this.prodParam.enter(0);const r=t.body=[];this.parseBlockOrModuleBlockBody(r,void 0,!1,8),this.prodParam.exit(),this.scope.exit(),this.state.labels=n,e.body.push(this.finishNode(t,"StaticBlock")),t.decorators?.length&&this.raise(_w.DecoratorStaticBlock,t)}pushClassProperty(e,t){!t.computed&&this.nameIsConstructor(t.key)&&this.raise(_w.ConstructorClassField,t.key),e.body.push(this.parseClassProperty(t))}pushClassPrivateProperty(e,t){const n=this.parseClassPrivateProperty(t);e.body.push(n),this.classScope.declarePrivateName(this.getPrivateNameSV(n.key),0,n.key.loc.start)}pushClassAccessorProperty(e,t,n){n||t.computed||!this.nameIsConstructor(t.key)||this.raise(_w.ConstructorClassField,t.key);const r=this.parseClassAccessorProperty(t);e.body.push(r),n&&this.classScope.declarePrivateName(this.getPrivateNameSV(r.key),0,r.key.loc.start)}pushClassMethod(e,t,n,r,i,s){e.body.push(this.parseMethod(t,n,r,i,s,"ClassMethod",!0))}pushClassPrivateMethod(e,t,n,r){const i=this.parseMethod(t,n,r,!1,!1,"ClassPrivateMethod",!0);e.body.push(i);const s="get"===i.kind?i.static?6:2:"set"===i.kind?i.static?5:1:0;this.declareClassPrivateMethodInScope(i,s)}declareClassPrivateMethodInScope(e,t){this.classScope.declarePrivateName(this.getPrivateNameSV(e.key),t,e.key.loc.start)}parsePostMemberNameModifiers(e){}parseClassPrivateProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassPrivateProperty")}parseClassProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassProperty")}parseClassAccessorProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassAccessorProperty")}parseInitializer(e){this.scope.enter(592),this.expressionScope.enter(mk()),this.prodParam.enter(0),e.value=this.eat(29)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(e,t,n,r=8331){if(tC(this.state.type))e.id=this.parseIdentifier(),t&&this.declareNameFromIdentifier(e.id,r);else{if(!n&&t)throw this.raise(_w.MissingClassName,this.state.startLoc);e.id=null}}parseClassSuper(e){e.superClass=this.eat(81)?this.parseExprSubscripts():null}parseExport(e,t){const n=this.parseMaybeImportPhase(e,!0),r=this.maybeParseExportDefaultSpecifier(e,n),i=!r||this.eat(12),s=i&&this.eatExportStar(e),a=s&&this.maybeParseExportNamespaceSpecifier(e),o=i&&(!a||this.eat(12)),u=r||s;if(s&&!a){if(r&&this.unexpected(),t)throw this.raise(_w.UnsupportedDecoratorExport,e);return this.parseExportFrom(e,!0),this.sawUnambiguousESM=!0,this.finishNode(e,"ExportAllDeclaration")}const c=this.maybeParseExportNamedSpecifiers(e);let l;if(r&&i&&!s&&!c&&this.unexpected(null,5),a&&o&&this.unexpected(null,98),u||c){if(l=!1,t)throw this.raise(_w.UnsupportedDecoratorExport,e);this.parseExportFrom(e,u)}else l=this.maybeParseExportDeclaration(e);if(u||c||l){const n=e;if(this.checkExport(n,!0,!1,!!n.source),"ClassDeclaration"===n.declaration?.type)this.maybeTakeDecorators(t,n.declaration,n);else if(t)throw this.raise(_w.UnsupportedDecoratorExport,e);return this.sawUnambiguousESM=!0,this.finishNode(n,"ExportNamedDeclaration")}if(this.eat(65)){const n=e,r=this.parseExportDefaultExpression();if(n.declaration=r,"ClassDeclaration"===r.type)this.maybeTakeDecorators(t,r,n);else if(t)throw this.raise(_w.UnsupportedDecoratorExport,e);return this.checkExport(n,!0,!0),this.sawUnambiguousESM=!0,this.finishNode(n,"ExportDefaultDeclaration")}this.unexpected(null,5)}eatExportStar(e){return this.eat(55)}maybeParseExportDefaultSpecifier(e,t){if(t||this.isExportDefaultSpecifier()){this.expectPlugin("exportDefaultFrom",t?.loc.start);const n=t||this.parseIdentifier(!0),r=this.startNodeAtNode(n);return r.exported=n,e.specifiers=[this.finishNode(r,"ExportDefaultSpecifier")],!0}return!1}maybeParseExportNamespaceSpecifier(e){if(this.isContextual(93)){e.specifiers??(e.specifiers=[]);const t=this.startNodeAt(this.state.lastTokStartLoc);return this.next(),t.exported=this.parseModuleExportName(),e.specifiers.push(this.finishNode(t,"ExportNamespaceSpecifier")),!0}return!1}maybeParseExportNamedSpecifiers(e){if(this.match(5)){const t=e;t.specifiers||(t.specifiers=[]);const n="type"===t.exportKind;return t.specifiers.push(...this.parseExportSpecifiers(n)),t.source=null,t.attributes=[],t.declaration=null,!0}return!1}maybeParseExportDeclaration(e){return!!this.shouldParseExportDeclaration()&&(e.specifiers=[],e.source=null,e.attributes=[],e.declaration=this.parseExportDeclaration(e),!0)}isAsyncFunction(){if(!this.isContextual(95))return!1;const e=this.nextTokenInLineStart();return this.isUnparsedContextual(e,"function")}parseExportDefaultExpression(){const e=this.startNode();if(this.match(68))return this.next(),this.parseFunction(e,5);if(this.isAsyncFunction())return this.next(),this.next(),this.parseFunction(e,13);if(this.match(80))return this.parseClass(e,!0,!0);if(this.match(26))return this.hasPlugin("decorators")&&!0===this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(_w.DecoratorBeforeExport,this.state.startLoc),this.parseClass(this.maybeTakeDecorators(this.parseDecorators(!1),this.startNode()),!0,!0);if(this.match(75)||this.match(74)||this.isLet()||this.isUsing()||this.isAwaitUsing())throw this.raise(_w.UnsupportedDefaultExport,this.state.startLoc);const t=this.parseMaybeAssignAllowIn();return this.semicolon(),t}parseExportDeclaration(e){if(this.match(80)){return this.parseClass(this.startNode(),!0,!1)}return this.parseStatementListItem()}isExportDefaultSpecifier(){const{type:e}=this.state;if(tC(e)){if(95===e&&!this.state.containsEsc||100===e)return!1;if((130===e||129===e)&&!this.state.containsEsc){const e=this.nextTokenStart(),t=this.input.charCodeAt(e);if(123===t||this.chStartsBindingIdentifier(t,e)&&!this.input.startsWith("from",e))return this.expectOnePlugin(["flow","typescript"]),!1}}else if(!this.match(65))return!1;const t=this.nextTokenStart(),n=this.isUnparsedContextual(t,"from");if(44===this.input.charCodeAt(t)||tC(this.state.type)&&n)return!0;if(this.match(65)&&n){const e=this.input.charCodeAt(this.nextTokenStartSince(t+4));return 34===e||39===e}return!1}parseExportFrom(e,t){this.eatContextual(98)?(e.source=this.parseImportSource(),this.checkExport(e),this.maybeParseImportAttributes(e),this.checkJSONModuleImport(e)):t&&this.unexpected(),this.semicolon()}shouldParseExportDeclaration(){const{type:e}=this.state;return 26===e&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))?(!0===this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(_w.DecoratorBeforeExport,this.state.startLoc),!0):this.isUsing()||this.isAwaitUsing()?(this.raise(_w.UsingDeclarationExport,this.state.startLoc),!0):74===e||75===e||68===e||80===e||this.isLet()||this.isAsyncFunction()}checkExport(e,t,n,r){if(t)if(n){if(this.checkDuplicateExports(e,"default"),this.hasPlugin("exportDefaultFrom")){const t=e.declaration;"Identifier"!==t.type||"from"!==t.name||t.end-t.start!==4||t.extra?.parenthesized||this.raise(_w.ExportDefaultFromAsIdentifier,t)}}else if(e.specifiers?.length)for(const t of e.specifiers){const{exported:e}=t,n="Identifier"===e.type?e.name:e.value;if(this.checkDuplicateExports(t,n),!r&&t.local){const{local:e}=t;"Identifier"!==e.type?this.raise(_w.ExportBindingIsString,t,{localName:e.value,exportName:n}):(this.checkReservedWord(e.name,e.loc.start,!0,!1),this.scope.checkLocalExport(e))}}else if(e.declaration){const t=e.declaration;if("FunctionDeclaration"===t.type||"ClassDeclaration"===t.type){const{id:n}=t;if(!n)throw new Error("Assertion failure");this.checkDuplicateExports(e,n.name)}else if("VariableDeclaration"===t.type)for(const e of t.declarations)this.checkDeclaration(e.id)}}checkDeclaration(e){if("Identifier"===e.type)this.checkDuplicateExports(e,e.name);else if("ObjectPattern"===e.type)for(const t of e.properties)this.checkDeclaration(t);else if("ArrayPattern"===e.type)for(const t of e.elements)t&&this.checkDeclaration(t);else"ObjectProperty"===e.type?this.checkDeclaration(e.value):"RestElement"===e.type?this.checkDeclaration(e.argument):"AssignmentPattern"===e.type&&this.checkDeclaration(e.left)}checkDuplicateExports(e,t){this.exportedIdentifiers.has(t)&&("default"===t?this.raise(_w.DuplicateDefaultExport,e):this.raise(_w.DuplicateExport,e,{exportName:t})),this.exportedIdentifiers.add(t)}parseExportSpecifiers(e){const t=[];let n=!0;for(this.expect(5);!this.eat(8);){if(n)n=!1;else if(this.expect(12),this.eat(8))break;const r=this.isContextual(130),i=this.match(134),s=this.startNode();s.local=this.parseModuleExportName(),t.push(this.parseExportSpecifier(s,i,e,r))}return t}parseExportSpecifier(e,t,n,r){return this.eatContextual(93)?e.exported=this.parseModuleExportName():t?e.exported=this.cloneStringLiteral(e.local):e.exported||(e.exported=this.cloneIdentifier(e.local)),this.finishNode(e,"ExportSpecifier")}parseModuleExportName(){if(this.match(134)){const e=this.parseStringLiteral(this.state.value),t=Uk.exec(e.value);return t&&this.raise(_w.ModuleExportNameHasLoneSurrogate,e,{surrogateCharCode:t[0].charCodeAt(0)}),e}return this.parseIdentifier(!0)}isJSONModuleImport(e){return null!=e.assertions&&e.assertions.some(({key:e,value:t})=>"json"===t.value&&("Identifier"===e.type?"type"===e.name:"type"===e.value))}checkImportReflection(e){const{specifiers:t}=e,n=1===t.length?t[0].type:null;"source"===e.phase?"ImportDefaultSpecifier"!==n&&this.raise(_w.SourcePhaseImportRequiresDefault,t[0].loc.start):"defer"===e.phase?"ImportNamespaceSpecifier"!==n&&this.raise(_w.DeferImportRequiresNamespace,t[0].loc.start):e.module&&("ImportDefaultSpecifier"!==n&&this.raise(_w.ImportReflectionNotBinding,t[0].loc.start),e.assertions?.length>0&&this.raise(_w.ImportReflectionHasAssertion,t[0].loc.start))}checkJSONModuleImport(e){if(this.isJSONModuleImport(e)&&"ExportAllDeclaration"!==e.type){const{specifiers:t}=e;if(null!=t){const e=t.find(e=>{let t;if("ExportSpecifier"===e.type?t=e.local:"ImportSpecifier"===e.type&&(t=e.imported),void 0!==t)return"Identifier"===t.type?"default"!==t.name:"default"!==t.value});void 0!==e&&this.raise(_w.ImportJSONBindingNotDefault,e.loc.start)}}}isPotentialImportPhase(e){return!e&&(this.isContextual(105)||this.isContextual(97))}applyImportPhase(e,t,n,r){t||(this.hasPlugin("importReflection")&&(e.module=!1),"source"===n?(this.expectPlugin("sourcePhaseImports",r),e.phase="source"):"defer"===n?(this.expectPlugin("deferredImportEvaluation",r),e.phase="defer"):this.hasPlugin("sourcePhaseImports")&&(e.phase=null))}parseMaybeImportPhase(e,t){if(!this.isPotentialImportPhase(t))return this.applyImportPhase(e,t,null),null;const n=this.startNode(),r=this.parseIdentifierName(!0),{type:i}=this.state;return(nC(i)?98!==i||102===this.lookaheadCharCode():12!==i)?(this.applyImportPhase(e,t,r,n.loc.start),null):(this.applyImportPhase(e,t,null),this.createIdentifier(n,r))}isPrecedingIdImportPhase(e){const{type:t}=this.state;return tC(t)?98!==t||102===this.lookaheadCharCode():12!==t}parseImport(e){return this.match(134)?this.parseImportSourceAndAttributes(e):this.parseImportSpecifiersAndAfter(e,this.parseMaybeImportPhase(e,!1))}parseImportSpecifiersAndAfter(e,t){e.specifiers=[];const n=!this.maybeParseDefaultImportSpecifier(e,t)||this.eat(12),r=n&&this.maybeParseStarImportSpecifier(e);return n&&!r&&this.parseNamedImportSpecifiers(e),this.expectContextual(98),this.parseImportSourceAndAttributes(e)}parseImportSourceAndAttributes(e){return e.specifiers??(e.specifiers=[]),e.source=this.parseImportSource(),this.maybeParseImportAttributes(e),this.checkImportReflection(e),this.checkJSONModuleImport(e),this.semicolon(),this.sawUnambiguousESM=!0,this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.match(134)||this.unexpected(),this.parseExprAtom()}parseImportSpecifierLocal(e,t,n){t.local=this.parseIdentifier(),e.specifiers.push(this.finishImportSpecifier(t,n))}finishImportSpecifier(e,t,n=8201){return this.checkLVal(e.local,{type:t},n),this.finishNode(e,t)}parseImportAttributes(){this.expect(5);const e=[],t=new Set;do{if(this.match(8))break;const n=this.startNode(),r=this.state.value;if(t.has(r)&&this.raise(_w.ModuleAttributesWithDuplicateKeys,this.state.startLoc,{key:r}),t.add(r),this.match(134)?n.key=this.parseStringLiteral(r):n.key=this.parseIdentifier(!0),this.expect(14),!this.match(134))throw this.raise(_w.ModuleAttributeInvalidValue,this.state.startLoc);n.value=this.parseStringLiteral(this.state.value),e.push(this.finishNode(n,"ImportAttribute"))}while(this.eat(12));return this.expect(8),e}parseModuleAttributes(){const e=[],t=new Set;do{const n=this.startNode();if(n.key=this.parseIdentifier(!0),"type"!==n.key.name&&this.raise(_w.ModuleAttributeDifferentFromType,n.key),t.has(n.key.name)&&this.raise(_w.ModuleAttributesWithDuplicateKeys,n.key,{key:n.key.name}),t.add(n.key.name),this.expect(14),!this.match(134))throw this.raise(_w.ModuleAttributeInvalidValue,this.state.startLoc);n.value=this.parseStringLiteral(this.state.value),e.push(this.finishNode(n,"ImportAttribute"))}while(this.eat(12));return e}maybeParseImportAttributes(e){let t;if(this.match(76)){if(this.hasPrecedingLineBreak()&&40===this.lookaheadCharCode())return;this.next(),t=this.parseImportAttributes()}else this.isContextual(94)&&!this.hasPrecedingLineBreak()?(this.hasPlugin("deprecatedImportAssert")||this.raise(_w.ImportAttributesUseAssert,this.state.startLoc),this.addExtra(e,"deprecatedAssertSyntax",!0),this.next(),t=this.parseImportAttributes()):t=[];e.attributes=t}maybeParseDefaultImportSpecifier(e,t){if(t){const n=this.startNodeAtNode(t);return n.local=t,e.specifiers.push(this.finishImportSpecifier(n,"ImportDefaultSpecifier")),!0}return!!nC(this.state.type)&&(this.parseImportSpecifierLocal(e,this.startNode(),"ImportDefaultSpecifier"),!0)}maybeParseStarImportSpecifier(e){if(this.match(55)){const t=this.startNode();return this.next(),this.expectContextual(93),this.parseImportSpecifierLocal(e,t,"ImportNamespaceSpecifier"),!0}return!1}parseNamedImportSpecifiers(e){let t=!0;for(this.expect(5);!this.eat(8);){if(t)t=!1;else{if(this.eat(14))throw this.raise(_w.DestructureNamedImport,this.state.startLoc);if(this.expect(12),this.eat(8))break}const n=this.startNode(),r=this.match(134),i=this.isContextual(130);n.imported=this.parseModuleExportName();const s=this.parseImportSpecifier(n,r,"type"===e.importKind||"typeof"===e.importKind,i,void 0);e.specifiers.push(s)}}parseImportSpecifier(e,t,n,r,i){if(this.eatContextual(93))e.local=this.parseIdentifier();else{const{imported:n}=e;if(t)throw this.raise(_w.ImportBindingIsString,e,{importName:n.value});this.checkReservedWord(n.name,e.loc.start,!0,!0),e.local||(e.local=this.cloneIdentifier(n))}return this.finishImportSpecifier(e,"ImportSpecifier",i)}isThisParam(e){return"Identifier"===e.type&&"this"===e.name}},Jk=class extends $k{constructor(e,t,n){super(e=function(e){const t={sourceType:"script",sourceFilename:void 0,startIndex:0,startColumn:0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowNewTargetOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,allowYieldOutsideFunction:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createImportExpressions:!0,createParenthesizedExpressions:!1,errorRecovery:!1,attachComment:!0,annexB:!0};if(null==e)return t;if(null!=e.annexB&&!1!==e.annexB)throw new Error("The `annexB` option can only be set to `false`.");for(const n of Object.keys(t))null!=e[n]&&(t[n]=e[n]);if(1===t.startLine)null==e.startIndex&&t.startColumn>0?t.startIndex=t.startColumn:null==e.startColumn&&t.startIndex>0&&(t.startColumn=t.startIndex);else if(null==e.startColumn||null==e.startIndex)throw new Error("With a `startLine > 1` you must also specify `startIndex` and `startColumn`.");if("commonjs"===t.sourceType){if(null!=e.allowAwaitOutsideFunction)throw new Error("The `allowAwaitOutsideFunction` option cannot be used with `sourceType: 'commonjs'`.");if(null!=e.allowReturnOutsideFunction)throw new Error("`sourceType: 'commonjs'` implies `allowReturnOutsideFunction: true`, please remove the `allowReturnOutsideFunction` option or use `sourceType: 'script'`.");if(null!=e.allowNewTargetOutsideFunction)throw new Error("`sourceType: 'commonjs'` implies `allowNewTargetOutsideFunction: true`, please remove the `allowNewTargetOutsideFunction` option or use `sourceType: 'script'`.")}return t}(e),t),this.options=e,this.initializeScopes(),this.plugins=n,this.filename=e.sourceFilename,this.startIndex=e.startIndex;let r=0;e.allowAwaitOutsideFunction&&(r|=1),e.allowReturnOutsideFunction&&(r|=2),e.allowImportExportEverywhere&&(r|=8),e.allowSuperOutsideMethod&&(r|=16),e.allowUndeclaredExports&&(r|=64),e.allowNewTargetOutsideFunction&&(r|=4),e.allowYieldOutsideFunction&&(r|=32),e.ranges&&(r|=128),e.tokens&&(r|=256),e.createImportExpressions&&(r|=512),e.createParenthesizedExpressions&&(r|=1024),e.errorRecovery&&(r|=2048),e.attachComment&&(r|=4096),e.annexB&&(r|=8192),this.optionFlags=r}getScopeHandler(){return _C}parse(){this.enterInitialScopes();const e=this.startNode(),t=this.startNode();return this.nextToken(),e.errors=null,this.parseTopLevel(e,t),e.errors=this.state.errors,e.comments.length=this.state.commentsLen,e}};function Vk(e,t){if("unambiguous"!==t?.sourceType)return Xk(t,e).parse();t=Object.assign({},t);try{t.sourceType="module";const n=Xk(t,e),r=n.parse();if(n.sawUnambiguousESM)return r;if(n.ambiguousScriptDifferentAst)try{return t.sourceType="script",Xk(t,e).parse()}catch{}else r.program.sourceType="script";return r}catch(n){try{return t.sourceType="script",Xk(t,e).parse()}catch{}throw n}}function Kk(e,t){const n=Xk(t,e);return n.options.strictMode&&(n.state.strict=!0),n.getExpression()}var Wk=function(e){const t={};for(const n of Object.keys(e))t[n]=cC(e[n]);return t}(eC);function Xk(e,t){let n=Jk;const r=new Map;if(e?.plugins){for(const t of e.plugins){let e,n;"string"==typeof t?e=t:[e,n]=t,r.has(e)||r.set(e,n||{})}!function(e){if(e.has("decorators")){if(e.has("decorators-legacy"))throw new Error("Cannot use the decorators and decorators-legacy plugin together");const t=e.get("decorators").decoratorsBeforeExport;if(null!=t&&"boolean"!=typeof t)throw new Error("'decoratorsBeforeExport' must be a boolean, if specified.");const n=e.get("decorators").allowCallParenthesized;if(null!=n&&"boolean"!=typeof n)throw new Error("'allowCallParenthesized' must be a boolean.")}if(e.has("flow")&&e.has("typescript"))throw new Error("Cannot combine flow and typescript plugins.");if(e.has("placeholders")&&e.has("v8intrinsic"))throw new Error("Cannot combine placeholders and v8intrinsic plugins.");if(e.has("pipelineOperator")){const t=e.get("pipelineOperator").proposal;if(!Ok.includes(t)){const e=Ok.map(e=>`"${e}"`).join(", ");throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${e}.`)}if("hack"===t){if(e.has("placeholders"))throw new Error("Cannot combine placeholders plugin and Hack-style pipes.");if(e.has("v8intrinsic"))throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes.");const t=e.get("pipelineOperator").topicToken;if(!Dk.includes(t)){const e=Dk.map(e=>`"${e}"`).join(", ");throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${e}.`)}}}if(e.has("moduleAttributes"))throw new Error("`moduleAttributes` has been removed in Babel 8, please migrate to import attributes instead.");if(e.has("importAssertions"))throw new Error("`importAssertions` has been removed in Babel 8, please use import attributes instead. To use the non-standard `assert` syntax you can enable the `deprecatedImportAssert` parser plugin.");if(!e.has("deprecatedImportAssert")&&e.has("importAttributes")&&e.get("importAttributes").deprecatedAssertSyntax)throw new Error("The 'importAttributes' plugin has been removed in Babel 8. If you need to enable support for the deprecated `assert` syntax, you can enable the `deprecatedImportAssert` parser plugin.");if(e.has("recordAndTuple"))throw new Error("The 'recordAndTuple' plugin has been removed in Babel 8. Please remove it from your configuration.");if(e.has("asyncDoExpressions")&&!e.has("doExpressions")){const e=new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.");throw e.missingPlugins="doExpressions",e}if(e.has("optionalChainingAssign")&&"2023-07"!==e.get("optionalChainingAssign").version)throw new Error("The 'optionalChainingAssign' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is '2023-07'.");if(e.has("discardBinding")&&"void"!==e.get("discardBinding").syntaxType)throw new Error("The 'discardBinding' plugin requires a 'syntaxType' option. Currently the only supported value is 'void'.");if(e.has("decimal"))throw new Error("The 'decimal' plugin has been removed in Babel 8. Please remove it from your configuration.");if(e.has("importReflection"))throw new Error("The 'importReflection' plugin has been removed in Babel 8. Use 'sourcePhaseImports' instead, and replace 'import module' with 'import source' in your code.")}(r),n=function(e){const t=[];for(const n of Bk)e.has(n)&&t.push(n);const n=t.join("|");let r=Hk.get(n);if(!r){r=Jk;for(const e of t)r=Mk[e](r);Hk.set(n,r)}return r}(r)}return new n(e,t,r)}var Hk=new Map;var zk=Ge(Ze()),Yk=Ge(et());var Gk=(e,t)=>n=>e(t(n));function Qk(e){return{keyword:e.cyan,capitalized:e.yellow,jsxIdentifier:e.yellow,punctuator:e.yellow,number:e.magenta,string:e.green,regex:e.magenta,comment:e.gray,invalid:Gk(Gk(e.white,e.bgRed),e.bold),gutter:e.gray,marker:Gk(e.red,e.bold),message:Gk(e.red,e.bold),reset:e.reset}}var Zk=Qk((0,zk.createColors)(!0)),eI=Qk((0,zk.createColors)(!1));function tI(e){return e?Zk:eI}var nI,rI=new Set(["as","async","from","get","of","set"]),iI=/\r\n|[\n\r\u2028\u2029]/,sI=/^[()[\]{}]$/;{const e=function(e){if("IdentifierName"===e.type){if(Et(e.value)||Tt(e.value,!0)||rI.has(e.value))return"keyword";if(e.value[0]!==e.value[0].toLowerCase())return"capitalized"}if("Punctuator"===e.type&&sI.test(e.value))return"uncolored";if("Invalid"===e.type&&"@"===e.value)return"punctuator";switch(e.type){case"NumericLiteral":return"number";case"StringLiteral":case"JSXString":case"NoSubstitutionTemplate":return"string";case"RegularExpressionLiteral":return"regex";case"Punctuator":case"JSXPunctuator":return"punctuator";case"MultiLineComment":case"SingleLineComment":return"comment";case"Invalid":case"JSXInvalid":return"invalid";case"JSXIdentifier":return"jsxIdentifier";default:return"uncolored"}};nI=function*(t){for(const n of(0,Yk.default)(t,{jsx:!0}))switch(n.type){case"TemplateHead":yield{type:"string",value:n.value.slice(0,-2)},yield{type:"punctuator",value:"${"};break;case"TemplateMiddle":yield{type:"punctuator",value:"}"},yield{type:"string",value:n.value.slice(1,-2)},yield{type:"punctuator",value:"${"};break;case"TemplateTail":yield{type:"punctuator",value:"}"},yield{type:"string",value:n.value.slice(1)};break;default:yield{type:e(n),value:n.value}}}}var aI=/\r\n|[\n\r\u2028\u2029]/;function oI(e,t,n={}){const r=n.forceColor||"0"!==$.env.FORCE_COLOR&&"false"!==$.env.FORCE_COLOR&&zk.default.isColorSupported&&n.highlightCode,i=tI(r),s=e.split(aI),{start:a,end:o,markerLines:u}=function(e,t,n){const r=Object.assign({column:0,line:-1},e.start),i=Object.assign({},r,e.end),{linesAbove:s=2,linesBelow:a=3}=n||{},o=r.line,u=r.column,c=i.line,l=i.column;let p=Math.max(o-(s+1),0),d=Math.min(t.length,c+a);-1===o&&(p=0),-1===c&&(d=t.length);const h=c-o,f={};if(h)for(let e=0;e<=h;e++){const n=e+o;if(u)if(0===e){const e=t[n-1].length;f[n]=[u,e-u+1]}else if(e===h)f[n]=[0,l];else{const r=t[n-e].length;f[n]=[0,r]}else f[n]=!0}else f[o]=u===l?!u||[u,0]:[u,l-u];return{start:p,end:d,markerLines:f}}(t,s,n),c=t.start&&"number"==typeof t.start.column,l=String(o).length,p=r?function(e){if(""===e)return"";const t=tI(!0);let n="";for(const{type:r,value:i}of nI(e))n+=r in t?i.split(iI).map(e=>t[r](e)).join("\n"):i;return n}(e):e;let d=p.split(aI,o).slice(a,o).map((e,t)=>{const r=a+1+t,s=` ${` ${r}`.slice(-l)} |`,o=u[r],c=!u[r+1];if(o){let t="";if(Array.isArray(o)){const r=e.slice(0,Math.max(o[0]-1,0)).replace(/[^\t]/g," "),a=o[1]||1;t=["\n ",i.gutter(s.replace(/\d/g," "))," ",r,i.marker("^").repeat(a)].join(""),c&&n.message&&(t+=" "+i.message(n.message))}return[i.marker(">"),i.gutter(s),e.length>0?` ${e}`:"",t].join("")}return` ${i.gutter(s)}${e.length>0?` ${e}`:""}`}).join("\n");return n.message&&!c&&(d=`${" ".repeat(l+1)}${n.message}\n${d}`),r?i.reset(d):d}var{assertExpressionStatement:uI}=at;function cI(e){return{code:e=>`/* @babel/template */;\n${e}`,validate:()=>{},unwrap:t=>e(t.program.body.slice(1))}}var lI=cI(e=>e.length>1?e:e[0]),pI=cI(e=>e),dI=cI(e=>{if(0===e.length)throw new Error("Found nothing to return.");if(e.length>1)throw new Error("Found multiple statements but wanted one");return e[0]}),hI={code:e=>`(\n${e}\n)`,validate:e=>{if(e.program.body.length>1)throw new Error("Found multiple statements but wanted one");if(0===hI.unwrap(e).start)throw new Error("Parse result included parens.")},unwrap:({program:e})=>{const[t]=e.body;return uI(t),t.expression}};var fI=["placeholderWhitelist","placeholderPattern","preserveComments","syntacticPlaceholders"];function mI(e,t){const{placeholderWhitelist:n=e.placeholderWhitelist,placeholderPattern:r=e.placeholderPattern,preserveComments:i=e.preserveComments,syntacticPlaceholders:s=e.syntacticPlaceholders}=t;return{parser:Object.assign({},e.parser,t.parser),placeholderWhitelist:n,placeholderPattern:r,preserveComments:i,syntacticPlaceholders:s}}function yI(e){if(null!=e&&"object"!=typeof e)throw new Error("Unknown template options.");const t=e||{},{placeholderWhitelist:n,placeholderPattern:r,preserveComments:i,syntacticPlaceholders:s}=t,a=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(t,fI);if(null!=n&&!(n instanceof Set))throw new Error("'.placeholderWhitelist' must be a Set, null, or undefined");if(null!=r&&!(r instanceof RegExp)&&!1!==r)throw new Error("'.placeholderPattern' must be a RegExp, false, null, or undefined");if(null!=i&&"boolean"!=typeof i)throw new Error("'.preserveComments' must be a boolean, null, or undefined");if(null!=s&&"boolean"!=typeof s)throw new Error("'.syntacticPlaceholders' must be a boolean, null, or undefined");if(!0===s&&(null!=n||null!=r))throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible with '.syntacticPlaceholders: true'");return{parser:a,placeholderWhitelist:n||void 0,placeholderPattern:null==r?void 0:r,preserveComments:null==i?void 0:i,syntacticPlaceholders:null==s?void 0:s}}function gI(e){if(Array.isArray(e))return e.reduce((e,t,n)=>(e["$"+n]=t,e),{});if("object"==typeof e||null==e)return e||void 0;throw new Error("Template replacements must be an array, object, null, or undefined")}var{isCallExpression:bI,isExpressionStatement:xI,isFunction:SI,isIdentifier:TI,isJSXIdentifier:EI,isNewExpression:PI,isPlaceholder:vI,isStatement:AI,isStringLiteral:wI,removePropertiesDeep:CI,traverse:kI}=at,II=/^[_$A-Z0-9]+$/;function _I(e,t,n){const{placeholderWhitelist:r,placeholderPattern:i,preserveComments:s,syntacticPlaceholders:a}=n,o=function(e,t,n){const r=(t.plugins||[]).slice();!1!==n&&r.push("placeholders");t=Object.assign({allowAwaitOutsideFunction:!0,allowReturnOutsideFunction:!0,allowNewTargetOutsideFunction:!0,allowSuperOutsideMethod:!0,allowYieldOutsideFunction:!0,sourceType:"module"},t,{plugins:r});try{return Vk(e,t)}catch(t){const n=t.loc;throw n&&(t.message+="\n"+oI(e,{start:n}),t.code="BABEL_TEMPLATE_PARSE_ERROR"),t}}(t,n.parser,a);CI(o,{preserveComments:s}),e.validate(o);const u={syntactic:{placeholders:[],placeholderNames:new Set},legacy:{placeholders:[],placeholderNames:new Set},placeholderWhitelist:r,placeholderPattern:i,syntacticPlaceholders:a};return kI(o,NI,u),Object.assign({ast:o},u.syntactic.placeholders.length?u.syntactic:u.legacy)}function NI(e,t,n){let r,i=n.syntactic.placeholders.length>0;if(vI(e)){if(!1===n.syntacticPlaceholders)throw new Error("%%foo%%-style placeholders can't be used when '.syntacticPlaceholders' is false.");r=e.name.name,i=!0}else{if(i||n.syntacticPlaceholders)return;if(TI(e)||EI(e))r=e.name;else{if(!wI(e))return;r=e.value}}if(i&&(null!=n.placeholderPattern||null!=n.placeholderWhitelist))throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible with '.syntacticPlaceholders: true'");if(!(i||!1!==n.placeholderPattern&&(n.placeholderPattern||II).test(r)||n.placeholderWhitelist?.has(r)))return;t=t.slice();const{node:s,key:a}=t[t.length-1];let o;wI(e)||vI(e,{expectedNode:"StringLiteral"})?o="string":PI(s)&&"arguments"===a||bI(s)&&"arguments"===a||SI(s)&&"params"===a?o="param":xI(s)&&!vI(e)?(o="statement",t=t.slice(0,-1)):o=AI(e)&&vI(e)?"statement":"other";const{placeholders:u,placeholderNames:c}=i?n.syntactic:n.legacy;u.push({name:r,type:o,resolve:e=>function(e,t){let n=e;for(let e=0;e<t.length-1;e++){const{key:r,index:i}=t[e];n=void 0===i?n[r]:n[r][i]}const{key:r,index:i}=t[t.length-1];return{parent:n,key:r,index:i}}(e,t),isDuplicate:c.has(r)}),c.add(r)}var{blockStatement:LI,cloneNode:OI,emptyStatement:DI,expressionStatement:MI,identifier:BI,isStatement:FI,isStringLiteral:RI,stringLiteral:jI,validate:UI}=at;function qI(e,t){const n=OI(e.ast);return t&&(e.placeholders.forEach(e=>{if(!Object.hasOwn(t,e.name)){const t=e.name;throw new Error(`Error: No substitution given for "${t}". If this is not meant to be a\n placeholder you may want to consider passing one of the following options to @babel/template:\n - { placeholderPattern: false, placeholderWhitelist: new Set(['${t}'])}\n - { placeholderPattern: /^${t}$/ }`)}}),Object.keys(t).forEach(t=>{if(!e.placeholderNames.has(t))throw new Error(`Unknown substitution "${t}" given`)})),e.placeholders.slice().reverse().forEach(e=>{try{!function(e,t,n){e.isDuplicate&&(Array.isArray(n)?n=n.map(e=>OI(e)):"object"==typeof n&&(n=OI(n)));const{parent:r,key:i,index:s}=e.resolve(t);if("string"===e.type){if("string"==typeof n&&(n=jI(n)),!n||!RI(n))throw new Error("Expected string substitution")}else if("statement"===e.type)void 0===s?n?Array.isArray(n)?n=LI(n):"string"==typeof n?n=MI(BI(n)):FI(n)||(n=MI(n)):n=DI():n&&!Array.isArray(n)&&("string"==typeof n&&(n=BI(n)),FI(n)||(n=MI(n)));else if("param"===e.type){if("string"==typeof n&&(n=BI(n)),void 0===s)throw new Error("Assertion failure.")}else if("string"==typeof n&&(n=BI(n)),Array.isArray(n))throw new Error("Cannot replace single expression with an array.");function a(e,t,n){const r=e[t];e[t]=n,"Identifier"!==r.type&&"Placeholder"!==r.type||(r.typeAnnotation&&(n.typeAnnotation=r.typeAnnotation),r.optional&&(n.optional=r.optional),r.decorators&&(n.decorators=r.decorators))}if(void 0===s)UI(r,i,n),a(r,i,n);else{const t=r[i].slice();"statement"===e.type||"param"===e.type?null==n?t.splice(s,1):Array.isArray(n)?t.splice(s,1,...n):a(t,s,n):a(t,s,n),UI(r,i,t),r[i]=t}}(e,n,(t&&t[e.name])??null)}catch(t){throw t.message=`@babel/template placeholder "${e.name}": ${t.message}`,t}}),n}function $I(e,t,n){let r;return t=e.code(t),i=>{const s=gI(i);return r||(r=_I(e,t,n)),e.unwrap(qI(r,s))}}function JI(e,t,n){const{metadata:r,names:i}=function(e,t,n){let r="BABEL_TPL$";const i=t.join("");do{r="$$"+r}while(i.includes(r));const{names:s,code:a}=function(e,t){const n=[];let r=e[0];for(let i=1;i<e.length;i++){const s=`${t}${i-1}`;n.push(s),r+=s+e[i]}return{names:n,code:r}}(t,r),o=_I(e,e.code(a),{parser:n.parser,placeholderWhitelist:new Set(s.concat(n.placeholderWhitelist?Array.from(n.placeholderWhitelist):[])),placeholderPattern:n.placeholderPattern,preserveComments:n.preserveComments,syntacticPlaceholders:n.syntacticPlaceholders});return{metadata:o,names:s}}(e,t,n);return t=>{const n={};return t.forEach((e,t)=>{n[i[t]]=e}),t=>{const i=gI(t);return i&&Object.keys(i).forEach(e=>{if(Object.hasOwn(n,e))throw new Error("Unexpected replacement overlap.")}),e.unwrap(qI(r,i?Object.assign(i,n):n))}}}var VI=yI({placeholderPattern:!1});function KI(e,t){const n=new WeakMap,r=new WeakMap,i=t||yI(null);return Object.assign((t,...r)=>{if("string"==typeof t){if(r.length>1)throw new Error("Unexpected extra params.");return WI($I(e,t,mI(i,yI(r[0]))))}if(Array.isArray(t)){let s=n.get(t);return s||(s=JI(e,t,i),n.set(t,s)),WI(s(r))}if("object"==typeof t&&t){if(r.length>0)throw new Error("Unexpected extra params.");return KI(e,mI(i,yI(t)))}throw new Error("Unexpected template param "+typeof t)},{ast:(t,...n)=>{if("string"==typeof t){if(n.length>1)throw new Error("Unexpected extra params.");return $I(e,t,mI(mI(i,yI(n[0])),VI))()}if(Array.isArray(t)){let s=r.get(t);return s||(s=JI(e,t,mI(i,VI)),r.set(t,s)),s(n)()}throw new Error("Unexpected template param "+typeof t)}})}function WI(e){let t="";try{throw new Error}catch(e){e.stack&&(t=e.stack.split("\n").slice(3).join("\n"))}return n=>{try{return e(n)}catch(e){throw e.stack+=`\n =============\n${t}`,e}}}var XI=KI(lI),HI=KI(dI),zI=KI(pI),YI=KI(hI),GI=KI({code:e=>e,validate:()=>{},unwrap:e=>e.program}),QI=Object.assign(XI.bind(void 0),{smart:XI,statement:HI,statements:zI,expression:YI,program:GI,ast:XI.ast}),ZI=",".charCodeAt(0),e_=";".charCodeAt(0),t_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n_=new Uint8Array(64),r_=new Uint8Array(128);for(let e=0;e<64;e++){const t=t_.charCodeAt(e);n_[e]=t,r_[t]=e}function i_(e,t){let n=0,r=0,i=0;do{const t=e.next();i=r_[t],n|=(31&i)<<r,r+=5}while(32&i);const s=1&n;return n>>>=1,s&&(n=-2147483648|-n),t+n}function s_(e,t,n){let r=t-n;r=r<0?-r<<1|1:r<<1;do{let t=31&r;r>>>=5,r>0&&(t|=32),e.write(n_[t])}while(r>0);return t}function a_(e,t){return!(e.pos>=t)&&e.peek()!==ZI}var o_="undefined"!=typeof TextDecoder?new TextDecoder:void 0!==ie?{decode:e=>ie.from(e.buffer,e.byteOffset,e.byteLength).toString()}:{decode(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t}},u_=class{constructor(){this.pos=0,this.out="",this.buffer=new Uint8Array(16384)}write(e){const{buffer:t}=this;t[this.pos++]=e,16384===this.pos&&(this.out+=o_.decode(t),this.pos=0)}flush(){const{buffer:e,out:t,pos:n}=this;return n>0?t+o_.decode(e.subarray(0,n)):t}},c_=class{constructor(e){this.pos=0,this.buffer=e}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(e){const{buffer:t,pos:n}=this,r=t.indexOf(e,n);return-1===r?t.length:r}};function l_(e){e.sort(p_)}function p_(e,t){return e[0]-t[0]}function d_(e){const t=new u_;let n=0,r=0,i=0,s=0;for(let a=0;a<e.length;a++){const o=e[a];if(a>0&&t.write(e_),0===o.length)continue;let u=0;for(let e=0;e<o.length;e++){const a=o[e];e>0&&t.write(ZI),u=s_(t,a[0],u),1!==a.length&&(n=s_(t,a[1],n),r=s_(t,a[2],r),i=s_(t,a[3],i),4!==a.length&&(s=s_(t,a[4],s)))}}return t.flush()}var h_=/^[\w+.-]+:\/\//,f_=/^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/,m_=/^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;function y_(e){return e.startsWith("/")}function g_(e){return/^[.?#]/.test(e)}function b_(e){const t=f_.exec(e);return x_(t[1],t[2]||"",t[3],t[4]||"",t[5]||"/",t[6]||"",t[7]||"")}function x_(e,t,n,r,i,s,a){return{scheme:e,user:t,host:n,port:r,path:i,query:s,hash:a,type:7}}function S_(e){if(function(e){return e.startsWith("//")}(e)){const t=b_("http:"+e);return t.scheme="",t.type=6,t}if(y_(e)){const t=b_("http://foo.com"+e);return t.scheme="",t.host="",t.type=5,t}if(function(e){return e.startsWith("file:")}(e))return function(e){const t=m_.exec(e),n=t[2];return x_("file:","",t[1]||"","",y_(n)?n:"/"+n,t[3]||"",t[4]||"")}(e);if(function(e){return h_.test(e)}(e))return b_(e);const t=b_("http://foo.com/"+e);return t.scheme="",t.host="",t.type=e?e.startsWith("?")?3:e.startsWith("#")?2:4:1,t}function T_(e,t){const n=t<=4,r=e.path.split("/");let i=1,s=0,a=!1;for(let e=1;e<r.length;e++){const t=r[e];t?(a=!1,"."!==t&&(".."!==t?(r[i++]=t,s++):s?(a=!0,s--,i--):n&&(r[i++]=t))):a=!0}let o="";for(let e=1;e<i;e++)o+="/"+r[e];(!o||a&&!o.endsWith("/.."))&&(o+="/"),e.path=o}function E_(e,t){if(!e&&!t)return"";const n=S_(e);let r=n.type;if(t&&7!==r){const e=S_(t),i=e.type;switch(r){case 1:n.hash=e.hash;case 2:n.query=e.query;case 3:case 4:!function(e,t){T_(t,t.type),"/"===e.path?e.path=t.path:e.path=function(e){if(e.endsWith("/.."))return e;const t=e.lastIndexOf("/");return e.slice(0,t+1)}(t.path)+e.path}(n,e);case 5:n.user=e.user,n.host=e.host,n.port=e.port;case 6:n.scheme=e.scheme}i>r&&(r=i)}T_(n,r);const i=n.query+n.hash;switch(r){case 2:case 3:return i;case 4:{const r=n.path.slice(1);return r?g_(t||e)&&!g_(r)?"./"+r+i:r+i:i||"."}case 5:return n.path+i;default:return n.scheme+"//"+n.user+n.host+n.port+n.path+i}}function P_(e,t){for(let n=t;n<e.length;n++)if(!v_(e[n]))return n;return e.length}function v_(e){for(let t=1;t<e.length;t++)if(e[t][0]<e[t-1][0])return!1;return!0}function A_(e,t){return t||(e=e.slice()),e.sort(w_)}function w_(e,t){return e[0]-t[0]}var C_=!1;function k_(e,t,n){for(let r=n+1;r<e.length&&e[r][0]===t;n=r++);return n}function I_(e,t,n){for(let r=n-1;r>=0&&e[r][0]===t;n=r--);return n}function __(e,t,n,r){const{lastKey:i,lastNeedle:s,lastIndex:a}=n;let o=0,u=e.length-1;if(r===i){if(t===s)return C_=-1!==a&&e[a][0]===t,a;t>=s?o=-1===a?0:a:u=a}return n.lastKey=r,n.lastNeedle=t,n.lastIndex=function(e,t,n,r){for(;n<=r;){const i=n+(r-n>>1),s=e[i][0]-t;if(0===s)return C_=!0,i;s<0?n=i+1:r=i-1}return C_=!1,n-1}(e,t,o,u)}var N_=class{constructor(e,t){const n="string"==typeof e;if(!n&&e._decodedMemo)return e;const r=function(e){return"string"==typeof e?JSON.parse(e):e}(e),{version:i,file:s,names:a,sourceRoot:o,sources:u,sourcesContent:c}=r;this.version=i,this.file=s,this.names=a||[],this.sourceRoot=o,this.sources=u,this.sourcesContent=c,this.ignoreList=r.ignoreList||r.x_google_ignoreList||void 0;const l=function(e,t){const n=function(e){if(!e)return"";const t=e.lastIndexOf("/");return e.slice(0,t+1)}(e),r=t?t+"/":"";return e=>E_(r+(e||""),n)}(t,o);this.resolvedSources=u.map(l);const{mappings:p}=r;if("string"==typeof p)this._encoded=p,this._decoded=void 0;else{if(!Array.isArray(p))throw r.sections?new Error("TraceMap passed sectioned source map, please use FlattenMap export instead"):new Error(`invalid source map: ${JSON.stringify(r)}`);this._encoded=void 0,this._decoded=function(e,t){const n=P_(e,0);if(n===e.length)return e;t||(e=e.slice());for(let r=n;r<e.length;r=P_(e,r+1))e[r]=A_(e[r],t);return e}(p,n)}this._decodedMemo={lastKey:-1,lastNeedle:-1,lastIndex:-1},this._bySources=void 0,this._bySourceMemos=void 0}};function L_(e){var t;return(t=e)._decoded||(t._decoded=function(e){const{length:t}=e,n=new c_(e),r=[];let i=0,s=0,a=0,o=0,u=0;do{const e=n.indexOf(";"),t=[];let c=!0,l=0;for(i=0;n.pos<e;){let r;i=i_(n,i),i<l&&(c=!1),l=i,a_(n,e)?(s=i_(n,s),a=i_(n,a),o=i_(n,o),a_(n,e)?(u=i_(n,u),r=[i,s,a,o,u]):r=[i,s,a,o]):r=[i],t.push(r),n.pos++}c||l_(t),r.push(t),n.pos=e+1}while(n.pos<=t);return r}(e._encoded))}function O_(e,t){let{line:n,column:r,bias:i}=t;if(n--,n<0)throw new Error("`line` must be greater than 0 (lines start at line 1)");if(r<0)throw new Error("`column` must be greater than or equal to 0 (columns start at column 0)");const s=L_(e);if(n>=s.length)return D_(null,null,null,null);const a=s[n],o=function(e,t,n,r,i){let s=__(e,r,t,n);C_?s=(-1===i?k_:I_)(e,r,s):-1===i&&s++;return-1===s||s===e.length?-1:s}(a,e._decodedMemo,n,r,i||1);if(-1===o)return D_(null,null,null,null);const u=a[o];if(1===u.length)return D_(null,null,null,null);const{names:c,resolvedSources:l}=e;return D_(l[u[1]],u[2]+1,u[3],5===u.length?c[u[4]]:null)}function D_(e,t,n,r){return{source:e,line:t,column:n,name:r}}var M_=class{constructor(){this._indexes={__proto__:null},this.array=[]}};function B_(e,t){const n=function(e,t){return e._indexes[t]}(e,t);if(void 0!==n)return n;const{array:r,_indexes:i}=e,s=r.push(t);return i[t]=s-1}var F_=class{constructor({file:e,sourceRoot:t}={}){this._names=new M_,this._sources=new M_,this._sourcesContent=[],this._mappings=[],this.file=e,this.sourceRoot=t,this._ignoreList=new M_}};var R_=(e,t)=>function(e,t,n){const{generated:r,source:i,original:s,name:a,content:o}=n;if(!i)return q_(e,t,r.line-1,r.column,null,null,null,null,null);return q_(e,t,r.line-1,r.column,i,s.line-1,s.column,a,o)}(!0,e,t);function j_(e,t,n){const{_sources:r,_sourcesContent:i}=e;i[B_(r,t)]=n}function U_(e){const{_mappings:t,_sources:n,_sourcesContent:r,_names:i,_ignoreList:s}=e;return function(e){const{length:t}=e;let n=t;for(let t=n-1;t>=0&&!(e[t].length>0);n=t,t--);n<t&&(e.length=n)}(t),{version:3,file:e.file||void 0,names:i.array,sourceRoot:e.sourceRoot||void 0,sources:n.array,sourcesContent:r,mappings:t,ignoreList:s.array}}function q_(e,t,n,r,i,s,a,o,u){const{_mappings:c,_sources:l,_sourcesContent:p,_names:d}=t,h=function(e,t){for(let n=e.length;n<=t;n++)e[n]=[];return e[t]}(c,n),f=function(e,t){let n=e.length;for(let r=n-1;r>=0;n=r--){if(t>=e[r][0])break}return n}(h,r);if(!i){if(function(e,t){if(0===t)return!0;const n=e[t-1];return 1===n.length}(h,f))return;return $_(h,f,[r])}const m=B_(l,i),y=o?B_(d,o):-1;if(m===p.length&&(p[m]=null!=u?u:null),!function(e,t,n,r,i,s){if(0===t)return!1;const a=e[t-1];return 1!==a.length&&(n===a[1]&&r===a[2]&&i===a[3]&&s===(5===a.length?a[4]:-1))}(h,f,m,s,a,y))return $_(h,f,o?[r,m,s,a,y]:[r,m,s,a])}function $_(e,t,n){for(let n=e.length;n>t;n--)e[n]=e[n-1];e[t]=n}var J_=Ge(tt()),V_=class{constructor(e,t){Qe(this,"_map"),Qe(this,"_rawMappings"),Qe(this,"_sourceFileName"),Qe(this,"_lastGenLine",0),Qe(this,"_lastSourceLine",0),Qe(this,"_lastSourceColumn",0),Qe(this,"_inputMap");const n=this._map=new F_({sourceRoot:e.sourceRoot});if(this._sourceFileName=e.sourceFileName?.replace(/\\/g,"/"),this._rawMappings=void 0,e.inputSourceMap){this._inputMap=new N_(e.inputSourceMap);const t=this._inputMap.resolvedSources;if(t.length)for(let e=0;e<t.length;e++)j_(n,t[e],this._inputMap.sourcesContent?.[e])}if("string"!=typeof t||e.inputSourceMap){if("object"==typeof t)for(const e of Object.keys(t))j_(n,e.replace(/\\/g,"/"),t[e])}else j_(n,this._sourceFileName,t)}get(){return function(e){const t=U_(e);return Object.assign({},t,{mappings:d_(t.mappings)})}(this._map)}getDecoded(){return U_(this._map)}getRawMappings(){return this._rawMappings||(this._rawMappings=function(e){const t=[],{_mappings:n,_sources:r,_names:i}=e;for(let e=0;e<n.length;e++){const s=n[e];for(let n=0;n<s.length;n++){const a=s[n],o={line:e+1,column:a[0]};let u,c,l;1!==a.length&&(u=r.array[a[1]],c={line:a[2]+1,column:a[3]},5===a.length&&(l=i.array[a[4]])),t.push({generated:o,source:u,original:c,name:l})}}return t}(this._map))}mark(e,t,n,r,i,s){let a;if(this._rawMappings=void 0,null!=t)if(this._inputMap){if(a=O_(this._inputMap,{line:t,column:n}),!a.name&&i){const e=O_(this._inputMap,i);e.name&&(r=e.name)}}else a={source:s?.replace(/\\/g,"/")||this._sourceFileName,line:t,column:n};R_(this._map,{name:r,generated:e,source:a?.source,original:a})}},K_=class{constructor(e,t){Qe(this,"_map",null),Qe(this,"_buf",""),Qe(this,"_str",""),Qe(this,"_appendCount",0),Qe(this,"_last",0),Qe(this,"_queue",[]),Qe(this,"_queueCursor",0),Qe(this,"_canMarkIdName",!0),Qe(this,"_indentChar",""),Qe(this,"_fastIndentations",[]),Qe(this,"_position",{line:1,column:0}),Qe(this,"_sourcePosition",{identifierName:void 0,identifierNamePos:void 0,line:void 0,column:void 0,filename:void 0}),this._map=e,this._indentChar=t;for(let e=0;e<64;e++)this._fastIndentations.push(t.repeat(e));this._allocQueue()}_allocQueue(){const e=this._queue;for(let t=0;t<16;t++)e.push({char:0,repeat:1,line:void 0,column:void 0,identifierName:void 0,identifierNamePos:void 0,filename:""})}_pushQueue(e,t,n,r,i){const s=this._queueCursor;s===this._queue.length&&this._allocQueue();const a=this._queue[s];a.char=e,a.repeat=t,a.line=n,a.column=r,a.filename=i,this._queueCursor++}_popQueue(){if(0===this._queueCursor)throw new Error("Cannot pop from empty queue");return this._queue[--this._queueCursor]}get(){this._flush();const e=this._map,t={code:(this._buf+this._str).trimRight(),decodedMap:e?.getDecoded(),get __mergedMap(){return this.map},get map(){const n=e?e.get():null;return t.map=n,n},set map(e){Object.defineProperty(t,"map",{value:e,writable:!0})},get rawMappings(){const n=e?.getRawMappings();return t.rawMappings=n,n},set rawMappings(e){Object.defineProperty(t,"rawMappings",{value:e,writable:!0})}};return t}append(e,t){this._flush(),this._append(e,this._sourcePosition,t)}appendChar(e){this._flush(),this._appendChar(e,1,this._sourcePosition)}queue(e){if(10===e)for(;0!==this._queueCursor;){const e=this._queue[this._queueCursor-1].char;if(32!==e&&9!==e)break;this._queueCursor--}const t=this._sourcePosition;this._pushQueue(e,1,t.line,t.column,t.filename)}queueIndentation(e){0!==e&&this._pushQueue(-1,e,void 0,void 0,void 0)}_flush(){const e=this._queueCursor,t=this._queue;for(let n=0;n<e;n++){const e=t[n];this._appendChar(e.char,e.repeat,e)}this._queueCursor=0}_appendChar(e,t,n){if(this._last=e,-1===e){const e=this._fastIndentations[t];this._str+=void 0!==e?e:t>1?this._indentChar.repeat(t):this._indentChar}else this._str+=t>1?String.fromCharCode(e).repeat(t):String.fromCharCode(e);10!==e?(this._mark(n.line,n.column,n.identifierName,n.identifierNamePos,n.filename),this._position.column+=t):(this._position.line++,this._position.column=0),this._canMarkIdName&&(n.identifierName=void 0,n.identifierNamePos=void 0)}_append(e,t,n){const r=e.length,i=this._position;if(this._last=e.charCodeAt(r-1),++this._appendCount>4096?(this._str,this._buf+=this._str,this._str=e,this._appendCount=0):this._str+=e,!n&&!this._map)return void(i.column+=r);const{column:s,identifierName:a,identifierNamePos:o,filename:u}=t;let c=t.line;null==a&&null==o||!this._canMarkIdName||(t.identifierName=void 0,t.identifierNamePos=void 0);let l=e.indexOf("\n"),p=0;for(0!==l&&this._mark(c,s,a,o,u);-1!==l;)i.line++,i.column=0,p=l+1,p<r&&void 0!==c&&this._mark(++c,0,null,null,u),l=e.indexOf("\n",p);i.column+=r-p}_mark(e,t,n,r,i){this._map?.mark(this._position,e,t,n,r,i)}removeTrailingNewline(){const e=this._queueCursor;0!==e&&10===this._queue[e-1].char&&this._queueCursor--}removeLastSemicolon(){const e=this._queueCursor;0!==e&&59===this._queue[e-1].char&&this._queueCursor--}getLastChar(){const e=this._queueCursor;return 0!==e?this._queue[e-1].char:this._last}getNewlineCount(){const e=this._queueCursor;let t=0;if(0===e)return 10===this._last?1:0;for(let n=e-1;n>=0&&10===this._queue[n].char;n--)t++;return t===e&&10===this._last?t+1:t}endsWithCharAndNewline(){const e=this._queue,t=this._queueCursor;if(0!==t){if(10!==e[t-1].char)return;return t>1?e[t-2].char:this._last}}hasContent(){return 0!==this._queueCursor||!!this._last}exactSource(e,t){if(!this._map)return void t();this.source("start",e);const n=e.identifierName,r=this._sourcePosition;n&&(this._canMarkIdName=!1,r.identifierName=n),t(),n&&(this._canMarkIdName=!0,r.identifierName=void 0,r.identifierNamePos=void 0),this.source("end",e)}source(e,t){this._map&&this._normalizePosition(e,t,0)}sourceWithOffset(e,t,n){this._map&&this._normalizePosition(e,t,n)}_normalizePosition(e,t,n){const r=t[e],i=this._sourcePosition;r&&(i.line=r.line,i.column=Math.max(r.column+n,0),i.filename=t.filename)}getCurrentColumn(){const e=this._queue,t=this._queueCursor;let n=-1,r=0;for(let i=0;i<t;i++){const t=e[i];10===t.char&&(n=r),r+=t.repeat}return-1===n?this._position.column+r:r-1-n}getCurrentLine(){let e=0;const t=this._queue;for(let n=0;n<this._queueCursor;n++)10===t[n].char&&e++;return this._position.line+e}},{FLIPPED_ALIAS_KEYS:W_,isArrayExpression:X_,isAssignmentExpression:H_,isBinary:z_,isBlockStatement:Y_,isCallExpression:G_,isFunction:Q_,isIdentifier:Z_,isLiteral:eN,isMemberExpression:tN,isObjectExpression:nN,isOptionalCallExpression:rN,isOptionalMemberExpression:iN,isStringLiteral:sN}=at;function aN(e,t){return e?(tN(e)||iN(e)?(aN(e.object,t),e.computed&&aN(e.property,t)):z_(e)||H_(e)?(aN(e.left,t),aN(e.right,t)):G_(e)||rN(e)?(t.hasCall=!0,aN(e.callee,t)):Q_(e)?t.hasFunction=!0:Z_(e)&&(t.hasHelper=t.hasHelper||e.callee&&uN(e.callee)),t):t}function oN(e){return aN(e,{hasCall:!1,hasFunction:!1,hasHelper:!1})}function uN(e){return!!e&&(tN(e)?uN(e.object)||uN(e.property):Z_(e)?"require"===e.name||95===e.name.charCodeAt(0):G_(e)?uN(e.callee):!(!z_(e)&&!H_(e))&&(Z_(e.left)&&uN(e.left)||uN(e.right)))}function cN(e){return eN(e)||nN(e)||X_(e)||Z_(e)||tN(e)}var lN={AssignmentExpression(e){const t=oN(e.right);if(t.hasCall&&t.hasHelper||t.hasFunction)return t.hasFunction?3:2},SwitchCase:(e,t)=>(e.consequent.length||t.cases[0]===e?1:0)|(e.consequent.length||t.cases[t.cases.length-1]!==e?0:2),LogicalExpression(e){if(Q_(e.left)||Q_(e.right))return 2},Literal(e){if(sN(e)&&"use strict"===e.value)return 2},CallExpression(e){if(Q_(e.callee)||uN(e))return 3},OptionalCallExpression(e){if(Q_(e.callee))return 3},VariableDeclaration(e){for(let t=0;t<e.declarations.length;t++){const n=e.declarations[t];let r=uN(n.id)&&!cN(n.init);if(!r&&n.init){const e=oN(n.init);r=uN(n.init)&&e.hasCall||e.hasFunction}if(r)return 3}},IfStatement(e){if(Y_(e.consequent))return 3}};lN.ObjectProperty=lN.ObjectTypeProperty=lN.ObjectMethod=function(e,t){if(t.properties[0]===e)return 1},lN.ObjectTypeCallProperty=function(e,t){if(t.callProperties[0]===e&&!t.properties?.length)return 1},lN.ObjectTypeIndexer=function(e,t){if(t.indexers[0]===e&&!t.properties?.length&&!t.callProperties?.length)return 1},lN.ObjectTypeInternalSlot=function(e,t){if(t.internalSlots[0]===e&&!t.properties?.length&&!t.callProperties?.length&&!t.indexers?.length)return 1},[["Function",!0],["Class",!0],["Loop",!0],["LabeledStatement",!0],["SwitchStatement",!0],["TryStatement",!0]].forEach(function([e,t]){[e].concat(W_[e]||[]).forEach(function(e){const n=t?3:0;lN[e]=()=>n})});var{isArrayTypeAnnotation:pN,isBinaryExpression:dN,isCallExpression:hN,isForOfStatement:fN,isIndexedAccessType:mN,isMemberExpression:yN,isObjectPattern:gN,isOptionalMemberExpression:bN,isYieldExpression:xN,isStatement:SN}=at,TN=new Map([["||",0],["??",0],["|>",0],["&&",1],["|",2],["^",3],["&",4],["==",5],["===",5],["!=",5],["!==",5],["<",6],[">",6],["<=",6],[">=",6],["in",6],["instanceof",6],[">>",7],["<<",7],[">>>",7],["+",8],["-",8],["*",9],["/",9],["%",9],["**",10]]);function EN(e,t){return"BinaryExpression"===t||"LogicalExpression"===t?TN.get(e.operator):"TSAsExpression"===t||"TSSatisfiesExpression"===t?TN.get("in"):void 0}function PN(e){return"TSAsExpression"===e||"TSSatisfiesExpression"===e||"TSTypeAssertion"===e}var vN=(e,t)=>{const n=t.type;return("ClassDeclaration"===n||"ClassExpression"===n)&&t.superClass===e},AN=(e,t)=>{const n=t.type;return("MemberExpression"===n||"OptionalMemberExpression"===n)&&t.object===e||("CallExpression"===n||"OptionalCallExpression"===n||"NewExpression"===n)&&t.callee===e||"TaggedTemplateExpression"===n&&t.tag===e||"TSNonNullExpression"===n};function wN(e){return Boolean(e&(VN.expressionStatement|VN.arrowBody))}function CN(e,t){const n=t.type;if("BinaryExpression"===e.type&&"**"===e.operator&&"BinaryExpression"===n&&"**"===t.operator)return t.left===e;if(vN(e,t))return!0;if(AN(e,t)||"UnaryExpression"===n||"SpreadElement"===n||"AwaitExpression"===n)return!0;const r=EN(t,n);if(null!=r){const i=EN(e,e.type);if(r===i&&"BinaryExpression"===n&&t.right===e||r>i)return!0}}function kN(e,t){const n=t.type;return"ArrayTypeAnnotation"===n||"NullableTypeAnnotation"===n||"IntersectionTypeAnnotation"===n||"UnionTypeAnnotation"===n}function IN(e,t){return("AssignmentExpression"===t.type||"AssignmentPattern"===t.type)&&t.left===e||("BinaryExpression"===t.type&&("|"===t.operator||"&"===t.operator)&&e===t.left||CN(e,t))}function _N(e,t){const n=t.type;return"TSIntersectionType"===n||"TSUnionType"===n||"TSTypeOperator"===n||"TSOptionalType"===n||"TSArrayType"===n||"TSIndexedAccessType"===n&&t.objectType===e||"TSConditionalType"===n&&(t.checkType===e||t.extendsType===e)}function NN(e,t){const n=t.type;return"BinaryExpression"===n||"LogicalExpression"===n||"UnaryExpression"===n||"SpreadElement"===n||AN(e,t)||"AwaitExpression"===n&&xN(e)||"ConditionalExpression"===n&&e===t.test||vN(e,t)||PN(n)}function LN(e,t){return AN(e,t)||dN(t)&&"**"===t.operator&&t.left===e||vN(e,t)}function ON(e,t){const n=t.type;return!!("UnaryExpression"===n||"SpreadElement"===n||"BinaryExpression"===n||"LogicalExpression"===n||"ConditionalExpression"===n&&t.test===e||"AwaitExpression"===n||PN(n))||LN(e,t)}function DN(e,t){return hN(t)&&t.callee===e||yN(t)&&t.object===e}var MN=Object.freeze({__proto__:null,ArrowFunctionExpression:ON,AssignmentExpression:function(e,t,n){return!(!wN(n)||!gN(e.left))||ON(e,t)},AwaitExpression:NN,Binary:CN,BinaryExpression:function(e,t,n){return"in"===e.operator&&Boolean(n&VN.forInOrInitHeadAccumulate)},ClassExpression:function(e,t,n){return Boolean(n&(VN.expressionStatement|VN.exportDefault))},ConditionalExpression:ON,DoExpression:function(e,t,n){return!e.async&&Boolean(n&VN.expressionStatement)},FunctionExpression:function(e,t,n){return Boolean(n&(VN.expressionStatement|VN.exportDefault))},FunctionTypeAnnotation:function(e,t,n){const r=t.type;return"UnionTypeAnnotation"===r||"IntersectionTypeAnnotation"===r||"ArrayTypeAnnotation"===r||Boolean(n&VN.arrowFlowReturnType)},Identifier:function(e,t,n,r){const i=t.type;if(e.extra?.parenthesized&&"AssignmentExpression"===i&&t.left===e){const e=t.right.type;if(("FunctionExpression"===e||"ClassExpression"===e)&&null==t.right.id)return!0}if(r&&r(e)!==e.name)return!1;if("let"===e.name){return!!((yN(t,{object:e,computed:!0})||bN(t,{object:e,computed:!0,optional:!1}))&&n&(VN.expressionStatement|VN.forInitHead|VN.forInHead))||Boolean(n&VN.forOfHead)}return"async"===e.name&&fN(t,{left:e,await:!1})},IntersectionTypeAnnotation:kN,LogicalExpression:function(e,t){const n=t.type;if(PN(n))return!0;if("LogicalExpression"!==n)return!1;switch(e.operator){case"||":return"??"===t.operator||"&&"===t.operator;case"&&":return"??"===t.operator;case"??":return"??"!==t.operator}},NullableTypeAnnotation:function(e,t){return pN(t)},ObjectExpression:function(e,t,n){return wN(n)},OptionalCallExpression:DN,OptionalIndexedAccessType:function(e,t){return mN(t)&&t.objectType===e},OptionalMemberExpression:DN,SequenceExpression:function(e,t){const n=t.type;return!("SequenceExpression"===n||"ParenthesizedExpression"===n||"MemberExpression"===n&&t.property===e||"OptionalMemberExpression"===n&&t.property===e||"TemplateLiteral"===n)&&("ClassDeclaration"===n||("ForOfStatement"===n?t.right===e:"ExportDefaultDeclaration"===n||!SN(t)))},TSAsExpression:IN,TSConditionalType:function(e,t){const n=t.type;return"TSArrayType"===n||"TSIndexedAccessType"===n&&t.objectType===e||"TSOptionalType"===n||"TSTypeOperator"===n||"TSTypeParameter"===n||(("TSIntersectionType"===n||"TSUnionType"===n)&&t.types[0]===e||"TSConditionalType"===n&&(t.checkType===e||t.extendsType===e))},TSConstructorType:_N,TSFunctionType:_N,TSInferType:function(e,t){const n=t.type;return"TSArrayType"===n||"TSIndexedAccessType"===n&&t.objectType===e||"TSOptionalType"===n||!(!e.typeParameter.constraint||"TSIntersectionType"!==n&&"TSUnionType"!==n||t.types[0]!==e)},TSInstantiationExpression:function(e,t){const n=t.type;return("CallExpression"===n||"OptionalCallExpression"===n||"NewExpression"===n||"TSInstantiationExpression"===n)&&!!t.typeArguments},TSIntersectionType:function(e,t){const n=t.type;return"TSTypeOperator"===n||"TSArrayType"===n||"TSIndexedAccessType"===n&&t.objectType===e||"TSOptionalType"===n},TSSatisfiesExpression:IN,TSTypeAssertion:LN,TSTypeOperator:function(e,t){const n=t.type;return"TSArrayType"===n||"TSIndexedAccessType"===n&&t.objectType===e||"TSOptionalType"===n},TSUnionType:function(e,t){const n=t.type;return"TSIntersectionType"===n||"TSTypeOperator"===n||"TSArrayType"===n||"TSIndexedAccessType"===n&&t.objectType===e||"TSOptionalType"===n},UnaryLike:LN,UnionTypeAnnotation:kN,UpdateExpression:function(e,t){return AN(e,t)||vN(e,t)},YieldExpression:NN}),{FLIPPED_ALIAS_KEYS:BN,VISITOR_KEYS:FN,isCallExpression:RN,isDecorator:jN,isExpressionStatement:UN,isMemberExpression:qN,isNewExpression:$N,isParenthesizedExpression:JN}=at,VN={normal:0,expressionStatement:1,arrowBody:2,exportDefault:4,arrowFlowReturnType:8,forInitHead:16,forInHead:32,forOfHead:64,forInOrInitHeadAccumulate:128,forInOrInitHeadAccumulatePassThroughMask:128};function KN(e){const t=new Map;function n(e,n){const r=t.get(e);t.set(e,r?function(e,t,i,s){return r(e,t,i,s)??n(e,t,i,s)}:n)}for(const t of Object.keys(e)){const r=BN[t];if(r)for(const i of r)n(i,e[t]);else n(t,e[t])}return t}var WN=KN(MN),XN=KN(lN);function HN(e){return!!RN(e)||qN(e)&&HN(e.object)}function zN(e,t,n){if(!e)return!1;UN(e)&&(e=e.expression);const r=XN.get(e.type)?.(e,t);return"number"==typeof r&&0!==(r&n)}function YN(e){switch(e.type){case"Identifier":return!0;case"MemberExpression":return!e.computed&&"Identifier"===e.property.type&&YN(e.object);default:return!1}}function GN(e,t){const n=FN[e.type];for(let r=n.length-1;r>=0;r--){const i=e[n[r]];if(i===t)return!0;if(Array.isArray(i)){let e=i.length-1;for(;e>=0&&null===i[e];)e--;return e>=0&&i[e]===t}if(i)return!1}return!1}var QN=Object.freeze({__proto__:null,TokenContext:VN,isLastChild:GN,needsParens:function(e,t,n,r){return!!t&&(!(!$N(t)||t.callee!==e||!HN(e))||(jN(t)?!(YN(e)||RN(e)&&YN(e.callee)||JN(e)):WN.get(e.type)?.(e,t,n,r)))},needsWhitespace:zN,needsWhitespaceAfter:function(e,t){return zN(e,t,2)},needsWhitespaceBefore:function(e,t){return zN(e,t,1)}}),{traverseFast:ZN,VISITOR_KEYS:eL}=at,tL=class{constructor(e,t,n){Qe(this,"_tokens"),Qe(this,"_source"),Qe(this,"_nodesToTokenIndexes",new Map),Qe(this,"_nodesOccurrencesCountCache",new Map),Qe(this,"_tokensCache",new Map),this._tokens=t,this._source=n,ZN(e,e=>{const t=this._getTokensIndexesOfNode(e);t.length>0&&this._nodesToTokenIndexes.set(e,t)}),this._tokensCache=null}has(e){return this._nodesToTokenIndexes.has(e)}getIndexes(e){return this._nodesToTokenIndexes.get(e)}find(e,t){const n=this._nodesToTokenIndexes.get(e);if(n)for(let e=0;e<n.length;e++){const r=n[e],i=this._tokens[r];if(t(i,r))return i}return null}findLastIndex(e,t){const n=this._nodesToTokenIndexes.get(e);if(n)for(let e=n.length-1;e>=0;e--){const r=n[e];if(t(this._tokens[r],r))return r}return-1}findMatching(e,t,n=0){const r=this._nodesToTokenIndexes.get(e);if(r){let i=0;const s=n;if(s>1){const r=this._nodesOccurrencesCountCache.get(e);r&&r.test===t&&r.count<s&&(i=r.i+1,n-=r.count+1)}for(;i<r.length;i++){const a=this._tokens[r[i]];if(this.matchesOriginal(a,t)){if(0===n)return s>0&&this._nodesOccurrencesCountCache.set(e,{test:t,count:s,i:i}),a;n--}}}return null}matchesOriginal(e,t){return e.end-e.start===t.length&&(null!=e.value?e.value===t:this._source.startsWith(t,e.start))}startMatches(e,t){const n=this._nodesToTokenIndexes.get(e);if(!n)return!1;const r=this._tokens[n[0]];return r.start===e.start&&this.matchesOriginal(r,t)}endMatches(e,t){const n=this._nodesToTokenIndexes.get(e);if(!n)return!1;const r=this._tokens[n[n.length-1]];return r.end===e.end&&this.matchesOriginal(r,t)}_getTokensIndexesOfNode(e){if(null==e.start||null==e.end)return[];const{first:t,last:n}=this._findTokensOfNode(e,0,this._tokens.length-1);let r=t;const i=function*(e){if("TemplateLiteral"===e.type){yield e.quasis[0];for(let t=1;t<e.quasis.length;t++)yield e.expressions[t-1],yield e.quasis[t];return}const t=eL[e.type];for(const n of t){const t=e[n];t&&(Array.isArray(t)?yield*t:yield t)}}(e);"ExportNamedDeclaration"!==e.type&&"ExportDefaultDeclaration"!==e.type||!e.declaration||"ClassDeclaration"!==e.declaration.type||i.next();const s=[];for(const e of i){if(null==e)continue;if(null==e.start||null==e.end)continue;const t=this._findTokensOfNode(e,r,n),i=t.first;for(let e=r;e<i;e++)s.push(e);r=t.last+1}for(let e=r;e<=n;e++)s.push(e);return s}_findTokensOfNode(e,t,n){const r=this._tokensCache.get(e);if(r)return r;const i=this._findFirstTokenOfNode(e.start,t,n),s=this._findLastTokenOfNode(e.end,i,n);return this._tokensCache.set(e,{first:i,last:s}),{first:i,last:s}}_findFirstTokenOfNode(e,t,n){for(;t<=n;){const r=n+t>>1;if(e<this._tokens[r].start)n=r-1;else{if(!(e>this._tokens[r].start))return r;t=r+1}}return t}_findLastTokenOfNode(e,t,n){for(;t<=n;){const r=n+t>>1;if(e<this._tokens[r].end)n=r-1;else{if(!(e>this._tokens[r].end))return r;t=r+1}}return n}};var{isCallExpression:nL,isLiteral:rL,isMemberExpression:iL,isNewExpression:sL,isPattern:aL}=at;function oL(e){this.print(e.left),this.space(),"in"===e.operator||"instanceof"===e.operator?this.word(e.operator):(this.token(e.operator),this._endsWithDiv="/"===e.operator),this.space(),this.print(e.right)}var{isFor:uL,isForStatement:cL,isIfStatement:lL,isStatement:pL}=at;function dL(e){const{body:t}=e;return!1===pL(t)?e:dL(t)}function hL(e){this.word("for"),this.space();const t="ForOfStatement"===e.type;t&&e.await&&(this.word("await"),this.space()),this.noIndentInnerCommentsHere(),this.tokenChar(40);{const n=this.enterForXStatementInit(t);this.print(e.left),n?.()}this.space(),this.word(t?"of":"in"),this.space(),this.print(e.right),this.tokenChar(41),this.printBlock(e)}var fL=hL,mL=hL;function yL(e,t){t&&(e.space(),e.printTerminatorless(t)),e.semicolon()}var{isExportDefaultDeclaration:gL,isExportNamedDeclaration:bL}=at;function xL(e,t){(gL(t)||bL(t))&&this._shouldPrintDecoratorsBeforeExport(t)||this.printJoin(e.decorators),e.declare&&(this.word("declare"),this.space()),e.abstract&&(this.word("abstract"),this.space()),this.word("class"),e.id&&(this.space(),this.print(e.id)),this.print(e.typeParameters),e.superClass&&(this.space(),this.word("extends"),this.space(),this.print(e.superClass),this.print(e.superTypeArguments)),e.implements&&(this.space(),this.word("implements"),this.space(),this.printList(e.implements)),this.space(),this.print(e.body)}var{isIdentifier:SL}=at;function TL(e,t){this._functionHead(e,t),this.space(),this.print(e.body)}function EL(e,t){let n,r=e;if(!r&&t){const e=t.type;"VariableDeclarator"===e?r=t.id:"AssignmentExpression"===e||"AssignmentPattern"===e?r=t.left:"ObjectProperty"===e||"ClassProperty"===e?t.computed&&"StringLiteral"!==t.key.type||(r=t.key):"ClassPrivateProperty"!==e&&"ClassAccessorProperty"!==e||(r=t.key)}if(r)return"Identifier"===r.type?n={pos:r.loc?.start,name:r.loc?.identifierName||r.name}:"PrivateName"===r.type?n={pos:r.loc?.start,name:"#"+r.id.name}:"StringLiteral"===r.type&&(n={pos:r.loc?.start,name:r.value}),n}var{isClassDeclaration:PL,isExportDefaultSpecifier:vL,isExportNamespaceSpecifier:AL,isImportDefaultSpecifier:wL,isImportNamespaceSpecifier:CL,isStatement:kL}=at;function IL(e){this.word("export"),this.space(),"type"===e.exportKind&&(this.word("type"),this.space()),this.tokenChar(42),this.space(),this.word("from"),this.space(),e.attributes?.length||e.assertions?.length?(this.print(e.source,!0),this.space(),this._printAttributes(e,!1)):this.print(e.source),this.semicolon()}function _L(e,t){PL(t.declaration)&&e._shouldPrintDecoratorsBeforeExport(t)&&e.printJoin(t.declaration.decorators)}var{isAssignmentPattern:NL,isIdentifier:LL}=at,OL=null,DL="";function ML(e){this.token("..."),this.print(e.argument)}function BL(e){const t=e.properties;if(this.tokenChar(123),t.length){const e=this.enterDelimited();this.space(),this.printList(t,this.shouldPrintTrailingComma("}"),!0,!0),this.space(),e()}this.sourceWithOffset("end",e.loc,-1),this.tokenChar(125)}function FL(e){const t=e.elements,n=t.length;this.tokenChar(91);const r=this.enterDelimited();for(let e=0;e<t.length;e++){const r=t[e];r?(e>0&&this.space(),this.print(r),(e<n-1||this.shouldPrintTrailingComma("]"))&&this.token(",",!1,e)):this.token(",",!1,e)}r(),this.tokenChar(93)}function RL(e){const t=this.getPossibleRaw(e),n=this.format.jsescOption,r=e.value,i=r+"";n.numbers?this.number((0,J_.default)(r,n),r):null==t?this.number(i,r):this.format.minified?this.number(t.length<i.length?t:i,r):this.number(t,r)}function jL(e){const t=this.getPossibleRaw(e);if(!this.format.minified&&void 0!==t)return void this.token(t);const n=(0,J_.default)(e.value,this.format.jsescOption);this.token(n)}var UL=new Set(["^^","@@","^","%","#"]);var{isDeclareExportDeclaration:qL,isStatement:$L}=at;function JL(e,t,n){n&&(e.space(),e.word("of"),e.space(),e.word(t)),e.space()}function VL(e,t){const{members:n}=t;e.token("{"),e.indent(),e.newline();for(const t of n)e.print(t),e.newline();t.hasUnknownMembers&&(e.token("..."),e.newline()),e.dedent(),e.token("}")}function KL(e,t){e.print(t.id),e.space(),e.token("="),e.space(),e.print(t.init),e.token(",")}function WL(e){this.print(e.id),this.print(e.typeParameters,!0)}function XL(e){this.space(),this.token("&",!1,e),this.space()}function HL(e){this.tokenChar(60),this.printList(e.params),this.tokenChar(62)}function zL(e){this.space(),this.token("|",!1,e),this.space()}var YL=/(?:^|[^\\])(?:\\\\)*'/,GL=/(?:^|[^\\])(?:\\\\)*"/;function QL(){this.space()}function ZL(e,t){this.tokenChar(60);let n="ArrowFunctionExpression"===t.type&&1===e.params.length;this.tokenMap&&null!=e.start&&null!=e.end&&(n&&(n=!!this.tokenMap.find(e,e=>this.tokenMap.matchesOriginal(e,","))),n||(n=this.shouldPrintTrailingComma(">"))),this.printList(e.params,n),this.tokenChar(62)}function eO(e,t){e.tokenMap&&t.start&&t.end?e.tokenMap.endMatches(t,",")?e.token(","):e.tokenMap.endMatches(t,";")&&e.semicolon():e.semicolon()}function tO(e,t,n){let r=0;e.tokenMap?.startMatches(t,n)&&(r=1,e.token(n)),e.printJoin(t.types,void 0,void 0,function(e){this.space(),this.token(n,null,e+r),this.space()})}function nO(e,t){!0!==t&&e.token(t)}function rO(e){this.print(e.expression),this.print(e.typeArguments)}function iO(e){const{type:t,expression:n,typeAnnotation:r}=e;this.print(n,!0),this.space(),this.word("TSAsExpression"===t?"as":"satisfies"),this.space(),this.print(r)}function sO(e,t,n){e.token("{");const r=e.enterDelimited();n(),r(),e.rightBrace(t)}function aO(e,t,n){const r=new Set;for(const e of n)e&&r.add(e);e.tokenMap?.find(t,t=>{if(r.has(t.value))return e.token(t.value),e.space(),r.delete(t.value),0===r.size});for(const t of r)e.word(t),e.space()}var oO=Object.freeze({__proto__:null,AnyTypeAnnotation:function(){this.word("any")},ArgumentPlaceholder:function(){this.tokenChar(63)},ArrayExpression:FL,ArrayPattern:FL,ArrayTypeAnnotation:function(e){this.print(e.elementType,!0),this.tokenChar(91),this.tokenChar(93)},ArrowFunctionExpression:function(e,t){e.async&&(this.word("async",!0),this.space()),this._shouldPrintArrowParamsParens(e)?this._params(e,void 0,t):this.print(e.params[0],!0),this._predicate(e,!0),this.space(),this.printInnerComments(),this.token("=>"),this.space(),this.tokenContext|=VN.arrowBody,this.print(e.body)},AssignmentExpression:oL,AssignmentPattern:function(e){this.print(e.left),("Identifier"===e.left.type||aL(e.left))&&(e.left.optional&&this.tokenChar(63),this.print(e.left.typeAnnotation)),this.space(),this.tokenChar(61),this.space(),this.print(e.right)},AwaitExpression:function(e){this.word("await"),this.space(),this.print(e.argument)},BigIntLiteral:function(e){const t=this.getPossibleRaw(e);this.format.minified||void 0===t?this.word(e.value+"n"):this.word(t)},BinaryExpression:oL,BindExpression:function(e){this.print(e.object),this.token("::"),this.print(e.callee)},BlockStatement:function(e){this.tokenChar(123);const t=this.enterDelimited(),n=e.directives?.length;if(n){const t=e.body.length?2:1;this.printSequence(e.directives,!0,t),e.directives[n-1].trailingComments?.length||this.newline(t)}this.printSequence(e.body,!0),t(),this.rightBrace(e)},BooleanLiteral:function(e){this.word(e.value?"true":"false")},BooleanLiteralTypeAnnotation:function(e){this.word(e.value?"true":"false")},BooleanTypeAnnotation:function(){this.word("boolean")},BreakStatement:function(e){this.word("break"),yL(this,e.label)},CallExpression:function(e){this.print(e.callee),this.print(e.typeArguments),this.tokenChar(40);const t=this.enterDelimited();this.printList(e.arguments,this.shouldPrintTrailingComma(")")),t(),this.rightParens(e)},CatchClause:function(e){this.word("catch"),this.space(),e.param&&(this.tokenChar(40),this.print(e.param),this.print(e.param.typeAnnotation),this.tokenChar(41),this.space()),this.print(e.body)},ClassAccessorProperty:function(e){this.printJoin(e.decorators);const t=e.key.loc?.end?.line;t&&this.catchUp(t),this.tsPrintClassMemberModifiers(e),this.word("accessor",!0),this.space(),e.computed?(this.tokenChar(91),this.print(e.key),this.tokenChar(93)):(this._variance(e),this.print(e.key)),e.optional&&this.tokenChar(63),e.definite&&this.tokenChar(33),this.print(e.typeAnnotation),e.value&&(this.space(),this.tokenChar(61),this.space(),this.print(e.value)),this.semicolon()},ClassBody:function(e){if(this.tokenChar(123),0===e.body.length)this.tokenChar(125);else{this.newline();const t=function(e,t){if(!e.tokenMap||null==t.start||null==t.end)return null;const n=e.tokenMap.getIndexes(t);if(!n)return null;let r=1,i=0,s=0;const a=()=>{for(;s<t.body.length&&null==t.body[s].start;)s++};return a(),o=>{s<=o&&(s=o+1,a());const u=s===t.body.length?t.end:t.body[s].start;let c;for(;r<n.length&&e.tokenMap.matchesOriginal(c=e._tokens[n[r]],";")&&c.start<u;)e.token(";",void 0,i++),r++}}(this,e);t?.(-1);const n=this.enterDelimited();this.printJoin(e.body,!0,!0,t,!0),n(),this.endsWith(10)||this.newline(),this.rightBrace(e)}},ClassDeclaration:xL,ClassExpression:xL,ClassImplements:WL,ClassMethod:function(e){this._classMethodHead(e),this.space(),this.print(e.body)},ClassPrivateMethod:function(e){this._classMethodHead(e),this.space(),this.print(e.body)},ClassPrivateProperty:function(e){this.printJoin(e.decorators),this.tsPrintClassMemberModifiers(e),this.print(e.key),e.optional&&this.tokenChar(63),e.definite&&this.tokenChar(33),this.print(e.typeAnnotation),e.value&&(this.space(),this.tokenChar(61),this.space(),this.print(e.value)),this.semicolon()},ClassProperty:function(e){if(this.printJoin(e.decorators),!e.static&&!this.format.preserveFormat){const t=e.key.loc?.end?.line;t&&this.catchUp(t)}this.tsPrintClassMemberModifiers(e),e.computed?(this.tokenChar(91),this.print(e.key),this.tokenChar(93)):(this._variance(e),this.print(e.key)),e.optional&&this.tokenChar(63),e.definite&&this.tokenChar(33),this.print(e.typeAnnotation),e.value&&(this.space(),this.tokenChar(61),this.space(),this.print(e.value)),this.semicolon()},ConditionalExpression:function(e){this.print(e.test),this.space(),this.tokenChar(63),this.space(),this.print(e.consequent),this.space(),this.tokenChar(58),this.space(),this.print(e.alternate)},ContinueStatement:function(e){this.word("continue"),yL(this,e.label)},DebuggerStatement:function(){this.word("debugger"),this.semicolon()},DeclareClass:function(e,t){qL(t)||(this.word("declare"),this.space()),this.word("class"),this.space(),this._interfaceish(e)},DeclareExportAllDeclaration:function(e){this.word("declare"),this.space(),IL.call(this,e)},DeclareExportDeclaration:function(e){this.word("declare"),this.space(),this.word("export"),this.space(),e.default&&(this.word("default"),this.space())},DeclareFunction:function(e,t){qL(t)||(this.word("declare"),this.space()),this.word("function"),this.space(),this.print(e.id),this.print(e.id.typeAnnotation.typeAnnotation),e.predicate&&(this.space(),this.print(e.predicate)),this.semicolon()},DeclareInterface:function(e){this.word("declare"),this.space(),this.InterfaceDeclaration(e)},DeclareModule:function(e){this.word("declare"),this.space(),this.word("module"),this.space(),this.print(e.id),this.space(),this.print(e.body)},DeclareModuleExports:function(e){this.word("declare"),this.space(),this.word("module"),this.tokenChar(46),this.word("exports"),this.print(e.typeAnnotation)},DeclareOpaqueType:function(e,t){qL(t)||(this.word("declare"),this.space()),this.OpaqueType(e)},DeclareTypeAlias:function(e){this.word("declare"),this.space(),this.TypeAlias(e)},DeclareVariable:function(e,t){qL(t)||(this.word("declare"),this.space()),this.word("var"),this.space(),this.print(e.id),this.print(e.id.typeAnnotation),this.semicolon()},DeclaredPredicate:function(e){this.tokenChar(37),this.word("checks"),this.tokenChar(40),this.print(e.value),this.tokenChar(41)},Decorator:function(e){this.tokenChar(64),this.print(e.expression),this.newline()},Directive:function(e){this.print(e.value),this.semicolon()},DirectiveLiteral:function(e){const t=this.getPossibleRaw(e);if(!this.format.minified&&void 0!==t)return void this.token(t);const{value:n}=e;if(GL.test(n)){if(YL.test(n))throw new Error("Malformed AST: it is not possible to print a directive containing both unescaped single and double quotes.");this.token(`'${n}'`)}else this.token(`"${n}"`)},DoExpression:function(e){e.async&&(this.word("async",!0),this.space()),this.word("do"),this.space(),this.print(e.body)},DoWhileStatement:function(e){this.word("do"),this.space(),this.print(e.body),this.space(),this.word("while"),this.space(),this.tokenChar(40),this.print(e.test),this.tokenChar(41),this.semicolon()},EmptyStatement:function(){this.semicolon(!0)},EmptyTypeAnnotation:function(){this.word("empty")},EnumBooleanBody:function(e){const{explicitType:t}=e;JL(this,"boolean",t),VL(this,e)},EnumBooleanMember:function(e){KL(this,e)},EnumDeclaration:function(e){const{id:t,body:n}=e;this.word("enum"),this.space(),this.print(t),this.print(n)},EnumDefaultedMember:function(e){const{id:t}=e;this.print(t),this.tokenChar(44)},EnumNumberBody:function(e){const{explicitType:t}=e;JL(this,"number",t),VL(this,e)},EnumNumberMember:function(e){KL(this,e)},EnumStringBody:function(e){const{explicitType:t}=e;JL(this,"string",t),VL(this,e)},EnumStringMember:function(e){KL(this,e)},EnumSymbolBody:function(e){JL(this,"symbol",!0),VL(this,e)},ExistsTypeAnnotation:function(){this.tokenChar(42)},ExportAllDeclaration:IL,ExportDefaultDeclaration:function(e){_L(this,e),this.word("export"),this.noIndentInnerCommentsHere(),this.space(),this.word("default"),this.space(),this.tokenContext|=VN.exportDefault;const t=e.declaration;this.print(t),kL(t)||this.semicolon()},ExportDefaultSpecifier:function(e){this.print(e.exported)},ExportNamedDeclaration:function(e){if(_L(this,e),this.word("export"),this.space(),e.declaration){const t=e.declaration;this.print(t),kL(t)||this.semicolon()}else{"type"===e.exportKind&&(this.word("type"),this.space());const t=e.specifiers.slice(0);let n=!1;for(;;){const e=t[0];if(!vL(e)&&!AL(e))break;n=!0,this.print(t.shift()),t.length&&(this.tokenChar(44),this.space())}let r=!1;(t.length||!t.length&&!n)&&(r=!0,this.tokenChar(123),t.length&&(this.space(),this.printList(t,this.shouldPrintTrailingComma("}")),this.space()),this.tokenChar(125)),e.source&&(this.space(),this.word("from"),this.space(),e.attributes?.length||e.assertions?.length?(this.print(e.source,!0),this.space(),this._printAttributes(e,r)):this.print(e.source)),this.semicolon()}},ExportNamespaceSpecifier:function(e){this.tokenChar(42),this.space(),this.word("as"),this.space(),this.print(e.exported)},ExportSpecifier:function(e){"type"===e.exportKind&&(this.word("type"),this.space()),this.print(e.local),e.exported&&e.local.name!==e.exported.name&&(this.space(),this.word("as"),this.space(),this.print(e.exported))},ExpressionStatement:function(e){this.tokenContext|=VN.expressionStatement,this.print(e.expression),this.semicolon()},File:function(e){e.program&&this.print(e.program.interpreter),this.print(e.program)},ForInStatement:fL,ForOfStatement:mL,ForStatement:function(e){this.word("for"),this.space(),this.tokenChar(40);{const t=this.enterForStatementInit();this.print(e.init),t()}this.tokenChar(59),e.test&&(this.space(),this.print(e.test)),this.token(";",!1,1),e.update&&(this.space(),this.print(e.update)),this.tokenChar(41),this.printBlock(e)},FunctionDeclaration:TL,FunctionExpression:TL,FunctionTypeAnnotation:function(e,t){this.print(e.typeParameters),this.tokenChar(40),e.this&&(this.word("this"),this.tokenChar(58),this.space(),this.print(e.this.typeAnnotation),(e.params.length||e.rest)&&(this.tokenChar(44),this.space())),this.printList(e.params),e.rest&&(e.params.length&&(this.tokenChar(44),this.space()),this.token("..."),this.print(e.rest)),this.tokenChar(41);const n=t?.type;null!=n&&("ObjectTypeCallProperty"===n||"ObjectTypeInternalSlot"===n||"DeclareFunction"===n||"ObjectTypeProperty"===n&&t.method)?this.tokenChar(58):(this.space(),this.token("=>")),this.space(),this.print(e.returnType)},FunctionTypeParam:function(e){this.print(e.name),e.optional&&this.tokenChar(63),e.name&&(this.tokenChar(58),this.space()),this.print(e.typeAnnotation)},GenericTypeAnnotation:WL,Identifier:function(e){this.sourceIdentifierName(e.loc?.identifierName||e.name),this.word(this.tokenMap?this._getRawIdentifier(e):e.name)},IfStatement:function(e){this.word("if"),this.space(),this.tokenChar(40),this.print(e.test),this.tokenChar(41),this.space();const t=e.alternate&&lL(dL(e.consequent));t&&(this.tokenChar(123),this.newline(),this.indent()),this.printAndIndentOnComments(e.consequent),t&&(this.dedent(),this.newline(),this.tokenChar(125)),e.alternate&&(this.endsWith(125)&&this.space(),this.word("else"),this.space(),this.printAndIndentOnComments(e.alternate))},Import:function(){this.word("import")},ImportAttribute:function(e){this.print(e.key),this.tokenChar(58),this.space(),this.print(e.value)},ImportDeclaration:function(e){this.word("import"),this.space();const t="type"===e.importKind||"typeof"===e.importKind;t?(this.noIndentInnerCommentsHere(),this.word(e.importKind),this.space()):e.module?(this.noIndentInnerCommentsHere(),this.word("module"),this.space()):e.phase&&(this.noIndentInnerCommentsHere(),this.word(e.phase),this.space());const n=e.specifiers.slice(0),r=!!n.length;for(;r;){const e=n[0];if(!wL(e)&&!CL(e))break;this.print(n.shift()),n.length&&(this.tokenChar(44),this.space())}let i=!1;n.length?(i=!0,this.tokenChar(123),this.space(),this.printList(n,this.shouldPrintTrailingComma("}")),this.space(),this.tokenChar(125)):t&&!r&&(i=!0,this.tokenChar(123),this.tokenChar(125)),(r||t)&&(this.space(),this.word("from"),this.space()),e.attributes?.length||e.assertions?.length?(this.print(e.source,!0),this.space(),this._printAttributes(e,i)):this.print(e.source),this.semicolon()},ImportDefaultSpecifier:function(e){this.print(e.local)},ImportExpression:function(e){this.word("import"),e.phase&&(this.tokenChar(46),this.word(e.phase)),this.tokenChar(40);const t=this.shouldPrintTrailingComma(")");this.print(e.source),null!=e.options&&(this.tokenChar(44),this.space(),this.print(e.options)),t&&this.tokenChar(44),this.rightParens(e)},ImportNamespaceSpecifier:function(e){this.tokenChar(42),this.space(),this.word("as"),this.space(),this.print(e.local)},ImportSpecifier:function(e){"type"!==e.importKind&&"typeof"!==e.importKind||(this.word(e.importKind),this.space()),this.print(e.imported),e.local&&e.local.name!==e.imported.name&&(this.space(),this.word("as"),this.space(),this.print(e.local))},IndexedAccessType:function(e){this.print(e.objectType,!0),this.tokenChar(91),this.print(e.indexType),this.tokenChar(93)},InferredPredicate:function(){this.tokenChar(37),this.word("checks")},InterfaceDeclaration:function(e){this.word("interface"),this.space(),this._interfaceish(e)},InterfaceExtends:WL,InterfaceTypeAnnotation:function(e){this.word("interface"),e.extends?.length&&(this.space(),this.word("extends"),this.space(),this.printList(e.extends)),this.space(),this.print(e.body)},InterpreterDirective:function(e){this.token(`#!${e.value}`),this.newline(1,!0)},IntersectionTypeAnnotation:function(e){this.printJoin(e.types,void 0,void 0,XL)},JSXAttribute:function(e){this.print(e.name),e.value&&(this.tokenChar(61),this.print(e.value))},JSXClosingElement:function(e){this.tokenChar(60),this.tokenChar(47),this.print(e.name),this.tokenChar(62)},JSXClosingFragment:function(){this.token("</"),this.tokenChar(62)},JSXElement:function(e){const t=e.openingElement;if(this.print(t),!t.selfClosing){this.indent();for(const t of e.children)this.print(t);this.dedent(),this.print(e.closingElement)}},JSXEmptyExpression:function(){this.printInnerComments()},JSXExpressionContainer:function(e){this.tokenChar(123),this.print(e.expression),this.rightBrace(e)},JSXFragment:function(e){this.print(e.openingFragment),this.indent();for(const t of e.children)this.print(t);this.dedent(),this.print(e.closingFragment)},JSXIdentifier:function(e){this.word(e.name)},JSXMemberExpression:function(e){this.print(e.object),this.tokenChar(46),this.print(e.property)},JSXNamespacedName:function(e){this.print(e.namespace),this.tokenChar(58),this.print(e.name)},JSXOpeningElement:function(e){this.tokenChar(60),this.print(e.name),this.print(e.typeArguments),e.attributes.length>0&&(this.space(),this.printJoin(e.attributes,void 0,void 0,QL)),e.selfClosing&&(this.space(),this.tokenChar(47)),this.tokenChar(62)},JSXOpeningFragment:function(){this.tokenChar(60),this.tokenChar(62)},JSXSpreadAttribute:function(e){this.tokenChar(123),this.token("..."),this.print(e.argument),this.rightBrace(e)},JSXSpreadChild:function(e){this.tokenChar(123),this.token("..."),this.print(e.expression),this.rightBrace(e)},JSXText:function(e){const t=this.getPossibleRaw(e);void 0!==t?this.token(t,!0):this.token(e.value,!0)},LabeledStatement:function(e){this.print(e.label),this.tokenChar(58),this.space(),this.print(e.body)},LogicalExpression:oL,MemberExpression:function(e){if(this.print(e.object),!e.computed&&iL(e.property))throw new TypeError("Got a MemberExpression for MemberExpression property");let t=e.computed;if(rL(e.property)&&"number"==typeof e.property.value&&(t=!0),t){const t=this.enterDelimited();this.tokenChar(91),this.print(e.property),this.tokenChar(93),t()}else this.tokenChar(46),this.print(e.property)},MetaProperty:function(e){this.print(e.meta),this.tokenChar(46),this.print(e.property)},MixedTypeAnnotation:function(){this.word("mixed")},ModuleExpression:function(e){this.word("module",!0),this.space(),this.tokenChar(123),this.indent();const{body:t}=e;(t.body.length||t.directives.length)&&this.newline(),this.print(t),this.dedent(),this.rightBrace(e)},NewExpression:function(e,t){if(this.word("new"),this.space(),this.print(e.callee),this.format.minified&&0===e.arguments.length&&!e.optional&&!nL(t,{callee:e})&&!iL(t)&&!sL(t))return;if(this.print(e.typeArguments),0===e.arguments.length&&this.tokenMap&&!this.tokenMap.endMatches(e,")"))return;this.tokenChar(40);const n=this.enterDelimited();this.printList(e.arguments,this.shouldPrintTrailingComma(")")),n(),this.rightParens(e)},NullLiteral:function(){this.word("null")},NullLiteralTypeAnnotation:function(){this.word("null")},NullableTypeAnnotation:function(e){this.tokenChar(63),this.print(e.typeAnnotation)},NumberLiteralTypeAnnotation:RL,NumberTypeAnnotation:function(){this.word("number")},NumericLiteral:RL,ObjectExpression:BL,ObjectMethod:function(e){this.printJoin(e.decorators),this._methodHead(e),this.space(),this.print(e.body)},ObjectPattern:BL,ObjectProperty:function(e){if(this.printJoin(e.decorators),e.computed)this.tokenChar(91),this.print(e.key),this.tokenChar(93);else{if(NL(e.value)&&LL(e.key)&&e.key.name===e.value.left.name)return void this.print(e.value);if(this.print(e.key),e.shorthand&&LL(e.key)&&LL(e.value)&&e.key.name===e.value.name)return}this.tokenChar(58),this.space(),this.print(e.value)},ObjectTypeAnnotation:function(e){e.exact?this.token("{|"):this.tokenChar(123);const t=[...e.properties,...e.callProperties||[],...e.indexers||[],...e.internalSlots||[]];t.length&&(this.newline(),this.space(),this.printJoin(t,!0,!0,void 0,void 0,function(e){if(e&&!t[0])return 1},()=>{(1!==t.length||e.inexact)&&(this.tokenChar(44),this.space())}),this.space()),e.inexact&&(this.indent(),this.token("..."),t.length&&this.newline(),this.dedent()),e.exact?this.token("|}"):this.tokenChar(125)},ObjectTypeCallProperty:function(e){e.static&&(this.word("static"),this.space()),this.print(e.value)},ObjectTypeIndexer:function(e){e.static&&(this.word("static"),this.space()),this._variance(e),this.tokenChar(91),e.id&&(this.print(e.id),this.tokenChar(58),this.space()),this.print(e.key),this.tokenChar(93),this.tokenChar(58),this.space(),this.print(e.value)},ObjectTypeInternalSlot:function(e){e.static&&(this.word("static"),this.space()),this.tokenChar(91),this.tokenChar(91),this.print(e.id),this.tokenChar(93),this.tokenChar(93),e.optional&&this.tokenChar(63),e.method||(this.tokenChar(58),this.space()),this.print(e.value)},ObjectTypeProperty:function(e){e.proto&&(this.word("proto"),this.space()),e.static&&(this.word("static"),this.space()),"get"!==e.kind&&"set"!==e.kind||(this.word(e.kind),this.space()),this._variance(e),this.print(e.key),e.optional&&this.tokenChar(63),e.method||(this.tokenChar(58),this.space()),this.print(e.value)},ObjectTypeSpreadProperty:function(e){this.token("..."),this.print(e.argument)},OpaqueType:function(e){this.word("opaque"),this.space(),this.word("type"),this.space(),this.print(e.id),this.print(e.typeParameters),e.supertype&&(this.tokenChar(58),this.space(),this.print(e.supertype)),e.impltype&&(this.space(),this.tokenChar(61),this.space(),this.print(e.impltype)),this.semicolon()},OptionalCallExpression:function(e){this.print(e.callee),e.optional&&this.token("?."),this.print(e.typeArguments),this.tokenChar(40);const t=this.enterDelimited();this.printList(e.arguments),t(),this.rightParens(e)},OptionalIndexedAccessType:function(e){this.print(e.objectType),e.optional&&this.token("?."),this.tokenChar(91),this.print(e.indexType),this.tokenChar(93)},OptionalMemberExpression:function(e){let{computed:t}=e;const{optional:n,property:r}=e;if(this.print(e.object),!t&&iL(r))throw new TypeError("Got a MemberExpression for MemberExpression property");rL(r)&&"number"==typeof r.value&&(t=!0),n&&this.token("?."),t?(this.tokenChar(91),this.print(r),this.tokenChar(93)):(n||this.tokenChar(46),this.print(r))},ParenthesizedExpression:function(e){this.tokenChar(40);const t=this.enterDelimited();this.print(e.expression),t(),this.rightParens(e)},PipelineBareFunction:function(e){this.print(e.callee)},PipelinePrimaryTopicReference:function(){this.tokenChar(35)},PipelineTopicExpression:function(e){this.print(e.expression)},Placeholder:function(e){this.token("%%"),this.print(e.name),this.token("%%"),"Statement"===e.expectedNode&&this.semicolon()},PrivateName:function(e){this.tokenChar(35),this.print(e.id)},Program:function(e){this.noIndentInnerCommentsHere(),this.printInnerComments();const t=e.directives?.length;if(t){const n=e.body.length?2:1;this.printSequence(e.directives,void 0,n),e.directives[t-1].trailingComments?.length||this.newline(n)}this.printSequence(e.body)},QualifiedTypeIdentifier:function(e){this.print(e.qualification),this.tokenChar(46),this.print(e.id)},RecordExpression:function(e){const t=e.properties;let n,r;n="#{",r="}",this.token("#{"),t.length&&(this.space(),this.printList(t,this.shouldPrintTrailingComma("}"),!0,!0),this.space()),this.token("}")},RegExpLiteral:function(e){this.word(`/${e.pattern}/${e.flags}`)},RestElement:ML,ReturnStatement:function(e){this.word("return"),yL(this,e.argument)},SequenceExpression:function(e){this.printList(e.expressions)},SpreadElement:ML,StaticBlock:function(e){this.word("static"),this.space(),this.tokenChar(123),0===e.body.length?this.tokenChar(125):(this.newline(),this.printSequence(e.body,!0),this.rightBrace(e))},StringLiteral:jL,StringLiteralTypeAnnotation:jL,StringTypeAnnotation:function(){this.word("string")},Super:function(){this.word("super")},SwitchCase:function(e){e.test?(this.word("case"),this.space(),this.print(e.test),this.tokenChar(58)):(this.word("default"),this.tokenChar(58)),e.consequent.length&&(this.newline(),this.printSequence(e.consequent,!0))},SwitchStatement:function(e){this.word("switch"),this.space(),this.tokenChar(40),this.print(e.discriminant),this.tokenChar(41),this.space(),this.tokenChar(123),this.printSequence(e.cases,!0,void 0,function(t,n){if(!t&&e.cases[e.cases.length-1]===n)return-1}),this.rightBrace(e)},SymbolTypeAnnotation:function(){this.word("symbol")},TSAnyKeyword:function(){this.word("any")},TSArrayType:function(e){this.print(e.elementType,!0),this.tokenChar(91),this.tokenChar(93)},TSAsExpression:iO,TSBigIntKeyword:function(){this.word("bigint")},TSBooleanKeyword:function(){this.word("boolean")},TSCallSignatureDeclaration:function(e){this.tsPrintSignatureDeclarationBase(e),eO(this,e)},TSClassImplements:rO,TSConditionalType:function(e){this.print(e.checkType),this.space(),this.word("extends"),this.space(),this.print(e.extendsType),this.space(),this.tokenChar(63),this.space(),this.print(e.trueType),this.space(),this.tokenChar(58),this.space(),this.print(e.falseType)},TSConstructSignatureDeclaration:function(e){this.word("new"),this.space(),this.tsPrintSignatureDeclarationBase(e),eO(this,e)},TSConstructorType:function(e){e.abstract&&(this.word("abstract"),this.space()),this.word("new"),this.space(),this.tsPrintFunctionOrConstructorType(e)},TSDeclareFunction:function(e,t){e.declare&&(this.word("declare"),this.space()),this._functionHead(e,t),this.semicolon()},TSDeclareMethod:function(e){this._classMethodHead(e),this.semicolon()},TSEnumBody:function(e){sO(this,e,()=>this.printList(e.members,this.shouldPrintTrailingComma("}")??!1,!0,!0))},TSEnumDeclaration:function(e){const{declare:t,const:n,id:r}=e;t&&(this.word("declare"),this.space()),n&&(this.word("const"),this.space()),this.word("enum"),this.space(),this.print(r),this.space(),this.print(e.body)},TSEnumMember:function(e){const{id:t,initializer:n}=e;this.print(t),n&&(this.space(),this.tokenChar(61),this.space(),this.print(n))},TSExportAssignment:function(e){this.word("export"),this.space(),this.tokenChar(61),this.space(),this.print(e.expression),this.semicolon()},TSExternalModuleReference:function(e){this.token("require("),this.print(e.expression),this.tokenChar(41)},TSFunctionType:function(e){this.tsPrintFunctionOrConstructorType(e)},TSImportEqualsDeclaration:function(e){const{id:t,moduleReference:n}=e;this.word("import"),this.space(),this.print(t),this.space(),this.tokenChar(61),this.space(),this.print(n),this.semicolon()},TSImportType:function(e){const{argument:t,qualifier:n,options:r}=e;this.word("import"),this.tokenChar(40),this.print(t),r&&(this.tokenChar(44),this.print(r)),this.tokenChar(41),n&&(this.tokenChar(46),this.print(n));const i=e.typeArguments;i&&this.print(i)},TSIndexSignature:function(e){const{readonly:t,static:n}=e;n&&(this.word("static"),this.space()),t&&(this.word("readonly"),this.space()),this.tokenChar(91),this._parameters(e.parameters,"]"),this.print(e.typeAnnotation),eO(this,e)},TSIndexedAccessType:function(e){this.print(e.objectType,!0),this.tokenChar(91),this.print(e.indexType),this.tokenChar(93)},TSInferType:function(e){this.word("infer"),this.print(e.typeParameter)},TSInstantiationExpression:function(e){this.print(e.expression),this.print(e.typeArguments)},TSInterfaceBody:function(e){sO(this,e,()=>this.printJoin(e.body,!0,!0))},TSInterfaceDeclaration:function(e){const{declare:t,id:n,typeParameters:r,extends:i,body:s}=e;t&&(this.word("declare"),this.space()),this.word("interface"),this.space(),this.print(n),this.print(r),i?.length&&(this.space(),this.word("extends"),this.space(),this.printList(i)),this.space(),this.print(s)},TSInterfaceHeritage:rO,TSIntersectionType:function(e){tO(this,e,"&")},TSIntrinsicKeyword:function(){this.word("intrinsic")},TSLiteralType:function(e){this.print(e.literal)},TSMappedType:function(e){const{nameType:t,optional:n,readonly:r,typeAnnotation:i}=e;this.tokenChar(123);const s=this.enterDelimited();this.space(),r&&(nO(this,r),this.word("readonly"),this.space()),this.tokenChar(91),this.word(e.key.name),this.space(),this.word("in"),this.space(),this.print(e.constraint),t&&(this.space(),this.word("as"),this.space(),this.print(t)),this.tokenChar(93),n&&(nO(this,n),this.tokenChar(63)),i&&(this.tokenChar(58),this.space(),this.print(i)),this.space(),s(),this.tokenChar(125)},TSMethodSignature:function(e){const{kind:t}=e;"set"!==t&&"get"!==t||(this.word(t),this.space()),this.tsPrintPropertyOrMethodName(e),this.tsPrintSignatureDeclarationBase(e),eO(this,e)},TSModuleBlock:function(e){sO(this,e,()=>this.printSequence(e.body,!0))},TSModuleDeclaration:function(e){const{declare:t,id:n,kind:r}=e;t&&(this.word("declare"),this.space()),"global"!==r&&(this.word(r),this.space()),this.print(e.id),e.body?(this.space(),this.print(e.body)):this.semicolon()},TSNamedTupleMember:function(e){this.print(e.label),e.optional&&this.tokenChar(63),this.tokenChar(58),this.space(),this.print(e.elementType)},TSNamespaceExportDeclaration:function(e){this.word("export"),this.space(),this.word("as"),this.space(),this.word("namespace"),this.space(),this.print(e.id),this.semicolon()},TSNeverKeyword:function(){this.word("never")},TSNonNullExpression:function(e){this.print(e.expression),this.tokenChar(33)},TSNullKeyword:function(){this.word("null")},TSNumberKeyword:function(){this.word("number")},TSObjectKeyword:function(){this.word("object")},TSOptionalType:function(e){this.print(e.typeAnnotation),this.tokenChar(63)},TSParameterProperty:function(e){e.accessibility&&(this.word(e.accessibility),this.space()),e.readonly&&(this.word("readonly"),this.space()),this._param(e.parameter)},TSParenthesizedType:function(e){this.tokenChar(40),this.print(e.typeAnnotation),this.tokenChar(41)},TSPropertySignature:function(e){const{readonly:t}=e;t&&(this.word("readonly"),this.space()),this.tsPrintPropertyOrMethodName(e),this.print(e.typeAnnotation),eO(this,e)},TSQualifiedName:function(e){this.print(e.left),this.tokenChar(46),this.print(e.right)},TSRestType:function(e){this.token("..."),this.print(e.typeAnnotation)},TSSatisfiesExpression:iO,TSStringKeyword:function(){this.word("string")},TSSymbolKeyword:function(){this.word("symbol")},TSTemplateLiteralType:function(e){this._printTemplate(e,e.types)},TSThisType:function(){this.word("this")},TSTupleType:function(e){this.tokenChar(91),this.printList(e.elementTypes,this.shouldPrintTrailingComma("]")),this.tokenChar(93)},TSTypeAliasDeclaration:function(e){const{declare:t,id:n,typeParameters:r,typeAnnotation:i}=e;t&&(this.word("declare"),this.space()),this.word("type"),this.space(),this.print(n),this.print(r),this.space(),this.tokenChar(61),this.space(),this.print(i),this.semicolon()},TSTypeAnnotation:function(e,t){this.token("TSFunctionType"!==t.type&&"TSConstructorType"!==t.type||t.returnType!==e?":":"=>"),this.space(),e.optional&&this.tokenChar(63),this.print(e.typeAnnotation)},TSTypeAssertion:function(e){const{typeAnnotation:t,expression:n}=e;this.tokenChar(60),this.print(t),this.tokenChar(62),this.space(),this.print(n)},TSTypeLiteral:function(e){sO(this,e,()=>this.printJoin(e.members,!0,!0))},TSTypeOperator:function(e){this.word(e.operator),this.space(),this.print(e.typeAnnotation)},TSTypeParameter:function(e){e.const&&(this.word("const"),this.space()),e.in&&(this.word("in"),this.space()),e.out&&(this.word("out"),this.space()),this.word(e.name.name),e.constraint&&(this.space(),this.word("extends"),this.space(),this.print(e.constraint)),e.default&&(this.space(),this.tokenChar(61),this.space(),this.print(e.default))},TSTypeParameterDeclaration:ZL,TSTypeParameterInstantiation:ZL,TSTypePredicate:function(e){e.asserts&&(this.word("asserts"),this.space()),this.print(e.parameterName),e.typeAnnotation&&(this.space(),this.word("is"),this.space(),this.print(e.typeAnnotation.typeAnnotation))},TSTypeQuery:function(e){this.word("typeof"),this.space(),this.print(e.exprName);const t=e.typeArguments;t&&this.print(t)},TSTypeReference:function(e){const t=e.typeArguments;this.print(e.typeName,!!t),this.print(t)},TSUndefinedKeyword:function(){this.word("undefined")},TSUnionType:function(e){tO(this,e,"|")},TSUnknownKeyword:function(){this.word("unknown")},TSVoidKeyword:function(){this.word("void")},TaggedTemplateExpression:function(e){this.print(e.tag),this.print(e.typeArguments),this.print(e.quasi)},TemplateElement:function(){throw new Error("TemplateElement printing is handled in TemplateLiteral")},TemplateLiteral:function(e){this._printTemplate(e,e.expressions)},ThisExpression:function(){this.word("this")},ThisTypeAnnotation:function(){this.word("this")},ThrowStatement:function(e){this.word("throw"),yL(this,e.argument)},TopicReference:function(){const{topicToken:e}=this.format;if(!UL.has(e)){const t=JSON.stringify(e),n=Array.from(UL,e=>JSON.stringify(e));throw new Error(`The "topicToken" generator option must be one of ${n.join(", ")} (${t} received instead).`)}this.token(e)},TryStatement:function(e){this.word("try"),this.space(),this.print(e.block),this.space(),e.handlers?this.print(e.handlers[0]):this.print(e.handler),e.finalizer&&(this.space(),this.word("finally"),this.space(),this.print(e.finalizer))},TupleExpression:function(e){const t=e.elements,n=t.length;let r,i;r="#[",i="]",this.token("#[");for(let e=0;e<t.length;e++){const r=t[e];r&&(e>0&&this.space(),this.print(r),(e<n-1||this.shouldPrintTrailingComma("]"))&&this.token(",",!1,e))}this.token("]")},TupleTypeAnnotation:function(e){this.tokenChar(91),this.printList(e.types),this.tokenChar(93)},TypeAlias:function(e){this.word("type"),this.space(),this.print(e.id),this.print(e.typeParameters),this.space(),this.tokenChar(61),this.space(),this.print(e.right),this.semicolon()},TypeAnnotation:function(e,t){this.tokenChar(58),this.space(),"ArrowFunctionExpression"===t.type?this.tokenContext|=VN.arrowFlowReturnType:e.optional&&this.tokenChar(63),this.print(e.typeAnnotation)},TypeCastExpression:function(e){this.tokenChar(40),this.print(e.expression),this.print(e.typeAnnotation),this.tokenChar(41)},TypeParameter:function(e){this._variance(e),this.word(e.name),e.bound&&this.print(e.bound),e.default&&(this.space(),this.tokenChar(61),this.space(),this.print(e.default))},TypeParameterDeclaration:HL,TypeParameterInstantiation:HL,TypeofTypeAnnotation:function(e){this.word("typeof"),this.space(),this.print(e.argument)},UnaryExpression:function(e){const{operator:t}=e;"void"===t||"delete"===t||"typeof"===t||"throw"===t?(this.word(t),this.space()):this.token(t),this.print(e.argument)},UnionTypeAnnotation:function(e){this.printJoin(e.types,void 0,void 0,zL)},UpdateExpression:function(e){e.prefix?(this.token(e.operator),this.print(e.argument)):(this.print(e.argument,!0),this.token(e.operator))},V8IntrinsicIdentifier:function(e){this.tokenChar(37),this.word(e.name)},VariableDeclaration:function(e,t){e.declare&&(this.word("declare"),this.space());const{kind:n}=e;"await using"===n?(this.word("await"),this.space(),this.word("using",!0)):this.word(n,"using"===n),this.space();let r=!1;if(!uL(t))for(const t of e.declarations)t.init&&(r=!0);if(this.printList(e.declarations,void 0,void 0,e.declarations.length>1,r?function(e){this.token(",",!1,e),this.newline()}:void 0),uL(t))if(cL(t)){if(t.init===e)return}else if(t.left===e)return;this.semicolon()},VariableDeclarator:function(e){this.print(e.id),e.definite&&this.tokenChar(33),this.print(e.id.typeAnnotation),e.init&&(this.space(),this.tokenChar(61),this.space(),this.print(e.init))},Variance:function(e){"plus"===e.kind?this.tokenChar(43):this.tokenChar(45)},VoidPattern:function(){this.word("void")},VoidTypeAnnotation:function(){this.word("void")},WhileStatement:function(e){this.word("while"),this.space(),this.tokenChar(40),this.print(e.test),this.tokenChar(41),this.printBlock(e)},WithStatement:function(e){this.word("with"),this.space(),this.tokenChar(40),this.print(e.object),this.tokenChar(41),this.printBlock(e)},YieldExpression:function(e){e.delegate?(this.word("yield",!0),this.tokenChar(42),e.argument&&(this.space(),this.print(e.argument))):e.argument?(this.word("yield",!0),this.space(),this.print(e.argument)):this.word("yield")},_classMethodHead:function(e){if(this.printJoin(e.decorators),!this.format.preserveFormat){const t=e.key.loc?.end?.line;t&&this.catchUp(t)}this.tsPrintClassMemberModifiers(e),this._methodHead(e)},_functionHead:function(e,t){e.async&&(this.word("async"),this.format.preserveFormat||(this._endsWithInnerRaw=!1),this.space()),this.word("function"),e.generator&&(this.format.preserveFormat||(this._endsWithInnerRaw=!1),this.tokenChar(42)),this.space(),e.id&&this.print(e.id),this._params(e,e.id,t),"TSDeclareFunction"!==e.type&&this._predicate(e)},_getRawIdentifier:function(e){if(e===OL)return DL;OL=e;const{name:t}=e,n=this.tokenMap.find(e,e=>e.value===t);return DL=n?this._originalCode.slice(n.start,n.end):e.name},_interfaceish:function(e){this.print(e.id),this.print(e.typeParameters),e.extends?.length&&(this.space(),this.word("extends"),this.space(),this.printList(e.extends)),"DeclareClass"===e.type&&(e.mixins?.length&&(this.space(),this.word("mixins"),this.space(),this.printList(e.mixins)),e.implements?.length&&(this.space(),this.word("implements"),this.space(),this.printList(e.implements))),this.space(),this.print(e.body)},_methodHead:function(e){const t=e.kind,n=e.key;"get"!==t&&"set"!==t||(this.word(t),this.space()),e.async&&(this.word("async",!0),this.space()),"method"!==t&&"init"!==t||e.generator&&this.tokenChar(42),e.computed?(this.tokenChar(91),this.print(n),this.tokenChar(93)):this.print(n),e.optional&&this.tokenChar(63),this._params(e,e.computed&&"StringLiteral"!==e.key.type?void 0:e.key,void 0)},_param:function(e){this.printJoin(e.decorators),this.print(e),e.optional&&this.tokenChar(63),this.print(e.typeAnnotation)},_parameters:function(e,t){const n=this.enterDelimited(),r=this.shouldPrintTrailingComma(t),i=e.length;for(let t=0;t<i;t++)this._param(e[t]),(r||t<i-1)&&(this.token(",",null,t),this.space());this.token(t),n()},_params:function(e,t,n){this.print(e.typeParameters);const r=EL.call(this,t,n);r&&this.sourceIdentifierName(r.name,r.pos),this.tokenChar(40),this._parameters(e.params,")");const i="ArrowFunctionExpression"===e.type;this.print(e.returnType,i),this._noLineTerminator=i},_predicate:function(e,t){e.predicate&&(e.returnType||this.tokenChar(58),this.space(),this.print(e.predicate,t))},_printAttributes:function(e,t){const{importAttributesKeyword:n}=this.format,{attributes:r,assertions:i}=e,s="assert"===n||!n&&i;this.word(s?"assert":"with"),this.space();const a=t?1:0;this.token("{",null,a),this.space(),this.printList(r||i,this.shouldPrintTrailingComma("}")),this.space(),this.token("}",null,a)},_printTemplate:function(e,t){const n=e.quasis;let r="`";for(let e=0;e<n.length-1;e++)r+=n[e].value.raw,this.token(r+"${",!0),this.print(t[e]),r="}";r+=n[n.length-1].value.raw,this.token(r+"`",!0)},_shouldPrintArrowParamsParens:function(e){if(1!==e.params.length)return!0;if(e.typeParameters||e.returnType||e.predicate)return!0;const t=e.params[0];if(!SL(t)||t.typeAnnotation||t.optional||t.leadingComments?.length||t.trailingComments?.length)return!0;if(this.tokenMap){if(null==e.loc)return!0;if(null!==this.tokenMap.findMatching(e,"("))return!0;const t=this.tokenMap.findMatching(e,"=>");return null==t?.loc||t.loc.start.line!==e.loc.start.line}return!!this.format.retainLines},_shouldPrintDecoratorsBeforeExport:function(e){return"boolean"==typeof this.format.decoratorsBeforeExport?this.format.decoratorsBeforeExport:"number"==typeof e.start&&e.start===e.declaration.start},_variance:function(e){const t=e.variance?.kind;null!=t&&("plus"===t?this.tokenChar(43):"minus"===t&&this.tokenChar(45))},tsPrintClassMemberModifiers:function(e){const t="ClassPrivateProperty"===e.type,n="ClassAccessorProperty"===e.type||"ClassProperty"===e.type;aO(this,e,[n&&e.declare&&"declare",!t&&e.accessibility]),e.static&&(this.word("static"),this.space()),aO(this,e,[!t&&e.abstract&&"abstract",!t&&e.override&&"override",(n||t)&&e.readonly&&"readonly"])},tsPrintFunctionOrConstructorType:function(e){const{typeParameters:t}=e,n=e.params;this.print(t),this.tokenChar(40),this._parameters(n,")"),this.space();const r=e.returnType;this.print(r)},tsPrintPropertyOrMethodName:function(e){e.computed&&this.tokenChar(91),this.print(e.key),e.computed&&this.tokenChar(93),e.optional&&this.tokenChar(63)},tsPrintSignatureDeclarationBase:function(e){const{typeParameters:t}=e,n=e.params;this.print(t),this.tokenChar(40),this._parameters(n,")");const r=e.returnType;this.print(r)}}),{isExpression:uO,isFunction:cO,isStatement:lO,isClassBody:pO,isTSInterfaceBody:dO,isTSEnumMember:hO}=at,fO=/e/i,mO=/\.0+$/,yO=/[\n\r\u2028\u2029]/,gO=/[\n\r\u2028\u2029]|\*\//;function bO(e){return"CommentLine"===e.type||yO.test(e.value)}var{needsParens:xO}=QN,SO=class{constructor(e,t,n,r){Qe(this,"tokenContext",VN.normal),Qe(this,"_tokens",null),Qe(this,"_originalCode",null),Qe(this,"_currentNode",null),Qe(this,"_indent",0),Qe(this,"_indentRepeat",0),Qe(this,"_insideAux",!1),Qe(this,"_noLineTerminator",!1),Qe(this,"_noLineTerminatorAfterNode",null),Qe(this,"_printAuxAfterOnNextUserNode",!1),Qe(this,"_printedComments",new Set),Qe(this,"_endsWithInteger",!1),Qe(this,"_endsWithWord",!1),Qe(this,"_endsWithDiv",!1),Qe(this,"_lastCommentLine",0),Qe(this,"_endsWithInnerRaw",!1),Qe(this,"_indentInnerComments",!0),Qe(this,"tokenMap",null),Qe(this,"_boundGetRawIdentifier",this._getRawIdentifier.bind(this)),Qe(this,"_printSemicolonBeforeNextNode",-1),Qe(this,"_printSemicolonBeforeNextToken",-1),this.format=e,this._tokens=n,this._originalCode=r,this._indentRepeat=e.indent.style.length,this._inputMap=t?._inputMap,this._buf=new K_(t,e.indent.style[0])}enterForStatementInit(){return this.tokenContext|=VN.forInitHead|VN.forInOrInitHeadAccumulate,()=>this.tokenContext=VN.normal}enterForXStatementInit(e){return e?(this.tokenContext|=VN.forOfHead,null):(this.tokenContext|=VN.forInHead|VN.forInOrInitHeadAccumulate,()=>this.tokenContext=VN.normal)}enterDelimited(){const e=this.tokenContext,t=this._noLineTerminatorAfterNode;return e&VN.forInOrInitHeadAccumulate||null!==t?(this._noLineTerminatorAfterNode=null,this.tokenContext=VN.normal,()=>{this._noLineTerminatorAfterNode=t,this.tokenContext=e}):()=>{}}generate(e){return this.format.preserveFormat&&(this.tokenMap=new tL(e,this._tokens,this._originalCode)),this.print(e),this._maybeAddAuxComment(),this._buf.get()}indent(){const{format:e}=this;e.preserveFormat||e.compact||e.concise||this._indent++}dedent(){const{format:e}=this;e.preserveFormat||e.compact||e.concise||this._indent--}semicolon(e=!1){if(this._maybeAddAuxComment(),e)return this._appendChar(59),void(this._noLineTerminator=!1);if(this.tokenMap){const e=this._currentNode;if(null!=e.start&&null!=e.end){if(!this.tokenMap.endMatches(e,";"))return void(this._printSemicolonBeforeNextNode=this._buf.getCurrentLine());const t=this.tokenMap.getIndexes(this._currentNode);this._catchUpTo(this._tokens[t[t.length-1]].loc.start)}}this._queue(59),this._noLineTerminator=!1}rightBrace(e){this.format.minified&&this._buf.removeLastSemicolon(),this.sourceWithOffset("end",e.loc,-1),this.tokenChar(125)}rightParens(e){this.sourceWithOffset("end",e.loc,-1),this.tokenChar(41)}space(e=!1){const{format:t}=this;if(!t.compact&&!t.preserveFormat)if(e)this._space();else if(this._buf.hasContent()){const e=this.getLastChar();32!==e&&10!==e&&this._space()}}word(e,t=!1){this.tokenContext&=VN.forInOrInitHeadAccumulatePassThroughMask,this._maybePrintInnerComments(e),this._maybeAddAuxComment(),this.tokenMap&&this._catchUpToCurrentToken(e),(this._endsWithWord||this._endsWithDiv&&47===e.charCodeAt(0))&&this._space(),this._append(e,!1),this._endsWithWord=!0,this._noLineTerminator=t}number(e,t){this.word(e),this._endsWithInteger=Number.isInteger(t)&&!function(e){if(e.length>2&&48===e.charCodeAt(0)){const t=e.charCodeAt(1);return 98===t||111===t||120===t}return!1}(e)&&!fO.test(e)&&!mO.test(e)&&46!==e.charCodeAt(e.length-1)}token(e,t=!1,n=0){this.tokenContext&=VN.forInOrInitHeadAccumulatePassThroughMask,this._maybePrintInnerComments(e,n),this._maybeAddAuxComment(),this.tokenMap&&this._catchUpToCurrentToken(e,n);const r=this.getLastChar(),i=e.charCodeAt(0);(33===r&&("--"===e||61===i)||43===i&&43===r||45===i&&45===r||46===i&&this._endsWithInteger)&&this._space(),this._append(e,t),this._noLineTerminator=!1}tokenChar(e){this.tokenContext&=VN.forInOrInitHeadAccumulatePassThroughMask;const t=String.fromCharCode(e);this._maybePrintInnerComments(t),this._maybeAddAuxComment(),this.tokenMap&&this._catchUpToCurrentToken(t);const n=this.getLastChar();(43===e&&43===n||45===e&&45===n||46===e&&this._endsWithInteger)&&this._space(),this._appendChar(e),this._noLineTerminator=!1}newline(e=1,t){if(!(e<=0)){if(!t){if(this.format.retainLines||this.format.compact)return;if(this.format.concise)return void this.space()}e>2&&(e=2),e-=this._buf.getNewlineCount();for(let t=0;t<e;t++)this._newline()}}endsWith(e){return this.getLastChar()===e}getLastChar(){return this._buf.getLastChar()}endsWithCharAndNewline(){return this._buf.endsWithCharAndNewline()}removeTrailingNewline(){this._buf.removeTrailingNewline()}exactSource(e,t){e?(this._catchUp("start",e),this._buf.exactSource(e,t)):t()}source(e,t){t&&(this._catchUp(e,t),this._buf.source(e,t))}sourceWithOffset(e,t,n){t&&!this.format.preserveFormat&&(this._catchUp(e,t),this._buf.sourceWithOffset(e,t,n))}sourceIdentifierName(e,t){if(!this._buf._canMarkIdName)return;const n=this._buf._sourcePosition;n.identifierNamePos=t,n.identifierName=e}_space(){this._queue(32)}_newline(){this._queue(10)}_catchUpToCurrentToken(e,t=0){const n=this.tokenMap.findMatching(this._currentNode,e,t);n&&this._catchUpTo(n.loc.start),-1!==this._printSemicolonBeforeNextToken&&this._printSemicolonBeforeNextToken===this._buf.getCurrentLine()&&(this._buf.appendChar(59),this._endsWithWord=!1,this._endsWithInteger=!1,this._endsWithDiv=!1),this._printSemicolonBeforeNextToken=-1,this._printSemicolonBeforeNextNode=-1}_append(e,t){this._maybeIndent(e.charCodeAt(0)),this._buf.append(e,t),this._endsWithWord=!1,this._endsWithInteger=!1,this._endsWithDiv=!1}_appendChar(e){this._maybeIndent(e),this._buf.appendChar(e),this._endsWithWord=!1,this._endsWithInteger=!1,this._endsWithDiv=!1}_queue(e){this._maybeIndent(e),this._buf.queue(e),this._endsWithWord=!1,this._endsWithInteger=!1}_maybeIndent(e){this._indent&&10!==e&&this.endsWith(10)&&this._buf.queueIndentation(this._getIndent())}_shouldIndent(e){if(this._indent&&10!==e&&this.endsWith(10))return!0}catchUp(e){if(!this.format.retainLines)return;const t=e-this._buf.getCurrentLine();for(let e=0;e<t;e++)this._newline()}_catchUp(e,t){const{format:n}=this;if(!n.preserveFormat)return void(n.retainLines&&t?.[e]&&this.catchUp(t[e].line));const r=t?.[e];null!=r&&this._catchUpTo(r)}_catchUpTo({line:e,column:t,index:n}){const r=e-this._buf.getCurrentLine();if(r>0&&this._noLineTerminator)return;for(let e=0;e<r;e++)this._newline();const i=r>0?t:t-this._buf.getCurrentColumn();if(i>0){const e=this._originalCode?this._originalCode.slice(n-i,n).replace(/[^\t\v\f\uFEFF\p{Space_Separator}]/gu," "):" ".repeat(i);this._append(e,!1)}}_getIndent(){return this._indentRepeat*this._indent}printTerminatorless(e){this._noLineTerminator=!0,this.print(e)}print(e,t,n){if(!e)return;this._endsWithInnerRaw=!1;const r=e.type,i=this.format,s=i.concise;e._compact&&(i.concise=!0);const a=this[r];if(void 0===a)throw new ReferenceError(`unknown node of type ${JSON.stringify(r)} with constructor ${JSON.stringify(e.constructor.name)}`);const o=this._currentNode;this._currentNode=e,this.tokenMap&&(this._printSemicolonBeforeNextToken=this._printSemicolonBeforeNextNode);const u=this._insideAux;this._insideAux=null==e.loc,this._maybeAddAuxComment(this._insideAux&&!u);const c=e.extra?.parenthesized;let l=c&&i.preserveFormat||c&&i.retainFunctionParens&&"FunctionExpression"===r||xO(e,o,this.tokenContext,i.preserveFormat?this._boundGetRawIdentifier:void 0);if(!l&&c&&e.leadingComments?.length&&"CommentBlock"===e.leadingComments[0].type){const t=o?.type;switch(t){case"ExpressionStatement":case"VariableDeclarator":case"AssignmentExpression":case"ReturnStatement":break;case"CallExpression":case"OptionalCallExpression":case"NewExpression":if(o.callee!==e)break;default:l=!0}}let p,d,h=!1;!l&&this._noLineTerminator&&(e.leadingComments?.some(bO)||this.format.retainLines&&e.loc&&e.loc.start.line>this._buf.getCurrentLine())&&(l=!0,h=!0),l||(t||(t=o&&this._noLineTerminatorAfterNode===o&&GN(o,e)),t&&(e.trailingComments?.some(bO)?uO(e)&&(l=!0):(p=this._noLineTerminatorAfterNode,this._noLineTerminatorAfterNode=e))),l&&(this.tokenChar(40),h&&this.indent(),this._endsWithInnerRaw=!1,this.tokenContext&VN.forInOrInitHeadAccumulate&&(d=this.tokenContext,this.tokenContext=VN.normal),p=this._noLineTerminatorAfterNode,this._noLineTerminatorAfterNode=null),this._lastCommentLine=0,this._printLeadingComments(e,o);const f="Program"===r||"File"===r?null:e.loc;this.exactSource(f,a.bind(this,e,o)),l?(this._printTrailingComments(e,o),h&&(this.dedent(),this.newline()),this.tokenChar(41),this._noLineTerminator=t,d&&(this.tokenContext=d)):t&&!this._noLineTerminator?(this._noLineTerminator=!0,this._printTrailingComments(e,o)):this._printTrailingComments(e,o,n),this._currentNode=o,i.concise=s,this._insideAux=u,void 0!==p&&(this._noLineTerminatorAfterNode=p),this._endsWithInnerRaw=!1}_maybeAddAuxComment(e){e&&this._printAuxBeforeComment(),this._insideAux||this._printAuxAfterComment()}_printAuxBeforeComment(){if(this._printAuxAfterOnNextUserNode)return;this._printAuxAfterOnNextUserNode=!0;const e=this.format.auxiliaryCommentBefore;e&&this._printComment({type:"CommentBlock",value:e},0)}_printAuxAfterComment(){if(!this._printAuxAfterOnNextUserNode)return;this._printAuxAfterOnNextUserNode=!1;const e=this.format.auxiliaryCommentAfter;e&&this._printComment({type:"CommentBlock",value:e},0)}getPossibleRaw(e){const t=e.extra;if(null!=t?.raw&&null!=t.rawValue&&e.value===t.rawValue)return t.raw}printJoin(e,t,n,r,i,s,a,o){if(!e?.length)return;if(null==n&&this.format.retainLines){const t=e[0].loc?.start.line;null!=t&&t!==this._buf.getCurrentLine()&&(n=!0)}n&&this.indent();const u={addNewlines:s,nextNodeStartLine:0},c=r?.bind(this),l=e.length;for(let n=0;n<l;n++){const r=e[n];if(r&&(t&&this._printNewline(0===n,u),this.print(r,void 0,o||0),a?.(r,n),null!=c&&(n<l-1?c(n,!1):i&&c(n,!0)),t))if(r.trailingComments?.length||(this._lastCommentLine=0),n+1===l)this.newline(1);else{const t=e[n+1];u.nextNodeStartLine=t.loc?.start.line||0,this._printNewline(!0,u)}}n&&this.dedent()}printAndIndentOnComments(e){const t=e.leadingComments&&e.leadingComments.length>0;t&&this.indent(),this.print(e),t&&this.dedent()}printBlock(e){const t=e.body;"EmptyStatement"!==t.type&&this.space(),this.print(t)}_printTrailingComments(e,t,n){const{innerComments:r,trailingComments:i}=e;r?.length&&this._printComments(2,r,e,t,n),i?.length&&this._printComments(2,i,e,t,n)}_printLeadingComments(e,t){const n=e.leadingComments;n?.length&&this._printComments(0,n,e,t)}_maybePrintInnerComments(e,t){this._endsWithInnerRaw&&this.printInnerComments(this.tokenMap?.findMatching(this._currentNode,e,t)),this._endsWithInnerRaw=!0,this._indentInnerComments=!0}printInnerComments(e){const t=this._currentNode,n=t.innerComments;if(!n?.length)return;const r=this.endsWith(32),i=this._indentInnerComments,s=this._printedComments.size;i&&this.indent(),this._printComments(1,n,t,void 0,void 0,e),r&&s!==this._printedComments.size&&this.space(),i&&this.dedent()}noIndentInnerCommentsHere(){this._indentInnerComments=!1}printSequence(e,t,n,r){this.printJoin(e,!0,t??!1,void 0,void 0,r,void 0,n)}printList(e,t,n,r,i,s){this.printJoin(e,n,r,i??TO,t,void 0,s)}shouldPrintTrailingComma(e){if(!this.tokenMap)return null;const t=this.tokenMap.findLastIndex(this._currentNode,t=>this.tokenMap.matchesOriginal(t,e));return t<=0?null:this.tokenMap.matchesOriginal(this._tokens[t-1],",")}_printNewline(e,t){const n=this.format;if(n.retainLines||n.compact)return;if(n.concise)return void this.space();if(!e)return;const r=t.nextNodeStartLine,i=this._lastCommentLine;if(r>0&&i>0){const e=r-i;if(e>=0)return void this.newline(e||1)}this._buf.hasContent()&&this.newline(1)}_shouldPrintComment(e,t){if(e.ignore)return 0;if(this._printedComments.has(e))return 0;if(this._noLineTerminator&&gO.test(e.value))return 2;if(t&&this.tokenMap){const n=this.tokenMap.find(this._currentNode,t=>t.value===e.value);if(n&&n.start>t.start)return 2}return this._printedComments.add(e),this.format.shouldPrintComment(e.value)?1:0}_printComment(e,t){const n=this._noLineTerminator,r="CommentBlock"===e.type,i=r&&1!==t&&!this._noLineTerminator;i&&this._buf.hasContent()&&2!==t&&this.newline(1);const s=this.getLastChar();let a;if(91!==s&&123!==s&&40!==s&&this.space(),r){if(a=`/*${e.value}*/`,this.format.indent.adjustMultilineComment){const t=e.loc?.start.column;if(t){const e=new RegExp("\\n\\s{1,"+t+"}","g");a=a.replace(e,"\n")}if(this.format.concise)a=a.replace(/\n(?!$)/g,"\n");else{let e=this.format.retainLines?0:this._buf.getCurrentColumn();(this._shouldIndent(47)||this.format.retainLines)&&(e+=this._getIndent()),a=a.replace(/\n(?!$)/g,`\n${" ".repeat(e)}`)}}}else a=n?`/*${e.value}*/`:`//${e.value}`;if(this._endsWithDiv&&this._space(),this.tokenMap){const{_printSemicolonBeforeNextToken:t,_printSemicolonBeforeNextNode:n}=this;this._printSemicolonBeforeNextToken=-1,this._printSemicolonBeforeNextNode=-1,this.source("start",e.loc),this._append(a,r),this._printSemicolonBeforeNextNode=n,this._printSemicolonBeforeNextToken=t}else this.source("start",e.loc),this._append(a,r);r||n||this.newline(1,!0),i&&3!==t&&this.newline(1)}_printComments(e,t,n,r,i=0,s){const a=n.loc,o=t.length;let u=!!a;const c=u?a.start.line:0,l=u?a.end.line:0;let p=0,d=0;const h=this._noLineTerminator?function(){}:this.newline.bind(this);for(let a=0;a<o;a++){const f=t[a],m=this._shouldPrintComment(f,s);if(2===m){u=!1;break}if(u&&f.loc&&1===m){const t=f.loc.start.line,n=f.loc.end.line;if(0===e){let e=0;0===a?!this._buf.hasContent()||"CommentLine"!==f.type&&t===n||(e=d=1):e=t-p,p=n,h(e),this._printComment(f,1),a+1===o&&(h(Math.max(c-p,d)),p=c)}else if(1===e){const e=t-(0===a?c:p);p=n,h(e),this._printComment(f,1),a+1===o&&(h(Math.min(1,l-p)),p=l)}else{const e=t-(0===a?l-i:p);p=n,h(e),this._printComment(f,1)}}else{if(u=!1,1!==m)continue;if(1===o){const t=f.loc?f.loc.start.line===f.loc.end.line:!yO.test(f.value),i=t&&!lO(n)&&!pO(r)&&!dO(r)&&!hO(n);0===e?this._printComment(f,i&&"ObjectExpression"!==n.type||t&&cO(r,{body:n})?1:0):i&&2===e?this._printComment(f,1):this._printComment(f,0)}else 1!==e||"ObjectExpression"===n.type&&n.properties.length>1||"ClassBody"===n.type||"TSInterfaceBody"===n.type?this._printComment(f,0):this._printComment(f,0===a?2:a===o-1?3:0)}}2===e&&u&&p&&(this._lastCommentLine=p)}};function TO(e,t){this.token(",",!1,e),t||this.space()}function EO(e,t={},n){const r=function(e,t,n){if(t.experimental_preserveFormat){if("string"!=typeof e)throw new Error("`experimental_preserveFormat` requires the original `code` to be passed to @babel/generator as a string");if(!t.retainLines)throw new Error("`experimental_preserveFormat` requires `retainLines` to be set to `true`");if(t.compact&&"auto"!==t.compact)throw new Error("`experimental_preserveFormat` is not compatible with the `compact` option");if(t.minified)throw new Error("`experimental_preserveFormat` is not compatible with the `minified` option");if(t.jsescOption)throw new Error("`experimental_preserveFormat` is not compatible with the `jsescOption` option");if(!Array.isArray(n.tokens))throw new Error("`experimental_preserveFormat` requires the AST to have attached the token of the input code. Make sure to enable the `tokens: true` parser option.")}const r={auxiliaryCommentBefore:t.auxiliaryCommentBefore,auxiliaryCommentAfter:t.auxiliaryCommentAfter,shouldPrintComment:t.shouldPrintComment,preserveFormat:t.experimental_preserveFormat,retainLines:t.retainLines,retainFunctionParens:t.retainFunctionParens,comments:null==t.comments||t.comments,compact:t.compact,minified:t.minified,concise:t.concise,indent:{adjustMultilineComment:!0,style:" "},jsescOption:Object.assign({quotes:"double",wrap:!0,minimal:!0},t.jsescOption),topicToken:t.topicToken,importAttributesKeyword:t.importAttributesKeyword};r.minified?(r.compact=!0,r.shouldPrintComment=r.shouldPrintComment||(()=>r.comments)):r.shouldPrintComment=r.shouldPrintComment||(e=>r.comments||e.includes("@license")||e.includes("@preserve")),"auto"===r.compact&&(r.compact="string"==typeof e&&e.length>5e5,r.compact&&console.error(`[BABEL] Note: The code generator has deoptimised the styling of ${t.filename} as it exceeds the max of 500KB.`)),(r.compact||r.preserveFormat)&&(r.indent.adjustMultilineComment=!1);const{auxiliaryCommentBefore:i,auxiliaryCommentAfter:s,shouldPrintComment:a}=r;return i&&!a(i)&&(r.auxiliaryCommentBefore=void 0),s&&!a(s)&&(r.auxiliaryCommentAfter=void 0),r}(n,t,e),i=t.sourceMaps?new V_(t,n):null;return new SO(r,i,e.tokens,"string"==typeof n?n:null).generate(e)}Object.assign(SO.prototype,oO);var PO=Ge(nt()),vO=Object.freeze({__proto__:null,BindingIdentifier:["Identifier"],BlockScoped:null,ExistentialTypeParam:["ExistsTypeAnnotation"],Expression:["Expression"],Flow:["Flow","ImportDeclaration","ExportDeclaration","ImportSpecifier"],ForAwaitStatement:["ForOfStatement"],Generated:null,NumericLiteralTypeAnnotation:["NumberLiteralTypeAnnotation"],Pure:null,Referenced:null,ReferencedIdentifier:["Identifier","JSXIdentifier"],ReferencedMemberExpression:["MemberExpression"],RestProperty:["RestElement"],Scope:["Scopable","Pattern"],SpreadProperty:["RestElement"],Statement:["Statement"],User:null,Var:["VariableDeclaration"]}),{isBinding:AO,isBlockScoped:wO,isExportDeclaration:CO,isExpression:kO,isFlow:IO,isForStatement:_O,isForXStatement:NO,isIdentifier:LO,isImportDeclaration:OO,isImportSpecifier:DO,isJSXIdentifier:MO,isJSXMemberExpression:BO,isMemberExpression:FO,isRestElement:RO,isReferenced:jO,isScope:UO,isStatement:qO,isVar:$O,isVariableDeclaration:JO,react:VO,isForOfStatement:KO}=at,{isCompatTag:WO}=VO;var XO=Object.freeze({__proto__:null,isBindingIdentifier:function(){const{node:e,parent:t}=this,n=this.parentPath.parent;return LO(e)&&AO(e,t,n)},isBlockScoped:function(){return wO(this.node)},isExpression:function(){return this.isIdentifier()?this.isReferencedIdentifier():kO(this.node)},isFlow:function(){const{node:e}=this;return!!IO(e)||(OO(e)?"type"===e.importKind||"typeof"===e.importKind:CO(e)?"type"===e.exportKind:!!DO(e)&&("type"===e.importKind||"typeof"===e.importKind))},isForAwaitStatement:function(){return KO(this.node,{await:!0})},isGenerated:function(){return!this.isUser()},isPure:function(e){return this.scope.isPure(this.node,e)},isReferenced:function(){return jO(this.node,this.parent)},isReferencedIdentifier:function(e){const{node:t,parent:n}=this;if(!LO(t,e)&&!BO(n,e)){if(!MO(t,e))return!1;if(WO(t.name))return!1}return jO(t,n,this.parentPath.parent)},isReferencedMemberExpression:function(){const{node:e,parent:t}=this;return FO(e)&&jO(e,t)},isRestProperty:function(){return RO(this.node)&&this.parentPath?.isObjectPattern()},isScope:function(){return UO(this.node,this.parent)},isSpreadProperty:function(){return RO(this.node)&&this.parentPath?.isObjectExpression()},isStatement:function(){const{node:e,parent:t}=this;if(qO(e)){if(JO(e)){if(NO(t,{left:e}))return!1;if(_O(t,{init:e}))return!1}return!0}return!1},isUser:function(){return this.node&&!!this.node.loc},isVar:function(){return $O(this.node)}}),{DEPRECATED_KEYS:HO,DEPRECATED_ALIASES:zO,FLIPPED_ALIAS_KEYS:YO,TYPES:GO,__internal__deprecationWarning:QO}=at;function ZO(e){return e in vO}function eD(e){return e?._exploded}function tD(e){if(eD(e))return e;e._exploded=!0;for(const t of Object.keys(e)){if(uD(t))continue;const n=t.split("|");if(1===n.length)continue;const r=e[t];delete e[t];for(const t of n)e[t]=r}nD(e),delete e.__esModule,function(e){for(const t of Object.keys(e)){if(uD(t))continue;const n=e[t];"function"==typeof n&&(e[t]={enter:n})}}(e),aD(e);for(const t of Object.keys(e)){if(uD(t))continue;if(!ZO(t))continue;const n=e[t];for(const e of Object.keys(n))n[e]=oD(t,n[e]);delete e[t];const r=vO[t];if(null!==r)for(const t of r)e[t]?cD(e[t],n):e[t]=n;else cD(e,n)}for(const t of Object.keys(e)){if(uD(t))continue;let n=YO[t];if(t in HO){const e=HO[t];QO(t,e,"Visitor "),n=[e]}else if(t in zO){const e=zO[t];QO(t,e,"Visitor "),n=YO[e]}if(!n)continue;const r=e[t];delete e[t];for(const t of n){const n=e[t];n?cD(n,r):e[t]=Object.assign({},r)}}for(const t of Object.keys(e))uD(t)||aD(e[t]);return e}function nD(e){if(!e._verified){if("function"==typeof e)throw new Error("You passed `traverse()` a function when it expected a visitor object, are you sure you didn't mean `{ enter: Function }`?");for(const t of Object.keys(e)){if("enter"!==t&&"exit"!==t||rD(t,e[t]),uD(t))continue;if(!GO.includes(t))throw new Error(`You gave us a visitor for the node type ${t} but it's not a valid type in @babel/traverse 8.0.0-beta.2`);const n=e[t];if("object"==typeof n)for(const e of Object.keys(n)){if("enter"!==e&&"exit"!==e)throw new Error(`You passed \`traverse()\` a visitor object with the property ${t} that has the invalid property ${e}`);rD(`${t}.${e}`,n[e])}}e._verified=!0}}function rD(e,t){const n=[].concat(t);for(const t of n)if("function"!=typeof t)throw new TypeError(`Non-function found defined in ${e} with type ${typeof t}`)}function iD(e,t=[],n){const r={_verified:!0,_exploded:!0};for(let i=0;i<e.length;i++){const s=tD(e[i]),a=t[i];let o=s;(a||n)&&(o=sD(o,a,n)),cD(r,o);for(const e of Object.keys(s)){if(uD(e))continue;let t=s[e];(a||n)&&(t=sD(t,a,n));cD(r[e]||(r[e]={}),t)}}return r}function sD(e,t,n){const r={};for(const i of["enter","exit"]){let s=e[i];Array.isArray(s)&&(s=s.map(function(e){let r=e;return t&&(r=function(n){e.call(t,n,t)}),n&&(r=n(t?.key,i,r)),r!==e&&(r.toString=()=>e.toString()),r}),r[i]=s)}return r}function aD(e){e.enter&&!Array.isArray(e.enter)&&(e.enter=[e.enter]),e.exit&&!Array.isArray(e.exit)&&(e.exit=[e.exit])}function oD(e,t){const n=XO[`is${e}`],r=function(e){if(n.call(e))return t.apply(this,arguments)};return r.toString=()=>t.toString(),r}function uD(e){return"_"===e[0]||("enter"===e||"exit"===e||"shouldSkip"===e||("denylist"===e||"noScope"===e||"skipKeys"===e))}function cD(e,t){for(const n of["enter","exit"])t[n]&&(e[n]=[].concat(e[n]||[],t[n]))}var lD={FunctionParent(e){e.isArrowFunctionExpression()||(e.skip(),e.isMethod()&&e.requeueComputedKeyAndDecorators())},Property(e){e.isObjectProperty()||(e.skip(),e.requeueComputedKeyAndDecorators())}};function pD(e){return iD([lD,e])}var dD=Object.freeze({__proto__:null,environmentVisitor:pD,explode:tD,isExplodedVisitor:eD,merge:iD,verify:nD}),{getAssignmentIdentifiers:hD}=at,fD={ReferencedIdentifier({node:e},t){e.name===t.oldName&&(e.name=t.newName)},Scope(e,t){e.scope.bindingIdentifierEquals(t.oldName,t.binding.identifier)||(e.skip(),e.isMethod()&&e.requeueComputedKeyAndDecorators())},ObjectProperty({node:e,scope:t},n){const{name:r}=e.key;!e.shorthand||r!==n.oldName&&r!==n.newName||t.getBindingIdentifier(r)!==n.binding.identifier||(e.shorthand=!1)},"AssignmentExpression|Declaration|VariableDeclarator"(e,t){if(e.isVariableDeclaration())return;const n=e.isAssignmentExpression()?hD(e.node):e.getOuterBindingIdentifiers();for(const e in n)e===t.oldName&&(n[e].name=t.newName)}},mD=class{constructor(e,t,n){this.newName=n,this.oldName=t,this.binding=e}maybeConvertFromExportDeclaration(e){const t=e.parentPath;if(t.isExportDeclaration()){if(t.isExportDefaultDeclaration()){const{declaration:e}=t.node;if(Na(e)&&!e.id)return}t.isExportAllDeclaration()||t.splitExportDeclaration()}}maybeConvertFromClassFunctionDeclaration(e){return e}maybeConvertFromClassFunctionExpression(e){return e}rename(){const{binding:e,oldName:t,newName:n}=this,{scope:r,path:i}=e,s=i.find(e=>e.isDeclaration()||e.isFunctionExpression()||e.isClassExpression());if(s){s.getOuterBindingIdentifiers()[t]===e.identifier&&this.maybeConvertFromExportDeclaration(s)}const a=r.block,o={discriminant:!0};Ra(a)&&(a.computed&&(o.key=!0),pn(a)||(o.decorators=!0)),Cj(a,tD(fD),r,this,r.path,o),r.removeOwnBinding(t),r.bindings[n]=e,this.binding.identifier.name=n,s&&(this.maybeConvertFromClassFunctionDeclaration(i),this.maybeConvertFromClassFunctionExpression(i))}},yD=class{constructor({identifier:e,scope:t,path:n,kind:r}){Qe(this,"identifier"),Qe(this,"scope"),Qe(this,"path"),Qe(this,"kind"),Qe(this,"constantViolations",[]),Qe(this,"constant",!0),Qe(this,"referencePaths",[]),Qe(this,"referenced",!1),Qe(this,"references",0),this.identifier=e,this.scope=t,this.path=n,this.kind=r,"var"!==r&&"hoisted"!==r||!function(e){const t=!e.isVariableDeclarator()||e.node.init;for(let{parentPath:n,key:r}=e;n;({parentPath:n,key:r}=n)){if(n.isFunctionParent())return!1;if("left"===r&&n.isForXStatement()||t&&"body"===r&&n.isLoop())return!0}return!1}(n)||this.reassign(n),this.clearValue()}deoptValue(){this.clearValue(),this.hasDeoptedValue=!0}setValue(e){this.hasDeoptedValue||(this.hasValue=!0,this.value=e)}clearValue(){this.hasDeoptedValue=!1,this.hasValue=!1,this.value=null}reassign(e){this.constant=!1,this.constantViolations.includes(e)||this.constantViolations.push(e)}reference(e){this.referencePaths.includes(e)||(this.referenced=!0,this.references++,this.referencePaths.push(e))}dereference(){this.references--,this.referenced=!!this.references}};var gD=new WeakMap,bD=new WeakMap;function xD(){gD=new WeakMap}function SD(){bD=new WeakMap}function TD(e){const{parent:t,parentPath:n}=e;return n?n._store:gD.get(t)}function ED(e,t){if(t)return t._store||(t._store=new Map);let n=gD.get(e);return n||gD.set(e,n=new Map),n}var PD=Object.freeze({__proto__:null,clear:function(){xD(),SD()},clearPath:xD,clearScope:SD,getCachedPaths:TD,getOrCreateCachedPaths:ED,get path(){return gD},get scope(){return bD}}),{assignmentExpression:vD,callExpression:AD,cloneNode:wD,getBindingIdentifiers:CD,identifier:kD,isArrayExpression:ID,isBinary:_D,isCallExpression:ND,isClass:LD,isClassBody:OD,isClassDeclaration:DD,isExportAllDeclaration:MD,isExportDefaultDeclaration:BD,isExportNamedDeclaration:FD,isFunctionDeclaration:RD,isIdentifier:jD,isImportDeclaration:UD,isLiteral:qD,isMemberExpression:$D,isMethod:JD,isModuleSpecifier:VD,isNullLiteral:KD,isObjectExpression:WD,isProperty:XD,isPureish:HD,isRegExpLiteral:zD,isSuper:YD,isTaggedTemplateExpression:GD,isTemplateLiteral:QD,isThisExpression:ZD,isUnaryExpression:eM,isVariableDeclaration:tM,expressionStatement:nM,matchesPattern:rM,memberExpression:iM,numericLiteral:sM,toIdentifier:aM,variableDeclaration:oM,variableDeclarator:uM,isRecordExpression:cM,isTupleExpression:lM,isObjectProperty:pM,isTopicReference:dM,isMetaProperty:hM,isPrivateName:fM,isExportDeclaration:mM,buildUndefinedNode:yM,sequenceExpression:gM}=at;function bM(e,t){switch(e?.type){default:if(UD(e)||mM(e))if((MD(e)||FD(e)||UD(e))&&e.source)bM(e.source,t);else if((FD(e)||UD(e))&&e.specifiers?.length)for(const n of e.specifiers)bM(n,t);else(BD(e)||FD(e))&&e.declaration&&bM(e.declaration,t);else VD(e)?bM(e.local,t):!qD(e)||KD(e)||zD(e)||QD(e)||t.push(e.value);break;case"MemberExpression":case"OptionalMemberExpression":case"JSXMemberExpression":bM(e.object,t),bM(e.property,t);break;case"Identifier":case"JSXIdentifier":t.push(e.name);break;case"CallExpression":case"OptionalCallExpression":case"NewExpression":bM(e.callee,t);break;case"ObjectExpression":case"ObjectPattern":for(const n of e.properties)bM(n,t);break;case"SpreadElement":case"RestElement":case"UnaryExpression":case"UpdateExpression":bM(e.argument,t);break;case"ObjectProperty":case"ObjectMethod":case"ClassProperty":case"ClassMethod":case"ClassPrivateProperty":case"ClassPrivateMethod":bM(e.key,t);break;case"ThisExpression":t.push("this");break;case"Super":t.push("super");break;case"Import":case"ImportExpression":t.push("import");break;case"DoExpression":t.push("do");break;case"YieldExpression":t.push("yield"),bM(e.argument,t);break;case"AwaitExpression":t.push("await"),bM(e.argument,t);break;case"AssignmentExpression":bM(e.left,t);break;case"VariableDeclarator":case"FunctionExpression":case"FunctionDeclaration":case"ClassExpression":case"ClassDeclaration":case"PrivateName":bM(e.id,t);break;case"ParenthesizedExpression":bM(e.expression,t);break;case"MetaProperty":bM(e.meta,t),bM(e.property,t);break;case"JSXElement":bM(e.openingElement,t);break;case"JSXOpeningElement":bM(e.name,t);break;case"JSXFragment":bM(e.openingFragment,t);break;case"JSXOpeningFragment":t.push("Fragment");break;case"JSXNamespacedName":bM(e.namespace,t),bM(e.name,t)}}function xM(e){"Program"===e.path.type&&(e.referencesSet=new Set,e.uidsSet=new Set),e.bindings=Object.create(null),e.globals=Object.create(null)}var SM,TM={ForStatement(e){const t=e.get("init");if(t.isVar()){const{scope:n}=e;(n.getFunctionParent()||n.getProgramParent()).registerBinding("var",t)}},Declaration(e){if(e.isBlockScoped())return;if(e.isImportDeclaration())return;if(e.isExportDeclaration())return;(e.scope.getFunctionParent()||e.scope.getProgramParent()).registerDeclaration(e)},ImportDeclaration(e){e.scope.getBlockParent().registerDeclaration(e)},TSImportEqualsDeclaration(e){e.scope.getBlockParent().registerDeclaration(e)},ReferencedIdentifier(e,t){ns(e.parent)&&e.parent.right===e.node||e.parentPath.isTSImportEqualsDeclaration()||t.references.push(e)},ForXStatement(e,t){const n=e.get("left");if(n.isPattern()||n.isIdentifier())t.constantViolations.push(e);else if(n.isVar()){const{scope:t}=e;(t.getFunctionParent()||t.getProgramParent()).registerBinding("var",n)}},ExportDeclaration:{exit(e){const{node:t,scope:n}=e;if(MD(t))return;const r=t.declaration;if(DD(r)||RD(r)){const t=r.id;if(!t)return;const i=n.getBinding(t.name);i?.reference(e)}else if(tM(r))for(const t of r.declarations)for(const r of Object.keys(CD(t))){const t=n.getBinding(r);t?.reference(e)}}},LabeledStatement(e){e.scope.getBlockParent().registerDeclaration(e)},AssignmentExpression(e,t){t.assignments.push(e)},UpdateExpression(e,t){t.constantViolations.push(e)},UnaryExpression(e,t){"delete"===e.node.operator&&t.constantViolations.push(e)},BlockScoped(e){let t=e.scope;t.path===e&&(t=t.parent);if(t.getBlockParent().registerDeclaration(e),e.isClassDeclaration()&&e.node.id){const t=e.node.id.name;e.scope.bindings[t]=e.scope.parent.getBinding(t)}},CatchClause(e){e.scope.registerBinding("let",e)},Function(e){const t=e.get("params");for(const n of t)e.scope.registerBinding("param",n);e.isFunctionExpression()&&e.node.id&&e.scope.registerBinding("local",e.get("id"),e)},ClassExpression(e){e.node.id&&e.scope.registerBinding("local",e.get("id"),e)},TSTypeAnnotation(e){e.skip()}},EM=0,PM=class e{constructor(e){Qe(this,"uid"),Qe(this,"path"),Qe(this,"block"),Qe(this,"inited"),Qe(this,"labels"),Qe(this,"bindings"),Qe(this,"referencesSet"),Qe(this,"globals"),Qe(this,"uidsSet"),Qe(this,"data"),Qe(this,"crawling");const{node:t}=e,n=bD.get(t);if(n?.path===e)return n;bD.set(t,this),this.uid=EM++,this.block=t,this.path=e,this.labels=new Map,this.inited=!1}get parent(){let e,t=this.path;do{const n="key"===t.key||"decorators"===t.listKey;t=t.parentPath,n&&t.isMethod()&&(t=t.parentPath),t?.isScope()&&(e=t)}while(t&&!e);return e?.scope}get references(){throw new Error("Scope#references is not available in Babel 8. Use Scope#referencesSet instead.")}get uids(){throw new Error("Scope#uids is not available in Babel 8. Use Scope#uidsSet instead.")}generateDeclaredUidIdentifier(e){const t=this.generateUidIdentifier(e);return this.push({id:t}),wD(t)}generateUidIdentifier(e){return kD(this.generateUid(e))}generateUid(e="temp"){let t;e=aM(e).replace(/^_+/,"").replace(/\d+$/g,"");let n=0;do{t=`_${e}`,n>=11?t+=n-1:n>=9?t+=n-9:n>=1&&(t+=n+1),n++}while(this.hasLabel(t)||this.hasBinding(t)||this.hasGlobal(t)||this.hasReference(t));const r=this.getProgramParent();return r.referencesSet.add(t),r.uidsSet.add(t),t}generateUidBasedOnNode(e,t){const n=[];bM(e,n);let r=n.join("$");return r=r.replace(/^_/,"")||t||"ref",this.generateUid(r.slice(0,20))}generateUidIdentifierBasedOnNode(e,t){return kD(this.generateUidBasedOnNode(e,t))}isStatic(e){if(ZD(e)||YD(e)||dM(e))return!0;if(jD(e)){const t=this.getBinding(e.name);return t?t.constant:this.hasBinding(e.name)}return!1}maybeGenerateMemoised(e,t){if(this.isStatic(e))return null;{const n=this.generateUidIdentifierBasedOnNode(e);return t?n:(this.push({id:n}),wD(n))}}checkBlockScopedCollisions(e,t,n,r){if("param"===t)return;if("local"===e.kind)return;if("let"===t||"let"===e.kind||"const"===e.kind||"module"===e.kind||"param"===e.kind&&"const"===t)throw this.path.hub.buildError(r,`Duplicate declaration "${n}"`,TypeError)}rename(e,t){const n=this.getBinding(e);if(n){t||(t=this.generateUidIdentifier(e).name);new mD(n,e,t).rename()}}dump(){const e="-".repeat(60);console.log(e);let t=this;do{console.log("#",t.block.type);for(const e of Object.keys(t.bindings)){const n=t.bindings[e];console.log(" -",e,{constant:n.constant,references:n.references,violations:n.constantViolations.length,kind:n.kind})}}while(t=t.parent);console.log(e)}hasLabel(e){return!!this.getLabel(e)}getLabel(e){return this.labels.get(e)}registerLabel(e){this.labels.set(e.node.label.name,e)}registerDeclaration(e){if(e.isLabeledStatement())this.registerLabel(e);else if(e.isFunctionDeclaration())this.registerBinding("hoisted",e.get("id"),e);else if(e.isVariableDeclaration()){const t=e.get("declarations"),{kind:n}=e.node;for(const e of t)this.registerBinding("using"===n||"await using"===n?"const":n,e)}else if(e.isClassDeclaration()){if(e.node.declare)return;this.registerBinding("let",e)}else if(e.isImportDeclaration()){const t="type"===e.node.importKind||"typeof"===e.node.importKind,n=e.get("specifiers");for(const e of n){const n=t||e.isImportSpecifier()&&("type"===e.node.importKind||"typeof"===e.node.importKind);this.registerBinding(n?"unknown":"module",e)}}else if(e.isExportDeclaration()){const t=e.get("declaration");(t.isClassDeclaration()||t.isFunctionDeclaration()||t.isVariableDeclaration())&&this.registerDeclaration(t)}else this.registerBinding("unknown",e)}buildUndefinedNode(){return yM()}registerConstantViolation(e){const t=e.getAssignmentIdentifiers();for(const n of Object.keys(t))this.getBinding(n)?.reassign(e)}registerBinding(e,t,n=t){if(!e)throw new ReferenceError("no `kind`");if(t.isVariableDeclaration()){const n=t.get("declarations");for(const t of n)this.registerBinding(e,t);return}const r=this.getProgramParent(),i=t.getOuterBindingIdentifiers(!0);for(const t of Object.keys(i)){r.referencesSet.add(t);for(const r of i[t]){const i=this.getOwnBinding(t);if(i){if(i.identifier===r)continue;this.checkBlockScopedCollisions(i,e,t,r)}i?i.reassign(n):this.bindings[t]=new yD({identifier:r,scope:this,path:n,kind:e})}}}addGlobal(e){this.globals[e.name]=e}hasUid(e){return this.getProgramParent().uidsSet.has(e)}hasGlobal(e){let t=this;do{if(t.globals[e])return!0}while(t=t.parent);return!1}hasReference(e){return this.getProgramParent().referencesSet.has(e)}isPure(e,t){if(jD(e)){const n=this.getBinding(e.name);return!!n&&(!t||n.constant)}if(ZD(e)||hM(e)||dM(e)||fM(e))return!0;if(LD(e))return!(e.superClass&&!this.isPure(e.superClass,t))&&(!(e.decorators?.length>0)&&this.isPure(e.body,t));if(OD(e)){for(const n of e.body)if(!this.isPure(n,t))return!1;return!0}if(_D(e))return this.isPure(e.left,t)&&this.isPure(e.right,t);if(ID(e)||lM(e)){for(const n of e.elements)if(null!==n&&!this.isPure(n,t))return!1;return!0}if(WD(e)||cM(e)){for(const n of e.properties)if(!this.isPure(n,t))return!1;return!0}if(JD(e))return!(e.computed&&!this.isPure(e.key,t))&&!(e.decorators?.length>0);if(XD(e))return!(e.computed&&!this.isPure(e.key,t))&&(!(e.decorators?.length>0)&&!((pM(e)||e.static)&&null!==e.value&&!this.isPure(e.value,t)));if(eM(e))return this.isPure(e.argument,t);if(QD(e)){for(const n of e.expressions)if(!this.isPure(n,t))return!1;return!0}return GD(e)?rM(e.tag,"String.raw")&&!this.hasBinding("String",{noGlobals:!0})&&this.isPure(e.quasi,t):$D(e)?!e.computed&&jD(e.object)&&"Symbol"===e.object.name&&jD(e.property)&&"for"!==e.property.name&&!this.hasBinding("Symbol",{noGlobals:!0}):ND(e)?rM(e.callee,"Symbol.for")&&!this.hasBinding("Symbol",{noGlobals:!0})&&1===e.arguments.length&&en(e.arguments[0]):HD(e)}setData(e,t){return this.data[e]=t}getData(e){let t=this;do{const n=t.data[e];if(null!=n)return n}while(t=t.parent)}removeData(e){let t=this;do{null!=t.data[e]&&(t.data[e]=null)}while(t=t.parent)}init(){this.inited||(this.inited=!0,this.crawl())}crawl(){const e=this.path;xM(this),this.data=Object.create(null);let t=this;do{if(t.crawling)return;if(t.path.isProgram())break}while(t=t.parent);const n=t,r={references:[],constantViolations:[],assignments:[]};if(this.crawling=!0,SM||(SM=Vj.visitors.merge([{Scope(e){xM(e.scope)}},TM])),"Program"!==e.type){for(const t of SM.enter)t.call(r,e,r);const t=SM[e.type];if(t)for(const n of t.enter)n.call(r,e,r)}e.traverse(SM,r),this.crawling=!1;for(const e of r.assignments){const t=e.getAssignmentIdentifiers();for(const r of Object.keys(t))e.scope.getBinding(r)||n.addGlobal(t[r]);e.scope.registerConstantViolation(e)}for(const e of r.references){const t=e.scope.getBinding(e.node.name);t?t.reference(e):n.addGlobal(e.node)}for(const e of r.constantViolations)e.scope.registerConstantViolation(e)}push(e){let t=this.path;t.isPattern()?t=this.getPatternParent().path:t.isBlockStatement()||t.isProgram()||(t=this.getBlockParent().path),t.isSwitchStatement()&&(t=(this.getFunctionParent()||this.getProgramParent()).path);const{init:n,unique:r,kind:i="var",id:s}=e;if(!n&&!r&&("var"===i||"let"===i)&&t.isFunction()&&!t.node.name&&ND(t.parent,{callee:t.node})&&t.parent.arguments.length<=t.node.params.length&&jD(s))return t.pushContainer("params",s),void t.scope.registerBinding("param",t.get("params")[t.node.params.length-1]);(t.isLoop()||t.isCatchClause()||t.isFunction())&&(t.ensureBlock(),t=t.get("body"));const a=null==e._blockHoist?2:e._blockHoist,o=`declaration:${i}:${a}`;let u=!r&&t.getData(o);if(!u){const e=oM(i,[]);e._blockHoist=a,[u]=t.unshiftContainer("body",[e]),r||t.setData(o,u)}const c=uM(s,n),l=u.node.declarations.push(c);t.scope.registerBinding(i,u.get("declarations")[l-1])}getProgramParent(){let e=this;do{if(e.path.isProgram())return e}while(e=e.parent);throw new Error("Couldn't find a Program")}getFunctionParent(){let e=this;do{if(e.path.isFunctionParent())return e}while(e=e.parent);return null}getBlockParent(){let e=this;do{if(e.path.isBlockParent())return e}while(e=e.parent);throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...")}getPatternParent(){let e=this;do{if(!e.path.isPattern())return e.getBlockParent()}while(e=e.parent.parent);throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...")}getAllBindings(){const e=Object.create(null);let t=this;do{for(const n of Object.keys(t.bindings))n in e==!1&&(e[n]=t.bindings[n]);t=t.parent}while(t);return e}bindingIdentifierEquals(e,t){return this.getBindingIdentifier(e)===t}getBinding(e){let t,n=this;do{const r=n.getOwnBinding(e);if(r){if(!t?.isPattern()||"param"===r.kind||"local"===r.kind)return r}else if(!r&&"arguments"===e&&n.path.isFunction()&&!n.path.isArrowFunctionExpression())break;t=n.path}while(n=n.parent)}getOwnBinding(e){return this.bindings[e]}getBindingIdentifier(e){return this.getBinding(e)?.identifier}getOwnBindingIdentifier(e){const t=this.bindings[e];return t?.identifier}hasOwnBinding(e){return!!this.getOwnBinding(e)}hasBinding(t,n){if(!t)return!1;let r,i,s;"object"==typeof n?(r=n.noGlobals,i=n.noUids,s=n.upToScope):"boolean"==typeof n&&(r=n);let a=this;do{if(s===a)break;if(a.hasOwnBinding(t))return!0}while(a=a.parent);return!(i||!this.hasUid(t))||(!(r||!e.globals.includes(t))||!(r||!e.contextVariables.includes(t)))}parentHasBinding(e,t){return this.parent?.hasBinding(e,t)}moveBindingTo(e,t){const n=this.getBinding(e);n&&(n.scope.removeOwnBinding(e),n.scope=t,t.bindings[e]=n)}removeOwnBinding(e){delete this.bindings[e]}removeBinding(e){this.getBinding(e)?.scope.removeOwnBinding(e),this.getProgramParent().uidsSet.delete(e)}hoistVariables(e=e=>this.push({id:e})){this.crawl();const t=new Set;for(const n of Object.keys(this.bindings)){const r=this.bindings[n];if(!r)continue;const{path:i}=r;if(!i.isVariableDeclarator())continue;const{parent:s,parentPath:a}=i;if("var"!==s.kind||t.has(s))continue;let o;t.add(i.parent);const u=[];for(const t of s.declarations){o??(o=t.id),t.init&&u.push(vD("=",t.id,t.init));const n=Object.keys(CD(t,!1,!0,!0));for(const r of n)e(kD(r),null!=t.init)}if(a.parentPath.isFor({left:s}))a.replaceWith(o);else if(0===u.length)a.remove();else{const e=1===u.length?u[0]:gM(u);a.parentPath.isForStatement({init:s})?a.replaceWith(e):a.replaceWith(nM(e))}}}};Qe(PM,"globals",["decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","eval","globalThis","isFinite","isNaN","parseFloat","parseInt","undefined","unescape","AggregateError","Array","ArrayBuffer","Atomics","BigInt","BigInt64Array","BigUint64Array","Boolean","DataView","Date","Error","EvalError","FinalizationRegistry","Float16Array","Float32Array","Float64Array","Function","Infinity","Int16Array","Int32Array","Int8Array","Intl","Iterator","JSON","Map","Math","NaN","Number","Object","Promise","Proxy","RangeError","ReferenceError","Reflect","RegExp","Set","SharedArrayBuffer","String","Symbol","SyntaxError","TypeError","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray","URIError","WeakMap","WeakRef","WeakSet"]),Qe(PM,"contextVariables",["arguments","undefined","Infinity","NaN"]);var vM=PM,{VISITOR_KEYS:AM}=at;var{createFlowUnionType:wM,createTSUnionType:CM,createUnionTypeAnnotation:kM,isFlowType:IM,isTSType:_M}=at;function NM(e){return e.every(e=>IM(e))?wM(e):e.every(e=>_M(e))?CM(e):void 0}var{BOOLEAN_NUMBER_BINARY_OPERATORS:LM,createTypeAnnotationBasedOnTypeof:OM,numberTypeAnnotation:DM,voidTypeAnnotation:MM}=at;function BM(e,t,n){const r=e.constantViolations.slice();return r.unshift(e.path),r.filter(e=>{const r=(e=e.resolve())._guessExecutionStatusRelativeTo(t);return n&&"unknown"===r&&n.push(e),"before"===r})}function FM(e,t){const n=t.node.operator,r=t.get("right").resolve(),i=t.get("left").resolve();let s,a,o;if(i.isIdentifier({name:e})?s=r:r.isIdentifier({name:e})&&(s=i),s)return"==="===n?s.getTypeAnnotation():LM.includes(n)?DM():void 0;if("==="!==n&&"=="!==n)return;if(i.isUnaryExpression({operator:"typeof"})?(a=i,o=r):r.isUnaryExpression({operator:"typeof"})&&(a=r,o=i),!a)return;if(!a.get("argument").isIdentifier({name:e}))return;if(o=o.resolve(),!o.isLiteral())return;const u=o.node.value;return"string"==typeof u?OM(u):void 0}function RM(e,t,n){const r=function(e,t,n){let r;for(;r=t.parentPath;){if(r.isIfStatement()||r.isConditionalExpression()){if("test"===t.key)return;return r}if(r.isFunction()&&r.parentPath.scope.getBinding(n)!==e)return;t=r}}(e,t,n);if(!r)return;const i=[r.get("test")],s=[];for(let e=0;e<i.length;e++){const t=i[e];if(t.isLogicalExpression())"&&"===t.node.operator&&(i.push(t.get("left")),i.push(t.get("right")));else if(t.isBinaryExpression()){const e=FM(n,t);e&&s.push(e)}}return s.length?{typeAnnotation:NM(s),ifStatement:r}:RM(e,r,n)}var{BOOLEAN_BINARY_OPERATORS:jM,BOOLEAN_UNARY_OPERATORS:UM,NUMBER_BINARY_OPERATORS:qM,NUMBER_UNARY_OPERATORS:$M,STRING_UNARY_OPERATORS:JM,anyTypeAnnotation:VM,arrayTypeAnnotation:KM,booleanTypeAnnotation:WM,buildMatchMemberExpression:XM,genericTypeAnnotation:HM,identifier:zM,nullLiteralTypeAnnotation:YM,numberTypeAnnotation:GM,stringTypeAnnotation:QM,tupleTypeAnnotation:ZM,unionTypeAnnotation:eB,voidTypeAnnotation:tB,isIdentifier:nB}=at;function rB(e){return e.typeAnnotation}function iB(e){return e.typeAnnotation}function sB(){return HM(zM("Array"))}function aB(){return sB()}function oB(){return HM(zM("Function"))}rB.validParent=!0,iB.validParent=!0,aB.validParent=!0;var uB=XM("Array.from"),cB=XM("Object.keys"),lB=XM("Object.values"),pB=XM("Object.entries");function dB(e){if((e=e.resolve()).isFunction()){const{node:t}=e;if(t.async)return t.generator?HM(zM("AsyncIterator")):HM(zM("Promise"));if(t.generator)return HM(zM("Iterator"));if(e.node.returnType)return e.node.returnType}}var hB=Object.freeze({__proto__:null,ArrayExpression:sB,ArrowFunctionExpression:oB,AssignmentExpression:function(){return this.get("right").getTypeAnnotation()},BinaryExpression:function(e){const t=e.operator;if(qM.includes(t))return GM();if(jM.includes(t))return WM();if("+"===t){const e=this.get("right"),t=this.get("left");return t.isBaseType("number")&&e.isBaseType("number")?GM():t.isBaseType("string")||e.isBaseType("string")?QM():eB([QM(),GM()])}},BooleanLiteral:function(){return WM()},CallExpression:function(){const{callee:e}=this.node;return cB(e)?KM(QM()):uB(e)||lB(e)||nB(e,{name:"Array"})?KM(VM()):pB(e)?KM(ZM([QM(),VM()])):dB(this.get("callee"))},ClassDeclaration:oB,ClassExpression:oB,ConditionalExpression:function(){return NM([this.get("consequent").getTypeAnnotation(),this.get("alternate").getTypeAnnotation()])},FunctionDeclaration:oB,FunctionExpression:oB,Identifier:function(e){if(!this.isReferenced())return;const t=this.scope.getBinding(e.name);return t?t.identifier.typeAnnotation?t.identifier.typeAnnotation:function(e,t,n){const r=[],i=[];let s=BM(e,t,i);const a=RM(e,t,n);if(a){const t=BM(e,a.ifStatement);s=s.filter(e=>!t.includes(e)),r.push(a.typeAnnotation)}if(s.length){s.push(...i);for(const e of s)r.push(e.getTypeAnnotation())}if(!r.length)return;return NM(r)}(t,this,e.name):"undefined"===e.name?MM():"NaN"===e.name||"Infinity"===e.name?DM():void e.name},LogicalExpression:function(){return NM([this.get("left").getTypeAnnotation(),this.get("right").getTypeAnnotation()])},NewExpression:function(e){if("Identifier"===e.callee.type)return HM(e.callee)},NullLiteral:function(){return YM()},NumericLiteral:function(){return GM()},ObjectExpression:function(){return HM(zM("Object"))},ParenthesizedExpression:function(){return this.get("expression").getTypeAnnotation()},RegExpLiteral:function(){return HM(zM("RegExp"))},RestElement:aB,SequenceExpression:function(){return this.get("expressions").pop().getTypeAnnotation()},StringLiteral:function(){return QM()},TSAsExpression:iB,TSNonNullExpression:function(){return this.get("expression").getTypeAnnotation()},TaggedTemplateExpression:function(){return dB(this.get("tag"))},TemplateLiteral:function(){return QM()},TypeCastExpression:rB,UnaryExpression:function(e){const t=e.operator;return"void"===t?tB():$M.includes(t)?GM():JM.includes(t)?QM():UM.includes(t)?WM():void 0},UpdateExpression:function(e){const t=e.operator;if("++"===t||"--"===t)return GM()},VariableDeclarator:function(){if(this.get("id").isIdentifier())return this.get("init").getTypeAnnotation()}}),{anyTypeAnnotation:fB,isAnyTypeAnnotation:mB,isArrayTypeAnnotation:yB,isBooleanTypeAnnotation:gB,isEmptyTypeAnnotation:bB,isFlowBaseAnnotation:xB,isGenericTypeAnnotation:SB,isIdentifier:TB,isMixedTypeAnnotation:EB,isNumberTypeAnnotation:PB,isStringTypeAnnotation:vB,isTSArrayType:AB,isTSTypeAnnotation:wB,isTSTypeReference:CB,isTupleTypeAnnotation:kB,isTypeAnnotation:IB,isUnionTypeAnnotation:_B,isVoidTypeAnnotation:NB,stringTypeAnnotation:LB,voidTypeAnnotation:OB}=at;var DB=new WeakSet;function MB(){const e=this.node;if(e){if(e.typeAnnotation)return e.typeAnnotation;if(!DB.has(e)){DB.add(e);try{let t=hB[e.type];if(t)return t.call(this,e);if(t=hB[this.parentPath.type],t?.validParent)return this.parentPath.getTypeAnnotation()}finally{DB.delete(e)}}}else if("init"===this.key&&this.parentPath.isVariableDeclarator()){const e=this.parentPath.parentPath,t=e.parentPath;return"left"===e.key&&t.isForInStatement()?LB():"left"===e.key&&t.isForOfStatement()?fB():OB()}}function BB(e,t,n){if("string"===e)return vB(t);if("number"===e)return PB(t);if("boolean"===e)return gB(t);if("any"===e)return mB(t);if("mixed"===e)return EB(t);if("empty"===e)return bB(t);if("void"===e)return NB(t);if(n)return!1;throw new Error(`Unknown base type ${e}`)}var FB=[function(e,t){if("test"===e.key&&(t.isWhile()||t.isSwitchCase())||"declaration"===e.key&&t.isExportDeclaration()||"body"===e.key&&t.isLabeledStatement()||"declarations"===e.listKey&&t.isVariableDeclaration()&&1===t.node.declarations.length||"expression"===e.key&&t.isExpressionStatement())return t.remove(),!0},function(e,t){if(t.isSequenceExpression()&&1===t.node.expressions.length)return t.replaceWith(t.node.expressions[0]),!0},function(e,t){if(t.isBinary())return"left"===e.key?t.replaceWith(t.node.right):t.replaceWith(t.node.left),!0},function(e,t){if(t.isIfStatement()&&"consequent"===e.key||"body"===e.key&&(t.isLoop()||t.isArrowFunctionExpression()))return e.replaceWith({type:"BlockStatement",body:[]}),!0}],{getBindingIdentifiers:RB}=at;function jB(){const e=RB(this.node,!1,!1,!0);Object.keys(e).forEach(e=>this.scope.removeBinding(e))}function UB(){if(this.parentPath)for(const e of FB)if(e(this,this.parentPath))return!0}function qB(){Array.isArray(this.container)?(this.container.splice(this.key,1),lF.call(this,this.key,-1)):UF.call(this,null)}function $B(){this._traverseFlags|=bj|gj,this.parent&&TD(this)?.delete(this.node),this.node=null}function JB(){if(this.removed)throw this.buildCodeFrameError("NodePath has been removed so is read-only.")}var{arrowFunctionExpression:VB,assertExpression:KB,assignmentExpression:WB,blockStatement:XB,callExpression:HB,cloneNode:zB,expressionStatement:YB,isAssignmentExpression:GB,isCallExpression:QB,isExportNamedDeclaration:ZB,isExpression:eF,isIdentifier:tF,isSequenceExpression:nF,isSuper:rF,thisExpression:iF}=at;function sF(e,t){lF.call(this,e,t.length);const n=[];this.container.splice(e,0,...t);for(let r=0;r<t.length;r++){const t=e+r,i=this.getSibling(t);n.push(i),this.context?.queue&&Fj.call(i,this.context)}const r=Uj.call(this);for(const e of n){Nj.call(e),e.debug("Inserted.");for(const t of r)t.maybeQueue(e,!0)}return n}function aF(e){return sF.call(this,this.key,e)}function oF(e){return sF.call(this,this.key+1,e)}var uF=e=>e[e.length-1];function cF(e){return nF(e.parent)&&(uF(e.parent.expressions)!==e.node||cF(e.parentPath))}function lF(e,t){if(!this.parent)return;const n=TD(this);if(n)for(const[,r]of n)"number"==typeof r.key&&r.container===this.container&&r.key>=e&&(r.key+=t)}function pF(e){if(!e)return[];Array.isArray(e)||(e=[e]);for(let t=0;t<e.length;t++){const n=e[t];let r;if(n?"object"!=typeof n?r="contains a non-object node":n.type?n instanceof xj&&(r="has a NodePath when it expected a raw object"):r="without a type":r="has falsy node",r){const e=Array.isArray(n)?"array":typeof n;throw new Error(`Node list ${r} with the index of ${t} and type of ${e}`)}}return e}var{FUNCTION_TYPES:dF,arrowFunctionExpression:hF,assignmentExpression:fF,awaitExpression:mF,blockStatement:yF,buildUndefinedNode:gF,callExpression:bF,cloneNode:xF,conditionalExpression:SF,expressionStatement:TF,getBindingIdentifiers:EF,identifier:PF,inheritLeadingComments:vF,inheritTrailingComments:AF,inheritsComments:wF,isBlockStatement:CF,isEmptyStatement:kF,isExpression:IF,isExpressionStatement:_F,isIfStatement:NF,isProgram:LF,isStatement:OF,isVariableDeclaration:DF,removeComments:MF,returnStatement:BF,sequenceExpression:FF,validate:RF,yieldExpression:jF}=at;function UF(e){if(!this.container)throw new ReferenceError("Container is falsy");this.inList?RF(this.parent,this.key,[e]):RF(this.parent,this.key,e),this.debug(`Replace with ${e?.type}`),TD(this)?.set(e,this).delete(this.node),this.node=this.container[this.key]=e}function qF(e,t){const n=[];let r=!0;for(const i of e)if(kF(i)||(r=!1),IF(i))n.push(i);else if(_F(i))n.push(i.expression);else if(DF(i)){if("var"!==i.kind)return;for(const e of i.declarations){const r=EF(e);for(const e of Object.keys(r))t.push(xF(r[e]));e.init&&n.push(fF("=",e.id,e.init))}r=!0}else if(NF(i)){const e=i.consequent?qF([i.consequent],t):gF(),r=i.alternate?qF([i.alternate],t):gF();if(!e||!r)return;n.push(SF(i.test,e,r))}else if(CF(i)){const e=qF(i.body,t);if(!e)return;n.push(e)}else{if(!kF(i))return;0===e.indexOf(i)&&(r=!0)}return r&&n.push(gF()),1===n.length?n[0]:FF(n)}var $F=["Number","String","Math"],JF=["isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","btoa","atob"],VF=["random"];function KF(e){return $F.includes(e)}function WF(e,t){t.confident&&(t.deoptPath=e,t.confident=!1)}var XF=new Map([["undefined",void 0],["Infinity",1/0],["NaN",NaN]]);function HF(t,n){const{node:r}=t,{seen:i}=n;if(i.has(r)){const e=i.get(r);return e.resolved?e.value:void WF(t,n)}{const s={resolved:!1};i.set(r,s);const a=function(t,n){if(!n.confident)return;if(t.isSequenceExpression()){const e=t.get("expressions");return HF(e[e.length-1],n)}if(t.isStringLiteral()||t.isNumericLiteral()||t.isBooleanLiteral())return t.node.value;if(t.isNullLiteral())return null;if(t.isTemplateLiteral())return zF(t,t.node.quasis,n);if(t.isTaggedTemplateExpression()&&t.get("tag").isMemberExpression()){const e=t.get("tag.object"),{node:{name:r}}=e,i=t.get("tag.property");if(e.isIdentifier()&&"String"===r&&!t.scope.getBinding(r)&&i.isIdentifier()&&"raw"===i.node.name)return zF(t,t.node.quasi.quasis,n,!0)}if(t.isConditionalExpression()){const e=HF(t.get("test"),n);if(!n.confident)return;return HF(e?t.get("consequent"):t.get("alternate"),n)}if(t.isExpressionWrapper())return HF(t.get("expression"),n);if(t.isMemberExpression()&&!t.parentPath.isCallExpression({callee:t.node})){const e=t.get("property"),r=t.get("object");if(r.isLiteral()){const i=r.node.value,s=typeof i;let a=null;if(t.node.computed){if(a=HF(e,n),!n.confident)return}else e.isIdentifier()&&(a=e.node.name);if(!("number"!==s&&"string"!==s||null==a||"number"!=typeof a&&"string"!=typeof a))return i[a]}}if(t.isReferencedIdentifier()){const e=t.scope.getBinding(t.node.name);if(e){if(e.constantViolations.length>0||t.node.start<e.path.node.end)return void WF(e.path,n);const r=e.path.scope;if("var"===e.kind&&r!==e.scope){let i=!r.path.parentPath.isBlockStatement();for(let s=r.parent;s;s=s.parent){if(s===t.scope){if(i)return void WF(e.path,n);break}s.path.parentPath?.isBlockStatement()&&(i=!0)}}if(e.hasValue)return e.value}const r=t.node.name;if(XF.has(r))return e?void WF(e.path,n):XF.get(r);const i=t.resolve();if(i===t)return void WF(t,n);const s=HF(i,n);return"object"==typeof s&&null!==s&&e.references>1?void WF(i,n):s}if(t.isUnaryExpression({prefix:!0})){if("void"===t.node.operator)return;const e=t.get("argument");if("typeof"===t.node.operator&&(e.isFunction()||e.isClass()))return"function";const r=HF(e,n);if(!n.confident)return;switch(t.node.operator){case"!":return!r;case"+":return+r;case"-":return-r;case"~":return~r;case"typeof":return typeof r}}if(t.isArrayExpression()){const e=[],r=t.get("elements");for(const t of r){const r=t.evaluate();if(!r.confident)return void WF(r.deopt,n);e.push(r.value)}return e}if(t.isObjectExpression()){const e={},r=t.get("properties");for(const t of r){if(t.isObjectMethod()||t.isSpreadElement())return void WF(t,n);const r=t.get("key");let i;if(t.node.computed){if(i=r.evaluate(),!i.confident)return void WF(i.deopt,n);i=i.value}else i=r.isIdentifier()?r.node.name:r.node.value;let s=t.get("value").evaluate();if(!s.confident)return void WF(s.deopt,n);s=s.value,e[i]=s}return e}if(t.isLogicalExpression()){const e=n.confident,r=HF(t.get("left"),n),i=n.confident;n.confident=e;const s=HF(t.get("right"),n),a=n.confident;switch(t.node.operator){case"||":if(n.confident=i&&(!!r||a),!n.confident)return;return r||s;case"&&":if(n.confident=i&&(!r||a),!n.confident)return;return r&&s;case"??":if(n.confident=i&&(null!=r||a),!n.confident)return;return r??s}}if(t.isBinaryExpression()){const e=HF(t.get("left"),n);if(!n.confident)return;const r=HF(t.get("right"),n);if(!n.confident)return;switch(t.node.operator){case"-":return e-r;case"+":return e+r;case"/":return e/r;case"*":return e*r;case"%":return e%r;case"**":return e**r;case"<":return e<r;case">":return e>r;case"<=":return e<=r;case">=":return e>=r;case"==":return e==r;case"!=":return e!=r;case"===":return e===r;case"!==":return e!==r;case"|":return e|r;case"&":return e&r;case"^":return e^r;case"<<":return e<<r;case">>":return e>>r;case">>>":return e>>>r}}if(t.isCallExpression()){const r=t.get("callee");let i,s;if(r.isIdentifier()&&!t.scope.getBinding(r.node.name)&&(KF(r.node.name)||function(e){return JF.includes(e)}(r.node.name))&&(s=e[r.node.name]),r.isMemberExpression()){const t=r.get("object"),n=r.get("property");if(t.isIdentifier()&&n.isIdentifier()&&KF(t.node.name)&&!function(e){return VF.includes(e)}(n.node.name)){i=e[t.node.name];const r=n.node.name;Object.hasOwn(i,r)&&(s=i[r])}if(t.isLiteral()&&n.isIdentifier()){const e=typeof t.node.value;"string"!==e&&"number"!==e||(i=t.node.value,s=i[n.node.name])}}if(s){const e=t.get("arguments").map(e=>HF(e,n));if(!n.confident)return;return s.apply(i,e)}}WF(t,n)}(t,n);return n.confident&&(s.resolved=!0,s.value=a),a}}function zF(e,t,n,r=!1){let i="",s=0;const a=e.isTemplateLiteral()?e.get("expressions"):e.get("quasi.expressions");for(const e of t){if(!n.confident)break;i+=r?e.value.raw:e.value.cooked;const t=a[s++];t&&(i+=String(HF(t,n)))}if(n.confident)return i}var{arrowFunctionExpression:YF,assignmentExpression:GF,binaryExpression:QF,blockStatement:ZF,callExpression:eR,conditionalExpression:tR,expressionStatement:nR,identifier:rR,isIdentifier:iR,jsxIdentifier:sR,logicalExpression:aR,LOGICAL_OPERATORS:oR,memberExpression:uR,metaProperty:cR,numericLiteral:lR,objectExpression:pR,restElement:dR,returnStatement:hR,sequenceExpression:fR,spreadElement:mR,stringLiteral:yR,super:gR,thisExpression:bR,toExpression:xR,unaryExpression:SR,toBindingIdentifierName:TR,isFunction:ER,isAssignmentPattern:PR,isRestElement:vR,getFunctionName:AR,cloneNode:wR,variableDeclaration:CR,variableDeclarator:kR,exportNamedDeclaration:IR,exportSpecifier:_R,inherits:NR}=at;var LR=pD({CallExpression(e,{allSuperCalls:t}){e.get("callee").isSuper()&&t.push(e)}});function OR(e,t=!0,n=!0,r=!0){let i,s=e.findParent(e=>e.isArrowFunctionExpression()?(i??(i=e),!1):e.isFunction()||e.isProgram()||e.isClassProperty({static:!1})||e.isClassPrivateProperty({static:!1}));const a=s.isClassMethod({kind:"constructor"});if(s.isClassProperty()||s.isClassPrivateProperty())if(i)s=i;else{if(!n)throw e.buildCodeFrameError("Unable to transform arrow inside class property");e.replaceWith(eR(YF([],xR(e.node)),[])),s=e.get("callee"),e=s.get("body")}const{thisPaths:o,argumentsPaths:u,newTargetPaths:c,superProps:l,superCalls:p}=function(e){const t=[],n=[],r=[],i=[],s=[];return e.traverse(FR,{thisPaths:t,argumentsPaths:n,newTargetPaths:r,superProps:i,superCalls:s}),{thisPaths:t,argumentsPaths:n,newTargetPaths:r,superProps:i,superCalls:s}}(e);if(a&&p.length>0){if(!n)throw p[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', it's not possible to compile `super()` in an arrow function without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");if(!r)throw p[0].buildCodeFrameError("When using '@babel/plugin-transform-parameters', it's not possible to compile `super()` in an arrow function with default or rest parameters without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");const e=[];s.traverse(LR,{allSuperCalls:e});const t=function(e){return BR(e,"supercall",()=>{const t=e.scope.generateUidIdentifier("args");return YF([dR(t)],eR(gR(),[mR(rR(t.name))]))})}(s);e.forEach(e=>{const n=rR(t);n.loc=e.node.callee.loc,e.get("callee").replaceWith(n)})}if(u.length>0){const e=BR(s,"arguments",()=>{const e=()=>rR("arguments");return s.scope.path.isProgram()?tR(QF("===",SR("typeof",e()),yR("undefined")),s.scope.buildUndefinedNode(),e()):e()});u.forEach(t=>{const n=rR(e);n.loc=t.node.loc,t.replaceWith(n)})}if(c.length>0){const e=BR(s,"newtarget",()=>cR(rR("new"),rR("target")));c.forEach(t=>{const n=rR(e);n.loc=t.node.loc,t.replaceWith(n)})}if(l.length>0){if(!n)throw l[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', it's not possible to compile `super.prop` in an arrow function without compiling classes.\nPlease add '@babel/plugin-transform-classes' to your Babel configuration.");const e=l.reduce((e,t)=>e.concat(function(e){if(e.parentPath.isAssignmentExpression()&&"="!==e.parentPath.node.operator){const n=e.parentPath,r=n.node.operator.slice(0,-1),i=n.node.right,s=function(e){return oR.includes(e)}(r);if(e.node.computed){const a=e.scope.generateDeclaredUidIdentifier("tmp"),o=e.node.object,u=e.node.property;n.get("left").replaceWith(uR(o,GF("=",a,u),!0)),n.get("right").replaceWith(t(s?"=":r,uR(o,rR(a.name),!0),i))}else{const a=e.node.object,o=e.node.property;n.get("left").replaceWith(uR(a,o)),n.get("right").replaceWith(t(s?"=":r,uR(a,rR(o.name)),i))}return s?n.replaceWith(aR(r,n.node.left,n.node.right)):n.node.operator="=",[n.get("left"),n.get("right").get("left")]}if(e.parentPath.isUpdateExpression()){const t=e.parentPath,n=e.scope.generateDeclaredUidIdentifier("tmp"),r=e.node.computed?e.scope.generateDeclaredUidIdentifier("prop"):null,i=[GF("=",n,uR(e.node.object,r?GF("=",r,e.node.property):e.node.property,e.node.computed)),GF("=",uR(e.node.object,r?rR(r.name):e.node.property,e.node.computed),QF(e.parentPath.node.operator[0],rR(n.name),lR(1)))];e.parentPath.node.prefix||i.push(rR(n.name)),t.replaceWith(fR(i));return[t.get("expressions.0.right"),t.get("expressions.1.left")]}return[e];function t(e,t,n){return"="===e?GF("=",t,n):QF(e,t,n)}}(t)),[]);e.forEach(e=>{const t=e.node.computed?"":e.get("property").node.name,n=e.parentPath,r=n.isAssignmentExpression({left:e.node}),i=n.isCallExpression({callee:e.node}),a=n.isTaggedTemplateExpression({tag:e.node}),u=function(e,t,n){const r=t?"set":"get";return BR(e,`superprop_${r}:${n||""}`,()=>{const r=[];let i;if(n)i=uR(gR(),rR(n));else{const t=e.scope.generateUidIdentifier("prop");r.unshift(t),i=uR(gR(),rR(t.name),!0)}if(t){const t=e.scope.generateUidIdentifier("value");r.push(t),i=GF("=",i,rR(t.name))}return YF(r,i)})}(s,r,t),c=[];if(e.node.computed&&c.push(e.get("property").node),r){const e=n.node.right;c.push(e)}const l=eR(rR(u),c);i?(n.unshiftContainer("arguments",bR()),e.replaceWith(uR(l,rR("call"))),o.push(n.get("arguments.0"))):r?n.replaceWith(l):a?(e.replaceWith(eR(uR(l,rR("bind"),!1),[bR()])),o.push(e.get("arguments.0"))):e.replaceWith(l)})}let d;return(o.length>0||!t)&&(d=function(e,t){return BR(e,"this",n=>{if(!t||!DR(e))return bR();e.traverse(MR,{supers:new WeakSet,thisBinding:n})})}(s,a),(t||a&&DR(s))&&(o.forEach(e=>{const t=e.isJSX()?sR(d):rR(d);t.loc=e.node.loc,e.replaceWith(t)}),t||(d=null))),{thisBinding:d,fnPath:e}}function DR(e){return e.isClassMethod()&&!!e.parentPath.parentPath.node.superClass}var MR=pD({CallExpression(e,{supers:t,thisBinding:n}){e.get("callee").isSuper()&&(t.has(e.node)||(t.add(e.node),e.replaceWithMultiple([e.node,GF("=",rR(n),rR("this"))])))}});function BR(e,t,n){const r="binding:"+t;let i=e.getData(r);if(!i){const s=e.scope.generateUidIdentifier(t);i=s.name,e.setData(r,i),e.scope.push({id:s,init:n(i)})}return i}var FR=pD({ThisExpression(e,{thisPaths:t}){t.push(e)},JSXIdentifier(e,{thisPaths:t}){"this"===e.node.name&&(e.parentPath.isJSXMemberExpression({object:e.node})||e.parentPath.isJSXOpeningElement({name:e.node}))&&t.push(e)},CallExpression(e,{superCalls:t}){e.get("callee").isSuper()&&t.push(e)},MemberExpression(e,{superProps:t}){e.get("object").isSuper()&&t.push(e)},Identifier(e,{argumentsPaths:t}){if(!e.isReferencedIdentifier({name:"arguments"}))return;let n=e.scope;do{if(n.hasOwnBinding("arguments"))return void n.rename("arguments");if(n.path.isFunction()&&!n.path.isArrowFunctionExpression())break}while(n=n.parent);t.push(e)},MetaProperty(e,{newTargetPaths:t}){e.get("meta").isIdentifier({name:"new"})&&e.get("property").isIdentifier({name:"target"})&&t.push(e)}});var RR={"ReferencedIdentifier|BindingIdentifier"(e,t){e.node.name===t.name&&(t.needsRename=!0,e.stop())},Scope(e,t){e.scope.hasOwnBinding(t.name)&&e.skip()}};var{STATEMENT_OR_BLOCK_KEYS:jR,VISITOR_KEYS:UR,isBlockStatement:qR,isExpression:$R,isIdentifier:JR,isLiteral:VR,isStringLiteral:KR,isType:WR,matchesPattern:XR}=at;function HR(e){return e.isProgram()?e:(e.parentPath.scope.getFunctionParent()||e.parentPath.scope.getProgramParent()).path}function zR(e,t){switch(e){case"LogicalExpression":case"AssignmentPattern":return"right"===t;case"ConditionalExpression":case"IfStatement":return"consequent"===t||"alternate"===t;case"WhileStatement":case"DoWhileStatement":case"ForInStatement":case"ForOfStatement":return"body"===t;case"ForStatement":return"body"===t||"update"===t;case"SwitchStatement":return"cases"===t;case"TryStatement":return"handler"===t;case"OptionalMemberExpression":return"property"===t;case"OptionalCallExpression":return"arguments"===t;default:return!1}}function YR(e,t){for(let n=0;n<t;n++){const t=e[n];if(zR(t.parent.type,t.parentKey))return!0}return!1}var GR=Symbol();function QR(e,t,n){const r={this:HR(e),target:HR(t)};if(r.target.node!==r.this.node)return function(e,t,n){let r,i=n.get(e.node);if(i){if(r=i.get(t.node))return r===GR?"unknown":r}else n.set(e.node,i=new Map);i.set(t.node,GR);const s=function(e,t,n){if(!t.isFunctionDeclaration())return"before"===QR(e,t,n)?"before":"unknown";if(t.parentPath.isExportDeclaration())return"unknown";const r=t.scope.getBinding(t.node.id.name);if(!r.references)return"before";const i=r.referencePaths;let s;for(const r of i){if(!!r.find(e=>e.node===t.node))continue;if("callee"!==r.key||!r.parentPath.isCallExpression())return"unknown";const i=QR(e,r,n);if(s&&s!==i)return"unknown";s=i}return s}(e,t,n);return i.set(t.node,s),s}(e,r.target,n);const i={target:t.getAncestry(),this:e.getAncestry()};if(i.target.includes(e))return"after";if(i.this.includes(t))return"before";let s;const a={target:0,this:0};for(;!s&&a.this<i.this.length;){const e=i.this[a.this];a.target=i.target.indexOf(e),a.target>=0?s=e:a.this++}if(!s)throw new Error("Internal Babel error - The two compared nodes don't appear to belong to the same program.");if(YR(i.this,a.this-1)||YR(i.target,a.target-1))return"unknown";const o={this:i.this[a.this-1],target:i.target[a.target-1]};if(o.target.listKey&&o.this.listKey&&o.target.container===o.this.container)return o.target.key>o.this.key?"before":"after";const u=UR[s.type],c=u.indexOf(o.this.parentKey);return u.indexOf(o.target.parentKey)>c?"before":"after"}function ZR(e,t){if(!t?.includes(this))if((t=t||[]).push(this),this.isVariableDeclarator()){if(this.get("id").isIdentifier())return this.get("init").resolve(e,t)}else if(this.isReferencedIdentifier()){const n=this.scope.getBinding(this.node.name);if(!n)return;if(!n.constant)return;if("module"===n.kind)return;if(n.path!==this){const r=n.path.resolve(e,t);if(this.find(e=>e.node===r.node))return;return r}}else{if(this.isTypeCastExpression())return this.get("expression").resolve(e,t);if(e&&this.isMemberExpression()){const n=this.toComputedKey();if(!VR(n))return;const r=n.value,i=this.get("object").resolve(e,t);if(i.isObjectExpression()){const n=i.get("properties");for(const i of n){if(!i.isProperty())continue;const n=i.get("key");let s=i.isnt("computed")&&n.isIdentifier({name:r});if(s=s||n.isLiteral({value:r}),s)return i.get("value").resolve(e,t)}}else if(i.isArrayExpression()&&!isNaN(+r)){const n=i.get("elements")[r];if(n)return n.resolve(e,t)}}}}var{getAssignmentIdentifiers:ej,getBindingIdentifiers:tj,getOuterBindingIdentifiers:nj,numericLiteral:rj,unaryExpression:ij}=at;function sj(e,t,n){return e&&t.push(...cj(e,n)),t}function aj(e){e.forEach(e=>{e.type=1})}function oj(e,t){e.forEach(e=>{e.path.isBreakStatement({label:null})&&(t?e.path.replaceWith(ij("void",rj(0))):e.path.remove())})}function uj(e,t){const n=[];if(t.canHaveBreak){let r=[];for(let i=0;i<e.length;i++){const s=e[i],a=Object.assign({},t,{inCaseClause:!1});s.isBlockStatement()&&(t.inCaseClause||t.shouldPopulateBreak)?a.shouldPopulateBreak=!0:a.shouldPopulateBreak=!1;const o=cj(s,a);if(o.length>0&&o.every(e=>1===e.type)){r.length>0&&o.every(e=>e.path.isBreakStatement({label:null}))?(aj(r),n.push(...r),r.some(e=>e.path.isDeclaration())&&(n.push(...o),t.shouldPreserveBreak||oj(o,!0)),t.shouldPreserveBreak||oj(o,!1)):(n.push(...o),t.shouldPopulateBreak||t.shouldPreserveBreak||oj(o,!0));break}if(i===e.length-1)n.push(...o);else{r=[];for(let e=0;e<o.length;e++){const t=o[e];1===t.type&&n.push(t),0===t.type&&r.push(t)}}}}else if(e.length)for(let r=e.length-1;r>=0;r--){const i=cj(e[r],t);if(i.length>1||1===i.length&&!i[0].path.isVariableDeclaration()&&!i[0].path.isEmptyStatement()){n.push(...i);break}}return n}function cj(e,t){let n=[];if(e.isIfStatement())n=sj(e.get("consequent"),n,t),n=sj(e.get("alternate"),n,t);else{if(e.isDoExpression()||e.isFor()||e.isWhile()||e.isLabeledStatement())return sj(e.get("body"),n,t);if(e.isProgram()||e.isBlockStatement())return uj(e.get("body"),t);if(e.isFunction())return cj(e.get("body"),t);if(e.isTryStatement())n=sj(e.get("block"),n,t),n=sj(e.get("handler"),n,t);else{if(e.isCatchClause())return sj(e.get("body"),n,t);if(e.isSwitchStatement())return function(e,t,n){let r=[];for(let i=0;i<e.length;i++){const s=cj(e[i],n),a=[],o=[];for(const e of s)0===e.type&&a.push(e),1===e.type&&o.push(e);a.length&&(r=a),t.push(...o)}return t.push(...r),t}(e.get("cases"),n,t);if(e.isSwitchCase())return uj(e.get("consequent"),{canHaveBreak:!0,shouldPopulateBreak:!1,inCaseClause:!0,shouldPreserveBreak:t.shouldPreserveBreak});e.isBreakStatement()?n.push(function(e){return{type:1,path:e}}(e)):n.push(function(e){return{type:0,path:e}}(e))}}return n}function lj(e,t){const n=this.node,r=n[e];return Array.isArray(r)?r.map((i,s)=>xj.get({listKey:e,parentPath:this,parent:n,container:r,key:s}).setContext(t)):xj.get({parentPath:this,parent:n,container:n,key:e}).setContext(t)}function pj(e,t){let n=this;for(const r of e)n="."===r?n.parentPath:Array.isArray(n)?n[r]:n.get(r,t);return n}var{addComment:dj,addComments:hj}=at;function fj(e,t){if(!t?.length)return e;const n=new Set(t);return e.filter(e=>!n.has(e))}var{validate:mj}=at,yj=(0,PO.default)("babel"),gj=1,bj=4,xj=class e{constructor(e,t){Qe(this,"contexts",[]),Qe(this,"state",null),Qe(this,"opts",null),Qe(this,"_traverseFlags",0),Qe(this,"skipKeys",null),Qe(this,"parentPath",null),Qe(this,"container",null),Qe(this,"listKey",null),Qe(this,"key",null),Qe(this,"node",null),Qe(this,"type",null),Qe(this,"_store",null),this.parent=t,this.hub=e,this.data=null,this.context=null,this.scope=null}get removed(){return(1&this._traverseFlags)>0}set removed(e){e?this._traverseFlags|=1:this._traverseFlags&=-2}get shouldStop(){return(2&this._traverseFlags)>0}set shouldStop(e){e?this._traverseFlags|=2:this._traverseFlags&=-3}get shouldSkip(){return(4&this._traverseFlags)>0}set shouldSkip(e){e?this._traverseFlags|=4:this._traverseFlags&=-5}static get({hub:t,parentPath:n,parent:r,container:i,listKey:s,key:a}){if(!t&&n&&(t=n.hub),!r)throw new Error("To get a node path the parent needs to exist");const o=i[a],u=ED(r,n);let c=u.get(o);return c||(c=new e(t,r),o&&u.set(o,c)),Rj.call(c,n,i,s,a),c}getScope(e){return this.isScope()?new vM(this):e}setData(e,t){return null==this.data&&(this.data=Object.create(null)),this.data[e]=t}getData(e,t){null==this.data&&(this.data=Object.create(null));let n=this.data[e];return void 0===n&&void 0!==t&&(n=this.data[e]=t),n}hasNode(){return null!=this.node}buildCodeFrameError(e,t=SyntaxError){return this.hub.buildError(this.node,e,t)}traverse(e,t){Vj(this.node,e,this.scope,t,this)}set(e,t){mj(this.node,e,t),this.node[e]=t}getPathLocation(){const e=[];let t=this;do{let n=t.key;t.inList&&(n=`${t.listKey}[${n}]`),e.unshift(n)}while(t=t.parentPath);return e.join(".")}debug(e){yj.enabled&&yj(`${this.getPathLocation()} ${this.type}: ${e}`)}toString(){return EO(this.node).code}get inList(){return!!this.listKey}set inList(e){e||(this.listKey=null)}get parentKey(){return this.listKey||this.key}},Sj={findParent:function(e){let t=this;for(;t=t.parentPath;)if(e(t))return t;return null},find:function(e){let t=this;do{if(e(t))return t}while(t=t.parentPath);return null},getFunctionParent:function(){return this.findParent(e=>e.isFunction())},getStatementParent:function(){let e=this;do{if(!e.parentPath||Array.isArray(e.container)&&e.isStatement())break;e=e.parentPath}while(e);if(e&&(e.isProgram()||e.isFile()))throw new Error("File/Program node, we can't possibly find a statement parent to this");return e},getEarliestCommonAncestorFrom:function(e){return this.getDeepestCommonAncestorFrom(e,function(e,t,n){let r;const i=AM[e.type];for(const e of n){const n=e[t+1];if(!r){r=n;continue}if(n.listKey&&r.listKey===n.listKey&&n.key<r.key){r=n;continue}i.indexOf(r.parentKey)>i.indexOf(n.parentKey)&&(r=n)}return r})},getDeepestCommonAncestorFrom:function(e,t){if(!e.length)return this;if(1===e.length)return e[0];let n,r,i=1/0;const s=e.map(e=>{const t=[];do{t.unshift(e)}while((e=e.parentPath)&&e!==this);return t.length<i&&(i=t.length),t}),a=s[0];e:for(let e=0;e<i;e++){const t=a[e];for(const n of s)if(n[e]!==t)break e;n=e,r=t}if(r)return t?t(r,n,s):r;throw new Error("Couldn't find intersection")},getAncestry:function(){let e=this;const t=[];do{t.push(e)}while(e=e.parentPath);return t},isAncestor:function(e){return e.isDescendant(this)},isDescendant:function(e){return!!this.findParent(t=>t===e)},inType:function(...e){let t=this;for(;t;){if(e.includes(t.node.type))return!0;t=t.parentPath}return!1},getTypeAnnotation:function(){let e=this.getData("typeAnnotation");return null!=e||(e=MB.call(this)||fB(),(IB(e)||wB(e))&&(e=e.typeAnnotation),this.setData("typeAnnotation",e)),e},isBaseType:function(e,t){return BB(e,this.getTypeAnnotation(),t)},couldBeBaseType:function(e){const t=this.getTypeAnnotation();if(mB(t))return!0;if(_B(t)){for(const n of t.types)if(mB(n)||BB(e,n,!0))return!0;return!1}return BB(e,t,!0)},baseTypeStrictlyMatches:function(e){const t=this.getTypeAnnotation(),n=e.getTypeAnnotation();return!(mB(t)||!xB(t))&&n.type===t.type},isGenericType:function(e){const t=this.getTypeAnnotation();return!("Array"!==e||!(AB(t)||yB(t)||kB(t)))||(SB(t)&&TB(t.id,{name:e})||CB(t)&&TB(t.typeName,{name:e}))},replaceWithMultiple:function(e){Lj.call(this);const t=pF.call(this,e);vF(t[0],this.node),AF(t[t.length-1],this.node),TD(this)?.delete(this.node),this.node=this.container[this.key]=null;const n=this.insertAfter(e);return this.node?this.requeue():this.remove(),n},replaceWithSourceString:function(e){let t;Lj.call(this);try{t=Vk(e=`(${e})`)}catch(t){const n=t.loc;throw n&&(t.message+=" - make sure this is an expression.\n"+oI(e,{start:{line:n.line,column:n.column+1}}),t.code="BABEL_REPLACE_SOURCE_ERROR"),t}const n=t.program.body[0].expression;return Vj.removeProperties(n),this.replaceWith(n)},replaceWith:function(e){if(Lj.call(this),this.removed)throw new Error("You can't replace this node, we've already removed it");let t=e instanceof xj?e.node:e;if(!t)throw new Error("You passed `path.replaceWith()` a falsy node, use `path.remove()` instead");if(this.node===t)return[this];if(this.isProgram()&&!LF(t))throw new Error("You can only replace a Program root node with another Program node");if(Array.isArray(t))throw new Error("Don't use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`");if("string"==typeof t)throw new Error("Don't use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`");let n="";if(this.isNodeType("Statement")&&IF(t)&&(this.canHaveVariableDeclarationOrExpression()||this.canSwapBetweenExpressionAndStatement(t)||this.parentPath.isExportDefaultDeclaration()||(t=TF(t),n="expression")),this.isNodeType("Expression")&&OF(t)&&!this.canHaveVariableDeclarationOrExpression()&&!this.canSwapBetweenExpressionAndStatement(t))return this.replaceExpressionWithStatements([t]);const r=this.node;return r&&(wF(t,r),MF(r)),UF.call(this,t),this.type=t.type,Nj.call(this),this.requeue(),[n?this.get(n):this]},replaceExpressionWithStatements:function(e){Lj.call(this);const t=[],n=qF(e,t);if(n){for(const e of t)this.scope.push({id:e});return this.replaceWith(n)[0].get("expressions")}const r=this.getFunctionParent(),i=r?.node.async,s=r?.node.generator,a=hF([],yF(e));this.replaceWith(bF(a,[]));const o=this.get("callee");o.get("body").scope.hoistVariables(e=>this.scope.push({id:e}));const u=o.getCompletionRecords();for(const e of u){if(!e.isExpressionStatement())continue;const t=e.findParent(e=>e.isLoop());if(t){let n=t.getData("expressionReplacementReturnUid");n?n=PF(n.name):(n=o.scope.generateDeclaredUidIdentifier("ret"),o.get("body").pushContainer("body",BF(xF(n))),t.setData("expressionReplacementReturnUid",n)),e.get("expression").replaceWith(fF("=",xF(n),e.node.expression))}else e.replaceWith(BF(e.node.expression))}o.arrowFunctionToExpression();const c=o,l=i&&Vj.hasType(this.get("callee.body").node,"AwaitExpression",dF),p=s&&Vj.hasType(this.get("callee.body").node,"YieldExpression",dF);return l&&(c.set("async",!0),p||this.replaceWith(mF(this.node))),p&&(c.set("generator",!0),this.replaceWith(jF(this.node,!0))),c.get("body.body")},replaceInline:function(e){if(Lj.call(this),Array.isArray(e)){if(Array.isArray(this.container)){e=pF.call(this,e);const t=oF.call(this,e);return this.remove(),t}return this.replaceWithMultiple(e)}return this.replaceWith(e)},evaluateTruthy:function(){const e=this.evaluate();if(e.confident)return!!e.value},evaluate:function(){const e={confident:!0,deoptPath:null,seen:new Map};let t=HF(this,e);return e.confident||(t=void 0),{confident:e.confident,deopt:e.deoptPath,value:t}},toComputedKey:function(){let e;if(this.isMemberExpression())e=this.node.property;else{if(!this.isProperty()&&!this.isMethod())throw new ReferenceError("todo");e=this.node.key}return this.node.computed||iR(e)&&(e=yR(e.name)),e},ensureBlock:function(){const e=this.get("body"),t=e.node;if(Array.isArray(e))throw new Error("Can't convert array path to a block statement");if(!t)throw new Error("Can't convert node without a body");if(e.isBlockStatement())return t;const n=[];let r,i,s="body";e.isStatement()?(i="body",r=0,n.push(e.node)):(s+=".body.0",this.isFunction()?(r="argument",n.push(hR(e.node))):(r="expression",n.push(nR(e.node)))),this.node.body=ZF(n);const a=this.get(s);return Rj.call(e,a,i?a.node[i]:a.node,i,r),this.node},unwrapFunctionEnvironment:function(){if(!this.isArrowFunctionExpression()&&!this.isFunctionExpression()&&!this.isFunctionDeclaration())throw this.buildCodeFrameError("Can only unwrap the environment of a function.");OR(this)},arrowFunctionToExpression:function({allowInsertArrow:e=!0,allowInsertArrowWithRest:t=e,noNewArrows:n=!0}={}){if(!this.isArrowFunctionExpression())throw this.buildCodeFrameError("Cannot convert non-arrow function to a function expression.");let r=this;n||(r=r.ensureFunctionName(!1)??r);const{thisBinding:i,fnPath:s}=OR(r,n,e,t);if(s.ensureBlock(),function(e,t){e.node.type=t}(s,"FunctionExpression"),!n){const e=i?null:s.scope.generateUidIdentifier("arrowCheckId");return e&&s.parentPath.scope.push({id:e,init:pR([])}),s.get("body").unshiftContainer("body",nR(eR(this.hub.addHelper("newArrowCheck"),[bR(),rR(e?e.name:i)]))),s.replaceWith(eR(uR(s.node,rR("bind")),[e?rR(e.name):bR()])),s.get("callee.object")}return s},splitExportDeclaration:function(){if(!this.isExportDeclaration()||this.isExportAllDeclaration())throw new Error("Only default and named export declarations can be split.");if(this.isExportNamedDeclaration()&&this.get("specifiers").length>0)throw new Error("It doesn't make sense to split exported specifiers.");const e=this.get("declaration");if(this.isExportDefaultDeclaration()){const t=e.isFunctionDeclaration()||e.isClassDeclaration(),n=e.isFunctionExpression()||e.isClassExpression(),r=e.isScope()?e.scope.parent:e.scope;let i=e.node.id,s=!1;i?n&&r.hasBinding(i.name)&&(s=!0,i=r.generateUidIdentifier(i.name)):(s=!0,i=r.generateUidIdentifier("default"),(t||n)&&(e.node.id=wR(i)));const a=t?e.node:CR("var",[kR(wR(i),e.node)]),o=IR(null,[_R(wR(i),rR("default"))]);return this.insertAfter(o),this.replaceWith(a),s&&r.registerDeclaration(this),this}if(this.get("specifiers").length>0)throw new Error("It doesn't make sense to split exported specifiers.");const t=e.getOuterBindingIdentifiers(),n=Object.keys(t).map(e=>_R(rR(e),rR(e))),r=IR(null,n);return this.insertAfter(r),this.replaceWith(e.node),this},ensureFunctionName:function(e){if(this.node.id)return this;const t=AR(this.node,this.parent);if(null==t)return this;let{name:n}=t;if(!e&&/[\uD800-\uDFFF]/.test(n))return null;if(n.startsWith("get ")||n.startsWith("set "))return null;n=TR(n.replace(/[/ ]/g,"_"));const r=rR(n);NR(r,t.originalNode);const i={needsRename:!1,name:n},{scope:s}=this,a=s.getOwnBinding(n);if(a?"param"===a.kind&&(i.needsRename=!0):(s.parent.hasBinding(n)||s.hasGlobal(n))&&this.traverse(RR,i),!i.needsRename)return this.node.id=r,s.getProgramParent().referencesSet.add(r.name),this;if(s.hasBinding(r.name)&&!s.hasGlobal(r.name))return s.rename(r.name),this.node.id=r,s.getProgramParent().referencesSet.add(r.name),this;if(!ER(this.node))return null;const o=s.generateUidIdentifier(r.name),u=[];for(let e=0,t=function(e){const t=e.params.findIndex(e=>PR(e)||vR(e));return-1===t?e.params.length:t}(this.node);e<t;e++)u.push(s.generateUidIdentifier("x"));const c=QI.expression.ast`
|
|
2
|
-
(function (${o}) {
|
|
3
|
-
function ${r}(${u}) {
|
|
4
|
-
return ${wR(o)}.apply(this, arguments);
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
${wR(r)}.toString = function () {
|
|
8
|
-
return ${wR(o)}.toString();
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
return ${wR(r)};
|
|
12
|
-
})(${xR(this.node)})
|
|
13
|
-
`;return this.replaceWith(c)[0].get("arguments.0")},matchesPattern:function(e,t){return XR(this.node,e,t)},isStatic:function(){return this.scope.isStatic(this.node)},isNodeType:function(e){return WR(this.type,e)},canHaveVariableDeclarationOrExpression:function(){return("init"===this.key||"left"===this.key)&&this.parentPath.isFor()},canSwapBetweenExpressionAndStatement:function(e){return!("body"!==this.key||!this.parentPath.isArrowFunctionExpression())&&(this.isExpression()?qR(e):!!this.isBlockStatement()&&$R(e))},isCompletionRecord:function(e){let t=this,n=!0;do{const{type:r,container:i}=t;if(!n&&(t.isFunction()||"StaticBlock"===r))return!!e;if(n=!1,Array.isArray(i)&&t.key!==i.length-1)return!1}while((t=t.parentPath)&&!t.isProgram()&&!t.isDoExpression());return!0},isStatementOrBlock:function(){return!this.parentPath.isLabeledStatement()&&!qR(this.container)&&jR.includes(this.key)},referencesImport:function(e,t){if(!this.isReferencedIdentifier()){if(this.isJSXMemberExpression()&&this.node.property.name===t||(this.isMemberExpression()||this.isOptionalMemberExpression())&&(this.node.computed?KR(this.node.property,{value:t}):this.node.property.name===t)){const t=this.get("object");return t.isReferencedIdentifier()&&t.referencesImport(e,"*")}return!1}const n=this.scope.getBinding(this.node.name);if(!n||"module"!==n.kind)return!1;const r=n.path,i=r.parentPath;return!!i.isImportDeclaration()&&(i.node.source.value===e&&(!t||(!(!r.isImportDefaultSpecifier()||"default"!==t)||(!(!r.isImportNamespaceSpecifier()||"*"!==t)||!(!r.isImportSpecifier()||!JR(r.node.imported,{name:t}))))))},getSource:function(){const e=this.node;if(e.end){const t=this.hub.getCode();if(t)return t.slice(e.start,e.end)}return""},willIMaybeExecuteBefore:function(e){return"after"!==this._guessExecutionStatusRelativeTo(e)},_guessExecutionStatusRelativeTo:function(e){return QR(this,e,new Map)},resolve:function(e,t){return ZR.call(this,e,t)||this},isConstantExpression:function(){if(this.isIdentifier()){const e=this.scope.getBinding(this.node.name);return!!e&&e.constant}if(this.isLiteral())return!this.isRegExpLiteral()&&(!this.isTemplateLiteral()||this.get("expressions").every(e=>e.isConstantExpression()));if(this.isUnaryExpression())return"void"===this.node.operator&&this.get("argument").isConstantExpression();if(this.isBinaryExpression()){const{operator:e}=this.node;return"in"!==e&&"instanceof"!==e&&this.get("left").isConstantExpression()&&this.get("right").isConstantExpression()}return this.isMemberExpression()?!this.node.computed&&this.get("object").isIdentifier({name:"Symbol"})&&!this.scope.hasBinding("Symbol",{noGlobals:!0}):!!this.isCallExpression()&&(1===this.node.arguments.length&&this.get("callee").matchesPattern("Symbol.for")&&!this.scope.hasBinding("Symbol",{noGlobals:!0})&&this.get("arguments")[0].isStringLiteral())},isInStrictMode:function(){const e=(this.isProgram()?this:this.parentPath).find(e=>{if(e.isProgram({sourceType:"module"}))return!0;if(e.isClass())return!0;if(e.isArrowFunctionExpression()&&!e.get("body").isBlockStatement())return!1;let t;if(e.isFunction())t=e.node.body;else{if(!e.isProgram())return!1;t=e.node}for(const e of t.directives)if("use strict"===e.value.value)return!0});return!!e},isDenylisted:function(){const e=this.opts.denylist??this.opts.blacklist;return e?.includes(this.node.type)},visit:function(){if(!this.node)return!1;if(this.isDenylisted())return!1;if(this.opts.shouldSkip?.(this))return!1;const e=this.context;if(this.shouldSkip||kj.call(this,"enter"))return this.debug("Skip..."),this.shouldStop;return _j(this,e),this.debug("Recursing into..."),this.shouldStop=Cj(this.node,this.opts,this.scope,this.state,this,this.skipKeys),_j(this,e),kj.call(this,"exit"),this.shouldStop},skip:function(){this.shouldSkip=!0},skipKey:function(e){null==this.skipKeys&&(this.skipKeys={});this.skipKeys[e]=!0},stop:function(){this._traverseFlags|=2|bj},setContext:function(e){null!=this.skipKeys&&(this.skipKeys={});this._traverseFlags=0,e&&(this.context=e,this.state=e.state,this.opts=e.opts);return Nj.call(this),this},requeue:function(e=this){if(e.removed)return;e.shouldSkip=!1;const t=this.contexts;for(const n of t)n.maybeQueue(e)},requeueComputedKeyAndDecorators:function(){const{context:e,node:t}=this;!Ha(t)&&t.computed&&e.maybeQueue(this.get("key"));if(t.decorators)for(const t of this.get("decorators"))e.maybeQueue(t)},remove:function(){JB.call(this),Lj.call(this),UB.call(this)||(this.opts?.noScope||jB.call(this),this.shareCommentsWithSiblings(),qB.call(this)),$B.call(this)},insertBefore:function(e){JB.call(this);const t=pF.call(this,e),{parentPath:n,parent:r}=this;if(n.isExpressionStatement()||n.isLabeledStatement()||ZB(r)||n.isExportDefaultDeclaration()&&this.isDeclaration())return n.insertBefore(t);if(this.isNodeType("Expression")&&!this.isJSXElement()||n.isForStatement()&&"init"===this.key)return this.node&&t.push(this.node),this.replaceExpressionWithStatements(t);if(Array.isArray(this.container))return aF.call(this,t);if(this.isStatementOrBlock()){const e=this.node,n=e&&(!this.isExpressionStatement()||null!=e.expression),[r]=this.replaceWith(XB(n?[e]:[]));return r.unshiftContainer("body",t)}throw new Error("We don't know what to do with this node type. We were previously a Statement but we can't fit in here?")},insertAfter:function(e){if(JB.call(this),this.isSequenceExpression())return uF(this.get("expressions")).insertAfter(e);const t=pF.call(this,e),{parentPath:n,parent:r}=this;if(n.isExpressionStatement()||n.isLabeledStatement()||ZB(r)||n.isExportDefaultDeclaration()&&this.isDeclaration())return n.insertAfter(t.map(e=>eF(e)?YB(e):e));if(this.isNodeType("Expression")&&!this.isJSXElement()&&!n.isJSXElement()||n.isForStatement()&&"init"===this.key){const e=this;if(e.node){const r=e.node;let{scope:i}=this;if(i.path.isPattern())return KB(r),e.replaceWith(HB(VB([],r),[])),e.get("callee.body").insertAfter(t),[e];if(cF(e))t.unshift(r);else if(QB(r)&&rF(r.callee))t.unshift(r),t.push(iF());else if(function(e,t){if(!GB(e)||!tF(e.left))return!1;const n=t.getBlockParent();return n.hasOwnBinding(e.left.name)&&n.getOwnBinding(e.left.name).constantViolations.length<=1}(r,i))t.unshift(r),t.push(zB(r.left));else if(i.isPure(r,!0))t.push(r);else{n.isMethod({computed:!0,key:r})&&(i=i.parent);const e=i.generateDeclaredUidIdentifier();t.unshift(YB(WB("=",zB(e),r))),t.push(YB(zB(e)))}}return this.replaceExpressionWithStatements(t)}if(Array.isArray(this.container))return oF.call(this,t);if(this.isStatementOrBlock()){const e=this.node,n=e&&(!this.isExpressionStatement()||null!=e.expression),[r]=this.replaceWith(XB(n?[e]:[]));return r.pushContainer("body",t)}throw new Error("We don't know what to do with this node type. We were previously a Statement but we can't fit in here?")},unshiftContainer:function(e,t){JB.call(this);const n=pF.call(this,t),r=this.node[e],i=xj.get({parentPath:this,parent:this.node,container:r,listKey:e,key:0}).setContext(this.context);return aF.call(i,n)},pushContainer:function(e,t){JB.call(this);const n=pF.call(this,t),r=this.node[e];return xj.get({parentPath:this,parent:this.node,container:r,listKey:e,key:r.length}).setContext(this.context).replaceWithMultiple(n)},getOpposite:function(){return"left"===this.key?this.getSibling("right"):"right"===this.key?this.getSibling("left"):null},getCompletionRecords:function(e=!1){return cj(this,{canHaveBreak:!1,shouldPopulateBreak:!1,inCaseClause:!1,shouldPreserveBreak:e}).map(e=>e.path)},getSibling:function(e){return xj.get({parentPath:this.parentPath,parent:this.parent,container:this.container,listKey:this.listKey,key:e}).setContext(this.context)},getPrevSibling:function(){return this.getSibling(this.key-1)},getNextSibling:function(){return this.getSibling(this.key+1)},getAllNextSiblings:function(){let e=this.key,t=this.getSibling(++e);const n=[];for(;t.node;)n.push(t),t=this.getSibling(++e);return n},getAllPrevSiblings:function(){let e=this.key,t=this.getSibling(--e);const n=[];for(;t.node;)n.push(t),t=this.getSibling(--e);return n},get:function(e,t=!0){!0===t&&(t=this.context);const n=e.split(".");return 1===n.length?lj.call(this,e,t):pj.call(this,n,t)},getAssignmentIdentifiers:function(){return ej(this.node)},getBindingIdentifiers:function(e){return tj(this.node,e)},getOuterBindingIdentifiers:function(e){return nj(this.node,e)},getBindingIdentifierPaths:function(e=!1,t=!1){const n=[this],r=Object.create(null);for(;n.length;){const i=n.shift();if(!i)continue;if(!i.node)continue;const s=tj.keys[i.node.type];if(i.isIdentifier())if(e){(r[i.node.name]=r[i.node.name]||[]).push(i)}else r[i.node.name]=i;else{if(i.isExportDeclaration()){const e=i.get("declaration");e.isDeclaration()&&n.push(e);continue}if(t){if(i.isFunctionDeclaration()){n.push(i.get("id"));continue}if(i.isFunctionExpression())continue}if(s)for(let e=0;e<s.length;e++){const t=s[e],r=i.get(t);Array.isArray(r)?n.push(...r):r.node&&n.push(r)}}}return r},getOuterBindingIdentifierPaths:function(e=!1){return this.getBindingIdentifierPaths(e,!0)},shareCommentsWithSiblings:function(){if("string"==typeof this.key)return;const e=this.node;if(!e)return;const t=e.trailingComments,n=e.leadingComments;if(!t&&!n)return;const r=this.getSibling(this.key-1),i=this.getSibling(this.key+1),s=Boolean(r.node),a=Boolean(i.node);s&&(n&&r.addComments("trailing",fj(n,r.node.trailingComments)),t&&!a&&r.addComments("trailing",t)),a&&(t&&i.addComments("leading",fj(t,i.node.leadingComments)),n&&!s&&i.addComments("leading",n))},addComment:function(e,t,n){dj(this.node,e,t,n)},addComments:function(e,t){hj(this.node,e,t)}};Object.assign(xj.prototype,Sj);for(const e of qu){const t=`is${e}`,n=at[t];xj.prototype[t]=function(e){return n(this.node,e)},xj.prototype[`assert${e}`]=function(t){if(!n(this.node,t))throw new TypeError(`Expected node path of type ${e}`)}}Object.assign(xj.prototype,XO);for(const e of Object.keys(vO))"_"!==e[0]&&(qu.includes(e)||qu.push(e));var{VISITOR_KEYS:Tj}=at,Ej=class{constructor(e,t,n,r){Qe(this,"queue",null),Qe(this,"priorityQueue",null),this.parentPath=r,this.scope=e,this.state=n,this.opts=t}shouldVisit(e){const t=this.opts;if(t.enter||t.exit)return!0;if(t[e.type])return!0;const n=Tj[e.type];if(!n?.length)return!1;for(const t of n)if(e[t])return!0;return!1}create(e,t,n,r){return xj.get({parentPath:this.parentPath,parent:e,container:t,key:n,listKey:r})}maybeQueue(e,t){this.queue&&(t?this.queue.push(e):this.priorityQueue.push(e))}visitMultiple(e,t,n){if(0===e.length)return!1;const r=[];for(let i=0;i<e.length;i++){const s=e[i];s&&this.shouldVisit(s)&&r.push(this.create(t,e,i,n))}return this.visitQueue(r)}visitSingle(e,t){return!!this.shouldVisit(e[t])&&this.visitQueue([this.create(e,e,t)])}visitQueue(e){this.queue=e,this.priorityQueue=[];const t=new WeakSet;let n=!1,r=0;for(;r<e.length;){const i=e[r];if(r++,Lj.call(i),0!==i.contexts.length&&i.contexts[i.contexts.length-1]===this||Fj.call(i,this),null===i.key)continue;const{node:s}=i;if(!t.has(s)){if(s&&t.add(s),i.visit()){n=!0;break}if(this.priorityQueue.length&&(n=this.visitQueue(this.priorityQueue),this.priorityQueue=[],this.queue=e,n))break}}for(let t=0;t<r;t++)Bj.call(e[t]);return this.queue=null,n}visit(e,t){const n=e[t];return!!n&&(Array.isArray(n)?this.visitMultiple(n,e,t):this.visitSingle(e,t))}},{VISITOR_KEYS:Pj}=at;function vj(e,t){e.queue=t,e.priorityQueue=[];const n=new Set;let r=!1,i=0;for(;i<t.length;){const s=t[i];if(i++,Lj.call(s),0!==s.contexts.length&&s.contexts[s.contexts.length-1]===e||Fj.call(s,e),null===s.key)continue;const{node:a}=s;if(!n.has(a)){if(a&&n.add(a),Aj(e,s)){r=!0;break}if(e.priorityQueue.length&&(r=vj(e,e.priorityQueue),e.priorityQueue=[],e.queue=t,r))break}}for(let e=0;e<i;e++)Bj.call(t[e]);return e.queue=null,r}function Aj(e,t){const n=t.node;if(!n)return!1;const r=e.opts,i=r.denylist??r.blacklist;return!i?.includes(n.type)&&(!r.shouldSkip?.(t)&&(t.shouldSkip||Ij.call(t,r.enter)||t.node&&Ij.call(t,r[n.type]?.enter)?t.shouldStop:(t.shouldStop=wj(t.node,r,t.scope,e.state,t,t.skipKeys),!(!t.node||!Ij.call(t,r.exit))||(t.node&&Ij.call(t,r[n.type]?.exit),t.shouldStop))))}function wj(e,t,n,r,i,s,a){const o=Pj[e.type];if(!o?.length)return!1;const u=new Ej(n,t,r,i);if(a)return!s?.[i.parentKey]&&vj(u,[i]);for(const t of o){if(s?.[t])continue;const n=e[t];if(n)if(Array.isArray(n)){if(!n.length)continue;const r=[];for(let s=0;s<n.length;s++){const a=xj.get({parentPath:i,parent:e,container:n,key:s,listKey:t});r.push(a)}if(vj(u,r))return!0}else if(vj(u,[xj.get({parentPath:i,parent:e,container:e,key:t,listKey:null})]))return!0}return!1}function Cj(e,t,n,r,i,s,a){return wj(e,t,n,r,i,s,a)}function kj(e){const t=this.opts;return this.debug(e),!(!this.node||!Ij.call(this,t[e]))||!!this.node&&Ij.call(this,t[this.node.type]?.[e])}function Ij(e){if(!e)return!1;for(const t of e){if(!t)continue;const e=this.node;if(!e)return!0;const n=t.call(this.state,this,this.state);if(n&&"object"==typeof n&&"function"==typeof n.then)throw new Error("You appear to be using a plugin with an async traversal visitor, which your current version of Babel does not support. If you're using a published plugin, you may need to upgrade your @babel/core version.");if(n)throw new Error(`Unexpected return value from visitor method ${t}`);if(this.node!==e)return!0;if(this._traverseFlags>0)return!0}return!1}function _j(e,t){e.context!==t&&(e.context=t,e.state=t.state,e.opts=t.opts)}function Nj(){if(this.opts?.noScope)return;let e,t=this.parentPath;for((("key"===this.key||"decorators"===this.listKey)&&t.isMethod()||"discriminant"===this.key&&t.isSwitchStatement())&&(t=t.parentPath);t&&!e;){if(t.opts?.noScope)return;e=t.scope,t=t.parentPath}this.scope=this.getScope(e),this.scope?.init()}function Lj(){this.removed||(Oj.call(this),Mj.call(this),Dj.call(this))}function Oj(){this.parentPath&&(this.parent=this.parentPath.node)}function Dj(){if(this.container&&this.node!==this.container[this.key]){if(Array.isArray(this.container)){for(let e=0;e<this.container.length;e++)if(this.container[e]===this.node)return void jj.call(this,e)}else for(const e of Object.keys(this.container))if(this.container[e]===this.node)return void jj.call(this,e);this.key=null}}function Mj(){if(!this.parent||!this.inList)return;const e=this.parent[this.listKey];this.container!==e&&(this.container=e||null)}function Bj(){this.contexts.pop(),this.contexts.length>0?this.setContext(this.contexts[this.contexts.length-1]):this.setContext(void 0)}function Fj(e){this.contexts.push(e),this.setContext(e)}function Rj(e,t,n,r){this.listKey=n,this.container=t,this.parentPath=e||this.parentPath,jj.call(this,r)}function jj(e){this.key=e,this.node=this.container[this.key],this.type=this.node?.type}function Uj(){let e=this,t=this.contexts;for(;!t.length&&(e=e.parentPath,e);)t=e.contexts;return t}var{VISITOR_KEYS:qj,removeProperties:$j,traverseFast:Jj}=at;function Vj(e,t={},n,r,i,s){if(e){if(!t.noScope&&!n&&"Program"!==e.type&&"File"!==e.type)throw new Error(`You must pass a scope and parentPath unless traversing a Program/File. Instead of that you tried to traverse a ${e.type} node without passing scope and parentPath.`);if(!i&&s)throw new Error("visitSelf can only be used when providing a NodePath.");qj[e.type]&&(tD(t),Cj(e,t,n,r,i,null,s))}}Vj.visitors=dD,Vj.verify=nD,Vj.explode=tD,Vj.cheap=function(e,t){Jj(e,t)},Vj.node=function(e,t,n,r,i,s){Cj(e,t,n,r,i,s)},Vj.clearNode=function(e,t){$j(e,t)},Vj.removeProperties=function(e,t){return Jj(e,Vj.clearNode,t),e},Vj.hasType=function(e,t,n){return!n?.includes(e.type)&&(e.type===t||Jj(e,function(e){return n?.includes(e.type)?Jj.skip:e.type===t?Jj.stop:void 0}))},Vj.cache=PD,st.default;var Kj={},Wj={},Xj={},Hj=e=>{const t={value:e};return(...e)=>{const[n]=e;return e.length?(t.value=n,n):t.value}},zj={TYPES:{TOKEN:"Token",NEWLINE:"Newline",LINEBREAK:"Linebreak",SPLITTER:"Splitter",INDENT:"Indent",DEBUG:"Debug",SPACE:"Space",ROUND_BRACE_OPEN:"RoundBraceOpen",ROUND_BRACE_CLOSE:"RoundBraceClose",QUOTE:"Quote",END_OF_FILE:"EndOfFile"}},Yj={},Gj={},Qj={};const{types:Zj}=st,{isStringLiteral:eU,isIdentifier:tU,isIfStatement:nU,isStatement:rU,isForOfStatement:iU,isVariableDeclaration:sU,isMemberExpression:aU,isArrayExpression:oU,isObjectExpression:uU,isLabeledStatement:cU}=Zj,lU=e=>e.parentPath?.isProgram(),pU=e=>{const t=e.getNextSibling();return!!t.node&&!t.isEmptyStatement()},dU=e=>lU(e)&&!pU(e);function hU([e,t]){return eU(e)&&tU(t)}Qj.isNextObject=e=>e.getNextSibling().isObjectExpression(),Qj.isPrevObject=e=>e.getPrevSibling().isObjectExpression(),Qj.isFirst=e=>e.node===e.parentPath.node.body?.[0],Qj.isPrevBody=e=>e.getPrevSibling().isBlockStatement(),Qj.isNext=pU,Qj.isPrev=e=>e.getPrevSibling().node,Qj.isNextParent=e=>pU(e.parentPath),Qj.isParentProgram=lU,Qj.isParentBlock=e=>e.parentPath.isBlockStatement(),Qj.isLast=dU,Qj.isParentLast=e=>dU(e.parentPath),Qj.isIndented=(e={})=>{const{parentPath:t,node:n}=e;return!t.node.loc||n.loc?.start.column!==t.node.loc.start.column},Qj.isCoupleLines=function(e){const t=e.node?.loc?.start?.line,n=e.node?.loc?.end?.line;return n!==t},Qj.exists=e=>e.node,Qj.isStringAndIdentifier=hU;Qj.isSimpleAndNotEmptyObject=e=>{const[t]=e;return!(t&&!["Identifier","SpreadElement","ArrayExpression","CallExpression","NewExpression"].includes(t.type))&&(e=>{let t=e.at(-1);return uU(t)||(t=e.at(-2)),!!uU(t)&&t.node.properties.length})(e)},Qj.isIdentifierAndIdentifier=([e,t])=>tU(e)&&tU(t),Qj.isStringAndMember=([e,t])=>eU(e)&&aU(t),Qj.isIdentifierAndString=([e,t])=>tU(e)&&eU(t),Qj.isStringAndArray=([e,t])=>!!eU(e)&&(!!oU(t)&&!hU(t.node.elements));const fU=e=>nU(e)||rU(e),mU=e=>iU(e)||rU(e);Qj.isIf=e=>nU(e.find(fU)),Qj.isForOf=e=>{const t=e.find(mU);return!!iU(t)||!!sU(t)&&iU(t.parentPath)},Qj.isInsideIf=e=>e.parentPath?.isIfStatement(),Qj.isNewlineBetweenSiblings=e=>{const t=e.node?.loc?.end?.line,n=e.getNextSibling().node?.loc?.start?.line;return!!n&&n-t>1},Qj.isInsideLabel=({parentPath:e})=>cU(e),Qj.satisfy=e=>t=>{for(const n of e)if(n(t))return!0;return!1};const yU=e=>e.node||e;Qj.hasCoupleTrailingComments=e=>{const t=yU(e);return t?.trailingComments?.length>1},Qj.hasTrailingComment=e=>{const t=yU(e);return t.trailingComments?.length},Qj.hasLeadingComment=e=>e.node?.leadingComments?.length,Qj.noTrailingComment=e=>!e.node.trailingComments?.length,Qj.noLeadingComment=e=>!e.node.leadingComments?.length;var gU={},bU={},xU={},SU={};const TU="__putout_newline_after";function EU(e){e[TU]=!0}function PU(e){return e[TU]}SU.markBefore=function(e){e.__putout_newline_before=!0},SU.markAfter=EU,SU.maybeMarkAfter=(e,t)=>e&&EU(t),SU.isMarkedAfter=PU,SU.hasPrevNewline=e=>PU(e.getPrevSibling());var vU={maybeInsideFn:(e,{print:t,indent:n})=>{e&&(n.inc(),n.inc(),t.breakline(),n.dec(),n.dec())}},AU={};const wU=(e,t)=>()=>e(`//${t}`),CU=(e,t)=>()=>e(`/*${t}*/\n`);AU.hasTrailingCommentsPrinter=e=>{const{printTrailingCommentBlock:t,printTrailingCommentLine:n}=e;return!!t||Boolean(n)},AU.hasLeadingCommentsPrinter=e=>{const{printLeadingCommentLine:t,printLeadingCommentBlock:n}=e;return!!t||Boolean(n)},AU.printLeadingComments=(e,t,n,{currentTraverse:r})=>{const{print:i}=t,{leadingComments:s=[]}=e.node,{printLeadingCommentLine:a,printLeadingCommentBlock:o}=r,u=s.length-1;for(const[r,{type:c,value:l}]of s.entries())"CommentLine"!==c?"CommentBlock"===c&&o?.(e,t,n,{index:r,printComment:CU(i,l)}):a?.(e,t,n,{index:r,printComment:wU(i,l),isLast:r===u})},AU.printTrailingComments=(e,t,n,{currentTraverse:r})=>{const{print:i}=t,{trailingComments:s=[]}=e.node,{printTrailingCommentLine:a,printTrailingCommentBlock:o}=r,u=s.length-1;for(const[r,{type:c,value:l}]of s.entries())"CommentLine"!==c?"CommentBlock"===c&&o?.(e,t,n,{index:r,printComment:CU(i,l)}):a?.(e,t,n,{index:r,printComment:wU(i,l),isLast:r===u})};const{types:kU}=st,{hasTrailingComment:IU,satisfy:_U,isPrev:NU}=Qj,{markBefore:LU}=SU,{maybeInsideFn:OU}=vU,{printLeadingComments:DU,hasLeadingCommentsPrinter:MU}=AU,{isArrowFunctionExpression:BU,isObjectProperty:FU,isVariableDeclarator:RU,isClassProperty:jU,isTSPropertySignature:UU,isSpreadElement:qU,isClassBody:$U,isBinaryExpression:JU,isClassMethod:VU,isDecorator:KU}=kU,WU=_U([FU,RU,jU,UU,qU]),XU=e=>{const{parentPath:t}=e;return!(!RU(t)||e!==t.get("init"))||!!BU(t)&&RU(t.parentPath)};function HU(e){const{loc:t,leadingComments:n}=e.node;if(!WU(e))return!1;const[r]=n,{line:i}=r.loc.start;return!function(e){const[t]=e.node.leadingComments,{line:n}=t.loc.start;return e.getPrevSibling().node?.loc.start.line===n}(e)&&i<=t.start.line-1}const zU=e=>{const{parentPath:t}=e;return e===t.get("properties")[0]||!(!$U(t)||!jU(e))&&e===t.get("body")[0]};xU.parseLeadingComments=(e,t,n,{currentTraverse:r={}}={})=>{const{print:i,maybe:s,indent:a}=t;if(!n.comments)return;const{leadingComments:o}=e.node;if(!o?.length)return;if(MU(r))return DU(e,t,n,{currentTraverse:r});if((e=>e?.parentPath.node?.decorators)(e))return;const u=e.isSwitchCase();if(!u&&IU(e.getPrevSibling()))return;const c=(e.parentPath.isFunction()||e.parentPath.isTSDeclareMethod())&&!e.isTSTypeParameterDeclaration(),l=WU(e),p=zU(e)||!u&&!e.isClassMethod()&&!c&&!l,d=o.length-1;for(const[t,{type:n,value:r}]of o.entries())if("CommentLine"!==n){if("CommentBlock"===n){s.indent(p);const t=e.isClassMethod(),n=e.isDirective(),a=e.isObjectProperty();a&&i.breakline(),i(`/*${r}*/`),UU(e)&&!NU(e)&&i.breakline(),(e.isStatement()||e.isTSEnumMember()||n||t||a||u)&&(i.newline(),LU(e),s.indent(t||a||u));continue}}else(t||!e.isClassProperty()&&!e.isBinaryExpression())&&s.indent(p),OU(c,{print:i,indent:a}),HU(e)?s.print.breakline(!zU(e)):s.print.space(l&&!e.isClassProperty()),i(`//${r}`),t===d?(s.print.breakline(l),s.print.newline(!l),VU(e)?a():(JU(e)||KU(e))&&(a.inc(),a(),a.dec())):i.newline(),XU(e)&&(a.inc(),a(),a.dec())};var YU={},GU={},QU={};const{hasTrailingComment:ZU}=Qj,{assign:eq}=Object;function tq(e){const t=[];let n=e.get("object");for(;!n.isIdentifier();){const e=n.isCallExpression(),r=rq(n);if(e&&(n=n.get("callee")),t.unshift(r),!n.isMemberExpression())break;n=n.get("object")}return t}function nq(e){const t=[];for(;e.isMemberExpression()&&(ZU(e.get("object"))&&t.push({type:"CommentLine"}),(e=e.parentPath).isCallExpression()&&(t.push(rq(e)),e=e.parentPath),e.isMemberExpression()););return t.push({type:e.type}),t}function rq(e){const t={type:e.type};return e.isCallExpression()&&eq(t,{args:e.node.arguments.length,name:e.node.callee.property?.name||""}),t}QU.chain=e=>{const t=[...tq(e),...nq(e)],n=t.slice(0,-1);return[t.at(-1),n]};const{types:iq}=st,{chain:sq}=QU,{satisfy:aq}=Qj,{isUnaryExpression:oq,isIfStatement:uq,isCallExpression:cq,isIdentifier:lq}=iq,pq=e=>"CallExpression"===e.type,dq=aq([oq,uq]),hq=({type:e})=>"CommentLine"===e;GU.isLooksLikeChain=e=>{const[t,n]=sq(e);if((e=>!!lq(e.node.object)&&!!lq(e.node.property)&&cq(e.parentPath.parentPath))(e))return!1;if(dq(t))return!1;if(fq(n))return!1;if(n.find(hq))return!0;if(e.find(mq))return!1;const r=n.filter(pq),[i]=r;return!(2===r.length&&!i.name)&&(!(e=>e.parentPath?.isCallExpression()&&e.parentPath.get("arguments.0")===e)(e)&&r.length>1)};const fq=([e])=>cq(e,{name:"get"}),mq=e=>{const t=e.find(uq);let n=!1;return t?(t.get("test").traverse({MemberExpression(t){e===t&&(n=!0,e.stop())}}),n):n},{types:yq}=st,{isLast:gq,isCoupleLines:bq,isNext:xq}=Qj,{isLooksLikeChain:Sq}=GU,{printTrailingComments:Tq,hasTrailingCommentsPrinter:Eq}=AU,{isDecorator:Pq,isMemberExpression:vq,isExpressionStatement:Aq,isCallExpression:wq}=yq,Cq=e=>!!e.isTSModuleDeclaration()||e.node.body?.length,kq=e=>{const{parentPath:t}=e;return!!t.isFunction()&&t.get("params").includes(e)};function Iq(e,t){return e.node.loc?.start.line===t.start.line||e.node.loc?.end.line===t.end.line}const _q=e=>e.node.trailingComments===e.getNextSibling().node?.leadingComments,Nq=e=>{const{parentPath:t}=e;if(Pq(e)){const{loc:t}=e.node.trailingComments[0];return!Iq(e,t)}return!vq(t)&&!gq(e)};function Lq(e){const{node:t}=e,{loc:n,trailingComments:r}=t;if(e.isClassMethod())return!1;if(_q(e))return!1;if(e.isThrowStatement())return!1;const[i]=r,{line:s}=i.loc.start,a=e.getNextSibling();if(a.node&&s<a.node.loc?.start.line)return!1;if(!n)return!0;const o=n.start.line,u=n.end.line;return s===o+1&&s===u+1||s===o+2&&s===u+2}function Oq(e){const t=e.getPrevSibling();if(Aq(t))return!1;const{expression:n}=e.node;return!!wq(n)&&!wq(n.arguments[0])}YU.isTrailingIsLeading=_q,YU.parseTrailingComments=(e,t,n,{currentTraverse:r}={})=>{const{parentPath:i}=e,{write:s,maybe:a,indent:o}=t;if(!n.comments)return;const{trailingComments:u}=e.node;if(!u?.length)return;if(Eq(r))return Tq(e,t,n,{currentTraverse:r});if(e.isDirective())return;const c=u.length-1,l=Sq(i);for(const{type:t,value:n,loc:r}of u){const i=Iq(e,r),u=Lq(e);if("CommentLine"===t){const t=u&&l,r=!i&&!u;a.write.breakline(u),a.write.space(i),(r||t)&&(a.indent.inc(t),o(),a.indent.dec(t)),Cq(e)&&(a.write.breakline(!xq(e)),a.write.breakline(!c)),s(`//${n}`),a.write.newline(Nq(e));continue}"CommentBlock"===t&&(a.write.space(i),a.indent(!i),a.print.breakline(Oq(e)),s(`/*${n}*/`),a.write.newline(!i||!kq(e)&&bq(e.parentPath)))}};var Dq={};const{isNext:Mq}=Qj;Dq.parseComments=(e,{write:t,maybe:n},r)=>{if(!r.comments)return;const i=e.node.comments||e.node.innerComments;if(!i)return;const s=i.length-1,a=e.isProgram();for(const[r,{type:o,value:u}]of i.entries())if("CommentLine"!==o)"CommentBlock"===o&&(t("/*"),t(u),t("*/"));else{if(n.write.breakline(Mq(e)||!a),t("//"),t(u),a){n.write.newline(r<s);continue}t.newline()}};const{parseLeadingComments:Bq}=xU,{parseTrailingComments:Fq}=YU,{parseComments:Rq}=Dq;bU.parseLeadingComments=Bq,bU.parseTrailingComments=Fq,bU.parseComments=Rq;const{parseComments:jq}=bU,Uq=()=>{},qq=e=>e.get("params");function $q(e){if("ArrowFunctionExpression"!==e.type)return!1;const{params:t}=e.node,[n]=t;return 1===t.length&&"Identifier"===n.type}gU.printParams=(e,t,n,r={})=>{const{extra:i,typeParameters:s}=e.node,{print:a,maybe:o,traverse:u}=t,{params:c=qq(e),braceOpen:l="(",braceClose:p=")",printSpace:d=a.space,printAfterOpen:h=Uq,printBeforeClose:f=Uq}=r;s&&u(e.get("typeParameters")),function(e,{print:t,braceOpen:n},r){if($q(e)&&!r.roundBraces.arrow)return;t(n)}(e,{print:a,braceOpen:l},n),jq(e,t,n),h();const m=c.length-1;for(let e=0;e<=m;e++){const t=e===m;u(c[e]),t||(a(","),d())}o.print(i?.trailingComma,","),f(),function(e,{print:t,braceClose:n},r){if($q(e)&&!r.roundBraces.arrow)return;t(n)}(e,{print:a,braceClose:p},n)};var Jq={};const Vq=e=>e.node.extra?.parenthesized;Jq.isParens=Vq,Jq.maybeParens=e=>"function"==typeof e?Kq(e):Wq(e);const Kq=e=>({condition:Vq,before(e,{write:t}){t("(")},print:e,after(e,{write:t}){t(")")}}),Wq=({print:e,condition:t,checkParens:n=!0})=>({...Kq(e),condition:(e,r,i)=>{const s=t?.(e,r,i);return n?s||Vq(e):s}}),{exists:Xq}=Qj,{printParams:Hq}=gU,{maybeParens:zq}=Jq;Gj.ArrowFunctionExpression=zq((e,t,n)=>{const{print:r,maybe:i,write:s,traverse:a}=t,{async:o}=e.node;i.print(o,"async "),Hq(e,t,n);const u=e.get("returnType");Xq(u)&&(s(":"),s.space(),a(u)),r.space(),r("=>");const c=e.get("body").isJSXElement();i.print.space(!c),r("__body")});var Yq={};const{types:Gq}=st,{markAfter:Qq}=SU,{isNext:Zq,isNextParent:e$}=Qj,{printParams:t$}=gU,n$=(r$=function(e){return!!l$(e.parentPath)&&e.node.body.body.length},(...e)=>!r$(...e));var r$;const{isAssignmentExpression:i$,isTSModuleBlock:s$,isBlockStatement:a$,isExportNamedDeclaration:o$,isExpressionStatement:u$,isFunctionDeclaration:c$,isExportDefaultDeclaration:l$}=Gq;Yq.FunctionDeclaration={print(e,t,n){const{print:r,maybe:i}=t,{async:s,generator:a,returnType:o}=e.node;i.indent(!(({parentPath:e})=>o$(e))(e)),i.print(s,"async "),r("function"),a?(r("*"),r.space()):r(" "),r("__id"),t$(e,t,n),o&&(r(": "),r("__returnType")),r.space(),r("__body")},afterSatisfy:()=>[Zq,e$,h$],after(e,{indent:t,maybe:n}){(d$(e)||p$(e)||Zq(e))&&t(),n.write.newline(n$(e)),Qq(e)}};const p$=e=>{const t=e.getNextSibling();return c$(t)},d$=e=>{const t=e.getNextSibling();return!!u$(t)&&i$(t.node.expression)};function h$(e){const{parentPath:t}=e;return!!s$(t.parentPath)||!!a$(t)&&!e.node.body.body.length}var f$={},m$={};const y$=e=>{const t=e.getPrevSibling();return!!t.node&&(t.isClassProperty()||t.isClassAccessorProperty())};m$.maybeDecorators=e=>(t,n,r,i)=>{const{write:s,traverse:a,maybe:o}=n,{decorators:u}=t.node;if(u)for(const e of t.get("decorators"))o.write.breakline(y$(t)),a(e),s.breakline();e(t,n,r,i)};var g$={},b$={maybePrintComputed:(e,t,{maybe:n,traverse:r})=>{const{computed:i}=e.node;n.write(i,"["),r(t),n.write(i,"]")}};const{maybePrintComputed:x$}=b$;g$.printKey=(e,t)=>{const n=e.get("key");x$(e,n,t)};var S$={printKind:(e,{write:t})=>{const{kind:n,generator:r}=e.node;"get"===n||"set"===n?t(`${n} `):r&&t("*")}},T$={};const{printParams:E$}=gU,{hasLeadingComment:P$}=Qj,v$=({decorators:e})=>e?.length;T$.printFunctionParams=(e,t,n)=>{const{params:r}=e.node,i=r.filter(v$).length,s=(e=>{const t=e.get("params");let n=0,r=0;for(const e of t){const t=e.get("decorators");if(!t.length)continue;const[i]=t;++r,P$(i)&&++n}return n===r})(e),a=C$({isNewline:i,printer:t}),o=A$({type:"inc",printer:t,isNewline:i,isAllHasComments:s}),u=w$({type:"dec",printer:t,isNewline:i,isAllHasComments:s});E$(e,t,n,{printAfterOpen:o,printSpace:a,printBeforeClose:u})};const A$=({isNewline:e,isAllHasComments:t,printer:n,type:r})=>()=>{if(!e)return;const{indent:i,print:s}=n;t||i[r](),s.breakline()},w$=({isNewline:e,printer:t,isAllHasComments:n,type:r})=>()=>{if(!e)return;const{indent:i,print:s}=t;n||i[r](),s.breakline()},C$=({isNewline:e,printer:t})=>()=>{const{print:n}=t;if(!e)return n.space();n.breakline()},{isNext:k$,hasTrailingComment:I$}=Qj,{maybeDecorators:_$}=m$,{printKey:N$}=g$,{printKind:L$}=S$,{printFunctionParams:O$}=T$,D$=e=>!I$(e)&&k$(e),M$={print:_$((e,t,n)=>{const{print:r}=t,{node:i}=e,{accessibility:s,returnType:a}=i;s&&(r(s),r(" ")),i.static&&(r("static"),r(" ")),i.override&&(r("override"),r(" ")),i.async&&(r("async"),r(" ")),L$(e,t),N$(e,t),O$(e,t,n),a&&(r(":"),r.space(),r("__returnType")),r.space(),r("__body")}),afterSatisfy:()=>[D$],after(e,{print:t}){t.linebreak()}};f$.ClassPrivateMethod=M$,f$.ClassMethod=M$;var B$={};const{isNewlineBetweenSiblings:F$}=Qj,{printParams:R$}=gU,{printKey:j$}=g$,{printKind:U$}=S$;B$.ObjectMethod={beforeIf:e=>e.node.async,before(e,{write:t}){t("async ")},print(e,t,n){const{print:r}=t;U$(e,t),j$(e,t),R$(e,t,n),r.space(),r("__body")},afterIf:e=>F$(e),after(e,{print:t}){t.linebreak()}};var q$={};const{exists:$$}=Qj,{printParams:J$}=gU,{maybeParens:V$}=Jq;q$.FunctionExpression=V$((e,t,n)=>{const{print:r,maybe:i,write:s,traverse:a}=t,{node:o}=e,{generator:u,async:c}=o;i.write(c,"async "),s("function"),i.write(u,"*");const l=e.get("id");$$(l)&&(s(" "),a(l)),J$(e,t,n),r.space(),r("__body")});const{ArrowFunctionExpression:K$}=Gj,{FunctionDeclaration:W$}=Yq,{ClassMethod:X$,ClassPrivateMethod:H$}=f$,{ObjectMethod:z$}=B$,{FunctionExpression:Y$}=q$;Yj.FunctionDeclaration=W$,Yj.FunctionExpression=Y$,Yj.ArrowFunctionExpression=K$,Yj.ClassMethod=X$,Yj.ClassPrivateMethod=H$,Yj.ObjectMethod=z$;var G$={};const{isLast:Q$,isNext:Z$}=Qj,{maybeParens:eJ}=Jq,tJ=eJ((e,t)=>{const{maybe:n,traverse:r}=t,{prefix:i,operator:s}=e.node,a=e.get("argument");n.print(i,s),n.print(/^(delete|typeof|void|throw)$/.test(s)," "),r(a),n.print(!i,s)});function nJ(e,{print:t}){t(`${e} `),t("__argument")}G$.UnaryExpression=tJ,G$.UpdateExpression=tJ,G$.AwaitExpression=eJ((e,{print:t})=>{nJ("await",{print:t})}),G$.YieldExpression=eJ((e,{print:t,maybe:n})=>{const{delegate:r}=e.node;t("yield"),n.print(r,"*"),t(" "),t("__argument")}),G$.ThrowStatement=(e,{print:t,indent:n,maybe:r})=>{n(),nJ("throw",{print:t}),t(";"),r.print.newline(!Q$(e)),r.print.breakline(Z$(e))};var rJ={};const{maybePrintComputed:iJ}=b$,{maybeParens:sJ}=Jq,{isLooksLikeChain:aJ}=GU;rJ.MemberExpression=(e,t)=>{const{print:n,maybe:r,traverse:i}=t,s=e.get("object"),a=e.get("property"),o=s.isAssignmentExpression(),{computed:u}=e.node,c=aJ(e);if(r.print(o,"("),i(s),r.print(o,")"),u)return iJ(e,a,t);r.indent.inc(c),r.print.breakline(c),n("."),n("__property"),r.indent.dec(c)},rJ.OptionalMemberExpression=sJ((e,{print:t,maybe:n})=>{const{computed:r,optional:i}=e.node;if(t("__object"),n.print(i,"?."),n.print(!i&&!r,"."),r)return t("["),t("__property"),void t("]");t("__property")});var oJ={},uJ={maybeDeclare:e=>(t,n,r)=>{const{maybe:i}=n,{declare:s}=t.node;i.print(s,"declare "),e(t,n,r)}};const{types:cJ}=st,{isNext:lJ}=Qj,{markAfter:pJ}=SU,{maybeDeclare:dJ}=uJ,{parseComments:hJ}=bU,{maybeDecorators:fJ}=m$,{isFunction:mJ,isTSModuleBlock:yJ}=cJ,gJ=e=>mJ(e.parentPath.parentPath),bJ=fJ((e,t,n)=>{const{id:r,abstract:i,superClass:s}=e.node,{print:a,indent:o,maybe:u,traverse:c}=t;u.print(i,"abstract "),a("class"),u.print(r||s," "),a("__id"),a("__typeParameters");const{node:l}=e;l.superClass&&(u.print(r," "),a("extends "),a("__superClass"),a("__superTypeArguments")),l.implements&&(a(" implements "),e.get("implements").forEach(a)),a.space(),a("{"),u.print.newline(e.node.body.body.length),o.inc();const p=e.get("body"),d=p.get("body");for(const e of d)o(),c(e);d.length||hJ(p,t,n),o.dec(),u.indent(d.length),a("}")});oJ.ClassExpression=bJ,oJ.ClassDeclaration={print:dJ((e,t,n)=>{const{maybe:r}=t;r.indent(!(({parentPath:e})=>e.isExportDeclaration())(e)),bJ(e,t,n)}),afterIf:e=>!!gJ(e)||(!!lJ(e)||(e=>yJ(e.parentPath.parentPath))(e)),after(e,{write:t}){t.newline(),!gJ(e)&&(({node:e})=>e.body.body.length)(e)&&(t.newline(),pJ(e))}};var xJ={};const{exists:SJ}=Qj,{maybeParens:TJ}=Jq,{isArray:EJ}=Array,PJ=TJ((e,{indent:t,print:n,maybe:r,traverse:i})=>{const s=(e=>{const t=e.get("arguments");return EJ(t)?t:[]})(e),a=function(e){for(const t of e)if(t.isIdentifier()&&t.node.name.length>10)return!0;return!1}(s)&&e.parentPath.isCallExpression(),o=e.get("callee"),u=e.get("typeArguments");i(o),SJ(u)&&i(u),e.node.optional&&n("?."),n("(");const c=s.length-1;r.indent.inc(a);for(const[e,t]of s.entries()){const r=t.isObjectExpression();a&&!r&&c&&n.breakline(),n(t),a&&c?n(","):e<c&&(n(","),n.space())}a&&(t.dec(),r.print.breakline(c)),n(")")});xJ.OptionalCallExpression=PJ,xJ.CallExpression=PJ;var vJ={};const{types:AJ}=st,{exists:wJ}=Qj,{isMarkedAfter:CJ}=SU,{isExpressionStatement:kJ,isMemberExpression:IJ}=AJ;function _J(e,t,n,r){const{maybe:i,print:s}=n,{roundBraces:a}=r,{length:o}=t.node.arguments;if(o||(({parentPath:e})=>IJ(e))(t))return s(e);i.print(a.new,e)}vJ.NewExpression={beforeIf(e){if(!(({parentPath:e})=>kJ(e))(e))return!1;const[t,n]=(({parentPath:e})=>{const t=e.getPrevSibling();return[t.node,t]})(e);return!!t&&(!CJ(n)&&(!n.isExpressionStatement()&&(({parentPath:e})=>wJ(e.getPrevSibling()))(e)))},before(e,{print:t}){t.breakline()},print(e,t,n){const{print:r,maybe:i}=t;r("new "),r("__callee"),r("__typeArguments");const s=e.get("arguments");!function(e,t,n){_J("(",e,t,n)}(e,t,n);const a=s.length-1;for(const[e,t]of s.entries())r(t),i.print(e<a,", ");!function(e,t,n){_J(")",e,t,n)}(e,t,n)}};var NJ={},LJ={};const{types:OJ}=st,{isArrayExpression:DJ}=OJ,MJ=["NullLiteral","NumericLiteral","BigIntLiteral"];LJ.isInsideTuple=e=>{const{parentPath:t}=e;if(!DJ(t))return!1;const[n,r]=t.node.elements;return r===e.node&&MJ.includes(n.type)};var BJ={};const{types:FJ}=st,{isArrayExpression:RJ,isCallExpression:jJ,isIdentifier:UJ}=FJ;BJ.isThirdObjectInsideArray=({parentPath:e})=>{if(!RJ(e))return!1;const[,t]=e.node.elements;return jJ(t)&&!!UJ(t)};const{types:qJ}=st,{isCoupleLines:$J,isForOf:JJ,isIf:VJ,noTrailingComment:KJ,isNewlineBetweenSiblings:WJ,noLeadingComment:XJ,hasLeadingComment:HJ,exists:zJ}=Qj,{parseComments:YJ}=bU,{isInsideTuple:GJ}=LJ,{isLooksLikeChain:QJ}=GU,{isThirdObjectInsideArray:ZJ}=BJ,{isStringLiteral:eV,isArrayExpression:tV}=qJ,nV=e=>e.get("argument").isLogicalExpression();NJ.ObjectExpression=(e,t,n)=>{const{trailingComma:r}=n,{print:i,maybe:s,indent:a}=t,o=GJ(e)||function({parentPath:e}){return!!tV(e)&&!!tV(e.parentPath)&&(({parentPath:e})=>e.isCallExpression())(e.parentPath)}(e)||ZJ(e);s.indent.inc(!o);const u=e.get("properties"),{length:c}=u,l=function(e){return!!(e=>e.parentPath.node.body===e.node)(e)||(e=>e.parentPath.isExpressionStatement())(e)}(e),p=!oV(e);s.print(l,"("),i("{"),YJ(e,t,n),s.print.newline(p);const d=u.length-1,h=(({parentPath:e})=>{if(!e.isCallExpression())return!1;const t=e.get("callee");return!!t.isMemberExpression()&&QJ(t)})(e);s.indent.inc(h);for(const[e,t]of u.entries()){if(t.isSpreadElement()){const n=nV(t);XJ(t)&&s.indent(c>1||n||p),i(t),KJ(t)&&(c>1||p)&&(s.print(e!==d||r,","),i.newline());continue}s.indent(p&&XJ(t)),i(t),t.isObjectMethod()||KJ(t)&&!rV(t)&&(s.print.newline(p),s.print.linebreak(WJ(t)))}o?(GJ(e)||function({parentPath:e}){const{elements:t}=e.parentPath.node,[n]=t;return eV(n)}(e))&&(a.dec(),a(),a.inc()):(a.dec(),s.indent(p)),i("}"),s.print(l,")"),s.indent.dec(h)};const rV=e=>{const t=e.getNextSibling();return!!zJ(t)&&HJ(t)},iV=e=>{const{parentPath:t}=e;return!!t.isCallExpression()&&(!$J(e)&&e!==t.get("arguments").at(-1))},sV=!0,aV=!1;function oV(e){const{length:t}=e.get("properties");return t?iV(e)||JJ(e)||VJ(e)?sV:$J(e)?aV:!(e=>e.get("properties.0.value").node)(e):sV}NJ.isOneLine=oV;var uV={},cV={};const{types:lV}=st,{isStringLiteral:pV,isTemplateLiteral:dV,isBinaryExpression:hV}=lV,fV=e=>!!pV(e)||dV(e);cV.isConcatenation=e=>{const{parentPath:t}=e,{operator:n}=e.node;if("+"!==n)return!1;const r=e.node.loc?.start.line,i=e.node.loc?.end.line;if(r===i)return!1;const s=e.get("left"),a=e.get("right");return!!(fV(s)&&fV(a)&&hV(t))||hV(s)&&fV(a)},cV.concatenate=(e,{print:t,indent:n})=>{e.parentPath.isBinaryExpression()||(n.inc(),t.breakline()),t("__left"),t.space(),t("+"),t.breakline(),t("__right"),e.parentPath.isBinaryExpression()||n.dec()};const{types:mV}=st,{isConcatenation:yV}=cV,{isOneLine:gV}=NJ,{printKey:bV}=g$,{isTSImportType:xV}=mV;uV.ObjectProperty=(e,t,n)=>{const{trailingComma:r}=n,{shorthand:i}=e.node,{maybe:s,traverse:a,write:o}=t,u=e.get("value"),c=e.parentPath.get("properties"),l=e===c.at(-1),p=!gV(e.parentPath);bV(e,t),i||(o(":"),s.write.space(!yV(u)),a(u)),p&&!(({parentPath:e})=>xV(e.parentPath))(e)?s.write(!l||r,","):!l&&c.length&&o(", ")};var SV={},TV={wrongShorthand:({computed:e,isAssign:t,keyPath:n,valuePath:r})=>!e&&!t&&n.node.name!==r.node.name},EV={moreThenMaxPropertiesInOneLine:(e,{maxPropertiesInOneLine:t})=>{const{parentPath:n}=e;if(n.isObjectProperty())return!1;return t>=e.node.properties.length}},PV={};const{types:vV}=st,{isMemberExpression:AV,isSequenceExpression:wV}=vV;function CV(e,t){const{parentPath:n,node:r}=e,{typeAnnotation:i}=r,{write:s,traverse:a}=t;wV(n)||AV(n)||i&&(s(":"),s.space(),a(e.get("typeAnnotation")))}PV.maybePrintTypeAnnotation=CV,PV.maybeTypeAnnotation=e=>(t,n,r)=>{e(t,n,r),CV(t,n)};var kV={};const{types:IV}=st,{isAssignmentPattern:_V,isIdentifier:NV}=IV;function LV(e,t){return NV(e)&&NV(t)?e.name.length+t.name.length:NV(e)?e.name.length:0}kV.moreThenMaxPropertiesLengthInOneLine=(e,{maxPropertiesLengthInOneLine:t})=>{const{properties:n}=e.node;for(const{key:e,value:r}of n){if(_V(r)){const{left:e,right:n}=r;if(LV(e,n)>=t)return!0}if(!NV(e))continue;const{name:n}=e;if(n.length>=t)return!0}return!1};var OV={};const{types:DV}=st,{isAssignmentPattern:MV,isArrayExpression:BV,isObjectExpression:FV}=DV;function RV(e,t){if(!MV(e.node.value))return!1;const{maxPropertiesLengthInOneLine:n}=t;return e.node.key.name.length>n}OV.calculateAssigns=(e,t)=>{const n=RV(e,t),{right:r}=e.node.value,i=BV(r)||!!FV(s=r)&&s.properties.length;var s;return{complexAssign:n&&i}},OV.isLongAssignPattern=RV;const{types:jV}=st,{wrongShorthand:UV}=TV,{isForOf:qV,isCoupleLines:$V,exists:JV}=Qj,{moreThenMaxPropertiesInOneLine:VV}=EV,{maybeTypeAnnotation:KV}=PV,{moreThenMaxPropertiesLengthInOneLine:WV}=kV,{printKey:XV}=g$,{calculateAssigns:HV,isLongAssignPattern:zV}=OV,{isObjectExpression:YV,isIdentifier:GV,isAssignmentPattern:QV,isVariableDeclarator:ZV,isFunction:eK,isObjectPattern:tK,isForOfStatement:nK,isVariableDeclaration:rK}=jV;const iK=({path:e,valuePath:t,property:n})=>{if(!$V(t))return!1;if(JV(n.getPrevSibling()))return!1;const r=e.get("properties");return!(e.parentPath.isVariableDeclarator()&&!cK(r))&&!e.parentPath.isObjectProperty()};function sK({parentPath:e}){return nK(e.parentPath.parentPath)}function aK(e){const t=e.getPrevSibling();return QV(t.node.value)}function oK(e){const t=e.getPrevSibling();if(!QV(t.node.value))return!1;const{right:n}=t.node.value;return YV(n)}function uK(e){const t=e.getNextSibling();if(!t.node)return!1;if(!QV(t.node.value))return!1;const{right:n}=t.node.value;return YV(n)}function cK(e){for(const t of e){const{value:e}=t.node;if(QV(e))return!0}return!1}function lK(e){for(const t of e)if(tK(t.node.value))return!0;return!1}SV.ObjectPattern={print:KV((e,t,n)=>{const r=function(e){return!e.parentPath.isArrayPattern()}(e),{maxPropertiesInOneLine:i,maxPropertiesLengthInOneLine:s}=n,{print:a,maybe:o,indent:u}=t;o.indent.inc(r),a("{");const c=e.get("properties"),l=c.length-1,p=function(e,t){const{parentPath:n}=e,r=e.get("properties"),i=r.length-1,{maxPropertiesInOneLine:s,maxPropertiesLengthInOneLine:a}=t,o=WV(e,{maxPropertiesLengthInOneLine:a}),u=VV(e,{maxPropertiesInOneLine:s}),c=function({parentPath:e}){return!!e.isFunction()||!!e.isAssignmentPattern()&&e.parentPath.isFunction()}(e);return lK(r)?dK:u&&!o&&ZV(e.parentPath)?pK:!c&&i&&!qV(e)&&function(e){for(const t of e){const{value:e}=t.node;if(GV(e)&&e.name.length>4)return!0}return!1}(r)||!c&&cK(r)?dK:n.isObjectProperty()}(e,{maxPropertiesInOneLine:i,maxPropertiesLengthInOneLine:s}),d=l&&lK(c),h=!(e=>!!eK(e.parentPath)||eK(e.parentPath.parentPath))(e);o.print.newline(p&&h);for(const[r,i]of c.entries()){if(i.isRestElement()){const e=p||d;o.indent(e),a(i),o.print.newline(e);continue}const s=r&&oK(i),u=uK(i),c=i.get("value"),f=i.get("key"),m=c.isAssignmentPattern(),{shorthand:y,computed:g}=i.node,b=iK({path:e,property:i,valuePath:c});if(o.indent((s||p)&&h),o.print.breakline(b&&!zV(i,n)),!m&&u&&a.breakline(),XV(i,t),!y||UV({computed:g,isAssign:m,keyPath:f,valuePath:c}))a(":"),a.space(),a(c);else if(m){a(c),o.print(b,","),o.print.newline(b);const{right:t}=c.node;if(r&&!aK(i)&&!sK(e)&&YV(t)){a(","),a.newline();continue}}if(!m&&u&&h){a(","),a.breakline();continue}const{complexAssign:x}=HV(i,n);x||!(p||d||s&&h)?!(r<l)||m&&b||(a(","),a.space()):(a(","),a.newline())}u.dec(),o.indent(p||function(e,t){const{parentPath:n}=e;if(rK(n.parentPath)){const{declarations:e}=n.parentPath.node;if(e.length>1)return!1}const r=e.get("properties"),i=r.length;for(const e of r){const{value:n}=e.node;if(QV(n)&&YV(n.right))return i>1||t<=n.left}return!1}(e,s)),o.indent.inc(!r),a("}")})};const pK=!1,dK=!0;var hK={};const{exists:fK}=Qj,{maybePrintTypeAnnotation:mK}=PV,{maybeDecorators:yK}=m$,{printKey:gK}=g$,{printKind:bK}=S$,xK=yK((e,t,n,{accessor:r}={})=>{const{node:i}=e,{accessibility:s,declare:a,optional:o}=i,{print:u,maybe:c}=t;c.print(r,"accessor ");const l=e.get("value");c.print(a,"declare "),c.print(s,`${s} `),c.print(i.static,"static "),c.print(i.readonly,"readonly "),bK(e,t),gK(e,t),c.print(o,"?"),mK(e,t),fK(l)&&(u.space(),u("="),u.space(),u("__value")),u(";"),u.newline()});hK.ClassProperty=xK,hK.ClassPrivateProperty=xK,hK.PrivateName=(e,{print:t})=>{t("#"),t("__id")},hK.ClassAccessorProperty=(e,t,n)=>{xK(e,t,n,{accessor:!0})};var SK={exports:{}},TK={};const{hasLeadingComment:EK}=Qj,{isParens:PK}=Jq;TK.condition=(e,t,n)=>{const{parentPath:r}=e,{type:i}=r,{roundBraces:s}=n;return"ObjectPattern"===e.node.left.type||("LogicalExpression"===i||("BinaryExpression"===i||("UnaryExpression"===i||!(!s.assign&&!EK(e))&&PK(e))))};var vK={};const{types:AK}=st,{hasLeadingComment:wK}=Qj,{isReturnStatement:CK}=AK;vK.printLeadingCommentLine=(e,t,n,{printComment:r,isLast:i})=>{const{parentPath:s}=e,{print:a,maybe:o}=t;CK(s)||(o.print.breakline(!i),r(),a.breakline())},vK.printLeadingCommentBlock=(e,t,n,{printComment:r})=>{const{parentPath:i}=e,{print:s}=t;CK(i)||(r(),s.indent())},vK.maybeInsideReturnWithCommentStart=(e,{print:t,indent:n})=>{const{parentPath:r}=e;if(CK(r)&&wK(e)){n.inc();const{leadingComments:r}=e.node;t.breakline();for(const{type:e,value:n}of r)t("CommentLine"===e?`//${n}`:`/*${n}*/`),t.breakline()}},vK.maybeInsideReturnWithCommentEnd=(e,{print:t,indent:n})=>{const{parentPath:r}=e;CK(r)&&wK(e)&&(n.dec(),t.breakline())};var kK={};const{types:IK}=st,{isAssignmentExpression:_K,isExpressionStatement:NK}=IK;kK.printSeparator=(e,{print:t})=>{!function(e){const{right:t}=e.node;return!!e.parentPath.find(NK)&&_K(t)}(e)?t.space():t.breakline()},function(e){const{condition:t}=TK,{printLeadingCommentLine:n,maybeInsideReturnWithCommentEnd:r,maybeInsideReturnWithCommentStart:i,printLeadingCommentBlock:s}=vK,{maybeParens:a}=Jq,{printSeparator:o}=kK;e.exports.AssignmentExpression=a({checkParens:!1,condition:t,print(e,t){const{print:n}=t,{operator:s}=e.node;i(e,t),n("__left"),n.space(),n(s),o(e,t),n("__right"),(({parentPath:e})=>/BlockStatement|Program/.test(e.type))(e)&&(n(";"),n.breakline()),r(e,t)}}),e.exports.AssignmentExpression.printLeadingCommentLine=n,e.exports.AssignmentExpression.printLeadingCommentBlock=s}(SK);var LK=SK.exports;LK.default;var OK={},DK={},MK={},BK={};const{types:FK}=st,{isIdentifier:RK,isMemberExpression:jK}=FK;function UK(e,t){const n=qK(t);return e.scope.getAllBindings()[n]}BK.getBinding=UK,BK.getBindingPath=(e,t)=>UK(e,t)?.path;const qK=e=>"string"==typeof e?e:RK(e)?e.name:jK(e)?qK(e.object):"";var $K={};const{types:JK}=st,{isOptionalMemberExpression:VK,isMemberExpression:KK,isIdentifier:WK,isLiteral:XK}=JK;$K.isSimple=e=>!!XK(e)||(!!WK(e)||(!!KK(e)||VK(e)));var HK={};const{types:zK}=st,{isArrayExpression:YK,isLiteral:GK,isIdentifier:QK,isMemberExpression:ZK,isTemplateElement:eW,isRegExpLiteral:tW,isClassMethod:nW,isTemplateLiteral:rW,isJSXText:iW,isJSXAttribute:sW,isJSXIdentifier:aW,isTSTypeReference:oW,isTSTypeParameter:uW}=zK;function cW(e){if(e=e.node||e,QK(e))return e.name;if(aW(e))return e.name;if(tW(e))return e.pattern;if(rW(e))return cW(e.quasis[0]);if(GK(e))return e.value;if(eW(e))return e.value.raw;if(ZK(e))return`${cW(e.object)}.${cW(e.property)}`;if(YK(e))return lW(e);if(iW(e))return e.value;if(sW(e))return e.name.name;if(nW(e))return cW(e.key);if(oW(e))return cW(e.typeName);if(uW(e))return cW(e.name);const t=["Literals","Identifiers","TemplateLiteral","TemplateElement","RegExpLiteral","ArrayExpression","MemberExpression","JSXIdentifier","JSXAttribute","JSXText","TSTypeParameter"].join(", ");throw Error(`'operator.extract(node)' understands only ${t} and TSTypeReference🤷, found: ${e.type}`)}function lW(e,t=[]){for(const n of e.elements)YK(n)?lW(n,t):t.push(cW(n));return t.join(",")}HK.extract=cW;var pW={};const{getBindingPath:dW}=BK,{extract:hW}=HK,fW=!1,mW=!0;function yW(e){const{node:t}=e;if(!e.evaluate)throw Error("☝️ Looks like argument of 'compute' is not 'path'");const{confident:n,value:r}=e.evaluate();if(n)return[mW,r];if(e.isBinaryExpression())return function(e){const{operator:t}=e.node,n=e.get("left"),r=e.get("right"),[i,s]=yW(n);if(!i)return[fW];const[a,o]=yW(r);if(!a)return[fW];const u=`return a ${t} b`,c=bW[t]||bW.init(t,Function("a","op","b",u));return[mW,c(s,t,o)]}(e);if(gW(e))return[mW,hW(t)];const i=function(e){const{node:t}=e;return e.isIdentifier()?dW(e,hW(t)):function(e){const t=e.get("object");return!!e.isMemberExpression()&&(!e.node.computed&&t.isIdentifier())}(e)?dW(e,hW(t.object)):null}(e);if(!i)return[fW];const s=i.get("init");return s.isObjectExpression()&&e.isMemberExpression()?function(e,t){const n=hW(e.node.property);for(const e of t.get("properties")){const t=e.get("key");if(!gW(t))return[fW];if(hW(t)!==n)continue;const[r,i]=yW(e.get("value"));if(!r)break;return[mW,i]}return[fW]}(e,s):[fW]}function gW(e){const{parentPath:t}=e;return!(!e.isIdentifier()&&!e.isLiteral())&&(!!t.isObjectProperty({computed:!1})&&!function(e){const t=function(e){const{referencesSet:t}=e.scope;if(!t)return{};const n=t.entries();return Object.fromEntries(n)}(e),[n]=Object.keys(t),r=e.scope.bindings[n];if(!r)return!1;const{referencePaths:i}=r;for(const e of i)if(e.parentPath.parentPath?.isAssignmentExpression())return!0;return!1}(e))}pW.compute=yW;const bW={init:(e,t)=>bW[e]=t};var xW={};const{entries:SW}=Object;xW.remove=e=>{if(!e.node)return;const{scope:t}=e,n=EW(e),r=PW(e);if(t&&!r.node){const r=t.getProgramParent().block;t.block!==r||n.node||(r.comments=TW(e))}if(!e.parentPath.isArrayPattern())return void e.remove();const i=e.parentPath.get("elements"),s=i.length-1;for(const[t,n]of SW(i))if(n===e){if(!Number(t)&&s){e.parentPath.node.elements[t]=null;break}e.remove();break}};const TW=e=>{const{leadingComments:t}=e.node;if(t?.length)return t;const{parentPath:n}=e;return e.isVariableDeclarator()&&(({node:e})=>1===e.declarations.length)(n)?n.node.leadingComments:[]},EW=e=>e.isVariableDeclarator()?e.parentPath.getPrevSibling():e.getPrevSibling(),PW=e=>e.isVariableDeclarator()?e.parentPath.getNextSibling():e.getNextSibling();var vW={getExportDefault:e=>{const t=e.scope.getProgramParent().path;for(const e of t.get("body"))if(e.isExportDefaultDeclaration())return e;return null}},AW={},wW={renameProperty:(e,t,n)=>{e.traverse({ObjectProperty(e){const{node:r}=e,{key:i,value:s}=r;i.name===s.name&&i.name===t&&(i.name=n,s.name=n,r.shorthand=!0,e.stop())}})}};const{renameProperty:CW}=wW;AW.rename=(e,t,n)=>{const r=e.scope.getAllBindings()[t];if(!r)return;const i=r.path;CW(i,t,n),i.scope.rename(t,n)};var kW={setLiteralValue:(e,t)=>{const n=e.node||e,{raw:r,extra:i,value:s}=n;n.value=s.replace(s,t),'""'!==r?!r&&s?i&&(n.raw=i.raw.replace(s,t),n.extra.rawValue=s):n.raw="'"+String.raw`${t}`+"'":n.raw=r.replace(r,`"${t}"`)}},IW={};function _W(e){if(!e.isVariableDeclaration())return!1;const t=e.get("declarations.0.init");if(!t.isCallExpression())return!1;return t.get("callee").isIdentifier({name:"require"})}IW.getPathAfterRequires=e=>{let t;for(t of e)if(!_W(t))break;return t};var NW={},LW={};const{traverse:OW,types:DW}=st,{extract:MW}=HK,{isCallExpression:BW,isObjectExpression:FW}=DW,RW=e=>e.node||e;LW.traverseProperties=(e,t,{firstLevel:n=!1}={})=>{const r=[],i=function(e){return FW(e)?BW(e.parentPath)?e.parentPath.node:{type:"ExpressionStatement",expression:RW(e)}:RW(e)}(e),s=jW({name:t,collector:r});return n?(s(e),r):(OW(i,{noScope:!0,ObjectExpression:s}),r)};const jW=({name:e,collector:t})=>n=>{for(const r of n.get("properties")){if(r.isSpreadElement())continue;if(r.isRestElement())continue;const n=r.get("key");if(n.isConditionalExpression())continue;const i=MW(n);e===i&&t.push(r)}},{isObjectExpression:UW,isObjectPattern:qW}=st.types,{extract:$W}=HK,{traverseProperties:JW}=LW;NW.traverseProperties=JW,NW.getProperties=(e,t)=>{const n={};for(const r of e.get("properties")){if(r.isSpreadElement())continue;const e=r.get("key"),i=$W(e);if(t.includes(i)){n[`${i}Path`]=r;continue}}return n},NW.getProperty=(e,t)=>{if(!UW(e)&&!qW(e))throw Error(`☝️Looks like path is not 'ObjectExpression | ObjectPattern', but: '${e.type}' for path: ${e}`);const n=e.get("properties");for(const e of n){const n=e.get("key");if($W(n)===t)return e}return null};var VW={};const KW=e=>"string"==typeof e;VW.getLiteralRaw=e=>{const{raw:t,extra:n,value:r}=e.node||e;return KW(t)?t:n&&KW(n.raw)?n.raw:`'${i=r,i.includes("\\'")?i:i.replaceAll("'","\\'")}'`;var i};var WW={},XW={},HW={};const{types:zW}=st,{isStatement:YW,isBlockStatement:GW,blockStatement:QW,expressionStatement:ZW}=zW;HW.maybeBody=(e,t)=>{const{parentPath:n}=e;return t&&!YW(t)||GW(t)||!n?.isArrowFunctionExpression?.()?{currentPath:e}:(n.node.body=QW([ZW(e.node)]),{currentPath:n.get("body.body.0")})};var eX={};const{types:tX}=st,{isExpression:nX,toStatement:rX,expressionStatement:iX}=tX;eX.toExpression=e=>{const{type:t}=e;return["ObjectProperty"].includes(t)?e:nX(e)?iX(e):rX(e)};const{maybeBody:sX}=HW,{toExpression:aX}=eX,{isSequenceExpression:oX}=st.types;XW.replaceWithMultiple=(e,t)=>{const{node:n}=e,{trailingComments:r,comments:i,leadingComments:s}=n;delete e.node.trailingComments;const a=e.parentPath.node.comments,o=t.filter(Boolean).map(aX);!function(e){for(const t of e)for(const n of e)t!==n&&t.leadingComments===n.leadingComments&&delete n.leadingComments}(o);const{currentPath:u}=sX(e),c=u.replaceWithMultiple(o);return c.length?(s||oX(e)||delete c[0].node.leadingComments,c[0].node.comments=i||a,c.at(-1).node.trailingComments=r,c):c};var uX={};const{maybeBody:cX}=HW,{assign:lX}=Object;uX.replaceWith=(e,t)=>{t=(e=>{var t;return(e=(t=e).__putout_replaced_with?t.__putout_replaced_with:t).node?e.node:e})(t),e?.parentPath?.isExpressionStatement()&&!e.parentPath.isProgram()&&(!function(e,t){e.__putout_replaced_with=t}(e,t),e=e.parentPath);const{comments:n,loc:r}=e.node,{currentPath:i}=cX(e,t);return i.replaceWith(t),lX(i.node,{comments:n,loc:r}),i};const{replaceWithMultiple:pX}=XW,{replaceWith:dX}=uX,{toExpression:hX}=eX;WW.replaceWith=dX,WW.replaceWithMultiple=pX,WW.toExpression=hX;const{types:fX}=st,{getBinding:mX,getBindingPath:yX}=BK,{isSimple:gX}=$K,{extract:bX}=HK,{compute:xX}=pW,{remove:SX}=xW,{getExportDefault:TX}=vW,{rename:EX}=AW,{renameProperty:PX}=wW,{setLiteralValue:vX}=kW,{getPathAfterRequires:AX}=IW,{getProperty:wX,getProperties:CX,traverseProperties:kX}=NW,{getLiteralRaw:IX}=VW,{replaceWith:_X,replaceWithMultiple:NX,toExpression:LX}=WW,{matchesPattern:OX,isImportDeclaration:DX,isExportDeclaration:MX,isStatement:BX,expressionStatement:FX}=fX;MK.getBinding=mX,MK.getBindingPath=yX,MK.getLiteralRaw=IX,MK.extract=bX,MK.compute=xX,MK.replaceWith=_X,MK.getExportDefault=TX,MK.toExpression=LX,MK.isSimple=gX,MK.rename=EX,MK.renameProperty=PX,MK.setLiteralValue=vX,MK.getProperty=wX,MK.getProperties=CX,MK.traverseProperties=kX,MK.replaceWithMultiple=NX,MK.insertBefore=(e,t)=>{e.insertBefore(t)},MK.insertAfter=(e,t)=>{const{comments:n}=e.node;e.node.trailingComments?.length&&e.getNextSibling()?.node?.leadingComments&&delete e.node.trailingComments,t.trailingComments&&delete t.trailingComments,BX(e)&&!BX(t)?e.insertAfter(FX(t)):e.insertAfter(t),e.node.comments=n},MK.isModuleExports=e=>OX(e.node||e,"module.exports");MK.findBinding=(e,t)=>{const n=e.findParent((e=>t=>t.scope.bindings[e])(t));return n?n.scope.bindings[t]:null},MK.remove=SX,MK.getPathAfterRequires=AX,MK.getPathAfterImports=e=>{const t=e.length;let n=0;for(;n<t-1&&DX(e[n]);)++n;return e[n]},MK.isESM=e=>{const t=e.scope.getProgramParent().path;for(const e of t.node.body){if(DX(e))return!0;if(MX(e))return!0}return!1};const{isSimple:RX}=MK,{types:jX}=st,{isStringAndMember:UX,isStringAndIdentifier:qX,isIdentifierAndString:$X,isCoupleLines:JX,isStringAndArray:VX,isIdentifierAndIdentifier:KX,isSimpleAndNotEmptyObject:WX}=Qj,{isObjectExpression:XX,isArrayExpression:HX,isObjectProperty:zX,isCallExpression:YX,isAwaitExpression:GX,isBooleanLiteral:QX,isNullLiteral:ZX,isStringLiteral:eH,isSpreadElement:tH,isIdentifier:nH}=jX,{round:rH}=Math,iH=!1,sH=!0;DK.isMultiLine=(e,{elements:t,maxElementsInOneLine:n,maxElementLengthInOneLine:r})=>{const[i]=t;return function(e,t){if(e.length>1)return!1;const[n]=e;return!!nH(n)&&n.node.name.length<t}(t,r)?iH:t.length>n&&eH(i)||t.length>3&&!XX(i)||WX(t)?sH:function(e){const t=e.get("elements");if(1!==t.length)return!1;const[n]=t;return!!(n.isIdentifier()&&n.node.name.length<15)||!(n.isStringLiteral()&&n.node.value.length>10)&&(!(n.isIdentifier()||!RX(n))||!n.isCallExpression()&&n.isMemberExpression())}(e)||(e=>{if(e.length>1)return!1;const[t]=e;return tH(t)})(t)||2===t.length&&KX(t)||function(e){const{parentPath:t}=e;return!!t.isCallExpression()&&(!!t.parentPath.isFunction()&&e.node.elements.length<4)}(e)||dH(e)||function(e){return e.parentPath.isForOfStatement()}(e)||(([e,t])=>QX(e)&&RX(t))(t)||(([e,t])=>ZX(e)&&RX(t))(t)||(([e,t])=>{if(RX(e))return YX(t)||GX(t)})(t)||uH(e,n)||function(e){const[t,n]=e;if(e.length>2)return!1;if(!t?.isStringLiteral()||!n?.isStringLiteral())return!1;const r=t.node.value.length,i=n.node.value.length;return rH(i/r)>2}(t)||cH(e)||VX(t)&&t.length<3||UX(t)||qX(t)||$X(t)||(([e,t])=>RX(e)&&XX(t))(t)||oH(t)&&e.parentPath.isArrayExpression()&&HX(e.parentPath.node.elements[0])||(e=>!!e.getNextSibling().isArrayExpression()||e.getPrevSibling().isArrayExpression())(e)?iH:function(e){const t=e.get("elements");if(t.length<2)return!1;for(const t of e.get("elements"))if(t.isStringLiteral()&&t.node.value.length>4)return!0;return!1}(e)||JX(e)||!function(e){for(const t of e)if(t.isNumericLiteral())return!0;return!1}(t)&&!aH(e)&&lH(e)&&!pH(e)?sH:iH};const aH=({parentPath:e})=>e.isForOfStatement(),oH=([e,t])=>eH(e)&&eH(t),uH=(e,t)=>{const{node:n,parentPath:r}=e,{elements:i}=n,{length:s}=i,[a,o]=i;return!!r.isCallExpression()&&(!(!eH(a)||!eH(o))&&s<t)},cH=e=>{const{node:t,parentPath:n}=e,{elements:r}=t,{length:i}=r,[s,a]=r;return!(i>2)&&(!!n.isObjectProperty()&&(!(!eH(s)||!eH(a))&&!JX(e)))};const lH=({parentPath:e})=>!e.isCallExpression(),pH=e=>e.find(zX);function dH(e){const t=e.get("elements");return!!t.length&&(!!(([e,t])=>QX(e)&&XX(t))(t)||!function(e){return!!e.parentPath.isCallExpression()&&e.parentPath.parentPath.isForOfStatement()}(e)&&(!!t[0].isObjectExpression()||!tH(t[1])&&hH(t)))}DK.isIncreaseIndent=dH;const hH=e=>{const t=e.at(0),n=e.at(-1);return eH(t)&&XX(n)};DK.isCurrentNewLine=e=>!!e.isSpreadElement()||!e.isObjectExpression();var fH={};const{types:mH}=st,{isIndented:yH}=Qj,{isStringLiteral:gH,isArrayExpression:bH}=mH,xH=e=>e.parentPath.isArrayExpression();function SH(e){if(!e.isArrayExpression()||!e.parentPath.isArrayExpression())return!1;const t=e.parentPath.node.elements,n=t.filter(bH).length,r=!bH(t.at(-1));if(n&&r)return!1;const{length:i}=t;return i<=3&&1!==i}fH.isInsideArray=xH,fH.isArrayIndented=e=>{const t=e.get("elements");if(SH(e))return!1;const[n]=t;return!TH(t)||!xH(e)&&yH(n)},fH.isArrayInsideArray=SH;const TH=([e,t])=>!(!gH(e)||!gH(t))&&e.node.value.length>20;var EH={};const{isNextObject:PH,isPrevObject:vH}=Qj,AH=["ArrayExpression","ObjectExpression","SpreadElement","CallExpression","Identifier","NewExpression"];EH.isObjectAfterSimple=e=>{const{type:t}=e;return!(!PH(e)||vH(e))&&AH.includes(t)},EH.isNextSimple=e=>{const{type:t}=e.getNextSibling();return AH.includes(t)};const{types:wH}=st,{isCoupleLines:CH,isStringAndIdentifier:kH,isIdentifierAndIdentifier:IH,isStringAndArray:_H,isSimpleAndNotEmptyObject:NH,isNextObject:LH}=Qj,{isIncreaseIndent:OH,isCurrentNewLine:DH,isMultiLine:MH}=DK,{isInsideArray:BH,isArrayInsideArray:FH,isArrayIndented:RH}=fH,{isObjectAfterSimple:jH,isNextSimple:UH}=EH,{isObjectExpression:qH,isSpreadElement:$H,isStringLiteral:JH,isIdentifier:VH,isFunction:KH,isCallExpression:WH,isObjectProperty:XH}=wH,HH=e=>(e=>JH(e.getNextSibling()))(e)||(e=>JH(e.getPrevSibling()))(e),zH=e=>{if(!e.isObjectExpression())return!1;const t=e.getPrevSibling();if(!t.isSpreadElement())return!1;const n=t.get("argument");if(n.isCallExpression()){const[e]=n.get("arguments");if(KH(e))return!1}return!t.getPrevSibling().isObjectExpression()&&t.get("argument").isCallExpression()},YH=e=>{const t=e.getNextSibling();return!(t.isSpreadElement()||t.isIdentifier()||t.isCallExpression())||t.getNextSibling().isObjectExpression()},GH=({parentPath:e})=>1===e.node.elements.length;function QH(e){if(!$H(e)&&!VH(e)&&!WH(e))return;const t=e.getPrevSibling();return!e.getNextSibling().isObjectExpression()&&t.isObjectExpression()}OK.ArrayExpression={beforeIf(e){const{parentPath:t}=e,{elements:n}=e.node;return!!t.isArrayExpression()&&(!CH(t)&&(!(!kH(n)||!GH(e))||IH(n)))},before(e,{print:t}){t.breakline()},print(e,{print:t,maybe:n},r){const{maxElementsInOneLine:i,trailingComma:s,maxElementLengthInOneLine:a}=r,o=e.get("elements"),u=!OH(e);t("[");const c=RH(e);n.indent.inc(c&&u);const l=MH(e,{elements:o,maxElementsInOneLine:i,maxElementLengthInOneLine:a}),p=o.length-1;n.print.newline(l&&o.length);for(const[r,i]of o.entries()){const a=l&&DH(i);QH(i)&&t.newline(),n.indent(a),t(i),(r<p||s)&&n.print(a,","),qH(i)&&XH(e.parentPath)||n.print.newline((a||zH(i))&&!LH(i)&&!qH(i)),n.print.space(a&&jH(i)),!a&&r<p&&(t(","),!YH(i)&&i.isObjectExpression()&&UH(i)||t.space())}n.indent.dec(c&&u);const d=e.parentPath.get("elements");if(BH(e)&&_H(d)){const t=2===d.length,r=!HH(e)||t;n.indent.dec(r),n.indent(o.length&&l),n.indent.inc(r)}else FH(e)||qH(o.at(-1))||n.indent(o.length&&l);!NH(o)||$H(o.at(-1))||WH(o.at(-1))||(t(","),t.breakline()),t("]")},afterIf(e){const{parentPath:t}=e,{elements:n}=e.node;return!!t.isArrayExpression()&&(!CH(t)&&(!(!kH(n)||!GH(e))||IH(n)))},after(e,{print:t,indent:n}){n.dec(),t.breakline(),n.inc()}};var ZH={};const{maybeTypeAnnotation:ez}=PV;ZH.ArrayPattern=ez((e,{indent:t,maybe:n,print:r},i)=>{const{maxElementsInOneLine:s}=i;r("[");const a=e.get("elements");t.inc();const o=!(({parentPath:e})=>e.parentPath.parentPath?.isForOfStatement())(e)&&a.length>s,u=a.length-1;n.print(o&&a.length,"\n");for(const[e,t]of a.entries())n.indent(o),r(t),o?r(",\n"):e<u&&(r(","),r.space());t.dec(),n.indent(a.length&&o),r("]")});var tz={};tz.AssignmentPattern={print(e,{print:t,maybe:n}){n.print(function(e){const{parentPath:t}=e;return!(!t.isObjectProperty()||t.node.shorthand)||(!!(e=>e.parentPath.isFunction())(e)||(!!t.isTSParameterProperty()||t.isArrayPattern()))}(e),"__left"),t.space(),t("="),t.space(),t("__right")}};var nz={};const{maybeTypeAnnotation:rz}=PV;nz.RestElement=rz((e,{print:t})=>{t("..."),t("__argument")});var iz={};const{hasTrailingComment:sz}=Qj;iz.SpreadElement=(e,t)=>{const{print:n}=t;n("..."),n("__argument"),sz(e)&&n(",")};var az={exports:{}},oz={condition:(e,t,n)=>{const{parentPath:r}=e,{type:i}=r,{roundBraces:s}=n;return"ArrowFunctionExpression"===i||("ConditionalExpression"===i&&e!==r.get("test")||("LogicalExpression"===i||s.sequence))}},uz={};const{hasLeadingComment:cz}=Qj,lz=()=>{};uz.printLeadingCommentLine=lz,uz.printLeadingCommentBlock=lz,uz.maybePrintComments=(e,{print:t})=>{if(cz(e)){const{leadingComments:n}=e.node;for(const{type:e,value:r}of n)t("CommentLine"===e?`//${r}`:`/*${r}*/`),t.breakline()}},function(e){const{hasLeadingComment:t}=Qj,{maybeParens:n}=Jq,{condition:r}=oz,{maybePrintComments:i,printLeadingCommentLine:s,printLeadingCommentBlock:a}=uz;e.exports.SequenceExpression=n({checkParens:!1,condition:r,print(e,n){const{write:r,traverse:s,indent:a,maybe:o}=n,u=e.get("expressions"),c=u.length-1,l=t(e);l&&(a.inc(),r.breakline(),i(e,n));for(const[e,t]of u.entries())s(t),e<c&&(r(","),o.write.space(!l),o.print.breakline(l));l&&(a.dec(),r.breakline())}}),e.exports.SequenceExpression.printLeadingCommentLine=s,e.exports.SequenceExpression.printLeadingCommentBlock=a}(az);var pz=az.exports;pz.default;var dz={TaggedTemplateExpression:(e,{print:t})=>{t("__tag"),t("__quasi")}},hz={},fz={maybeSpace:(e,{print:t})=>{const{right:n}=e.node;return"UnaryExpression"===n.type&&"+"===n.operator?t(" "):t.space()}};const{concatenate:mz,isConcatenation:yz}=cV,{maybeSpace:gz}=fz,{maybeParens:bz}=Jq;hz.BinaryExpression=bz((e,{print:t,indent:n,maybe:r})=>{const{operator:i}=e.node;return"in"===i||"instanceof"===i?(t("__left"),t(" "),t(i),t(" "),void t("__right")):yz(e)?mz(e,{print:t,indent:n,maybe:r}):(t("__left"),t.space(),t(e.node.operator),gz(e,{print:t}),void t("__right"))});var xz={},Sz={};const{types:Tz}=st,{isLogicalExpression:Ez,isReturnStatement:Pz,isVariableDeclarator:vz}=Tz;function Az(e){let t=0;do{++t;const n=e.get("right");Ez(n)&&(t+=Az(n)[0]),e=e.get("left");const{operator:r}=e.node;if("||"!==r&&"&&"!==r)break}while(e.isLogicalExpression());return[t]}Sz.isRootOk=e=>Pz(e)||vz(e),Sz.chain=e=>{const[t]=Az(e),[n,r]=function(e){let t=0;do{++t,e=e.parentPath}while(e.isLogicalExpression());return[t,{type:e.type}]}(e);return[r,t+n,t,n]};const{maybeParens:wz}=Jq,{chain:Cz,isRootOk:kz}=Sz;xz.LogicalExpression=wz({condition:e=>!!e.parentPath.isUnaryExpression()||e.parentPath.isAwaitExpression(),print(e,{print:t,maybe:n},r){t("__left");const i=function(e,t){const[n,r]=Cz(e);if(!kz(n))return!1;if(r<=t.maxLogicalsInOneLine)return!1;const{operator:i}=e.node;return"||"===i||"&&"===i}(e,r);n.indent.inc(i),i?t.breakline():t.space(),n.indent.dec(i),t(e.node.operator),t.space(),t("__right")}});var Iz={};const{maybeParens:_z}=Jq;Iz.ConditionalExpression=_z((e,{print:t})=>{t("__test"),t.space(),t("?"),t.space(),t("__consequent"),t.space(),t(":"),t.space(),t("__alternate")});var Nz={StaticBlock:(e,{print:t,traverse:n})=>{t("static "),t("{"),t.breakline();for(const t of e.get("body"))n(t);t.indent(),t("}"),t.newline()}},Lz={};function Oz(e,t,n,{source:r="source"}={}){const{print:i,maybe:s}=t,{options:a}=e.node;i("import("),i(`__${r}`),s.print(a,","),s.print.space(a),i("__options"),i(")")}Lz.ImportExpression=Oz,Lz.createImportExpression=Oz;var Dz={};const{types:Mz}=st,{isJSXElement:Bz}=Mz;Dz.ParenthesizedExpression={before(e,{print:t}){t("(")},condition:e=>{const{expression:t}=e.node;return!Bz(t)},print(e,{print:t}){t("__expression")},after(e,{print:t}){t(")")}};const Fz=Yj,Rz=G$,jz=rJ,{ClassExpression:Uz,ClassDeclaration:qz}=oJ,{CallExpression:$z,OptionalCallExpression:Jz}=xJ,{NewExpression:Vz}=vJ,{ObjectExpression:Kz}=NJ,{ObjectProperty:Wz}=uV,{ObjectPattern:Xz}=SV,{ClassProperty:Hz,ClassAccessorProperty:zz,ClassPrivateProperty:Yz,PrivateName:Gz}=hK,{AssignmentExpression:Qz}=LK,{ArrayExpression:Zz}=OK,{ArrayPattern:eY}=ZH,{AssignmentPattern:tY}=tz,{RestElement:nY}=nz,{SpreadElement:rY}=iz,{SequenceExpression:iY}=pz,{TaggedTemplateExpression:sY}=dz,{BinaryExpression:aY}=hz,{LogicalExpression:oY}=xz,{ConditionalExpression:uY}=Iz,{StaticBlock:cY}=Nz,{ImportExpression:lY}=Lz,{ParenthesizedExpression:pY}=Dz;var dY={...Fz,...Rz,...jz,ArrayPattern:eY,ArrayExpression:Zz,AssignmentExpression:Qz,AssignmentPattern:tY,BinaryExpression:aY,CallExpression:$z,ClassExpression:Uz,ClassProperty:Hz,ClassAccessorProperty:zz,ClassPrivateProperty:Yz,ClassDeclaration:qz,ConditionalExpression:uY,NewExpression:Vz,LogicalExpression:oY,OptionalCallExpression:Jz,ObjectExpression:Kz,ObjectProperty:Wz,ObjectPattern:Xz,ParenthesizedExpression:pY,PrivateName:Gz,RestElement:nY,ImportExpression:lY,SpreadElement:rY,SequenceExpression:iY,StaticBlock:cY,TaggedTemplateExpression:sY,ThisExpression(e,{write:t}){t("this")}},hY={exports:{}},fY={};const{types:mY}=st,{isExpressionStatement:yY,isFunction:gY,isAssignmentExpression:bY}=mY;fY.isInsideAssignNextAssignFunction=e=>{const{expression:t}=e.node;if(!bY(t))return!1;const n=e.getNextSibling();if(gY(n)&&n.node.leadingComments)return!0;if(!yY(n))return!1;const{leadingComments:r}=n.node;return!!r&&(!!bY(n.node.expression)&&gY(n.node.expression.right))};var xY={};const{types:SY}=st,{hasTrailingComment:TY}=Qj,{isBlockStatement:EY,isProgram:PY,isIfStatement:vY}=SY;xY.printLeadingCommentLine=(e,t,n,{index:r,isLast:i,printComment:s})=>{const{print:a,indent:o}=t,u=e.getPrevSibling(),{parentPath:c}=e;TY(u)||(r||u.node||!vY(c)&&!EY(c)||o(),s(),a.newline(),i||e.parentPath.isIfStatement()||a.indent())},xY.printLeadingCommentBlock=(e,t,n,{printComment:r})=>{const{indent:i}=t,s=e.getPrevSibling();TY(s)||(EY(e.parentPath)&&!PY(e.parentPath.parentPath)&&i(),r())},function(e){const{types:t}=st,{isNext:n,isLast:r,isParentBlock:i,isParentLast:s,isNewlineBetweenSiblings:a,satisfy:o,noTrailingComment:u,hasTrailingComment:c,isCoupleLines:l,isInsideLabel:p}=Qj,{isInsideAssignNextAssignFunction:d}=fY,{printLeadingCommentLine:h,printLeadingCommentBlock:f}=xY,{isCallExpression:m,isExpressionStatement:y,isAssignmentExpression:g}=t,b=({parentPath:e})=>e.isReturnStatement(),x=(e=>(...t)=>!e(...t))(b),S=o([function(e){return!r(e)&&!s(e)},i,n,function(e){return e.findParent(n)}]),T=o([a,function(e){return e.parentPath.get("body")===e},function(e){const t=e.get("expression");if(!t.isStringLiteral())return!1;const{value:n}=e.node.expression;return"use strict"===n},e=>e.getNextSibling().isIfStatement()]);e.exports.ExpressionStatement={beforeIf:e=>!b(e)&&!p(e),before(e,{indent:t}){t()},print(e,{print:t,maybe:r,store:i,indent:s}){const a=b(e);if(t("__expression"),r.print(!a,";"),n(e)&&!a&&T(e)){t.newline();const r=n(e)&&u(e)||function(e){if(g(e.node.expression))return!1;const t=e.getNextSibling();if(!y(t))return!1;const{expression:n}=t.node;return m(n)}(e)||function(e){const{expression:t}=e.node;return!!m(t)&&(!!m(t.arguments[0])&&function(e){const{trailingComments:t}=e.node,[n]=t;return r=n,"CommentBlock"===r?.type;var r}(e))}(e);r&&s(),i(!0)}},afterIf:e=>!!S(e)||(!(!c(e)||!r(e))||(e=>!!e.parentPath.isIfStatement()&&e===e.parentPath.get("consequent")&&Boolean(e.parentPath.node.alternate))(e)),after(e,{print:t,maybe:n,store:i,indent:s}){c(e)&&r(e)&&l(e)&&t.breakline(),c(e)&&!l(e)||function({parentPath:e}){if(!e.isIfStatement())return!1;const t=e.parentPath;if(!t.isIfStatement())return!1;const n=t.parentPath;return!!n.isIfStatement()&&r(n)}(e)||x(e)&&(d(e)&&s(),t.newline(),n.markAfter(i(),e))}},e.exports.ExpressionStatement.printLeadingCommentLine=h,e.exports.ExpressionStatement.printLeadingCommentBlock=f}(hY);var AY=hY.exports;AY.default;var wY={},CY={maybeSpaceAfterKeyword:(e,{write:t})=>{const{declarations:n}=e.node;if(!n.length)return;const{id:r}=n[0];if("ArrayPattern"===r.type||"ObjectPattern"===r.type)return t.space();t(" ")}};const{types:kY}=st,{isNext:IY,isCoupleLines:_Y,isNewlineBetweenSiblings:NY,exists:LY,noTrailingComment:OY}=Qj,{hasPrevNewline:DY}=SU,{maybeSpaceAfterKeyword:MY}=CY,{isConcatenation:BY}=cV,{parseLeadingComments:FY}=bU,{maybeDeclare:RY}=uJ,{isExportDeclaration:jY}=kY,UY=e=>e.parentPath.isTSModuleBlock(),qY=e=>/Program|BlockStatement|Export|LabeledStatement/.test(e.parentPath.type),$Y=e=>e.parentPath.isSwitchCase();function JY(e){return!IY(e)&&e.parentPath.isBlockStatement()}function VY(e){return!HY(e.parentPath)&&e.parentPath.isExportDeclaration()}function KY(e){return!HY(e)&&_Y(e)}function WY(e){const t=e.getPrevSibling(),n=e.getNextSibling();return!!LY(t.getPrevSibling())&&(e.node.loc?.start.line!==t.node?.loc?.start.line+2&&(!HY(e)&&t.isVariableDeclaration()&&!n.isVariableDeclaration()))}function XY(e){const t=e.getNextSibling(),n=e.getPrevSibling();return!(!LY(n.getPrevSibling())&&t.isVariableDeclaration())&&(e.node.loc?.start.line!==n.node?.loc?.start?.line+2&&_Y(t))}wY.VariableDeclaration={beforeIf:function(e){if(function(e){return e.node===e.parentPath.node.body?.[0]}(e))return!1;if(DY(e))return!1;if(DY(e.parentPath))return!1;const t=e.getPrevSibling();return!(t.isStatement()&&!t.isExpressionStatement()&&!t.isBlockStatement())&&(!jY(e.parentPath)&&_Y(e))},before(e,{print:t}){t.breakline()},print:RY((e,{maybe:t,store:n,write:r,traverse:i,print:s,indent:a},o)=>{const{maxVariablesInOneLine:u}=o;t.indent((e=>/^(Program|BlockStatement|TSModuleBlock|SwitchCase)$/.test(e.parentPath.type))(e)),r(e.node.kind),MY(e,{write:r});const c=e.get("declarations"),l=c.length-1;t.indent.inc(l);for(const[e,n]of c.entries()){const p=n.get("id"),d=n.get("init"),h=e===l;if(i(p),LY(d)&&(r.space(),r("="),t.write.space(!BY(d)),i(d)),!h){const n=c[e+1];if(r(","),!n.node.leadingComments){t.write.breakline(l>u),t.write.space(l<=u);continue}FY(n,{print:s,maybe:t,indent:a},o)}}t.indent.dec(l),(qY(e)||$Y(e)||UY(e)||(e=>e.parentPath.isIfStatement())(e))&&r(";");let p=!1;$Y(e)&&(r.newline(),(e=>e.parentPath.get("consequent.0")===e)(e)||(p=!0)),qY(e)&&IY(e)&&(OY(e)||NY(e))&&(r.newline(),p=!0),n(p)}),afterSatisfy:()=>[zY,YY,JY,KY,GY,XY,WY,NY,VY,UY],after(e,{maybe:t,store:n}){const r=n();if(HY(e.parentPath)&&!e.parentPath.isBlockStatement()||!qY(e)&&!UY(e))return!1;t.print.linebreak(r),t.print.newline(!r),t.markAfter(r,e)}};const HY=e=>e.parentPath?.isProgram()&&!IY(e);const zY=e=>e.getNextSibling().isIfStatement(),YY=e=>e.getNextSibling().isFunctionDeclaration(),GY=e=>{const t=e.getNextSibling();if(!t.isExpressionStatement())return!1;const{parentPath:n}=e;return!(n.isBlockStatement()&&n.node.body.length<3)&&t.get("expression").isAssignmentExpression()};var QY={};const{types:ZY}=st,{markAfter:eG}=SU,{exists:tG,isNext:nG,isInsideIf:rG}=Qj,{isBlockStatement:iG,isFunctionDeclaration:sG,isStatement:aG}=ZY;QY.IfStatement={print:(e,{indent:t,print:n,maybe:r,write:i,traverse:s})=>{const{parentPath:a}=e,o=a.get("alternate");e!==o&&t(),n("if"),n.space(),n("("),n("__test"),n(")");const u=e.get("consequent"),c=e.get("alternate"),l=u.isBlockStatement(),p=u.isVariableDeclaration();if(l)n.space(),n(u),(rG(e.parentPath)||(({parentPath:e})=>"BlockStatement"===e.type&&"BlockStatement"===e.parentPath.type)(e))&&r.print.newline((e=>!e.node.body.length)(u));else{const t=!(e=>e.get("consequent").isEmptyStatement())(e);r.print.newline(t),r.indent.inc(t),r.indent(p),n(u),r.indent.dec(t)}if(c.isBlockStatement()?(i.space(),i("else"),i.space(),s(c)):c.isIfStatement()?(c.get("consequent").isBlockStatement()?i.space():t(),i("else "),s(c)):tG(c)&&(r.write.newline(p),r.indent(!l),r.write.space(l),i("else"),i.splitter(),t.inc(),s(c),t.dec()),!nG(e)&&!u.isBlockStatement())return;const d=e.parentPath.getNextSibling();e!==o||(({parentPath:e})=>e.parentPath.isProgram())(e)||aG(d)||n.newline(),(e=>{const{parentPath:t}=e;return!!iG(t)&&!!iG(e.node.consequent)&&!e.node.consequent.body.length&&sG(e.parentPath.parentPath)})(e)&&n.newline()},afterSatisfy:()=>[nG],after:(e,{print:t})=>{t.linebreak(),eG(e)}};var oG={};const{hasPrevNewline:uG,markAfter:cG,markBefore:lG,isMarkedAfter:pG}=SU,{isFirst:dG,isNext:hG,isLast:fG}=Qj;oG.ForOfStatement={beforeIf(e){const{parentPath:t}=e;return!(!t.isBlockStatement()&&t.isStatement())&&(!dG(e)&&!uG(e))},before(e,{print:t}){t.linebreak(),lG(e)},print(e,{indent:t,print:n,maybe:r,traverse:i}){const{node:s}=e;t(),n("for"),r.print(s.await," await"),n.space(),n("("),n("__left"),n(" of "),n("__right"),n(")");const a=e.get("body");if(a.isBlockStatement()){n.space(),n("__body");const{length:t}=a.node.body;return void r.print.newline(!t&&!fG(e)&&!hG(e))}t.inc(),n.newline(),i(a),t.dec(),r.markAfter(pG(a),e)},afterIf:hG,after(e,{print:t}){t.linebreak(),cG(e)}};var mG={},yG={};const{exists:gG}=Qj;yG.insideIfWithNoBody=e=>{if(!e.parentPath.isIfStatement())return!1;if(!e.parentPath.parentPath.isIfStatement())return!1;const t=e.parentPath?.parentPath.getNextSibling();return!gG(t)};var bG={getDirectives:e=>e.node.directives?e.get("directives"):[]},xG={};const{types:SG}=st,{isLooksLikeChain:TG}=GU,{isReturnStatement:EG,isExpressionStatement:PG,isMemberExpression:vG,isCallExpression:AG}=SG;function wG(e){return!!vG(e)&&PG(e.parentPath.parentPath)}function CG(e){if(!AG(e))return!1;const{parentPath:t}=e;return!!EG(t)||PG(t)}xG.isCallInsideChain=e=>{if(!AG(e.parentPath.parentPath))return!1;const t=e.find(wG);if(t)return TG(t);const n=e.find(CG);if(!n)return!1;const r=n.get("callee");return TG(r)};const{types:kG}=st,{isNext:IG,isParentProgram:_G,isLast:NG,exists:LG,satisfy:OG}=Qj,{markAfter:DG}=SU,{parseComments:MG}=bU,{insideIfWithNoBody:BG}=yG,{getDirectives:FG}=bG,{isCallInsideChain:RG}=xG,{isArrowFunctionExpression:jG,isObjectMethod:UG,isFunctionDeclaration:qG,isExportDeclaration:$G,isDoWhileStatement:JG,isBlockStatement:VG,isArrayExpression:KG}=kG,WG=e=>jG(e)||UG(e);mG.BlockStatement={print(e,t,n){const{trailingComma:r}=n,{indent:i,maybe:s,write:a,traverse:o}=t,u=e.get("body"),c=FG(e);e.parentPath.isBlockStatement()&&i();const l=(e=>{const{parentPath:t}=e.parentPath;if(!KG(t))return!1;const{length:n}=t.node.elements;return 3===n})(e);s.indent.inc(!l),a("{"),((e=>e.node.body[0])(e)||(e=>e.node.directives?.[0])(e))&&a.newline();for(const e of c)o(e);s.write.linebreak(c.length&&u.length);const p=RG(e);s.indent.inc(p);for(const e of u)o(e);MG(e,t,n),s.indent.dec(!l),s.indent.dec(l),s.indent(u.length),s.indent.inc(l),a("}"),s.indent.dec(p);const{parentPath:d}=e;UG(d)&&s.write(IG(d)||r,",")},afterIf:function(e){return QG(e)?YG:ZG(e)?GG:XG(e)?YG:HG(e)||function({parentPath:e}){return!!e.isTryStatement()||e.parentPath?.isTryStatement()}(e)||zG(e)||NG(e)||function(e){return!!qG(e.parentPath)&&(!!$G(e.parentPath?.parentPath)&&!IG(e.parentPath?.parentPath))}(e)?GG:!function(e){const{parentPath:t}=e;if(!t.isIfStatement())return!1;const n=t.get("alternate");return e!==n&&LG(n)}(e)},after(e,{write:t}){t.newline(),DG(e.parentPath)}};const XG=e=>(({parentPath:e})=>!!e.isIfStatement()&&!e.node.alternate)(e)&&e.find(WG),HG=e=>{const{parentPath:t}=e;return t.isStatement()&&!e.node.body.length&&!IG(t)},zG=({parentPath:e})=>/FunctionExpression/.test(e.type),YG=!0,GG=!1,QG=({parentPath:e})=>VG(e),ZG=OG([({parentPath:e})=>JG(e),e=>!IG(e)&&(!IG(e.parentPath)&&_G(e.parentPath)),BG]);var eQ={},tQ={maybeSpaceAfterKeyword:(e,{print:t},n)=>{const{roundBraces:r}=n,{argument:i}=e.node;if(!i)return;const{type:s}=i;return"SequenceExpression"===s&&r.sequence||"StringLiteral"===s||"TemplateLiteral"===s||"ArrayExpression"===s||"ObjectExpression"===s||"UnaryExpression"===s&&"!"===i.operator||"ArrowFunctionExpression"===s&&r.arrow?t.space():void t(" ")}};const{types:nQ}=st,{isInsideLabel:rQ}=Qj,{isPrevBody:iQ,noTrailingComment:sQ,isLast:aQ}=Qj,{hasPrevNewline:oQ}=SU,{maybeSpaceAfterKeyword:uQ}=tQ,{isJSXElement:cQ}=nQ;eQ.ReturnStatement={beforeIf:e=>!oQ(e)&&(({parentPath:e})=>e.node?.body?.length>2)(e)||iQ(e),before(e,{print:t}){t.linebreak()},print(e,t,n){const{maybe:r,print:i}=t;if(r.indent(!rQ(e)),i("return"),uQ(e,t,n),function(e){const t=e.node.argument;if(!t)return;const{leadingComments:n}=t;return cQ(t)&&n?.length}(e))return i("("),i.breakline(),i("__argument"),void i(");");i("__argument"),i(";")},afterIf:e=>!!(({parentPath:e})=>e.isIfStatement()&&e.node.alternate)(e)||!aQ(e)&&(!aQ(e.parentPath)&&sQ(e)),after(e,{print:t}){t.newline()}};var lQ={};const{isNext:pQ}=Qj;lQ.TryStatement={print(e,{print:t}){const n=e.get("finalizer");t.indent(),t("try"),t.space(),t("__block"),t("__handler"),n.node&&(t.space(),t("finally"),t.space(),t(n),t.newline())},afterSatisfy:()=>[pQ],after(e,{maybe:t,print:n}){t.print.newline(!e.node.finalizer),n.breakline()}},lQ.CatchClause=(e,{print:t,maybe:n})=>{const r=e.get("param"),i=e.get("body");t.space(),t("catch"),r.node?(t("("),t(r),t(")"),t.space()):t.space(),t(i),n.print.newline(function(e){return e.parentPath.parentPath.isBlockStatement()}(e))};var dQ={};const{isNext:hQ,isInsideIf:fQ}=Qj,mQ=e=>e.parentPath.isBlockStatement();dQ.DebuggerStatement={print(e,{print:t,indent:n}){n(),t("debugger;")},afterSatisfy:()=>[hQ,mQ,fQ],after(e,{print:t}){t.newline()}};var yQ={};const{exists:gQ}=Qj,{markAfter:bQ}=SU;yQ.ForStatement={print(e,{print:t,maybe:n,indent:r}){const{test:i,update:s,body:a}=e.node;if(r(),t("for"),t.space(),t("("),t("__init"),t(";"),n.print.space(i),t("__test"),t(";"),n.print.space(s),t("__update"),t(")"),a.body)t.space(),t("__body");else{const r=!e.get("body").isEmptyStatement();n.print.newline(r),n.indent.inc(r),t("__body"),n.indent.dec(r)}},afterIf:e=>gQ(e.getNextSibling()),after(e,{print:t}){t.linebreak(),bQ(e)}};var xQ={exports:{}},SQ={parseImportSpecifiers:e=>{const t=[],n=[],r=[];for(const i of e)"ImportDefaultSpecifier"!==i.type?"ImportNamespaceSpecifier"!==i.type?"ImportSpecifier"!==i.type||r.push(i):n.push(i):t.push(i);return{defaults:t,namespaces:n,imports:r}}},TQ={ImportAttribute:(e,{print:t})=>{t("__key"),t(":"),t.space(),t("__value"),t(",")},maybePrintAttributes:(e,t)=>{if(EQ(e))return PQ(e,"assert",t);PQ(e,"with",t)}};const EQ=e=>e.node.extra?.deprecatedAssertSyntax;function PQ(e,t,{write:n,traverse:r,indent:i}){const s=e.get("attributes");if(s.length){n(` ${t}`),n.space(),n("{"),n.breakline(),i.inc();for(const e of s)i(),r(e),n.newline();i.dec(),n("}")}}var vQ={};const{types:AQ}=st,{isExportDeclaration:wQ}=AQ;vQ.printTrailingCommentLine=(e,t,n,{printComment:r})=>{const{print:i}=t;r(),i.breakline()},vQ.printTrailingCommentBlock=(e,t,n,{printComment:r})=>{const{maybe:i}=t,s=e.getNextSibling();i.print.breakline(!wQ(s)),r()},function(e){const{parseImportSpecifiers:t}=SQ,{markAfter:n}=SU,{isLast:r,isNext:i}=Qj,{maybePrintAttributes:s,ImportAttribute:a}=TQ,{printTrailingCommentBlock:o,printTrailingCommentLine:u}=vQ;e.exports.ImportAttribute=a,e.exports.ImportDeclaration={print(e,n,r){const{print:a,maybe:o,write:u,traverse:c,indent:l}=n,{phase:p}=e.node,d="type"===e.node.importKind,h=e.get("specifiers");l(),u("import"),o.write(d," type"),o.write(p,` ${p}`);let f=!1;const m=h.length-1,{defaults:y,namespaces:g,imports:b}=t(h);o.write(h.length," ");for(const e of y)c(e.get("local")),o.write(m,","),o.write.space(m);for(const e of g)u("* as "),c(e.get("local"));const x=function(e,t){const{maxSpecifiersInOneLine:n,maxPropertiesLengthInOneLine:r}=t;for(const{node:t}of e){if(t.imported.name!==t.local.name)return 1;if(t.imported.name.length>=r)return 1}return n}(b,r),S=b.length-1;for(const[e,t]of b.entries()){const n=e===S,r=!n,{imported:i,local:s}=t.node;if(l.inc(),o.write(!f,"{"),o.write.breakline(S>=x),f=!0,c(t.get("imported")),i.name!==s.name&&(u(" as "),u(s.name)),S<x&&r&&(o.write(m,","),o.write.space(m)),S>=x){o.write(m,",");const t=e===m,n=e===m-1;o.write.newline(n&&y.length),o.write.newline(t)}l.dec(),o.write(n,"}")}o.write(h.length," from"),a.space(),a("__source"),s(e,n),a(";"),i(e)&&a.newline()},afterIf:e=>!r(e)&&!e.getNextSibling().isImportDeclaration(),after(e,{print:t}){t.newline(),n(e)}},e.exports.ImportDeclaration.printTrailingCommentBlock=o,e.exports.ImportDeclaration.printTrailingCommentLine=u}(xQ);var CQ=xQ.exports;CQ.default;var kQ={};const{types:IQ}=st,{isParentBlock:_Q}=Qj,{markAfter:NQ,isMarkedAfter:LQ,hasPrevNewline:OQ}=SU,{isNewlineBetweenSiblings:DQ,exists:MQ,isNext:BQ,isLast:FQ}=Qj,{isExportNamespaceSpecifier:RQ,isVariableDeclaration:jQ,isExportNamedDeclaration:UQ}=IQ,qQ={maxOneLineSpecifiers:2};kQ.ExportSpecifier=(e,{print:t})=>{const{local:n,exported:r}=e.node;t("__local"),r.name!==n.name&&(t(" as "),t("__exported"))},kQ.ExportNamespaceSpecifier=(e,{print:t})=>{t("* as "),t("__exported")},kQ.ExportNamedDeclaration={beforeIf(e){const t=e.getPrevSibling();return!OQ(e)&&jQ(t)},before(e,{print:t}){t.linebreak()},print(e,{print:t,traverse:n,indent:r,maybe:i},s){const{trailingComma:a}=s,{exportKind:o}=e.node,u=e.get("specifiers"),{maxOneLineSpecifiers:c}=qQ,l=e.get("source");if(r(),t("export"),"type"===o&&u.length&&t(" type"),RQ(u[0]))return t(" "),t(u[0]),t(" from "),t("__source"),t(";"),void i.print.newline(!FQ(e));const p=u.length,d=!MQ(l)||p>c;if(u&&!e.node.declaration){if(t.space(),t("{"),u.length){r.inc(),i.print.newline(d);const e=p-1;for(const[r,s]of u.entries()){const o="type"===s.node.exportKind,u=r<e;i.indent(d),i.print(o,"type "),n(s),u&&!d?t(", "):d&&i.print(u||a,","),i.print.newline(d)}r.dec(),r()}t("}");const s=e.get("source");return MQ(s)&&(t(" from "),n(s)),t(";"),void i.print.newline(BQ(e)||(e=>e.parentPath.isTSModuleBlock())(e))}t(" "),t("__declaration")},afterIf:e=>!FQ(e)&&(!(e=>LQ(e.get("declaration")))(e)&&(!!DQ(e)||_Q(e))),after(e,{print:t,indent:n}){const r=e.getNextSibling();UQ(r)&&n(),t.newline(),NQ(e)}};var $Q={ExportAllDeclaration:(e,{print:t})=>{const{exportKind:n}=e.node;t("export "),"type"===n&&t("type "),t("* from "),t("__source"),t(";"),t.newline()}},JQ={};const{isNext:VQ}=Qj,{markAfter:KQ}=SU;JQ.WhileStatement={print(e,{print:t,indent:n}){n(),t("while"),t.space(),t("("),t("__test"),t(")"),e.node.body.body?(t.space(),t("__body")):(n.inc(),t.newline(),t("__body"),n.dec())},afterIf:e=>VQ(e),after(e,{print:t}){t.linebreak(),KQ(e)}};var WQ={};const{isNext:XQ,exists:HQ,isLast:zQ}=Qj,{parseLeadingComments:YQ}=bU;WQ.SwitchStatement={print(e,t,n){const{print:r,maybe:i,indent:s,write:a,traverse:o}=t;s(),r("switch"),r("("),r("__discriminant"),r(") {"),r.newline();const u=e.get("cases"),c=u.length-1;for(const[e,l]of u.entries()){const u=l.get("test");s(),YQ(l,t,n),HQ(u)?(a("case "),o(u)):a("default"),r(":");const p=l.get("consequent"),d=l.get("consequent.0")?.isBlockStatement();i.indent.inc(!d),i.print.newline(!d&&p.length);for(const e of p)e.isBlockStatement()?(r.space(),r(e)):r(e);i.indent.dec(!d),i.write.linebreak(e<c)}r.indent(),r("}"),XQ(e)||zQ(e)||r.newline()},afterSatisfy:()=>[XQ],after(e,{print:t}){t.breakline(),t.newline()}};var GQ={ForInStatement:(e,{print:t,indent:n})=>{n(),t("for"),t.space(),t("("),t("__left"),t(" in "),t("__right"),t(")"),e.get("body").isBlockStatement()&&t.space(),t("__body")}},QQ={};const{types:ZQ}=st,{isNext:eZ}=Qj,{isVariableDeclaration:tZ,isFunction:nZ}=ZQ;QQ.ExportDefaultDeclaration={print(e,{print:t,traverse:n,maybe:r}){const i=e.get("declaration");t("export default "),n(i),r.print(function(e){return!e.isClassDeclaration()&&!e.isFunctionDeclaration()}(i),";")},afterSatisfy:()=>[eZ],after(e,{print:t,maybe:n}){t.newline(),n.print.newline(!function(e){const t=e.getNextSibling();if(!tZ(t))return!1;const{declaration:n}=e.node;return nZ(n)}(e))}};var rZ={};const{isParentBlock:iZ,isNextParent:sZ,isInsideIf:aZ,isInsideLabel:oZ}=Qj,uZ=e=>e.parentPath.isSwitchCase();rZ.BreakStatement={split(e,{print:t}){t.newline()},print(e,{print:t,maybe:n}){const{label:r}=e.node;n.indent(!oZ(e)),t("break"),n.print.space(r),t("__label"),t(";")},afterSatisfy:()=>[iZ,sZ,uZ,aZ]};var cZ={};const{isLast:lZ}=Qj,pZ=e=>!lZ(e);cZ.DoWhileStatement={print(e,{print:t,indent:n}){n(),t("do"),t.space(),t("__body"),t.space(),t("while"),t.space(),t("("),t("__test"),t(")")},afterSatisfy:()=>[pZ],after(e,{print:t}){t.newline()}};var dZ={};const{parseComments:hZ}=bU,{getDirectives:fZ}=bG,{hasCoupleTrailingComments:mZ}=Qj;dZ.Program=(e,t,n)=>{const{body:r}=e.node,{traverse:i,maybe:s,write:a}=t;i(e.get("interpreter")),hZ(e,t,n);const o=fZ(e);for(const e of o)i(e),s.write.newline(r.length);e.get("body").forEach(i),o.length&&!r.length||r.length&&mZ(r.at(-1))||a.endOfFile()};var yZ={};const{isInsideLabel:gZ}=Qj;yZ.ContinueStatement=(e,{print:t,maybe:n,write:r})=>{const{label:i}=e.node;n.indent(!gZ(e)),t("continue"),n.print.space(i),t("__label"),r(";"),t.newline()};var bZ={};const{isInsideLabel:xZ}=Qj;bZ.LabeledStatement=(e,{print:t,maybe:n})=>{n.indent(!xZ(e)),t("__label"),t(":"),t.space(),t("__body")};var SZ={};const{isLast:TZ}=Qj;SZ.EmptyStatement=(e,{write:t,maybe:n})=>{const{parentPath:r}=e;t(";"),n.write.newline(!TZ(e)&&!TZ(r))};const{ExpressionStatement:EZ}=AY,{VariableDeclaration:PZ}=wY,{IfStatement:vZ}=QY,{ForOfStatement:AZ}=oG,{BlockStatement:wZ}=mG,{ReturnStatement:CZ}=eQ,kZ=lQ,{DebuggerStatement:IZ}=dQ,{ForStatement:_Z}=yQ,NZ=CQ,LZ=kQ,{ExportAllDeclaration:OZ}=$Q,{WhileStatement:DZ}=JQ,{SwitchStatement:MZ}=WQ,{ForInStatement:BZ}=GQ,{ExportDefaultDeclaration:FZ}=QQ,{BreakStatement:RZ}=rZ,{DoWhileStatement:jZ}=cZ,{Program:UZ}=dZ,{ContinueStatement:qZ}=yZ,{LabeledStatement:$Z}=bZ,{EmptyStatement:JZ}=SZ,{ExportNamespaceSpecifier:VZ,ExportSpecifier:KZ}=LZ;var WZ={...NZ,...LZ,BlockStatement:wZ,DoWhileStatement:jZ,ExpressionStatement:EZ,ExportSpecifier:KZ,ExportNamespaceSpecifier:VZ,ExportDefaultDeclaration:FZ,ExportAllDeclaration:OZ,VariableDeclaration:PZ,IfStatement:vZ,ForStatement:_Z,ForInStatement:BZ,ForOfStatement:AZ,ReturnStatement:CZ,DebuggerStatement:IZ,LabeledStatement:$Z,Program:UZ,EmptyStatement:JZ,InterpreterDirective(e,{print:t}){t(`#!${e.node.value}\n`),t.newline()},SwitchStatement:MZ,...kZ,BreakStatement:RZ,ContinueStatement:qZ,WhileStatement:DZ},XZ={TemplateLiteral:(e,{write:t,traverse:n})=>{t("`");let r=0;const i=e.get("expressions");for(const s of e.node.quasis){t(s.value.raw);const e=i[r++];e&&(t("${"),n(e),t("}"))}t("`")}},HZ={},zZ={maybeDecorators:e=>e.node.decorators?e.get("decorators"):[]};const{maybeDecorators:YZ}=zZ,{maybeParens:GZ}=Jq,{maybeTypeAnnotation:QZ}=PV;HZ.Identifier=GZ(QZ((e,t)=>{const{write:n,maybe:r,traverse:i,print:s}=t,{node:a}=e,{name:o,optional:u}=a;for(const t of YZ(e))i(t),s(" ");n(o),r.write(u,"?")}));var ZZ={exports:{}};!function(e){const{types:t}=st,{isMemberExpression:n}=t;e.exports.Decorator=(e,{print:t,maybe:r})=>{const{expression:i}=e.node,s=n(i);t("@"),r.print(s,"("),t("__expression"),r.print(s,")")},e.exports.Decorator.printLeadingCommentLine=(e,t,n,{printComment:r})=>{const{print:i}=t;r(),i.breakline()}}(ZZ);var e0=ZZ.exports;e0.default;var t0={StringLiteral:(e,{write:t},n)=>{const{value:r,raw:i=`'${r}'`}=e.node;if(e.parentPath.isJSXAttribute())return void t(`"${r}"`);const s=i.slice(1,-1);t.quote(),t(n0(s,n)),t.quote()}};const n0=(e,{escapeDoubleQuote:t,escapeSingleQuote:n})=>{const r=e.split("");return n?r0(r,{slash:"\\",quote:"'"}):t?r0(r,{slash:"\\",quote:'"'}):e},r0=(e,{slash:t,quote:n})=>{const r=[];for(const[i,s]of e.entries()){const a=e[i-1];s!==n||a===t?r.push(s):r.push(`${t}${s}`)}return r.join("")};var i0={DirectiveLiteral:(e,{write:t})=>{t.indent(),t(e.node.raw||`'${e.node.value}'`),t(";"),t.newline()}},s0={VoidPattern:(e,{write:t})=>{t("void")}};const{TemplateLiteral:a0}=XZ,{Identifier:o0}=HZ,{Decorator:u0}=e0,{StringLiteral:c0}=t0,{DirectiveLiteral:l0}=i0,{VoidPattern:p0}=s0;var d0={Identifier:o0,Decorator:u0,DirectiveLiteral:l0,TemplateLiteral:a0,VoidPattern:p0,BigIntLiteral(e,{write:t}){t(e.node.raw)},NumericLiteral(e,{write:t}){const{raw:n,extra:r,value:i}=e.node;t(n||r?.raw||i)},Directive(e,{print:t,maybe:n}){n.print.breakline(e.node.leadingComments?.length),t("__value")},BooleanLiteral(e,{write:t}){t(e.node.value)},StringLiteral:c0,RegExpLiteral(e,{print:t}){const{raw:n,pattern:r}=e.node;t(n||`/${r}/`)},NullLiteral(e,{write:t}){t("null")},MetaProperty(e,{write:t}){t("import.meta")},Super(e,{write:t}){t("super")}},h0={};h0.TSTypeLiteral=(e,{indent:t,traverse:n,write:r})=>{const i=e.get("members");r("{");const s=function(e){const t=e.get("members");return(1!==t.length||!e.parentPath.isTSTypeParameterInstantiation())&&(t.length&&t[0].node.typeAnnotation)}(e);s&&(r.newline(),t.inc());for(const e of i)t(),n(e);s&&(t.dec(),r.indent()),r("}")};var f0={};const{isLast:m0,isNext:y0,isNextParent:g0}=Qj,{markAfter:b0}=SU,{maybeDeclare:x0}=uJ;f0.TSTypeAliasDeclaration={beforeIf:e=>!e.parentPath.isExportDeclaration(),before:(e,{indent:t})=>{t()},print:x0((e,{print:t,maybe:n,store:r})=>{const i=e.get("typeAnnotation").isTSConditionalType();t("type "),t("__id"),t("__typeParameters"),t.space(),t("="),n.print.space(!i),t("__typeAnnotation"),t(";");const s=r(m0(e)||m0(e.parentPath));n.print.newline(!s)}),afterIf:(e,{store:t})=>!t()&&(!(!y0(e)&&!g0(e))&&!e.getNextSibling().isTSTypeAliasDeclaration()),after(e,{print:t,maybe:n}){n.indent(e.getNextSibling().isExportDeclaration()),t.newline(),b0(e)}};var S0={};const{types:T0}=st,{isTSConditionalType:E0}=T0;S0.TSMappedType=(e,{print:t,indent:n,maybe:r})=>{const{readonly:i,optional:s,nameType:a,typeAnnotation:o}=e.node;t("{"),t.newline(),n.inc(),n(),i&&(r.print("-"===i,"-"),t("readonly ")),t("["),t("__key"),t(" "),t("in"),t(" "),t("__constraint"),a&&(t(" as"),r.space(!E0(a)),t("__nameType")),t("]"),s&&(r.print("+"===s,"+"),r.print("-"===s,"-"),t("?")),o&&(t(":"),t.space(),t("__typeAnnotation")),t(";"),n.dec(),t.breakline(),t("}")};var P0={TSConditionalType:(e,{print:t,indent:n})=>{n.inc(),t.breakline(),t("__checkType"),t(" extends "),t("__extendsType"),n.inc(),t.breakline(),t("? "),t("__trueType"),t.breakline(),t(": "),t("__falseType"),n.dec(),n.dec()}},v0={};const{exists:A0}=Qj;v0.TSTypeParameter=(e,{write:t,traverse:n})=>{const r=e.get("constraint");if(e.node.in?t("in "):e.node.out?t("out "):e.node.const&&t("const "),t(e.node.name.name),!A0(r))return;t(" extends "),n(r);const i=e.get("default");A0(i)&&(t.space(),t("="),t.space(),n(i))};var w0={};const{printParams:C0}=gU,{isNext:k0}=Qj,{maybeDeclare:I0}=uJ,_0=e=>e.parentPath.isExportNamedDeclaration();w0.TSDeclareFunction={beforeIf:e=>!_0(e),before:(e,{indent:t})=>{t()},print:I0((e,t,n)=>{const{print:r}=t;r("function "),r("__id"),C0(e,t,n),r(":"),r.space(),r("__returnType")}),afterIf:e=>!(e=>e.parentPath.isExportDefaultDeclaration())(e),after:(e,{print:t})=>{t(";"),(k0(e)||k0(e.parentPath)||_0(e))&&t.newline()}};var N0={};const{printParams:L0}=gU;N0.TSDeclareMethod=(e,t,n)=>{const{print:r}=t,{accessibility:i,abstract:s,returnType:a}=e.node;i&&(r(i),r(" ")),s&&(r("abstract"),r(" ")),r("__key"),L0(e,t,n),a&&(r(":"),r.space(),r("__returnType")),r(";"),r.newline()};var O0={};const{isNext:D0}=Qj,{maybeDeclare:M0}=uJ;O0.TSModuleDeclaration={print:M0((e,{print:t})=>{const{kind:n}=e.node;e.get("id").isStringLiteral()?t("module "):"namespace"===n&&t("namespace "),t("__id"),t.space(),t("__body")}),afterSatisfy:()=>[D0],after(e,{print:t}){t.newline(),t.newline()}},O0.TSModuleBlock=(e,{print:t,traverse:n,indent:r})=>{t("{"),t.breakline(),r.inc();for(const t of e.get("body"))n(t);r.dec(),t("}")};var B0={};const{types:F0}=st,{isNext:R0,isNextParent:j0}=Qj,{maybeDeclare:U0}=uJ,{markAfter:q0}=SU,{isTSTypeAliasDeclaration:$0,isExportNamedDeclaration:J0,isTSModuleBlock:V0}=F0;B0.TSInterfaceDeclaration={print:U0((e,{print:t,maybe:n})=>{const{node:r}=e;if(n.indent(!J0(e.parentPath)),t("interface "),t("__id"),r.extends){t(" extends ");const r=e.get("extends"),i=r.length-1;for(const[e,s]of r.entries())t(s),n.print(e<i,", ")}t("__typeParameters"),t("__body")}),afterSatisfy:()=>[R0,j0],after(e,{print:t}){t.linebreak();const n=J0(e.parentPath);n&&(e=>V0(e.parentPath.parentPath))(e)&&q0(e),n||$0(e)||t.newline()}};var K0={};const{types:W0}=st,{maybeParens:X0}=Jq,{isVariableDeclarator:H0,isObjectExpression:z0}=W0;K0.TSAsExpression=X0((e,{print:t,maybe:n})=>{const r=function(e){const{expression:t}=e.node;return!H0(e.parentPath)&&z0(t)}(e);n.print(r,"("),t("__expression"),n.print(r,")"),t(" as "),t("__typeAnnotation")});var Y0={};const{parseComments:G0}=bU;Y0.TSInterfaceBody=(e,t,n)=>{const r=e.get("body"),{traverse:i,write:s,indent:a,maybe:o}=t;s.space(),s("{"),o.write.newline(r.length),a.inc(),G0(e,t,n);for(const e of r)a(),i(e);a.dec(),a(),s("}"),o.write.newline(function(e){return!!e.parentPath.parentPath.isTSModuleBlock()||e.parentPath.parentPath.parentPath?.isTSModuleBlock()}(e))};var Q0={TSIntersectionType:(e,{traverse:t,write:n})=>{const r=e.get("types"),i=r.length-1;for(const[e,s]of r.entries()){const r=e===i;t(s),r||(n.space(),n("&"),n.space())}}},Z0={};const{maybePrintTypeAnnotation:e1}=PV,{hasTrailingComment:t1,isNext:n1}=Qj,{printKey:r1}=g$;Z0.TSPropertySignature=(e,t)=>{const{maybe:n,write:r}=t,{optional:i,readonly:s}=e.node;n.print(s,"readonly "),r1(e,t),n.print(i,"?"),e1(e,t),function({parentPath:e}){return!!e.parentPath.isTSTypeParameterInstantiation()&&1===e.node.members.length}(e)||(r(";"),r.newline()),n1(e)&&t1(e)&&r.newline()};var i1={},s1={hasReturnType:e=>e.node.returnType,printReturnType:(e,{traverse:t})=>{t(e.get("returnType"))}};const{printParams:a1}=gU,{printReturnType:o1}=s1,{maybeParens:u1}=Jq;i1.TSFunctionType=u1((e,t,n)=>{const{print:r}=t;a1(e,t,n),r.space(),r("=>"),r.space(),o1(e,t)});var c1={};const{isNext:l1,isNextParent:p1,isLast:d1}=Qj,{markAfter:h1}=SU;c1.TSEnumDeclaration={beforeIf:e=>e.node.const,before(e,{print:t}){t("const ")},print(e,{print:t,traverse:n,indent:r}){t("enum "),t("__id"),t(" "),t("{"),r.inc(),t.newline();for(const r of e.get("body.members"))n(r),t(","),t.newline();r.dec(),r(),t("}"),d1(e)||(t.newline(),h1(e))},afterSatisfy:()=>[l1,p1],after(e,{print:t}){t.linebreak()}};var f1={TSEnumMember:(e,{print:t,indent:n})=>{const{initializer:r}=e.node;n(),t("__id"),r&&(t.space(),t("="),t.space(),t("__initializer"))}},m1={};m1.TSTupleType=(e,{write:t,traverse:n,indent:r,maybe:i})=>{const s=e.get("elementTypes");t("["),r.inc();const a=function(e){let t;for(const n of e){if(t&&n.type!==t)return!1;({type:t}=n)}return!0}(s);i.write.newline(a&&s.length);const o=s.length-1;for(const[e,t]of s.entries())i.indent(a),n(t),i.write(e<o||a,","),i.write.newline(a),i.write.space(e<o&&!a);r.dec(),i.indent(a&&s.length),t("]")};var y1={TSNamedTupleMember:(e,{print:t})=>{t("__label"),t(":"),t.space(),t("__elementType")}},g1={};const{printParams:b1}=gU,{printReturnType:x1}=s1;g1.TSConstructorType=(e,t,n)=>{const{print:r}=t;r("new"),r(" "),b1(e,t,n),r.space(),r("=>"),r.space(),x1(e,t)};var S1={};const{printReturnType:T1}=s1,{printParams:E1}=gU;S1.TSCallSignatureDeclaration=(e,t,n)=>{const{print:r}=t;E1(e,t,n),r(":"),r.space(),T1(e,t),r(";"),r.newline()};var P1={};const{printParams:v1}=gU,{hasReturnType:A1,printReturnType:w1}=s1;P1.TSConstructSignatureDeclaration=(e,t,n)=>{const{write:r}=t;r("new"),v1(e,t,n),A1(e)&&(r(":"),r.space(),w1(e,t)),r(";"),r.newline()};var C1={};const{printParams:k1}=gU,{printKind:I1}=S$,{hasReturnType:_1,printReturnType:N1}=s1,{printKey:L1}=g$;C1.TSMethodSignature=(e,t,n)=>{const{write:r}=t;I1(e,t),L1(e,t),k1(e,t,n),_1(e)&&(r(":"),r.space(),N1(e,t)),r(";"),r.newline()};var O1={};const{maybeParens:D1}=Jq;O1.TSUnionType=D1({condition:e=>e.parentPath.isTSArrayType(),print:(e,t,{maxTypesInOneLine:n})=>{const r=e.get("types"),{length:i}=r;!(({parentPath:e})=>e.isTSTypeAliasDeclaration())(e)||i<=n?function(e,{traverse:t,write:n}){const r=e.length-1;for(const[i,s]of e.entries())t(s),i<r&&(n.space(),n("|"),n.space())}(r,t):function(e,{traverse:t,write:n,indent:r}){r.inc();for(const r of e)n.breakline(),n("|"),n.space(),t(r);r.dec()}(r,t)}});var M1={};const{createImportExpression:B1}=Lz;M1.TSImportType=(e,t,n)=>{B1(e,t,n,{source:"argument"})};var F1={};const{isNext:R1}=Qj;F1.TSExportAssignment={print:(e,{print:t})=>{t("export = "),t("__expression"),t(";")},afterSatisfy:()=>[R1],after:(e,{print:t})=>{t.newline()}};var j1={TSTypeReference:(e,{print:t})=>{t("__typeName"),t("__typeArguments")}},U1={};const{maybeParens:q1}=Jq;U1.TSInferType=q1((e,{print:t})=>{t("infer "),t("__typeParameter")});var $1={exports:{}};!function(e){const{hasLeadingComment:t}=Qj;e.exports.TSParameterProperty=(e,{print:n,maybe:r,indent:i})=>{const{decorators:s,readonly:a,accessibility:o}=e.node,u=s?.length>1;if(r.print.breakline(u),s){for(const t of e.get("decorators"))r.indent(u),n(t);r.print.breakline(u),t(e)?n(" "):i()}o&&(n(o),n.space()),a&&(n("readonly"),n.space()),n("__parameter"),t(e)&&!e.node.decorators&&n.breakline()},e.exports.TSParameterProperty.printLeadingCommentLine=(e,t,n,{printComment:r})=>{const{indent:i,print:s}=t;return e.node.decorators?(r(),void s.breakline()):e.parentPath.isClassMethod()?(i.inc(),s.breakline(),r(),s.breakline(),void i.dec()):void 0}}($1);var J1=$1.exports;J1.default;var V1={};const{maybeParens:K1}=Jq;V1.TSTypeQuery=K1((e,{print:t})=>{t("typeof "),t("__exprName")});var W1={TSParenthesizedType:(e,{print:t})=>{t("("),t("__typeAnnotation"),t(")")}};const{isNext:X1}=Qj,{TSTypeLiteral:H1}=h0,{TSTypeAliasDeclaration:z1}=f0,{TSMappedType:Y1}=S0,{TSConditionalType:G1}=P0,{TSTypeParameter:Q1}=v0,{TSDeclareFunction:Z1}=w0,{TSDeclareMethod:e2}=N0,{TSModuleDeclaration:t2,TSModuleBlock:n2}=O0,{TSInterfaceDeclaration:r2}=B0,{TSAsExpression:i2}=K0,{TSInterfaceBody:s2}=Y0,{TSIntersectionType:a2}=Q0,{TSPropertySignature:o2}=Z0,{TSFunctionType:u2}=i1,{printParams:c2}=gU,{TSEnumDeclaration:l2}=c1,{TSEnumMember:p2}=f1,{TSTupleType:d2}=m1,{TSNamedTupleMember:h2}=y1,{TSConstructorType:f2}=g1,{TSCallSignatureDeclaration:m2}=S1,{TSConstructSignatureDeclaration:y2}=P1,{TSMethodSignature:g2}=C1,{TSUnionType:b2}=O1,{maybePrintTypeAnnotation:x2}=PV,{TSImportType:S2}=M1,{TSExportAssignment:T2}=F1,{TSTypeReference:E2}=j1,{TSInferType:P2}=U1,{TSParameterProperty:v2}=J1,{TSTypeQuery:A2}=V1,{TSParenthesizedType:w2}=W1;var C2={TSAsExpression:i2,TSExportAssignment:T2,TSTypeLiteral:H1,TSTypeAliasDeclaration:z1,TSTypeParameter:Q1,TSMappedType:Y1,TSConditionalType:G1,TSDeclareFunction:Z1,TSModuleDeclaration:t2,TSModuleBlock:n2,TSIntersectionType:a2,TSImportType:S2,TSUnionType:b2,TSTypeQuery:A2,TSBigIntKeyword(e,{write:t}){t("bigint")},TSNullKeyword(e,{write:t}){t("null")},TSSymbolKeyword(e,{write:t}){t("symbol")},TSNeverKeyword(e,{write:t}){t("never")},TSUnknownKeyword(e,{write:t}){t("unknown")},TSObjectKeyword(e,{write:t}){t("object")},TSLiteralType(e,{print:t}){t("__literal")},TSTupleType:d2,TSInferType:P2,TSRestType(e,{print:t}){t("..."),t("__typeAnnotation")},TSTypeParameterDeclaration(e,t,n){c2(e,t,n,{braceOpen:"<",braceClose:">"})},TSTypeParameterInstantiation(e,t,n){c2(e,t,n,{braceOpen:"<",braceClose:">"})},TSArrayType(e,{print:t}){t("__elementType"),t("[]")},TSTypeReference:E2,TSTypeOperator(e,{write:t,print:n}){const{operator:r}=e.node;t(`${r} `),n("__typeAnnotation")},TSInterfaceDeclaration:r2,TSInterfaceBody:s2,TSTypeAssertion(e,{print:t}){t("<"),t("__typeAnnotation"),t(">"),t("__expression")},TSUndefinedKeyword(e,{write:t}){t("undefined")},TSBooleanKeyword(e,{write:t}){t("boolean")},TSSatisfiesExpression(e,{print:t}){t("__expression"),t(" satisfies "),t("__typeAnnotation")},TSNumberKeyword(e,{write:t}){t("number")},TSIndexedAccessType(e,{print:t}){t("__objectType"),t("["),t("__indexType"),t("]")},TSStringKeyword(e,{write:t}){t("string")},TSInstantiationExpression(e,{print:t}){t("__expression"),t("__typeArguments")},TSAnyKeyword(e,{write:t}){t("any")},TSVoidKeyword(e,{write:t}){t("void")},TSQualifiedName(e,{print:t}){t("__left"),t("."),t("__right")},TSTypeAnnotation(e,{print:t}){t("__typeAnnotation")},TSParameterProperty:v2,TSConstructSignatureDeclaration:y2,TSIndexSignature(e,t){const{print:n}=t;n("["),n("__parameters.0"),n("]"),x2(e,t),n(";"),n.newline()},TSClassImplements(e,{print:t}){t("__expression"),t("__typeArguments")},TSInterfaceHeritage(e,{print:t}){t("__expression"),t("__typeArguments")},TSParenthesizedType:w2,TSPropertySignature:o2,TSFunctionType:u2,TSTypePredicate(e,{print:t}){t("__parameterName"),t(" is "),t("__typeAnnotation")},TSNonNullExpression(e,{print:t}){t("__expression"),t("!")},TSEnumDeclaration:l2,TSEnumMember:p2,TSImportEqualsDeclaration(e,{print:t,maybe:n}){n.print(e.node.isExport,"export "),t("import "),t("__id"),t.space(),t("="),t.space(),t("__moduleReference"),t(";"),n.print.newline(X1(e))},TSExternalModuleReference(e,{print:t}){t("require("),t("__expression"),t(")")},TSDeclareMethod:e2,TSNamedTupleMember:h2,TSConstructorType:f2,TSMethodSignature:g2,TSCallSignatureDeclaration:m2,TSThisType(e,{print:t}){t("this")}},k2={};const{types:I2}=st,{isJSXElement:_2}=I2;k2.JSXElement={condition:function(e){return!!e.parentPath.isReturnStatement()||(!!e.parentPath.isParenthesizedExpression()||(!!e.node.extra?.parenthesized||(!!e.parentPath.isArrowFunctionExpression()||e.parentPath.isVariableDeclarator())))},before(e,{write:t,indent:n,maybe:r}){const{leadingComments:i}=e.node,s=i?.length;r.write.space(!s&&(({parentPath:e})=>e.isArrowFunctionExpression())(e)),n.inc(),s||(t("("),t.newline())},print(e,{print:t,traverse:n,maybe:r}){const i=function(e){const t=e.node.openingElement.attributes.length;if(t>2)return!1;const n=e.parentPath.isArrowFunctionExpression(),r=e.parentPath.isJSXElement(),i=e.parentPath.parentPath.isCallExpression();return r||n&&i}(e);r.indent.inc(i),t("__openingElement"),e.get("children").map(n),t("__closingElement"),r.indent.dec(i)},after(e,{write:t,indent:n,maybe:r}){const{leadingComments:i}=e.node;_2(e.parentPath.parentPath?.parentPath?.parentPath)?(t.breakline(),n.dec()):(n.dec(),t.breakline()),r.write(!i?.length,")")}};var N2={};const{isCoupleLines:L2}=Qj;N2.JSXAttribute={condition:e=>L2(e.parentPath),before(e,{print:t,indent:n}){n.inc(),t.breakline()},print(e,{print:t,maybe:n}){const{value:r}=e.node;t("__name"),n.print(r,"="),t("__value")},after(e,{indent:t}){t.dec()}};var O2={};const{isCoupleLines:D2}=Qj;O2.JSXOpeningElement={print(e,{print:t,maybe:n}){n.indent((({parentPath:e})=>{const t=e.parentPath;return!(t.isObjectProperty()||t.isCallExpression()||t.isJSXElement()||t.isJSXExpressionContainer()||t.isJSXFragment()||t.isLogicalExpression())})(e)),t("<"),t("__name");const r=D2(e),i=!r,s=r&&e.parentPath.parentPath.isJSXElement();n.indent.inc(s);for(const r of e.get("attributes"))n.print.space(i),t(r);D2(e)&&t.breakline(),e.node.selfClosing&&t("/"),t(">"),n.indent.dec(s)}};var M2={};M2.JSXFragment={condition:function(e){return!!e.parentPath.isReturnStatement()||e.parentPath.isVariableDeclarator()},before(e,{write:t,indent:n}){t("("),n.inc(),t.breakline()},print(e,{print:t,traverse:n}){t("__openingFragment"),e.get("children").map(n),t("__closingFragment")},after(e,{write:t,indent:n}){n.dec(),t.breakline(),t(")")}},M2.JSXOpeningFragment=(e,{write:t})=>{t("<>")},M2.JSXClosingFragment=(e,{write:t})=>{t("</>")};var B2={};const{isNext:F2}=Qj;B2.JSXText=(e,{write:t,indent:n})=>{const{node:r}=e,{value:i,extra:s}=r,a=/^\s+$/.test(i),o=F2(e);return s?.raw.includes("&")?t(s.raw):a&&o?(n.inc(),t.breakline(),void n.dec()):void(a?t.breakline():t(i))};const{JSXElement:R2}=k2,{JSXAttribute:j2}=N2,{isCoupleLines:U2}=Qj,{JSXOpeningElement:q2}=O2,$2=M2,{JSXText:J2}=B2,{parseComments:V2}=bU;var K2={...$2,JSXElement:R2,JSXAttribute:j2,JSXOpeningElement:q2,JSXText:J2,JSXEmptyExpression(e,t,n){V2(e,t,n)},JSXExpressionContainer(e,{print:t}){t("{"),t("__expression"),t("}")},JSXIdentifier(e,{write:t}){t(e.node.name)},JSXMemberExpression(e,{print:t}){t("__object"),t("."),t("__property")},JSXSpreadAttribute(e,{print:t,maybe:n}){const r=U2(e.parentPath);n.indent.inc(r),n.print.breakline(r),t("{"),t("..."),t("__argument"),t("}"),n.indent.dec(r)},JSXClosingElement(e,{print:t}){t("</"),t("__name"),t(">")}};var W2={...dY,...WZ,...d0,...C2,...K2};W2.default;var X2={};const H2=e=>()=>e,{keys:z2}=Object;function Y2(e,t,n){if(!n)return[`{{ ${e} }}`,t[e]];const r=e.replaceAll("{{","").replaceAll("}}","").replaceAll(" ",""),i=t[r]||"";if(!r.includes("|"))return[e,i];const[s,a]=r.split("|"),o=n[a],u=t[s];return o?[e,o(u)]:[e,u]}const{satisfy:G2}=Qj;const Q2=e=>{const t=e?.()||[];return G2(t)},Z2=(e,t,n)=>{!function(e,t){if(n=e,"string"!=typeof n)throw Error("template should be a string!");var n;if("object"!=typeof t)throw Error("values should be an object!")}(e,t);let r=e;const i=n?e.match(/{{(.*?)}}/g):z2(t);for(const e of i){const[i,s]=Y2(e,t,n),a=H2(s);for(;r.includes(i);)r=r.replace(i,a)}return r.includes("{{")&&(r=r.replace(/{{.*?}}/g,"")),r},{types:e3}=st,t3=e=>{if(!e.afterSatisfy&&!e.beforeSatisfy&&!e.satisfy)return e;const{satisfy:t,afterSatisfy:n=t,beforeSatisfy:r=t}=e;return{afterIf:Q2(n),beforeIf:Q2(r),...e}},{isProgram:n3,isFile:r3,isStatement:i3,expressionStatement:s3,program:a3,file:o3}=e3;X2.maybeThrow=(e,t,n)=>{if(e)throw Error(Z2(n,{path:t,type:t.type}))};const u3=e=>i3(e)?e:s3(e);X2.maybeFile=e=>r3(e)?e:o3((e=>n3(e)?e:a3([u3(e)]))(e)),X2.maybeVisitor=(e,t,n,r)=>"function"==typeof e?e(t,n,r):function(e,t,n,r){const{print:i,split:s,condition:a,before:o=s,beforeIf:u=a,after:c=s,afterIf:l=a}=t3(e);u?.(t,n,r)&&o(t,n,r);i(t,n,r),l?.(t,n,r)&&c(t,n,r)}(e,t,n,r);var c3={},l3=t(J),p3=function(e){return(e=e.replace(h3,function(e){return" "+(e.toLowerCase()||e)})).trim().split(d3).join("_")},d3=/[\s\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,\-.\/:;<=>?@\[\]^_`{|}~]+/,h3=/[A-Z\u00C0-\u00D6\u00D9-\u00DD]/g;const f3=l3,m3=p3,{codeFrameColumns:y3}=st,{TYPES:g3}=zj,{stringify:b3}=JSON,{LOG:x3,LOG_ALL:S3,LOG_TOKENS:T3,LOG_TERM:E3,LOG_DEBUG:P3}={};function v3(){let e=[];return(...t)=>{const[n]=t;if(t.length)return void e.push(n);const r=e.join("");return e=[],r}}c3.createDebug=e=>t=>{P3&&e.push({type:g3.DEBUG,value:`/*__${m3(t)}*/`})},c3.createLog=({newline:e="\n",store:t=v3()}={})=>({type:n,value:r})=>{if(T3)console.log(y3(b3({type:n,value:r}),{},{highlightCode:!0}));else if(S3)console.log(y3(r,{},{highlightCode:!0}));else{if(x3){if(r===e)return void console.log(y3(t(),{},{highlightCode:!0}));t(r)}E3&&f3.stdout.write(r)}};var A3={},w3={};const C3=e=>"boolean"==typeof e,k3={arrow:!0,sequence:!0,assign:!1,new:!0},I3={arrow:!0,sequence:!0,assign:!0,new:!0},_3={arrow:!1,sequence:!1,assign:!1,new:!1};w3.parseRoundBraces=({roundBraces:e})=>{return(t=e)&&"object"==typeof t?{...k3,...e}:C3(e)&&e?I3:C3(e)&&!e?_3:k3;var t},w3.ROUND_BRACES_DISABLED=_3,w3.ROUND_BRACES_ENABLED=I3,w3.ROUND_BRACES_DEFAULTS=k3;var N3={parseQuotes:({quote:e})=>'"'===e?{escapeSingleQuote:!1,escapeDoubleQuote:!0}:{escapeSingleQuote:!0,escapeDoubleQuote:!1}};const{parseRoundBraces:L3}=w3,{parseQuotes:O3}=N3;A3.parseOverrides=(e={})=>{const{format:t,semantics:n,visitors:r}=e,i=D3(t);return{format:i,semantics:M3(i,n),visitors:r}};const D3=e=>({indent:" ",newline:"\n",space:" ",splitter:"\n",quote:"'",endOfFile:"\n",...e}),M3=(e,t={})=>({comments:!0,maxPropertiesInOneLine:2,maxPropertiesLengthInOneLine:15,maxSpecifiersInOneLine:2,maxElementsInOneLine:5,maxElementLengthInOneLine:10,maxLogicalsInOneLine:3,maxVariablesInOneLine:4,maxTypesInOneLine:3,trailingComma:!0,...O3(e),...t,roundBraces:L3(t)}),B3=Hj,F3=st.traverse,{TYPES:R3}=zj,j3=W2,{maybeFile:U3,maybeVisitor:q3,maybeThrow:$3}=X2,{createDebug:J3,createLog:V3}=c3,{maybeMarkAfter:K3}=SU,{parseLeadingComments:W3,parseTrailingComments:X3}=bU,{parseOverrides:H3}=A3,z3=e=>e&&"object"==typeof e,{round:Y3}=Math,{assign:G3,freeze:Q3}=Object;function Z3(e,t){let n="";for(++e;--e>0;)n+=t;return n}Xj.tokenize=(e,t)=>{const{visitors:n,format:r,semantics:i}=H3(t),s=[],a=(e=>{const t=V3();return n=>{t(n),e.push(n)}})(s),o=J3(s),u=e=>{a({type:R3.TOKEN,value:e})},c=()=>{a({type:R3.INDENT,value:Z3(x,r.indent)})},l=()=>{a({type:R3.NEWLINE,value:r.newline})},p=e=>e&&l(),d=()=>{l(),c()},h=e=>e&&d(),f=()=>{c(),l()},m=e=>e&&f(),y=(e,t)=>e&&u(t),g=()=>{a({type:R3.SPACE,value:r.space})},b=e=>e&&g();let x=0;G3(c,{inc:()=>++x,dec:()=>--x});const S=()=>{a({type:R3.QUOTE,value:r.quote})};G3(u,{indent:c,newline:l,linebreak:f,breakline:d,space:g,splitter:()=>{a({type:R3.SPLITTER,value:r.splitter})},quote:S,endOfFile:()=>{a({type:R3.END_OF_FILE,value:r.endOfFile})}}),G3(y,{newline:p,breakline:h,linebreak:m,space:b});const T={indent:e=>e&&c(),markAfter:K3,write:y,space:b};G3(T.indent,{inc:e=>e&&c.inc(),dec:e=>e&&c.dec()});const E=Q3({indent:c,write:u,debug:o,traverse:v,maybe:T,quote:S,store:B3()}),P={...j3,...n};function v(e){const{type:t}=e,n=P[t];if(!e.node)return;const r=e4(e,{write:u,traverse:v});G3(r,u,{space:g,round:Y3});const s={...E,print:r},a=(e,t)=>e&&r(t);G3(a,{newline:p,breakline:h,linebreak:m,space:b}),G3(s.maybe,{print:a}),$3(!n,e,"☝️ Node type '{{ type }}' is not supported yet by @putout/printer: '{{ path }}'");const c=x;W3(e,s,i,{currentTraverse:n}),q3(n,e,s,i),X3(e,s,i,{currentTraverse:n}),$3(x!==c,e,"☝️Looks like indent level changed after token visitor: '{{ type }}', for code: '{{ path }}'"),o(e.type)}return e.parentPath?function(e,t){e.parentPath.traverse({enter(n){n===e&&(t(n),n.stop())}})}(e,v):F3(U3(e),{Program(e){v(e),e.stop()}}),s};const e4=(e,{traverse:t,write:n})=>r=>{if(r===e)return null;const i=t4(e,r);return z3(i)?t(i):n(i)},t4=(e,t)=>"string"==typeof t&&t.startsWith("__")?((e,t)=>e.get(t.replace("__","")))(e,t):(z3(t),t);var n4={},r4={cook:e=>{const t=[];for(const{value:n}of e)t.push(n);return t}};const{cook:i4}=r4;n4.printTokens=e=>i4(e).join("");var s4={},a4={},o4=new RegExp(/(^[ \t]*\n)/,"gm");const u4=function(e){return e.replace(o4,"")},c4=e=>e.slice(0,e.indexOf("(")),l4=e=>e.includes("(")?`${c4(e)}(`:`${e}(`,p4=e=>"\n"===e.at(-1)?e:`${e}\n`,d4="__putout_processor_json",h4="__putout_processor_yaml",f4="__putout_processor_filesystem",m4="__putout_processor_ignore",y4=`${d4}(__object)`,g4=`${h4}(__object)`,b4=`${f4}(__object)`,x4=`${m4}(__array)`,S4=[d4,h4,f4,m4];a4.__json=y4,a4.__yaml=g4,a4.__filesystem=b4,a4.__ignore=x4,a4.__json_name=d4,a4.__yaml_name=h4,a4.__filesystem_name=f4,a4.__ignore_name=m4,a4.toJS=(e,t=y4)=>`${l4(t)}${e});\n`,a4.fromJS=(e,t=y4)=>{e=p4(e);const n=c4(t);e=e.slice(e.indexOf(n));const r=l4(t),i=e.length-3,s=e.slice(r.length,i);return p4(u4(s))},a4.isJSON=e=>{for(const t of S4)if(!e.indexOf(t))return!0;return!1};const{types:T4}=st,{isJSON:E4}=a4,{isCallExpression:P4,isIdentifier:v4}=T4;s4.maybeJSON=(e,t)=>function(e){const{program:t}=e;if(!t)return!1;const{body:n}=e.program;if(!n.length)return!1;const{expression:r}=e.program.body[0];if(!P4(r))return!1;const{callee:i}=r;return!!v4(i)&&E4(i.name)}(e)?{...t,format:{...t?.format,quote:'"'},semantics:{...t?.semantics,trailingComma:!1,escapeSingleQuote:!1,escapeDoubleQuote:!0}}:t;const{tokenize:A4}=Xj,{printTokens:w4}=n4,{maybeJSON:C4}=s4,{maybeVisitor:k4}=X2,I4=W2;Wj.print=(e,t={})=>{!function(e){if("object"!=typeof e)throw Error("☝️Looks like ast not an object")}(e);const n=C4(e,t),r=A4(e,n);return w4(r)},Wj.visitors=I4,Wj.maybeVisitor=k4;var _4={};function N4(e){let t=e.length;if(!t)return!1;for(;--t>-1;)if(" "!==e[t])return!0;return!1}function L4(e){let t="";for(let n=0;n<e.length;n++){if(" "!==e[n])return t;t+=" "}return t}const{generate:O4}=st,D4=e=>{!function(e){if(t=e,"string"!=typeof t)throw Error("str should be a string!");var t}(e);const t=e.split("\n"),n=t.length-1;for(let e=0;e<n;e++){const n=t[e];e&&!N4(n)&&(t[e]=L4(t[e+1]))}return t.join("\n")},M4={alignSpaces:!0};_4.print=(e,t)=>{const{source:n,alignSpaces:r}={...M4,...t};let{code:i}=O4(e,{...n&&{experimental_preserveFormat:!0,retainLines:!0}},n);return"\n"===i[0]&&(i=i.trimStart()),i+="\n",r?D4(i):i};const B4=Wj,F4=_4,{isArray:R4}=Array;var j4=(e,t={})=>{const[n="putout",r]=(i=t.printer,R4(i)?i:[i,{}]);var i;return"babel"===n?F4.print(e,{...t,...r}):B4.print(e,r)},U4={};const{types:q4}=st,{isFunctionExpression:$4,objectMethod:J4}=q4,{assign:V4}=Object;function K4(e,t){return e.loc&&t.loc?{start:e.loc.start,end:t.loc.end}:null}const{types:W4}=st,{classPrivateMethod:X4,classMethod:H4,privateName:z4,identifier:Y4}=W4,{assign:G4}=Object;const Q4=({type:e})=>"PrivateIdentifier"===e;const{types:Z4}=st,{identifier:e5}=Z4;const{types:t5}=st,{directive:n5,directiveLiteral:r5}=t5;const{assign:i5}=Object;var s5={convertParenthesizedExpression:({convertParens:e})=>t=>{if(!e)return;const{expression:n}=t.node;n.extra=n.extra||{},n.extra.parenthesized=!0,t.replaceWith(n)}},a5={convertTSParenthesizedType:({convertParens:e})=>t=>{if(!e)return;const{typeAnnotation:n}=t.node;n.extra=n.extra||{},n.extra.parenthesized=!0,t.replaceWith(n)}},o5={convertNodeComments:e=>{const{comments:t}=e;if(t){delete e.comments,e.leadingComments=void 0,e.trailingComments=void 0,e.innerComments=void 0;for(const n of t){const t=c5(n);e[t]||(e[t]=[]),delete n.leading,delete n.trailing,n.type=u5(n),e[t].push(n)}}},convertProgramComments:e=>{for(const t of e)t.type=u5(t);return e}};const u5=({type:e})=>`Comment${e}`;function c5({trailing:e,leading:t}){return e?"trailingComments":t?"leadingComments":"innerComments"}const{convertProgramComments:l5}=o5;var p5={convertPropertyDefinition:e=>{const{node:t}=e;if("PrivateIdentifier"===t.key.type){const{key:e}=t;return t.type="ClassPrivateProperty",void(t.key=d5(e))}e.node.type="ClassProperty"},convertTSInterfaceHeritage:e=>{let{expression:t}=e.node;for(;"MemberExpression"===t.type;){const{object:e,property:n}=t;t.type="TSQualifiedName",t.left=e,t.right=n,delete t.object,delete t.property,t=e}},convertPrivateIdentifier:e=>{e.replaceWith(d5(e.node))},convertTSAbstractMethodDefinition:e=>{const{node:t}=e,{generator:n,async:r,params:i,id:s,returnType:a}=t.value,o={...t,abstract:!0,generator:n,async:r,params:i,id:s,returnType:a,type:"TSDeclareMethod"};delete o.value,e.replaceWith(o)}};const d5=e=>({type:"PrivateName",id:{...e,type:"Identifier"},loc:e.loc}),{traverse:h5,types:f5}=st,m5=e=>{for(const t of e){const{computed:e,key:n,method:r,value:i}=t.node;r&&$4(i)&&(t.replaceWith(J4("method",n,i.params,i.body,e)),V4(t.node,{id:null,method:!0,generator:i.generator,loc:K4(n,i),async:i.async,type:"ObjectMethod"}))}},y5=e=>{const{node:t}=e,{key:n,kind:r,computed:i,loc:s}=t,{body:a,params:o,expression:u,generator:c}=t.value,l=function({kind:e,key:t,params:n,body:r,computed:i,nodeStatic:s}){if(Q4(t)){const s=function(e){return z4(Y4(e.name))}(t);return X4(e,s,n,r,i)}return H4(e,t,n,r,i,s)}({kind:r,key:n,params:o,body:a,computed:i,nodeStatic:t.static});e.replaceWith(l),G4(e.node,{loc:s,expression:u,generator:c})},g5=e=>{e.node.type="ClassPrivateProperty"},b5=({node:e})=>{e.name&&(e.id=e5(e.name),e.id.loc={start:{line:e.loc.start.line,column:e.loc.start.column+1},end:e.loc.end},delete e.name)},x5=e=>{const{node:t}=e;if(!t.directives){t.directives=[];for(const n of e.get("body")){if("ExpressionStatement"!==n.type)continue;const e=n.node;if(!("directive"in e))continue;if(!e.directive)continue;const r=r5(e.directive),i=n5(r);t.directives.push(i),n.remove()}}},S5=e=>{const t=e.get("expression"),{expression:n}=e.node;if(t.isCallExpression()){const e=t.get("callee");n.type="OptionalCallExpression",e.isMemberExpression()&&(n.callee.type="OptionalMemberExpression")}else n.type="OptionalMemberExpression";e.replaceWith(n)},T5=e=>{const{attributes:t=[]}=e.node;e.node.attributes=t},E5=e=>{const{attributes:t=[]}=e.node;i5(e.node,{attributes:t})},{convertParenthesizedExpression:P5}=s5,{convertTSParenthesizedType:v5}=a5,{convertNodeComments:A5}=o5,w5=e=>{const{type:t,value:n}=e;"Literal"===t&&(null!==n?(e=>"string"==typeof e)(n)?e.type="StringLiteral":(e=>"number"==typeof e)(n)?e.type="NumericLiteral":(e=>"boolean"==typeof e)(n)?e.type="BooleanLiteral":e.regex&&function(e){e.type="RegExpLiteral";for(const t of Object.keys(e.regex))e[t]=e.regex[t];delete e.regex}(e):e.type="NullLiteral")},C5=e=>{if("File"===e.type)return e;const{comments:t=[],tokens:n,...r}=e;return{type:"File",program:{...r,directives:[]},comments:l5(t),tokens:n}},{convertTSInterfaceHeritage:k5,convertTSAbstractMethodDefinition:I5,convertPropertyDefinition:_5,convertPrivateIdentifier:N5}=p5,{isObjectExpression:L5,isExportDeclaration:O5}=f5,D5={convertParens:!0};function M5(e){const{raw:t}=e;e.raw=t||e.extra?.raw,e.extra=e.extra||{raw:t}}U4.estreeToBabel=(e,t)=>{const n=C5(e),r={...D5,...t};return h5(n,{noScope:!0,ParenthesizedExpression:P5(r),TSParenthesizedType:v5(r),enter(e){const{node:t}=e,{type:n}=t;return n.endsWith("Literal")?(w5(t),M5(t)):"JSXText"===n?M5(t):"BlockStatement"===n||"Program"===n?x5(e):"Property"===n?function(e){e.type="ObjectProperty"}(t):"MethodDefinition"===n?y5(e):"FieldDefinition"===n?g5(e):"PrivateName"===n?b5(e):"ImportDeclaration"===n?T5(e):O5(e)?E5(e):"ChainExpression"===n?S5(e):"TSAbstractMethodDefinition"===n?I5(e):"TSInterfaceHeritage"===n?k5(e):"PropertyDefinition"===n?_5(e):"PrivateIdentifier"===n?N5(e):void 0},exit(e){const{node:t}=e;if(A5(t),L5(t))return m5(e.get("properties"))}}),n};var B5={},F5={exports:{}},R5=function e(t,n){if(t&&n)return e(t)(n);if("function"!=typeof t)throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(e){r[e]=t[e]}),r;function r(){for(var e=new Array(arguments.length),n=0;n<e.length;n++)e[n]=arguments[n];var r=t.apply(this,e),i=e[e.length-1];return"function"==typeof r&&r!==i&&Object.keys(i).forEach(function(e){r[e]=i[e]}),r}};var j5=R5;function U5(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}function q5(e){var t=function(){if(t.called)throw new Error(t.onceError);return t.called=!0,t.value=e.apply(this,arguments)},n=e.name||"Function wrapped with `once`";return t.onceError=n+" shouldn't be called more than once",t.called=!1,t}F5.exports=j5(U5),F5.exports.strict=j5(q5),U5.proto=U5(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return U5(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return q5(this)},configurable:!0})});var $5=F5.exports;const J5=()=>{};var V5=t(Object.freeze({__proto__:null,default:J5}));var K5,W5,X5=Object.freeze({__proto__:null,default:function(e){return class extends(undefined){parseClassElement(e){const t=this._inClassMemberName;this._inClassMemberName=!0;const n=super.parseClassElement.apply(this,arguments);return this._inClassMemberName=t,n}parsePropertyName(e){const t=this.options.ecmaVersion>=8&&this._inClassMemberName&&this.type==this.privateNameToken&&!e.static;return this._inClassMemberName=!1,t?this.parsePrivateClassElementName(e):super.parsePropertyName(e)}}}}),H5=t(X5);const z5=$5(()=>{const{Parser:e}=V5,t=(W5||(W5=1,K5=function(e){return e.extend(V5,V5,H5)}),K5),n=V5.default;return e.extend(n(),t)});B5.parse=function(e){const t=z5(),n={locations:!0,comment:!0,ecmaVersion:2023,sourceType:"module",allowAwaitOutsideFunction:!0,allowReturnOutsideFunction:!0,allowImportExportEverywhere:!0,preserveParens:!0},r=Array.from(t.tokenizer(e,n));return{...t.parse(e,n),tokens:r}};var Y5={},G5=["importMeta","importAttributes","deprecatedImportAssert","dynamicImport","bigInt","classProperties","decorators-legacy","decoratorAutoAccessors","destructuringPrivate","exportDefaultFrom","throwExpressions","deferredImportEvaluation",["discardBinding",{syntaxType:"void"}],"sourcePhaseImports",["optionalChainingAssign",{version:"2023-07"}]],Q5={allowReturnOutsideFunction:!0,allowUndeclaredExports:!0,allowImportExportEverywhere:!0};const Z5=$5,e8=G5,t8=Q5,{assign:n8}=Object,r8=e=>!e.indexOf("// @flow"),i8=Z5(()=>st);function s8({isTS:e,isFlow:t,isJSX:n}){const r=[n&&"jsx"];return e||t?r.concat(["typescript"]):r}Y5.parse=function(e,t){const{sourceFileName:n,isTS:r,isJSX:i=!0,isFlow:s=r8(e),isRecovery:a,printer:o}=t,{parse:u}=i8(),c={sourceFileName:n,sourceType:"module",tokens:!0,...t8,errorRecovery:a,plugins:(l=[...e8,...s8({isTS:r,isFlow:s,isJSX:i})],l.filter(Boolean))};var l;"babel"===o&&n8(c,{createParenthesizedExpressions:!0});const p=u(e,c);return p.program.extra.__putout_printer=o,p};var a8={};const o8=$5(()=>V5);a8.parse=function(e){const{parse:t}=o8();return t(e,{loc:!0,tokens:!0,comment:!0,ecmaVersion:2023,sourceType:"module",ecmaFeatures:{jsx:!0}})};var u8={};const c8=$5(()=>V5);u8.parse=function(e){const{parse:t}=c8();return t(e,{loc:!0,tokens:!0,comment:!0,sourceType:"module",jsx:!0})};var l8={};const p8=$5(()=>V5);l8.parse=e=>{const{Tenko:t}=p8(),{ast:n}=t(e,{goalMode:"module",allowGlobalReturn:!0,exposeScopes:!0});return n};var d8={};const h8=$5(()=>V5);d8.parse=function(e){return h8().parse(e,{babel:!0,allowReturnOutsideFunction:!0,flow:"detect",locations:!0,tokens:!0})};var f8=(e,...t)=>{try{return[null,e(...t)]}catch(e){return[e]}};const m8=f8;const y8=B5,g8=Y5,b8=a8,x8=u8,S8=l8,T8=d8,E8=(e,t,n,r)=>{const[i,...s]=r,[a,o]=m8(e,t,i);if(!a)return o;if(function(e,t){for(const n of t)if(e.message.includes(n))return!0;return!1}(a,n))throw a;for(const n of s){const[r,i]=m8(e,t,n);if(!r)return i}throw a},P8=["has already been declared"];function v8(e,{parser:t,printer:n,isTS:r,isJSX:i,isRecovery:s}){return"babel"===t?g8.parse(e,{isTS:r,isJSX:i,isRecovery:s,printer:n}):"object"==typeof t?t.parse(e,{isJSX:i,isTS:r}):"espree"===t?b8.parse(e):"acorn"===t?y8.parse(e):"esprima"===t?x8.parse(e):"tenko"===t?S8.parse(e):"hermes"===t?T8.parse(e):function(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}(t).parse(e)}var A8={};const w8=f8;A8.tryThrowWithReason=(e,...t)=>{const[n,r]=w8(e,...t);if(n)throw n.reason="parse",n;return r};const{estreeToBabel:C8}=U4,k8=(e,t,{isTS:n,isJSX:r,printer:i})=>{const s={parser:t,printer:i,isTS:n,isJSX:r},a={...s,isJSX:!1},o={...s,isRecovery:!0};return E8(v8,e,P8,[s,a,o])},{tryThrowWithReason:I8}=A8,{assign:_8}=Object;var N8=(e,t)=>{!function(e){if(t=e,"string"!=typeof t)throw Error(`☝️ Looks like type of 'source' is not 'string', but '${typeof e}'`);var t}(e);const{parser:n,printer:r="putout",isTS:i,isJSX:s}=t||{},{parse:a}=L8({printer:r,parser:n,isTS:i,isJSX:s});return I8(a,e)};const L8=({parser:e="babel",isTS:t,isJSX:n,printer:r})=>({parse(i){const s={};"babel"===r&&_8(s,{convertParens:!1});return C8(k8(i,e,{isTS:t,isJSX:n,printer:r}),s)}});const{generate:O8}=st;var D8=(e,t,n)=>O8(e,{comments:!1,...t},n),M8={exports:{}};function B8(e,t){t||(t={});var n,r,i,s=t.vargs||function(e){var t=e+"",n=t.indexOf("...");return n>=0&&(n<t.indexOf(")")||t.indexOf("arguments")>=0)}(e),a=[],o=new Map,u=t.maxAge>0&&t.maxAge<1/0?function(e){return r=setTimeout(function(){n?o.delete(e):a.splice(e,1)},t.maxAge)}:0,c=t.equals?t.equals:0,l=t.maxArgs,p=t.serializer;return 1!==e.length||t.equals||s?i=c?function(){for(var t=l||arguments.length,n=a.length,r=-1;++r<n;)if(a[r].length===t){for(var i=-1;++i<t&&c(arguments[i],a[r][i]););if(i===t)return a[r].val}return a[r]=arguments,!u||u(r),arguments.val=e.apply(this,a[r])}:function(){for(var t=l||arguments.length,n=a.length,r=-1;++r<n;)if(a[r].length===t){for(var i=-1;++i<t&&arguments[i]===a[r][i];);if(i===t)return a[r].val}return a[r]=arguments,!u||u(r),arguments.val=e.apply(this,a[r])}:(i=function(t){var n;return p&&(t=p(t)),o.get(t)||(!u||u(t),o.set(t,n=e.call(this,t)),n)},n=1),i.clear=function(){r&&clearTimeout(r),o.clear(),a=[]},i.keys=function(){return n?[...o.keys()]:a.slice()},i.values=function(){return n?[...o.values()]:a.map(e=>e.val)},i}var F8=t(Object.freeze({__proto__:null,default:B8,nanomemoize:B8}));!function(e){const{types:t,template:n}=st,{nanomemoize:r}=F8,i=G5,s={...Q5,plugins:[...i,"typescript","jsx"]},{isExpressionStatement:a,isTSExternalModuleReference:o}=t,u=e=>a(e)||o(e)?e.expression:e;e.exports=r((e,t)=>{const r=n(e,{...s,...t});return(...e)=>{const t=r(...e);return u(t)}}),e.exports.ast=r((e,t)=>{const r=n.ast(e,{...s,...t});return u(r)}),e.exports.program=r((e,t)=>n.program(e,{...s,...t})),e.exports.program.ast=r((e,t)=>n.program.ast(e,{...s,...t})),e.exports.ast.fresh=(e,t)=>{const r=n.ast(e,{...s,...t});return u(r)},e.exports.extractExpression=u}(M8);var R8=M8.exports;R8.default;const j8=j4,U8=N8,q8=D8,$8=R8;Kj.print=j8,Kj.parse=U8,Kj.generate=q8,Kj.template=$8;var J8={mergeShebang:(e,t)=>e?`${e}\n${t}`:t,cutShebang:e=>{if(e.indexOf("#"))return[e,""];const t=e.split("\n"),n=t.slice(1).join("\n"),[r]=t;return[n,`${r}\n`]}},V8={},K8={},W8={};function X8(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}var H8=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,z8=function(e){return H8.exec(e).slice(1)};function Y8(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var r=n>=0?arguments[n]:"/";if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");r&&(e=r+"/"+e,t="/"===r.charAt(0))}return(t?"/":"")+(e=X8(s6(e.split("/"),function(e){return!!e}),!t).join("/"))||"."}function G8(e){var t=Q8(e),n="/"===a6(e,-1);return(e=X8(s6(e.split("/"),function(e){return!!e}),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e}function Q8(e){return"/"===e.charAt(0)}function Z8(){return G8(s6(Array.prototype.slice.call(arguments,0),function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))}function e6(e,t){function n(e){for(var t=0;t<e.length&&""===e[t];t++);for(var n=e.length-1;n>=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=Y8(e).substr(1),t=Y8(t).substr(1);for(var r=n(e.split("/")),i=n(t.split("/")),s=Math.min(r.length,i.length),a=s,o=0;o<s;o++)if(r[o]!==i[o]){a=o;break}var u=[];for(o=a;o<r.length;o++)u.push("..");return(u=u.concat(i.slice(a))).join("/")}function t6(e){var t=z8(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."}function n6(e,t){var n=z8(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n}function r6(e){return z8(e)[3]}var i6={extname:r6,basename:n6,dirname:t6,sep:"/",delimiter:":",relative:e6,join:Z8,isAbsolute:Q8,normalize:G8,resolve:Y8};function s6(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r<e.length;r++)t(e[r],r,e)&&n.push(e[r]);return n}var a6="b"==="ab".substr(-1)?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)},o6=t(Object.freeze({__proto__:null,basename:n6,default:i6,delimiter:":",dirname:t6,extname:r6,isAbsolute:Q8,join:Z8,normalize:G8,relative:e6,resolve:Y8,sep:"/"}));var u6={simpleImport:async e=>{const t=await import(e);return t.default||t}};const c6=l3,{join:l6}=o6,p6=$5,{nanomemoize:d6}=F8,h6=async(e,...t)=>{!function(e){if("function"!=typeof e)throw Error("fn should be a function!")}(e);try{return[null,await e(...t)]}catch(e){return[e]}},{simpleImport:f6}=u6,{assign:m6}=Object;async function y6(e,t=f6){let n,r;for(const i of e){if([n,r]=await h6(t,i),!n)return r;if("ERR_UNSUPPORTED_DIR_IMPORT"===n.code){const e=require.resolve(i);if([n,r]=await h6(t,e),!n)return r}if("ERR_MODULE_NOT_FOUND"!==n.code)throw m6(n,{message:`${i}: ${n.message}`}),n}throw m6(n,{message:n.message.replace(/\simported.*/,"")}),n}W8.createAsyncLoader=e=>d6(async(t,n)=>{if("none"===t)return()=>{};if(t.startsWith("import:")){const e=t.replace("import:","");return await y6([require.resolve(e)],n)}const r=[`@putout/${e}-${t}`,`putout-${e}-${t}`],i=r.flatMap(b6),s=Array.from(new Set([...r,...i]));return await y6(s,n)});const g6=p6(()=>c6.env.PUTOUT_LOAD_DIR);function b6(e){const t=g6();if(!t)return[e];const n=l6(t,e);return[n,`${n}.js`]}var x6={},S6={};const T6=e=>"string"==typeof e,{isArray:E6}=Array,{entries:P6}=Object;S6.parsePluginNames=e=>{const t=[];for(const n of e)if(T6(n))t.push([n]);else{if(E6(n)){const[e,r]=n;t.push([e,r]);continue}t.push(...P6(n))}return t};var v6={};const{isArray:A6}=Array,w6=e=>"boolean"==typeof e,C6=e=>"string"==typeof e,k6=e=>"object"==typeof e,{entries:I6}=Object,{stringify:_6}=JSON,N6=e=>Error(`☝️ Rule format not supported ${e}: ${typeof e}`),L6=e=>Error(`☝️ Looks like you need to change "rules" to "match" for ${_6(e)}`),O6=()=>Object.create(null),D6=(e,t)=>(function(e,t){if(w6(t))return!0;if(/^(on|off)$/.test(t))return!0;if(k6(t))return!0;throw(({rule:e,value:t})=>Error(`☝️ ${e}: state option can be "on" or "off" only, when used as string, received: "${t}"`))({rule:e,value:t})}(e,t),"on"===t||"off"!==t&&t);function M6(e,t){const[n]=t,r=D6(e,n);if(3===t.length){const[,n,i]=t;return{rule:e,state:r,plugin:null,msg:n,options:i}}const[,i=""]=t;return{rule:e,state:r,plugin:null,msg:"",options:i}}v6.parseRules=e=>{const t=[];!function(e){if(A6(e))throw Error("☝️Looks like type of 'rules' passed to @putout/engine-loader is 'array', expected: 'object'.")}(e);for(const[n,r]of I6(e)){if(C6(r)){t.push({rule:n,state:D6(n,r),plugin:null,msg:"",options:O6()});continue}if(w6(r)){t.push({rule:n,state:r,plugin:null,msg:"",options:O6()});continue}if(!(A6(r)&&r.length)){if(k6(r))throw L6(r);throw N6(r)}t.push(M6(n,r))}return t};const B6=e=>e.split("/")[0];v6.enableNestedRules=e=>{const t={};for(const[n,r]of I6(e))n.includes("/")&&D6(n,r)&&(t[B6(n)]="on"),t[n]=r;return t};var F6={};F6.mergeRules=([e,t],n)=>{for(const r of n){if(r.rule!==e)continue;const{msg:n,options:i}=r;return{rule:e,plugin:t,msg:n,options:i}}return{rule:e,plugin:t,msg:"",options:Object.create(null)}};var R6={};const j6=e=>e.includes("/")?e.split("/").shift():e,U6=e=>e.replace("import:@putout/plugin-","").replace("@putout/plugin-","");R6.validateRules=({items:e,rules:t})=>{const n=Object.keys(t);for(const t of n){let n=!1,r=!1,i=!1;for(const[s,a={}]of e){const e=U6(s);if(n=e===t,r=e===j6(t),i=t.includes(e),n&&a.rules)throw Error(`Rule '${t}' cannot be applied to nested plugin '${s}'`);if(n||r||i)break}if(!n&&!r&&!i)throw Error(`No plugin found for a rule: '${t}'`)}};var q6={isEnabled:(e,t)=>{for(const{rule:n,state:r}of t)if(n===e)return r;for(const{rule:n,state:r}of t)if(n.includes("/")&&RegExp(`^${n}`).test(e))return r;for(const{rule:n,state:r}of t)if(RegExp(`^${n}/`).test(e))return r;return!0}},$6={getLoadedRules:e=>{const t=[];for(const n of e){const{rule:e}=n;e.includes("/")||t.push(n)}return t}};const{parseRules:J6}=v6,{mergeRules:V6}=F6,{validateRules:K6}=R6,{isEnabled:W6}=q6,{getLoadedRules:X6}=$6;var H6={parseRules:J6,mergeRules:V6,validateRules:K6,isEnabled:W6,getLoadedRules:X6},z6={};z6.check=e=>{if(!e||"object"!=typeof e)throw Error("options should be an object!")},z6.checkRule=e=>{if("string"!=typeof e)throw Error(`☝️ Looks like plugin name type is not 'string', but: '${typeof e}'`)};const{parsePluginNames:Y6}=S6,{validateRules:G6}=H6,{check:Q6}=z6;x6.validateRulesRelations=e=>{Q6(e);const{pluginNames:t=[],rules:n={}}=e,r=Y6(t);G6({rules:n,items:r})};var Z6={},e9={};const{parsePluginNames:t9}=S6,{enableNestedRules:n9}=v6,{parseRules:r9,getLoadedRules:i9}=H6;e9.prepareRules=({rules:e,pluginNames:t})=>{const n=n9(e),r=r9(n),i=i9(r);return{items:t9(t),loadedRules:i,cookedRules:r9(e)}};const s9=["find","traverse","replace","include","exclude","rules","declare","scan"];var a9=({plugin:e,rule:t})=>{const n=Object.keys(e);for(const e of s9)if(n.includes(e))return;throw Error(`☝️ Cannot determine type of plugin '${t}'. Here is list of supported plugins: https://git.io/JqcMn`)},o9={};const{isEnabled:u9,mergeRules:c9}=H6,{isArray:l9}=Array,p9=e=>l9(e)?e:["on",e];function d9(e,t,n){if("on"===t)return!0;for(const{rule:t,state:r}of n)if(t.includes("/")&&RegExp(`^${t}`).test(e))return r;return!1}o9.filterEnabledPlugins=({plugins:e,cookedRules:t})=>{const n=[];for(const[r,i]of e){if(!u9(r,t))continue;const[e,s]=p9(i);d9(r,e,t)&&n.push(c9([r,s],t))}return n};const{basename:h9}=o6,{isEnabled:f9}=H6,{prepareRules:m9}=e9,y9=a9,{filterEnabledPlugins:g9}=o9,{createAsyncLoader:b9}=W8,{check:x9,checkRule:S9}=z6,T9=b9("plugin");Z6.loadPluginsAsync=async e=>{x9(e);const{pluginNames:t=[],rules:n={}}=e,{items:r,loadedRules:i,cookedRules:s}=m9({rules:n,pluginNames:t}),a=await async function({items:e,loadedRules:t}){const n=[],r=[];for(const[i,s]of e){if(!f9(i,t))continue;S9(i);const[e]=E9(i),a=s||T9(e);r.push(v9(i)),n.push(a)}const i=await Promise.all(n),s=[];for(const[e,t]of r.entries()){const n=i[e];y9({plugin:n,rule:t});const{rules:r}=n;r?s.push(...P9(t,r)):s.push([t,n])}return s}({items:r,loadedRules:i});return g9({plugins:a,cookedRules:s})};const E9=e=>[e,"putout"];function P9(e,t){const n=[],r=Object.entries(t);for(const[t,i]of r)n.push([`${e}/${t}`,i]);return n}function v9(e){if(e.startsWith("import:")){return h9(e.replace("import:","")).replace("plugin-","")}return e}var A9,w9={},C9={},k9=t(Object.freeze({__proto__:null,default:{}}));function I9(){if(A9)return C9;A9=1;const e=l3,{createRequire:t}=k9,{join:n}=o6,r=f8,i=$5,{assign:s}=Object,a=e=>({name:t,namespace:n})=>{const[i,a]=function(e,t,n){if(n.startsWith("import:"))return l(n.replace("import:",""));let[r,i]=l(`@${e}/${t}-${n}`);r||([r,i]=l(`${e}-${t}-${n}`));r||([r,i]=l(n));return[r,i]}(n,e,t);if(!i)throw Error(`${o=e,`${o[0].toUpperCase()}${o.slice(1)}`} "${n}-${e}-${t}" could not be found!`);var o;const[u,c]=r(a,i);if("ERR_REQUIRE_ESM"===u?.code&&s(u,{message:`☝️ Looks like '${t}' is ESM, use 'await putoutAsync()' instead`,name:t}),u)throw u;return c};C9.loadPlugin=a("plugin"),C9.loadProcessor=a("processor");const{PUTOUT_YARN_PNP:o="putout"}={},u=i(()=>t(require.resolve(o))),c=i(()=>t(require.resolve("putout")));function l(e,{again:t=!1}={}){let i;const s=u(),a=c();return[,i]=r(a.resolve,e),i?[i,a]:([,i]=r(s.resolve,e),i||t?[i,s]:l(function(e){const t=p();return t?n(t,e):e}(e),{again:!0}))}const p=i(()=>e.env.PUTOUT_LOAD_DIR);return C9}const _9=a9,{prepareRules:N9}=e9,{isEnabled:L9}=H6,{filterEnabledPlugins:O9}=o9,{check:D9,checkRule:M9}=z6,{isArray:B9}=Array;w9.loadPlugins=e=>{D9(e);const{pluginNames:t=[],rules:n={}}=e,{items:r,loadedRules:i,cookedRules:s}=N9({rules:n,pluginNames:t}),a=function({items:e,loadedRules:t}){const n=[];for(const[r,i]of e){if(!L9(r,t))continue;M9(r);const e=R9(r),[s,a]=F9(r),o=j9(i)||q9({name:s,namespace:a});_9({plugin:o,rule:r});const{rules:u}=o;u?n.push(...U9(e,u)):n.push([e,o])}return n}({items:r,loadedRules:i});return O9({plugins:a,cookedRules:s})};const F9=e=>[e,"putout"],R9=e=>e.replace("import:@putout/plugin-","").replace("@putout/plugin-",""),j9=e=>B9(e)?e[1]:e;function U9(e,t){const n=[],r=Object.entries(t);for(const[t,i]of r)n.push([`${e}/${t}`,i]);return n}function q9({name:e,namespace:t}){const{loadPlugin:n}=I9();return n({name:e,namespace:t})}var $9={};const J9=e=>"string"==typeof e,{isArray:V9}=Array,K9=e=>"on"===e,W9=e=>"off"===e;const{createAsyncLoader:X9}=W8,H9=e=>{const t=[];for(const n of e)if(J9(n))t.push([n]);else if(V9(n)){const[e,r]=n;if(W9(r))continue;if(K9(r)){t.push([e]);continue}t.push([e,r]);continue}return t},{check:z9}=z6;$9.loadProcessorsAsync=async(e,t)=>{z9(e);const{processors:n=[]}=e,r=H9(n),i=X9("processor"),s=[];for(const[e,n]of r)n?s.push(n):s.push(i(e,t));return await Promise.all(s)};const{createAsyncLoader:Y9}=W8,{validateRulesRelations:G9}=x6,{loadPluginsAsync:Q9}=Z6,{loadPlugins:Z9}=w9,{loadProcessorsAsync:e7}=$9;K8.loadPlugins=Z9,K8.loadPluginsAsync=Q9,K8.loadProcessorsAsync=e7,K8.createAsyncLoader=Y9,K8.validateRulesRelations=G9;var t7={},n7={};const r7=V5;n7.createDebug=t=>{const n=r7(t);return new Proxy(n,{apply:(n,r,i)=>(e.__putout_debug?.(t,...i),n(...i)),get:(t,n)=>!!e.__putout_debug?.[n]||t[n]})};const i7=f8,{createDebug:s7}=n7,{stringify:a7}=JSON,o7=s7("putout:runner:fix");var u7=(e,t,{path:n,pathOptions:r,rule:i,position:s,options:a})=>{e&&(o7.enabled&&o7(`${i}:`,s,(e=>e.path||e)(n).toString()),function(e,t){if(n=t,"function"!=typeof n)throw Error(`☝️ Looks like '${e}' is not a 'function' but '${typeof t}' with value: '${a7(t)}'. More on writing 🐊Putout Plugins: https://git.io/JqcMn`);var n}("fix",t),((e,{path:t,pathOptions:n,position:r,options:i})=>{const[s]=i7(e,...(({path:e,pathOptions:t,options:n})=>t?[e,t,{options:n}]:[e,{options:n}])({path:t,pathOptions:n,options:i})),{scope:a}=t.path||t;if(!s&&a&&a.getProgramParent().crawl(),s)throw s.loc=s.loc||r,s.reason="fix",s})(t,{path:n,pathOptions:r,position:s,options:a}))};var c7={};const l7=e=>e.path||e[0]||e;c7.getPath=l7,c7.getPosition=(e,t)=>{const n=l7(e);!function(e){if(!e.node)throw Error("☝️ Looks like 'push' called without a 'path' argument.")}(n);const{node:r}=n,{loc:i}=r;if(!i)return{line:0,column:0};const{line:s,column:a}=r.loc.start;return{line:t?s+1:s,column:a}};const{isArray:p7}=Array;var d7=e=>e?(e=>p7(e)?e:[e])(e):[],h7={};const{stringify:f7}=JSON;h7.validate=(e,t)=>{if("function"!=typeof t)throw Error(`☝️ Looks like '${e}' is not a 'function' but '${typeof t}' with value: '${f7(t)}'. More on using Includer: https://git.io/JqcMn`)};var m7={};const{values:y7,entries:g7,assign:b7}=Object,x7=e=>Array.from(e),S7=e=>e.node,T7=e=>x7(e).filter(S7),E7=e=>e;function P7({set:e,get:t}){return(n={})=>{const r=(...r)=>{if(!r.length)return t(n);const[i,s]=r;if(1===r.length)return n[i];e(n,i,s)};return r.clear=()=>{n={}},r.entries=()=>g7(n),r}}function v7(e=E7){return(t=new Set)=>{const n=(...n)=>{if(!n.length)return e(x7(t));const[r]=n;t.add(r)};return n.clear=()=>{const n=t;return t=new Set,e(x7(n))},n}}m7.listStore=v7(),m7.pathStore=v7(T7),m7.mapStore=P7({get:e=>y7(e),set(e,t,n){e[t]=n}}),m7.upStore=P7({get:e=>y7(e),set(e,t,n){e[t]=e[t]||{},b7(e[t],n)}}),m7.upListStore=P7({get:e=>y7(e).map(T7),set(e,t,n){e[t]=e[t]||new Set,e[t].add(n)}});const{traverse:A7}=st,{generate:w7}=Kj,C7=u7,{getPosition:k7}=c7,I7=d7,{validate:_7}=h7,{listStore:N7,mapStore:L7,upStore:O7,upListStore:D7,pathStore:M7}=m7,{merge:B7}=A7.visitors,{assign:F7}=Object,R7=(e,t,n)=>{const r=[];return t[e]&&(_7(e,t[e]),r.push(...I7(t[e]()))),n[e]&&r.push(...I7(n[e])),r};var j7=(e,{fix:t,shebang:n,template:r})=>{const i=[],s={};for(const{rule:a,plugin:o,msg:u,options:c}of e){const{push:e,pull:l,store:p,upstore:d,listStore:h,pathStore:f,uplist:m}=U7(o,{fix:t,rule:a,shebang:n,msg:u,options:c});s[a]=l;const y=o.traverse({push:e,store:p,listStore:h,pathStore:f,upstore:d,uplist:m,generate:w7,options:c});if(!y)throw Error(`☝️ Visitors cannot be empty in "${a}"`);F7(c,{include:R7("include",o,c),exclude:R7("exclude",o,c)}),i.push(...r({rule:a,visitor:y,options:c}))}return{entries:Object.entries(s),visitor:B7(i)}};function U7(e,{fix:t,rule:n,shebang:r,msg:i,options:s}){const a=L7(),o=N7(),u=O7(),c=N7(),l=D7(),p=M7();return{push:(a,o)=>{const u=k7(a,r),l=i||e.report(a,o);c({message:l,position:u}),C7(t,e.fix,{path:a,pathOptions:o,rule:n,position:u,options:s})},pull:()=>(a.clear(),o.clear(),u.clear(),l.clear(),p.clear(),c.clear()),store:a,listStore:o,upstore:u,uplist:l,pathStore:p}}const{traverse:q7,types:$7}=st,{generate:J7}=Kj,{merge:V7}=q7.visitors;var K7=function({rule:e,find:t,ast:n,options:r,template:i,traverse:s=q7}){const a=[],o=t(n,{traverse:W7({rule:e,options:r,template:i,traverse:s}),generate:J7,types:$7,push:e=>{a.push(e)},options:r});return[...a,...o||[]]};const W7=({rule:e,options:t,template:n,traverse:r})=>(i,s)=>{const a=V7(n({rule:e,visitor:s,options:t}));return r(i,a)};var X7={exports:{}},H7={},z7={};const Y7=e=>void 0===e;const G7=(e,t=Number(e))=>(e=>!Number.isNaN(e)&&"number"==typeof e)(t),Q7=e=>/__proto__|prototype/.test(e);var Z7={};const eee=/\.body\.0\.expression$/,tee=/\.body\.0\.key$/,nee=/\.body\.0$/;Z7.prepareBodyWay=e=>e.replace(eee,"").replace(tee,"").replace(nee,"");var ree={};const{template:iee}=Kj,{types:see}=st,{isBlockStatement:aee,isTSModuleBlock:oee,isBooleanLiteral:uee,isIdentifier:cee,isLiteral:lee,isTemplateElement:pee,isFunction:dee,isImportDefaultSpecifier:hee,isExportSpecifier:fee,isRegExpLiteral:mee,isJSXText:yee,isJSXIdentifier:gee,isJSXAttribute:bee,isTSTypeReference:xee,isTSTypeParameterDeclaration:See}=see,Tee="__object",Eee="__array",Pee="__args",vee="__type_params",Aee="__imports",wee="__exports",Cee="__body",kee="__jsx_children",Iee="__jsx_attributes",_ee="__",Nee="__identifier",Lee="__bool",Oee=/^__[a-z]$/,Dee=/__args__[a-z]$/,Mee=/^__identifier__[a-z]$/,Bee=/^__bool__[a-z]$/,Fee=[Tee,Eee,Pee,vee,Lee,kee,Iee,Aee,wee,Cee,_ee,Nee,Oee,Dee,Mee,Bee];function Ree(e,t){return"string"==typeof t?e===t:t.test(e)}ree.isTemplate=e=>/[(;={.\s]/.test(e)||!/^[A-Z]/.test(e),ree.is=(e,t=Fee)=>{for(const n of t)if(Ree(e,n))return!0;return!1},ree.isNameStr=e=>Oee.test(e),ree.isImportsStr=e=>e===Aee,ree.isExportsStr=e=>e===wee,ree.isArgsStr=e=>e===Pee||Dee.test(e),ree.isTypeParamsStr=e=>e===vee,ree.isJSXChildrenStr=e=>e===kee,ree.isJSXAttributesStr=e=>e===Iee,ree.isObjectStr=e=>e===Tee,ree.isArrayStr=e=>e===Eee,ree.isAnyStr=e=>e===_ee,ree.isBodyStr=e=>e===Cee;const jee=e=>cee(e,{name:Cee}),Uee=(e,t)=>e.type===t.type,{isArray:qee}=Array;ree.isId=(e,t)=>!!cee(t,{name:Nee})&&cee(e),ree.isBool=(e,t)=>!!cee(t,{name:Lee})&&uee(e),ree.isEqualType=Uee,ree.isStr=e=>"string"==typeof e,ree.isAny=e=>!!cee(e,{name:_ee})||yee(e,{value:_ee}),ree.isAnyLiteral=(e,t)=>!!lee(t,{value:_ee})&&Uee(e,t),ree.isArgs=e=>{const t=qee(e)?e[0]:e;return cee(t,{name:Pee})};ree.isEqualTypeParams=(e,t)=>!!e&&(!!(e=>{if(!See(e))return!1;const{params:t}=e,{name:n}=t[0];return cee(n,{name:vee})})(t)&&Uee(e,t)),ree.isLinkedArgs=e=>{const t=qee(e)?e[0]:e;return cee(t)&&Dee.test(t.name)},ree.isJSXChildren=e=>{const t=qee(e)?e[0]:e;return yee(t,{value:kee})},ree.isJSXAttributes=e=>{const t=qee(e)?e[0]:e;return!!bee(t)&&gee(t.name,{name:Iee})},ree.isLinkedId=(e,t)=>!(!cee(t)||!Mee.test(t.name))&&cee(e),ree.isLinkedBool=(e,t)=>!(!cee(t)||!Bee.test(t.name))&&uee(e),ree.isLinkedRegExp=(e,t)=>!(!mee(t)||!Oee.test(t.pattern))&&mee(e),ree.isPath=e=>Boolean(e.node),ree.isArray=qee,ree.isObject=e=>!!e&&(!qee(e)&&"object"==typeof e),ree.isArrays=(e,t)=>!(!qee(e)||!qee(t))&&e.length===t.length,ree.isImports=e=>{const t=qee(e)?e[0]:e;return!!hee(t)&&cee(t.local,{name:Aee})},ree.isExports=e=>{const t=qee(e)?e[0]:e;return!!fee(t)&&cee(t.local,{name:wee})};const $ee="ObjectPattern|ObjectExpression",Jee="ArrayPattern|ArrayExpression";ree.isEqualAnyArray=(e,t)=>{if(!cee(t,{name:Eee}))return!1;const{type:n}=e;return Jee.includes(n)},ree.isEqualAnyObject=(e,t)=>{if(!cee(t,{name:Tee}))return!1;const{type:n}=e;return $ee.includes(n)},ree.isEqualBody=(e,t)=>!!e&&(!!jee(t)&&"BlockStatement"===e.type),ree.isEqualFunctionDeclarationBody=(e,t)=>{if(!e)return!1;if(!(jee(n=t)||(aee(n)||oee(n))&&jee(n.body[0].expression)))return!1;var n;const{type:r}=e;return/BlockStatement|TSModuleBlock/.test(r)},ree.isEqualNop=(e,t)=>{if(!cee(t,{name:"__nop"}))return!1;if(!dee(e))return!1;const{body:n}=e;return!!aee(n)&&!n.body.length},ree.isLinkedNode=e=>!(!cee(e)||!Oee.test(e.name))||(!(!lee(e)||!Oee.test(e.value))||(!(!yee(e)||!Oee.test(e.value))||(!(!gee(e)||!Oee.test(e.name))||(!(!pee(e)||!Oee.test(e.value.raw))||xee(e)&&Oee.test(e.typeName.name))))),ree.parseTemplate=(e,{program:t}={})=>{const n=(t?iee.program.ast:iee.ast)(e)||iee.ast.fresh(e);if(e===Tee)return[n,$ee];if(e===Eee)return[n,Jee];const{type:r}=n;return[n,r]},ree.isInsideTypeReference=e=>e.isIdentifier()&&e.parentPath?.isTSTypeReference(),ree.isInsideTypeParameter=e=>e.isIdentifier()&&e.parentPath?.isTSTypeParameter();const Vee=(e,t,n)=>{if(n||(n=t,t="."),function(e,t){if(n=e,"string"!=typeof n)throw Error("selector should be string!");var n;if("object"!=typeof t)throw Error("obj should be object!")}(e,n),!e)return n;if(r=n,!Object.keys(r).length)return;var r;const i=e.split(t).filter(Boolean);for(const[e,r]of i.entries()){const s=i.slice(e).join(t);if(!Y7(n[s])){n=n[s];break}if(!n[r]){n=void 0;break}n=n[r]}return n},Kee=(e,t,n,r)=>{r||(r=n||{},n=".");const i=r;!function(e){if(t=e,"string"!=typeof t)throw Error("selector should be string!");var t}(e);const s=e.split(n).filter(Boolean),a=s.length-1;for(const[e,n]of s.entries())if(!Q7(n)){if(e===a)r[n]=t;else if(!r[n]){const t=s[e+1];r[n]=G7(t)?[]:{}}r=r[n]}return i},{traverse:Wee,types:Xee}=st,{template:Hee}=Kj,{replaceWith:zee,extract:Yee}=MK,{prepareBodyWay:Gee}=Z7,{is:Qee,isArgsStr:Zee,isTypeParamsStr:ete,isJSXChildrenStr:tte,isJSXAttributesStr:nte,isImportsStr:rte,isExportsStr:ite,isInsideTypeReference:ste,isInsideTypeParameter:ate,isBodyStr:ote}=ree,{isIdentifier:ute,isStatement:cte,isJSXElement:lte,isJSXAttribute:pte,isStringLiteral:dte,isTemplateLiteral:hte,templateElement:fte}=Xee,{extractExpression:mte}=Hee,{entries:yte}=Object,{stringify:gte}=JSON;function bte(e){if(ute(e)&&Qee(e.name))return{[e.name]:[""]};const t={};return Wee(e,{noScope:!0,"Identifier|JSXIdentifier|BooleanLiteral|StringLiteral|TemplateElement|RegExpLiteral|JSXText|JSXAttribute|TSTypeReference|TSTypeParameter"(e){if(ste(e))return;if(ate(e))return;const{node:n}=e;if(pte(e.parentPath)&&e.parentPath.node.name===n)return;const r=[],i=Yee(n);Qee(i)&&(e.find(({key:e,listKey:t})=>{"number"!=typeof e?r.unshift(e):r.unshift(`${t}.${e}`)}),t[i]=t[i]||[],t[i].push(r.join(".")))}}),t}function xte({waysFrom:e,node:t}){const n={};for(const[r,i]of yte(e))for(let e of i)rte(r)||ite(r)?e=e.replace(/\.0.local$/,""):(Zee(r)||tte(r)||nte(r)||ete(r))&&(e=e.replace(/\.0$/,"")),lte(t)||(e=e.replace(/\.expression$/,"")),ote(r)&&(e=Gee(e)),n[r]=n[r]||mte(Vee(e,t));return n}z7.getTemplateValues=(e,t)=>{if("string"!=typeof t)throw Error(`☝️ Looks like argument 'template' of 'getTemplateValues(node, template)': is not a string, but '${gte(t)}'`);e=(e=>e.node||e)(e);return xte({node:e,waysFrom:bte(Hee.ast(t))})},z7.findVarsWays=bte,z7.getValues=xte;const Ste=e=>e.replace("`","\\`");z7.setValues=function({waysTo:e,values:t,path:n}){const r=mte(n.node);for(const[i,s]of yte(e))for(let e of s){if(!e){zee(n,t[i]);continue}if((rte(i)||ite(i))&&(e=e.replace(/\.0.local$/,"")),(Zee(i)||tte(i)||nte(i))&&(e=e.replace(/\.0$/,"")),cte(t[i])&&(e=e.replace(/\.expression$/,"")),dte(t[i])&&hte(r)){const{value:n}=t[i],s=fte({raw:Ste(n)});Kee(e,s,r);continue}ote(i)&&(e=Gee(e));const{extra:s}=Vee(e,r);if(s){const e=t[i].extra;t[i].extra={...s,...e}}Kee(e,t[i],r)}};var Tte={},Ete={exports:{}};const Pte=V5("putout:compare"),{isArray:vte}=Array;function Ate(e){if(vte(e)&&e[0]){const[{type:t,name:n,value:r}]=e;return`${t}: ["${n||r}"]`}if((e=>e&&"object"==typeof e)(e)){const{type:t,name:n,value:r}=e;return`${t}: "${n||r}"`}return`${typeof e}: "${e}"`}Ete.exports=(e,t)=>{if(!Pte.enabled)return;const n=Ate(e),r=Ate(t);return Pte(`${n} = ${r}`)},Ete.exports._parseValue=Ate;var wte=Ete.exports,Cte={exports:{}};const{types:kte}=st,{isIdentifier:Ite,isLiteral:_te,isStringLiteral:Nte,isTemplateElement:Lte,isTSTypeReference:Ote,isJSXText:Dte,isJSXIdentifier:Mte}=kte,Bte=e=>{e=e[0]||e;const{name:t,value:n}=e;if(Ite(e)||Mte(e))return t;if(_te(e))return n;if(Lte(e))return e.value.cooked;if(Ote(e))return e.typeName.name;if(Dte(e))return e.value;throw Error(`☝️ Looks like type of node '${e.type}' not supported by 'compare -> link -> parseName()'`)};Cte.exports=({add:e,value:t,nodeValue:n,templateStore:r})=>{const i=Bte(t);return!(Nte(t)&&!Nte(n))&&(r[i]?(Ite(r[i])&&Ote(n)||e(r[i],n,{plain:!0}),!0):(r[i]=n,!0))},Cte.exports._parseName=Bte;var Fte=Cte.exports,Rte={},jte={};const{is:Ute}=ree;jte.comparePrimitives=(e,t)=>{return!(n=t,"object"==typeof n&&null!==n||Ute(t)||t!==e);var n};const{types:qte}=st,{isObject:$te,isArrays:Jte}=ree,{comparePrimitives:Vte}=jte,{isIdentifier:Kte}=qte;Rte.comparePlain=(e,t,{add:n})=>!e&&e===t||!!e&&(!!Vte(e,t)||(!(!Kte(e)||e.name!==t.name)||($te(t)&&!Array.isArray(t)||!!Jte(e,t))&&n(e,t,{plain:!0})));const{types:Wte}=st,Xte=wte,Hte=Fte,{isId:zte,isBool:Yte,isObject:Gte,isArrays:Qte,isAny:Zte,isAnyLiteral:ene,isArgs:tne,isEqualTypeParams:nne,isJSXChildren:rne,isJSXAttributes:ine,isLinkedArgs:sne,isLinkedId:ane,isLinkedBool:one,isImports:une,isExports:cne,isEqualAnyObject:lne,isEqualAnyArray:pne,isEqualBody:dne,isEqualFunctionDeclarationBody:hne,isEqualNop:fne,isLinkedNode:mne,isLinkedRegExp:yne}=ree,{comparePlain:gne}=Rte,{comparePrimitives:bne}=jte,{isClassBody:xne,isBlock:Sne,isJSXText:Tne,isTemplateElement:Ene}=Wte,Pne=e=>(t,n)=>e(n),vne=[bne,function(e,t){if(!Ene(e)||!Ene(t))return!1;const n=e.value.raw===t.value.raw,r=e.value.cooked===t.value.cooked,i=e.tail===t.tail;return n&&r&&i},function(e,t){return!(!Tne(e)||!Tne(t))&&(/^\s+$/.test(t.value)&&/^\s+$/.test(e.value))},function(e,t){return"__"===t},Pne(xne),Pne(e=>Sne(e)&&!e.body.length),Pne(Zte),zte,Yte,pne,lne,dne,hne,fne,nne,yne,function(e,t,{add:n,templateStore:r}){const i=e&&(mne(t)||sne(t)||ane(e,t)||one(e,t));return!!i&&Hte({add:n,value:t,nodeValue:e,templateStore:r})},ene,Pne(une),Pne(cne),Pne(tne),Pne(rne),Pne(ine),function(e,t,{add:n}){const r=Gte(t);r&&n(e,t);return r},function(e,t,{add:n}){const r=Qte(e,t);r&&n(e,t);return r}];Tte.runComparators=(e,t,{add:n,templateStore:r,plain:i})=>{let s=-1;const a=vne.length;if(Xte(t,e),i)return gne(e,t,{add:n});for(;++s<a;){if((0,vne[s])(e,t,{add:n,templateStore:r}))return!0}return!1};var Ane={};const{types:wne}=st,{isEqualBody:Cne,isEqualAnyObject:kne,isEqualAnyArray:Ine,isLinkedNode:_ne,isLinkedId:Nne,isLinkedRegExp:Lne,isEqualNop:One}=ree,{isIdentifier:Dne,isStringLiteral:Mne}=wne,Bne=[kne,Ine,One,function(e,t){return Dne(e)&&_ne(t)},function(e,t){return Mne(e)&&_ne(t)},Nne,Lne,Cne];Ane.runTopLevelComparators=(e,t)=>{let n=-1;const r=Bne.length;for(;++n<r;){if((0,Bne[n])(e,t))return!0}return!1};const{template:Fne}=Kj,{findVarsWays:Rne,getValues:jne,setValues:Une,getTemplateValues:qne}=z7,{runComparators:$ne}=Tte,{runTopLevelComparators:Jne}=Ane,{isStr:Vne,isId:Kne,isPath:Wne,isEqualType:Xne,isTemplate:Hne,parseTemplate:zne}=ree,{extractExpression:Yne}=Fne,{keys:Gne}=Object,{isArray:Qne}=Array,Zne=()=>{},ere=e=>Qne(e)&&!e.length,tre=e=>Qne(e)?e:[e];function nre(e){return Vne(e)?Fne.ast(e):e.node?e.node:e}function rre(e,t,n={},r=Zne){const{findUp:i=!0}=n;if(!e&&!t)return!0;if(!e)return!1;if(!t)return!1;const s=Yne(nre(e)),a=Yne(nre(t));if(r(s,a),Kne(s,a))return!0;if(s.type===t)return!0;if(Jne(s,a))return!0;if(i&&Wne(e)&&!Xne(s,a)){const{type:t}=a,n=((e,t)=>{const n=e.findParent((e=>t=>t.type===e)(t));return n?n.node:null})(e,t);return sre(n,a)}return sre(s,a)}H7.compare=rre,H7.parseTemplate=zne,H7.isTemplate=Hne,H7.findVarsWays=Rne,H7.getValues=jne,H7.setValues=Une,H7.getTemplateValues=qne,H7.compareAny=(e,t,n)=>{t=tre(t);for(const r of t)if(rre(e,r,n))return!0;return!1},H7.compareAll=(e,t,n)=>{t=tre(t);for(const r of t)if(!rre(e,r,n))return!1;return!0};const ire=["loc","start","end","directives","extra","raw","comments","leadingComments","innerComments","parent","phase","range","trailingComments","importKind","exportKind","__putout_runner_replace"];function sre(e,t){let n=[e,t];const r=[n],i={},s=(e=>(t,n,r={})=>e.push([t,n,r]))(r);for(;n=r.pop();){const[e,t,{plain:r}={}]=n;if(!e||ere(e)&&!ere(t))return!1;for(const n of Gne(t)){if(ire.includes(n))continue;const a=Yne(e[n]),o=Yne(t[n]);if(!$ne(a,o,{add:s,templateStore:i,plain:r}))return!1}}return!0}const are=f8,{compareAny:ore,compareAll:ure,parseTemplate:cre,isTemplate:lre}=H7,pre=d7,{createDebug:dre}=n7,hre=dre("putout:runner:template"),{entries:fre}=Object,mre=e=>"function"==typeof e,yre=(e,t)=>{hre.enabled&&hre(e,t.toString())},{stringify:gre}=JSON;X7.exports._log=yre;const bre=({rule:e,tmpl:t,fn:n,nodesExclude:r})=>{if(!mre(n)||!r.length)return{[t]:n};const i=xre({rule:e,fn:n,nodesExclude:r,nodesInclude:[]});return{[t]:i}};X7.exports=({rule:e,visitor:t,options:n})=>{const r=[],i=pre(n.exclude),s=pre(n.include);for(const[n,a]of fre(t)){if(!n)continue;if(!lre(n)){r.push(bre({rule:e,tmpl:n,fn:a,nodesExclude:i}));continue}const[t,o]=cre(n),u=xre({rule:e,fn:a,nodesExclude:i,nodesInclude:[t,...s]});r.push({[o]:u})}return r},X7.exports._log=yre;const xre=({rule:e,nodesInclude:t,nodesExclude:n,fn:r})=>i=>{if(yre(e,i),n.length&&ore(i,n))return;if(t.length&&!ure(i,t))return;if(!mre(r))throw Error(`☝️ Looks like provided visitor is not a function: ${gre(r)}. More on using Traverser: https://git.io/JqcMn`);const[s]=are(r,i);if(s)throw s.rule=e,s};var Sre,Tre=X7.exports,Ere={};function Pre(){}function vre(){vre.init.call(this)}function Are(e){return void 0===e._maxListeners?vre.defaultMaxListeners:e._maxListeners}function wre(e,t,n,r){var i,s,a;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');if((s=e._events)?(s.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),s=e._events),a=s[t]):(s=e._events=new Pre,e._eventsCount=0),a){if("function"==typeof a?a=s[t]=r?[n,a]:[a,n]:r?a.unshift(n):a.push(n),!a.warned&&(i=Are(e))&&i>0&&a.length>i){a.warned=!0;var o=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");o.name="MaxListenersExceededWarning",o.emitter=e,o.type=t,o.count=a.length,function(e){"function"==typeof console.warn?console.warn(e):console.log(e)}(o)}}else a=s[t]=n,++e._eventsCount;return e}function Cre(e,t,n){var r=!1;function i(){e.removeListener(t,i),r||(r=!0,n.apply(e,arguments))}return i.listener=n,i}function kre(e){var t=this._events;if(t){var n=t[e];if("function"==typeof n)return 1;if(n)return n.length}return 0}function Ire(e,t){for(var n=new Array(t);t--;)n[t]=e[t];return n}Pre.prototype=Object.create(null),vre.EventEmitter=vre,vre.usingDomains=!1,vre.prototype.domain=void 0,vre.prototype._events=void 0,vre.prototype._maxListeners=void 0,vre.defaultMaxListeners=10,vre.init=function(){this.domain=null,vre.usingDomains&&(!Sre.active||this instanceof Sre.Domain||(this.domain=Sre.active)),this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new Pre,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},vre.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},vre.prototype.getMaxListeners=function(){return Are(this)},vre.prototype.emit=function(e){var t,n,r,i,s,a,o,u="error"===e;if(a=this._events)u=u&&null==a.error;else if(!u)return!1;if(o=this.domain,u){if(t=arguments[1],!o){if(t instanceof Error)throw t;var c=new Error('Uncaught, unspecified "error" event. ('+t+")");throw c.context=t,c}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=o,t.domainThrown=!1,o.emit("error",t),!1}if(!(n=a[e]))return!1;var l="function"==typeof n;switch(r=arguments.length){case 1:!function(e,t,n){if(t)e.call(n);else for(var r=e.length,i=Ire(e,r),s=0;s<r;++s)i[s].call(n)}(n,l,this);break;case 2:!function(e,t,n,r){if(t)e.call(n,r);else for(var i=e.length,s=Ire(e,i),a=0;a<i;++a)s[a].call(n,r)}(n,l,this,arguments[1]);break;case 3:!function(e,t,n,r,i){if(t)e.call(n,r,i);else for(var s=e.length,a=Ire(e,s),o=0;o<s;++o)a[o].call(n,r,i)}(n,l,this,arguments[1],arguments[2]);break;case 4:!function(e,t,n,r,i,s){if(t)e.call(n,r,i,s);else for(var a=e.length,o=Ire(e,a),u=0;u<a;++u)o[u].call(n,r,i,s)}(n,l,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(r-1),s=1;s<r;s++)i[s-1]=arguments[s];!function(e,t,n,r){if(t)e.apply(n,r);else for(var i=e.length,s=Ire(e,i),a=0;a<i;++a)s[a].apply(n,r)}(n,l,this,i)}return!0},vre.prototype.addListener=function(e,t){return wre(this,e,t,!1)},vre.prototype.on=vre.prototype.addListener,vre.prototype.prependListener=function(e,t){return wre(this,e,t,!0)},vre.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,Cre(this,e,t)),this},vre.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,Cre(this,e,t)),this},vre.prototype.removeListener=function(e,t){var n,r,i,s,a;if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');if(!(r=this._events))return this;if(!(n=r[e]))return this;if(n===t||n.listener&&n.listener===t)0===--this._eventsCount?this._events=new Pre:(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,s=n.length;s-- >0;)if(n[s]===t||n[s].listener&&n[s].listener===t){a=n[s].listener,i=s;break}if(i<0)return this;if(1===n.length){if(n[0]=void 0,0===--this._eventsCount)return this._events=new Pre,this;delete r[e]}else!function(e,t){for(var n=t,r=n+1,i=e.length;r<i;n+=1,r+=1)e[n]=e[r];e.pop()}(n,i);r.removeListener&&this.emit("removeListener",e,a||t)}return this},vre.prototype.off=function(e,t){return this.removeListener(e,t)},vre.prototype.removeAllListeners=function(e){var t,n;if(!(n=this._events))return this;if(!n.removeListener)return 0===arguments.length?(this._events=new Pre,this._eventsCount=0):n[e]&&(0===--this._eventsCount?this._events=new Pre:delete n[e]),this;if(0===arguments.length){for(var r,i=Object.keys(n),s=0;s<i.length;++s)"removeListener"!==(r=i[s])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=new Pre,this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(t)do{this.removeListener(e,t[t.length-1])}while(t[0]);return this},vre.prototype.listeners=function(e){var t,n=this._events;return n&&(t=n[e])?"function"==typeof t?[t.listener||t]:function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(t):[]},vre.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):kre.call(e,t)},vre.prototype.listenerCount=kre,vre.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};var _re=t(Object.freeze({__proto__:null,EventEmitter:vre,default:vre}));const{EventEmitter:Nre}=_re;Ere.createProgress=()=>{let e=0,t=0;const n=new Nre;return n.reset=()=>{t=0,e=0},n.file=({i:e,n:t,percent:r,rule:i})=>{n.emit("file",{i:e,n:t,rule:i,percent:r})},n.inc=()=>{++e},n.start=r=>{++t,n.emit("start",{pluginsIndex:t,pluginsCount:e,rule:r})},n.push=r=>{n.emit("push",{pluginsIndex:t,pluginsCount:e,rule:r})},n.end=r=>{n.emit("end",{rule:r,pluginsIndex:t,pluginsCount:e})},n};var Lre={};const Ore=f8;Lre.tryThrowWithReason=(e,...t)=>{const[n,r]=Ore(e,...t);if(n)throw n.reason??="traverse",n;return r};var Dre={};const Mre=V5("putout:runner:include"),Bre=d7,{validate:Fre}=h7,Rre=()=>[],jre=()=>!0;Dre.include=({rule:e,plugin:t,msg:n,options:r})=>{const{fix:i,report:s,include:a,exclude:o=Rre,filter:u=jre}=t;Fre("include",a),Fre("report",s);const c=Ure(a(),u,e);return{rule:e,msg:n,options:{...r,exclude:[...o(),...Bre(r.exclude)]},plugin:{report:s,fix:i,traverse:c}}};const Ure=(e,t,n)=>({push:r,options:i})=>{const s={},a=(({rule:e,filter:t,push:n,options:r})=>i=>{Mre(e),t(i,{options:r})&&n(i)})({rule:n,filter:t,push:r,options:i});for(const t of e)s[t]=a;return s};var qre={},$re={exports:{}};const Jre=e=>(...t)=>(...n)=>e(...t,...n);const{entries:Vre}=Object,{isArray:Kre}=Array;function Wre(e,t){const{node:n}=e;let r,i;for([r,i]of Vre(t)){if(Kre(i)){const e=i.indexOf(n);if(e>=0)return`${r}.${e}`;continue}if(i===n)break}return r}const Xre=(e,...t)=>(function(e){if("function"!=typeof e)throw Error("fn should be a function!")}(e),t.length?Jre(e)(...t):Jre(e)),{types:Hre}=st,zre=e=>{let t={parentPath:e};const n=[];for(;t=t.parentPath;)n.unshift(Wre(t,t.parent));return n.join(".")},{isProgram:Yre}=Hre,Gre="__putout_runner_replace";function Qre(e,t,n){const r=`${e} -> ${t}`;return{watermark:r,highWatermark:`${zre(n)}: ${r}`}}function Zre({path:e,program:t}){e.node&&(e.node[Gre]=e.node[Gre]||new Set),t.node[Gre]=t.node[Gre]||new Set}function eie({path:e,program:t,watermark:n,highWatermark:r}){Zre({path:e,program:t}),e?.node[Gre].add(n),t.node[Gre].add(r)}function tie({path:e,program:t,watermark:n,highWatermark:r}){const{node:i}=e,{loc:s}=i;return!!(i?.[Gre].has(n)||e.findParent((e=>t=>t.node?.[Gre]?.has(e))(n))&&!s)||t.node[Gre].has(r)}$re.exports=(e,t,n)=>{const{watermark:r,highWatermark:i}=Qre(e,t,n),s={watermark:r,highWatermark:i,program:n.findParent(Yre),path:n};return{init:Xre(Zre,s),has:Xre(tie,s),add:Xre(eie,s)}},$re.exports.REPLACE_WATERMARK=Gre,$re.exports.create=Qre,$re.exports.init=Zre,$re.exports.add=eie,$re.exports.has=tie;var nie=$re.exports;const{template:rie,print:iie}=Kj,{remove:sie,replaceWith:aie}=MK,{types:oie}=st,{compare:uie,findVarsWays:cie,getValues:lie,setValues:pie}=H7,die=d7,hie=nie,{createDebug:fie}=n7,mie=fie("putout:runner:replace"),yie=(e,t)=>{mie.enabled&&mie(`${e} -> ${t}\n`)},{isExpression:gie,isStatement:bie,isExpressionStatement:xie}=oie,Sie={printer:["putout",{format:{newline:"",indent:"",splitter:" ",endOfFile:""}}]},{keys:Tie,entries:Eie}=Object,{stringify:Pie}=JSON,vie=()=>[],Aie=()=>({});qre.replace=({rule:e,plugin:t,msg:n,options:r})=>{const i=(t.match||Aie)({options:r}),{report:s,exclude:a=vie,replace:o,filter:u=Iie(i)}=t,c=o({options:r}),l=kie(c,i),p=(d=c,()=>Tie(d));var d;return{rule:e,msg:n,options:{...r,exclude:[...a(),...die(r.exclude)]},plugin:{report:s,fix:l,filter:u,include:p}}},qre.clearWatermark=e=>{delete e.program[hie.REPLACE_WATERMARK]};const wie=e=>"function"==typeof e,Cie=(e,t,n)=>{const r=rie.ast(e),i=hie(e,t,n);if(i.init(),i.has())return;const s=cie(r),a=((e,{node:t})=>e.type!==t.type&&xie(t)?t.expression:t)(r,n),o=lie({waysFrom:s,node:a}),u=function(e,t,n){const r=wie(e)?e(t,n):e;if(!r)return null;if(i=r,"object"==typeof i&&r.type)return r.__putout_replace_cooked=!0,r;var i;if(!(e=>"string"==typeof e)(r))throw Error(`☝️ Looks like you passed 'replace' value with a wrong type. Allowed: 'string', 'node' and 'path'. Received: '${typeof r}' with value '${r}'.`);return rie.ast.fresh(r)}(t,o,n);if(!u)return yie(e,"''"),sie(n);!function(e,t,n){if(!gie(e))return;if(!bie(t)||xie(t))return;if(xie(n)||xie(n.parentPath))return;throw Error(`☝️ Looks like a try to put Statement in place of Expression, use 'match' to filter out such cases: '${iie(e,Sie)} -> ${iie(t,Sie)}'. For code: '${n}'`)}(r,u,n);const c=cie(u),l=aie(n,u);u.__putout_replace_cooked||(Nie(c,s),pie({waysTo:c,values:o,path:l})),i.add(),n.scope.getBlockParent().crawl(),yie(e,l)},kie=(e,t)=>n=>{for(const[r,i]of Eie(e)){const e=rie.ast(r);if(uie(n,e,{findUp:!1})){const s=t[r];s&&!_ie(n,e,s)||Cie(r,i,n)}}},Iie=e=>t=>{const n=Eie(e);for(const[e,r]of n){const n=rie.ast(e);if(uie(t.node,n,{findUp:!1}))return _ie(t,n,r)}return!0};function _ie(e,t,n){const r=cie(t),{node:i}=e,s=lie({waysFrom:r,node:i});return function(e){if(!wie(e))throw Error(`☝️ Looks like 'match' property value is not a 'function', but '${typeof e}' with value '${e}'.`)}(n),n(s,e)}const Nie=(e,t)=>{for(const n of Tie(e))if(!t[n])throw Error(`☝️ Looks like template values not linked: ${Pie(Tie(t))} -> ${Pie(Tie(e))}`)};var Lie={},Oie={},Die={};const Mie="__putout_declare_undefined_variables",Bie=e=>e.scope.getProgramParent().path,Fie=(e,t)=>t[e]=t[e]||{};Die.checkDeclarationForESLint=(e,t)=>{const n=Bie(t);return Fie(Mie,n),n[Mie][e]},Die.addDeclarationForESLint=(e,t)=>{const n=Bie(t);Fie(Mie,n),n[Mie][e]=!0},Die.setModuleType=(e,t)=>{const n=Bie(t);return Fie(Mie,n),n[Mie].__putout_module_type=e,e},Die.getModuleType=e=>{const t=Bie(e);return Fie(Mie,t),t[Mie].__putout_module_type};const{template:Rie}=Kj,{isESM:jie,insertAfter:Uie}=MK,{compare:qie}=H7,{types:$ie}=st,{addDeclarationForESLint:Jie,checkDeclarationForESLint:Vie,getModuleType:Kie,setModuleType:Wie}=Die,{isImportDeclaration:Xie,isVariableDeclaration:Hie}=$ie,{keys:zie}=Object,Yie=e=>e.node.source.value.includes("."),Gie=["TSMethodSignature","TSParameterProperty","TSFunctionType","TSDeclareMethod","TSDeclareFunction","TSTypeAliasDeclaration","TSQualifiedName"];Oie.declare=e=>({report:Qie,include:Zie,fix:tse(e),filter:ese(e)});const Qie=e=>{const{name:t}=e.node;return`Declare '${t.split(".").shift()}', it referenced but not defined`},Zie=()=>["ReferencedIdentifier"],ese=e=>(t,{options:n})=>{if(Gie.includes(t.parentPath.type))return!1;const{dismiss:r=[],type:i}=n,s={...e,...n.declarations},a=zie(s),{scope:o,node:u}=t,{name:c}=u;if(!a.includes(c))return!1;if(r.includes(c))return!1;if(o.hasBinding(c)||Vie(c,t))return!1;const l=function(e,t){if(t)return Wie(t,e);const n=Kie(e);return n||Wie((e=>jie(e)?"esm":"commonjs")(e),e)}(t,i);return nse(l,s[c])},tse=e=>(t,{options:n})=>{const r=Kie(t),i={...e,...n.declarations},{name:s}=t.node,a=nse(r,i[s]),o=t.scope.getProgramParent().path.get("body");!function(e,t){const n=function(e,t){const n=ise(t),r=(e=>e.filter(Hie).pop())(t);return Hie(e)&&n||(Xie(e)||rse(e))&&n?n:Hie(e)&&r&&!((e,t)=>t.at(-1)===e)(r,t)?r:null}(e,t),[r]=t;if(Hie(e)&&Xie(n)||rse(n))return Uie(n,e);if(Hie(e))return rse(r)?r.insertAfter(e):r.insertBefore(e);n?n.isImportDeclaration()&&Yie(n)?n.insertBefore(e):Uie(n,e):r.insertBefore(e)}(Rie.ast.fresh(a),o),Jie(s,t)},nse=(e,t)=>"string"==typeof t?t:t[e];const rse=e=>qie(e,"const __a = require(__b)");const ise=e=>{const t=[],n=[];for(const r of e)r.isImportDeclaration()&&(Yie(r)?n.push(r):t.push(r));return t.pop()||n.pop()};const{declare:sse}=Oie,{stringify:ase}=JSON;Lie.declare=({rule:e,plugin:t,msg:n,options:r})=>(function(e){if(t=e,"function"!=typeof t)throw Error(`☝️ Looks like 'declare' property value is not a 'function', but '${typeof e}' with value '${ase(e)}'.`);var t}(t.declare),{rule:e,plugin:sse(t.declare()),msg:n,options:r});var ose={},use={},cse={};const lse=Hj(),{assign:pse}=Object,dse=()=>{},hse={renameFile:dse,removeFile:dse,createDirectory:dse,readFileContent:(fse="",()=>fse),writeFileContent:dse,copyFile:dse};var fse;const mse=pse({},hse);function yse(e){pse(mse,e)}function gse(){pse(mse,hse)}cse.renameFile=(e,t)=>{mse.renameFile(e,t)},cse.removeFile=e=>{mse.removeFile(e)},cse.copyFile=(e,t)=>{mse.copyFile(e,t)},cse.createDirectory=e=>{mse.createDirectory(e)},cse.readFileContent=e=>mse.readFileContent(e),cse.writeFileContent=(e,t)=>{mse.writeFileContent(e,t)},cse.init=yse,cse.pause=()=>{lse(mse),gse()},cse.start=()=>{yse(lse())},cse.deinit=gse;var bse={};const{types:xse}=st,{arrayExpression:Sse,stringLiteral:Tse,objectProperty:Ese}=xse;function Pse(e,t){const n=Tse(e);return Ese(n,t)}bse.createTypeProperty=e=>Pse("type",Tse(e)),bse.createFilesProperty=e=>Pse("files",Sse(e)),bse.createFilenameProperty=e=>Pse("filename",Tse(e)),bse.createContentProperty=e=>Pse("content",Tse(e));const{join:vse,basename:Ase,dirname:wse}=o6,{types:Cse}=st,kse=f8,{setLiteralValue:Ise,getProperty:_se,traverseProperties:Nse}=MK,Lse=cse,{createTypeProperty:Ose,createFilesProperty:Dse,createFilenameProperty:Mse,createContentProperty:Bse}=bse,{isProgram:Fse,objectExpression:Rse}=Cse,jse=e=>"string"==typeof e,{isArray:Use}=Array,qse=e=>{const[t,n]=kse(btoa,e);return t?btoa(escape(e)):n},$se=e=>{const t=e.replace(/\./g,"\\.").replace(/\*/g,".*").replace("?",".?");return RegExp(`^${t}$`)};function Jse(e){if(!e.parentPath)return null;const{parentPath:t}=e.parentPath.parentPath;return Fse(t)?null:t}function Vse({name:e,base:t,exclude:n}){for(const r of n)if(e===r||$se(r).test(t))return!0;return!1}function Kse(e,t,n=[]){!function(e){if(!jse(e)&&!Use(e))throw Error("☝️ Looks like you forget to pass the 'name' of a file to 'findFile(filePath: Path|FilePath, name: string | string[]): FilePath'")}(t);const r=[],i=(e=>Use(e)?e:[e])(t);for(const t of Nse(e,"filename")){const{value:e}=t.node.value,s=Ase(e);for(const a of i)if(e===a||$se(a).test(s)){const e=t.parentPath;if(Vse({name:a,base:s,exclude:n}))continue;r.push(e)}}return r}function Wse(e){return _se(e,"filename").get("value")}function Xse(e){const{value:t}=Wse(e).node;return t}function Hse(e){return _se(e,"type").node.value.value}function zse(e){const t=_se(e,"content");return[Boolean(t),t?.node.value.value]}function Yse(e){const t=Xse(e);Jse(e)&&(e.remove(),Lse.removeFile(t))}function Gse(e,t){const n=Hse(e);if("directory"!==n){const t=Xse(e);throw Error(`☝️ Looks like '${t}' is not a directory, but: '${n}'. Rename to '${t}/'`)}const r=_se(e,"files"),i=vse(Xse(e),Ase(t)),[s]=Kse(r,i);s&&s.remove()}use.getParentDirectory=Jse,use.findFile=Kse,use.getFileType=Hse,use.getFileContent=zse,use.getFilename=Xse,use.renameFile=(e,t)=>{const n=Xse(e),r=Wse(e),i=n.split("/").pop(),s=t.split("/").pop(),a=n.replace(i,s);Ise(r,a),Lse.renameFile(n,a)},use.removeFile=Yse,use.removeEmptyDirectory=e=>{if("directory"!==Hse(e))return;let t=e;for(;!Zse(e).length;){if("/"===Xse(e))break;if(t=Jse(e),!t)break;Yse(e),e=t}},use.moveFile=(e,t)=>{if(e===t)return;const n=Xse(t),r=Xse(e),i=Qse(t),s=_se(e,"filename"),a=r.split("/").pop(),o=vse(n,a);Gse(t,o),Ise(s.get("value"),o),i.node.value.elements.push(e.node),e.remove(),Lse.renameFile(r,o)},use.copyFile=(e,t)=>{const n=Xse(t),r=Xse(e),i=r.split("/").pop(),s=vse(n,i),[a,o]=zse(e),u=Rse([Ose("file"),Mse(s),a&&Bse(o)].filter(Boolean));Gse(t,s);Qse(t).node.value.elements.push(u),Lse.copyFile(r,s)},use.createFile=(e,t,n)=>{Gse(e,t);const r=Qse(e),i=Xse(e),s=vse(i,t),a=[Ose("file"),Mse(s),n&&Bse(n)].filter(Boolean);r.node.value.elements.push(Rse(a));const o=r.get("value.elements").at(-1);return jse(n)&&tae(o,n),o};const Qse=e=>_se(e,"files");function Zse(e){return"directory"!==Hse(e)?[]:Qse(e).get("value.elements")}function eae(e,t){const n=Qse(e),r=Xse(e),i=vse(r,t),s=Ose("directory"),a=Dse([]),o=Mse(i);return n.node.value.elements.push(Rse([s,o,a])),Lse.createDirectory(i),n.get("value.elements").at(-1)}function tae(e,t){if("directory"===Hse(e))return;const n=Xse(e);Lse.writeFileContent(n,t);const r=_se(e,"content");if(r)return void Ise(r.node.value,qse(t));const i=Bse(qse(t));e.node.properties.push(i)}function nae(e){let t=Jse(e);if(!t)return e;let n=t;for(;t=Jse(t);)n=t;return n}use.readDirectory=Zse,use.createDirectory=eae,use.readFileContent=e=>{if("directory"===Hse(e))return"";const[t,n]=zse(e);if(t)return(e=>{if(e.includes(" "))return e;const[t,n]=kse(atob,e);return t?e:unescape(n)})(n);const r=Xse(e),i=Lse.readFileContent(r),s=Bse(qse(i));return e.node.properties.push(s),i},use.writeFileContent=tae,use.createNestedDirectory=(e,t)=>{const n=nae(e);if(wse(t)===Xse(e))return eae(e,Ase(t));let r=t;const i=Xse(n),s=[];let a=r;for(;r!==i;)if(s.unshift(r),a=r,r=wse(r),r===a){r=i;for(const[e,t]of s.entries())s[e]=vse(i,t);s.shift();break}let o=Kse(n,s).at(-1)||n;const u=Xse(o),c=s.length;let l=s.indexOf(u)+1;for(;l<c;l++){o=eae(o,Ase(s[l]))}return o},use.getRootDirectory=nae,use.init=Lse.init,use.deinit=Lse.deinit,use.pause=Lse.pause,use.start=Lse.start;var rae={};const{basename:iae,dirname:sae}=o6,{types:aae}=st,{createDirectory:oae,getFileType:uae,getFilename:cae,findFile:lae}=use,{__filesystem_name:pae}=a4,{replaceWith:dae,getProperty:hae}=MK,{objectExpression:fae,arrayExpression:mae,stringLiteral:yae,isArrayExpression:gae,isStringLiteral:bae,isTemplateLiteral:xae,objectProperty:Sae}=aae;rae.report=()=>"Convert Simple Filesystem to Filesystem";const Tae=e=>e.endsWith("/"),Eae=e=>{const t=Tae(e)?"directory":"file";return Sae(yae("type"),yae(t))},Pae=e=>Sae(yae("filename"),yae(e)),vae=e=>Tae(e)?Sae(yae("files"),mae([])):null,Aae=e=>Sae(yae("content"),yae(e));function wae(e,t){if(bae(e))return e.value;if(xae(e))return btoa(e.quasis[0].value.raw);throw Error(`☝️ Looks like wrong content type: '${e.type}' from file: '${t}'`)}rae.fix=e=>{const t=mae([]);for(const n of e.get("elements")){if(gae(n)){const[e,r]=n.node.elements,{value:i}=e,s=wae(r,n);t.elements.push(fae([Eae(i),Pae(i),Aae(s)]));continue}if(bae(n)){const{value:e}=n.node;t.elements.push(fae([Eae(e),Pae(Cae(e)),vae(e)].filter(Boolean)));continue}throw Error(`☝️ Looks like file '${n}' has wrong type: '${n.type}' expected: 'string | array'`)}!function(e,t){const[n,...r]=lae(t,"*");for(const e of r){const t=cae(e);kae(t);const r=uae(e),i=sae(t),s=iae(t),[a]=lae(n,i);if(!a||"directory"!==uae(a))throw Error(`☝️ Looks like directory '${i}/' is missing`);if("directory"===r){oae(a,s);continue}hae(a,"files").node.value.elements.push(e.node)}dae(e,n)}(e,t)},rae.traverse=({push:e})=>({[`${pae}(__array)`]:t=>{const n=t.get("arguments.0");e(n)}});const Cae=e=>"/"===e?e:e.endsWith("/")?e.slice(0,-1):e;function kae(e){if(!e.includes("/"))throw Error(`☝️ Looks like directory path is missing: '${e}'`)}var Iae={};const{types:_ae}=st,{replaceWith:Nae,getProperty:Lae}=MK,{__filesystem_name:Oae}=a4,{findFile:Dae,getFilename:Mae,getFileType:Bae}=use,{stringLiteral:Fae,arrayExpression:Rae}=_ae,{isArray:jae}=Array,Uae=e=>"/"===e?e:`${e}/`;Iae.report=()=>"Convert Filesystem to Simple Filesystem",Iae.fix=(e,{files:t})=>{const n=[];for(const e of t){const t=Mae(e),r=Bae(e),i=Lae(e,"content"),s=i?.node?.value;s?n.push([t,s.value]):"directory"!==r?n.push(t):n.push(Uae(t))}const r=[];for(const e of n)jae(e)?r.push(Rae([Fae(e[0]),Fae(e[1])])):r.push(Fae(e));Nae(e,Rae(r))},Iae.traverse=({push:e})=>({[`${Oae}(__object)`]:t=>{const n=t.get("arguments.0"),r=Dae(n,"*");e(n,{files:r})}});const qae=Hj,{compare:$ae}=H7,{__filesystem_name:Jae}=a4,{findFile:Vae,pause:Kae,start:Wae}=use,Xae=V5("putout:runner:scanner"),Hae=rae,zae=Iae;ose.scan=({rule:e,plugin:t,msg:n,options:r},{progress:i})=>{const{scan:s,report:a,fix:o}=t;i.inc();return{rule:e,msg:n,options:r,plugin:{report:a,fix:o,traverse:Gae({scan:s,rule:e,progress:i})}}};const Yae=({push:e,rule:t,progress:n})=>(...r)=>{n.push(t),e(...r)},Gae=({scan:e,rule:t,progress:n})=>({push:r,options:i})=>({[`${Jae}(__)`](s){Xae(t),n.start(t);const a=s.get("arguments.0"),o=qae(!1),u=(({rule:e,progress:t})=>({i:n,n:r})=>{++n;const i=`${Math.round(n/r*100)}%`;t.file({i:n,n:r,percent:i,rule:e})})({rule:t,progress:n}),c=(e=>function*(...t){const n=Vae(...t),r=n.length;for(const[t,i]of n.entries())e({i:t,n:r}),yield i})(u);Zae(Hae,{shouldConvert:!0,path:s,isSimple:o}),e(a,{push:Yae({push:r,rule:t,progress:n}),progress:u,trackFile:c,options:i}),Zae(zae,{shouldConvert:o(),path:s,isSimple:o}),n.end(t)}}),Qae=({fix:e,isSimple:t})=>(...n)=>(t(!0),e(...n));function Zae(e,{path:t,isSimple:n,shouldConvert:r=!0}){const{traverse:i,fix:s}=e;if(!r)return;const a=i({push:Qae({fix:s,isSimple:n})}),[o,u]=function(e){const t=e[`${Jae}(__object)`],n=e[`${Jae}(__array)`];return t?[t,`${Jae}(__object)`]:[n,`${Jae}(__array)`]}(a);$ae(t,u)&&(Kae(),o(t),Wae())}const{traverse:eoe}=st,toe=$5,noe=V5("putout:runner:find"),roe=u7,ioe=j7,soe=K7,aoe=Tre,{createProgress:ooe}=Ere,{tryThrowWithReason:uoe}=Lre,{include:coe}=Dre,{replace:loe,clearWatermark:poe}=qre,{declare:doe}=Lie,{scan:hoe}=ose,{getPath:foe,getPosition:moe}=c7,yoe=e=>e?.removed;t7.runPlugins=({ast:e,shebang:t,fix:n,fixCount:r=2,plugins:i,progress:s=ooe(),traverse:a=eoe})=>{let o=[];const u=toe(ioe),{pluginsFind:c,pluginsTraverse:l}=function(e,{progress:t}){const n=[],r=[];for(const i of e){const{plugin:e}=i;e.find?n.push(i):e.traverse?r.push(i):e.replace?r.push(coe(loe(i))):e.declare?r.push(coe(doe(i))):e.include?r.push(coe(i)):e.scan&&r.push(hoe(i,{progress:t}))}return{pluginsFind:n,pluginsTraverse:r}}(i,{progress:s});for(let i=0;i<r;i++){if(o=goe({ast:e,fix:n,shebang:t,pluginsFind:c,pluginsTraverse:l,merge:u,template:aoe,traverse:a}),s.reset(),!n||!o.length)return o;poe(e)}return o},t7.getPosition=moe;const goe=({ast:e,fix:t,shebang:n,pluginsFind:r,pluginsTraverse:i,template:s,merge:a,traverse:o})=>[...xoe({ast:e,fix:t,shebang:n,template:s,pluginsFind:r,traverse:o}),...boe({ast:e,fix:t,shebang:n,template:s,pluginsTraverse:i,merge:a,traverse:o})];function boe({ast:e,fix:t,shebang:n,template:r,pluginsTraverse:i,merge:s,traverse:a}){const{entries:o,visitor:u}=s(i,{fix:t,shebang:n,template:r});uoe(a,e,u);const c=[];for(const[e,t]of o){const n=t();for(const{message:t,position:r}of n)c.push({rule:e,message:t,position:r})}return c}function xoe({ast:e,fix:t,shebang:n,template:r,pluginsFind:i,traverse:s}){const a=[];for(const{rule:o,plugin:u,msg:c,options:l}of i){noe(`find: ${o}`);const{report:i,find:p}=u,d=uoe(soe,{rule:o,find:p,ast:e,options:l,fix:t,shebang:n,template:r,traverse:s});if(d.length)for(const e of d){const r=c||i(e),{parentPath:s}=foe(e),p=moe(e,n);a.push({rule:o,message:r,position:p}),yoe(s)||roe(t,u.fix,{path:e,rule:o,position:p,options:l})}}return a}const Soe=K8,Toe=t7,{createProgress:Eoe}=Ere;V8.defaultOptions=(e={})=>{const{parser:t="babel",printer:n=e.printer||"putout",fix:r=!0,fixCount:i=3,loadPlugins:s=Soe.loadPlugins,loadPluginsAsync:a=Soe.loadPluginsAsync,runPlugins:o=Toe.runPlugins,progress:u=Eoe()}=e;return{...e,parser:t,printer:n,fix:r,fixCount:i,loadPlugins:s,loadPluginsAsync:a,runPlugins:o,progress:u}};var Poe={};const voe=e=>e.replace(/\s\(\d:\d+\)/,""),Aoe=f8,{validateRulesRelations:woe}=K8,{defaultOptions:Coe}=V8,{cutShebang:koe}=J8,Ioe=(e,t="parser")=>{const{line:n,column:r}=e.loc||{line:1,column:1};return[{rule:e.rule?`${e.rule} (parser)`:t,message:voe(e.message),position:{line:n,column:r}}]},_oe=e=>e?Ioe(e,"loader"):[];Poe.transform=(e,t,n)=>{n=Coe(n);const{plugins:r,cache:i,rules:s,fix:a,fixCount:o,loadPlugins:u,runPlugins:c,progress:l}=n,[,p]=koe(t),[d]=Aoe(woe,{rules:s,pluginNames:r}),h=c({ast:e,shebang:p,fix:a,fixCount:o,plugins:u({pluginNames:r,cache:i,rules:s}),progress:l});return[..._oe(d),...h]},Poe.transformAsync=async(e,t,n)=>{n=Coe(n);const{plugins:r,cache:i,rules:s,fix:a,fixCount:o,loadPluginsAsync:u,runPlugins:c,progress:l}=n,[,p]=koe(t),[d]=Aoe(woe,{rules:s,pluginNames:r}),h=c({ast:e,shebang:p,fix:a,fixCount:o,plugins:await u({pluginNames:r,cache:i,rules:s}),progress:l});return[..._oe(d),...h]};var Noe={};const{transform:Loe,transformAsync:Ooe}=Poe;Noe.findPlaces=(e,t,n)=>Loe(e,t,{...n,fix:!1}),Noe.findPlacesAsync=async(e,t,n)=>await Ooe(e,t,{...n,fix:!1});const{isArray:Doe}=Array,Moe=()=>{};var Boe=()=>{let e=0,t=0;return async(n,r)=>{const{name:i,rule:s,source:a,places:o,index:u=0,count:c=1,trace:l=Moe,formatterOptions:p={}}=r;if(!Doe(o))throw Error(`☝️ Looks like for 'places: Places[]' you passed the wrong type: '${typeof o}'`);return o.length&&++e,t+=o.length,l("progress",{rule:s,name:i,options:p,source:a,places:o,index:u,count:c,filesCount:e,errorsCount:t}),await n({rule:s,name:i,options:p,source:a,places:o,index:u,count:c,filesCount:e,errorsCount:t})}},Foe={};const{types:Roe,traverse:joe}=st,{compare:Uoe,parseTemplate:qoe,isTemplate:$oe,getTemplateValues:Joe}=H7,{isFile:Voe,isProgram:Koe}=Roe,{merge:Woe}=joe.visitors,{entries:Xoe}=Object;Foe.traverse=Yoe;const Hoe=e=>{if((e=>Boolean(e.node))(e))return e.traverse.bind(e);const t=!Voe(e)&&!Koe(e);return n=>{joe(e,{noScope:t,...n})}},zoe=([e])=>e;function Yoe(e,t){const n=Hoe(e),r=[],i=Xoe(t);if(!i.map(zoe).find($oe))return n(t);for(const[e,t]of i){if(!$oe(e)){r.push({[e]:t});continue}const[n,i]=qoe(e),s=Goe({fn:t,node:n,tmpl:e});r.push({[i]:s})}n(Woe(r))}const Goe=({fn:e,node:t,tmpl:n})=>r=>{Uoe(r,t)&&e(r,Joe(r.node,n))};Foe.contains=(e,t)=>{let n=!1;const r=e=>{n=!0,e.stop()},i={};for(const e of t)i[e]=r;return Yoe(e,i),n};var Qoe={};const{setLiteralValue:Zoe}=MK,{types:eue}=st,{isJSXElement:tue,jsxAttribute:nue,jsxIdentifier:rue,stringLiteral:iue}=eue,sue=e=>e.node||e;function aue(e,t){let n=null;const r=sue(e),{attributes:i}=r.openingElement;for(const e of i)if(e.name.name===t){n=e;break}return n}function oue(e,t){const n=aue(e,t);return n?n.value.value:""}function uue(e,t,n){const r=aue(e,t);if(!r)return cue(e,t,n);r.value.value.includes(n)||Zoe(r.value,`${r.value.value} ${n}`)}function cue(e,t,n){const r=sue(e);let i=aue(r,t);i||(i=nue(rue(t),iue(n)),r.openingElement.attributes.push(i))}function lue(e,t,n){if(!e)return;const r=aue(e.node||e,t),{value:i}=r.value;if(!i.includes(n))return;const s=i.replace(RegExp(`\\s?${n}`),"").trim();Zoe(r.value,s)}function pue(e){return oue(e,"className")}Qoe.hasTagName=(e,t)=>{const n=sue(e);return!!tue(e)&&n.openingElement.name.name===t},Qoe.getAttributePath=(e,t)=>{const n=e.get("openingElement.attributes");for(const e of n)if(e.node.name.name===t)return e;return null},Qoe.getAttributeNode=aue,Qoe.getAttributeValue=oue,Qoe.addAttributeValue=uue,Qoe.addAttribute=cue,Qoe.removeAttributeValue=lue,Qoe.setAttributeValue=(e,t,n)=>{const r=aue(e,t);if(!r)return cue(e,t,n);Zoe(r.value,n)},Qoe.addClassName=(e,t)=>{uue(e,"className",t)},Qoe.getClassName=pue,Qoe.removeClassName=(e,t)=>{lue(e,"className",t)},Qoe.containsClassName=(e,t)=>pue(e).includes(t),Qoe.hasDataName=(e,t="")=>oue(e,"data-name")===t,Qoe.hasAttributeValue=(e,t,n="")=>oue(e,t)===n;var due={_hasUFlag:!1,shouldRun:function(e){var t=e.flags.includes("s");return!!t&&(e.flags=e.flags.replace("s",""),this._hasUFlag=e.flags.includes("u"),!0)},Char:function(e){var t=e.node;if("meta"===t.kind&&"."===t.value){var n="\\uFFFF",r="";this._hasUFlag&&(n="\\u{10FFFF}",r=""),e.replace({type:"CharacterClass",expressions:[{type:"ClassRange",from:{type:"Char",value:"\\0",kind:"decimal",symbol:"\0"},to:{type:"Char",value:n,kind:"unicode",symbol:r}}]})}}},hue={_groupNames:{},init:function(){this._groupNames={}},getExtra:function(){return this._groupNames},Group:function(e){var t=e.node;t.name&&(this._groupNames[t.name]=t.number,delete t.name,delete t.nameRaw)},Backreference:function(e){var t=e.node;"name"===t.kind&&(t.kind="number",t.reference=t.number,delete t.referenceRaw)}},fue={RegExp:function(e){var t=e.node;t.flags.includes("x")&&(t.flags=t.flags.replace("x",""))}},mue={dotAll:due,namedCapturingGroups:hue,xFlag:fue};function yue(e){return e?gue[e.type](e):""}var gue={RegExp:function(e){return"/"+yue(e.body)+"/"+e.flags},Alternative:function(e){return(e.expressions||[]).map(yue).join("")},Disjunction:function(e){return yue(e.left)+"|"+yue(e.right)},Group:function(e){var t=yue(e.expression);return e.capturing?e.name?"(?<"+(e.nameRaw||e.name)+">"+t+")":"("+t+")":"(?:"+t+")"},Backreference:function(e){switch(e.kind){case"number":return"\\"+e.reference;case"name":return"\\k<"+(e.referenceRaw||e.reference)+">";default:throw new TypeError("Unknown Backreference kind: "+e.kind)}},Assertion:function(e){switch(e.kind){case"^":case"$":case"\\b":case"\\B":return e.kind;case"Lookahead":var t=yue(e.assertion);return e.negative?"(?!"+t+")":"(?="+t+")";case"Lookbehind":var n=yue(e.assertion);return e.negative?"(?<!"+n+")":"(?<="+n+")";default:throw new TypeError("Unknown Assertion kind: "+e.kind)}},CharacterClass:function(e){var t=e.expressions.map(yue).join("");return e.negative?"[^"+t+"]":"["+t+"]"},ClassRange:function(e){return yue(e.from)+"-"+yue(e.to)},Repetition:function(e){return""+yue(e.expression)+yue(e.quantifier)},Quantifier:function(e){var t=void 0,n=e.greedy?"":"?";switch(e.kind){case"+":case"?":case"*":t=e.kind;break;case"Range":t=e.from===e.to?"{"+e.from+"}":e.to?"{"+e.from+","+e.to+"}":"{"+e.from+",}";break;default:throw new TypeError("Unknown Quantifier kind: "+e.kind)}return""+t+n},Char:function(e){var t=e.value;switch(e.kind){case"simple":return e.escaped?"\\"+t:t;case"hex":case"unicode":case"oct":case"decimal":case"control":case"meta":return t;default:throw new TypeError("Unknown Char kind: "+e.kind)}},UnicodeProperty:function(e){return"\\"+(e.negative?"P":"p")+"{"+(e.shorthand||e.binary?"":e.name+"=")+e.value+"}"}},bue={generate:yue},xue={General_Category:"gc",Script:"sc",Script_Extensions:"scx"},Sue=Cue(xue),Tue={ASCII:"ASCII",ASCII_Hex_Digit:"AHex",Alphabetic:"Alpha",Any:"Any",Assigned:"Assigned",Bidi_Control:"Bidi_C",Bidi_Mirrored:"Bidi_M",Case_Ignorable:"CI",Cased:"Cased",Changes_When_Casefolded:"CWCF",Changes_When_Casemapped:"CWCM",Changes_When_Lowercased:"CWL",Changes_When_NFKC_Casefolded:"CWKCF",Changes_When_Titlecased:"CWT",Changes_When_Uppercased:"CWU",Dash:"Dash",Default_Ignorable_Code_Point:"DI",Deprecated:"Dep",Diacritic:"Dia",Emoji:"Emoji",Emoji_Component:"Emoji_Component",Emoji_Modifier:"Emoji_Modifier",Emoji_Modifier_Base:"Emoji_Modifier_Base",Emoji_Presentation:"Emoji_Presentation",Extended_Pictographic:"Extended_Pictographic",Extender:"Ext",Grapheme_Base:"Gr_Base",Grapheme_Extend:"Gr_Ext",Hex_Digit:"Hex",IDS_Binary_Operator:"IDSB",IDS_Trinary_Operator:"IDST",ID_Continue:"IDC",ID_Start:"IDS",Ideographic:"Ideo",Join_Control:"Join_C",Logical_Order_Exception:"LOE",Lowercase:"Lower",Math:"Math",Noncharacter_Code_Point:"NChar",Pattern_Syntax:"Pat_Syn",Pattern_White_Space:"Pat_WS",Quotation_Mark:"QMark",Radical:"Radical",Regional_Indicator:"RI",Sentence_Terminal:"STerm",Soft_Dotted:"SD",Terminal_Punctuation:"Term",Unified_Ideograph:"UIdeo",Uppercase:"Upper",Variation_Selector:"VS",White_Space:"space",XID_Continue:"XIDC",XID_Start:"XIDS"},Eue=Cue(Tue),Pue={Cased_Letter:"LC",Close_Punctuation:"Pe",Connector_Punctuation:"Pc",Control:["Cc","cntrl"],Currency_Symbol:"Sc",Dash_Punctuation:"Pd",Decimal_Number:["Nd","digit"],Enclosing_Mark:"Me",Final_Punctuation:"Pf",Format:"Cf",Initial_Punctuation:"Pi",Letter:"L",Letter_Number:"Nl",Line_Separator:"Zl",Lowercase_Letter:"Ll",Mark:["M","Combining_Mark"],Math_Symbol:"Sm",Modifier_Letter:"Lm",Modifier_Symbol:"Sk",Nonspacing_Mark:"Mn",Number:"N",Open_Punctuation:"Ps",Other:"C",Other_Letter:"Lo",Other_Number:"No",Other_Punctuation:"Po",Other_Symbol:"So",Paragraph_Separator:"Zp",Private_Use:"Co",Punctuation:["P","punct"],Separator:"Z",Space_Separator:"Zs",Spacing_Mark:"Mc",Surrogate:"Cs",Symbol:"S",Titlecase_Letter:"Lt",Unassigned:"Cn",Uppercase_Letter:"Lu"},vue=Cue(Pue),Aue={Adlam:"Adlm",Ahom:"Ahom",Anatolian_Hieroglyphs:"Hluw",Arabic:"Arab",Armenian:"Armn",Avestan:"Avst",Balinese:"Bali",Bamum:"Bamu",Bassa_Vah:"Bass",Batak:"Batk",Bengali:"Beng",Bhaiksuki:"Bhks",Bopomofo:"Bopo",Brahmi:"Brah",Braille:"Brai",Buginese:"Bugi",Buhid:"Buhd",Canadian_Aboriginal:"Cans",Carian:"Cari",Caucasian_Albanian:"Aghb",Chakma:"Cakm",Cham:"Cham",Cherokee:"Cher",Common:"Zyyy",Coptic:["Copt","Qaac"],Cuneiform:"Xsux",Cypriot:"Cprt",Cyrillic:"Cyrl",Deseret:"Dsrt",Devanagari:"Deva",Dogra:"Dogr",Duployan:"Dupl",Egyptian_Hieroglyphs:"Egyp",Elbasan:"Elba",Ethiopic:"Ethi",Georgian:"Geor",Glagolitic:"Glag",Gothic:"Goth",Grantha:"Gran",Greek:"Grek",Gujarati:"Gujr",Gunjala_Gondi:"Gong",Gurmukhi:"Guru",Han:"Hani",Hangul:"Hang",Hanifi_Rohingya:"Rohg",Hanunoo:"Hano",Hatran:"Hatr",Hebrew:"Hebr",Hiragana:"Hira",Imperial_Aramaic:"Armi",Inherited:["Zinh","Qaai"],Inscriptional_Pahlavi:"Phli",Inscriptional_Parthian:"Prti",Javanese:"Java",Kaithi:"Kthi",Kannada:"Knda",Katakana:"Kana",Kayah_Li:"Kali",Kharoshthi:"Khar",Khmer:"Khmr",Khojki:"Khoj",Khudawadi:"Sind",Lao:"Laoo",Latin:"Latn",Lepcha:"Lepc",Limbu:"Limb",Linear_A:"Lina",Linear_B:"Linb",Lisu:"Lisu",Lycian:"Lyci",Lydian:"Lydi",Mahajani:"Mahj",Makasar:"Maka",Malayalam:"Mlym",Mandaic:"Mand",Manichaean:"Mani",Marchen:"Marc",Medefaidrin:"Medf",Masaram_Gondi:"Gonm",Meetei_Mayek:"Mtei",Mende_Kikakui:"Mend",Meroitic_Cursive:"Merc",Meroitic_Hieroglyphs:"Mero",Miao:"Plrd",Modi:"Modi",Mongolian:"Mong",Mro:"Mroo",Multani:"Mult",Myanmar:"Mymr",Nabataean:"Nbat",New_Tai_Lue:"Talu",Newa:"Newa",Nko:"Nkoo",Nushu:"Nshu",Ogham:"Ogam",Ol_Chiki:"Olck",Old_Hungarian:"Hung",Old_Italic:"Ital",Old_North_Arabian:"Narb",Old_Permic:"Perm",Old_Persian:"Xpeo",Old_Sogdian:"Sogo",Old_South_Arabian:"Sarb",Old_Turkic:"Orkh",Oriya:"Orya",Osage:"Osge",Osmanya:"Osma",Pahawh_Hmong:"Hmng",Palmyrene:"Palm",Pau_Cin_Hau:"Pauc",Phags_Pa:"Phag",Phoenician:"Phnx",Psalter_Pahlavi:"Phlp",Rejang:"Rjng",Runic:"Runr",Samaritan:"Samr",Saurashtra:"Saur",Sharada:"Shrd",Shavian:"Shaw",Siddham:"Sidd",SignWriting:"Sgnw",Sinhala:"Sinh",Sogdian:"Sogd",Sora_Sompeng:"Sora",Soyombo:"Soyo",Sundanese:"Sund",Syloti_Nagri:"Sylo",Syriac:"Syrc",Tagalog:"Tglg",Tagbanwa:"Tagb",Tai_Le:"Tale",Tai_Tham:"Lana",Tai_Viet:"Tavt",Takri:"Takr",Tamil:"Taml",Tangut:"Tang",Telugu:"Telu",Thaana:"Thaa",Thai:"Thai",Tibetan:"Tibt",Tifinagh:"Tfng",Tirhuta:"Tirh",Ugaritic:"Ugar",Vai:"Vaii",Warang_Citi:"Wara",Yi:"Yiii",Zanabazar_Square:"Zanb"},wue=Cue(Aue);function Cue(e){var t={};for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];if(Array.isArray(r))for(var i=0;i<r.length;i++)t[r[i]]=n;else t[r]=n}return t}function kue(e){return Pue.hasOwnProperty(e)||vue.hasOwnProperty(e)}function Iue(e){return Aue.hasOwnProperty(e)||wue.hasOwnProperty(e)}var _ue={isAlias:function(e){return Sue.hasOwnProperty(e)||Eue.hasOwnProperty(e)},isValidName:function(e){return xue.hasOwnProperty(e)||Sue.hasOwnProperty(e)||Tue.hasOwnProperty(e)||Eue.hasOwnProperty(e)},isValidValue:function(e,t){return function(e){return"General_Category"===e||"gc"==e}(e)?kue(t):!!function(e){return"Script"===e||"Script_Extensions"===e||"sc"===e||"scx"===e}(e)&&Iue(t)},isGeneralCategoryValue:kue,isScriptCategoryValue:Iue,isBinaryPropertyName:function(e){return Tue.hasOwnProperty(e)||Eue.hasOwnProperty(e)},getCanonicalName:function(e){return Sue.hasOwnProperty(e)?Sue[e]:Eue.hasOwnProperty(e)?Eue[e]:null},getCanonicalValue:function(e){return vue.hasOwnProperty(e)?vue[e]:wue.hasOwnProperty(e)?wue[e]:Eue.hasOwnProperty(e)?Eue[e]:null},NON_BINARY_PROP_NAMES_TO_ALIASES:xue,NON_BINARY_ALIASES_TO_PROP_NAMES:Sue,BINARY_PROP_NAMES_TO_ALIASES:Tue,BINARY_ALIASES_TO_PROP_NAMES:Eue,GENERAL_CATEGORY_VALUE_TO_ALIASES:Pue,GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES:vue,SCRIPT_VALUE_TO_ALIASES:Aue,SCRIPT_VALUE_ALIASES_TO_VALUE:wue},Nue=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(r=(a=o.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,s=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw s}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")};function Lue(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var Oue=void 0,Due={},Mue=void 0,Bue=void 0;function Fue(e,t){return Due.options.captureLocations?e&&t?{startOffset:e.startOffset,endOffset:t.endOffset,startLine:e.startLine,endLine:t.endLine,startColumn:e.startColumn,endColumn:t.endColumn}:e||t:null}var Rue=[[-1,1,function(e,t){Bue=Fue(t,t),Mue=e}],[0,4,function(e,t,n,r,i,s,a,o){Bue=Fue(i,o),Mue=uce({type:"RegExp",body:t,flags:tce(r)},cce(i,o||a))}],[1,1,function(e,t){Bue=Fue(t,t),Mue=e}],[1,0,function(){Bue=null,Mue=""}],[2,1,function(e,t){Bue=Fue(t,t),Mue=e}],[2,2,function(e,t,n,r){Bue=Fue(n,r),Mue=e+t}],[3,1,function(e,t){Bue=Fue(t,t),Mue=e}],[4,1,function(e,t){Bue=Fue(t,t),Mue=e}],[4,3,function(e,t,n,r,i,s){Bue=Fue(r,s);var a=null;i&&(a=cce(r||i,s||i)),Mue=uce({type:"Disjunction",left:e,right:n},a)}],[5,1,function(e,t){Bue=Fue(t,t),Mue=0!==e.length?1===e.length?uce(e[0],Bue):uce({type:"Alternative",expressions:e},Bue):null}],[6,0,function(){Bue=null,Mue=[]}],[6,2,function(e,t,n,r){Bue=Fue(n,r),Mue=e.concat(t)}],[7,1,function(e,t){Bue=Fue(t,t),Mue=uce(Object.assign({type:"Assertion"},e),Bue)}],[7,2,function(e,t,n,r){Bue=Fue(n,r),Mue=e,t&&(Mue=uce({type:"Repetition",expression:e,quantifier:t},Bue))}],[8,1,function(e,t){Bue=Fue(t,t),Mue={kind:"^"}}],[8,1,function(e,t){Bue=Fue(t,t),Mue={kind:"$"}}],[8,1,function(e,t){Bue=Fue(t,t),Mue={kind:"\\b"}}],[8,1,function(e,t){Bue=Fue(t,t),Mue={kind:"\\B"}}],[8,3,function(e,t,n,r,i,s){Bue=Fue(r,s),Mue={kind:"Lookahead",assertion:t}}],[8,3,function(e,t,n,r,i,s){Bue=Fue(r,s),Mue={kind:"Lookahead",negative:!0,assertion:t}}],[8,3,function(e,t,n,r,i,s){Bue=Fue(r,s),Mue={kind:"Lookbehind",assertion:t}}],[8,3,function(e,t,n,r,i,s){Bue=Fue(r,s),Mue={kind:"Lookbehind",negative:!0,assertion:t}}],[9,1,function(e,t){Bue=Fue(t,t),Mue=e}],[9,1,function(e,t){Bue=Fue(t,t),Mue=e}],[9,1,function(e,t){Bue=Fue(t,t),Mue=e}],[10,1,function(e,t){Bue=Fue(t,t),Mue=Zue(e,"simple",Bue)}],[10,1,function(e,t){Bue=Fue(t,t),(Mue=Zue(e.slice(1),"simple",Bue)).escaped=!0}],[10,1,function(e,t){Bue=Fue(t,t),(Mue=Zue(e,"unicode",Bue)).isSurrogatePair=!0}],[10,1,function(e,t){Bue=Fue(t,t),Mue=Zue(e,"unicode",Bue)}],[10,1,function(e,t){Bue=Fue(t,t),Mue=function(e,t){var n="P"===e[1],r=e.indexOf("="),i=e.slice(3,-1!==r?r:-1),s=void 0,a=-1===r&&Que.isGeneralCategoryValue(i),o=-1===r&&Que.isBinaryPropertyName(i);if(a)s=i,i="General_Category";else if(o)s=i;else{if(!Que.isValidName(i))throw new SyntaxError("Invalid unicode property name: "+i+".");if(s=e.slice(r+1,-1),!Que.isValidValue(i,s))throw new SyntaxError("Invalid "+i+" unicode property value: "+s+".")}return uce({type:"UnicodeProperty",name:i,value:s,negative:n,shorthand:a,binary:o,canonicalName:Que.getCanonicalName(i)||i,canonicalValue:Que.getCanonicalValue(s)||s},t)}(e,Bue)}],[10,1,function(e,t){Bue=Fue(t,t),Mue=Zue(e,"control",Bue)}],[10,1,function(e,t){Bue=Fue(t,t),Mue=Zue(e,"hex",Bue)}],[10,1,function(e,t){Bue=Fue(t,t),Mue=Zue(e,"oct",Bue)}],[10,1,function(e,t){Bue=Fue(t,t),Mue=function(e,t){var n=Number(e.slice(1));if(n>0&&n<=Xue)return uce({type:"Backreference",kind:"number",number:n,reference:n},t);return Zue(e,"decimal",t)}(e,Bue)}],[10,1,function(e,t){Bue=Fue(t,t),Mue=Zue(e,"meta",Bue)}],[10,1,function(e,t){Bue=Fue(t,t),Mue=Zue(e,"meta",Bue)}],[10,1,function(e,t){Bue=Fue(t,t),Mue=function(e,t){var n=e.slice(3,-1),r=oce(n);if(Hue.hasOwnProperty(r))return uce({type:"Backreference",kind:"name",number:Hue[r],reference:r,referenceRaw:n},t);var i=null,s=null,a=null,o=null;t&&(i=t.startOffset,s=t.startLine,a=t.endLine,o=t.startColumn);var u=/^[\w$<>]/,c=void 0,l=[Zue(e.slice(1,2),"simple",i?{startLine:s,endLine:a,startColumn:o,startOffset:i,endOffset:i+=2,endColumn:o+=2}:null)];l[0].escaped=!0,e=e.slice(2);for(;e.length>0;){var p=null;(p=e.match(nce))||(p=e.match(rce))?(i&&(c={startLine:s,endLine:a,startColumn:o,startOffset:i,endOffset:i+=p[0].length,endColumn:o+=p[0].length}),l.push(Zue(p[0],"unicode",c)),e=e.slice(p[0].length)):(p=e.match(u))&&(i&&(c={startLine:s,endLine:a,startColumn:o,startOffset:i,endOffset:++i,endColumn:++o}),l.push(Zue(p[0],"simple",c)),e=e.slice(1))}return l}(e,t)}],[11,1,function(e,t){Bue=Fue(t,t),Mue=e}],[11,0],[12,1,function(e,t){Bue=Fue(t,t),Mue=e}],[12,2,function(e,t,n,r){Bue=Fue(n,r),e.greedy=!1,Mue=e}],[13,1,function(e,t){Bue=Fue(t,t),Mue=uce({type:"Quantifier",kind:e,greedy:!0},Bue)}],[13,1,function(e,t){Bue=Fue(t,t),Mue=uce({type:"Quantifier",kind:e,greedy:!0},Bue)}],[13,1,function(e,t){Bue=Fue(t,t),Mue=uce({type:"Quantifier",kind:e,greedy:!0},Bue)}],[13,1,function(e,t){Bue=Fue(t,t);var n=Yue(e);Mue=uce({type:"Quantifier",kind:"Range",from:n[0],to:n[0],greedy:!0},Bue)}],[13,1,function(e,t){Bue=Fue(t,t),Mue=uce({type:"Quantifier",kind:"Range",from:Yue(e)[0],greedy:!0},Bue)}],[13,1,function(e,t){Bue=Fue(t,t);var n=Yue(e);Mue=uce({type:"Quantifier",kind:"Range",from:n[0],to:n[1],greedy:!0},Bue)}],[14,1,function(e,t){Bue=Fue(t,t),Mue=e}],[14,1,function(e,t){Bue=Fue(t,t),Mue=e}],[15,3,function(e,t,n,r,i,s){Bue=Fue(r,s);var a=String(e),o=oce(a);if(!Due.options.allowGroupNameDuplicates&&Hue.hasOwnProperty(o))throw new SyntaxError('Duplicate of the named group "'+o+'".');Hue[o]=e.groupNumber,Mue=uce({type:"Group",capturing:!0,name:o,nameRaw:a,number:e.groupNumber,expression:t},Bue)}],[15,3,function(e,t,n,r,i,s){Bue=Fue(r,s),Mue=uce({type:"Group",capturing:!0,number:e.groupNumber,expression:t},Bue)}],[16,3,function(e,t,n,r,i,s){Bue=Fue(r,s),Mue=uce({type:"Group",capturing:!1,expression:t},Bue)}],[17,3,function(e,t,n,r,i,s){Bue=Fue(r,s),Mue=uce({type:"CharacterClass",negative:!0,expressions:t},Bue)}],[17,3,function(e,t,n,r,i,s){Bue=Fue(r,s),Mue=uce({type:"CharacterClass",expressions:t},Bue)}],[18,0,function(){Bue=null,Mue=[]}],[18,1,function(e,t){Bue=Fue(t,t),Mue=e}],[19,1,function(e,t){Bue=Fue(t,t),Mue=[e]}],[19,2,function(e,t,n,r){Bue=Fue(n,r),Mue=[e].concat(t)}],[19,4,function(e,t,n,r,i,s,a,o){Bue=Fue(i,o),Gue(e,n),Mue=[uce({type:"ClassRange",from:e,to:n},cce(i,a))],r&&(Mue=Mue.concat(r))}],[20,1,function(e,t){Bue=Fue(t,t),Mue=e}],[20,2,function(e,t,n,r){Bue=Fue(n,r),Mue=[e].concat(t)}],[20,4,function(e,t,n,r,i,s,a,o){Bue=Fue(i,o),Gue(e,n),Mue=[uce({type:"ClassRange",from:e,to:n},cce(i,a))],r&&(Mue=Mue.concat(r))}],[21,1,function(e,t){Bue=Fue(t,t),Mue=Zue(e,"simple",Bue)}],[21,1,function(e,t){Bue=Fue(t,t),Mue=e}],[22,1,function(e,t){Bue=Fue(t,t),Mue=e}],[22,1,function(e,t){Bue=Fue(t,t),Mue=Zue(e,"meta",Bue)}]],jue={SLASH:"23",CHAR:"24",BAR:"25",BOS:"26",EOS:"27",ESC_b:"28",ESC_B:"29",POS_LA_ASSERT:"30",R_PAREN:"31",NEG_LA_ASSERT:"32",POS_LB_ASSERT:"33",NEG_LB_ASSERT:"34",ESC_CHAR:"35",U_CODE_SURROGATE:"36",U_CODE:"37",U_PROP_VALUE_EXP:"38",CTRL_CH:"39",HEX_CODE:"40",OCT_CODE:"41",DEC_CODE:"42",META_CHAR:"43",ANY:"44",NAMED_GROUP_REF:"45",Q_MARK:"46",STAR:"47",PLUS:"48",RANGE_EXACT:"49",RANGE_OPEN:"50",RANGE_CLOSED:"51",NAMED_CAPTURE_GROUP:"52",L_PAREN:"53",NON_CAPTURE_GROUP:"54",NEG_CLASS:"55",R_BRACKET:"56",L_BRACKET:"57",DASH:"58",$:"59"},Uue=[{0:1,23:"s2"},{59:"acc"},{3:3,4:4,5:5,6:6,23:"r10",24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{23:"s7"},{23:"r6",25:"s12"},{23:"r7",25:"r7",31:"r7"},{7:14,8:15,9:16,10:25,14:27,15:42,16:43,17:26,23:"r9",24:"s28",25:"r9",26:"s17",27:"s18",28:"s19",29:"s20",30:"s21",31:"r9",32:"s22",33:"s23",34:"s24",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",52:"s44",53:"s45",54:"s46",55:"s40",57:"s41"},{1:8,2:9,24:"s10",59:"r3"},{59:"r1"},{24:"s11",59:"r2"},{24:"r4",59:"r4"},{24:"r5",59:"r5"},{5:13,6:6,23:"r10",24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{23:"r8",25:"r8",31:"r8"},{23:"r11",24:"r11",25:"r11",26:"r11",27:"r11",28:"r11",29:"r11",30:"r11",31:"r11",32:"r11",33:"r11",34:"r11",35:"r11",36:"r11",37:"r11",38:"r11",39:"r11",40:"r11",41:"r11",42:"r11",43:"r11",44:"r11",45:"r11",52:"r11",53:"r11",54:"r11",55:"r11",57:"r11"},{23:"r12",24:"r12",25:"r12",26:"r12",27:"r12",28:"r12",29:"r12",30:"r12",31:"r12",32:"r12",33:"r12",34:"r12",35:"r12",36:"r12",37:"r12",38:"r12",39:"r12",40:"r12",41:"r12",42:"r12",43:"r12",44:"r12",45:"r12",52:"r12",53:"r12",54:"r12",55:"r12",57:"r12"},{11:47,12:48,13:49,23:"r38",24:"r38",25:"r38",26:"r38",27:"r38",28:"r38",29:"r38",30:"r38",31:"r38",32:"r38",33:"r38",34:"r38",35:"r38",36:"r38",37:"r38",38:"r38",39:"r38",40:"r38",41:"r38",42:"r38",43:"r38",44:"r38",45:"r38",46:"s52",47:"s50",48:"s51",49:"s53",50:"s54",51:"s55",52:"r38",53:"r38",54:"r38",55:"r38",57:"r38"},{23:"r14",24:"r14",25:"r14",26:"r14",27:"r14",28:"r14",29:"r14",30:"r14",31:"r14",32:"r14",33:"r14",34:"r14",35:"r14",36:"r14",37:"r14",38:"r14",39:"r14",40:"r14",41:"r14",42:"r14",43:"r14",44:"r14",45:"r14",52:"r14",53:"r14",54:"r14",55:"r14",57:"r14"},{23:"r15",24:"r15",25:"r15",26:"r15",27:"r15",28:"r15",29:"r15",30:"r15",31:"r15",32:"r15",33:"r15",34:"r15",35:"r15",36:"r15",37:"r15",38:"r15",39:"r15",40:"r15",41:"r15",42:"r15",43:"r15",44:"r15",45:"r15",52:"r15",53:"r15",54:"r15",55:"r15",57:"r15"},{23:"r16",24:"r16",25:"r16",26:"r16",27:"r16",28:"r16",29:"r16",30:"r16",31:"r16",32:"r16",33:"r16",34:"r16",35:"r16",36:"r16",37:"r16",38:"r16",39:"r16",40:"r16",41:"r16",42:"r16",43:"r16",44:"r16",45:"r16",52:"r16",53:"r16",54:"r16",55:"r16",57:"r16"},{23:"r17",24:"r17",25:"r17",26:"r17",27:"r17",28:"r17",29:"r17",30:"r17",31:"r17",32:"r17",33:"r17",34:"r17",35:"r17",36:"r17",37:"r17",38:"r17",39:"r17",40:"r17",41:"r17",42:"r17",43:"r17",44:"r17",45:"r17",52:"r17",53:"r17",54:"r17",55:"r17",57:"r17"},{4:57,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:59,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:61,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:63,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{23:"r22",24:"r22",25:"r22",26:"r22",27:"r22",28:"r22",29:"r22",30:"r22",31:"r22",32:"r22",33:"r22",34:"r22",35:"r22",36:"r22",37:"r22",38:"r22",39:"r22",40:"r22",41:"r22",42:"r22",43:"r22",44:"r22",45:"r22",46:"r22",47:"r22",48:"r22",49:"r22",50:"r22",51:"r22",52:"r22",53:"r22",54:"r22",55:"r22",57:"r22"},{23:"r23",24:"r23",25:"r23",26:"r23",27:"r23",28:"r23",29:"r23",30:"r23",31:"r23",32:"r23",33:"r23",34:"r23",35:"r23",36:"r23",37:"r23",38:"r23",39:"r23",40:"r23",41:"r23",42:"r23",43:"r23",44:"r23",45:"r23",46:"r23",47:"r23",48:"r23",49:"r23",50:"r23",51:"r23",52:"r23",53:"r23",54:"r23",55:"r23",57:"r23"},{23:"r24",24:"r24",25:"r24",26:"r24",27:"r24",28:"r24",29:"r24",30:"r24",31:"r24",32:"r24",33:"r24",34:"r24",35:"r24",36:"r24",37:"r24",38:"r24",39:"r24",40:"r24",41:"r24",42:"r24",43:"r24",44:"r24",45:"r24",46:"r24",47:"r24",48:"r24",49:"r24",50:"r24",51:"r24",52:"r24",53:"r24",54:"r24",55:"r24",57:"r24"},{23:"r25",24:"r25",25:"r25",26:"r25",27:"r25",28:"r25",29:"r25",30:"r25",31:"r25",32:"r25",33:"r25",34:"r25",35:"r25",36:"r25",37:"r25",38:"r25",39:"r25",40:"r25",41:"r25",42:"r25",43:"r25",44:"r25",45:"r25",46:"r25",47:"r25",48:"r25",49:"r25",50:"r25",51:"r25",52:"r25",53:"r25",54:"r25",55:"r25",56:"r25",57:"r25",58:"r25"},{23:"r26",24:"r26",25:"r26",26:"r26",27:"r26",28:"r26",29:"r26",30:"r26",31:"r26",32:"r26",33:"r26",34:"r26",35:"r26",36:"r26",37:"r26",38:"r26",39:"r26",40:"r26",41:"r26",42:"r26",43:"r26",44:"r26",45:"r26",46:"r26",47:"r26",48:"r26",49:"r26",50:"r26",51:"r26",52:"r26",53:"r26",54:"r26",55:"r26",56:"r26",57:"r26",58:"r26"},{23:"r27",24:"r27",25:"r27",26:"r27",27:"r27",28:"r27",29:"r27",30:"r27",31:"r27",32:"r27",33:"r27",34:"r27",35:"r27",36:"r27",37:"r27",38:"r27",39:"r27",40:"r27",41:"r27",42:"r27",43:"r27",44:"r27",45:"r27",46:"r27",47:"r27",48:"r27",49:"r27",50:"r27",51:"r27",52:"r27",53:"r27",54:"r27",55:"r27",56:"r27",57:"r27",58:"r27"},{23:"r28",24:"r28",25:"r28",26:"r28",27:"r28",28:"r28",29:"r28",30:"r28",31:"r28",32:"r28",33:"r28",34:"r28",35:"r28",36:"r28",37:"r28",38:"r28",39:"r28",40:"r28",41:"r28",42:"r28",43:"r28",44:"r28",45:"r28",46:"r28",47:"r28",48:"r28",49:"r28",50:"r28",51:"r28",52:"r28",53:"r28",54:"r28",55:"r28",56:"r28",57:"r28",58:"r28"},{23:"r29",24:"r29",25:"r29",26:"r29",27:"r29",28:"r29",29:"r29",30:"r29",31:"r29",32:"r29",33:"r29",34:"r29",35:"r29",36:"r29",37:"r29",38:"r29",39:"r29",40:"r29",41:"r29",42:"r29",43:"r29",44:"r29",45:"r29",46:"r29",47:"r29",48:"r29",49:"r29",50:"r29",51:"r29",52:"r29",53:"r29",54:"r29",55:"r29",56:"r29",57:"r29",58:"r29"},{23:"r30",24:"r30",25:"r30",26:"r30",27:"r30",28:"r30",29:"r30",30:"r30",31:"r30",32:"r30",33:"r30",34:"r30",35:"r30",36:"r30",37:"r30",38:"r30",39:"r30",40:"r30",41:"r30",42:"r30",43:"r30",44:"r30",45:"r30",46:"r30",47:"r30",48:"r30",49:"r30",50:"r30",51:"r30",52:"r30",53:"r30",54:"r30",55:"r30",56:"r30",57:"r30",58:"r30"},{23:"r31",24:"r31",25:"r31",26:"r31",27:"r31",28:"r31",29:"r31",30:"r31",31:"r31",32:"r31",33:"r31",34:"r31",35:"r31",36:"r31",37:"r31",38:"r31",39:"r31",40:"r31",41:"r31",42:"r31",43:"r31",44:"r31",45:"r31",46:"r31",47:"r31",48:"r31",49:"r31",50:"r31",51:"r31",52:"r31",53:"r31",54:"r31",55:"r31",56:"r31",57:"r31",58:"r31"},{23:"r32",24:"r32",25:"r32",26:"r32",27:"r32",28:"r32",29:"r32",30:"r32",31:"r32",32:"r32",33:"r32",34:"r32",35:"r32",36:"r32",37:"r32",38:"r32",39:"r32",40:"r32",41:"r32",42:"r32",43:"r32",44:"r32",45:"r32",46:"r32",47:"r32",48:"r32",49:"r32",50:"r32",51:"r32",52:"r32",53:"r32",54:"r32",55:"r32",56:"r32",57:"r32",58:"r32"},{23:"r33",24:"r33",25:"r33",26:"r33",27:"r33",28:"r33",29:"r33",30:"r33",31:"r33",32:"r33",33:"r33",34:"r33",35:"r33",36:"r33",37:"r33",38:"r33",39:"r33",40:"r33",41:"r33",42:"r33",43:"r33",44:"r33",45:"r33",46:"r33",47:"r33",48:"r33",49:"r33",50:"r33",51:"r33",52:"r33",53:"r33",54:"r33",55:"r33",56:"r33",57:"r33",58:"r33"},{23:"r34",24:"r34",25:"r34",26:"r34",27:"r34",28:"r34",29:"r34",30:"r34",31:"r34",32:"r34",33:"r34",34:"r34",35:"r34",36:"r34",37:"r34",38:"r34",39:"r34",40:"r34",41:"r34",42:"r34",43:"r34",44:"r34",45:"r34",46:"r34",47:"r34",48:"r34",49:"r34",50:"r34",51:"r34",52:"r34",53:"r34",54:"r34",55:"r34",56:"r34",57:"r34",58:"r34"},{23:"r35",24:"r35",25:"r35",26:"r35",27:"r35",28:"r35",29:"r35",30:"r35",31:"r35",32:"r35",33:"r35",34:"r35",35:"r35",36:"r35",37:"r35",38:"r35",39:"r35",40:"r35",41:"r35",42:"r35",43:"r35",44:"r35",45:"r35",46:"r35",47:"r35",48:"r35",49:"r35",50:"r35",51:"r35",52:"r35",53:"r35",54:"r35",55:"r35",56:"r35",57:"r35",58:"r35"},{23:"r36",24:"r36",25:"r36",26:"r36",27:"r36",28:"r36",29:"r36",30:"r36",31:"r36",32:"r36",33:"r36",34:"r36",35:"r36",36:"r36",37:"r36",38:"r36",39:"r36",40:"r36",41:"r36",42:"r36",43:"r36",44:"r36",45:"r36",46:"r36",47:"r36",48:"r36",49:"r36",50:"r36",51:"r36",52:"r36",53:"r36",54:"r36",55:"r36",56:"r36",57:"r36",58:"r36"},{10:70,18:65,19:66,21:67,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r54",58:"s68"},{10:70,18:83,19:66,21:67,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r54",58:"s68"},{23:"r47",24:"r47",25:"r47",26:"r47",27:"r47",28:"r47",29:"r47",30:"r47",31:"r47",32:"r47",33:"r47",34:"r47",35:"r47",36:"r47",37:"r47",38:"r47",39:"r47",40:"r47",41:"r47",42:"r47",43:"r47",44:"r47",45:"r47",46:"r47",47:"r47",48:"r47",49:"r47",50:"r47",51:"r47",52:"r47",53:"r47",54:"r47",55:"r47",57:"r47"},{23:"r48",24:"r48",25:"r48",26:"r48",27:"r48",28:"r48",29:"r48",30:"r48",31:"r48",32:"r48",33:"r48",34:"r48",35:"r48",36:"r48",37:"r48",38:"r48",39:"r48",40:"r48",41:"r48",42:"r48",43:"r48",44:"r48",45:"r48",46:"r48",47:"r48",48:"r48",49:"r48",50:"r48",51:"r48",52:"r48",53:"r48",54:"r48",55:"r48",57:"r48"},{4:85,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:87,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:89,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{23:"r13",24:"r13",25:"r13",26:"r13",27:"r13",28:"r13",29:"r13",30:"r13",31:"r13",32:"r13",33:"r13",34:"r13",35:"r13",36:"r13",37:"r13",38:"r13",39:"r13",40:"r13",41:"r13",42:"r13",43:"r13",44:"r13",45:"r13",52:"r13",53:"r13",54:"r13",55:"r13",57:"r13"},{23:"r37",24:"r37",25:"r37",26:"r37",27:"r37",28:"r37",29:"r37",30:"r37",31:"r37",32:"r37",33:"r37",34:"r37",35:"r37",36:"r37",37:"r37",38:"r37",39:"r37",40:"r37",41:"r37",42:"r37",43:"r37",44:"r37",45:"r37",52:"r37",53:"r37",54:"r37",55:"r37",57:"r37"},{23:"r39",24:"r39",25:"r39",26:"r39",27:"r39",28:"r39",29:"r39",30:"r39",31:"r39",32:"r39",33:"r39",34:"r39",35:"r39",36:"r39",37:"r39",38:"r39",39:"r39",40:"r39",41:"r39",42:"r39",43:"r39",44:"r39",45:"r39",46:"s56",52:"r39",53:"r39",54:"r39",55:"r39",57:"r39"},{23:"r41",24:"r41",25:"r41",26:"r41",27:"r41",28:"r41",29:"r41",30:"r41",31:"r41",32:"r41",33:"r41",34:"r41",35:"r41",36:"r41",37:"r41",38:"r41",39:"r41",40:"r41",41:"r41",42:"r41",43:"r41",44:"r41",45:"r41",46:"r41",52:"r41",53:"r41",54:"r41",55:"r41",57:"r41"},{23:"r42",24:"r42",25:"r42",26:"r42",27:"r42",28:"r42",29:"r42",30:"r42",31:"r42",32:"r42",33:"r42",34:"r42",35:"r42",36:"r42",37:"r42",38:"r42",39:"r42",40:"r42",41:"r42",42:"r42",43:"r42",44:"r42",45:"r42",46:"r42",52:"r42",53:"r42",54:"r42",55:"r42",57:"r42"},{23:"r43",24:"r43",25:"r43",26:"r43",27:"r43",28:"r43",29:"r43",30:"r43",31:"r43",32:"r43",33:"r43",34:"r43",35:"r43",36:"r43",37:"r43",38:"r43",39:"r43",40:"r43",41:"r43",42:"r43",43:"r43",44:"r43",45:"r43",46:"r43",52:"r43",53:"r43",54:"r43",55:"r43",57:"r43"},{23:"r44",24:"r44",25:"r44",26:"r44",27:"r44",28:"r44",29:"r44",30:"r44",31:"r44",32:"r44",33:"r44",34:"r44",35:"r44",36:"r44",37:"r44",38:"r44",39:"r44",40:"r44",41:"r44",42:"r44",43:"r44",44:"r44",45:"r44",46:"r44",52:"r44",53:"r44",54:"r44",55:"r44",57:"r44"},{23:"r45",24:"r45",25:"r45",26:"r45",27:"r45",28:"r45",29:"r45",30:"r45",31:"r45",32:"r45",33:"r45",34:"r45",35:"r45",36:"r45",37:"r45",38:"r45",39:"r45",40:"r45",41:"r45",42:"r45",43:"r45",44:"r45",45:"r45",46:"r45",52:"r45",53:"r45",54:"r45",55:"r45",57:"r45"},{23:"r46",24:"r46",25:"r46",26:"r46",27:"r46",28:"r46",29:"r46",30:"r46",31:"r46",32:"r46",33:"r46",34:"r46",35:"r46",36:"r46",37:"r46",38:"r46",39:"r46",40:"r46",41:"r46",42:"r46",43:"r46",44:"r46",45:"r46",46:"r46",52:"r46",53:"r46",54:"r46",55:"r46",57:"r46"},{23:"r40",24:"r40",25:"r40",26:"r40",27:"r40",28:"r40",29:"r40",30:"r40",31:"r40",32:"r40",33:"r40",34:"r40",35:"r40",36:"r40",37:"r40",38:"r40",39:"r40",40:"r40",41:"r40",42:"r40",43:"r40",44:"r40",45:"r40",52:"r40",53:"r40",54:"r40",55:"r40",57:"r40"},{25:"s12",31:"s58"},{23:"r18",24:"r18",25:"r18",26:"r18",27:"r18",28:"r18",29:"r18",30:"r18",31:"r18",32:"r18",33:"r18",34:"r18",35:"r18",36:"r18",37:"r18",38:"r18",39:"r18",40:"r18",41:"r18",42:"r18",43:"r18",44:"r18",45:"r18",52:"r18",53:"r18",54:"r18",55:"r18",57:"r18"},{25:"s12",31:"s60"},{23:"r19",24:"r19",25:"r19",26:"r19",27:"r19",28:"r19",29:"r19",30:"r19",31:"r19",32:"r19",33:"r19",34:"r19",35:"r19",36:"r19",37:"r19",38:"r19",39:"r19",40:"r19",41:"r19",42:"r19",43:"r19",44:"r19",45:"r19",52:"r19",53:"r19",54:"r19",55:"r19",57:"r19"},{25:"s12",31:"s62"},{23:"r20",24:"r20",25:"r20",26:"r20",27:"r20",28:"r20",29:"r20",30:"r20",31:"r20",32:"r20",33:"r20",34:"r20",35:"r20",36:"r20",37:"r20",38:"r20",39:"r20",40:"r20",41:"r20",42:"r20",43:"r20",44:"r20",45:"r20",52:"r20",53:"r20",54:"r20",55:"r20",57:"r20"},{25:"s12",31:"s64"},{23:"r21",24:"r21",25:"r21",26:"r21",27:"r21",28:"r21",29:"r21",30:"r21",31:"r21",32:"r21",33:"r21",34:"r21",35:"r21",36:"r21",37:"r21",38:"r21",39:"r21",40:"r21",41:"r21",42:"r21",43:"r21",44:"r21",45:"r21",52:"r21",53:"r21",54:"r21",55:"r21",57:"r21"},{56:"s72"},{56:"r55"},{10:70,20:73,21:75,22:76,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r56",58:"s74"},{24:"r62",28:"r62",35:"r62",36:"r62",37:"r62",38:"r62",39:"r62",40:"r62",41:"r62",42:"r62",43:"r62",44:"r62",45:"r62",56:"r62",58:"r62"},{24:"r63",28:"r63",35:"r63",36:"r63",37:"r63",38:"r63",39:"r63",40:"r63",41:"r63",42:"r63",43:"r63",44:"r63",45:"r63",56:"r63",58:"r63"},{24:"r64",28:"r64",35:"r64",36:"r64",37:"r64",38:"r64",39:"r64",40:"r64",41:"r64",42:"r64",43:"r64",44:"r64",45:"r64",56:"r64",58:"r64"},{24:"r65",28:"r65",35:"r65",36:"r65",37:"r65",38:"r65",39:"r65",40:"r65",41:"r65",42:"r65",43:"r65",44:"r65",45:"r65",56:"r65",58:"r65"},{23:"r52",24:"r52",25:"r52",26:"r52",27:"r52",28:"r52",29:"r52",30:"r52",31:"r52",32:"r52",33:"r52",34:"r52",35:"r52",36:"r52",37:"r52",38:"r52",39:"r52",40:"r52",41:"r52",42:"r52",43:"r52",44:"r52",45:"r52",46:"r52",47:"r52",48:"r52",49:"r52",50:"r52",51:"r52",52:"r52",53:"r52",54:"r52",55:"r52",57:"r52"},{56:"r57"},{10:70,21:77,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r62",58:"s68"},{56:"r59"},{10:70,20:79,21:75,22:76,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r63",58:"s80"},{10:70,18:78,19:66,21:67,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r54",58:"s68"},{56:"r58"},{56:"r60"},{10:70,21:81,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r62",58:"s68"},{10:70,18:82,19:66,21:67,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r54",58:"s68"},{56:"r61"},{56:"s84"},{23:"r53",24:"r53",25:"r53",26:"r53",27:"r53",28:"r53",29:"r53",30:"r53",31:"r53",32:"r53",33:"r53",34:"r53",35:"r53",36:"r53",37:"r53",38:"r53",39:"r53",40:"r53",41:"r53",42:"r53",43:"r53",44:"r53",45:"r53",46:"r53",47:"r53",48:"r53",49:"r53",50:"r53",51:"r53",52:"r53",53:"r53",54:"r53",55:"r53",57:"r53"},{25:"s12",31:"s86"},{23:"r49",24:"r49",25:"r49",26:"r49",27:"r49",28:"r49",29:"r49",30:"r49",31:"r49",32:"r49",33:"r49",34:"r49",35:"r49",36:"r49",37:"r49",38:"r49",39:"r49",40:"r49",41:"r49",42:"r49",43:"r49",44:"r49",45:"r49",46:"r49",47:"r49",48:"r49",49:"r49",50:"r49",51:"r49",52:"r49",53:"r49",54:"r49",55:"r49",57:"r49"},{25:"s12",31:"s88"},{23:"r50",24:"r50",25:"r50",26:"r50",27:"r50",28:"r50",29:"r50",30:"r50",31:"r50",32:"r50",33:"r50",34:"r50",35:"r50",36:"r50",37:"r50",38:"r50",39:"r50",40:"r50",41:"r50",42:"r50",43:"r50",44:"r50",45:"r50",46:"r50",47:"r50",48:"r50",49:"r50",50:"r50",51:"r50",52:"r50",53:"r50",54:"r50",55:"r50",57:"r50"},{25:"s12",31:"s90"},{23:"r51",24:"r51",25:"r51",26:"r51",27:"r51",28:"r51",29:"r51",30:"r51",31:"r51",32:"r51",33:"r51",34:"r51",35:"r51",36:"r51",37:"r51",38:"r51",39:"r51",40:"r51",41:"r51",42:"r51",43:"r51",44:"r51",45:"r51",46:"r51",47:"r51",48:"r51",49:"r51",50:"r51",51:"r51",52:"r51",53:"r51",54:"r51",55:"r51",57:"r51"}],que=[],$ue=void 0,Jue=[[/^#[^\n]+/,function(){}],[/^\s+/,function(){}],[/^-/,function(){return"DASH"}],[/^\//,function(){return"CHAR"}],[/^#/,function(){return"CHAR"}],[/^\|/,function(){return"CHAR"}],[/^\./,function(){return"CHAR"}],[/^\{/,function(){return"CHAR"}],[/^\{\d+\}/,function(){return"RANGE_EXACT"}],[/^\{\d+,\}/,function(){return"RANGE_OPEN"}],[/^\{\d+,\d+\}/,function(){return"RANGE_CLOSED"}],[/^\\k<(([\u0041-\u005a\u0061-\u007a\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e-\u066f\u0671-\u06d3\u06d5\u06e5-\u06e6\u06ee-\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4-\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc-\u09dd\u09df-\u09e1\u09f0-\u09f1\u09fc\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0-\u0ae1\u0af9\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3d\u0b5c-\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60-\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0-\u0ce1\u0cf1-\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32-\u0e33\u0e40-\u0e46\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2-\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065-\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae-\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5-\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a-\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd-\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5-\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd23\udf00-\udf1c\udf27\udf30-\udf45\udfe0-\udff6]|\ud804[\udc03-\udc37\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f\udc80-\udcaf\udcc4-\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a]|\ud806[\udc00-\udc2b\udca0-\udcdf\udcff\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08-\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67-\udd68\udd6a-\udd89\udd98\udee0-\udef2]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf50\udf93-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud838[\udd00-\udd2c\udd37-\udd3d\udd4e\udec0-\udeeb]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\}))(([\u0030-\u0039\u0041-\u005a\u005f\u0061-\u007a\u00aa\u00b5\u00b7\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u05d0-\u05ea\u05ef-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u07fd\u0800-\u082d\u0840-\u085b\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u08d3-\u08e1\u08e3-\u0963\u0966-\u096f\u0971-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09f1\u09fc\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b56-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c60-\u0c63\u0c66-\u0c6f\u0c80-\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf2\u0d00-\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d54-\u0d57\u0d5f-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18-\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1369-\u1371\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17d3\u17d7\u17dc-\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1ab0-\u1abd\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1cd0-\u1cd2\u1cd4-\u1cfa\u1d00-\u1df9\u1dfb-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u203f-\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua827\ua840-\ua873\ua880-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua8fd-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\ua9e0-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabea\uabec-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe2f\ufe33-\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\uddfd\ude80-\ude9c\udea0-\uded0\udee0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf7a\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udca0-\udca9\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00-\ude03\ude05-\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude38-\ude3a\ude3f\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee6\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd27\udd30-\udd39\udf00-\udf1c\udf27\udf30-\udf50\udfe0-\udff6]|\ud804[\udc00-\udc46\udc66-\udc6f\udc7f-\udcba\udcd0-\udce8\udcf0-\udcf9\udd00-\udd34\udd36-\udd3f\udd44-\udd46\udd50-\udd73\udd76\udd80-\uddc4\uddc9-\uddcc\uddd0-\uddda\udddc\ude00-\ude11\ude13-\ude37\ude3e\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udeea\udef0-\udef9\udf00-\udf03\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3b-\udf44\udf47-\udf48\udf4b-\udf4d\udf50\udf57\udf5d-\udf63\udf66-\udf6c\udf70-\udf74]|\ud805[\udc00-\udc4a\udc50-\udc59\udc5e-\udc5f\udc80-\udcc5\udcc7\udcd0-\udcd9\udd80-\uddb5\uddb8-\uddc0\uddd8-\udddd\ude00-\ude40\ude44\ude50-\ude59\ude80-\udeb8\udec0-\udec9\udf00-\udf1a\udf1d-\udf2b\udf30-\udf39]|\ud806[\udc00-\udc3a\udca0-\udce9\udcff\udda0-\udda7\uddaa-\uddd7\uddda-\udde1\udde3-\udde4\ude00-\ude3e\ude47\ude50-\ude99\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc40\udc50-\udc59\udc72-\udc8f\udc92-\udca7\udca9-\udcb6\udd00-\udd06\udd08-\udd09\udd0b-\udd36\udd3a\udd3c-\udd3d\udd3f-\udd47\udd50-\udd59\udd60-\udd65\udd67-\udd68\udd6a-\udd8e\udd90-\udd91\udd93-\udd98\udda0-\udda9\udee0-\udef6]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude60-\ude69\uded0-\udeed\udef0-\udef4\udf00-\udf36\udf40-\udf43\udf50-\udf59\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9d-\udc9e]|\ud834[\udd65-\udd69\udd6d-\udd72\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb\udfce-\udfff]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23-\udc24\udc26-\udc2a\udd00-\udd2c\udd30-\udd3d\udd40-\udd49\udd4e\udec0-\udef9]|\ud83a[\udc00-\udcc4\udcd0-\udcd6\udd00-\udd4b\udd50-\udd59]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\udb40[\udd00-\uddef])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\})|[\u200c\u200d])*>/,function(){return sce(Oue.slice(3,-1),this.getCurrentState()),"NAMED_GROUP_REF"}],[/^\\b/,function(){return"ESC_b"}],[/^\\B/,function(){return"ESC_B"}],[/^\\c[a-zA-Z]/,function(){return"CTRL_CH"}],[/^\\0\d{1,2}/,function(){return"OCT_CODE"}],[/^\\0/,function(){return"DEC_CODE"}],[/^\\\d{1,3}/,function(){return"DEC_CODE"}],[/^\\u[dD][89abAB][0-9a-fA-F]{2}\\u[dD][c-fC-F][0-9a-fA-F]{2}/,function(){return"U_CODE_SURROGATE"}],[/^\\u\{[0-9a-fA-F]{1,}\}/,function(){return"U_CODE"}],[/^\\u[0-9a-fA-F]{4}/,function(){return"U_CODE"}],[/^\\[pP]\{\w+(?:=\w+)?\}/,function(){return"U_PROP_VALUE_EXP"}],[/^\\x[0-9a-fA-F]{2}/,function(){return"HEX_CODE"}],[/^\\[tnrdDsSwWvf]/,function(){return"META_CHAR"}],[/^\\\//,function(){return"ESC_CHAR"}],[/^\\[ #]/,function(){return"ESC_CHAR"}],[/^\\[\^\$\.\*\+\?\(\)\\\[\]\{\}\|\/]/,function(){return"ESC_CHAR"}],[/^\\[^*?+\[()\\|]/,function(){var e=this.getCurrentState();if("u_class"===e&&"\\-"===Oue)return"ESC_CHAR";if("u"===e||"xu"===e||"u_class"===e)throw new SyntaxError("invalid Unicode escape "+Oue);return"ESC_CHAR"}],[/^\(/,function(){return"CHAR"}],[/^\)/,function(){return"CHAR"}],[/^\(\?=/,function(){return"POS_LA_ASSERT"}],[/^\(\?!/,function(){return"NEG_LA_ASSERT"}],[/^\(\?<=/,function(){return"POS_LB_ASSERT"}],[/^\(\?<!/,function(){return"NEG_LB_ASSERT"}],[/^\(\?:/,function(){return"NON_CAPTURE_GROUP"}],[/^\(\?<(([\u0041-\u005a\u0061-\u007a\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e-\u066f\u0671-\u06d3\u06d5\u06e5-\u06e6\u06ee-\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4-\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc-\u09dd\u09df-\u09e1\u09f0-\u09f1\u09fc\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0-\u0ae1\u0af9\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3d\u0b5c-\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60-\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0-\u0ce1\u0cf1-\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32-\u0e33\u0e40-\u0e46\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2-\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065-\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae-\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5-\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a-\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd-\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5-\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd23\udf00-\udf1c\udf27\udf30-\udf45\udfe0-\udff6]|\ud804[\udc03-\udc37\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f\udc80-\udcaf\udcc4-\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a]|\ud806[\udc00-\udc2b\udca0-\udcdf\udcff\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08-\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67-\udd68\udd6a-\udd89\udd98\udee0-\udef2]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf50\udf93-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud838[\udd00-\udd2c\udd37-\udd3d\udd4e\udec0-\udeeb]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\}))(([\u0030-\u0039\u0041-\u005a\u005f\u0061-\u007a\u00aa\u00b5\u00b7\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u05d0-\u05ea\u05ef-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u07fd\u0800-\u082d\u0840-\u085b\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u08d3-\u08e1\u08e3-\u0963\u0966-\u096f\u0971-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09f1\u09fc\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b56-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c60-\u0c63\u0c66-\u0c6f\u0c80-\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf2\u0d00-\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d54-\u0d57\u0d5f-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18-\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1369-\u1371\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17d3\u17d7\u17dc-\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1ab0-\u1abd\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1cd0-\u1cd2\u1cd4-\u1cfa\u1d00-\u1df9\u1dfb-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u203f-\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua827\ua840-\ua873\ua880-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua8fd-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\ua9e0-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabea\uabec-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe2f\ufe33-\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\uddfd\ude80-\ude9c\udea0-\uded0\udee0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf7a\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udca0-\udca9\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00-\ude03\ude05-\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude38-\ude3a\ude3f\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee6\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd27\udd30-\udd39\udf00-\udf1c\udf27\udf30-\udf50\udfe0-\udff6]|\ud804[\udc00-\udc46\udc66-\udc6f\udc7f-\udcba\udcd0-\udce8\udcf0-\udcf9\udd00-\udd34\udd36-\udd3f\udd44-\udd46\udd50-\udd73\udd76\udd80-\uddc4\uddc9-\uddcc\uddd0-\uddda\udddc\ude00-\ude11\ude13-\ude37\ude3e\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udeea\udef0-\udef9\udf00-\udf03\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3b-\udf44\udf47-\udf48\udf4b-\udf4d\udf50\udf57\udf5d-\udf63\udf66-\udf6c\udf70-\udf74]|\ud805[\udc00-\udc4a\udc50-\udc59\udc5e-\udc5f\udc80-\udcc5\udcc7\udcd0-\udcd9\udd80-\uddb5\uddb8-\uddc0\uddd8-\udddd\ude00-\ude40\ude44\ude50-\ude59\ude80-\udeb8\udec0-\udec9\udf00-\udf1a\udf1d-\udf2b\udf30-\udf39]|\ud806[\udc00-\udc3a\udca0-\udce9\udcff\udda0-\udda7\uddaa-\uddd7\uddda-\udde1\udde3-\udde4\ude00-\ude3e\ude47\ude50-\ude99\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc40\udc50-\udc59\udc72-\udc8f\udc92-\udca7\udca9-\udcb6\udd00-\udd06\udd08-\udd09\udd0b-\udd36\udd3a\udd3c-\udd3d\udd3f-\udd47\udd50-\udd59\udd60-\udd65\udd67-\udd68\udd6a-\udd8e\udd90-\udd91\udd93-\udd98\udda0-\udda9\udee0-\udef6]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude60-\ude69\uded0-\udeed\udef0-\udef4\udf00-\udf36\udf40-\udf43\udf50-\udf59\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9d-\udc9e]|\ud834[\udd65-\udd69\udd6d-\udd72\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb\udfce-\udfff]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23-\udc24\udc26-\udc2a\udd00-\udd2c\udd30-\udd3d\udd40-\udd49\udd4e\udec0-\udef9]|\ud83a[\udc00-\udcc4\udcd0-\udcd6\udd00-\udd4b\udd50-\udd59]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\udb40[\udd00-\uddef])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\})|[\u200c\u200d])*>/,function(){return sce(Oue=Oue.slice(3,-1),this.getCurrentState()),"NAMED_CAPTURE_GROUP"}],[/^\(/,function(){return"L_PAREN"}],[/^\)/,function(){return"R_PAREN"}],[/^[*?+[^$]/,function(){return"CHAR"}],[/^\\\]/,function(){return"ESC_CHAR"}],[/^\]/,function(){return this.popState(),"R_BRACKET"}],[/^\^/,function(){return"BOS"}],[/^\$/,function(){return"EOS"}],[/^\*/,function(){return"STAR"}],[/^\?/,function(){return"Q_MARK"}],[/^\+/,function(){return"PLUS"}],[/^\|/,function(){return"BAR"}],[/^\./,function(){return"ANY"}],[/^\//,function(){return"SLASH"}],[/^[^*?+\[()\\|]/,function(){return"CHAR"}],[/^\[\^/,function(){var e=this.getCurrentState();return this.pushState("u"===e||"xu"===e?"u_class":"class"),"NEG_CLASS"}],[/^\[/,function(){var e=this.getCurrentState();return this.pushState("u"===e||"xu"===e?"u_class":"class"),"L_BRACKET"}]],Vue={INITIAL:[8,9,10,11,12,13,14,15,16,17,20,22,23,24,26,27,30,31,32,33,34,35,36,37,41,42,43,44,45,46,47,48,49,50,51],u:[8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26,27,30,31,32,33,34,35,36,37,41,42,43,44,45,46,47,48,49,50,51],xu:[0,1,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,41,42,43,44,45,46,47,48,49,50,51],x:[0,1,8,9,10,11,12,13,14,15,16,17,20,22,23,24,26,27,30,31,32,33,34,35,36,37,41,42,43,44,45,46,47,48,49,50,51],u_class:[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],class:[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,20,22,23,24,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51]},Kue={type:"$",value:""};$ue={initString:function(e){return this._string=e,this._cursor=0,this._states=["INITIAL"],this._tokensQueue=[],this._currentLine=1,this._currentColumn=0,this._currentLineBeginOffset=0,this._tokenStartOffset=0,this._tokenEndOffset=0,this._tokenStartLine=1,this._tokenEndLine=1,this._tokenStartColumn=0,this._tokenEndColumn=0,this},getStates:function(){return this._states},getCurrentState:function(){return this._states[this._states.length-1]},pushState:function(e){this._states.push(e)},begin:function(e){this.pushState(e)},popState:function(){return this._states.length>1?this._states.pop():this._states[0]},getNextToken:function(){if(this._tokensQueue.length>0)return this.onToken(this._toToken(this._tokensQueue.shift()));if(!this.hasMoreTokens())return this.onToken(Kue);for(var e=this._string.slice(this._cursor),t=Vue[this.getCurrentState()],n=0;n<t.length;n++){var r=t[n],i=Jue[r],s=this._match(e,i[0]);if(""===e&&""===s&&this._cursor++,null!==s){(Oue=s).length;var a=i[1].call(this);if(!a)return this.getNextToken();if(Array.isArray(a)){var o,u=a.slice(1);if(a=a[0],u.length>0)(o=this._tokensQueue).unshift.apply(o,Lue(u))}return this.onToken(this._toToken(a,Oue))}}if(this.isEOF())return this._cursor++,Kue;this.throwUnexpectedToken(e[0],this._currentLine,this._currentColumn)},throwUnexpectedToken:function(e,t,n){var r=this._string.split("\n")[t-1],i="";r&&(i="\n\n"+r+"\n"+" ".repeat(n)+"^\n");throw new SyntaxError(i+'Unexpected token: "'+e+'" at '+t+":"+n+".")},getCursor:function(){return this._cursor},getCurrentLine:function(){return this._currentLine},getCurrentColumn:function(){return this._currentColumn},_captureLocation:function(e){var t=/\n/g;this._tokenStartOffset=this._cursor,this._tokenStartLine=this._currentLine,this._tokenStartColumn=this._tokenStartOffset-this._currentLineBeginOffset;for(var n=void 0;null!==(n=t.exec(e));)this._currentLine++,this._currentLineBeginOffset=this._tokenStartOffset+n.index+1;this._tokenEndOffset=this._cursor+e.length,this._tokenEndLine=this._currentLine,this._tokenEndColumn=this._currentColumn=this._tokenEndOffset-this._currentLineBeginOffset},_toToken:function(e){return{type:e,value:arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",startOffset:this._tokenStartOffset,endOffset:this._tokenEndOffset,startLine:this._tokenStartLine,endLine:this._tokenEndLine,startColumn:this._tokenStartColumn,endColumn:this._tokenEndColumn}},isEOF:function(){return this._cursor===this._string.length},hasMoreTokens:function(){return this._cursor<=this._string.length},_match:function(e,t){var n=e.match(t);return n?(this._captureLocation(n[0]),this._cursor+=n[0].length,n[0]):null},onToken:function(e){return e}},Due.lexer=$ue,Due.tokenizer=$ue,Due.options={captureLocations:!0};var Wue={setOptions:function(e){return Due.options=e,this},getOptions:function(){return Due.options},parse:function(e,t){if(!$ue)throw new Error("Tokenizer instance wasn't specified.");$ue.initString(e);var n=Due.options;t&&(Due.options=Object.assign({},Due.options,t)),Wue.onParseBegin(e,$ue,Due.options),que.length=0,que.push(0);var r=$ue.getNextToken(),i=null;do{r||(Due.options=n,pce());var s=que[que.length-1],a=jue[r.type];Uue[s].hasOwnProperty(a)||(Due.options=n,lce(r));var o=Uue[s][a];if("s"===o[0]){var u=null;Due.options.captureLocations&&(u={startOffset:r.startOffset,endOffset:r.endOffset,startLine:r.startLine,endLine:r.endLine,startColumn:r.startColumn,endColumn:r.endColumn}),i=this.onShift(r),que.push({symbol:jue[i.type],semanticValue:i.value,loc:u},Number(o.slice(1))),r=$ue.getNextToken()}else if("r"===o[0]){var c=o.slice(1),l=Rue[c],p="function"==typeof l[2],d=p?[]:null,h=p&&Due.options.captureLocations?[]:null;if(0!==l[1])for(var f=l[1];f-- >0;){que.pop();var m=que.pop();p&&(d.unshift(m.semanticValue),h&&h.unshift(m.loc))}var y={symbol:l[0]};if(p){Oue=i?i.value:null,i&&i.value.length;var g=null!==h?d.concat(h):d;l[2].apply(l,Lue(g)),y.semanticValue=Mue,h&&(y.loc=Bue)}var b=que[que.length-1],x=l[0];que.push(y,Uue[b][x])}else if("acc"===o){que.pop();var S=que.pop();return(1!==que.length||0!==que[0]||$ue.hasMoreTokens())&&(Due.options=n,lce(r)),S.hasOwnProperty("semanticValue")?(Due.options=n,Wue.onParseEnd(S.semanticValue),S.semanticValue):(Wue.onParseEnd(),Due.options=n,!0)}}while($ue.hasMoreTokens()||que.length>1)},setTokenizer:function(e){return $ue=e,Wue},getTokenizer:function(){return $ue},onParseBegin:function(e,t,n){},onParseEnd:function(e){},onShift:function(e){return e}},Xue=0,Hue={},zue="";function Yue(e){var t=e.match(/\d+/g).map(Number);if(Number.isFinite(t[1])&&t[1]<t[0])throw new SyntaxError("Numbers out of order in "+e+" quantifier");return t}function Gue(e,t){if("control"===e.kind||"control"===t.kind||!isNaN(e.codePoint)&&!isNaN(t.codePoint)&&e.codePoint>t.codePoint)throw new SyntaxError("Range "+e.value+"-"+t.value+" out of order in character class")}Wue.onParseBegin=function(e,t){zue=e,Xue=0,Hue={};var n=e.lastIndexOf("/"),r=e.slice(n);r.includes("x")&&r.includes("u")?t.pushState("xu"):(r.includes("x")&&t.pushState("x"),r.includes("u")&&t.pushState("u"))},Wue.onShift=function(e){return"L_PAREN"!==e.type&&"NAMED_CAPTURE_GROUP"!==e.type||(e.value=new String(e.value),e.value.groupNumber=++Xue),e};var Que=_ue;function Zue(e,t,n){var r=void 0,i=void 0;switch(t){case"decimal":i=Number(e.slice(1)),r=String.fromCodePoint(i);break;case"oct":i=parseInt(e.slice(1),8),r=String.fromCodePoint(i);break;case"hex":case"unicode":if(e.lastIndexOf("\\u")>0){var s=e.split("\\u").slice(1),a=Nue(s,2),o=a[0],u=a[1];i=1024*((o=parseInt(o,16))-55296)+((u=parseInt(u,16))-56320)+65536,r=String.fromCodePoint(i)}else{var c=e.slice(2).replace("{","");if((i=parseInt(c,16))>1114111)throw new SyntaxError("Bad character escape sequence: "+e);r=String.fromCodePoint(i)}break;case"meta":switch(e){case"\\t":i=(r="\t").codePointAt(0);break;case"\\n":i=(r="\n").codePointAt(0);break;case"\\r":i=(r="\r").codePointAt(0);break;case"\\v":i=(r="\v").codePointAt(0);break;case"\\f":i=(r="\f").codePointAt(0);break;case"\\b":i=(r="\b").codePointAt(0);case"\\0":r="\0",i=0;case".":r=".",i=NaN;break;default:i=NaN}break;case"simple":i=(r=e).codePointAt(0)}return uce({type:"Char",value:e,kind:t,symbol:r,codePoint:i},n)}var ece="gimsuxy";function tce(e){var t=new Set,n=!0,r=!1,i=void 0;try{for(var s,a=e[Symbol.iterator]();!(n=(s=a.next()).done);n=!0){var o=s.value;if(t.has(o)||!ece.includes(o))throw new SyntaxError("Invalid flags: "+e);t.add(o)}}catch(e){r=!0,i=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}return e.split("").sort().join("")}var nce=/^\\u[0-9a-fA-F]{4}/,rce=/^\\u\{[0-9a-fA-F]{1,}\}/,ice=/\\u\{[0-9a-fA-F]{1,}\}/;function sce(e,t){if(ice.test(e)&&!("u"===t||"xu"===t||"u_class"===t))throw new SyntaxError('invalid group Unicode name "'+e+'", use `u` flag.');return e}var ace=/\\u(?:([dD][89aAbB][0-9a-fA-F]{2})\\u([dD][c-fC-F][0-9a-fA-F]{2})|([dD][89aAbB][0-9a-fA-F]{2})|([dD][c-fC-F][0-9a-fA-F]{2})|([0-9a-ce-fA-CE-F][0-9a-fA-F]{3}|[dD][0-7][0-9a-fA-F]{2})|\{(0*(?:[0-9a-fA-F]{1,5}|10[0-9a-fA-F]{4}))\})/;function oce(e){return e.replace(new RegExp(ace,"g"),function(e,t,n,r,i,s,a){return t?String.fromCodePoint(parseInt(t,16),parseInt(n,16)):r?String.fromCodePoint(parseInt(r,16)):i?String.fromCodePoint(parseInt(i,16)):s?String.fromCodePoint(parseInt(s,16)):a?String.fromCodePoint(parseInt(a,16)):e})}function uce(e,t){return Due.options.captureLocations&&(e.loc={source:zue.slice(t.startOffset,t.endOffset),start:{line:t.startLine,column:t.startColumn,offset:t.startOffset},end:{line:t.endLine,column:t.endColumn,offset:t.endOffset}}),e}function cce(e,t){return Due.options.captureLocations?{startOffset:e.startOffset,endOffset:t.endOffset,startLine:e.startLine,endLine:t.endLine,startColumn:e.startColumn,endColumn:t.endColumn}:null}function lce(e){"$"===e.type&&pce(),$ue.throwUnexpectedToken(e.value,e.startLine,e.startColumn)}function pce(){!function(e){throw new SyntaxError(e)}("Unexpected end of input.")}var dce=Wue;dce.default;var hce=dce,fce=hce.parse.bind(hce);hce.parse=function(e,t){return fce(""+e,t)},hce.setOptions({captureLocations:!1});var mce=hce;mce.default;var yce=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var gce="expressions",bce="expression",xce=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.node=t,this.parentPath=n,this.parent=n?n.node:null,this.property=r,this.index=i}return yce(e,[{key:"_enforceProp",value:function(e){if(!this.node.hasOwnProperty(e))throw new Error("Node of type "+this.node.type+" doesn't have \""+e+'" collection.')}},{key:"setChild",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=void 0;return null!=n?(r||(r=gce),this._enforceProp(r),this.node[r][n]=t,i=e.getForNode(t,this,r,n)):(r||(r=bce),this._enforceProp(r),this.node[r]=t,i=e.getForNode(t,this,r,null)),i}},{key:"appendChild",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t||(t=gce),this._enforceProp(t);var n=this.node[t].length;return this.setChild(e,n,t)}},{key:"insertChildAt",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:gce;this._enforceProp(r),this.node[r].splice(n,0,t),n<=e.getTraversingIndex()&&e.updateTraversingIndex(1),this._rebuildIndex(this.node,r)}},{key:"remove",value:function(){if(!this.isRemoved()&&(e.registry.delete(this.node),this.node=null,this.parent)){if(null!==this.index)return this.parent[this.property].splice(this.index,1),this.index<=e.getTraversingIndex()&&e.updateTraversingIndex(-1),this._rebuildIndex(this.parent,this.property),this.index=null,void(this.property=null);delete this.parent[this.property],this.property=null}}},{key:"_rebuildIndex",value:function(t,n){for(var r=e.getForNode(t),i=0;i<t[n].length;i++){e.getForNode(t[n][i],r,n,i).index=i}}},{key:"isRemoved",value:function(){return null===this.node}},{key:"replace",value:function(t){return e.registry.delete(this.node),this.node=t,this.parent?(null!==this.index?this.parent[this.property][this.index]=t:this.parent[this.property]=t,e.getForNode(t,this.parentPath,this.property,this.index)):null}},{key:"update",value:function(e){Object.assign(this.node,e)}},{key:"getParent",value:function(){return this.parentPath}},{key:"getChild",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.node.expressions?e.getForNode(this.node.expressions[t],this,gce,t):this.node.expression&&0==t?e.getForNode(this.node.expression,this,bce):null}},{key:"hasEqualSource",value:function(e){return JSON.stringify(this.node,Sce)===JSON.stringify(e.node,Sce)}},{key:"jsonEncode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.format,n=e.useLoc;return JSON.stringify(this.node,n?null:Sce,t)}},{key:"getPreviousSibling",value:function(){return this.parent&&null!=this.index?e.getForNode(this.parent[this.property][this.index-1],e.getForNode(this.parent),this.property,this.index-1):null}},{key:"getNextSibling",value:function(){return this.parent&&null!=this.index?e.getForNode(this.parent[this.property][this.index+1],e.getForNode(this.parent),this.property,this.index+1):null}}],[{key:"getForNode",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1;if(!t)return null;e.registry.has(t)||e.registry.set(t,new e(t,n,r,-1==i?null:i));var s=e.registry.get(t);return null!==n&&(s.parentPath=n,s.parent=s.parentPath.node),null!==r&&(s.property=r),i>=0&&(s.index=i),s}},{key:"initRegistry",value:function(){e.registry||(e.registry=new Map),e.registry.clear()}},{key:"updateTraversingIndex",value:function(t){return e.traversingIndexStack[e.traversingIndexStack.length-1]+=t}},{key:"getTraversingIndex",value:function(){return e.traversingIndexStack[e.traversingIndexStack.length-1]}}]),e}();function Sce(e,t){if("loc"!==e)return t}xce.initRegistry(),xce.traversingIndexStack=[];var Tce=xce;Tce.default;var Ece=Tce;var Pce={traverse:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{asNodes:!1};function r(e,t,n,r){var i=Ece.getForNode(t);return Ece.getForNode(e,i,n,r)}Array.isArray(t)||(t=[t]),t=t.filter(function(t){return"function"!=typeof t.shouldRun||t.shouldRun(e)}),Ece.initRegistry(),t.forEach(function(t){"function"==typeof t.init&&t.init(e)}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.pre,r=t.post,i=t.skipProperty;!function e(t,s,a,o){if(t&&"string"==typeof t.type){var u=void 0;if(n&&(u=n(t,s,a,o)),!1!==u)for(var c in s&&s[a]&&(t=isNaN(o)?s[a]:s[a][o]),t)if(t.hasOwnProperty(c)){if(i?i(c,t):"$"===c[0])continue;var l=t[c];if(Array.isArray(l)){var p=0;for(Ece.traversingIndexStack.push(p);p<l.length;)e(l[p],t,c,p),p=Ece.updateTraversingIndex(1);Ece.traversingIndexStack.pop()}else e(l,t,c)}r&&r(t,s,a,o)}}(e,null)}(e,{pre:function(e,i,s,a){var o=void 0;n.asNodes||(o=r(e,i,s,a));var u=!0,c=!1,l=void 0;try{for(var p,d=t[Symbol.iterator]();!(u=(p=d.next()).done);u=!0){var h=p.value;if("function"==typeof h["*"])if(o){if(!o.isRemoved())if(!1===h["*"](o))return!1}else h["*"](e,i,s,a);var f=void 0;if("function"==typeof h[e.type]?f=h[e.type]:"object"==typeof h[e.type]&&"function"==typeof h[e.type].pre&&(f=h[e.type].pre),f)if(o){if(!o.isRemoved())if(!1===f.call(h,o))return!1}else f.call(h,e,i,s,a)}}catch(e){c=!0,l=e}finally{try{!u&&d.return&&d.return()}finally{if(c)throw l}}},post:function(e,i,s,a){if(e){var o=void 0;n.asNodes||(o=r(e,i,s,a));var u=!0,c=!1,l=void 0;try{for(var p,d=t[Symbol.iterator]();!(u=(p=d.next()).done);u=!0){var h=p.value,f=void 0;if("object"==typeof h[e.type]&&"function"==typeof h[e.type].post&&(f=h[e.type].post),f)if(o){if(!o.isRemoved())if(!1===f.call(h,o))return!1}else f.call(h,e,i,s,a)}}catch(e){c=!0,l=e}finally{try{!u&&d.return&&d.return()}finally{if(c)throw l}}}},skipProperty:function(e){return"loc"===e}})}},vce=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var Ace=bue,wce=mce,Cce=Pce,kce=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._ast=t,this._source=null,this._string=null,this._regexp=null,this._extra=n}return vce(e,[{key:"getAST",value:function(){return this._ast}},{key:"setExtra",value:function(e){this._extra=e}},{key:"getExtra",value:function(){return this._extra}},{key:"toRegExp",value:function(){return this._regexp||(this._regexp=new RegExp(this.getSource(),this._ast.flags)),this._regexp}},{key:"getSource",value:function(){return this._source||(this._source=Ace.generate(this._ast.body)),this._source}},{key:"getFlags",value:function(){return this._ast.flags}},{key:"toString",value:function(){return this._string||(this._string=Ace.generate(this._ast)),this._string}}]),e}(),Ice={TransformResult:kce,transform:function(e,t){var n=e;return e instanceof RegExp&&(e=""+e),"string"==typeof e&&(n=wce.parse(e,{captureLocations:!0})),Cce.traverse(n,t),new kce(n)}},_ce=mue,Nce=Ice,Lce={transform:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=t.length>0?t:Object.keys(_ce),r=void 0,i={};return n.forEach(function(t){if(!_ce.hasOwnProperty(t))throw new Error("Unknown compat-transform: "+t+". Available transforms are: "+Object.keys(_ce).join(", "));var n=_ce[t];r=Nce.transform(e,n),e=r.getAST(),"function"==typeof n.getExtra&&(i[t]=n.getExtra())}),r.setExtra(i),r}},Oce={shouldRun:function(e){return e.flags.includes("u")},Char:function(e){var t=e.node;"unicode"===t.kind&&t.isSurrogatePair&&!isNaN(t.codePoint)&&(t.value="\\u{"+t.codePoint.toString(16)+"}",delete t.isSurrogatePair)}},Dce="A".codePointAt(0),Mce="Z".codePointAt(0),Bce="a".codePointAt(0),Fce="z".codePointAt(0),Rce="0".codePointAt(0),jce="9".codePointAt(0),Uce={Char:function(e){var t=e.node,n=e.parent;if(!isNaN(t.codePoint)&&"simple"!==t.kind&&("ClassRange"!==n.type||function(e){var t=e.from,n=e.to;return t.codePoint>=Rce&&t.codePoint<=jce&&n.codePoint>=Rce&&n.codePoint<=jce||t.codePoint>=Dce&&t.codePoint<=Mce&&n.codePoint>=Dce&&n.codePoint<=Mce||t.codePoint>=Bce&&t.codePoint<=Fce&&n.codePoint>=Bce&&n.codePoint<=Fce}(n))&&(r=t.codePoint)>=32&&r<=126){var r,i=String.fromCodePoint(t.codePoint),s={type:"Char",kind:"simple",value:i,symbol:i,codePoint:t.codePoint};(function(e,t){if("ClassRange"===t||"CharacterClass"===t)return/[\]\\^-]/.test(e);return/[*[()+?^$./\\|{}]/.test(e)})(i,n.type)&&(s.escaped=!0),e.replace(s)}}};var qce="A".codePointAt(0),$ce="Z".codePointAt(0),Jce={_AZClassRanges:null,_hasUFlag:!1,init:function(e){this._AZClassRanges=new Set,this._hasUFlag=e.flags.includes("u")},shouldRun:function(e){return e.flags.includes("i")},Char:function(e){var t=e.node,n=e.parent;if(!isNaN(t.codePoint)&&(this._hasUFlag||!(t.codePoint>=4096))){if("ClassRange"===n.type){if(!this._AZClassRanges.has(n)&&!function(e){var t=e.from,n=e.to;return t.codePoint>=qce&&t.codePoint<=$ce&&n.codePoint>=qce&&n.codePoint<=$ce}(n))return;this._AZClassRanges.add(n)}var r=t.symbol.toLowerCase();r!==t.symbol&&(t.value=function(e,t){var n=e.codePointAt(0);if("decimal"===t.kind)return"\\"+n;if("oct"===t.kind)return"\\0"+n.toString(8);if("hex"===t.kind)return"\\x"+n.toString(16);if("unicode"===t.kind){if(t.isSurrogatePair){var r=function(e){var t=Math.floor((e-65536)/1024)+55296,n=(e-65536)%1024+56320;return{lead:t.toString(16),trail:n.toString(16)}}(n),i=r.lead,s=r.trail;return"\\u"+"0".repeat(4-i.length)+i+"\\u"+"0".repeat(4-s.length)+s}if(t.value.includes("{"))return"\\u{"+n.toString(16)+"}";var a=n.toString(16);return"\\u"+"0".repeat(4-a.length)+a}return e}(r,t),t.symbol=r,t.codePoint=r.codePointAt(0))}}};var Vce={disjunctionToList:function e(t){if("Disjunction"!==t.type)throw new TypeError('Expected "Disjunction" node, got "'+t.type+'"');var n=[];return t.left&&"Disjunction"===t.left.type?n.push.apply(n,function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(e(t.left)).concat([t.right])):n.push(t.left,t.right),n},listToDisjunction:function(e){return e.reduce(function(e,t){return{type:"Disjunction",left:e,right:t}})},increaseQuantifierByOne:function(e){"*"===e.kind?e.kind="+":"+"===e.kind?(e.kind="Range",e.from=2,delete e.to):"?"===e.kind?(e.kind="Range",e.from=1,e.to=2):"Range"===e.kind&&(e.from+=1,e.to&&(e.to+=1))}},Kce=Vce.increaseQuantifierByOne,Wce={Repetition:function(e){var t=e.node;if("Alternative"===e.parent.type&&e.index){var n=e.getPreviousSibling();if(n)if("Repetition"===n.node.type){if(!n.getChild().hasEqualSource(e.getChild()))return;var r=Hce(n.node.quantifier),i=r.from,s=r.to,a=Hce(t.quantifier),o=a.from,u=a.to;if(n.node.quantifier.greedy!==t.quantifier.greedy&&!Xce(n.node.quantifier)&&!Xce(t.quantifier))return;t.quantifier.kind="Range",t.quantifier.from=i+o,s&&u?t.quantifier.to=s+u:delete t.quantifier.to,(Xce(n.node.quantifier)||Xce(t.quantifier))&&(t.quantifier.greedy=!0),n.remove()}else{if(!n.hasEqualSource(e.getChild()))return;Kce(t.quantifier),n.remove()}}}};function Xce(e){return e.greedy&&("+"===e.kind||"*"===e.kind||"Range"===e.kind&&!e.to)}function Hce(e){var t=void 0,n=void 0;return"*"===e.kind?t=0:"+"===e.kind?t=1:"?"===e.kind?(t=0,n=1):(t=e.from,e.to&&(n=e.to)),{from:t,to:n}}var zce={Quantifier:function(e){"Range"===e.node.kind&&(function(e){var t=e.node;if(0!==t.from||t.to)return;t.kind="*",delete t.from}(e),function(e){var t=e.node;if(1!==t.from||t.to)return;t.kind="+",delete t.from}(e),function(e){var t=e.node;if(1!==t.from||1!==t.to)return;e.parentPath.replace(e.parentPath.node.expression)}(e))}};function Yce(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var Gce={_hasIFlag:!1,_hasUFlag:!1,init:function(e){this._hasIFlag=e.flags.includes("i"),this._hasUFlag=e.flags.includes("u")},CharacterClass:function(e){!function(e){var t=e.node;t.expressions.forEach(function(t,n){(function(e){return"ClassRange"===e.type&&"0"===e.from.value&&"9"===e.to.value})(t)&&e.getChild(n).replace({type:"Char",value:"\\d",kind:"meta"})})}(e),function(e,t,n){var r=e.node,i=null,s=null,a=null,o=null,u=null,c=null;r.expressions.forEach(function(r,l){ele(r,"\\d")?i=e.getChild(l):!function(e){return"ClassRange"===e.type&&"a"===e.from.value&&"z"===e.to.value}(r)?!function(e){return"ClassRange"===e.type&&"A"===e.from.value&&"Z"===e.to.value}(r)?!function(e){return"Char"===e.type&&"_"===e.value&&"simple"===e.kind}(r)?t&&n&&tle(r,383)?u=e.getChild(l):t&&n&&tle(r,8490)&&(c=e.getChild(l)):o=e.getChild(l):a=e.getChild(l):s=e.getChild(l)}),i&&(s&&a||t&&(s||a))&&o&&(!n||!t||u&&c)&&(i.replace({type:"Char",value:"\\w",kind:"meta"}),s&&s.remove(),a&&a.remove(),o.remove(),u&&u.remove(),c&&c.remove())}(e,this._hasIFlag,this._hasUFlag),function(e){var t=e.node;if(t.expressions.length<Qce.length||!Qce.every(function(e){return t.expressions.some(function(t){return e(t)})}))return;var n=t.expressions.find(function(e){return ele(e,"\\n")});n.value="\\s",n.symbol=void 0,n.codePoint=NaN,t.expressions.map(function(t,n){return Qce.some(function(e){return e(t)})?e.getChild(n):void 0}).filter(Boolean).forEach(function(e){return e.remove()})}(e)}};var Qce=[function(e){return Zce(e," ")}].concat(Yce(["\\f","\\n","\\r","\\t","\\v"].map(function(e){return function(t){return ele(t,e)}})),Yce([160,5760,8232,8233,8239,8287,12288,65279].map(function(e){return function(t){return tle(t,e)}})),[function(e){return"ClassRange"===e.type&&tle(e.from,8192)&&tle(e.to,8202)}]);function Zce(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"simple";return"Char"===e.type&&e.value===t&&e.kind===n}function ele(e,t){return Zce(e,t,"meta")}function tle(e,t){return"Char"===e.type&&"unicode"===e.kind&&e.codePoint===t}var nle={CharacterClass:function(e){var t=e.node;if(1===t.expressions.length&&function(e){var t=e.parent,n=e.index;if("Alternative"!==t.type)return!0;var r=t.expressions[n-1];if(null==r)return!0;if("Backreference"===r.type&&"number"===r.kind)return!1;if("Char"===r.type&&"decimal"===r.kind)return!1;return!0}(e)&&function(e){return"Char"===e.type&&"\\b"!==e.value}(t.expressions[0])){var n=t.expressions[0],r=n.value,i=n.kind,s=n.escaped;if(t.negative){if(!function(e){return/^\\[dwsDWS]$/.test(e)}(r))return;r=function(e){return/[dws]/.test(e)?e.toUpperCase():e.toLowerCase()}(r)}e.replace({type:"Char",value:r,kind:i,escaped:s||rle(r)})}}};function rle(e){return/[*[()+?$./{}|]/.test(e)}var ile={_hasXFlag:!1,init:function(e){this._hasXFlag=e.flags.includes("x")},Char:function(e){var t=e.node;t.escaped&&function(e,t){var n=e.node.value,r=e.index,i=e.parent;if("CharacterClass"!==i.type&&"ClassRange"!==i.type)return!function(e,t,n,r){if("{"===e)return function(e,t){if(null==e)return!1;var n=sle(e+1,t),r=e+n+1,i=r<t.expressions.length&&t.expressions[r];if(n){if(ale(i,"}"))return!0;if(ale(i,","))return ale(i=(r=r+(n=sle(r+1,t))+1)<t.expressions.length&&t.expressions[r],"}")}return!1}(t,n);if("}"===e)return function(e,t){if(null==e)return!1;var n=sle(e-1,t,!0),r=e-n-1,i=r>=0&&t.expressions[r];if(n&&ale(i,"{"))return!0;if(ale(i,","))return i=(r=r-(n=sle(r-1,t,!0))-1)<t.expressions.length&&t.expressions[r],n&&ale(i,"{");return!1}(t,n);if(r&&/[ #]/.test(e))return!0;return/[*[()+?^$./\\|]/.test(e)}(n,r,i,t);return!function(e,t,n){if("^"===e)return 0===t&&!n.negative;if("-"===e)return!0;return/[\]\\]/.test(e)}(n,r,i)}(e,this._hasXFlag)&&delete t.escaped}};function sle(e,t,n){for(var r=e,i=(n?r>=0:r<t.expressions.length)&&t.expressions[r];i&&"Char"===i.type&&"simple"===i.kind&&!i.escaped&&/\d/.test(i.value);)n?r--:r++,i=(n?r>=0:r<t.expressions.length)&&t.expressions[r];return Math.abs(e-r)}function ale(e,t){return e&&"Char"===e.type&&"simple"===e.kind&&!e.escaped&&e.value===t}var ole={_hasIUFlags:!1,init:function(e){this._hasIUFlags=e.flags.includes("i")&&e.flags.includes("u")},CharacterClass:function(e){var t=e.node.expressions,n=[];t.forEach(function(e){lle(e)&&n.push(e.value)}),t.sort(ule);for(var r=0;r<t.length;r++){var i=t[r];if(dle(i,n,this._hasIUFlags)||gle(i,t[r-1])||ble(i,t[r+1]))t.splice(r,1),r--;else{var s=Sle(i,r,t);t.splice(r-s+1,s),r-=s}}}};function ule(e,t){var n=cle(e),r=cle(t);if(n===r){if("ClassRange"===e.type&&"ClassRange"!==t.type)return-1;if("ClassRange"===t.type&&"ClassRange"!==e.type)return 1;if("ClassRange"===e.type&&"ClassRange"===t.type)return cle(e.to)-cle(t.to);if(lle(e)&&lle(t)||ple(e)&&ple(t))return e.value<t.value?-1:1}return n-r}function cle(e){return"Char"===e.type?"-"===e.value||"control"===e.kind?1/0:"meta"===e.kind&&isNaN(e.codePoint)?-1:e.codePoint:e.from.codePoint}function lle(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return"Char"===e.type&&"meta"===e.kind&&(t?e.value===t:/^\\[dws]$/i.test(e.value))}function ple(e){return"Char"===e.type&&"control"===e.kind}function dle(e,t,n){for(var r=0;r<t.length;r++)if(hle(e,t[r],n))return!0;return!1}function hle(e,t,n){return"ClassRange"===e.type?hle(e.from,t,n)&&hle(e.to,t,n):!("\\S"!==t||!lle(e,"\\w")&&!lle(e,"\\d"))||(!("\\D"!==t||!lle(e,"\\W")&&!lle(e,"\\s"))||(!("\\w"!==t||!lle(e,"\\d"))||(!("\\W"!==t||!lle(e,"\\s"))||"Char"===e.type&&!isNaN(e.codePoint)&&("\\s"===t?fle(e):"\\S"===t?!fle(e):"\\d"===t?mle(e):"\\D"===t?!mle(e):"\\w"===t?yle(e,n):"\\W"===t&&!yle(e,n)))))}function fle(e){return 9===e.codePoint||10===e.codePoint||11===e.codePoint||12===e.codePoint||13===e.codePoint||32===e.codePoint||160===e.codePoint||5760===e.codePoint||e.codePoint>=8192&&e.codePoint<=8202||8232===e.codePoint||8233===e.codePoint||8239===e.codePoint||8287===e.codePoint||12288===e.codePoint||65279===e.codePoint}function mle(e){return e.codePoint>=48&&e.codePoint<=57}function yle(e,t){return mle(e)||e.codePoint>=65&&e.codePoint<=90||e.codePoint>=97&&e.codePoint<=122||"_"===e.value||t&&(383===e.codePoint||8490===e.codePoint)}function gle(e,t){if(t&&"ClassRange"===t.type){if(xle(e,t))return!0;if(Tle(e)&&t.to.codePoint===e.codePoint-1)return t.to=e,!0;if("ClassRange"===e.type&&e.from.codePoint<=t.to.codePoint+1&&e.to.codePoint>=t.from.codePoint-1)return e.from.codePoint<t.from.codePoint&&(t.from=e.from),e.to.codePoint>t.to.codePoint&&(t.to=e.to),!0}return!1}function ble(e,t){return!(!t||"ClassRange"!==t.type||!Tle(e)||t.from.codePoint!==e.codePoint+1)&&(t.from=e,!0)}function xle(e,t){return("Char"!==e.type||!isNaN(e.codePoint))&&("ClassRange"===e.type?xle(e.from,t)&&xle(e.to,t):e.codePoint>=t.from.codePoint&&e.codePoint<=t.to.codePoint)}function Sle(e,t,n){if(!Tle(e))return 0;for(var r=0;t>0;){var i=n[t],s=n[t-1];if(!Tle(s)||s.codePoint!==i.codePoint-1)break;r++,t--}return r>1?(n[t]={type:"ClassRange",from:n[t],to:e},r):0}function Tle(e){return e&&"Char"===e.type&&!isNaN(e.codePoint)&&(yle(e,!1)||"unicode"===e.kind||"hex"===e.kind||"oct"===e.kind||"decimal"===e.kind)}var Ele=Tce,Ple=Vce.disjunctionToList,vle=Vce.listToDisjunction,Ale={Disjunction:function(e){var t=e.node,n={},r=Ple(t).filter(function(e){var t=e?Ele.getForNode(e).jsonEncode():"null";return!n.hasOwnProperty(t)&&(n[t]=e,!0)});e.replace(vle(r))}},wle={Disjunction:function(e){var t=e.node,n=e.parent;if(Cle[n.type]){var r=new Map;if(kle(t,r)&&r.size){var i={type:"CharacterClass",expressions:Array.from(r.keys()).sort().map(function(e){return r.get(e)})};Cle[n.type](e.getParent(),i)}}}},Cle={RegExp:function(e,t){e.node.body=t},Group:function(e,t){var n=e.node;n.capturing?n.expression=t:e.replace(t)}};function kle(e,t){if(!e)return!1;var n=e.type;if("Disjunction"===n){var r=e.left,i=e.right;return kle(r,t)&&kle(i,t)}if("Char"===n){if("meta"===e.kind&&"."===e.symbol)return!1;var s=e.value;return t.set(s,e),!0}return"CharacterClass"===n&&!e.negative&&e.expressions.every(function(e){return kle(e,t)})}function Ile(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var _le={Group:function(e){var t=e.node,n=e.parent,r=e.getChild();if(!t.capturing&&r&&function(e){var t=e.parent,n=e.index;if("Alternative"!==t.type)return!0;var r=t.expressions[n-1];if(null==r)return!0;if("Backreference"===r.type&&"number"===r.kind)return!1;if("Char"===r.type&&"decimal"===r.kind)return!1;return!0}(e)&&!("Disjunction"===r.node.type&&"RegExp"!==n.type||"Repetition"===n.type&&"Char"!==r.node.type&&"CharacterClass"!==r.node.type))if("Alternative"===r.node.type){var i=e.getParent();"Alternative"===i.node.type&&i.replace({type:"Alternative",expressions:[].concat(Ile(n.expressions.slice(0,e.index)),Ile(r.node.expressions),Ile(n.expressions.slice(e.index+1)))})}else e.replace(r.node)}};function Nle(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var Lle=Tce,Ole=Vce.increaseQuantifierByOne,Dle={Alternative:function(e){for(var t=e.node,n=1;n<t.expressions.length;){var r=e.getChild(n);if((n=Math.max(1,Mle(e,r,n)))>=t.expressions.length)break;if(r=e.getChild(n),(n=Math.max(1,Ble(e,r,n)))>=t.expressions.length)break;r=e.getChild(n),n=Math.max(1,Fle(e,r,n)),n++}}};function Mle(e,t,n){for(var r=e.node,i=Math.ceil(n/2),s=0;s<i;){var a=n-2*s-1,o=void 0,u=void 0;if(0===s?(o=t,u=e.getChild(a)):(o=Lle.getForNode({type:"Alternative",expressions:[].concat(Nle(r.expressions.slice(n-s,n)),[t.node])}),u=Lle.getForNode({type:"Alternative",expressions:[].concat(Nle(r.expressions.slice(a,n-s)))})),o.hasEqualSource(u)){for(var c=0;c<2*s+1;c++)e.getChild(a).remove();return t.replace({type:"Repetition",expression:0===s&&"Repetition"!==o.node.type?o.node:{type:"Group",capturing:!1,expression:o.node},quantifier:{type:"Quantifier",kind:"Range",from:2,to:2,greedy:!0}}),a}s++}return n}function Ble(e,t,n){for(var r=e.node,i=0;i<n;){var s=e.getChild(i);if("Repetition"===s.node.type&&s.node.quantifier.greedy){var a=s.getChild(),o=void 0;if("Group"!==a.node.type||a.node.capturing||(a=a.getChild()),i+1===n?"Group"!==(o=t).node.type||o.node.capturing||(o=o.getChild()):o=Lle.getForNode({type:"Alternative",expressions:[].concat(Nle(r.expressions.slice(i+1,n+1)))}),a.hasEqualSource(o)){for(var u=i;u<n;u++)e.getChild(i+1).remove();return Ole(s.node.quantifier),i}}i++}return n}function Fle(e,t,n){var r=e.node;if("Repetition"===t.node.type&&t.node.quantifier.greedy){var i=t.getChild(),s=void 0;"Group"!==i.node.type||i.node.capturing||(i=i.getChild());var a=void 0;if("Alternative"===i.node.type?(a=i.node.expressions.length,s=Lle.getForNode({type:"Alternative",expressions:[].concat(Nle(r.expressions.slice(n-a,n)))})):(a=1,"Group"!==(s=e.getChild(n-1)).node.type||s.node.capturing||(s=s.getChild())),s.hasEqualSource(i)){for(var o=n-a;o<n;o++)e.getChild(n-a).remove();return Ole(t.node.quantifier),n-a}}return n}var Rle=new Map([["charSurrogatePairToSingleUnicode",Oce],["charCodeToSimpleChar",Uce],["charCaseInsensitiveLowerCaseTransform",Jce],["charClassRemoveDuplicates",{CharacterClass:function(e){for(var t=e.node,n={},r=0;r<t.expressions.length;r++){var i=e.getChild(r),s=i.jsonEncode();n.hasOwnProperty(s)&&(i.remove(),r--),n[s]=!0}}}],["quantifiersMerge",Wce],["quantifierRangeToSymbol",zce],["charClassClassrangesToChars",{ClassRange:function(e){var t=e.node;t.from.codePoint===t.to.codePoint?e.replace(t.from):t.from.codePoint===t.to.codePoint-1&&(e.getParent().insertChildAt(t.to,e.index+1),e.replace(t.from))}}],["charClassToMeta",Gce],["charClassToSingleChar",nle],["charEscapeUnescape",ile],["charClassClassrangesMerge",ole],["disjunctionRemoveDuplicates",Ale],["groupSingleCharsToCharClass",wle],["removeEmptyGroup",{Group:function(e){var t=e.node,n=e.parent,r=e.getChild();t.capturing||r||("Repetition"===n.type?e.getParent().replace(t):"RegExp"!==n.type&&e.remove())}}],["ungroup",_le],["combineRepeatingPatterns",Dle]]);Rle.default;var jle=function e(t){if(null===t||"object"!=typeof t)return t;var n=void 0;for(var r in n=Array.isArray(t)?[]:{},t)n[r]=e(t[r]);return n},Ule=mce,qle=Ice,$le=Rle,Jle={optimize:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.whitelist,r=void 0===n?[]:n,i=t.blacklist,s=void 0===i?[]:i,a=(r.length>0?r:Array.from($le.keys())).filter(function(e){return!s.includes(e)}),o=e;e instanceof RegExp&&(e=""+e),"string"==typeof e&&(o=Ule.parse(e));var u=new qle.TransformResult(o),c=void 0;do{c=u.toString(),o=jle(u.getAST()),a.forEach(function(e){if(!$le.has(e))throw new Error("Unknown optimization-transform: "+e+". Available transforms are: "+Array.from($le.keys()).join(", "));var t=$le.get(e),n=qle.transform(o,t);n.toString()!==u.toString()&&(n.toString().length<=u.toString().length?u=n:o=jle(u.getAST()))})}while(u.toString()!==c);return u}},Vle={EPSILON:"ε",EPSILON_CLOSURE:"ε*"},Kle=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(r=(a=o.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,s=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw s}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},Wle=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var Xle=Vle.EPSILON,Hle=Vle.EPSILON_CLOSURE,zle=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.in=t,this.out=n}return Wle(e,[{key:"matches",value:function(e){return this.in.matches(e)}},{key:"getAlphabet",value:function(){if(!this._alphabet){this._alphabet=new Set;var e=this.getTransitionTable();for(var t in e){var n=e[t];for(var r in n)r!==Hle&&this._alphabet.add(r)}}return this._alphabet}},{key:"getAcceptingStates",value:function(){return this._acceptingStates||this.getTransitionTable(),this._acceptingStates}},{key:"getAcceptingStateNumbers",value:function(){if(!this._acceptingStateNumbers){this._acceptingStateNumbers=new Set;var e=!0,t=!1,n=void 0;try{for(var r,i=this.getAcceptingStates()[Symbol.iterator]();!(e=(r=i.next()).done);e=!0){var s=r.value;this._acceptingStateNumbers.add(s.number)}}catch(e){t=!0,n=e}finally{try{!e&&i.return&&i.return()}finally{if(t)throw n}}}return this._acceptingStateNumbers}},{key:"getTransitionTable",value:function(){var e=this;if(!this._transitionTable){this._transitionTable={},this._acceptingStates=new Set;var t=new Set,n=new Set;!function r(i){if(!t.has(i)){t.add(i),i.number=t.size,e._transitionTable[i.number]={},i.accepting&&e._acceptingStates.add(i);var s=i.getTransitions(),a=!0,o=!1,u=void 0;try{for(var c,l=s[Symbol.iterator]();!(a=(c=l.next()).done);a=!0){var p=c.value,d=Kle(p,2),h=d[0],f=d[1],m=[];n.add(h);var y=!0,g=!1,b=void 0;try{for(var x,S=f[Symbol.iterator]();!(y=(x=S.next()).done);y=!0){var T=x.value;r(T),m.push(T.number)}}catch(e){g=!0,b=e}finally{try{!y&&S.return&&S.return()}finally{if(g)throw b}}e._transitionTable[i.number][h]=m}}catch(e){o=!0,u=e}finally{try{!a&&l.return&&l.return()}finally{if(o)throw u}}}}(this.in),t.forEach(function(t){delete e._transitionTable[t.number][Xle],e._transitionTable[t.number][Hle]=[].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(t.getEpsilonClosure())).map(function(e){return e.number})})}return this._transitionTable}}]),e}(),Yle=zle;Yle.default;var Gle=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(r=(a=o.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,s=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw s}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")};function Qle(e){return Array.isArray(e)?e:Array.from(e)}function Zle(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var epe=null;function tpe(e,t){if(!t)return!1;if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++){var r=e[n],i=t[n];if(r.size!==i.size)return!1;if([].concat(Zle(r)).sort().join(",")!==[].concat(Zle(i)).sort().join(","))return!1}return!0}function npe(e,t,n,r){var i=!0,s=!1,a=void 0;try{for(var o,u=r[Symbol.iterator]();!(i=(o=u.next()).done);i=!0){if(!rpe(e,t,n,o.value))return!1}}catch(e){s=!0,a=e}finally{try{!i&&u.return&&u.return()}finally{if(s)throw a}}return!0}function rpe(e,t,n,r){if(!epe[e]||!epe[t])return!1;var i=n[e][r],s=n[t][r];return!i&&!s||epe[e].has(i)&&epe[t].has(s)}var ipe={minimize:function(e){var t=e.getTransitionTable(),n=Object.keys(t),r=e.getAlphabet(),i=e.getAcceptingStateNumbers();epe={};var s=new Set;n.forEach(function(e){e=Number(e),i.has(e)?epe[e]=i:(s.add(e),epe[e]=s)});var a=[[s,i].filter(function(e){return e.size>0})],o=void 0,u=void 0;o=a[a.length-1],u=a[a.length-2];for(var c=function(){var e={},n=!0,i=!1,s=void 0;try{for(var c,l=o[Symbol.iterator]();!(n=(c=l.next()).done);n=!0){var p=c.value,d={},h=Qle(p),f=h[0],m=h.slice(1);d[f]=new Set([f]);var y=!0,g=!1,b=void 0;try{e:for(var x,S=m[Symbol.iterator]();!(y=(x=S.next()).done);y=!0){var T=x.value,E=!0,P=!1,v=void 0;try{for(var A,w=Object.keys(d)[Symbol.iterator]();!(E=(A=w.next()).done);E=!0){var C=A.value;if(npe(T,C,t,r)){d[C].add(T),d[T]=d[C];continue e}}}catch(e){P=!0,v=e}finally{try{!E&&w.return&&w.return()}finally{if(P)throw v}}d[T]=new Set([T])}}catch(e){g=!0,b=e}finally{try{!y&&S.return&&S.return()}finally{if(g)throw b}}Object.assign(e,d)}}catch(e){i=!0,s=e}finally{try{!n&&l.return&&l.return()}finally{if(i)throw s}}epe=e;var k=new Set(Object.keys(e).map(function(t){return e[t]}));a.push([].concat(Zle(k))),o=a[a.length-1],u=a[a.length-2]};!tpe(o,u);)c();var l=new Map,p=1;o.forEach(function(e){return l.set(e,p++)});var d={},h=new Set,f=function(e,t){var n=!0,r=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var u=a.value;i.has(u)&&h.add(t)}}catch(e){r=!0,s=e}finally{try{!n&&o.return&&o.return()}finally{if(r)throw s}}},m=!0,y=!1,g=void 0;try{for(var b,x=l.entries()[Symbol.iterator]();!(m=(b=x.next()).done);m=!0){var S=b.value,T=Gle(S,2),E=T[0],P=T[1];d[P]={};var v=!0,A=!1,w=void 0;try{for(var C,k=r[Symbol.iterator]();!(v=(C=k.next()).done);v=!0){var I=C.value;f(E,P);var _=void 0,N=!0,L=!1,O=void 0;try{for(var D,M=E[Symbol.iterator]();!(N=(D=M.next()).done);N=!0){var B=D.value;if(_=t[B][I])break}}catch(e){L=!0,O=e}finally{try{!N&&M.return&&M.return()}finally{if(L)throw O}}_&&(d[P][I]=l.get(epe[_]))}}catch(e){A=!0,w=e}finally{try{!v&&k.return&&k.return()}finally{if(A)throw w}}}}catch(e){y=!0,g=e}finally{try{!m&&x.return&&x.return()}finally{if(y)throw g}}return e.setTransitionTable(d),e.setAcceptingStateNumbers(h),e}},spe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function ape(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var ope=ipe,upe=Vle.EPSILON_CLOSURE,cpe=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._nfa=t}return spe(e,[{key:"minimize",value:function(){this.getTransitionTable(),this._originalAcceptingStateNumbers=this._acceptingStateNumbers,this._originalTransitionTable=this._transitionTable,ope.minimize(this)}},{key:"getAlphabet",value:function(){return this._nfa.getAlphabet()}},{key:"getAcceptingStateNumbers",value:function(){return this._acceptingStateNumbers||this.getTransitionTable(),this._acceptingStateNumbers}},{key:"getOriginaAcceptingStateNumbers",value:function(){return this._originalAcceptingStateNumbers||this.getTransitionTable(),this._originalAcceptingStateNumbers}},{key:"setTransitionTable",value:function(e){this._transitionTable=e}},{key:"setAcceptingStateNumbers",value:function(e){this._acceptingStateNumbers=e}},{key:"getTransitionTable",value:function(){var e=this;if(this._transitionTable)return this._transitionTable;var t=this._nfa.getTransitionTable(),n=Object.keys(t);this._acceptingStateNumbers=new Set;for(var r=[t[n[0]][upe]],i=this.getAlphabet(),s=this._nfa.getAcceptingStateNumbers(),a={},o=function(t){var n=!0,r=!1,i=void 0;try{for(var a,o=s[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var u=a.value;if(-1!==t.indexOf(u)){e._acceptingStateNumbers.add(t.join(","));break}}}catch(e){r=!0,i=e}finally{try{!n&&o.return&&o.return()}finally{if(r)throw i}}};r.length>0;){var u=r.shift(),c=u.join(",");a[c]={};var l=!0,p=!1,d=void 0;try{for(var h,f=i[Symbol.iterator]();!(l=(h=f.next()).done);l=!0){var m=h.value,y=[];o(u);var g=!0,b=!1,x=void 0;try{for(var S,T=u[Symbol.iterator]();!(g=(S=T.next()).done);g=!0){var E=t[S.value][m];if(E){var P=!0,v=!1,A=void 0;try{for(var w,C=E[Symbol.iterator]();!(P=(w=C.next()).done);P=!0){var k=w.value;t[k]&&y.push.apply(y,ape(t[k][upe]))}}catch(e){v=!0,A=e}finally{try{!P&&C.return&&C.return()}finally{if(v)throw A}}}}}catch(e){b=!0,x=e}finally{try{!g&&T.return&&T.return()}finally{if(b)throw x}}var I=new Set(y),_=[].concat(ape(I));if(_.length>0){var N=_.join(",");a[c][m]=N,a.hasOwnProperty(N)||r.unshift(_)}}}catch(e){p=!0,d=e}finally{try{!l&&f.return&&f.return()}finally{if(p)throw d}}}return this._transitionTable=this._remapStateNumbers(a)}},{key:"_remapStateNumbers",value:function(e){var t={};this._originalTransitionTable=e;var n={};for(var r in Object.keys(e).forEach(function(e,n){t[e]=n+1}),e){var i=e[r],s={};for(var a in i)s[a]=t[i[a]];n[t[r]]=s}this._originalAcceptingStateNumbers=this._acceptingStateNumbers,this._acceptingStateNumbers=new Set;var o=!0,u=!1,c=void 0;try{for(var l,p=this._originalAcceptingStateNumbers[Symbol.iterator]();!(o=(l=p.next()).done);o=!0){var d=l.value;this._acceptingStateNumbers.add(t[d])}}catch(e){u=!0,c=e}finally{try{!o&&p.return&&p.return()}finally{if(u)throw c}}return n}},{key:"getOriginalTransitionTable",value:function(){return this._originalTransitionTable||this.getTransitionTable(),this._originalTransitionTable}},{key:"matches",value:function(e){for(var t=1,n=0,r=this.getTransitionTable();e[n];)if(!(t=r[t][e[n++]]))return!1;return!!this.getAcceptingStateNumbers().has(t)}}]),e}(),lpe=cpe;lpe.default;var ppe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var dpe=function(){function e(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).accepting,n=void 0!==t&&t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._transitions=new Map,this.accepting=n}return ppe(e,[{key:"getTransitions",value:function(){return this._transitions}},{key:"addTransition",value:function(e,t){return this.getTransitionsOnSymbol(e).add(t),this}},{key:"getTransitionsOnSymbol",value:function(e){var t=this._transitions.get(e);return t||(t=new Set,this._transitions.set(e,t)),t}}]),e}(),hpe=dpe;hpe.default;var fpe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var mpe=hpe,ype=Vle.EPSILON,gpe=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(e,mpe),fpe(e,[{key:"matches",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set;if(t.has(this))return!1;if(t.add(this),0===e.length){if(this.accepting)return!0;var n=!0,r=!1,i=void 0;try{for(var s,a=this.getTransitionsOnSymbol(ype)[Symbol.iterator]();!(n=(s=a.next()).done);n=!0){if(s.value.matches("",t))return!0}}catch(e){r=!0,i=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}return!1}var o=e[0],u=e.slice(1),c=this.getTransitionsOnSymbol(o),l=!0,p=!1,d=void 0;try{for(var h,f=c[Symbol.iterator]();!(l=(h=f.next()).done);l=!0){if(h.value.matches(u))return!0}}catch(e){p=!0,d=e}finally{try{!l&&f.return&&f.return()}finally{if(p)throw d}}var m=!0,y=!1,g=void 0;try{for(var b,x=this.getTransitionsOnSymbol(ype)[Symbol.iterator]();!(m=(b=x.next()).done);m=!0){if(b.value.matches(e,t))return!0}}catch(e){y=!0,g=e}finally{try{!m&&x.return&&x.return()}finally{if(y)throw g}}return!1}},{key:"getEpsilonClosure",value:function(){var e=this;return this._epsilonClosure||function(){var t=e.getTransitionsOnSymbol(ype),n=e._epsilonClosure=new Set;n.add(e);var r=!0,i=!1,s=void 0;try{for(var a,o=t[Symbol.iterator]();!(r=(a=o.next()).done);r=!0){var u=a.value;if(!n.has(u))n.add(u),u.getEpsilonClosure().forEach(function(e){return n.add(e)})}}catch(e){i=!0,s=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw s}}}(),this._epsilonClosure}}]),e}(),bpe=gpe;bpe.default;var xpe=Yle,Spe=bpe,Tpe=Vle.EPSILON;function Epe(e){var t=new Spe,n=new Spe({accepting:!0});return new xpe(t.addTransition(e,n),n)}function Ppe(e,t){return e.out.accepting=!1,t.out.accepting=!0,e.out.addTransition(Tpe,t.in),new xpe(e.in,t.out)}function vpe(e,t){var n=new Spe,r=new Spe;return n.addTransition(Tpe,e.in),n.addTransition(Tpe,t.in),r.accepting=!0,e.out.accepting=!1,t.out.accepting=!1,e.out.addTransition(Tpe,r),t.out.addTransition(Tpe,r),new xpe(n,r)}var Ape={alt:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var i=!0,s=!1,a=void 0;try{for(var o,u=n[Symbol.iterator]();!(i=(o=u.next()).done);i=!0){e=Ppe(e,o.value)}}catch(e){s=!0,a=e}finally{try{!i&&u.return&&u.return()}finally{if(s)throw a}}return e},char:Epe,e:function(){return Epe(Tpe)},or:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var i=!0,s=!1,a=void 0;try{for(var o,u=n[Symbol.iterator]();!(i=(o=u.next()).done);i=!0){e=vpe(e,o.value)}}catch(e){s=!0,a=e}finally{try{!i&&u.return&&u.return()}finally{if(s)throw a}}return e},rep:function(e){return e.in.addTransition(Tpe,e.out),e.out.addTransition(Tpe,e.in),e},repExplicit:function(e){var t=new Spe,n=new Spe({accepting:!0});return t.addTransition(Tpe,e.in),t.addTransition(Tpe,n),e.out.accepting=!1,e.out.addTransition(Tpe,n),n.addTransition(Tpe,e.in),new xpe(t,n)},plusRep:function(e){return e.out.addTransition(Tpe,e.in),e},questionRep:function(e){return e.in.addTransition(Tpe,e.out),e}};var wpe=mce,Cpe=Ape.alt,kpe=Ape.char,Ipe=Ape.or,_pe=Ape.rep,Npe=Ape.plusRep,Lpe=Ape.questionRep;function Ope(e){if(e&&!Dpe[e.type])throw new Error(e.type+" is not supported in NFA/DFA interpreter.");return e?Dpe[e.type](e):""}var Dpe={RegExp:function(e){if(""!==e.flags)throw new Error("NFA/DFA: Flags are not supported yet.");return Ope(e.body)},Alternative:function(e){var t=(e.expressions||[]).map(Ope);return Cpe.apply(void 0,function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(t))},Disjunction:function(e){return Ipe(Ope(e.left),Ope(e.right))},Repetition:function(e){switch(e.quantifier.kind){case"*":return _pe(Ope(e.expression));case"+":return Npe(Ope(e.expression));case"?":return Lpe(Ope(e.expression));default:throw new Error("Unknown repeatition: "+e.quantifier.kind+".")}},Char:function(e){if("simple"!==e.kind)throw new Error("NFA/DFA: Only simple chars are supported yet.");return kpe(e.value)},Group:function(e){return Ope(e.expression)}},Mpe={build:function(e){var t=e;return e instanceof RegExp&&(e=""+e),"string"==typeof e&&(t=wpe.parse(e,{captureLocations:!0})),Ope(t)}},Bpe=lpe,Fpe=Mpe,Rpe={NFA:Yle,DFA:Bpe,builders:Ape,toNFA:function(e){return Fpe.build(e)},toDFA:function(e){return new Bpe(this.toNFA(e))},test:function(e,t){return this.toDFA(e).matches(t)}},jpe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var Upe=function(){function e(t,n){var r=n.flags,i=n.groups,s=n.source;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._re=t,this._groups=i,this.flags=r,this.source=s||t.source,this.dotAll=r.includes("s"),this.global=t.global,this.ignoreCase=t.ignoreCase,this.multiline=t.multiline,this.sticky=t.sticky,this.unicode=t.unicode}return jpe(e,[{key:"test",value:function(e){return this._re.test(e)}},{key:"compile",value:function(e){return this._re.compile(e)}},{key:"toString",value:function(){return this._toStringResult||(this._toStringResult="/"+this.source+"/"+this.flags),this._toStringResult}},{key:"exec",value:function(e){var t=this._re.exec(e);if(!this._groups||!t)return t;for(var n in t.groups={},this._groups){var r=this._groups[n];t.groups[n]=t[r]}return t}}]),e}(),qpe=Lce,$pe=bue,Jpe=Jle,Vpe=mce,Kpe=Ice,Wpe=Pce,Xpe={RegExpTree:Upe}.RegExpTree,Hpe={parser:Vpe,fa:Rpe,TransformResult:Kpe.TransformResult,parse:function(e,t){return Vpe.parse(""+e,t)},traverse:function(e,t,n){return Wpe.traverse(e,t,n)},transform:function(e,t){return Kpe.transform(e,t)},generate:function(e){return $pe.generate(e)},toRegExp:function(e){var t=this.compatTranspile(e);return new RegExp(t.getSource(),t.getFlags())},optimize:function(e,t){var n=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).blacklist;return Jpe.optimize(e,{whitelist:t,blacklist:n})},compatTranspile:function(e,t){return qpe.transform(e,t)},exec:function(e,t){if("string"==typeof e){var n=this.compatTranspile(e),r=n.getExtra();e=r.namedCapturingGroups?new Xpe(n.toRegExp(),{flags:n.getFlags(),source:n.getSource(),groups:r.namedCapturingGroups}):n.toRegExp()}return e.exec(t)}};const zpe=Hpe,Ype=({type:e,kind:t})=>"Char"!==e||"simple"!==t;var Gpe=e=>{let t=!1;const n=zpe.parse(e);return"Alternative"===n.body.type&&(zpe.traverse(n,{RegExp({node:e}){const{expressions:n}=e.body;t=Boolean(n.find(Ype))}}),!t)},Qpe={};const Zpe=Hpe;Qpe.transformRegExp=(e,{report:t,traverse:n,fix:r})=>{const i=Zpe.parse(e,{captureLocations:!0}),s=[];return Zpe.traverse(i,n({push:e=>{const{start:n}=(e.path||e).node.loc;s.push({position:n,message:t(e)}),r(e)}})),[Zpe.generate(i),s]};const ede=Gpe,{transformRegExp:tde}=Qpe;var nde={isSimpleRegExp:ede,transformRegExp:tde},rde={};const{compareAny:ide}=H7,{template:sde}=Kj,{types:ade}=st,{isBlockStatement:ode,isFunction:ude,isLabeledStatement:cde,isObjectPattern:lde,isCallExpression:pde,objectPattern:dde,objectProperty:hde}=ade,{entries:fde}=Object,mde=!0,yde=e=>e.isCallExpression()||e.isStatement(),gde=e=>pde(e.find(yde)),bde=({name:e})=>`Argument '${e}' is missing`;rde.addArgs=e=>({report:bde,fix:xde,traverse:Sde(e)});const xde=({declaration:e,path:t,pattern:n,params:r,index:i})=>{const s=sde.ast.fresh(e);if(ode(s)){const e=function(e){if(!cde(e)){const{expression:t}=e;return hde(t,t,!1,mde)}const{label:t,body:n}=e;return hde(t,n.expression,!1,mde)}(s.body[0]);return n.properties.push(e),lde(r[i])?void 0:r.push(n)}t.scope.block.params=[s]},Sde=e=>({push:t,options:n})=>{const r={...n.args,...e};return{ReferencedIdentifier(e){for(const[n,[i,s,a]]of fde(r)){if(e.node.name!==n)continue;if(e.scope.hasBinding(n))continue;if(!gde(e))continue;const r=e.find(ude);if(!r)continue;const{block:o}=r.scope;if(!ide(e.scope.path,s))continue;if(ide(e.scope.path,a))continue;const{params:u}=o,[c,l]=Tde(u);if(lde(l))return void t({name:n,index:c,declaration:i,path:e,params:u,pattern:l});if(u.length>=3)return;t({name:n,index:c,declaration:i,path:e,params:u,pattern:dde([])})}}}};function Tde(e){for(const[t,n]of e.entries())if(lde(n))return[t,n];return[-1,null]}var Ede={};const Pde=["import","export"],vde=["const","var","let"],Ade=["if"],wde=["readonly","implements","declare","module","type"],Cde=["interface","static"],kde=[...Ade,...vde,...Pde,...Cde,"async","break","continue","for","else","from","return","throw","of","while","class","extends","default"],Ide=[...kde,"as","await","new","yield","typeof","function"];Ede.isKeyword=e=>Ide.includes(e),Ede.isDeclarationKeyword=e=>vde.includes(e),Ede.isModuleDeclarationKeyword=e=>Pde.includes(e),Ede.isConditionKeyword=e=>Ade.includes(e),Ede.isStatementKeyword=e=>kde.includes(e),Ede.isTSKeyword=e=>{const t=wde.includes(e),n=Cde.includes(e);return t||n};var _de={};const{relative:Nde}=o6,Lde=V5,Ode=e=>!e.indexOf("!"),Dde=e=>e.replace(/^!/,"");var Mde=(e,t,n={})=>{const r=Nde(e,t),i=Lde(),s=function(e){for(const[t,n]of e.entries()){const r=e.indexOf(Dde(n));Ode(n)&&r>t&&(e[r]=n)}const t=new Set(e);return Array.from(t)}(n.ignore||[]);return i.add(s),e&&i.ignores(r)};const Bde=o6,{parse:Fde,print:Rde}=Kj,{transform:jde}=Poe,{findPlaces:Ude}=Noe,qde=Mde,{toJS:$de,fromJS:Jde}=a4,{readFileContent:Vde,findFile:Kde,writeFileContent:Wde,getFilename:Xde,createFile:Hde,removeFile:zde,getParentDirectory:Yde}=use,{join:Gde}=Bde,Qde=e=>e&&"object"==typeof e,{entries:Zde}=Object,ehe=(e,{message:t})=>t;function the(e,{dirPath:t,matchInputFilename:n,outputFilename:r,matchedJS:i,matchedAST:s,options:a}){jde(s,i,a);const o=function(e,t){if(/\.json$/.test(e)){const e=Rde(t);return Jde(e)}return Rde(t)}(r,s),u=function({dirPath:e,matchInputFilename:t,outputFilename:n,inputFile:r}){if(t===n)return r;const i=Gde(Xde(e),n),[s]=Kde(e,i);return s||Hde(e,n)}({dirPath:t,matchInputFilename:n,outputFilename:r,inputFile:e});Wde(u,o),e!==u&&zde(e)}_de.matchFiles=e=>{const{filename:t}=e,n=e.files??e,r=e.exclude??[];!function(e){for(const[,t]of Zde(e))if(!Qde(t))throw Error(`☝️ Looks like provided to 'matchFiles()' typeof of plugin is not an 'object' but '${typeof t}'`)}(n);return{fix:the,scan:nhe({defaultFilename:t,files:n,exclude:r}),report:ehe}};const nhe=({files:e,exclude:t,defaultFilename:n})=>(r,{push:i,progress:s,options:a})=>{const o=[],u=Xde(r);a.filename=a.filename??n;for(const[n,i]of Zde(e)){const[e]=ihe(n,a),s=Kde(r,e,t);for(const e of s){const t=Yde(e),r=Xde(e),[s,c=s]=ihe(n,{filename:r});qde(u,r,a)||o.push({dirPath:t,matchInputFilename:s,rawOptions:i,inputFile:e,inputFilename:r,outputFilename:c})}}const c=o.length;for(const[e,t]of o.entries()){const{dirPath:n,matchInputFilename:r,inputFile:a,inputFilename:o,outputFilename:u,rawOptions:l}=t;s({i:e,n:c});const p=Vde(a)||"{}",[d,h]=rhe(o,p),f=she(o,l),m=Ude(h,d,f);if(!m.length)continue;const{message:y}=m[0];i(a,{dirPath:n,matchInputFilename:r,outputFilename:u,message:y,options:f,matchedAST:h,matchedJS:d})}};function rhe(e,t){if(/\.json$/.test(e)){const e=$de(t);return[e,Fde(e)]}if(/\.(c|m)?ts(x)?$/.test(e)){return[t,Fde(t,{isTS:!0})]}return[t,Fde(t)]}function ihe(e,t){const{filename:n}=t;if(!n)return e.split(" -> ");const{ext:r,name:i}=Bde.parse(n);return(e=(e=e.replaceAll("__name",i)).replaceAll("__ext",r)).split(" -> ")}function she(e,t){if(t.plugins)return t;return{plugins:[[`match-file: ${e}`,t]]}}var ahe={};const{join:ohe}=o6,{getParentDirectory:uhe,getFilename:che,readFileContent:lhe,findFile:phe,renameFile:dhe}=use,{parse:hhe}=JSON;ahe.renameFiles=({type:e,mask:t,rename:n})=>({report:fhe,fix:mhe,scan:yhe({type:e,mask:t,rename:n})});const fhe=(e,{from:t,to:n})=>`Rename '${t}' to '${n}'`,mhe=(e,{to:t})=>{dhe(e,t)},yhe=({type:e,mask:t,rename:n})=>(r,{push:i,trackFile:s})=>{for(const a of s(r,t)){if(e&&!ghe(e,a))continue;const t=che(a);i(a,{from:t,to:n(t)})}};function ghe(e,t){const n=function(e){let t,n=uhe(e);do{const e=che(n);[t]=phe(n,ohe(e,"package.json"))}while(!t&&(n=uhe(n)));return t}(t);if("commonjs"===e&&!n)return!0;if(!n)return!1;const r=lhe(n);if(!r)return!1;return(hhe(r).type||"commonjs")===e}var bhe={};const{types:xhe}=st,{traverseProperties:She}=MK,{stringLiteral:The}=xhe,Ehe=({value:e})=>e;bhe.ignore=(e,{name:t,property:n,list:r})=>{const[,i]=e.split(/\(|\)/);return{report:Phe(t),match:vhe({type:e,property:n,collector:i,list:r}),replace:Ahe({type:e,property:n,collector:i,list:r})}};const Phe=e=>()=>`Add dotfiles to '${e}'`,vhe=({type:e,property:t,collector:n,list:r})=>({options:i})=>{const{dismiss:s=[]}=i,a=whe(r,s);return{[e]:e=>{const r=Che(e,{property:t,collector:n});if(!r)return!1;const i=r.map(Ehe);for(const e of a)if(!i.includes(e))return!0;return!1}}},Ahe=({type:e,property:t,collector:n,list:r})=>({options:i})=>{const{dismiss:s=[]}=i,a=whe(r,s);return{[e]:(e,r)=>{const i=Che(e,{property:t,collector:n}),s=i.map(Ehe);for(const e of a)s.includes(e)||i.push(The(e));return r}}};function whe(e,t){const n=[];for(const r of e)t.includes(r)||n.push(r);return n}function Che(e,{property:t,collector:n}){const r=e[n];if(!t)return r.elements;const[i]=She(r,t);return i?i.node.value.elements:null}var khe={};const{types:Ihe}=st,{parenthesizedExpression:_he,tsParenthesizedType:Nhe}=Ihe;function Lhe(e){return e.scope.getProgramParent().path.node.extra.__putout_printer}function Ohe(e,t=Lhe(e)){if("babel"!==t)return e.node.extra?.parenthesized;const{type:n}=e.parentPath;return/^(TS)?Parenthesized(Expression|Type)?$/.test(n)}khe.hasParens=Ohe,khe.addParens=e=>{const t=Lhe(e);if(Ohe(e,t))return e;if("babel"!==t){const{extra:t={}}=e.node;return t.parenthesized=!0,e.node.extra=t,e}const{node:n}=e;return e.type.startsWith("TS")?e.replaceWith(Nhe(n)):(e.replaceWith(_he(n)),e)},khe.removeParens=e=>{const t=Lhe(e);if(!Ohe(e,t))return e;if("babel"!==t)return e.node.extra.parenthesized=!1,e;const{node:n}=e;return e.parentPath.replaceWith(n),e};const{codeFrameColumns:Dhe}=st;var Mhe=({source:e,error:t,highlightCode:n=!0})=>{const{message:r,loc:i}=t;if(!i)return r;return Dhe(e,{start:i},{highlightCode:n,message:r})};const{traverse:Bhe,types:Fhe}=st,{parse:Rhe,print:jhe,generate:Uhe,template:qhe}=Kj,{cutShebang:$he,mergeShebang:Jhe}=J8,{defaultOptions:Vhe}=V8,{transform:Khe,transformAsync:Whe}=Poe,{findPlaces:Xhe,findPlacesAsync:Hhe}=Noe;n.exports=Yhe;var zhe=n.exports.putout=Yhe;function Yhe(e,t){dfe(e),t=Vhe(t);const{parser:n,isTS:r,isJSX:i,printer:s}=t,[a,o]=$he(e),u=Rhe(a,{parser:n,isTS:r,isJSX:i,printer:s}),c=Khe(u,e,t);if(!t.fix)return{code:e,places:c};const l=jhe(u,{printer:s,source:e});return{code:Jhe(o,l),places:c}}var Ghe=n.exports.putoutAsync=async(e,t)=>{dfe(e),t=Vhe(t);const{parser:n,isTS:r,isJSX:i,printer:s}=t,[a,o]=$he(e),u=Rhe(a,{parser:n,isTS:r,isJSX:i,printer:s}),c=await Whe(u,e,t);if(!t.fix)return{code:e,places:c};const l=jhe(u,{printer:s});return{code:Jhe(o,l),places:c}},Qhe=n.exports.transform=Khe,Zhe=n.exports.transformAsync=Whe,efe=n.exports.findPlaces=Xhe,tfe=n.exports.findPlacesAsync=Hhe,nfe=n.exports.parse=Rhe,rfe=n.exports.print=jhe,ife=n.exports.traverse=Bhe,sfe=n.exports.types=Fhe,afe=n.exports.template=qhe,ofe=n.exports.generate=Uhe,ufe=n.exports.initReport=Boe,cfe=n.exports.operator={...MK,...H7,...Foe,...a4,...Qoe,...Oie,...nde,...rde,...use,...Ede,..._de,...ahe,...bhe,...khe},lfe=n.exports.ignores=Mde,pfe=n.exports.codeframe=Mhe;function dfe(e){if(!(e=>"string"==typeof e)(e))throw Error(`☝️ Looks like 'source' has type '${typeof e}', expected: 'string'`)}var hfe=n.exports;export{pfe as codeframe,hfe as default,efe as findPlaces,tfe as findPlacesAsync,ofe as generate,lfe as ignores,ufe as initReport,cfe as operator,nfe as parse,rfe as print,zhe as putout,Ghe as putoutAsync,afe as template,Qhe as transform,Zhe as transformAsync,ife as traverse,sfe as types};
|