@abacus-ai/cli 1.106.21003 → 1.106.21004
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +8 -8
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{createRequire as k4}from"node:module";var T4=Object.create;var{getPrototypeOf:F4,defineProperty:h_,getOwnPropertyNames:N9,getOwnPropertyDescriptor:R4}=Object,h9=Object.prototype.hasOwnProperty;function g9(_){return this[_]}var D4,S4,L6=(_,q,$)=>{var Q=_!=null&&typeof _==="object";if(Q){var x=q?D4??=new WeakMap:S4??=new WeakMap,X=x.get(_);if(X)return X}$=_!=null?T4(F4(_)):{};let V=q||!_||!_.__esModule?h_($,"default",{value:_,enumerable:!0}):$;for(let J of N9(_))if(!h9.call(V,J))h_(V,J,{get:g9.bind(_,J),enumerable:!0});if(Q)x.set(_,V);return V},N4=(_)=>{var q=(S9??=new WeakMap).get(_),$;if(q)return q;if(q=h_({},"__esModule",{value:!0}),_&&typeof _==="object"||typeof _==="function"){for(var Q of N9(_))if(!h9.call(q,Q))h_(q,Q,{get:g9.bind(_,Q),enumerable:!($=R4(_,Q))||$.enumerable})}return S9.set(_,q),q},S9,A=(_,q)=>()=>(q||_((q={exports:{}}).exports,q),q.exports);var h4=(_)=>_;function g4(_,q){this[_]=h4.bind(null,q)}var u4=(_,q)=>{for(var $ in q)h_(_,$,{get:q[$],enumerable:!0,configurable:!0,set:g4.bind(q,$)})};var y4=(_,q)=>()=>(_&&(q=_(_=0)),q);var j=k4(import.meta.url);var g1=A((E9)=>{Object.defineProperty(E9,"__esModule",{value:!0}),E9.DownloaderHelper=E9.DH_STATES=void 0;var z6=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(_){return typeof _}:function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},m4=function(){function _(q,$){for(var Q,x=0;x<$.length;x++)Q=$[x],Q.enumerable=Q.enumerable||!1,Q.configurable=!0,"value"in Q&&(Q.writable=!0),Object.defineProperty(q,Q.key,Q)}return function(q,$,Q){return $&&_(q.prototype,$),Q&&_(q,Q),q}}(),E4=j("fs"),k=M6(E4),G_=j("url"),b4=j("path"),d0=M6(b4),c4=j("http"),u9=M6(c4),d4=j("https"),y9=M6(d4),l4=j("events");function M6(_){if(_&&_.__esModule)return _;var q={};if(_!=null)for(var $ in _)Object.prototype.hasOwnProperty.call(_,$)&&(q[$]=_[$]);return q.default=_,q}function f4(_,q){if(!(_ instanceof q))throw TypeError("Cannot call a class as a function")}function k9(_,q){if(!_)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return q&&(typeof q=="object"||typeof q=="function")?q:_}function i4(_,q){if(typeof q!="function"&&q!==null)throw TypeError("Super expression must either be null or a function, not "+typeof q);_.prototype=Object.create(q&&q.prototype,{constructor:{value:_,enumerable:!1,writable:!0,configurable:!0}}),q&&(Object.setPrototypeOf?Object.setPrototypeOf(_,q):_.__proto__=q)}var m9=E9.DH_STATES={IDLE:"IDLE",SKIPPED:"SKIPPED",STARTED:"STARTED",DOWNLOADING:"DOWNLOADING",RETRY:"RETRY",PAUSED:"PAUSED",RESUMED:"RESUMED",STOPPED:"STOPPED",FINISHED:"FINISHED",FAILED:"FAILED"},WQ=E9.DownloaderHelper=function(_){function q($,Q){var x=2<arguments.length&&arguments[2]!==void 0?arguments[2]:{};f4(this,q);var X=k9(this,(q.__proto__||Object.getPrototypeOf(q)).call(this,{captureRejections:!0}));return X.__validate($,Q)?(X.url=X.requestURL=$.trim(),X.state=m9.IDLE,X.__defaultOpts={body:null,retry:!1,method:"GET",headers:{},fileName:"",timeout:-1,metadata:null,override:!1,forceResume:!1,removeOnStop:!0,removeOnFail:!0,progressThrottle:1000,httpRequestOptions:{},httpsRequestOptions:{},resumeOnIncomplete:!0,resumeIfFileExists:!1,resumeOnIncompleteMaxRetry:5},X.__opts=Object.assign({},X.__defaultOpts),X.__pipes=[],X.__total=0,X.__downloaded=0,X.__progress=0,X.__retryCount=0,X.__retryTimeout=null,X.__resumeRetryCount=0,X.__states=m9,X.__promise=null,X.__request=null,X.__response=null,X.__isAborted=!1,X.__isResumed=!1,X.__isResumable=!1,X.__isRedirected=!1,X.__destFolder=Q,X.__statsEstimate={time:0,bytes:0,prevBytes:0,throttleTime:0},X.__fileName="",X.__filePath="",X.updateOptions(x),X):k9(X)}return i4(q,_),m4(q,[{key:"start",value:function(){var Q=this,x=function(){return new Promise(function(X,V){Q.__promise={resolve:X,reject:V},Q.__start()})};return this.__opts.resumeIfFileExists&&this.state!==this.__states.RESUMED?this.getTotalSize().then(function(X){var{name:V,total:J}=X,K=Q.__opts.override;if(Q.__opts.override=!0,Q.__filePath=Q.__getFilePath(V),Q.__opts.override=K,Q.__filePath&&k.existsSync(Q.__filePath)){var G=Q.__getFilesizeInBytes(Q.__filePath);return G===J?x():Q.resumeFromFile(Q.__filePath,{total:J,fileName:V})}return x()}):x()}},{key:"pause",value:function(){var Q=this;return this.state===this.__states.STOPPED?Promise.resolve(!0):(this.__response&&(this.__response.unpipe(),this.__pipes.forEach(function(x){return x.stream.unpipe()})),this.__fileStream&&this.__fileStream.removeAllListeners(),this.__requestAbort(),this.__closeFileStream().then(function(){return Q.__setState(Q.__states.PAUSED),Q.emit("pause"),!0}))}},{key:"resume",value:function(){return this.__promise?this.state===this.__states.STOPPED?Promise.resolve(!1):(this.__setState(this.__states.RESUMED),this.__isResumable&&(this.__isResumed=!0,this.__reqOptions.headers.range="bytes="+this.__downloaded+"-"),this.emit("resume",this.__isResumed),this.__start()):this.start()}},{key:"stop",value:function(){var Q=this;if(this.state===this.__states.STOPPED)return Promise.resolve(!0);var x=function(){return new Promise(function(X,V){k.access(Q.__filePath,function(J){return J?(Q.__emitStop(),X(!0)):void k.unlink(Q.__filePath,function(K){return K?(Q.__setState(Q.__states.FAILED),Q.emit("error",K),V(K)):(Q.__emitStop(),void X(!0))})})})};return this.__requestAbort(),this.__closeFileStream().then(function(){return Q.__opts.removeOnStop?x():(Q.__emitStop(),Promise.resolve(!0))})}},{key:"pipe",value:function(Q){var x=1<arguments.length&&arguments[1]!==void 0?arguments[1]:null;return this.__pipes.push({stream:Q,options:x}),Q}},{key:"unpipe",value:function(){var Q=this,x=0<arguments.length&&arguments[0]!==void 0?arguments[0]:null,X=function(J){return Q.__response?Q.__response.unpipe(J):J.unpipe()};if(x){var V=this.__pipes.find(function(J){return J.stream===x});return void(V&&(X(x),this.__pipes=this.__pipes.filter(function(J){return J.stream!==x})))}this.__pipes.forEach(function(J){return X(J.stream)}),this.__pipes=[]}},{key:"getDownloadPath",value:function(){return this.__filePath}},{key:"isResumable",value:function(){return this.__isResumable}},{key:"updateOptions",value:function(Q){var x=1<arguments.length&&arguments[1]!==void 0?arguments[1]:"";this.__opts=Object.assign({},this.__opts,Q),this.__headers=this.__opts.headers,-1<this.__opts.timeout&&(this.__opts.httpRequestOptions.timeout=this.__opts.timeout,this.__opts.httpsRequestOptions.timeout=this.__opts.timeout),(typeof this.__opts.progressThrottle!="number"||0>this.__opts.progressThrottle)&&(this.__opts.progressThrottle=this.__defaultOpts.progressThrottle),this.url=x||this.url,this.__reqOptions=this.__getReqOptions(this.__opts.method,this.url,this.__opts.headers),this.__initProtocol(this.url)}},{key:"getOptions",value:function(){return this.__opts}},{key:"getMetadata",value:function(){return this.__opts.metadata}},{key:"getStats",value:function(){return{total:this.__total,name:this.__fileName,downloaded:this.__downloaded,progress:this.__progress,speed:this.__statsEstimate.bytes}}},{key:"getTotalSize",value:function(){var Q=this;return new Promise(function(x,X){var V=function(Y){Q.__initProtocol(Y);var H=Object.assign({},Q.__headers);H.hasOwnProperty("range")&&delete H.range;var w=Q.__getReqOptions("HEAD",Y,H);return Object.assign({},Q.__reqOptions,w)},J=0,K=null,G=function(Y,H){if(!Q.__opts.retry||z6(Q.__opts.retry)!=="object")return Promise.reject(Y||Error("wrong retry options"));K&&(clearTimeout(K),K=null);var w=Q.__opts.retry,L=w.delay,z=L===void 0?0:L,M=w.maxRetries,y=M===void 0?999:M;return J>=y?Promise.reject(Y||Error("reached the maximum retries")):(J++,Q.__setState(Q.__states.RETRY),Q.emit("retry",J,Q.__opts.retry,Y),new Promise(function(f){K=setTimeout(function(){Q.__setState(Q.__states.IDLE),Z(H,V(H)),f()},z)}))},Z=function(Y,H){K&&(clearTimeout(K),K=null);var w=Q.__protocol.request(H,function(L){if(Q.__isRequireRedirect(L)){var z=/^https?:\/\//.test(L.headers.location)?L.headers.location:new G_.URL(L.headers.location,Y).href;return Q.emit("redirected",z,Y),Z(z,V(z))}if(200>L.statusCode||400<=L.statusCode){var M=Error("Response status was "+L.statusCode);return Q.__opts.retry&&500<=L.statusCode&&600>L.statusCode?G(M,Y).catch(X):X(M)}x({name:Q.__getFileNameFromHeaders(L.headers,L),total:parseInt(L.headers["content-length"])||null})});w.on("error",function(L){return Q.__opts.retry?G(L,Y).catch(X):void X(L)}),w.on("timeout",function(){return Q.__opts.retry?G(Error("timeout"),Y).catch(X):void X(Error("timeout"))}),w.on("uncaughtException",function(L){return Q.__opts.retry?G(L,Y).catch(X):void X(L)}),w.end()};Z(Q.url,V(Q.url))})}},{key:"getResumeState",value:function(){return{downloaded:this.__downloaded,filePath:this.__filePath,fileName:this.__fileName,total:this.__total}}},{key:"resumeFromFile",value:function(Q){var x=this,X=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{};return this.__opts.override=!0,this.__filePath=Q,(X.total&&X.fileName?Promise.resolve({name:X.fileName,total:X.total}):this.getTotalSize()).then(function(V){var{name:J,total:K}=V;return x.__total=X.total||K,x.__fileName=X.fileName||J,x.__downloaded=X.downloaded||x.__getFilesizeInBytes(x.__filePath),x.__reqOptions.headers.range="bytes="+x.__downloaded+"-",x.__isResumed=!0,x.__isResumable=!0,x.__setState(x.__states.RESUMED),x.emit("resume",x.__isResumed),new Promise(function(G,Z){x.__promise={resolve:G,reject:Z},x.__start()})})}},{key:"__start",value:function(){this.__isRedirected||this.state===this.__states.RESUMED||(this.emit("start"),this.__setState(this.__states.STARTED),this.__initProtocol(this.url)),this.__response=null,this.__isAborted=!1,this.__request&&!this.__request.destroyed&&this.__request.destroy(),this.__retryTimeout&&(clearTimeout(this.__retryTimeout),this.__retryTimeout=null),this.__request=this.__downloadRequest(this.__promise.resolve,this.__promise.reject),this.__request.on("error",this.__onError(this.__promise.resolve,this.__promise.reject)),this.__request.on("timeout",this.__onTimeout(this.__promise.resolve,this.__promise.reject)),this.__request.on("uncaughtException",this.__onError(this.__promise.resolve,this.__promise.reject,!0)),this.__opts.body&&this.__request.write(this.__opts.body),this.__request.end()}},{key:"__resolvePending",value:function(){if(this.__promise){var Q=this.__promise.resolve;return this.__promise=null,Q(!0)}}},{key:"__downloadRequest",value:function(Q,x){var X=this;return this.__protocol.request(this.__reqOptions,function(V){if(X.__response=V,X.__isResumed||(X.__total=parseInt(V.headers["content-length"])||null,X.__resetStats()),X.__isRequireRedirect(V)){var J=/^https?:\/\//.test(V.headers.location)?V.headers.location:new G_.URL(V.headers.location,X.url).href;return X.__isRedirected=!0,X.__initProtocol(J),X.emit("redirected",J,X.url),X.__start()}if(200>V.statusCode||400<=V.statusCode){var K=Error("Response status was "+V.statusCode);return(K.status=V.statusCode||0,K.body=V.body||"",500<=V.statusCode&&600>V.statusCode)?X.__onError(Q,x)(K):(X.__setState(X.__states.FAILED),X.emit("error",K),x(K))}X.__opts.forceResume?X.__isResumable=!0:V.headers.hasOwnProperty("accept-ranges")&&V.headers["accept-ranges"]!=="none"&&(X.__isResumable=!0),X.__startDownload(V,Q,x)})}},{key:"__startDownload",value:function(Q,x,X){var V=this,J=Q;if(!this.__isResumed){var K=this.__getFileNameFromHeaders(Q.headers);if(this.__filePath=this.__getFilePath(K),this.__fileName=this.__filePath.split(d0.sep).pop(),k.existsSync(this.__filePath)){var G=this.__getFilesizeInBytes(this.__filePath),Z=this.__total?this.__total:0;if(z6(this.__opts.override)==="object"&&this.__opts.override.skip&&(this.__opts.override.skipSmaller||G>=Z))return this.emit("skip",{totalSize:this.__total,fileName:this.__fileName,filePath:this.__filePath,downloadedSize:G}),this.__setState(this.__states.SKIPPED),x(!0)}this.__fileStream=k.createWriteStream(this.__filePath,{})}else this.__fileStream=k.createWriteStream(this.__filePath,{flags:"a"});this.emit("download",{fileName:this.__fileName,filePath:this.__filePath,totalSize:this.__total,isResumed:this.__isResumed,downloadedSize:this.__downloaded}),this.__retryCount=0,this.__isResumed=!1,this.__isRedirected=!1,this.__setState(this.__states.DOWNLOADING),this.__statsEstimate.time=new Date,this.__statsEstimate.throttleTime=new Date,J.on("data",function(Y){return V.__calculateStats(Y.length)}),this.__pipes.forEach(function(Y){J.pipe(Y.stream,Y.options),J=Y.stream}),J.pipe(this.__fileStream),J.on("error",this.__onError(x,X)),this.__fileStream.on("finish",this.__onFinished(x,X)),this.__fileStream.on("error",this.__onError(x,X))}},{key:"__hasFinished",value:function(){return!this.__isAborted&&[this.__states.PAUSED,this.__states.STOPPED,this.__states.RETRY,this.__states.FAILED,this.__states.RESUMED].indexOf(this.state)===-1}},{key:"__isRequireRedirect",value:function(Q){return 300<Q.statusCode&&400>Q.statusCode&&Q.headers.hasOwnProperty("location")&&Q.headers.location}},{key:"__onFinished",value:function(Q,x){var X=this;return function(){X.__fileStream.close(function(V){if(V)return x(V);if(X.__hasFinished()){var J=!!X.__total&&X.__downloaded!==X.__total;if(J&&X.__isResumable&&X.__opts.resumeOnIncomplete&&X.__resumeRetryCount<=X.__opts.resumeOnIncompleteMaxRetry)return X.__resumeRetryCount++,X.emit("warning",Error("uncomplete download, retrying")),X.resume();X.__setState(X.__states.FINISHED),X.__pipes=[],X.emit("end",{fileName:X.__fileName,filePath:X.__filePath,totalSize:X.__total,incomplete:J,onDiskSize:X.__getFilesizeInBytes(X.__filePath),downloadedSize:X.__downloaded})}return Q(X.__downloaded===X.__total)})}}},{key:"__closeFileStream",value:function(){var Q=this;return this.__fileStream?new Promise(function(x,X){Q.__fileStream.close(function(V){return V?X(V):x(!0)})}):Promise.resolve(!0)}},{key:"__onError",value:function(Q,x){var X=this,V=2<arguments.length&&arguments[2]!==void 0&&arguments[2];return function(J){return X.__pipes=[],V&&X.__requestAbort(),X.state===X.__states.STOPPED||X.state===X.__states.FAILED?void 0:X.__opts.retry?X.__retry(J).catch(function(K){X.__removeFile().finally(function(){X.__setState(X.__states.FAILED),X.emit("error",K?K:J),x(K?K:J)})}):X.__removeFile().finally(function(){X.__setState(X.__states.FAILED),X.emit("error",J),x(J)})}}},{key:"__retry",value:function(){var Q=this,x=0<arguments.length&&arguments[0]!==void 0?arguments[0]:null;if(!this.__opts.retry||z6(this.__opts.retry)!=="object")return Promise.reject(x||Error("wrong retry options"));var X=this.__opts.retry,V=X.delay,J=V===void 0?0:V,K=X.maxRetries,G=K===void 0?999:K;return this.__retryCount>=G?Promise.reject(x||Error("reached the maximum retries")):(this.__retryCount++,this.__setState(this.__states.RETRY),this.emit("retry",this.__retryCount,this.__opts.retry,x),this.__response&&(this.__response.unpipe(),this.__pipes.forEach(function(Z){return Z.stream.unpipe()})),this.__fileStream&&this.__fileStream.removeAllListeners(),this.__requestAbort(),this.__closeFileStream().then(function(){return new Promise(function(Z){return Q.__retryTimeout=setTimeout(function(){return Z(0<Q.__downloaded?Q.resume():Q.__start())},J)})}))}},{key:"__onTimeout",value:function(Q,x){var X=this;return function(){return X.__requestAbort(),X.__opts.retry?X.__retry(Error("timeout")).catch(function(V){X.__removeFile().finally(function(){X.__setState(X.__states.FAILED),V?x(V):(X.emit("timeout"),x(Error("timeout")))})}):X.__removeFile().finally(function(){X.__setState(X.__states.FAILED),X.emit("timeout"),x(Error("timeout"))})}}},{key:"__resetStats",value:function(){this.__retryCount=0,this.__downloaded=0,this.__progress=0,this.__resumeRetryCount=0,this.__statsEstimate={time:0,bytes:0,prevBytes:0,throttleTime:0}}},{key:"__getFileNameFromHeaders",value:function(Q,x){var X="",V=/.*filename\*=.*?'.*?'([^"].+?[^"])(?:(?:;)|$)/i,J=/.*filename="(.*?)";?/i,K=/.*filename=([^"].+?[^"])(?:(?:;)|$)/i,G=Q.hasOwnProperty("content-disposition"),Z=G?Q["content-disposition"].match(V):null,Y=!G||Z?null:Q["content-disposition"].match(J),H=!G||Z||Y?null:Q["content-disposition"].match(K);return G&&(Z||Y||H)?(X=Q["content-disposition"],X=X.trim(),Z?X=Z[1]:Y?X=Y[1]:H&&(X=H[1]),X=X.replace(/[/\\]/g,"")):0<d0.basename(new G_.URL(this.requestURL).pathname).length?X=d0.basename(new G_.URL(this.requestURL).pathname):X=new G_.URL(this.requestURL).hostname+".html",this.__opts.fileName?this.__getFileNameFromOpts(X,x):X.replace(/\.*$/,"")}},{key:"__getFilePath",value:function(Q){var x=d0.join(this.__destFolder,Q),X=x;return this.__opts.override||this.state===this.__states.RESUMED||(X=this.__uniqFileNameSync(X),x!==X&&this.emit("renamed",{path:X,fileName:X.split(d0.sep).pop(),prevPath:x,prevFileName:x.split(d0.sep).pop()})),X}},{key:"__getFileNameFromOpts",value:function(Q,x){if(!this.__opts.fileName)return Q;if(typeof this.__opts.fileName=="string")return this.__opts.fileName;if(typeof this.__opts.fileName=="function"){var X=d0.join(this.__destFolder,Q);return x&&x.headers||this.__response&&this.__response.headers?this.__opts.fileName(Q,X,(x?x:this.__response).headers["content-type"]):this.__opts.fileName(Q,X)}if(z6(this.__opts.fileName)==="object"){var V=this.__opts.fileName,J=V.name,K=!!V.hasOwnProperty("ext")&&V.ext;if(typeof K=="string")return J+"."+K;if(typeof K=="boolean"){if(K)return J;var G=Q.includes(".")?Q.split(".").pop():"";return G===""?J:J+"."+G}}return Q}},{key:"__calculateStats",value:function(Q){var x=new Date,X=x-this.__statsEstimate.time,V=x-this.__statsEstimate.throttleTime,J=this.__total||0;Q&&(this.__downloaded+=Q,this.__progress=J===0?0:100*(this.__downloaded/J),(this.__downloaded===J||1000<X)&&(this.__statsEstimate.time=x,this.__statsEstimate.bytes=this.__downloaded-this.__statsEstimate.prevBytes,this.__statsEstimate.prevBytes=this.__downloaded),(this.__downloaded===J||V>this.__opts.progressThrottle)&&(this.__statsEstimate.throttleTime=x,this.emit("progress.throttled",this.getStats())),this.emit("progress",this.getStats()))}},{key:"__setState",value:function(Q){this.state=Q,this.emit("stateChanged",this.state)}},{key:"__getReqOptions",value:function(Q,x){var X=2<arguments.length&&arguments[2]!==void 0?arguments[2]:{},V=new G_.URL(x),J={protocol:V.protocol,host:V.hostname,port:V.port,path:V.pathname+V.search,method:Q};return X&&(J.headers=X),J}},{key:"__getFilesizeInBytes",value:function(Q){try{var x=k.statSync(Q,{throwIfNoEntry:!1}),X=x.size||0;return X}catch(V){this.emit("warning",V)}return 0}},{key:"__validate",value:function(Q,x){if(typeof Q!="string")throw Error("URL should be an string");if(Q.trim()==="")throw Error("URL couldn't be empty");if(typeof x!="string")throw Error("Destination Folder should be an string");if(x.trim()==="")throw Error("Destination Folder couldn't be empty");if(!k.existsSync(x))throw Error("Destination Folder must exist");var X=k.statSync(x);if(!X.isDirectory())throw Error("Destination Folder must be a directory");try{k.accessSync(x,k.constants.W_OK)}catch(V){throw Error("Destination Folder must be writable")}return!0}},{key:"__initProtocol",value:function(Q){var x=this.__getReqOptions(this.__opts.method,Q,this.__headers);this.requestURL=Q,-1<Q.indexOf("https://")?(this.__protocol=y9,x.agent=new y9.Agent({keepAlive:!1}),this.__reqOptions=Object.assign({},x,this.__opts.httpsRequestOptions)):(this.__protocol=u9,x.agent=new u9.Agent({keepAlive:!1}),this.__reqOptions=Object.assign({},x,this.__opts.httpRequestOptions))}},{key:"__uniqFileNameSync",value:function(Q){if(typeof Q!="string"||Q==="")return Q;try{k.accessSync(Q,k.F_OK);var x=Q.match(/(.*)(\([0-9]+\))(\..*)$/),X=x?x[1].trim():Q,V=x?parseInt(x[2].replace(/\(|\)/,"")):0,J=Q.split(".").pop();return J!==Q&&0<J.length?(J="."+J,X=X.replace(J,"")):J="",this.__uniqFileNameSync(X+" ("+ ++V+")"+J)}catch(K){return Q}}},{key:"__removeFile",value:function(){var Q=this;return new Promise(function(x){return Q.__fileStream?void Q.__fileStream.close(function(X){return X&&Q.emit("warning",X),Q.__opts.removeOnFail?k.access(Q.__filePath,function(V){return V?x():void k.unlink(Q.__filePath,function(J){J&&Q.emit("warning",X),x()})}):void x()}):x()})}},{key:"__requestAbort",value:function(){this.__isAborted=!0,this.__retryTimeout&&(clearTimeout(this.__retryTimeout),this.__retryTimeout=null),this.__response&&this.__response.destroy(),this.__request&&(this.__request.destroy?this.__request.destroy():this.__request.abort())}},{key:"__emitStop",value:function(){this.__resolvePending(),this.__setState(this.__states.STOPPED),this.emit("stop")}}]),q}(l4.EventEmitter)});var t3=A((_V,o3)=>{var A_=1000,T_=A_*60,F_=T_*60,X_=F_*24,k7=X_*7,m7=X_*365.25;o3.exports=function(_,q){q=q||{};var $=typeof _;if($==="string"&&_.length>0)return E7(_);else if($==="number"&&isFinite(_))return q.long?c7(_):b7(_);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(_))};function E7(_){if(_=String(_),_.length>100)return;var q=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(_);if(!q)return;var $=parseFloat(q[1]),Q=(q[2]||"ms").toLowerCase();switch(Q){case"years":case"year":case"yrs":case"yr":case"y":return $*m7;case"weeks":case"week":case"w":return $*k7;case"days":case"day":case"d":return $*X_;case"hours":case"hour":case"hrs":case"hr":case"h":return $*F_;case"minutes":case"minute":case"mins":case"min":case"m":return $*T_;case"seconds":case"second":case"secs":case"sec":case"s":return $*A_;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return $;default:return}}function b7(_){var q=Math.abs(_);if(q>=X_)return Math.round(_/X_)+"d";if(q>=F_)return Math.round(_/F_)+"h";if(q>=T_)return Math.round(_/T_)+"m";if(q>=A_)return Math.round(_/A_)+"s";return _+"ms"}function c7(_){var q=Math.abs(_);if(q>=X_)return J1(_,q,X_,"day");if(q>=F_)return J1(_,q,F_,"hour");if(q>=T_)return J1(_,q,T_,"minute");if(q>=A_)return J1(_,q,A_,"second");return _+" ms"}function J1(_,q,$,Q){var x=q>=$*1.5;return Math.round(_/$)+" "+Q+(x?"s":"")}});var _9=A((qV,r3)=>{function d7(_){$.debug=$,$.default=$,$.coerce=K,$.disable=V,$.enable=x,$.enabled=J,$.humanize=t3(),$.destroy=G,Object.keys(_).forEach((Z)=>{$[Z]=_[Z]}),$.names=[],$.skips=[],$.formatters={};function q(Z){let Y=0;for(let H=0;H<Z.length;H++)Y=(Y<<5)-Y+Z.charCodeAt(H),Y|=0;return $.colors[Math.abs(Y)%$.colors.length]}$.selectColor=q;function $(Z){let Y,H=null,w,L;function z(...M){if(!z.enabled)return;let y=z,f=Number(new Date),v6=f-(Y||f);if(y.diff=v6,y.prev=Y,y.curr=f,Y=f,M[0]=$.coerce(M[0]),typeof M[0]!=="string")M.unshift("%O");let Z_=0;M[0]=M[0].replace(/%([a-zA-Z%])/g,(x0,w6)=>{if(x0==="%%")return"%";Z_++;let D9=$.formatters[w6];if(typeof D9==="function"){let A4=M[Z_];x0=D9.call(y,A4),M.splice(Z_,1),Z_--}return x0}),$.formatArgs.call(y,M),(y.log||$.log).apply(y,M)}if(z.namespace=Z,z.useColors=$.useColors(),z.color=$.selectColor(Z),z.extend=Q,z.destroy=$.destroy,Object.defineProperty(z,"enabled",{enumerable:!0,configurable:!1,get:()=>{if(H!==null)return H;if(w!==$.namespaces)w=$.namespaces,L=$.enabled(Z);return L},set:(M)=>{H=M}}),typeof $.init==="function")$.init(z);return z}function Q(Z,Y){let H=$(this.namespace+(typeof Y>"u"?":":Y)+Z);return H.log=this.log,H}function x(Z){$.save(Z),$.namespaces=Z,$.names=[],$.skips=[];let Y=(typeof Z==="string"?Z:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let H of Y)if(H[0]==="-")$.skips.push(H.slice(1));else $.names.push(H)}function X(Z,Y){let H=0,w=0,L=-1,z=0;while(H<Z.length)if(w<Y.length&&(Y[w]===Z[H]||Y[w]==="*"))if(Y[w]==="*")L=w,z=H,w++;else H++,w++;else if(L!==-1)w=L+1,z++,H=z;else return!1;while(w<Y.length&&Y[w]==="*")w++;return w===Y.length}function V(){let Z=[...$.names,...$.skips.map((Y)=>"-"+Y)].join(",");return $.enable(""),Z}function J(Z){for(let Y of $.skips)if(X(Z,Y))return!1;for(let Y of $.names)if(X(Z,Y))return!0;return!1}function K(Z){if(Z instanceof Error)return Z.stack||Z.message;return Z}function G(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return $.enable($.load()),$}r3.exports=d7});var _8=A((e3,K1)=>{e3.formatArgs=f7;e3.save=i7;e3.load=p7;e3.useColors=l7;e3.storage=s7();e3.destroy=(()=>{let _=!1;return()=>{if(!_)_=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}})();e3.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function l7(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let _;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(_=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(_[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function f7(_){if(_[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+_[0]+(this.useColors?"%c ":" ")+"+"+K1.exports.humanize(this.diff),!this.useColors)return;let q="color: "+this.color;_.splice(1,0,q,"color: inherit");let $=0,Q=0;_[0].replace(/%[a-zA-Z%]/g,(x)=>{if(x==="%%")return;if($++,x==="%c")Q=$}),_.splice(Q,0,q)}e3.log=console.debug||console.log||(()=>{});function i7(_){try{if(_)e3.storage.setItem("debug",_);else e3.storage.removeItem("debug")}catch(q){}}function p7(){let _;try{_=e3.storage.getItem("debug")||e3.storage.getItem("DEBUG")}catch(q){}if(!_&&typeof process<"u"&&"env"in process)_=process.env.DEBUG;return _}function s7(){try{return localStorage}catch(_){}}K1.exports=_9()(e3);var{formatters:n7}=K1.exports;n7.j=function(_){try{return JSON.stringify(_)}catch(q){return"[UnexpectedJSONParseError]: "+q.message}}});var $8={};u4($8,{default:()=>Jq,createSupportsColor:()=>q9});import $9 from"node:process";import $q from"node:os";import q8 from"node:tty";function o(_,q=globalThis.Deno?globalThis.Deno.args:$9.argv){let $=_.startsWith("-")?"":_.length===1?"-":"--",Q=q.indexOf($+_),x=q.indexOf("--");return Q!==-1&&(x===-1||Q<x)}function Qq(){if("FORCE_COLOR"in T){if(T.FORCE_COLOR==="true")return 1;if(T.FORCE_COLOR==="false")return 0;return T.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(T.FORCE_COLOR,10),3)}}function xq(_){if(_===0)return!1;return{level:_,hasBasic:!0,has256:_>=2,has16m:_>=3}}function Xq(_,{streamIsTTY:q,sniffFlags:$=!0}={}){let Q=Qq();if(Q!==void 0)Z1=Q;let x=$?Z1:Q;if(x===0)return 0;if($){if(o("color=16m")||o("color=full")||o("color=truecolor"))return 3;if(o("color=256"))return 2}if("TF_BUILD"in T&&"AGENT_NAME"in T)return 1;if(_&&!q&&x===void 0)return 0;let X=x||0;if(T.TERM==="dumb")return X;if($9.platform==="win32"){let V=$q.release().split(".");if(Number(V[0])>=10&&Number(V[2])>=10586)return Number(V[2])>=14931?3:2;return 1}if("CI"in T){if("GITHUB_ACTIONS"in T||"GITEA_ACTIONS"in T)return 3;if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some((V)=>(V in T))||T.CI_NAME==="codeship")return 1;return X}if("TEAMCITY_VERSION"in T)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(T.TEAMCITY_VERSION)?1:0;if(T.COLORTERM==="truecolor")return 3;if(T.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in T){let V=Number.parseInt((T.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(T.TERM_PROGRAM){case"iTerm.app":return V>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(T.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(T.TERM))return 1;if("COLORTERM"in T)return 1;return X}function q9(_,q={}){let $=Xq(_,{streamIsTTY:_&&_.isTTY,...q});return xq($)}var T,Z1,Vq,Jq;var Q8=y4(()=>{({env:T}=$9);if(o("no-color")||o("no-colors")||o("color=false")||o("color=never"))Z1=0;else if(o("color")||o("colors")||o("color=true")||o("color=always"))Z1=1;Vq={stdout:q9({isTTY:q8.isatty(1)}),stderr:q9({isTTY:q8.isatty(2)})},Jq=Vq});var J8=A((X8,Y1)=>{var Kq=j("tty"),G1=j("util");X8.init=wq;X8.log=Hq;X8.formatArgs=Gq;X8.save=Wq;X8.load=vq;X8.useColors=Zq;X8.destroy=G1.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");X8.colors=[6,2,3,4,5,1];try{let _=(Q8(),N4($8));if(_&&(_.stderr||_).level>=2)X8.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}catch(_){}X8.inspectOpts=Object.keys(process.env).filter((_)=>{return/^debug_/i.test(_)}).reduce((_,q)=>{let $=q.substring(6).toLowerCase().replace(/_([a-z])/g,(x,X)=>{return X.toUpperCase()}),Q=process.env[q];if(/^(yes|on|true|enabled)$/i.test(Q))Q=!0;else if(/^(no|off|false|disabled)$/i.test(Q))Q=!1;else if(Q==="null")Q=null;else Q=Number(Q);return _[$]=Q,_},{});function Zq(){return"colors"in X8.inspectOpts?Boolean(X8.inspectOpts.colors):Kq.isatty(process.stderr.fd)}function Gq(_){let{namespace:q,useColors:$}=this;if($){let Q=this.color,x="\x1B[3"+(Q<8?Q:"8;5;"+Q),X=` ${x};1m${q} \x1B[0m`;_[0]=X+_[0].split(`
|
|
2
|
+
import{createRequire as E4}from"node:module";var R4=Object.create;var{getPrototypeOf:D4,defineProperty:h_,getOwnPropertyNames:N9,getOwnPropertyDescriptor:S4}=Object,h9=Object.prototype.hasOwnProperty;function g9(_){return this[_]}var N4,h4,L6=(_,q,$)=>{var Q=_!=null&&typeof _==="object";if(Q){var x=q?N4??=new WeakMap:h4??=new WeakMap,X=x.get(_);if(X)return X}$=_!=null?R4(D4(_)):{};let V=q||!_||!_.__esModule?h_($,"default",{value:_,enumerable:!0}):$;for(let J of N9(_))if(!h9.call(V,J))h_(V,J,{get:g9.bind(_,J),enumerable:!0});if(Q)x.set(_,V);return V},g4=(_)=>{var q=(S9??=new WeakMap).get(_),$;if(q)return q;if(q=h_({},"__esModule",{value:!0}),_&&typeof _==="object"||typeof _==="function"){for(var Q of N9(_))if(!h9.call(q,Q))h_(q,Q,{get:g9.bind(_,Q),enumerable:!($=S4(_,Q))||$.enumerable})}return S9.set(_,q),q},S9,A=(_,q)=>()=>(q||_((q={exports:{}}).exports,q),q.exports);var u4=(_)=>_;function y4(_,q){this[_]=u4.bind(null,q)}var k4=(_,q)=>{for(var $ in q)h_(_,$,{get:q[$],enumerable:!0,configurable:!0,set:y4.bind(q,$)})};var m4=(_,q)=>()=>(_&&(q=_(_=0)),q);var j=E4(import.meta.url);var h1=A((E9)=>{Object.defineProperty(E9,"__esModule",{value:!0}),E9.DownloaderHelper=E9.DH_STATES=void 0;var z6=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(_){return typeof _}:function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},b4=function(){function _(q,$){for(var Q,x=0;x<$.length;x++)Q=$[x],Q.enumerable=Q.enumerable||!1,Q.configurable=!0,"value"in Q&&(Q.writable=!0),Object.defineProperty(q,Q.key,Q)}return function(q,$,Q){return $&&_(q.prototype,$),Q&&_(q,Q),q}}(),c4=j("fs"),k=M6(c4),G_=j("url"),d4=j("path"),d0=M6(d4),l4=j("http"),u9=M6(l4),f4=j("https"),y9=M6(f4),i4=j("events");function M6(_){if(_&&_.__esModule)return _;var q={};if(_!=null)for(var $ in _)Object.prototype.hasOwnProperty.call(_,$)&&(q[$]=_[$]);return q.default=_,q}function p4(_,q){if(!(_ instanceof q))throw TypeError("Cannot call a class as a function")}function k9(_,q){if(!_)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return q&&(typeof q=="object"||typeof q=="function")?q:_}function s4(_,q){if(typeof q!="function"&&q!==null)throw TypeError("Super expression must either be null or a function, not "+typeof q);_.prototype=Object.create(q&&q.prototype,{constructor:{value:_,enumerable:!1,writable:!0,configurable:!0}}),q&&(Object.setPrototypeOf?Object.setPrototypeOf(_,q):_.__proto__=q)}var m9=E9.DH_STATES={IDLE:"IDLE",SKIPPED:"SKIPPED",STARTED:"STARTED",DOWNLOADING:"DOWNLOADING",RETRY:"RETRY",PAUSED:"PAUSED",RESUMED:"RESUMED",STOPPED:"STOPPED",FINISHED:"FINISHED",FAILED:"FAILED"},WQ=E9.DownloaderHelper=function(_){function q($,Q){var x=2<arguments.length&&arguments[2]!==void 0?arguments[2]:{};p4(this,q);var X=k9(this,(q.__proto__||Object.getPrototypeOf(q)).call(this,{captureRejections:!0}));return X.__validate($,Q)?(X.url=X.requestURL=$.trim(),X.state=m9.IDLE,X.__defaultOpts={body:null,retry:!1,method:"GET",headers:{},fileName:"",timeout:-1,metadata:null,override:!1,forceResume:!1,removeOnStop:!0,removeOnFail:!0,progressThrottle:1000,httpRequestOptions:{},httpsRequestOptions:{},resumeOnIncomplete:!0,resumeIfFileExists:!1,resumeOnIncompleteMaxRetry:5},X.__opts=Object.assign({},X.__defaultOpts),X.__pipes=[],X.__total=0,X.__downloaded=0,X.__progress=0,X.__retryCount=0,X.__retryTimeout=null,X.__resumeRetryCount=0,X.__states=m9,X.__promise=null,X.__request=null,X.__response=null,X.__isAborted=!1,X.__isResumed=!1,X.__isResumable=!1,X.__isRedirected=!1,X.__destFolder=Q,X.__statsEstimate={time:0,bytes:0,prevBytes:0,throttleTime:0},X.__fileName="",X.__filePath="",X.updateOptions(x),X):k9(X)}return s4(q,_),b4(q,[{key:"start",value:function(){var Q=this,x=function(){return new Promise(function(X,V){Q.__promise={resolve:X,reject:V},Q.__start()})};return this.__opts.resumeIfFileExists&&this.state!==this.__states.RESUMED?this.getTotalSize().then(function(X){var{name:V,total:J}=X,K=Q.__opts.override;if(Q.__opts.override=!0,Q.__filePath=Q.__getFilePath(V),Q.__opts.override=K,Q.__filePath&&k.existsSync(Q.__filePath)){var G=Q.__getFilesizeInBytes(Q.__filePath);return G===J?x():Q.resumeFromFile(Q.__filePath,{total:J,fileName:V})}return x()}):x()}},{key:"pause",value:function(){var Q=this;return this.state===this.__states.STOPPED?Promise.resolve(!0):(this.__response&&(this.__response.unpipe(),this.__pipes.forEach(function(x){return x.stream.unpipe()})),this.__fileStream&&this.__fileStream.removeAllListeners(),this.__requestAbort(),this.__closeFileStream().then(function(){return Q.__setState(Q.__states.PAUSED),Q.emit("pause"),!0}))}},{key:"resume",value:function(){return this.__promise?this.state===this.__states.STOPPED?Promise.resolve(!1):(this.__setState(this.__states.RESUMED),this.__isResumable&&(this.__isResumed=!0,this.__reqOptions.headers.range="bytes="+this.__downloaded+"-"),this.emit("resume",this.__isResumed),this.__start()):this.start()}},{key:"stop",value:function(){var Q=this;if(this.state===this.__states.STOPPED)return Promise.resolve(!0);var x=function(){return new Promise(function(X,V){k.access(Q.__filePath,function(J){return J?(Q.__emitStop(),X(!0)):void k.unlink(Q.__filePath,function(K){return K?(Q.__setState(Q.__states.FAILED),Q.emit("error",K),V(K)):(Q.__emitStop(),void X(!0))})})})};return this.__requestAbort(),this.__closeFileStream().then(function(){return Q.__opts.removeOnStop?x():(Q.__emitStop(),Promise.resolve(!0))})}},{key:"pipe",value:function(Q){var x=1<arguments.length&&arguments[1]!==void 0?arguments[1]:null;return this.__pipes.push({stream:Q,options:x}),Q}},{key:"unpipe",value:function(){var Q=this,x=0<arguments.length&&arguments[0]!==void 0?arguments[0]:null,X=function(J){return Q.__response?Q.__response.unpipe(J):J.unpipe()};if(x){var V=this.__pipes.find(function(J){return J.stream===x});return void(V&&(X(x),this.__pipes=this.__pipes.filter(function(J){return J.stream!==x})))}this.__pipes.forEach(function(J){return X(J.stream)}),this.__pipes=[]}},{key:"getDownloadPath",value:function(){return this.__filePath}},{key:"isResumable",value:function(){return this.__isResumable}},{key:"updateOptions",value:function(Q){var x=1<arguments.length&&arguments[1]!==void 0?arguments[1]:"";this.__opts=Object.assign({},this.__opts,Q),this.__headers=this.__opts.headers,-1<this.__opts.timeout&&(this.__opts.httpRequestOptions.timeout=this.__opts.timeout,this.__opts.httpsRequestOptions.timeout=this.__opts.timeout),(typeof this.__opts.progressThrottle!="number"||0>this.__opts.progressThrottle)&&(this.__opts.progressThrottle=this.__defaultOpts.progressThrottle),this.url=x||this.url,this.__reqOptions=this.__getReqOptions(this.__opts.method,this.url,this.__opts.headers),this.__initProtocol(this.url)}},{key:"getOptions",value:function(){return this.__opts}},{key:"getMetadata",value:function(){return this.__opts.metadata}},{key:"getStats",value:function(){return{total:this.__total,name:this.__fileName,downloaded:this.__downloaded,progress:this.__progress,speed:this.__statsEstimate.bytes}}},{key:"getTotalSize",value:function(){var Q=this;return new Promise(function(x,X){var V=function(Y){Q.__initProtocol(Y);var H=Object.assign({},Q.__headers);H.hasOwnProperty("range")&&delete H.range;var w=Q.__getReqOptions("HEAD",Y,H);return Object.assign({},Q.__reqOptions,w)},J=0,K=null,G=function(Y,H){if(!Q.__opts.retry||z6(Q.__opts.retry)!=="object")return Promise.reject(Y||Error("wrong retry options"));K&&(clearTimeout(K),K=null);var w=Q.__opts.retry,L=w.delay,z=L===void 0?0:L,M=w.maxRetries,y=M===void 0?999:M;return J>=y?Promise.reject(Y||Error("reached the maximum retries")):(J++,Q.__setState(Q.__states.RETRY),Q.emit("retry",J,Q.__opts.retry,Y),new Promise(function(f){K=setTimeout(function(){Q.__setState(Q.__states.IDLE),Z(H,V(H)),f()},z)}))},Z=function(Y,H){K&&(clearTimeout(K),K=null);var w=Q.__protocol.request(H,function(L){if(Q.__isRequireRedirect(L)){var z=/^https?:\/\//.test(L.headers.location)?L.headers.location:new G_.URL(L.headers.location,Y).href;return Q.emit("redirected",z,Y),Z(z,V(z))}if(200>L.statusCode||400<=L.statusCode){var M=Error("Response status was "+L.statusCode);return Q.__opts.retry&&500<=L.statusCode&&600>L.statusCode?G(M,Y).catch(X):X(M)}x({name:Q.__getFileNameFromHeaders(L.headers,L),total:parseInt(L.headers["content-length"])||null})});w.on("error",function(L){return Q.__opts.retry?G(L,Y).catch(X):void X(L)}),w.on("timeout",function(){return Q.__opts.retry?G(Error("timeout"),Y).catch(X):void X(Error("timeout"))}),w.on("uncaughtException",function(L){return Q.__opts.retry?G(L,Y).catch(X):void X(L)}),w.end()};Z(Q.url,V(Q.url))})}},{key:"getResumeState",value:function(){return{downloaded:this.__downloaded,filePath:this.__filePath,fileName:this.__fileName,total:this.__total}}},{key:"resumeFromFile",value:function(Q){var x=this,X=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{};return this.__opts.override=!0,this.__filePath=Q,(X.total&&X.fileName?Promise.resolve({name:X.fileName,total:X.total}):this.getTotalSize()).then(function(V){var{name:J,total:K}=V;return x.__total=X.total||K,x.__fileName=X.fileName||J,x.__downloaded=X.downloaded||x.__getFilesizeInBytes(x.__filePath),x.__reqOptions.headers.range="bytes="+x.__downloaded+"-",x.__isResumed=!0,x.__isResumable=!0,x.__setState(x.__states.RESUMED),x.emit("resume",x.__isResumed),new Promise(function(G,Z){x.__promise={resolve:G,reject:Z},x.__start()})})}},{key:"__start",value:function(){this.__isRedirected||this.state===this.__states.RESUMED||(this.emit("start"),this.__setState(this.__states.STARTED),this.__initProtocol(this.url)),this.__response=null,this.__isAborted=!1,this.__request&&!this.__request.destroyed&&this.__request.destroy(),this.__retryTimeout&&(clearTimeout(this.__retryTimeout),this.__retryTimeout=null),this.__request=this.__downloadRequest(this.__promise.resolve,this.__promise.reject),this.__request.on("error",this.__onError(this.__promise.resolve,this.__promise.reject)),this.__request.on("timeout",this.__onTimeout(this.__promise.resolve,this.__promise.reject)),this.__request.on("uncaughtException",this.__onError(this.__promise.resolve,this.__promise.reject,!0)),this.__opts.body&&this.__request.write(this.__opts.body),this.__request.end()}},{key:"__resolvePending",value:function(){if(this.__promise){var Q=this.__promise.resolve;return this.__promise=null,Q(!0)}}},{key:"__downloadRequest",value:function(Q,x){var X=this;return this.__protocol.request(this.__reqOptions,function(V){if(X.__response=V,X.__isResumed||(X.__total=parseInt(V.headers["content-length"])||null,X.__resetStats()),X.__isRequireRedirect(V)){var J=/^https?:\/\//.test(V.headers.location)?V.headers.location:new G_.URL(V.headers.location,X.url).href;return X.__isRedirected=!0,X.__initProtocol(J),X.emit("redirected",J,X.url),X.__start()}if(200>V.statusCode||400<=V.statusCode){var K=Error("Response status was "+V.statusCode);return(K.status=V.statusCode||0,K.body=V.body||"",500<=V.statusCode&&600>V.statusCode)?X.__onError(Q,x)(K):(X.__setState(X.__states.FAILED),X.emit("error",K),x(K))}X.__opts.forceResume?X.__isResumable=!0:V.headers.hasOwnProperty("accept-ranges")&&V.headers["accept-ranges"]!=="none"&&(X.__isResumable=!0),X.__startDownload(V,Q,x)})}},{key:"__startDownload",value:function(Q,x,X){var V=this,J=Q;if(!this.__isResumed){var K=this.__getFileNameFromHeaders(Q.headers);if(this.__filePath=this.__getFilePath(K),this.__fileName=this.__filePath.split(d0.sep).pop(),k.existsSync(this.__filePath)){var G=this.__getFilesizeInBytes(this.__filePath),Z=this.__total?this.__total:0;if(z6(this.__opts.override)==="object"&&this.__opts.override.skip&&(this.__opts.override.skipSmaller||G>=Z))return this.emit("skip",{totalSize:this.__total,fileName:this.__fileName,filePath:this.__filePath,downloadedSize:G}),this.__setState(this.__states.SKIPPED),x(!0)}this.__fileStream=k.createWriteStream(this.__filePath,{})}else this.__fileStream=k.createWriteStream(this.__filePath,{flags:"a"});this.emit("download",{fileName:this.__fileName,filePath:this.__filePath,totalSize:this.__total,isResumed:this.__isResumed,downloadedSize:this.__downloaded}),this.__retryCount=0,this.__isResumed=!1,this.__isRedirected=!1,this.__setState(this.__states.DOWNLOADING),this.__statsEstimate.time=new Date,this.__statsEstimate.throttleTime=new Date,J.on("data",function(Y){return V.__calculateStats(Y.length)}),this.__pipes.forEach(function(Y){J.pipe(Y.stream,Y.options),J=Y.stream}),J.pipe(this.__fileStream),J.on("error",this.__onError(x,X)),this.__fileStream.on("finish",this.__onFinished(x,X)),this.__fileStream.on("error",this.__onError(x,X))}},{key:"__hasFinished",value:function(){return!this.__isAborted&&[this.__states.PAUSED,this.__states.STOPPED,this.__states.RETRY,this.__states.FAILED,this.__states.RESUMED].indexOf(this.state)===-1}},{key:"__isRequireRedirect",value:function(Q){return 300<Q.statusCode&&400>Q.statusCode&&Q.headers.hasOwnProperty("location")&&Q.headers.location}},{key:"__onFinished",value:function(Q,x){var X=this;return function(){X.__fileStream.close(function(V){if(V)return x(V);if(X.__hasFinished()){var J=!!X.__total&&X.__downloaded!==X.__total;if(J&&X.__isResumable&&X.__opts.resumeOnIncomplete&&X.__resumeRetryCount<=X.__opts.resumeOnIncompleteMaxRetry)return X.__resumeRetryCount++,X.emit("warning",Error("uncomplete download, retrying")),X.resume();X.__setState(X.__states.FINISHED),X.__pipes=[],X.emit("end",{fileName:X.__fileName,filePath:X.__filePath,totalSize:X.__total,incomplete:J,onDiskSize:X.__getFilesizeInBytes(X.__filePath),downloadedSize:X.__downloaded})}return Q(X.__downloaded===X.__total)})}}},{key:"__closeFileStream",value:function(){var Q=this;return this.__fileStream?new Promise(function(x,X){Q.__fileStream.close(function(V){return V?X(V):x(!0)})}):Promise.resolve(!0)}},{key:"__onError",value:function(Q,x){var X=this,V=2<arguments.length&&arguments[2]!==void 0&&arguments[2];return function(J){return X.__pipes=[],V&&X.__requestAbort(),X.state===X.__states.STOPPED||X.state===X.__states.FAILED?void 0:X.__opts.retry?X.__retry(J).catch(function(K){X.__removeFile().finally(function(){X.__setState(X.__states.FAILED),X.emit("error",K?K:J),x(K?K:J)})}):X.__removeFile().finally(function(){X.__setState(X.__states.FAILED),X.emit("error",J),x(J)})}}},{key:"__retry",value:function(){var Q=this,x=0<arguments.length&&arguments[0]!==void 0?arguments[0]:null;if(!this.__opts.retry||z6(this.__opts.retry)!=="object")return Promise.reject(x||Error("wrong retry options"));var X=this.__opts.retry,V=X.delay,J=V===void 0?0:V,K=X.maxRetries,G=K===void 0?999:K;return this.__retryCount>=G?Promise.reject(x||Error("reached the maximum retries")):(this.__retryCount++,this.__setState(this.__states.RETRY),this.emit("retry",this.__retryCount,this.__opts.retry,x),this.__response&&(this.__response.unpipe(),this.__pipes.forEach(function(Z){return Z.stream.unpipe()})),this.__fileStream&&this.__fileStream.removeAllListeners(),this.__requestAbort(),this.__closeFileStream().then(function(){return new Promise(function(Z){return Q.__retryTimeout=setTimeout(function(){return Z(0<Q.__downloaded?Q.resume():Q.__start())},J)})}))}},{key:"__onTimeout",value:function(Q,x){var X=this;return function(){return X.__requestAbort(),X.__opts.retry?X.__retry(Error("timeout")).catch(function(V){X.__removeFile().finally(function(){X.__setState(X.__states.FAILED),V?x(V):(X.emit("timeout"),x(Error("timeout")))})}):X.__removeFile().finally(function(){X.__setState(X.__states.FAILED),X.emit("timeout"),x(Error("timeout"))})}}},{key:"__resetStats",value:function(){this.__retryCount=0,this.__downloaded=0,this.__progress=0,this.__resumeRetryCount=0,this.__statsEstimate={time:0,bytes:0,prevBytes:0,throttleTime:0}}},{key:"__getFileNameFromHeaders",value:function(Q,x){var X="",V=/.*filename\*=.*?'.*?'([^"].+?[^"])(?:(?:;)|$)/i,J=/.*filename="(.*?)";?/i,K=/.*filename=([^"].+?[^"])(?:(?:;)|$)/i,G=Q.hasOwnProperty("content-disposition"),Z=G?Q["content-disposition"].match(V):null,Y=!G||Z?null:Q["content-disposition"].match(J),H=!G||Z||Y?null:Q["content-disposition"].match(K);return G&&(Z||Y||H)?(X=Q["content-disposition"],X=X.trim(),Z?X=Z[1]:Y?X=Y[1]:H&&(X=H[1]),X=X.replace(/[/\\]/g,"")):0<d0.basename(new G_.URL(this.requestURL).pathname).length?X=d0.basename(new G_.URL(this.requestURL).pathname):X=new G_.URL(this.requestURL).hostname+".html",this.__opts.fileName?this.__getFileNameFromOpts(X,x):X.replace(/\.*$/,"")}},{key:"__getFilePath",value:function(Q){var x=d0.join(this.__destFolder,Q),X=x;return this.__opts.override||this.state===this.__states.RESUMED||(X=this.__uniqFileNameSync(X),x!==X&&this.emit("renamed",{path:X,fileName:X.split(d0.sep).pop(),prevPath:x,prevFileName:x.split(d0.sep).pop()})),X}},{key:"__getFileNameFromOpts",value:function(Q,x){if(!this.__opts.fileName)return Q;if(typeof this.__opts.fileName=="string")return this.__opts.fileName;if(typeof this.__opts.fileName=="function"){var X=d0.join(this.__destFolder,Q);return x&&x.headers||this.__response&&this.__response.headers?this.__opts.fileName(Q,X,(x?x:this.__response).headers["content-type"]):this.__opts.fileName(Q,X)}if(z6(this.__opts.fileName)==="object"){var V=this.__opts.fileName,J=V.name,K=!!V.hasOwnProperty("ext")&&V.ext;if(typeof K=="string")return J+"."+K;if(typeof K=="boolean"){if(K)return J;var G=Q.includes(".")?Q.split(".").pop():"";return G===""?J:J+"."+G}}return Q}},{key:"__calculateStats",value:function(Q){var x=new Date,X=x-this.__statsEstimate.time,V=x-this.__statsEstimate.throttleTime,J=this.__total||0;Q&&(this.__downloaded+=Q,this.__progress=J===0?0:100*(this.__downloaded/J),(this.__downloaded===J||1000<X)&&(this.__statsEstimate.time=x,this.__statsEstimate.bytes=this.__downloaded-this.__statsEstimate.prevBytes,this.__statsEstimate.prevBytes=this.__downloaded),(this.__downloaded===J||V>this.__opts.progressThrottle)&&(this.__statsEstimate.throttleTime=x,this.emit("progress.throttled",this.getStats())),this.emit("progress",this.getStats()))}},{key:"__setState",value:function(Q){this.state=Q,this.emit("stateChanged",this.state)}},{key:"__getReqOptions",value:function(Q,x){var X=2<arguments.length&&arguments[2]!==void 0?arguments[2]:{},V=new G_.URL(x),J={protocol:V.protocol,host:V.hostname,port:V.port,path:V.pathname+V.search,method:Q};return X&&(J.headers=X),J}},{key:"__getFilesizeInBytes",value:function(Q){try{var x=k.statSync(Q,{throwIfNoEntry:!1}),X=x.size||0;return X}catch(V){this.emit("warning",V)}return 0}},{key:"__validate",value:function(Q,x){if(typeof Q!="string")throw Error("URL should be an string");if(Q.trim()==="")throw Error("URL couldn't be empty");if(typeof x!="string")throw Error("Destination Folder should be an string");if(x.trim()==="")throw Error("Destination Folder couldn't be empty");if(!k.existsSync(x))throw Error("Destination Folder must exist");var X=k.statSync(x);if(!X.isDirectory())throw Error("Destination Folder must be a directory");try{k.accessSync(x,k.constants.W_OK)}catch(V){throw Error("Destination Folder must be writable")}return!0}},{key:"__initProtocol",value:function(Q){var x=this.__getReqOptions(this.__opts.method,Q,this.__headers);this.requestURL=Q,-1<Q.indexOf("https://")?(this.__protocol=y9,x.agent=new y9.Agent({keepAlive:!1}),this.__reqOptions=Object.assign({},x,this.__opts.httpsRequestOptions)):(this.__protocol=u9,x.agent=new u9.Agent({keepAlive:!1}),this.__reqOptions=Object.assign({},x,this.__opts.httpRequestOptions))}},{key:"__uniqFileNameSync",value:function(Q){if(typeof Q!="string"||Q==="")return Q;try{k.accessSync(Q,k.F_OK);var x=Q.match(/(.*)(\([0-9]+\))(\..*)$/),X=x?x[1].trim():Q,V=x?parseInt(x[2].replace(/\(|\)/,"")):0,J=Q.split(".").pop();return J!==Q&&0<J.length?(J="."+J,X=X.replace(J,"")):J="",this.__uniqFileNameSync(X+" ("+ ++V+")"+J)}catch(K){return Q}}},{key:"__removeFile",value:function(){var Q=this;return new Promise(function(x){return Q.__fileStream?void Q.__fileStream.close(function(X){return X&&Q.emit("warning",X),Q.__opts.removeOnFail?k.access(Q.__filePath,function(V){return V?x():void k.unlink(Q.__filePath,function(J){J&&Q.emit("warning",X),x()})}):void x()}):x()})}},{key:"__requestAbort",value:function(){this.__isAborted=!0,this.__retryTimeout&&(clearTimeout(this.__retryTimeout),this.__retryTimeout=null),this.__response&&this.__response.destroy(),this.__request&&(this.__request.destroy?this.__request.destroy():this.__request.abort())}},{key:"__emitStop",value:function(){this.__resolvePending(),this.__setState(this.__states.STOPPED),this.emit("stop")}}]),q}(i4.EventEmitter)});var t3=A((_V,o3)=>{var A_=1000,T_=A_*60,F_=T_*60,X_=F_*24,E7=X_*7,b7=X_*365.25;o3.exports=function(_,q){q=q||{};var $=typeof _;if($==="string"&&_.length>0)return c7(_);else if($==="number"&&isFinite(_))return q.long?l7(_):d7(_);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(_))};function c7(_){if(_=String(_),_.length>100)return;var q=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(_);if(!q)return;var $=parseFloat(q[1]),Q=(q[2]||"ms").toLowerCase();switch(Q){case"years":case"year":case"yrs":case"yr":case"y":return $*b7;case"weeks":case"week":case"w":return $*E7;case"days":case"day":case"d":return $*X_;case"hours":case"hour":case"hrs":case"hr":case"h":return $*F_;case"minutes":case"minute":case"mins":case"min":case"m":return $*T_;case"seconds":case"second":case"secs":case"sec":case"s":return $*A_;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return $;default:return}}function d7(_){var q=Math.abs(_);if(q>=X_)return Math.round(_/X_)+"d";if(q>=F_)return Math.round(_/F_)+"h";if(q>=T_)return Math.round(_/T_)+"m";if(q>=A_)return Math.round(_/A_)+"s";return _+"ms"}function l7(_){var q=Math.abs(_);if(q>=X_)return J1(_,q,X_,"day");if(q>=F_)return J1(_,q,F_,"hour");if(q>=T_)return J1(_,q,T_,"minute");if(q>=A_)return J1(_,q,A_,"second");return _+" ms"}function J1(_,q,$,Q){var x=q>=$*1.5;return Math.round(_/$)+" "+Q+(x?"s":"")}});var e2=A((qV,r3)=>{function f7(_){$.debug=$,$.default=$,$.coerce=K,$.disable=V,$.enable=x,$.enabled=J,$.humanize=t3(),$.destroy=G,Object.keys(_).forEach((Z)=>{$[Z]=_[Z]}),$.names=[],$.skips=[],$.formatters={};function q(Z){let Y=0;for(let H=0;H<Z.length;H++)Y=(Y<<5)-Y+Z.charCodeAt(H),Y|=0;return $.colors[Math.abs(Y)%$.colors.length]}$.selectColor=q;function $(Z){let Y,H=null,w,L;function z(...M){if(!z.enabled)return;let y=z,f=Number(new Date),v6=f-(Y||f);if(y.diff=v6,y.prev=Y,y.curr=f,Y=f,M[0]=$.coerce(M[0]),typeof M[0]!=="string")M.unshift("%O");let Z_=0;M[0]=M[0].replace(/%([a-zA-Z%])/g,(x0,w6)=>{if(x0==="%%")return"%";Z_++;let D9=$.formatters[w6];if(typeof D9==="function"){let F4=M[Z_];x0=D9.call(y,F4),M.splice(Z_,1),Z_--}return x0}),$.formatArgs.call(y,M),(y.log||$.log).apply(y,M)}if(z.namespace=Z,z.useColors=$.useColors(),z.color=$.selectColor(Z),z.extend=Q,z.destroy=$.destroy,Object.defineProperty(z,"enabled",{enumerable:!0,configurable:!1,get:()=>{if(H!==null)return H;if(w!==$.namespaces)w=$.namespaces,L=$.enabled(Z);return L},set:(M)=>{H=M}}),typeof $.init==="function")$.init(z);return z}function Q(Z,Y){let H=$(this.namespace+(typeof Y>"u"?":":Y)+Z);return H.log=this.log,H}function x(Z){$.save(Z),$.namespaces=Z,$.names=[],$.skips=[];let Y=(typeof Z==="string"?Z:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let H of Y)if(H[0]==="-")$.skips.push(H.slice(1));else $.names.push(H)}function X(Z,Y){let H=0,w=0,L=-1,z=0;while(H<Z.length)if(w<Y.length&&(Y[w]===Z[H]||Y[w]==="*"))if(Y[w]==="*")L=w,z=H,w++;else H++,w++;else if(L!==-1)w=L+1,z++,H=z;else return!1;while(w<Y.length&&Y[w]==="*")w++;return w===Y.length}function V(){let Z=[...$.names,...$.skips.map((Y)=>"-"+Y)].join(",");return $.enable(""),Z}function J(Z){for(let Y of $.skips)if(X(Z,Y))return!1;for(let Y of $.names)if(X(Z,Y))return!0;return!1}function K(Z){if(Z instanceof Error)return Z.stack||Z.message;return Z}function G(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return $.enable($.load()),$}r3.exports=f7});var _8=A((e3,K1)=>{e3.formatArgs=p7;e3.save=s7;e3.load=n7;e3.useColors=i7;e3.storage=a7();e3.destroy=(()=>{let _=!1;return()=>{if(!_)_=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}})();e3.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function i7(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let _;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(_=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(_[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function p7(_){if(_[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+_[0]+(this.useColors?"%c ":" ")+"+"+K1.exports.humanize(this.diff),!this.useColors)return;let q="color: "+this.color;_.splice(1,0,q,"color: inherit");let $=0,Q=0;_[0].replace(/%[a-zA-Z%]/g,(x)=>{if(x==="%%")return;if($++,x==="%c")Q=$}),_.splice(Q,0,q)}e3.log=console.debug||console.log||(()=>{});function s7(_){try{if(_)e3.storage.setItem("debug",_);else e3.storage.removeItem("debug")}catch(q){}}function n7(){let _;try{_=e3.storage.getItem("debug")||e3.storage.getItem("DEBUG")}catch(q){}if(!_&&typeof process<"u"&&"env"in process)_=process.env.DEBUG;return _}function a7(){try{return localStorage}catch(_){}}K1.exports=e2()(e3);var{formatters:o7}=K1.exports;o7.j=function(_){try{return JSON.stringify(_)}catch(q){return"[UnexpectedJSONParseError]: "+q.message}}});var $8={};k4($8,{default:()=>Zq,createSupportsColor:()=>_9});import q9 from"node:process";import xq from"node:os";import q8 from"node:tty";function o(_,q=globalThis.Deno?globalThis.Deno.args:q9.argv){let $=_.startsWith("-")?"":_.length===1?"-":"--",Q=q.indexOf($+_),x=q.indexOf("--");return Q!==-1&&(x===-1||Q<x)}function Xq(){if("FORCE_COLOR"in T){if(T.FORCE_COLOR==="true")return 1;if(T.FORCE_COLOR==="false")return 0;return T.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(T.FORCE_COLOR,10),3)}}function Vq(_){if(_===0)return!1;return{level:_,hasBasic:!0,has256:_>=2,has16m:_>=3}}function Jq(_,{streamIsTTY:q,sniffFlags:$=!0}={}){let Q=Xq();if(Q!==void 0)Z1=Q;let x=$?Z1:Q;if(x===0)return 0;if($){if(o("color=16m")||o("color=full")||o("color=truecolor"))return 3;if(o("color=256"))return 2}if("TF_BUILD"in T&&"AGENT_NAME"in T)return 1;if(_&&!q&&x===void 0)return 0;let X=x||0;if(T.TERM==="dumb")return X;if(q9.platform==="win32"){let V=xq.release().split(".");if(Number(V[0])>=10&&Number(V[2])>=10586)return Number(V[2])>=14931?3:2;return 1}if("CI"in T){if("GITHUB_ACTIONS"in T||"GITEA_ACTIONS"in T)return 3;if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some((V)=>(V in T))||T.CI_NAME==="codeship")return 1;return X}if("TEAMCITY_VERSION"in T)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(T.TEAMCITY_VERSION)?1:0;if(T.COLORTERM==="truecolor")return 3;if(T.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in T){let V=Number.parseInt((T.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(T.TERM_PROGRAM){case"iTerm.app":return V>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(T.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(T.TERM))return 1;if("COLORTERM"in T)return 1;return X}function _9(_,q={}){let $=Jq(_,{streamIsTTY:_&&_.isTTY,...q});return Vq($)}var T,Z1,Kq,Zq;var Q8=m4(()=>{({env:T}=q9);if(o("no-color")||o("no-colors")||o("color=false")||o("color=never"))Z1=0;else if(o("color")||o("colors")||o("color=true")||o("color=always"))Z1=1;Kq={stdout:_9({isTTY:q8.isatty(1)}),stderr:_9({isTTY:q8.isatty(2)})},Zq=Kq});var J8=A((X8,Y1)=>{var Gq=j("tty"),G1=j("util");X8.init=zq;X8.log=vq;X8.formatArgs=Hq;X8.save=wq;X8.load=Lq;X8.useColors=Yq;X8.destroy=G1.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");X8.colors=[6,2,3,4,5,1];try{let _=(Q8(),g4($8));if(_&&(_.stderr||_).level>=2)X8.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}catch(_){}X8.inspectOpts=Object.keys(process.env).filter((_)=>{return/^debug_/i.test(_)}).reduce((_,q)=>{let $=q.substring(6).toLowerCase().replace(/_([a-z])/g,(x,X)=>{return X.toUpperCase()}),Q=process.env[q];if(/^(yes|on|true|enabled)$/i.test(Q))Q=!0;else if(/^(no|off|false|disabled)$/i.test(Q))Q=!1;else if(Q==="null")Q=null;else Q=Number(Q);return _[$]=Q,_},{});function Yq(){return"colors"in X8.inspectOpts?Boolean(X8.inspectOpts.colors):Gq.isatty(process.stderr.fd)}function Hq(_){let{namespace:q,useColors:$}=this;if($){let Q=this.color,x="\x1B[3"+(Q<8?Q:"8;5;"+Q),X=` ${x};1m${q} \x1B[0m`;_[0]=X+_[0].split(`
|
|
3
3
|
`).join(`
|
|
4
|
-
`+X),_.push(x+"m+"+Y1.exports.humanize(this.diff)+"\x1B[0m")}else _[0]=
|
|
5
|
-
`)}function
|
|
6
|
-
`).map((q)=>q.trim()).join(" ")};x8.O=function(_){return this.inspectOpts.colors=this.useColors,G1.inspect(_,this.inspectOpts)}});var K8=A((JV,Q9)=>{if(typeof process>"u"||process.type==="renderer"||!1||process.__nwjs)Q9.exports=_8();else Q9.exports=J8()});var Y8=A((KV,G8)=>{G8.exports=Z8;function Z8(_,q){if(_&&q)return Z8(_)(q);if(typeof _!=="function")throw TypeError("need wrapper function");return Object.keys(_).forEach(function(Q){$[Q]=_[Q]}),$;function $(){var Q=Array(arguments.length);for(var x=0;x<Q.length;x++)Q[x]=arguments[x];var X=_.apply(this,Q),V=Q[Q.length-1];if(typeof X==="function"&&X!==V)Object.keys(V).forEach(function(J){X[J]=V[J]});return X}}});var X9=A((ZV,x9)=>{var H8=Y8();x9.exports=H8(H1);x9.exports.strict=H8(W8);H1.proto=H1(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return H1(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return W8(this)},configurable:!0})});function H1(_){var q=function(){if(q.called)return q.value;return q.called=!0,q.value=_.apply(this,arguments)};return q.called=!1,q}function W8(_){var q=function(){if(q.called)throw Error(q.onceError);return q.called=!0,q.value=_.apply(this,arguments)},$=_.name||"Function wrapped with `once`";return q.onceError=$+" shouldn't be called more than once",q.called=!1,q}});var L8=A((GV,w8)=>{var jq=X9(),Bq=function(){},Iq=global.Bare?queueMicrotask:process.nextTick.bind(process),Aq=function(_){return _.setHeader&&typeof _.abort==="function"},Tq=function(_){return _.stdio&&Array.isArray(_.stdio)&&_.stdio.length===3},v8=function(_,q,$){if(typeof q==="function")return v8(_,null,q);if(!q)q={};$=jq($||Bq);var{_writableState:Q,_readableState:x}=_,X=q.readable||q.readable!==!1&&_.readable,V=q.writable||q.writable!==!1&&_.writable,J=!1,K=function(){if(!_.writable)G()},G=function(){if(V=!1,!X)$.call(_)},Z=function(){if(X=!1,!V)$.call(_)},Y=function(M){$.call(_,M?Error("exited with error code: "+M):null)},H=function(M){$.call(_,M)},w=function(){Iq(L)},L=function(){if(J)return;if(X&&!(x&&(x.ended&&!x.destroyed)))return $.call(_,Error("premature close"));if(V&&!(Q&&(Q.ended&&!Q.destroyed)))return $.call(_,Error("premature close"))},z=function(){_.req.on("finish",G)};if(Aq(_))if(_.on("complete",G),_.on("abort",w),_.req)z();else _.on("request",z);else if(V&&!Q)_.on("end",K),_.on("close",K);if(Tq(_))_.on("exit",Y);if(_.on("end",Z),_.on("finish",G),q.error!==!1)_.on("error",H);return _.on("close",w),function(){if(J=!0,_.removeListener("complete",G),_.removeListener("abort",w),_.removeListener("request",z),_.req)_.req.removeListener("finish",G);_.removeListener("end",K),_.removeListener("close",K),_.removeListener("finish",G),_.removeListener("exit",Y),_.removeListener("end",Z),_.removeListener("error",H),_.removeListener("close",w)}};w8.exports=v8});var P8=A((YV,M8)=>{var Fq=X9(),Rq=L8(),W1;try{W1=j("fs")}catch(_){}var V6=function(){},Dq=typeof process>"u"?!1:/^v?\.0/.test(process.version),v1=function(_){return typeof _==="function"},Sq=function(_){if(!Dq)return!1;if(!W1)return!1;return(_ instanceof(W1.ReadStream||V6)||_ instanceof(W1.WriteStream||V6))&&v1(_.close)},Nq=function(_){return _.setHeader&&v1(_.abort)},hq=function(_,q,$,Q){Q=Fq(Q);var x=!1;_.on("close",function(){x=!0}),Rq(_,{readable:q,writable:$},function(V){if(V)return Q(V);x=!0,Q()});var X=!1;return function(V){if(x)return;if(X)return;if(X=!0,Sq(_))return _.close(V6);if(Nq(_))return _.abort();if(v1(_.destroy))return _.destroy();Q(V||Error("stream was destroyed"))}},z8=function(_){_()},gq=function(_,q){return _.pipe(q)},uq=function(){var _=Array.prototype.slice.call(arguments),q=v1(_[_.length-1]||V6)&&_.pop()||V6;if(Array.isArray(_[0]))_=_[0];if(_.length<2)throw Error("pump requires two streams per minimum");var $,Q=_.map(function(x,X){var V=X<_.length-1,J=X>0;return hq(x,V,J,function(K){if(!$)$=K;if(K)Q.forEach(z8);if(V)return;Q.forEach(z8),q($)})});return _.reduce(gq)};M8.exports=uq});var C8=A((HV,U8)=>{var{PassThrough:yq}=j("stream");U8.exports=(_)=>{_={..._};let{array:q}=_,{encoding:$}=_,Q=$==="buffer",x=!1;if(q)x=!($||Q);else $=$||"utf8";if(Q)$=null;let X=new yq({objectMode:x});if($)X.setEncoding($);let V=0,J=[];return X.on("data",(K)=>{if(J.push(K),x)V=J.length;else V+=K.length}),X.getBufferedValue=()=>{if(q)return J;return Q?Buffer.concat(J,V):J.join("")},X.getBufferedLength=()=>V,X}});var O8=A((WV,R_)=>{var{constants:kq}=j("buffer"),mq=P8(),Eq=C8();class V9 extends Error{constructor(){super("maxBuffer exceeded");this.name="MaxBufferError"}}async function w1(_,q){if(!_)return Promise.reject(Error("Expected a stream"));q={maxBuffer:1/0,...q};let{maxBuffer:$}=q,Q;return await new Promise((x,X)=>{let V=(J)=>{if(J&&Q.getBufferedLength()<=kq.MAX_LENGTH)J.bufferedData=Q.getBufferedValue();X(J)};Q=mq(_,Eq(q),(J)=>{if(J){V(J);return}x()}),Q.on("data",()=>{if(Q.getBufferedLength()>$)V(new V9)})}),Q.getBufferedValue()}R_.exports=w1;R_.exports.default=w1;R_.exports.buffer=(_,q)=>w1(_,{...q,encoding:"buffer"});R_.exports.array=(_,q)=>w1(_,{...q,array:!0});R_.exports.MaxBufferError=V9});var A8=A((vV,I8)=>{I8.exports=L1;function L1(){this.pending=0,this.max=1/0,this.listeners=[],this.waiting=[],this.error=null}L1.prototype.go=function(_){if(this.pending<this.max)B8(this,_);else this.waiting.push(_)};L1.prototype.wait=function(_){if(this.pending===0)_(this.error);else this.listeners.push(_)};L1.prototype.hold=function(){return j8(this)};function j8(_){_.pending+=1;var q=!1;return $;function $(x){if(q)throw Error("callback called twice");if(q=!0,_.error=_.error||x,_.pending-=1,_.waiting.length>0&&_.pending<_.max)B8(_,_.waiting.shift());else if(_.pending===0){var X=_.listeners;_.listeners=[],X.forEach(Q)}}function Q(x){x(_.error)}}function B8(_,q){q(j8(_))}});var F8=A((fq)=>{var J6=j("fs"),z1=j("util"),J9=j("stream"),T8=J9.Readable,K9=J9.Writable,bq=J9.PassThrough,cq=A8(),M1=j("events").EventEmitter;fq.createFromBuffer=dq;fq.createFromFd=lq;fq.BufferSlicer=C0;fq.FdSlicer=U0;z1.inherits(U0,M1);function U0(_,q){q=q||{},M1.call(this),this.fd=_,this.pend=new cq,this.pend.max=1,this.refCount=0,this.autoClose=!!q.autoClose}U0.prototype.read=function(_,q,$,Q,x){var X=this;X.pend.go(function(V){J6.read(X.fd,_,q,$,Q,function(J,K,G){V(),x(J,K,G)})})};U0.prototype.write=function(_,q,$,Q,x){var X=this;X.pend.go(function(V){J6.write(X.fd,_,q,$,Q,function(J,K,G){V(),x(J,K,G)})})};U0.prototype.createReadStream=function(_){return new P1(this,_)};U0.prototype.createWriteStream=function(_){return new U1(this,_)};U0.prototype.ref=function(){this.refCount+=1};U0.prototype.unref=function(){var _=this;if(_.refCount-=1,_.refCount>0)return;if(_.refCount<0)throw Error("invalid unref");if(_.autoClose)J6.close(_.fd,q);function q($){if($)_.emit("error",$);else _.emit("close")}};z1.inherits(P1,T8);function P1(_,q){q=q||{},T8.call(this,q),this.context=_,this.context.ref(),this.start=q.start||0,this.endOffset=q.end,this.pos=this.start,this.destroyed=!1}P1.prototype._read=function(_){var q=this;if(q.destroyed)return;var $=Math.min(q._readableState.highWaterMark,_);if(q.endOffset!=null)$=Math.min($,q.endOffset-q.pos);if($<=0){q.destroyed=!0,q.push(null),q.context.unref();return}q.context.pend.go(function(Q){if(q.destroyed)return Q();var x=Buffer.allocUnsafe($);J6.read(q.context.fd,x,0,$,q.pos,function(X,V){if(X)q.destroy(X);else if(V===0)q.destroyed=!0,q.push(null),q.context.unref();else q.pos+=V,q.push(x.slice(0,V));Q()})})};P1.prototype.destroy=function(_){if(this.destroyed)return;_=_||Error("stream destroyed"),this.destroyed=!0,this.emit("error",_),this.context.unref()};z1.inherits(U1,K9);function U1(_,q){q=q||{},K9.call(this,q),this.context=_,this.context.ref(),this.start=q.start||0,this.endOffset=q.end==null?1/0:+q.end,this.bytesWritten=0,this.pos=this.start,this.destroyed=!1,this.on("finish",this.destroy.bind(this))}U1.prototype._write=function(_,q,$){var Q=this;if(Q.destroyed)return;if(Q.pos+_.length>Q.endOffset){var x=Error("maximum file length exceeded");x.code="ETOOBIG",Q.destroy(),$(x);return}Q.context.pend.go(function(X){if(Q.destroyed)return X();J6.write(Q.context.fd,_,0,_.length,Q.pos,function(V,J){if(V)Q.destroy(),X(),$(V);else Q.bytesWritten+=J,Q.pos+=J,Q.emit("progress"),X(),$()})})};U1.prototype.destroy=function(){if(this.destroyed)return;this.destroyed=!0,this.context.unref()};z1.inherits(C0,M1);function C0(_,q){M1.call(this),q=q||{},this.refCount=0,this.buffer=_,this.maxChunkSize=q.maxChunkSize||Number.MAX_SAFE_INTEGER}C0.prototype.read=function(_,q,$,Q,x){if(!(0<=q&&q<=_.length))throw RangeError("offset outside buffer: 0 <= "+q+" <= "+_.length);if(Q<0)throw RangeError("position is negative: "+Q);if(q+$>_.length)$=_.length-q;if(Q+$>this.buffer.length)$=this.buffer.length-Q;if($<=0){setImmediate(function(){x(null,0)});return}this.buffer.copy(_,q,Q,Q+$),setImmediate(function(){x(null,$)})};C0.prototype.write=function(_,q,$,Q,x){_.copy(this.buffer,Q,q,q+$),setImmediate(function(){x(null,$,_)})};C0.prototype.createReadStream=function(_){_=_||{};var q=new bq(_);q.destroyed=!1,q.start=_.start||0,q.endOffset=_.end,q.pos=q.endOffset||this.buffer.length;var $=this.buffer.slice(q.start,q.pos),Q=0;while(!0){var x=Q+this.maxChunkSize;if(x>=$.length){if(Q<$.length)q.write($.slice(Q,$.length));break}q.write($.slice(Q,x)),Q=x}return q.end(),q.destroy=function(){q.destroyed=!0},q};C0.prototype.createWriteStream=function(_){var q=this;_=_||{};var $=new K9(_);return $.start=_.start||0,$.endOffset=_.end==null?this.buffer.length:+_.end,$.bytesWritten=0,$.pos=$.start,$.destroyed=!1,$._write=function(Q,x,X){if($.destroyed)return;var V=$.pos+Q.length;if(V>$.endOffset){var J=Error("maximum file length exceeded");J.code="ETOOBIG",$.destroyed=!0,X(J);return}Q.copy(q.buffer,$.pos,0,Q.length),$.bytesWritten+=Q.length,$.pos=V,$.emit("progress"),X()},$.destroy=function(){$.destroyed=!0},$};C0.prototype.ref=function(){this.refCount+=1};C0.prototype.unref=function(){if(this.refCount-=1,this.refCount<0)throw Error("invalid unref")};function dq(_,q){return new C0(_,q)}function lq(_,q){return new U0(_,q)}});var S8=A((LV,D8)=>{var b0=j("buffer").Buffer,Z9=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918000,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];if(typeof Int32Array<"u")Z9=new Int32Array(Z9);function R8(_){if(b0.isBuffer(_))return _;var q=typeof b0.alloc==="function"&&typeof b0.from==="function";if(typeof _==="number")return q?b0.alloc(_):new b0(_);else if(typeof _==="string")return q?b0.from(_):new b0(_);else throw Error("input must be buffer, number, or string, received "+typeof _)}function aq(_){var q=R8(4);return q.writeInt32BE(_,0),q}function G9(_,q){if(_=R8(_),b0.isBuffer(q))q=q.readUInt32BE(0);var $=~~q^-1;for(var Q=0;Q<_.length;Q++)$=Z9[($^_[Q])&255]^$>>>8;return $^-1}function Y9(){return aq(G9.apply(null,arguments))}Y9.signed=function(){return G9.apply(null,arguments)};Y9.unsigned=function(){return G9.apply(null,arguments)>>>0};D8.exports=Y9});var c8=A(($$)=>{var H9=j("fs"),oq=j("zlib"),N8=F8(),tq=S8(),j1=j("util"),B1=j("events").EventEmitter,h8=j("stream").Transform,v9=j("stream").PassThrough,rq=j("stream").Writable;$$.open=eq;$$.fromFd=g8;$$.fromBuffer=_$;$$.fromRandomAccessReader=w9;$$.dosDateTimeToDate=k8;$$.getFileNameLowLevel=m8;$$.validateFileName=E8;$$.parseExtraFields=b8;$$.ZipFile=H0;$$.Entry=K6;$$.LocalFileHeader=y8;$$.RandomAccessReader=c0;function eq(_,q,$){if(typeof q==="function")$=q,q=null;if(q==null)q={};if(q.autoClose==null)q.autoClose=!0;if(q.lazyEntries==null)q.lazyEntries=!1;if(q.decodeStrings==null)q.decodeStrings=!0;if(q.validateEntrySizes==null)q.validateEntrySizes=!0;if(q.strictFileNames==null)q.strictFileNames=!1;if($==null)$=O1;H9.open(_,"r",function(Q,x){if(Q)return $(Q);g8(x,q,function(X,V){if(X)H9.close(x,O1);$(X,V)})})}function g8(_,q,$){if(typeof q==="function")$=q,q=null;if(q==null)q={};if(q.autoClose==null)q.autoClose=!1;if(q.lazyEntries==null)q.lazyEntries=!1;if(q.decodeStrings==null)q.decodeStrings=!0;if(q.validateEntrySizes==null)q.validateEntrySizes=!0;if(q.strictFileNames==null)q.strictFileNames=!1;if($==null)$=O1;H9.fstat(_,function(Q,x){if(Q)return $(Q);var X=N8.createFromFd(_,{autoClose:!0});w9(X,x.size,q,$)})}function _$(_,q,$){if(typeof q==="function")$=q,q=null;if(q==null)q={};if(q.autoClose=!1,q.lazyEntries==null)q.lazyEntries=!1;if(q.decodeStrings==null)q.decodeStrings=!0;if(q.validateEntrySizes==null)q.validateEntrySizes=!0;if(q.strictFileNames==null)q.strictFileNames=!1;var Q=N8.createFromBuffer(_,{maxChunkSize:65536});w9(Q,_.length,q,$)}function w9(_,q,$,Q){if(typeof $==="function")Q=$,$=null;if($==null)$={};if($.autoClose==null)$.autoClose=!0;if($.lazyEntries==null)$.lazyEntries=!1;if($.decodeStrings==null)$.decodeStrings=!0;var x=!!$.decodeStrings;if($.validateEntrySizes==null)$.validateEntrySizes=!0;if($.strictFileNames==null)$.strictFileNames=!1;if(Q==null)Q=O1;if(typeof q!=="number")throw Error("expected totalSize parameter to be a number");if(q>Number.MAX_SAFE_INTEGER)throw Error("zip file too large. only file sizes up to 2^52 are supported due to JavaScript's Number type being an IEEE 754 double.");_.ref();var X=22,V=20,J=65535,K=Math.min(V+X+J,q),G=O0(K),Z=q-G.length;S_(_,G,0,K,Z,function(Y){if(Y)return Q(Y);for(var H=K-X;H>=0;H-=1){if(G.readUInt32LE(H)!==101010256)continue;var w=G.subarray(H),L=w.readUInt16LE(4),z=w.readUInt16LE(10),M=w.readUInt32LE(16),y=w.readUInt16LE(20),f=w.length-X;if(y!==f)return Q(Error("Invalid comment length. Expected: "+f+". Found: "+y+". Are there extra bytes at the end of the file? Or is the end of central dir signature `PK☺☻` in the comment?"));var v6=x?C1(w.subarray(22),!1):w.subarray(22);if(H-V>=0&&G.readUInt32LE(H-V)===117853008){var Z_=G.subarray(H-V,H-V+V),R9=D_(Z_,8),x0=O0(56);return S_(_,x0,0,x0.length,R9,function(w6){if(w6)return Q(w6);if(x0.readUInt32LE(0)!==101075792)return Q(Error("invalid zip64 end of central directory record signature"));if(L=x0.readUInt32LE(16),L!==0)return Q(Error("multi-disk zip files are not supported: found disk number: "+L));return z=D_(x0,32),M=D_(x0,48),Q(null,new H0(_,M,q,z,v6,$.autoClose,$.lazyEntries,x,$.validateEntrySizes,$.strictFileNames))})}if(L!==0)return Q(Error("multi-disk zip files are not supported: found disk number: "+L));return Q(null,new H0(_,M,q,z,v6,$.autoClose,$.lazyEntries,x,$.validateEntrySizes,$.strictFileNames))}Q(Error("End of central directory record signature not found. Either not a zip file, or file is truncated."))})}j1.inherits(H0,B1);function H0(_,q,$,Q,x,X,V,J,K,G){var Z=this;if(B1.call(Z),Z.reader=_,Z.reader.on("error",function(Y){u8(Z,Y)}),Z.reader.once("close",function(){Z.emit("close")}),Z.readEntryCursor=q,Z.fileSize=$,Z.entryCount=Q,Z.comment=x,Z.entriesRead=0,Z.autoClose=!!X,Z.lazyEntries=!!V,Z.decodeStrings=!!J,Z.validateEntrySizes=!!K,Z.strictFileNames=!!G,Z.isOpen=!0,Z.emittedError=!1,!Z.lazyEntries)Z._readEntry()}H0.prototype.close=function(){if(!this.isOpen)return;this.isOpen=!1,this.reader.unref()};function Y0(_,q){if(_.autoClose)_.close();u8(_,q)}function u8(_,q){if(_.emittedError)return;_.emittedError=!0,_.emit("error",q)}H0.prototype.readEntry=function(){if(!this.lazyEntries)throw Error("readEntry() called without lazyEntries:true");this._readEntry()};H0.prototype._readEntry=function(){var _=this;if(_.entryCount===_.entriesRead){setImmediate(function(){if(_.autoClose)_.close();if(_.emittedError)return;_.emit("end")});return}if(_.emittedError)return;var q=O0(46);S_(_.reader,q,0,q.length,_.readEntryCursor,function($){if($)return Y0(_,$);if(_.emittedError)return;var Q=new K6,x=q.readUInt32LE(0);if(x!==33639248)return Y0(_,Error("invalid central directory file header signature: 0x"+x.toString(16)));if(Q.versionMadeBy=q.readUInt16LE(4),Q.versionNeededToExtract=q.readUInt16LE(6),Q.generalPurposeBitFlag=q.readUInt16LE(8),Q.compressionMethod=q.readUInt16LE(10),Q.lastModFileTime=q.readUInt16LE(12),Q.lastModFileDate=q.readUInt16LE(14),Q.crc32=q.readUInt32LE(16),Q.compressedSize=q.readUInt32LE(20),Q.uncompressedSize=q.readUInt32LE(24),Q.fileNameLength=q.readUInt16LE(28),Q.extraFieldLength=q.readUInt16LE(30),Q.fileCommentLength=q.readUInt16LE(32),Q.internalFileAttributes=q.readUInt16LE(36),Q.externalFileAttributes=q.readUInt32LE(38),Q.relativeOffsetOfLocalHeader=q.readUInt32LE(42),Q.generalPurposeBitFlag&64)return Y0(_,Error("strong encryption is not supported"));_.readEntryCursor+=46,q=O0(Q.fileNameLength+Q.extraFieldLength+Q.fileCommentLength),S_(_.reader,q,0,q.length,_.readEntryCursor,function(X){if(X)return Y0(_,X);if(_.emittedError)return;Q.fileNameRaw=q.subarray(0,Q.fileNameLength);var V=Q.fileNameLength+Q.extraFieldLength;Q.extraFieldRaw=q.subarray(Q.fileNameLength,V),Q.fileCommentRaw=q.subarray(V,V+Q.fileCommentLength);try{Q.extraFields=b8(Q.extraFieldRaw)}catch(z){return Y0(_,z)}if(_.decodeStrings){var J=(Q.generalPurposeBitFlag&2048)!==0;Q.fileComment=C1(Q.fileCommentRaw,J),Q.fileName=m8(Q.generalPurposeBitFlag,Q.fileNameRaw,Q.extraFields,_.strictFileNames);var K=E8(Q.fileName);if(K!=null)return Y0(_,Error(K))}else Q.fileComment=Q.fileCommentRaw,Q.fileName=Q.fileNameRaw;Q.comment=Q.fileComment,_.readEntryCursor+=q.length,_.entriesRead+=1;for(var G=0;G<Q.extraFields.length;G++){var Z=Q.extraFields[G];if(Z.id!==1)continue;var Y=Z.data,H=0;if(Q.uncompressedSize===4294967295){if(H+8>Y.length)return Y0(_,Error("zip64 extended information extra field does not include uncompressed size"));Q.uncompressedSize=D_(Y,H),H+=8}if(Q.compressedSize===4294967295){if(H+8>Y.length)return Y0(_,Error("zip64 extended information extra field does not include compressed size"));Q.compressedSize=D_(Y,H),H+=8}if(Q.relativeOffsetOfLocalHeader===4294967295){if(H+8>Y.length)return Y0(_,Error("zip64 extended information extra field does not include relative header offset"));Q.relativeOffsetOfLocalHeader=D_(Y,H),H+=8}break}if(_.validateEntrySizes&&Q.compressionMethod===0){var w=Q.uncompressedSize;if(Q.isEncrypted())w+=12;if(Q.compressedSize!==w){var L="compressed/uncompressed size mismatch for stored file: "+Q.compressedSize+" != "+Q.uncompressedSize;return Y0(_,Error(L))}}if(_.emit("entry",Q),!_.lazyEntries)_._readEntry()})})};H0.prototype.openReadStream=function(_,q,$){var Q=this,x=0,X=_.compressedSize;if($==null)$=q,q=null;if(q==null)q={};else{if(q.decrypt!=null){if(!_.isEncrypted())throw Error("options.decrypt can only be specified for encrypted entries");if(q.decrypt!==!1)throw Error("invalid options.decrypt value: "+q.decrypt);if(_.isCompressed()){if(q.decompress!==!1)throw Error("entry is encrypted and compressed, and options.decompress !== false")}}if(q.decompress!=null){if(!_.isCompressed())throw Error("options.decompress can only be specified for compressed entries");if(!(q.decompress===!1||q.decompress===!0))throw Error("invalid options.decompress value: "+q.decompress)}if(q.start!=null||q.end!=null){if(_.isCompressed()&&q.decompress!==!1)throw Error("start/end range not allowed for compressed entry without options.decompress === false");if(_.isEncrypted()&&q.decrypt!==!1)throw Error("start/end range not allowed for encrypted entry without options.decrypt === false")}if(q.start!=null){if(x=q.start,x<0)throw Error("options.start < 0");if(x>_.compressedSize)throw Error("options.start > entry.compressedSize")}if(q.end!=null){if(X=q.end,X<0)throw Error("options.end < 0");if(X>_.compressedSize)throw Error("options.end > entry.compressedSize");if(X<x)throw Error("options.end < options.start")}}if(!Q.isOpen)return $(Error("closed"));if(_.isEncrypted()){if(q.decrypt!==!1)return $(Error("entry is encrypted, and options.decrypt !== false"))}var V;if(_.compressionMethod===0)V=!1;else if(_.compressionMethod===8)V=q.decompress!=null?q.decompress:!0;else return $(Error("unsupported compression method: "+_.compressionMethod));Q.readLocalFileHeader(_,{minimal:!0},function(J,K){if(J)return $(J);Q.openReadStreamLowLevel(K.fileDataStart,_.compressedSize,x,X,V,_.uncompressedSize,$)})};H0.prototype.openReadStreamLowLevel=function(_,q,$,Q,x,X,V){var J=this,K=_+q,G=J.reader.createReadStream({start:_+$,end:_+Q}),Z=G;if(x){var Y=!1,H=oq.createInflateRaw();if(G.on("error",function(w){setImmediate(function(){if(!Y)H.emit("error",w)})}),G.pipe(H),J.validateEntrySizes)Z=new Z6(X),H.on("error",function(w){setImmediate(function(){if(!Y)Z.emit("error",w)})}),H.pipe(Z);else Z=H;W9(Z,function(){if(Y=!0,H!==Z)H.unpipe(Z);G.unpipe(H),G.destroy()})}V(null,Z)};H0.prototype.readLocalFileHeader=function(_,q,$){var Q=this;if($==null)$=q,q=null;if(q==null)q={};Q.reader.ref();var x=O0(30);S_(Q.reader,x,0,x.length,_.relativeOffsetOfLocalHeader,function(X){try{if(X)return $(X);var V=x.readUInt32LE(0);if(V!==67324752)return $(Error("invalid local file header signature: 0x"+V.toString(16)));var J=x.readUInt16LE(26),K=x.readUInt16LE(28),G=_.relativeOffsetOfLocalHeader+30+J+K;if(G+_.compressedSize>Q.fileSize)return $(Error("file data overflows file bounds: "+G+" + "+_.compressedSize+" > "+Q.fileSize));if(q.minimal)return $(null,{fileDataStart:G});var Z=new y8;Z.fileDataStart=G,Z.versionNeededToExtract=x.readUInt16LE(4),Z.generalPurposeBitFlag=x.readUInt16LE(6),Z.compressionMethod=x.readUInt16LE(8),Z.lastModFileTime=x.readUInt16LE(10),Z.lastModFileDate=x.readUInt16LE(12),Z.crc32=x.readUInt32LE(14),Z.compressedSize=x.readUInt32LE(18),Z.uncompressedSize=x.readUInt32LE(22),Z.fileNameLength=J,Z.extraFieldLength=K,x=O0(J+K),Q.reader.ref(),S_(Q.reader,x,0,x.length,_.relativeOffsetOfLocalHeader+30,function(Y){try{if(Y)return $(Y);return Z.fileName=x.subarray(0,J),Z.extraField=x.subarray(J),$(null,Z)}finally{Q.reader.unref()}})}finally{Q.reader.unref()}})};function K6(){}K6.prototype.getLastModDate=function(_){if(_==null)_={};if(!_.forceDosFormat)for(var q=0;q<this.extraFields.length;q++){var $=this.extraFields[q];if($.id===21589){var Q=$.data;if(Q.length<5)continue;var x=Q[0],X=1;if(!(x&X))continue;var V=Q.readInt32LE(1);return new Date(V*1000)}else if($.id===10){var Q=$.data,J=4;while(J<Q.length+4){var K=Q.readUInt16LE(J);J+=2;var G=Q.readUInt16LE(J);if(J+=2,K!==1){J+=G;continue}if(G<8||J+G>Q.length)break;var Z=4294967296*Q.readInt32LE(J+4)+Q.readUInt32LE(J),Y=Z/1e4-11644473600000;return new Date(Y)}}}return k8(this.lastModFileDate,this.lastModFileTime,_.timezone)};K6.prototype.isEncrypted=function(){return(this.generalPurposeBitFlag&1)!==0};K6.prototype.isCompressed=function(){return this.compressionMethod===8};function y8(){}function k8(_,q,$){var Q=_&31,x=(_>>5&15)-1,X=(_>>9&127)+1980,V=0,J=(q&31)*2,K=q>>5&63,G=q>>11&31;if($==null||$==="local")return new Date(X,x,Q,G,K,J,V);else if($==="UTC")return new Date(Date.UTC(X,x,Q,G,K,J,V));else throw Error("unrecognized options.timezone: "+options.timezone)}function m8(_,q,$,Q){var x=null;for(var X=0;X<$.length;X++){var V=$[X];if(V.id===28789){if(V.data.length<6)continue;if(V.data.readUInt8(0)!==1)continue;var J=V.data.readUInt32LE(1);if(tq.unsigned(q)!==J)continue;x=C1(V.data.subarray(5),!0);break}}if(x==null){var K=(_&2048)!==0;x=C1(q,K)}if(!Q)x=x.replace(/\\/g,"/");return x}function E8(_){if(_.indexOf("\\")!==-1)return"invalid characters in fileName: "+_;if(/^[a-zA-Z]:/.test(_)||/^\//.test(_))return"absolute path: "+_;if(_.split("/").indexOf("..")!==-1)return"invalid relative path: "+_;return null}function b8(_){var q=[],$=0;while($<_.length-3){var Q=_.readUInt16LE($+0),x=_.readUInt16LE($+2),X=$+4,V=X+x;if(V>_.length)throw Error("extra field length exceeds extra field buffer size");var J=_.subarray(X,V);q.push({id:Q,data:J}),$=V}return q}function S_(_,q,$,Q,x,X){if(Q===0)return setImmediate(function(){X(null,O0(0))});_.read(q,$,Q,x,function(V,J){if(V)return X(V);if(J<Q)return X(Error("unexpected EOF"));X()})}j1.inherits(Z6,h8);function Z6(_){h8.call(this),this.actualByteCount=0,this.expectedByteCount=_}Z6.prototype._transform=function(_,q,$){if(this.actualByteCount+=_.length,this.actualByteCount>this.expectedByteCount){var Q="too many bytes in the stream. expected "+this.expectedByteCount+". got at least "+this.actualByteCount;return $(Error(Q))}$(null,_)};Z6.prototype._flush=function(_){if(this.actualByteCount<this.expectedByteCount){var q="not enough bytes in the stream. expected "+this.expectedByteCount+". got only "+this.actualByteCount;return _(Error(q))}_()};j1.inherits(c0,B1);function c0(){B1.call(this),this.refCount=0}c0.prototype.ref=function(){this.refCount+=1};c0.prototype.unref=function(){var _=this;if(_.refCount-=1,_.refCount>0)return;if(_.refCount<0)throw Error("invalid unref");_.close(q);function q($){if($)return _.emit("error",$);_.emit("close")}};c0.prototype.createReadStream=function(_){if(_==null)_={};var{start:q,end:$}=_;if(q===$){var Q=new v9;return setImmediate(function(){Q.end()}),Q}var x=this._readStreamForRange(q,$),X=!1,V=new I1(this);x.on("error",function(K){setImmediate(function(){if(!X)V.emit("error",K)})}),W9(V,function(){x.unpipe(V),V.unref(),x.destroy()});var J=new Z6($-q);return V.on("error",function(K){setImmediate(function(){if(!X)J.emit("error",K)})}),W9(J,function(){X=!0,V.unpipe(J),V.destroy()}),x.pipe(V).pipe(J)};c0.prototype._readStreamForRange=function(_,q){throw Error("not implemented")};c0.prototype.read=function(_,q,$,Q,x){var X=this.createReadStream({start:Q,end:Q+$}),V=new rq,J=0;V._write=function(K,G,Z){K.copy(_,q+J,0,K.length),J+=K.length,Z()},V.on("finish",x),X.on("error",function(K){x(K)}),X.pipe(V)};c0.prototype.close=function(_){setImmediate(_)};j1.inherits(I1,v9);function I1(_){v9.call(this),this.context=_,this.context.ref(),this.unreffedYet=!1}I1.prototype._flush=function(_){this.unref(),_()};I1.prototype.unref=function(_){if(this.unreffedYet)return;this.unreffedYet=!0,this.context.unref()};var q$="\x00☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ";function C1(_,q){if(q)return _.toString("utf8");else{var $="";for(var Q=0;Q<_.length;Q++)$+=q$[_[Q]];return $}}function D_(_,q){var $=_.readUInt32LE(q),Q=_.readUInt32LE(q+4);return Q*4294967296+$}var O0;if(typeof Buffer.allocUnsafe==="function")O0=function(_){return Buffer.allocUnsafe(_)};else O0=function(_){return new Buffer(_)};function W9(_,q){if(typeof _.destroy==="function")_._destroy=function($,Q){if(q(),Q!=null)Q($)};else _.destroy=q}function O1(_){if(_)throw _}});var f8=A((MV,l8)=>{var $0=K8()("extract-zip"),{createWriteStream:w$,promises:N_}=j("fs"),L$=O8(),J_=j("path"),{promisify:L9}=j("util"),z$=j("stream"),M$=c8(),P$=L9(M$.open),U$=L9(z$.pipeline);class d8{constructor(_,q){this.zipPath=_,this.opts=q}async extract(){return $0("opening",this.zipPath,"with opts",this.opts),this.zipfile=await P$(this.zipPath,{lazyEntries:!0}),this.canceled=!1,new Promise((_,q)=>{this.zipfile.on("error",($)=>{this.canceled=!0,q($)}),this.zipfile.readEntry(),this.zipfile.on("close",()=>{if(!this.canceled)$0("zip extraction complete"),_()}),this.zipfile.on("entry",async($)=>{if(this.canceled){$0("skipping entry",$.fileName,{cancelled:this.canceled});return}if($0("zipfile entry",$.fileName),$.fileName.startsWith("__MACOSX/")){this.zipfile.readEntry();return}let Q=J_.dirname(J_.join(this.opts.dir,$.fileName));try{await N_.mkdir(Q,{recursive:!0});let x=await N_.realpath(Q);if(J_.relative(this.opts.dir,x).split(J_.sep).includes(".."))throw Error(`Out of bound path "${x}" found while processing file ${$.fileName}`);await this.extractEntry($),$0("finished processing",$.fileName),this.zipfile.readEntry()}catch(x){this.canceled=!0,this.zipfile.close(),q(x)}})})}async extractEntry(_){if(this.canceled){$0("skipping entry extraction",_.fileName,{cancelled:this.canceled});return}if(this.opts.onEntry)this.opts.onEntry(_,this.zipfile);let q=J_.join(this.opts.dir,_.fileName),$=_.externalFileAttributes>>16&65535,Q=61440,x=16384,X=40960,V=($&Q)===X,J=($&Q)===x;if(!J&&_.fileName.endsWith("/"))J=!0;let K=_.versionMadeBy>>8;if(!J)J=K===0&&_.externalFileAttributes===16;$0("extracting entry",{filename:_.fileName,isDir:J,isSymlink:V});let G=this.getExtractedMode($,J)&511,Z=J?q:J_.dirname(q),Y={recursive:!0};if(J)Y.mode=G;if($0("mkdir",{dir:Z,...Y}),await N_.mkdir(Z,Y),J)return;$0("opening read stream",q);let H=await L9(this.zipfile.openReadStream.bind(this.zipfile))(_);if(V){let w=await L$(H);$0("creating symlink",w,q),await N_.symlink(w,q)}else await U$(H,w$(q,{mode:G}))}getExtractedMode(_,q){let $=_;if($===0)if(q){if(this.opts.defaultDirMode)$=parseInt(this.opts.defaultDirMode,10);if(!$)$=493}else{if(this.opts.defaultFileMode)$=parseInt(this.opts.defaultFileMode,10);if(!$)$=420}return $}}l8.exports=async function(_,q){if($0("creating target directory",q.dir),!J_.isAbsolute(q.dir))throw Error("Target directory is expected to be absolute");return await N_.mkdir(q.dir,{recursive:!0}),q.dir=await N_.realpath(q.dir),new d8(_,q).extract()}});var z9=A((PV,i8)=>{var C$=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(..._)=>console.error("SEMVER",..._):()=>{};i8.exports=C$});var M9=A((UV,p8)=>{var O$=Number.MAX_SAFE_INTEGER||9007199254740991,j$=["major","premajor","minor","preminor","patch","prepatch","prerelease"];p8.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:O$,RELEASE_TYPES:j$,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var n8=A((W0,s8)=>{var{MAX_SAFE_COMPONENT_LENGTH:P9,MAX_SAFE_BUILD_LENGTH:B$,MAX_LENGTH:I$}=M9(),A$=z9();W0=s8.exports={};var T$=W0.re=[],F$=W0.safeRe=[],W=W0.src=[],R$=W0.safeSrc=[],v=W0.t={},D$=0,U9="[a-zA-Z0-9-]",S$=[["\\s",1],["\\d",I$],[U9,B$]],N$=(_)=>{for(let[q,$]of S$)_=_.split(`${q}*`).join(`${q}{0,${$}}`).split(`${q}+`).join(`${q}{1,${$}}`);return _},P=(_,q,$)=>{let Q=N$(q),x=D$++;A$(_,x,q),v[_]=x,W[x]=q,R$[x]=Q,T$[x]=new RegExp(q,$?"g":void 0),F$[x]=new RegExp(Q,$?"g":void 0)};P("NUMERICIDENTIFIER","0|[1-9]\\d*");P("NUMERICIDENTIFIERLOOSE","\\d+");P("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${U9}*`);P("MAINVERSION",`(${W[v.NUMERICIDENTIFIER]})\\.(${W[v.NUMERICIDENTIFIER]})\\.(${W[v.NUMERICIDENTIFIER]})`);P("MAINVERSIONLOOSE",`(${W[v.NUMERICIDENTIFIERLOOSE]})\\.(${W[v.NUMERICIDENTIFIERLOOSE]})\\.(${W[v.NUMERICIDENTIFIERLOOSE]})`);P("PRERELEASEIDENTIFIER",`(?:${W[v.NONNUMERICIDENTIFIER]}|${W[v.NUMERICIDENTIFIER]})`);P("PRERELEASEIDENTIFIERLOOSE",`(?:${W[v.NONNUMERICIDENTIFIER]}|${W[v.NUMERICIDENTIFIERLOOSE]})`);P("PRERELEASE",`(?:-(${W[v.PRERELEASEIDENTIFIER]}(?:\\.${W[v.PRERELEASEIDENTIFIER]})*))`);P("PRERELEASELOOSE",`(?:-?(${W[v.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${W[v.PRERELEASEIDENTIFIERLOOSE]})*))`);P("BUILDIDENTIFIER",`${U9}+`);P("BUILD",`(?:\\+(${W[v.BUILDIDENTIFIER]}(?:\\.${W[v.BUILDIDENTIFIER]})*))`);P("FULLPLAIN",`v?${W[v.MAINVERSION]}${W[v.PRERELEASE]}?${W[v.BUILD]}?`);P("FULL",`^${W[v.FULLPLAIN]}$`);P("LOOSEPLAIN",`[v=\\s]*${W[v.MAINVERSIONLOOSE]}${W[v.PRERELEASELOOSE]}?${W[v.BUILD]}?`);P("LOOSE",`^${W[v.LOOSEPLAIN]}$`);P("GTLT","((?:<|>)?=?)");P("XRANGEIDENTIFIERLOOSE",`${W[v.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);P("XRANGEIDENTIFIER",`${W[v.NUMERICIDENTIFIER]}|x|X|\\*`);P("XRANGEPLAIN",`[v=\\s]*(${W[v.XRANGEIDENTIFIER]})(?:\\.(${W[v.XRANGEIDENTIFIER]})(?:\\.(${W[v.XRANGEIDENTIFIER]})(?:${W[v.PRERELEASE]})?${W[v.BUILD]}?)?)?`);P("XRANGEPLAINLOOSE",`[v=\\s]*(${W[v.XRANGEIDENTIFIERLOOSE]})(?:\\.(${W[v.XRANGEIDENTIFIERLOOSE]})(?:\\.(${W[v.XRANGEIDENTIFIERLOOSE]})(?:${W[v.PRERELEASELOOSE]})?${W[v.BUILD]}?)?)?`);P("XRANGE",`^${W[v.GTLT]}\\s*${W[v.XRANGEPLAIN]}$`);P("XRANGELOOSE",`^${W[v.GTLT]}\\s*${W[v.XRANGEPLAINLOOSE]}$`);P("COERCEPLAIN",`(^|[^\\d])(\\d{1,${P9}})(?:\\.(\\d{1,${P9}}))?(?:\\.(\\d{1,${P9}}))?`);P("COERCE",`${W[v.COERCEPLAIN]}(?:$|[^\\d])`);P("COERCEFULL",W[v.COERCEPLAIN]+`(?:${W[v.PRERELEASE]})?(?:${W[v.BUILD]})?(?:$|[^\\d])`);P("COERCERTL",W[v.COERCE],!0);P("COERCERTLFULL",W[v.COERCEFULL],!0);P("LONETILDE","(?:~>?)");P("TILDETRIM",`(\\s*)${W[v.LONETILDE]}\\s+`,!0);W0.tildeTrimReplace="$1~";P("TILDE",`^${W[v.LONETILDE]}${W[v.XRANGEPLAIN]}$`);P("TILDELOOSE",`^${W[v.LONETILDE]}${W[v.XRANGEPLAINLOOSE]}$`);P("LONECARET","(?:\\^)");P("CARETTRIM",`(\\s*)${W[v.LONECARET]}\\s+`,!0);W0.caretTrimReplace="$1^";P("CARET",`^${W[v.LONECARET]}${W[v.XRANGEPLAIN]}$`);P("CARETLOOSE",`^${W[v.LONECARET]}${W[v.XRANGEPLAINLOOSE]}$`);P("COMPARATORLOOSE",`^${W[v.GTLT]}\\s*(${W[v.LOOSEPLAIN]})$|^$`);P("COMPARATOR",`^${W[v.GTLT]}\\s*(${W[v.FULLPLAIN]})$|^$`);P("COMPARATORTRIM",`(\\s*)${W[v.GTLT]}\\s*(${W[v.LOOSEPLAIN]}|${W[v.XRANGEPLAIN]})`,!0);W0.comparatorTrimReplace="$1$2$3";P("HYPHENRANGE",`^\\s*(${W[v.XRANGEPLAIN]})\\s+-\\s+(${W[v.XRANGEPLAIN]})\\s*$`);P("HYPHENRANGELOOSE",`^\\s*(${W[v.XRANGEPLAINLOOSE]})\\s+-\\s+(${W[v.XRANGEPLAINLOOSE]})\\s*$`);P("STAR","(<|>)?=?\\s*\\*");P("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");P("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var o8=A((CV,a8)=>{var h$=Object.freeze({loose:!0}),g$=Object.freeze({}),u$=(_)=>{if(!_)return g$;if(typeof _!=="object")return h$;return _};a8.exports=u$});var _4=A((OV,e8)=>{var t8=/^[0-9]+$/,r8=(_,q)=>{if(typeof _==="number"&&typeof q==="number")return _===q?0:_<q?-1:1;let $=t8.test(_),Q=t8.test(q);if($&&Q)_=+_,q=+q;return _===q?0:$&&!Q?-1:Q&&!$?1:_<q?-1:1},y$=(_,q)=>r8(q,_);e8.exports={compareIdentifiers:r8,rcompareIdentifiers:y$}});var Q4=A((jV,$4)=>{var A1=z9(),{MAX_LENGTH:q4,MAX_SAFE_INTEGER:T1}=M9(),{safeRe:F1,t:R1}=n8(),k$=o8(),{compareIdentifiers:C9}=_4();class Q0{constructor(_,q){if(q=k$(q),_ instanceof Q0)if(_.loose===!!q.loose&&_.includePrerelease===!!q.includePrerelease)return _;else _=_.version;else if(typeof _!=="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof _}".`);if(_.length>q4)throw TypeError(`version is longer than ${q4} characters`);A1("SemVer",_,q),this.options=q,this.loose=!!q.loose,this.includePrerelease=!!q.includePrerelease;let $=_.trim().match(q.loose?F1[R1.LOOSE]:F1[R1.FULL]);if(!$)throw TypeError(`Invalid Version: ${_}`);if(this.raw=_,this.major=+$[1],this.minor=+$[2],this.patch=+$[3],this.major>T1||this.major<0)throw TypeError("Invalid major version");if(this.minor>T1||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>T1||this.patch<0)throw TypeError("Invalid patch version");if(!$[4])this.prerelease=[];else this.prerelease=$[4].split(".").map((Q)=>{if(/^[0-9]+$/.test(Q)){let x=+Q;if(x>=0&&x<T1)return x}return Q});this.build=$[5]?$[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare(_){if(A1("SemVer.compare",this.version,this.options,_),!(_ instanceof Q0)){if(typeof _==="string"&&_===this.version)return 0;_=new Q0(_,this.options)}if(_.version===this.version)return 0;return this.compareMain(_)||this.comparePre(_)}compareMain(_){if(!(_ instanceof Q0))_=new Q0(_,this.options);if(this.major<_.major)return-1;if(this.major>_.major)return 1;if(this.minor<_.minor)return-1;if(this.minor>_.minor)return 1;if(this.patch<_.patch)return-1;if(this.patch>_.patch)return 1;return 0}comparePre(_){if(!(_ instanceof Q0))_=new Q0(_,this.options);if(this.prerelease.length&&!_.prerelease.length)return-1;else if(!this.prerelease.length&&_.prerelease.length)return 1;else if(!this.prerelease.length&&!_.prerelease.length)return 0;let q=0;do{let $=this.prerelease[q],Q=_.prerelease[q];if(A1("prerelease compare",q,$,Q),$===void 0&&Q===void 0)return 0;else if(Q===void 0)return 1;else if($===void 0)return-1;else if($===Q)continue;else return C9($,Q)}while(++q)}compareBuild(_){if(!(_ instanceof Q0))_=new Q0(_,this.options);let q=0;do{let $=this.build[q],Q=_.build[q];if(A1("build compare",q,$,Q),$===void 0&&Q===void 0)return 0;else if(Q===void 0)return 1;else if($===void 0)return-1;else if($===Q)continue;else return C9($,Q)}while(++q)}inc(_,q,$){if(_.startsWith("pre")){if(!q&&$===!1)throw Error("invalid increment argument: identifier is empty");if(q){let Q=`-${q}`.match(this.options.loose?F1[R1.PRERELEASELOOSE]:F1[R1.PRERELEASE]);if(!Q||Q[1]!==q)throw Error(`invalid identifier: ${q}`)}}switch(_){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",q,$);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",q,$);break;case"prepatch":this.prerelease.length=0,this.inc("patch",q,$),this.inc("pre",q,$);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",q,$);this.inc("pre",q,$);break;case"release":if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{let Q=Number($)?1:0;if(this.prerelease.length===0)this.prerelease=[Q];else{let x=this.prerelease.length;while(--x>=0)if(typeof this.prerelease[x]==="number")this.prerelease[x]++,x=-2;if(x===-1){if(q===this.prerelease.join(".")&&$===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(Q)}}if(q){let x=[q,Q];if($===!1)x=[q];if(C9(this.prerelease[0],q)===0){if(isNaN(this.prerelease[1]))this.prerelease=x}else this.prerelease=x}break}default:throw Error(`invalid increment argument: ${_}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}$4.exports=Q0});var V4=A((BV,X4)=>{var x4=Q4(),m$=(_,q,$)=>new x4(_,$).compare(new x4(q,$));X4.exports=m$});var K4=A((IV,J4)=>{var E$=V4(),b$=(_,q,$)=>E$(_,q,$)<0;J4.exports=b$});import ZQ from"os";import GQ from"child_process";var H4=L6(g1(),1);import p$ from"path";import s$ from"fs";import W4 from"fs/promises";import S1 from"os";import x5 from"events";import E from"fs";import{EventEmitter as b1}from"node:events";import f9 from"node:stream";import{StringDecoder as n4}from"node:string_decoder";var b9=typeof process==="object"&&process?process:{stdout:null,stderr:null},a4=(_)=>!!_&&typeof _==="object"&&(_ instanceof c||_ instanceof f9||o4(_)||t4(_)),o4=(_)=>!!_&&typeof _==="object"&&_ instanceof b1&&typeof _.pipe==="function"&&_.pipe!==f9.Writable.prototype.pipe,t4=(_)=>!!_&&typeof _==="object"&&_ instanceof b1&&typeof _.write==="function"&&typeof _.end==="function",v0=Symbol("EOF"),w0=Symbol("maybeEmitEnd"),B0=Symbol("emittedEnd"),P6=Symbol("emittingEnd"),g_=Symbol("emittedError"),U6=Symbol("closed"),c9=Symbol("read"),C6=Symbol("flush"),d9=Symbol("flushChunk"),t=Symbol("encoding"),Y_=Symbol("decoder"),S=Symbol("flowing"),u_=Symbol("paused"),H_=Symbol("resume"),N=Symbol("buffer"),m=Symbol("pipes"),h=Symbol("bufferLength"),u1=Symbol("bufferPush"),O6=Symbol("bufferShift"),g=Symbol("objectMode"),F=Symbol("destroyed"),y1=Symbol("error"),k1=Symbol("emitData"),l9=Symbol("emitEnd"),m1=Symbol("emitEnd2"),X0=Symbol("async"),E1=Symbol("abort"),j6=Symbol("aborted"),y_=Symbol("signal"),l0=Symbol("dataListeners"),b=Symbol("discarded"),k_=(_)=>Promise.resolve().then(_),r4=(_)=>_(),e4=(_)=>_==="end"||_==="finish"||_==="prefinish",_5=(_)=>_ instanceof ArrayBuffer||!!_&&typeof _==="object"&&_.constructor&&_.constructor.name==="ArrayBuffer"&&_.byteLength>=0,q5=(_)=>!Buffer.isBuffer(_)&&ArrayBuffer.isView(_);class c1{src;dest;opts;ondrain;constructor(_,q,$){this.src=_,this.dest=q,this.opts=$,this.ondrain=()=>_[H_](),this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(_){}end(){if(this.unpipe(),this.opts.end)this.dest.end()}}class i9 extends c1{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(_,q,$){super(_,q,$);this.proxyErrors=(Q)=>q.emit("error",Q),_.on("error",this.proxyErrors)}}var $5=(_)=>!!_.objectMode,Q5=(_)=>!_.objectMode&&!!_.encoding&&_.encoding!=="buffer";class c extends b1{[S]=!1;[u_]=!1;[m]=[];[N]=[];[g];[t];[X0];[Y_];[v0]=!1;[B0]=!1;[P6]=!1;[U6]=!1;[g_]=null;[h]=0;[F]=!1;[y_];[j6]=!1;[l0]=0;[b]=!1;writable=!0;readable=!0;constructor(..._){let q=_[0]||{};super();if(q.objectMode&&typeof q.encoding==="string")throw TypeError("Encoding and objectMode may not be used together");if($5(q))this[g]=!0,this[t]=null;else if(Q5(q))this[t]=q.encoding,this[g]=!1;else this[g]=!1,this[t]=null;if(this[X0]=!!q.async,this[Y_]=this[t]?new n4(this[t]):null,q&&q.debugExposeBuffer===!0)Object.defineProperty(this,"buffer",{get:()=>this[N]});if(q&&q.debugExposePipes===!0)Object.defineProperty(this,"pipes",{get:()=>this[m]});let{signal:$}=q;if($)if(this[y_]=$,$.aborted)this[E1]();else $.addEventListener("abort",()=>this[E1]())}get bufferLength(){return this[h]}get encoding(){return this[t]}set encoding(_){throw Error("Encoding must be set at instantiation time")}setEncoding(_){throw Error("Encoding must be set at instantiation time")}get objectMode(){return this[g]}set objectMode(_){throw Error("objectMode must be set at instantiation time")}get["async"](){return this[X0]}set["async"](_){this[X0]=this[X0]||!!_}[E1](){this[j6]=!0,this.emit("abort",this[y_]?.reason),this.destroy(this[y_]?.reason)}get aborted(){return this[j6]}set aborted(_){}write(_,q,$){if(this[j6])return!1;if(this[v0])throw Error("write after end");if(this[F])return this.emit("error",Object.assign(Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;if(typeof q==="function")$=q,q="utf8";if(!q)q="utf8";let Q=this[X0]?k_:r4;if(!this[g]&&!Buffer.isBuffer(_)){if(q5(_))_=Buffer.from(_.buffer,_.byteOffset,_.byteLength);else if(_5(_))_=Buffer.from(_);else if(typeof _!=="string")throw Error("Non-contiguous data written to non-objectMode stream")}if(this[g]){if(this[S]&&this[h]!==0)this[C6](!0);if(this[S])this.emit("data",_);else this[u1](_);if(this[h]!==0)this.emit("readable");if($)Q($);return this[S]}if(!_.length){if(this[h]!==0)this.emit("readable");if($)Q($);return this[S]}if(typeof _==="string"&&!(q===this[t]&&!this[Y_]?.lastNeed))_=Buffer.from(_,q);if(Buffer.isBuffer(_)&&this[t])_=this[Y_].write(_);if(this[S]&&this[h]!==0)this[C6](!0);if(this[S])this.emit("data",_);else this[u1](_);if(this[h]!==0)this.emit("readable");if($)Q($);return this[S]}read(_){if(this[F])return null;if(this[b]=!1,this[h]===0||_===0||_&&_>this[h])return this[w0](),null;if(this[g])_=null;if(this[N].length>1&&!this[g])this[N]=[this[t]?this[N].join(""):Buffer.concat(this[N],this[h])];let q=this[c9](_||null,this[N][0]);return this[w0](),q}[c9](_,q){if(this[g])this[O6]();else{let $=q;if(_===$.length||_===null)this[O6]();else if(typeof $==="string")this[N][0]=$.slice(_),q=$.slice(0,_),this[h]-=_;else this[N][0]=$.subarray(_),q=$.subarray(0,_),this[h]-=_}if(this.emit("data",q),!this[N].length&&!this[v0])this.emit("drain");return q}end(_,q,$){if(typeof _==="function")$=_,_=void 0;if(typeof q==="function")$=q,q="utf8";if(_!==void 0)this.write(_,q);if($)this.once("end",$);if(this[v0]=!0,this.writable=!1,this[S]||!this[u_])this[w0]();return this}[H_](){if(this[F])return;if(!this[l0]&&!this[m].length)this[b]=!0;if(this[u_]=!1,this[S]=!0,this.emit("resume"),this[N].length)this[C6]();else if(this[v0])this[w0]();else this.emit("drain")}resume(){return this[H_]()}pause(){this[S]=!1,this[u_]=!0,this[b]=!1}get destroyed(){return this[F]}get flowing(){return this[S]}get paused(){return this[u_]}[u1](_){if(this[g])this[h]+=1;else this[h]+=_.length;this[N].push(_)}[O6](){if(this[g])this[h]-=1;else this[h]-=this[N][0].length;return this[N].shift()}[C6](_=!1){do;while(this[d9](this[O6]())&&this[N].length);if(!_&&!this[N].length&&!this[v0])this.emit("drain")}[d9](_){return this.emit("data",_),this[S]}pipe(_,q){if(this[F])return _;this[b]=!1;let $=this[B0];if(q=q||{},_===b9.stdout||_===b9.stderr)q.end=!1;else q.end=q.end!==!1;if(q.proxyErrors=!!q.proxyErrors,$){if(q.end)_.end()}else if(this[m].push(!q.proxyErrors?new c1(this,_,q):new i9(this,_,q)),this[X0])k_(()=>this[H_]());else this[H_]();return _}unpipe(_){let q=this[m].find(($)=>$.dest===_);if(q){if(this[m].length===1){if(this[S]&&this[l0]===0)this[S]=!1;this[m]=[]}else this[m].splice(this[m].indexOf(q),1);q.unpipe()}}addListener(_,q){return this.on(_,q)}on(_,q){let $=super.on(_,q);if(_==="data"){if(this[b]=!1,this[l0]++,!this[m].length&&!this[S])this[H_]()}else if(_==="readable"&&this[h]!==0)super.emit("readable");else if(e4(_)&&this[B0])super.emit(_),this.removeAllListeners(_);else if(_==="error"&&this[g_]){let Q=q;if(this[X0])k_(()=>Q.call(this,this[g_]));else Q.call(this,this[g_])}return $}removeListener(_,q){return this.off(_,q)}off(_,q){let $=super.off(_,q);if(_==="data"){if(this[l0]=this.listeners("data").length,this[l0]===0&&!this[b]&&!this[m].length)this[S]=!1}return $}removeAllListeners(_){let q=super.removeAllListeners(_);if(_==="data"||_===void 0){if(this[l0]=0,!this[b]&&!this[m].length)this[S]=!1}return q}get emittedEnd(){return this[B0]}[w0](){if(!this[P6]&&!this[B0]&&!this[F]&&this[N].length===0&&this[v0]){if(this[P6]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[U6])this.emit("close");this[P6]=!1}}emit(_,...q){let $=q[0];if(_!=="error"&&_!=="close"&&_!==F&&this[F])return!1;else if(_==="data")return!this[g]&&!$?!1:this[X0]?(k_(()=>this[k1]($)),!0):this[k1]($);else if(_==="end")return this[l9]();else if(_==="close"){if(this[U6]=!0,!this[B0]&&!this[F])return!1;let x=super.emit("close");return this.removeAllListeners("close"),x}else if(_==="error"){this[g_]=$,super.emit(y1,$);let x=!this[y_]||this.listeners("error").length?super.emit("error",$):!1;return this[w0](),x}else if(_==="resume"){let x=super.emit("resume");return this[w0](),x}else if(_==="finish"||_==="prefinish"){let x=super.emit(_);return this.removeAllListeners(_),x}let Q=super.emit(_,...q);return this[w0](),Q}[k1](_){for(let $ of this[m])if($.dest.write(_)===!1)this.pause();let q=this[b]?!1:super.emit("data",_);return this[w0](),q}[l9](){if(this[B0])return!1;return this[B0]=!0,this.readable=!1,this[X0]?(k_(()=>this[m1]()),!0):this[m1]()}[m1](){if(this[Y_]){let q=this[Y_].end();if(q){for(let $ of this[m])$.dest.write(q);if(!this[b])super.emit("data",q)}}for(let q of this[m])q.end();let _=super.emit("end");return this.removeAllListeners("end"),_}async collect(){let _=Object.assign([],{dataLength:0});if(!this[g])_.dataLength=0;let q=this.promise();return this.on("data",($)=>{if(_.push($),!this[g])_.dataLength+=$.length}),await q,_}async concat(){if(this[g])throw Error("cannot concat in objectMode");let _=await this.collect();return this[t]?_.join(""):Buffer.concat(_,_.dataLength)}async promise(){return new Promise((_,q)=>{this.on(F,()=>q(Error("stream destroyed"))),this.on("error",($)=>q($)),this.on("end",()=>_())})}[Symbol.asyncIterator](){this[b]=!1;let _=!1,q=async()=>{return this.pause(),_=!0,{value:void 0,done:!0}};return{next:()=>{if(_)return q();let Q=this.read();if(Q!==null)return Promise.resolve({done:!1,value:Q});if(this[v0])return q();let x,X,V=(Z)=>{this.off("data",J),this.off("end",K),this.off(F,G),q(),X(Z)},J=(Z)=>{this.off("error",V),this.off("end",K),this.off(F,G),this.pause(),x({value:Z,done:!!this[v0]})},K=()=>{this.off("error",V),this.off("data",J),this.off(F,G),q(),x({done:!0,value:void 0})},G=()=>V(Error("stream destroyed"));return new Promise((Z,Y)=>{X=Y,x=Z,this.once(F,G),this.once("error",V),this.once("end",K),this.once("data",J)})},throw:q,return:q,[Symbol.asyncIterator](){return this}}}[Symbol.iterator](){this[b]=!1;let _=!1,q=()=>{return this.pause(),this.off(y1,q),this.off(F,q),this.off("end",q),_=!0,{done:!0,value:void 0}},$=()=>{if(_)return q();let Q=this.read();return Q===null?q():{done:!1,value:Q}};return this.once("end",q),this.once(y1,q),this.once(F,q),{next:$,throw:q,return:q,[Symbol.iterator](){return this}}}destroy(_){if(this[F]){if(_)this.emit("error",_);else this.emit(F);return this}this[F]=!0,this[b]=!0,this[N].length=0,this[h]=0;let q=this;if(typeof q.close==="function"&&!this[U6])q.close();if(_)this.emit("error",_);else this.emit(F);return this}static get isStream(){return a4}}var X5=E.writev,A0=Symbol("_autoClose"),e=Symbol("_close"),m_=Symbol("_ended"),O=Symbol("_fd"),d1=Symbol("_finished"),z0=Symbol("_flags"),l1=Symbol("_flush"),s1=Symbol("_handleChunk"),n1=Symbol("_makeBuf"),b_=Symbol("_mode"),B6=Symbol("_needDrain"),w_=Symbol("_onerror"),L_=Symbol("_onopen"),f1=Symbol("_onread"),W_=Symbol("_onwrite"),T0=Symbol("_open"),r=Symbol("_path"),I0=Symbol("_pos"),V0=Symbol("_queue"),v_=Symbol("_read"),i1=Symbol("_readSize"),L0=Symbol("_reading"),E_=Symbol("_remain"),p1=Symbol("_size"),I6=Symbol("_write"),f0=Symbol("_writing"),A6=Symbol("_defaultFlag"),i0=Symbol("_errored");class z_ extends c{[i0]=!1;[O];[r];[i1];[L0]=!1;[p1];[E_];[A0];constructor(_,q){q=q||{};super(q);if(this.readable=!0,this.writable=!1,typeof _!=="string")throw TypeError("path must be a string");if(this[i0]=!1,this[O]=typeof q.fd==="number"?q.fd:void 0,this[r]=_,this[i1]=q.readSize||16777216,this[L0]=!1,this[p1]=typeof q.size==="number"?q.size:1/0,this[E_]=this[p1],this[A0]=typeof q.autoClose==="boolean"?q.autoClose:!0,typeof this[O]==="number")this[v_]();else this[T0]()}get fd(){return this[O]}get path(){return this[r]}write(){throw TypeError("this is a readable stream")}end(){throw TypeError("this is a readable stream")}[T0](){E.open(this[r],"r",(_,q)=>this[L_](_,q))}[L_](_,q){if(_)this[w_](_);else this[O]=q,this.emit("open",q),this[v_]()}[n1](){return Buffer.allocUnsafe(Math.min(this[i1],this[E_]))}[v_](){if(!this[L0]){this[L0]=!0;let _=this[n1]();if(_.length===0)return process.nextTick(()=>this[f1](null,0,_));E.read(this[O],_,0,_.length,null,(q,$,Q)=>this[f1](q,$,Q))}}[f1](_,q,$){if(this[L0]=!1,_)this[w_](_);else if(this[s1](q,$))this[v_]()}[e](){if(this[A0]&&typeof this[O]==="number"){let _=this[O];this[O]=void 0,E.close(_,(q)=>q?this.emit("error",q):this.emit("close"))}}[w_](_){this[L0]=!0,this[e](),this.emit("error",_)}[s1](_,q){let $=!1;if(this[E_]-=_,_>0)$=super.write(_<q.length?q.subarray(0,_):q);if(_===0||this[E_]<=0)$=!1,this[e](),super.end();return $}emit(_,...q){switch(_){case"prefinish":case"finish":return!1;case"drain":if(typeof this[O]==="number")this[v_]();return!1;case"error":if(this[i0])return!1;return this[i0]=!0,super.emit(_,...q);default:return super.emit(_,...q)}}}class a1 extends z_{[T0](){let _=!0;try{this[L_](null,E.openSync(this[r],"r")),_=!1}finally{if(_)this[e]()}}[v_](){let _=!0;try{if(!this[L0]){this[L0]=!0;do{let q=this[n1](),$=q.length===0?0:E.readSync(this[O],q,0,q.length,null);if(!this[s1]($,q))break}while(!0);this[L0]=!1}_=!1}finally{if(_)this[e]()}}[e](){if(this[A0]&&typeof this[O]==="number"){let _=this[O];this[O]=void 0,E.closeSync(_),this.emit("close")}}}class F0 extends x5{readable=!1;writable=!0;[i0]=!1;[f0]=!1;[m_]=!1;[V0]=[];[B6]=!1;[r];[b_];[A0];[O];[A6];[z0];[d1]=!1;[I0];constructor(_,q){q=q||{};super(q);this[r]=_,this[O]=typeof q.fd==="number"?q.fd:void 0,this[b_]=q.mode===void 0?438:q.mode,this[I0]=typeof q.start==="number"?q.start:void 0,this[A0]=typeof q.autoClose==="boolean"?q.autoClose:!0;let $=this[I0]!==void 0?"r+":"w";if(this[A6]=q.flags===void 0,this[z0]=q.flags===void 0?$:q.flags,this[O]===void 0)this[T0]()}emit(_,...q){if(_==="error"){if(this[i0])return!1;this[i0]=!0}return super.emit(_,...q)}get fd(){return this[O]}get path(){return this[r]}[w_](_){this[e](),this[f0]=!0,this.emit("error",_)}[T0](){E.open(this[r],this[z0],this[b_],(_,q)=>this[L_](_,q))}[L_](_,q){if(this[A6]&&this[z0]==="r+"&&_&&_.code==="ENOENT")this[z0]="w",this[T0]();else if(_)this[w_](_);else if(this[O]=q,this.emit("open",q),!this[f0])this[l1]()}end(_,q){if(_)this.write(_,q);if(this[m_]=!0,!this[f0]&&!this[V0].length&&typeof this[O]==="number")this[W_](null,0);return this}write(_,q){if(typeof _==="string")_=Buffer.from(_,q);if(this[m_])return this.emit("error",Error("write() after end()")),!1;if(this[O]===void 0||this[f0]||this[V0].length)return this[V0].push(_),this[B6]=!0,!1;return this[f0]=!0,this[I6](_),!0}[I6](_){E.write(this[O],_,0,_.length,this[I0],(q,$)=>this[W_](q,$))}[W_](_,q){if(_)this[w_](_);else{if(this[I0]!==void 0&&typeof q==="number")this[I0]+=q;if(this[V0].length)this[l1]();else if(this[f0]=!1,this[m_]&&!this[d1])this[d1]=!0,this[e](),this.emit("finish");else if(this[B6])this[B6]=!1,this.emit("drain")}}[l1](){if(this[V0].length===0){if(this[m_])this[W_](null,0)}else if(this[V0].length===1)this[I6](this[V0].pop());else{let _=this[V0];this[V0]=[],X5(this[O],_,this[I0],(q,$)=>this[W_](q,$))}}[e](){if(this[A0]&&typeof this[O]==="number"){let _=this[O];this[O]=void 0,E.close(_,(q)=>q?this.emit("error",q):this.emit("close"))}}}class c_ extends F0{[T0](){let _;if(this[A6]&&this[z0]==="r+")try{_=E.openSync(this[r],this[z0],this[b_])}catch(q){if(q?.code==="ENOENT")return this[z0]="w",this[T0]();else throw q}else _=E.openSync(this[r],this[z0],this[b_]);this[L_](null,_)}[e](){if(this[A0]&&typeof this[O]==="number"){let _=this[O];this[O]=void 0,E.closeSync(_),this.emit("close")}}[I6](_){let q=!0;try{this[W_](null,E.writeSync(this[O],_,0,_.length,this[I0])),q=!1}finally{if(q)try{this[e]()}catch{}}}}import B3 from"node:path";import U_ from"node:fs";import{dirname as y5,parse as k5}from"path";var V5=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"],["onentry","onReadEntry"]]),p9=(_)=>!!_.sync&&!!_.file,s9=(_)=>!_.sync&&!!_.file,n9=(_)=>!!_.sync&&!_.file,a9=(_)=>!_.sync&&!_.file;var o9=(_)=>!!_.file;var J5=(_)=>{let q=V5.get(_);if(q)return q;return _},d_=(_={})=>{if(!_)return{};let q={};for(let[$,Q]of Object.entries(_)){let x=J5($);q[x]=Q}if(q.chmod===void 0&&q.noChmod===!1)q.chmod=!0;return delete q.noChmod,q};var J0=(_,q,$,Q,x)=>{return Object.assign((X=[],V,J)=>{if(Array.isArray(X))V=X,X={};if(typeof V==="function")J=V,V=void 0;if(!V)V=[];else V=Array.from(V);let K=d_(X);if(x?.(K,V),p9(K)){if(typeof J==="function")throw TypeError("callback not supported for sync tar functions");return _(K,V)}else if(s9(K)){let G=q(K,V),Z=J?J:void 0;return Z?G.then(()=>Z(),Z):G}else if(n9(K)){if(typeof J==="function")throw TypeError("callback not supported for sync tar functions");return $(K,V)}else if(a9(K)){if(typeof J==="function")throw TypeError("callback only supported with file option");return Q(K,V)}else throw Error("impossible options??")},{syncFile:_,asyncFile:q,syncNoFile:$,asyncNoFile:Q,validate:x})};import{EventEmitter as N5}from"events";import e1 from"assert";import{Buffer as p0}from"buffer";import*as t9 from"zlib";import K5 from"zlib";var Z5=K5.constants||{ZLIB_VERNUM:4736},i=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},Z5));var G5=p0.concat,r9=Object.getOwnPropertyDescriptor(p0,"concat"),Y5=(_)=>_,t1=r9?.writable===!0||r9?.set!==void 0?(_)=>{p0.concat=_?Y5:G5}:(_)=>{},s0=Symbol("_superWrite");class l_ extends Error{code;errno;constructor(_,q){super("zlib: "+_.message,{cause:_});if(this.code=_.code,this.errno=_.errno,!this.code)this.code="ZLIB_ERROR";this.message="zlib: "+_.message,Error.captureStackTrace(this,q??this.constructor)}get name(){return"ZlibError"}}var r1=Symbol("flushFlag");class T6 extends c{#_=!1;#$=!1;#Q;#X;#x;#q;#V;get sawError(){return this.#_}get handle(){return this.#q}get flushFlag(){return this.#Q}constructor(_,q){if(!_||typeof _!=="object")throw TypeError("invalid options for ZlibBase constructor");super(_);if(this.#Q=_.flush??0,this.#X=_.finishFlush??0,this.#x=_.fullFlushFlag??0,typeof t9[q]!=="function")throw TypeError("Compression method not supported: "+q);try{this.#q=new t9[q](_)}catch($){throw new l_($,this.constructor)}this.#V=($)=>{if(this.#_)return;this.#_=!0,this.close(),this.emit("error",$)},this.#q?.on("error",($)=>this.#V(new l_($))),this.once("end",()=>this.close)}close(){if(this.#q)this.#q.close(),this.#q=void 0,this.emit("close")}reset(){if(!this.#_)return e1(this.#q,"zlib binding closed"),this.#q.reset?.()}flush(_){if(this.ended)return;if(typeof _!=="number")_=this.#x;this.write(Object.assign(p0.alloc(0),{[r1]:_}))}end(_,q,$){if(typeof _==="function")$=_,q=void 0,_=void 0;if(typeof q==="function")$=q,q=void 0;if(_)if(q)this.write(_,q);else this.write(_);return this.flush(this.#X),this.#$=!0,super.end($)}get ended(){return this.#$}[s0](_){return super.write(_)}write(_,q,$){if(typeof q==="function")$=q,q="utf8";if(typeof _==="string")_=p0.from(_,q);if(this.#_)return;e1(this.#q,"zlib binding closed");let Q=this.#q._handle,x=Q.close;Q.close=()=>{};let X=this.#q.close;this.#q.close=()=>{},t1(!0);let V=void 0;try{let K=typeof _[r1]==="number"?_[r1]:this.#Q;V=this.#q._processChunk(_,K),t1(!1)}catch(K){t1(!1),this.#V(new l_(K,this.write))}finally{if(this.#q)this.#q._handle=Q,Q.close=x,this.#q.close=X,this.#q.removeAllListeners("error")}if(this.#q)this.#q.on("error",(K)=>this.#V(new l_(K,this.write)));let J;if(V)if(Array.isArray(V)&&V.length>0){let K=V[0];J=this[s0](p0.from(K));for(let G=1;G<V.length;G++)J=this[s0](V[G])}else J=this[s0](p0.from(V));if($)$();return J}}class _2 extends T6{#_;#$;constructor(_,q){_=_||{},_.flush=_.flush||i.Z_NO_FLUSH,_.finishFlush=_.finishFlush||i.Z_FINISH,_.fullFlushFlag=i.Z_FULL_FLUSH;super(_,q);this.#_=_.level,this.#$=_.strategy}params(_,q){if(this.sawError)return;if(!this.handle)throw Error("cannot switch params when binding is closed");if(!this.handle.params)throw Error("not supported in this implementation");if(this.#_!==_||this.#$!==q){this.flush(i.Z_SYNC_FLUSH),e1(this.handle,"zlib binding closed");let $=this.handle.flush;this.handle.flush=(Q,x)=>{if(typeof Q==="function")x=Q,Q=this.flushFlag;this.flush(Q),x?.()};try{this.handle.params(_,q)}finally{this.handle.flush=$}if(this.handle)this.#_=_,this.#$=q}}}class q2 extends _2{#_;constructor(_){super(_,"Gzip");this.#_=_&&!!_.portable}[s0](_){if(!this.#_)return super[s0](_);return this.#_=!1,_[9]=255,super[s0](_)}}class $2 extends _2{constructor(_){super(_,"Unzip")}}class Q2 extends T6{constructor(_,q){_=_||{},_.flush=_.flush||i.BROTLI_OPERATION_PROCESS,_.finishFlush=_.finishFlush||i.BROTLI_OPERATION_FINISH,_.fullFlushFlag=i.BROTLI_OPERATION_FLUSH;super(_,q)}}class x2 extends Q2{constructor(_){super(_,"BrotliCompress")}}class X2 extends Q2{constructor(_){super(_,"BrotliDecompress")}}class V2 extends T6{constructor(_,q){_=_||{},_.flush=_.flush||i.ZSTD_e_continue,_.finishFlush=_.finishFlush||i.ZSTD_e_end,_.fullFlushFlag=i.ZSTD_e_flush;super(_,q)}}class J2 extends V2{constructor(_){super(_,"ZstdCompress")}}class K2 extends V2{constructor(_){super(_,"ZstdDecompress")}}import{posix as M_}from"node:path";var e9=(_,q)=>{if(!Number.isSafeInteger(_))throw Error("cannot encode number outside of javascript safe integer range");else if(_<0)v5(_,q);else W5(_,q);return q},W5=(_,q)=>{q[0]=128;for(var $=q.length;$>1;$--)q[$-1]=_&255,_=Math.floor(_/256)},v5=(_,q)=>{q[0]=255;var $=!1;_=_*-1;for(var Q=q.length;Q>1;Q--){var x=_&255;if(_=Math.floor(_/256),$)q[Q-1]=q3(x);else if(x===0)q[Q-1]=0;else $=!0,q[Q-1]=$3(x)}},_3=(_)=>{let q=_[0],$=q===128?L5(_.subarray(1,_.length)):q===255?w5(_):null;if($===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger($))throw Error("parsed number outside of javascript safe integer range");return $},w5=(_)=>{var q=_.length,$=0,Q=!1;for(var x=q-1;x>-1;x--){var X=Number(_[x]),V;if(Q)V=q3(X);else if(X===0)V=X;else Q=!0,V=$3(X);if(V!==0)$-=V*Math.pow(256,q-x-1)}return $},L5=(_)=>{var q=_.length,$=0;for(var Q=q-1;Q>-1;Q--){var x=Number(_[Q]);if(x!==0)$+=x*Math.pow(256,q-Q-1)}return $},q3=(_)=>(255^_)&255,$3=(_)=>(255^_)+1&255;var F6=(_)=>R6.has(_);var R6=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]),Q3=new Map(Array.from(R6).map((_)=>[_[1],_[0]]));class p{cksumValid=!1;needPax=!1;nullBlock=!1;block;path;mode;uid;gid;size;cksum;#_="Unsupported";linkpath;uname;gname;devmaj=0;devmin=0;atime;ctime;mtime;charset;comment;constructor(_,q=0,$,Q){if(Buffer.isBuffer(_))this.decode(_,q||0,$,Q);else if(_)this.#$(_)}decode(_,q,$,Q){if(!q)q=0;if(!_||!(_.length>=q+512))throw Error("need 512 bytes for header");if(this.path=$?.path??n0(_,q,100),this.mode=$?.mode??Q?.mode??R0(_,q+100,8),this.uid=$?.uid??Q?.uid??R0(_,q+108,8),this.gid=$?.gid??Q?.gid??R0(_,q+116,8),this.size=$?.size??Q?.size??R0(_,q+124,12),this.mtime=$?.mtime??Q?.mtime??Z2(_,q+136,12),this.cksum=R0(_,q+148,12),Q)this.#$(Q,!0);if($)this.#$($);let x=n0(_,q+156,1);if(F6(x))this.#_=x||"0";if(this.#_==="0"&&this.path.slice(-1)==="/")this.#_="5";if(this.#_==="5")this.size=0;if(this.linkpath=n0(_,q+157,100),_.subarray(q+257,q+265).toString()==="ustar\x0000")if(this.uname=$?.uname??Q?.uname??n0(_,q+265,32),this.gname=$?.gname??Q?.gname??n0(_,q+297,32),this.devmaj=$?.devmaj??Q?.devmaj??R0(_,q+329,8)??0,this.devmin=$?.devmin??Q?.devmin??R0(_,q+337,8)??0,_[q+475]!==0){let V=n0(_,q+345,155);this.path=V+"/"+this.path}else{let V=n0(_,q+345,130);if(V)this.path=V+"/"+this.path;this.atime=$?.atime??Q?.atime??Z2(_,q+476,12),this.ctime=$?.ctime??Q?.ctime??Z2(_,q+488,12)}let X=256;for(let V=q;V<q+148;V++)X+=_[V];for(let V=q+156;V<q+512;V++)X+=_[V];if(this.cksumValid=X===this.cksum,this.cksum===void 0&&X===256)this.nullBlock=!0}#$(_,q=!1){Object.assign(this,Object.fromEntries(Object.entries(_).filter(([$,Q])=>{return!(Q===null||Q===void 0||$==="path"&&q||$==="linkpath"&&q||$==="global")})))}encode(_,q=0){if(!_)_=this.block=Buffer.alloc(512);if(this.#_==="Unsupported")this.#_="0";if(!(_.length>=q+512))throw Error("need 512 bytes for header");let $=this.ctime||this.atime?130:155,Q=M5(this.path||"",$),x=Q[0],X=Q[1];if(this.needPax=!!Q[2],this.needPax=a0(_,q,100,x)||this.needPax,this.needPax=D0(_,q+100,8,this.mode)||this.needPax,this.needPax=D0(_,q+108,8,this.uid)||this.needPax,this.needPax=D0(_,q+116,8,this.gid)||this.needPax,this.needPax=D0(_,q+124,12,this.size)||this.needPax,this.needPax=G2(_,q+136,12,this.mtime)||this.needPax,_[q+156]=this.#_.charCodeAt(0),this.needPax=a0(_,q+157,100,this.linkpath)||this.needPax,_.write("ustar\x0000",q+257,8),this.needPax=a0(_,q+265,32,this.uname)||this.needPax,this.needPax=a0(_,q+297,32,this.gname)||this.needPax,this.needPax=D0(_,q+329,8,this.devmaj)||this.needPax,this.needPax=D0(_,q+337,8,this.devmin)||this.needPax,this.needPax=a0(_,q+345,$,X)||this.needPax,_[q+475]!==0)this.needPax=a0(_,q+345,155,X)||this.needPax;else this.needPax=a0(_,q+345,130,X)||this.needPax,this.needPax=G2(_,q+476,12,this.atime)||this.needPax,this.needPax=G2(_,q+488,12,this.ctime)||this.needPax;let V=256;for(let J=q;J<q+148;J++)V+=_[J];for(let J=q+156;J<q+512;J++)V+=_[J];return this.cksum=V,D0(_,q+148,8,this.cksum),this.cksumValid=!0,this.needPax}get type(){return this.#_==="Unsupported"?this.#_:R6.get(this.#_)}get typeKey(){return this.#_}set type(_){let q=String(Q3.get(_));if(F6(q)||q==="Unsupported")this.#_=q;else if(F6(_))this.#_=_;else throw TypeError("invalid entry type: "+_)}}var M5=(_,q)=>{let Q=_,x="",X=void 0,V=M_.parse(_).root||".";if(Buffer.byteLength(Q)<100)X=[Q,x,!1];else{x=M_.dirname(Q),Q=M_.basename(Q);do if(Buffer.byteLength(Q)<=100&&Buffer.byteLength(x)<=q)X=[Q,x,!1];else if(Buffer.byteLength(Q)>100&&Buffer.byteLength(x)<=q)X=[Q.slice(0,99),x,!0];else Q=M_.join(M_.basename(x),Q),x=M_.dirname(x);while(x!==V&&X===void 0);if(!X)X=[_.slice(0,99),"",!0]}return X},n0=(_,q,$)=>_.subarray(q,q+$).toString("utf8").replace(/\0.*/,""),Z2=(_,q,$)=>P5(R0(_,q,$)),P5=(_)=>_===void 0?void 0:new Date(_*1000),R0=(_,q,$)=>Number(_[q])&128?_3(_.subarray(q,q+$)):C5(_,q,$),U5=(_)=>isNaN(_)?void 0:_,C5=(_,q,$)=>U5(parseInt(_.subarray(q,q+$).toString("utf8").replace(/\0.*$/,"").trim(),8)),O5={12:8589934591,8:2097151},D0=(_,q,$,Q)=>Q===void 0?!1:Q>O5[$]||Q<0?(e9(Q,_.subarray(q,q+$)),!0):(j5(_,q,$,Q),!1),j5=(_,q,$,Q)=>_.write(B5(Q,$),q,$,"ascii"),B5=(_,q)=>I5(Math.floor(_).toString(8),q),I5=(_,q)=>(_.length===q-1?_:Array(q-_.length-1).join("0")+_+" ")+"\x00",G2=(_,q,$,Q)=>Q===void 0?!1:D0(_,q,$,Q.getTime()/1000),A5=Array(156).join("\x00"),a0=(_,q,$,Q)=>Q===void 0?!1:(_.write(Q+A5,q,$,"utf8"),Q.length!==Buffer.byteLength(Q)||Q.length>$);import{basename as T5}from"node:path";class S0{atime;mtime;ctime;charset;comment;gid;uid;gname;uname;linkpath;dev;ino;nlink;path;size;mode;global;constructor(_,q=!1){this.atime=_.atime,this.charset=_.charset,this.comment=_.comment,this.ctime=_.ctime,this.dev=_.dev,this.gid=_.gid,this.global=q,this.gname=_.gname,this.ino=_.ino,this.linkpath=_.linkpath,this.mtime=_.mtime,this.nlink=_.nlink,this.path=_.path,this.size=_.size,this.uid=_.uid,this.uname=_.uname}encode(){let _=this.encodeBody();if(_==="")return Buffer.allocUnsafe(0);let q=Buffer.byteLength(_),$=512*Math.ceil(1+q/512),Q=Buffer.allocUnsafe($);for(let x=0;x<512;x++)Q[x]=0;new p({path:("PaxHeader/"+T5(this.path??"")).slice(0,99),mode:this.mode||420,uid:this.uid,gid:this.gid,size:q,mtime:this.mtime,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime,ctime:this.ctime}).encode(Q),Q.write(_,512,q,"utf8");for(let x=q+512;x<Q.length;x++)Q[x]=0;return Q}encodeBody(){return this.encodeField("path")+this.encodeField("ctime")+this.encodeField("atime")+this.encodeField("dev")+this.encodeField("ino")+this.encodeField("nlink")+this.encodeField("charset")+this.encodeField("comment")+this.encodeField("gid")+this.encodeField("gname")+this.encodeField("linkpath")+this.encodeField("mtime")+this.encodeField("size")+this.encodeField("uid")+this.encodeField("uname")}encodeField(_){if(this[_]===void 0)return"";let q=this[_],$=q instanceof Date?q.getTime()/1000:q,Q=" "+(_==="dev"||_==="ino"||_==="nlink"?"SCHILY.":"")+_+"="+$+`
|
|
7
|
-
`,x=Buffer.byteLength(Q),X=Math.floor(Math.log(x)/Math.log(10))+1;if(x+X>=Math.pow(10,X))X+=1;return X+x+Q}static parse(_,q,$=!1){return new S0(
|
|
8
|
-
`).reduce(D5,Object.create(null)),D5=(_,q)=>{let $=parseInt(q,10);if($!==Buffer.byteLength(q)+1)return _;q=q.slice(($+" ").length);let Q=q.split("="),x=Q.shift();if(!x)return _;let X=x.replace(/^SCHILY\.(dev|ino|nlink)/,"$1"),V=Q.join("=");return _[X]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(X)?new Date(Number(V)*1000):/^[0-9]+$/.test(V)?+V:V,_};var S5=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,U=S5!=="win32"?(_)=>_:(_)=>_&&_.replace(/\\/g,"/");class f_ extends c{extended;globalExtended;header;startBlockSize;blockRemain;remain;type;meta=!1;ignore=!1;path;mode;uid;gid;uname;gname;size=0;mtime;atime;ctime;linkpath;dev;ino;nlink;invalid=!1;absolute;unsupported=!1;constructor(_,q,$){super({});switch(this.pause(),this.extended=q,this.globalExtended=$,this.header=_,this.remain=_.size??0,this.startBlockSize=512*Math.ceil(this.remain/512),this.blockRemain=this.startBlockSize,this.type=_.type,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}if(!_.path)throw Error("no path provided for tar.ReadEntry");if(this.path=U(_.path),this.mode=_.mode,this.mode)this.mode=this.mode&4095;if(this.uid=_.uid,this.gid=_.gid,this.uname=_.uname,this.gname=_.gname,this.size=this.remain,this.mtime=_.mtime,this.atime=_.atime,this.ctime=_.ctime,this.linkpath=_.linkpath?U(_.linkpath):void 0,this.uname=_.uname,this.gname=_.gname,q)this.#_(q);if($)this.#_($,!0)}write(_){let q=_.length;if(q>this.blockRemain)throw Error("writing more to entry than is appropriate");let $=this.remain,Q=this.blockRemain;if(this.remain=Math.max(0,$-q),this.blockRemain=Math.max(0,Q-q),this.ignore)return!0;if($>=q)return super.write(_);return super.write(_.subarray(0,$))}#_(_,q=!1){if(_.path)_.path=U(_.path);if(_.linkpath)_.linkpath=U(_.linkpath);Object.assign(this,Object.fromEntries(Object.entries(_).filter(([$,Q])=>{return!(Q===null||Q===void 0||$==="path"&&q)})))}}var o0=(_,q,$,Q={})=>{if(_.file)Q.file=_.file;if(_.cwd)Q.cwd=_.cwd;if(Q.code=$ instanceof Error&&$.code||q,Q.tarCode=q,!_.strict&&Q.recoverable!==!1){if($ instanceof Error)Q=Object.assign($,Q),$=$.message;_.emit("warn",q,$,Q)}else if($ instanceof Error)_.emit("error",Object.assign($,Q));else _.emit("error",Object.assign(Error(`${q}: ${$}`),Q))};var h5=1048576,w2=Buffer.from([31,139]),L2=Buffer.from([40,181,47,253]),g5=Math.max(w2.length,L2.length),s=Symbol("state"),t0=Symbol("writeEntry"),M0=Symbol("readEntry"),Y2=Symbol("nextEntry"),X3=Symbol("processEntry"),K0=Symbol("extendedHeader"),i_=Symbol("globalExtendedHeader"),N0=Symbol("meta"),V3=Symbol("emitMeta"),I=Symbol("buffer"),P0=Symbol("queue"),h0=Symbol("ended"),H2=Symbol("emittedEnd"),r0=Symbol("emit"),R=Symbol("unzip"),D6=Symbol("consumeChunk"),S6=Symbol("consumeChunkSub"),W2=Symbol("consumeBody"),J3=Symbol("consumeMeta"),K3=Symbol("consumeHeader"),p_=Symbol("consuming"),v2=Symbol("bufferConcat"),N6=Symbol("maybeEnd"),P_=Symbol("writing"),g0=Symbol("aborted"),h6=Symbol("onDone"),e0=Symbol("sawValidEntry"),g6=Symbol("sawNullBlock"),u6=Symbol("sawEOF"),Z3=Symbol("closeStream"),u5=()=>!0;class u0 extends N5{file;strict;maxMetaEntrySize;filter;brotli;zstd;writable=!0;readable=!1;[P0]=[];[I];[M0];[t0];[s]="begin";[N0]="";[K0];[i_];[h0]=!1;[R];[g0]=!1;[e0];[g6]=!1;[u6]=!1;[P_]=!1;[p_]=!1;[H2]=!1;constructor(_={}){super();if(this.file=_.file||"",this.on(h6,()=>{if(this[s]==="begin"||this[e0]===!1)this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),_.ondone)this.on(h6,_.ondone);else this.on(h6,()=>{this.emit("prefinish"),this.emit("finish"),this.emit("end")});this.strict=!!_.strict,this.maxMetaEntrySize=_.maxMetaEntrySize||h5,this.filter=typeof _.filter==="function"?_.filter:u5;let q=_.file&&(_.file.endsWith(".tar.br")||_.file.endsWith(".tbr"));this.brotli=!(_.gzip||_.zstd)&&_.brotli!==void 0?_.brotli:q?void 0:!1;let $=_.file&&(_.file.endsWith(".tar.zst")||_.file.endsWith(".tzst"));if(this.zstd=!(_.gzip||_.brotli)&&_.zstd!==void 0?_.zstd:$?!0:void 0,this.on("end",()=>this[Z3]()),typeof _.onwarn==="function")this.on("warn",_.onwarn);if(typeof _.onReadEntry==="function")this.on("entry",_.onReadEntry)}warn(_,q,$={}){o0(this,_,q,$)}[K3](_,q){if(this[e0]===void 0)this[e0]=!1;let $;try{$=new p(_,q,this[K0],this[i_])}catch(Q){return this.warn("TAR_ENTRY_INVALID",Q)}if($.nullBlock)if(this[g6]){if(this[u6]=!0,this[s]==="begin")this[s]="header";this[r0]("eof")}else this[g6]=!0,this[r0]("nullBlock");else if(this[g6]=!1,!$.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:$});else if(!$.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:$});else{let Q=$.type;if(/^(Symbolic)?Link$/.test(Q)&&!$.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:$});else if(!/^(Symbolic)?Link$/.test(Q)&&!/^(Global)?ExtendedHeader$/.test(Q)&&$.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:$});else{let x=this[t0]=new f_($,this[K0],this[i_]);if(!this[e0])if(x.remain){let X=()=>{if(!x.invalid)this[e0]=!0};x.on("end",X)}else this[e0]=!0;if(x.meta){if(x.size>this.maxMetaEntrySize)x.ignore=!0,this[r0]("ignoredEntry",x),this[s]="ignore",x.resume();else if(x.size>0)this[N0]="",x.on("data",(X)=>this[N0]+=X),this[s]="meta"}else if(this[K0]=void 0,x.ignore=x.ignore||!this.filter(x.path,x),x.ignore)this[r0]("ignoredEntry",x),this[s]=x.remain?"ignore":"header",x.resume();else{if(x.remain)this[s]="body";else this[s]="header",x.end();if(!this[M0])this[P0].push(x),this[Y2]();else this[P0].push(x)}}}}[Z3](){queueMicrotask(()=>this.emit("close"))}[X3](_){let q=!0;if(!_)this[M0]=void 0,q=!1;else if(Array.isArray(_)){let[$,...Q]=_;this.emit($,...Q)}else if(this[M0]=_,this.emit("entry",_),!_.emittedEnd)_.on("end",()=>this[Y2]()),q=!1;return q}[Y2](){do;while(this[X3](this[P0].shift()));if(!this[P0].length){let _=this[M0];if(!_||_.flowing||_.size===_.remain){if(!this[P_])this.emit("drain")}else _.once("drain",()=>this.emit("drain"))}}[W2](_,q){let $=this[t0];if(!$)throw Error("attempt to consume body without entry??");let Q=$.blockRemain??0,x=Q>=_.length&&q===0?_:_.subarray(q,q+Q);if($.write(x),!$.blockRemain)this[s]="header",this[t0]=void 0,$.end();return x.length}[J3](_,q){let $=this[t0],Q=this[W2](_,q);if(!this[t0]&&$)this[V3]($);return Q}[r0](_,q,$){if(!this[P0].length&&!this[M0])this.emit(_,q,$);else this[P0].push([_,q,$])}[V3](_){switch(this[r0]("meta",this[N0]),_.type){case"ExtendedHeader":case"OldExtendedHeader":this[K0]=S0.parse(this[N0],this[K0],!1);break;case"GlobalExtendedHeader":this[i_]=S0.parse(this[N0],this[i_],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":{let q=this[K0]??Object.create(null);this[K0]=q,q.path=this[N0].replace(/\0.*/,"");break}case"NextFileHasLongLinkpath":{let q=this[K0]||Object.create(null);this[K0]=q,q.linkpath=this[N0].replace(/\0.*/,"");break}default:throw Error("unknown meta: "+_.type)}}abort(_){this[g0]=!0,this.emit("abort",_),this.warn("TAR_ABORT",_,{recoverable:!1})}write(_,q,$){if(typeof q==="function")$=q,q=void 0;if(typeof _==="string")_=Buffer.from(_,typeof q==="string"?q:"utf8");if(this[g0])return $?.(),!1;if((this[R]===void 0||this.brotli===void 0&&this[R]===!1)&&_){if(this[I])_=Buffer.concat([this[I],_]),this[I]=void 0;if(_.length<g5)return this[I]=_,$?.(),!0;for(let J=0;this[R]===void 0&&J<w2.length;J++)if(_[J]!==w2[J])this[R]=!1;let X=!1;if(this[R]===!1&&this.zstd!==!1){X=!0;for(let J=0;J<L2.length;J++)if(_[J]!==L2[J]){X=!1;break}}let V=this.brotli===void 0&&!X;if(this[R]===!1&&V)if(_.length<512)if(this[h0])this.brotli=!0;else return this[I]=_,$?.(),!0;else try{new p(_.subarray(0,512)),this.brotli=!1}catch(J){this.brotli=!0}if(this[R]===void 0||this[R]===!1&&(this.brotli||X)){let J=this[h0];this[h0]=!1,this[R]=this[R]===void 0?new $2({}):X?new K2({}):new X2({}),this[R].on("data",(G)=>this[D6](G)),this[R].on("error",(G)=>this.abort(G)),this[R].on("end",()=>{this[h0]=!0,this[D6]()}),this[P_]=!0;let K=!!this[R][J?"end":"write"](_);return this[P_]=!1,$?.(),K}}if(this[P_]=!0,this[R])this[R].write(_);else this[D6](_);this[P_]=!1;let x=this[P0].length?!1:this[M0]?this[M0].flowing:!0;if(!x&&!this[P0].length)this[M0]?.once("drain",()=>this.emit("drain"));return $?.(),x}[v2](_){if(_&&!this[g0])this[I]=this[I]?Buffer.concat([this[I],_]):_}[N6](){if(this[h0]&&!this[H2]&&!this[g0]&&!this[p_]){this[H2]=!0;let _=this[t0];if(_&&_.blockRemain){let q=this[I]?this[I].length:0;if(this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${_.blockRemain} more bytes, only ${q} available)`,{entry:_}),this[I])_.write(this[I]);_.end()}this[r0](h6)}}[D6](_){if(this[p_]&&_)this[v2](_);else if(!_&&!this[I])this[N6]();else if(_){if(this[p_]=!0,this[I]){this[v2](_);let q=this[I];this[I]=void 0,this[S6](q)}else this[S6](_);while(this[I]&&this[I]?.length>=512&&!this[g0]&&!this[u6]){let q=this[I];this[I]=void 0,this[S6](q)}this[p_]=!1}if(!this[I]||this[h0])this[N6]()}[S6](_){let q=0,$=_.length;while(q+512<=$&&!this[g0]&&!this[u6])switch(this[s]){case"begin":case"header":this[K3](_,q),q+=512;break;case"ignore":case"body":q+=this[W2](_,q);break;case"meta":q+=this[J3](_,q);break;default:throw Error("invalid state: "+this[s])}if(q<$)if(this[I])this[I]=Buffer.concat([_.subarray(q),this[I]]);else this[I]=_.subarray(q)}end(_,q,$){if(typeof _==="function")$=_,q=void 0,_=void 0;if(typeof q==="function")$=q,q=void 0;if(typeof _==="string")_=Buffer.from(_,q);if($)this.once("finish",$);if(!this[g0])if(this[R]){if(_)this[R].write(_);this[R].end()}else{if(this[h0]=!0,this.brotli===void 0||this.zstd===void 0)_=_||Buffer.alloc(0);if(_)this.write(_);this[N6]()}return this}}var y0=(_)=>{let q=_.length-1,$=-1;while(q>-1&&_.charAt(q)==="/")$=q,q--;return $===-1?_:_.slice(0,$)};var m5=(_)=>{let q=_.onReadEntry;_.onReadEntry=q?($)=>{q($),$.resume()}:($)=>$.resume()},z2=(_,q)=>{let $=new Map(q.map((X)=>[y0(X),!0])),Q=_.filter,x=(X,V="")=>{let J=V||k5(X).root||".",K;if(X===J)K=!1;else{let G=$.get(X);if(G!==void 0)K=G;else K=x(y5(X),J)}return $.set(X,K),K};_.filter=Q?(X,V)=>Q(X,V)&&x(y0(X)):(X)=>x(y0(X))},E5=(_)=>{let q=new u0(_),$=_.file,Q;try{Q=U_.openSync($,"r");let x=U_.fstatSync(Q),X=_.maxReadSize||16777216;if(x.size<X){let V=Buffer.allocUnsafe(x.size),J=U_.readSync(Q,V,0,x.size,0);q.end(J===V.byteLength?V:V.subarray(0,J))}else{let V=0,J=Buffer.allocUnsafe(X);while(V<x.size){let K=U_.readSync(Q,J,0,X,V);if(K===0)break;V+=K,q.write(J.subarray(0,K))}q.end()}}finally{if(typeof Q==="number")try{U_.closeSync(Q)}catch(x){}}},b5=(_,q)=>{let $=new u0(_),Q=_.maxReadSize||16777216,x=_.file;return new Promise((V,J)=>{$.on("error",J),$.on("end",V),U_.stat(x,(K,G)=>{if(K)J(K);else{let Z=new z_(x,{readSize:Q,size:G.size});Z.on("error",J),Z.pipe($)}})})},__=J0(E5,b5,(_)=>new u0(_),(_)=>new u0(_),(_,q)=>{if(q?.length)z2(_,q);if(!_.noResume)m5(_)});import s6 from"fs";import Z0 from"fs";import W3 from"path";var M2=(_,q,$)=>{if(_&=4095,$)_=(_|384)&-19;if(q){if(_&256)_|=64;if(_&32)_|=8;if(_&4)_|=1}return _};import{win32 as c5}from"node:path";var{isAbsolute:d5,parse:G3}=c5,s_=(_)=>{let q="",$=G3(_);while(d5(_)||$.root){let Q=_.charAt(0)==="/"&&_.slice(0,4)!=="//?/"?"/":$.root;_=_.slice(Q.length),q+=Q,$=G3(_)}return[q,_]};var y6=["|","<",">","?",":"],P2=y6.map((_)=>String.fromCharCode(61440+_.charCodeAt(0))),l5=new Map(y6.map((_,q)=>[_,P2[q]])),f5=new Map(P2.map((_,q)=>[_,y6[q]])),U2=(_)=>y6.reduce((q,$)=>q.split($).join(l5.get($)),_),Y3=(_)=>P2.reduce((q,$)=>q.split($).join(f5.get($)),_);var M3=(_,q)=>{if(!q)return U(_);return _=U(_).replace(/^\.(\/|$)/,""),y0(q)+"/"+_},i5=16777216,v3=Symbol("process"),w3=Symbol("file"),L3=Symbol("directory"),O2=Symbol("symlink"),z3=Symbol("hardlink"),n_=Symbol("header"),k6=Symbol("read"),j2=Symbol("lstat"),m6=Symbol("onlstat"),B2=Symbol("onread"),I2=Symbol("onreadlink"),A2=Symbol("openfile"),T2=Symbol("onopenfile"),k0=Symbol("close"),E6=Symbol("mode"),F2=Symbol("awaitDrain"),C2=Symbol("ondrain"),G0=Symbol("prefix");class b6 extends c{path;portable;myuid=process.getuid&&process.getuid()||0;myuser=process.env.USER||"";maxReadSize;linkCache;statCache;preservePaths;cwd;strict;mtime;noPax;noMtime;prefix;fd;blockLen=0;blockRemain=0;buf;pos=0;remain=0;length=0;offset=0;win32;absolute;header;type;linkpath;stat;onWriteEntry;#_=!1;constructor(_,q={}){let $=d_(q);super();if(this.path=U(_),this.portable=!!$.portable,this.maxReadSize=$.maxReadSize||i5,this.linkCache=$.linkCache||new Map,this.statCache=$.statCache||new Map,this.preservePaths=!!$.preservePaths,this.cwd=U($.cwd||process.cwd()),this.strict=!!$.strict,this.noPax=!!$.noPax,this.noMtime=!!$.noMtime,this.mtime=$.mtime,this.prefix=$.prefix?U($.prefix):void 0,this.onWriteEntry=$.onWriteEntry,typeof $.onwarn==="function")this.on("warn",$.onwarn);let Q=!1;if(!this.preservePaths){let[X,V]=s_(this.path);if(X&&typeof V==="string")this.path=V,Q=X}if(this.win32=!!$.win32||process.platform==="win32",this.win32)this.path=Y3(this.path.replace(/\\/g,"/")),_=_.replace(/\\/g,"/");if(this.absolute=U($.absolute||W3.resolve(this.cwd,_)),this.path==="")this.path="./";if(Q)this.warn("TAR_ENTRY_INFO",`stripping ${Q} from absolute path`,{entry:this,path:Q+this.path});let x=this.statCache.get(this.absolute);if(x)this[m6](x);else this[j2]()}warn(_,q,$={}){return o0(this,_,q,$)}emit(_,...q){if(_==="error")this.#_=!0;return super.emit(_,...q)}[j2](){Z0.lstat(this.absolute,(_,q)=>{if(_)return this.emit("error",_);this[m6](q)})}[m6](_){if(this.statCache.set(this.absolute,_),this.stat=_,!_.isFile())_.size=0;this.type=p5(_),this.emit("stat",_),this[v3]()}[v3](){switch(this.type){case"File":return this[w3]();case"Directory":return this[L3]();case"SymbolicLink":return this[O2]();default:return this.end()}}[E6](_){return M2(_,this.type==="Directory",this.portable)}[G0](_){return M3(_,this.prefix)}[n_](){if(!this.stat)throw Error("cannot write header before stat");if(this.type==="Directory"&&this.portable)this.noMtime=!0;if(this.onWriteEntry?.(this),this.header=new p({path:this[G0](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[G0](this.linkpath):this.linkpath,mode:this[E6](this.stat.mode),uid:this.portable?void 0:this.stat.uid,gid:this.portable?void 0:this.stat.gid,size:this.stat.size,mtime:this.noMtime?void 0:this.mtime||this.stat.mtime,type:this.type==="Unsupported"?void 0:this.type,uname:this.portable?void 0:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?void 0:this.stat.atime,ctime:this.portable?void 0:this.stat.ctime}),this.header.encode()&&!this.noPax)super.write(new S0({atime:this.portable?void 0:this.header.atime,ctime:this.portable?void 0:this.header.ctime,gid:this.portable?void 0:this.header.gid,mtime:this.noMtime?void 0:this.mtime||this.header.mtime,path:this[G0](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[G0](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?void 0:this.header.uid,uname:this.portable?void 0:this.header.uname,dev:this.portable?void 0:this.stat.dev,ino:this.portable?void 0:this.stat.ino,nlink:this.portable?void 0:this.stat.nlink}).encode());let _=this.header?.block;if(!_)throw Error("failed to encode header");super.write(_)}[L3](){if(!this.stat)throw Error("cannot create directory entry without stat");if(this.path.slice(-1)!=="/")this.path+="/";this.stat.size=0,this[n_](),this.end()}[O2](){Z0.readlink(this.absolute,(_,q)=>{if(_)return this.emit("error",_);this[I2](q)})}[I2](_){this.linkpath=U(_),this[n_](),this.end()}[z3](_){if(!this.stat)throw Error("cannot create link entry without stat");this.type="Link",this.linkpath=U(W3.relative(this.cwd,_)),this.stat.size=0,this[n_](),this.end()}[w3](){if(!this.stat)throw Error("cannot create file entry without stat");if(this.stat.nlink>1){let _=`${this.stat.dev}:${this.stat.ino}`,q=this.linkCache.get(_);if(q?.indexOf(this.cwd)===0)return this[z3](q);this.linkCache.set(_,this.absolute)}if(this[n_](),this.stat.size===0)return this.end();this[A2]()}[A2](){Z0.open(this.absolute,"r",(_,q)=>{if(_)return this.emit("error",_);this[T2](q)})}[T2](_){if(this.fd=_,this.#_)return this[k0]();if(!this.stat)throw Error("should stat before calling onopenfile");this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let q=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(q),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[k6]()}[k6](){let{fd:_,buf:q,offset:$,length:Q,pos:x}=this;if(_===void 0||q===void 0)throw Error("cannot read file without first opening");Z0.read(_,q,$,Q,x,(X,V)=>{if(X)return this[k0](()=>this.emit("error",X));this[B2](V)})}[k0](_=()=>{}){if(this.fd!==void 0)Z0.close(this.fd,_)}[B2](_){if(_<=0&&this.remain>0){let Q=Object.assign(Error("encountered unexpected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[k0](()=>this.emit("error",Q))}if(_>this.remain){let Q=Object.assign(Error("did not encounter expected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[k0](()=>this.emit("error",Q))}if(!this.buf)throw Error("should have created buffer prior to reading");if(_===this.remain)for(let Q=_;Q<this.length&&_<this.blockRemain;Q++)this.buf[Q+this.offset]=0,_++,this.remain++;let q=this.offset===0&&_===this.buf.length?this.buf:this.buf.subarray(this.offset,this.offset+_);if(!this.write(q))this[F2](()=>this[C2]());else this[C2]()}[F2](_){this.once("drain",_)}write(_,q,$){if(typeof q==="function")$=q,q=void 0;if(typeof _==="string")_=Buffer.from(_,typeof q==="string"?q:"utf8");if(this.blockRemain<_.length){let Q=Object.assign(Error("writing more data than expected"),{path:this.absolute});return this.emit("error",Q)}return this.remain-=_.length,this.blockRemain-=_.length,this.pos+=_.length,this.offset+=_.length,super.write(_,null,$)}[C2](){if(!this.remain){if(this.blockRemain)super.write(Buffer.alloc(this.blockRemain));return this[k0]((_)=>_?this.emit("error",_):this.end())}if(!this.buf)throw Error("buffer lost somehow in ONDRAIN");if(this.offset>=this.length)this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0;this.length=this.buf.length-this.offset,this[k6]()}}class R2 extends b6{sync=!0;[j2](){this[m6](Z0.lstatSync(this.absolute))}[O2](){this[I2](Z0.readlinkSync(this.absolute))}[A2](){this[T2](Z0.openSync(this.absolute,"r"))}[k6](){let _=!0;try{let{fd:q,buf:$,offset:Q,length:x,pos:X}=this;if(q===void 0||$===void 0)throw Error("fd and buf must be set in READ method");let V=Z0.readSync(q,$,Q,x,X);this[B2](V),_=!1}finally{if(_)try{this[k0](()=>{})}catch(q){}}}[F2](_){_()}[k0](_=()=>{}){if(this.fd!==void 0)Z0.closeSync(this.fd);_()}}class D2 extends c{blockLen=0;blockRemain=0;buf=0;pos=0;remain=0;length=0;preservePaths;portable;strict;noPax;noMtime;readEntry;type;prefix;path;mode;uid;gid;uname;gname;header;mtime;atime;ctime;linkpath;size;onWriteEntry;warn(_,q,$={}){return o0(this,_,q,$)}constructor(_,q={}){let $=d_(q);super();this.preservePaths=!!$.preservePaths,this.portable=!!$.portable,this.strict=!!$.strict,this.noPax=!!$.noPax,this.noMtime=!!$.noMtime,this.onWriteEntry=$.onWriteEntry,this.readEntry=_;let{type:Q}=_;if(Q==="Unsupported")throw Error("writing entry that should be ignored");if(this.type=Q,this.type==="Directory"&&this.portable)this.noMtime=!0;if(this.prefix=$.prefix,this.path=U(_.path),this.mode=_.mode!==void 0?this[E6](_.mode):void 0,this.uid=this.portable?void 0:_.uid,this.gid=this.portable?void 0:_.gid,this.uname=this.portable?void 0:_.uname,this.gname=this.portable?void 0:_.gname,this.size=_.size,this.mtime=this.noMtime?void 0:$.mtime||_.mtime,this.atime=this.portable?void 0:_.atime,this.ctime=this.portable?void 0:_.ctime,this.linkpath=_.linkpath!==void 0?U(_.linkpath):void 0,typeof $.onwarn==="function")this.on("warn",$.onwarn);let x=!1;if(!this.preservePaths){let[V,J]=s_(this.path);if(V&&typeof J==="string")this.path=J,x=V}if(this.remain=_.size,this.blockRemain=_.startBlockSize,this.onWriteEntry?.(this),this.header=new p({path:this[G0](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[G0](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?void 0:this.uid,gid:this.portable?void 0:this.gid,size:this.size,mtime:this.noMtime?void 0:this.mtime,type:this.type,uname:this.portable?void 0:this.uname,atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime}),x)this.warn("TAR_ENTRY_INFO",`stripping ${x} from absolute path`,{entry:this,path:x+this.path});if(this.header.encode()&&!this.noPax)super.write(new S0({atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime,gid:this.portable?void 0:this.gid,mtime:this.noMtime?void 0:this.mtime,path:this[G0](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[G0](this.linkpath):this.linkpath,size:this.size,uid:this.portable?void 0:this.uid,uname:this.portable?void 0:this.uname,dev:this.portable?void 0:this.readEntry.dev,ino:this.portable?void 0:this.readEntry.ino,nlink:this.portable?void 0:this.readEntry.nlink}).encode());let X=this.header?.block;if(!X)throw Error("failed to encode header");super.write(X),_.pipe(this)}[G0](_){return M3(_,this.prefix)}[E6](_){return M2(_,this.type==="Directory",this.portable)}write(_,q,$){if(typeof q==="function")$=q,q=void 0;if(typeof _==="string")_=Buffer.from(_,typeof q==="string"?q:"utf8");let Q=_.length;if(Q>this.blockRemain)throw Error("writing more to entry than is appropriate");return this.blockRemain-=Q,super.write(_,$)}end(_,q,$){if(this.blockRemain)super.write(Buffer.alloc(this.blockRemain));if(typeof _==="function")$=_,q=void 0,_=void 0;if(typeof q==="function")$=q,q=void 0;if(typeof _==="string")_=Buffer.from(_,q??"utf8");if($)this.once("finish",$);return _?super.end(_,$):super.end($),this}}var p5=(_)=>_.isFile()?"File":_.isDirectory()?"Directory":_.isSymbolicLink()?"SymbolicLink":"Unsupported";class m0{tail;head;length=0;static create(_=[]){return new m0(_)}constructor(_=[]){for(let q of _)this.push(q)}*[Symbol.iterator](){for(let _=this.head;_;_=_.next)yield _.value}removeNode(_){if(_.list!==this)throw Error("removing node which does not belong to this list");let{next:q,prev:$}=_;if(q)q.prev=$;if($)$.next=q;if(_===this.head)this.head=q;if(_===this.tail)this.tail=$;return this.length--,_.next=void 0,_.prev=void 0,_.list=void 0,q}unshiftNode(_){if(_===this.head)return;if(_.list)_.list.removeNode(_);let q=this.head;if(_.list=this,_.next=q,q)q.prev=_;if(this.head=_,!this.tail)this.tail=_;this.length++}pushNode(_){if(_===this.tail)return;if(_.list)_.list.removeNode(_);let q=this.tail;if(_.list=this,_.prev=q,q)q.next=_;if(this.tail=_,!this.head)this.head=_;this.length++}push(..._){for(let q=0,$=_.length;q<$;q++)n5(this,_[q]);return this.length}unshift(..._){for(var q=0,$=_.length;q<$;q++)a5(this,_[q]);return this.length}pop(){if(!this.tail)return;let _=this.tail.value,q=this.tail;if(this.tail=this.tail.prev,this.tail)this.tail.next=void 0;else this.head=void 0;return q.list=void 0,this.length--,_}shift(){if(!this.head)return;let _=this.head.value,q=this.head;if(this.head=this.head.next,this.head)this.head.prev=void 0;else this.tail=void 0;return q.list=void 0,this.length--,_}forEach(_,q){q=q||this;for(let $=this.head,Q=0;$;Q++)_.call(q,$.value,Q,this),$=$.next}forEachReverse(_,q){q=q||this;for(let $=this.tail,Q=this.length-1;$;Q--)_.call(q,$.value,Q,this),$=$.prev}get(_){let q=0,$=this.head;for(;!!$&&q<_;q++)$=$.next;if(q===_&&!!$)return $.value}getReverse(_){let q=0,$=this.tail;for(;!!$&&q<_;q++)$=$.prev;if(q===_&&!!$)return $.value}map(_,q){q=q||this;let $=new m0;for(let Q=this.head;Q;)$.push(_.call(q,Q.value,this)),Q=Q.next;return $}mapReverse(_,q){q=q||this;var $=new m0;for(let Q=this.tail;Q;)$.push(_.call(q,Q.value,this)),Q=Q.prev;return $}reduce(_,q){let $,Q=this.head;if(arguments.length>1)$=q;else if(this.head)Q=this.head.next,$=this.head.value;else throw TypeError("Reduce of empty list with no initial value");for(var x=0;Q;x++)$=_($,Q.value,x),Q=Q.next;return $}reduceReverse(_,q){let $,Q=this.tail;if(arguments.length>1)$=q;else if(this.tail)Q=this.tail.prev,$=this.tail.value;else throw TypeError("Reduce of empty list with no initial value");for(let x=this.length-1;Q;x--)$=_($,Q.value,x),Q=Q.prev;return $}toArray(){let _=Array(this.length);for(let q=0,$=this.head;$;q++)_[q]=$.value,$=$.next;return _}toArrayReverse(){let _=Array(this.length);for(let q=0,$=this.tail;$;q++)_[q]=$.value,$=$.prev;return _}slice(_=0,q=this.length){if(q<0)q+=this.length;if(_<0)_+=this.length;let $=new m0;if(q<_||q<0)return $;if(_<0)_=0;if(q>this.length)q=this.length;let Q=this.head,x=0;for(x=0;!!Q&&x<_;x++)Q=Q.next;for(;!!Q&&x<q;x++,Q=Q.next)$.push(Q.value);return $}sliceReverse(_=0,q=this.length){if(q<0)q+=this.length;if(_<0)_+=this.length;let $=new m0;if(q<_||q<0)return $;if(_<0)_=0;if(q>this.length)q=this.length;let Q=this.length,x=this.tail;for(;!!x&&Q>q;Q--)x=x.prev;for(;!!x&&Q>_;Q--,x=x.prev)$.push(x.value);return $}splice(_,q=0,...$){if(_>this.length)_=this.length-1;if(_<0)_=this.length+_;let Q=this.head;for(let X=0;!!Q&&X<_;X++)Q=Q.next;let x=[];for(let X=0;!!Q&&X<q;X++)x.push(Q.value),Q=this.removeNode(Q);if(!Q)Q=this.tail;else if(Q!==this.tail)Q=Q.prev;for(let X of $)Q=s5(this,Q,X);return x}reverse(){let _=this.head,q=this.tail;for(let $=_;$;$=$.prev){let Q=$.prev;$.prev=$.next,$.next=Q}return this.head=q,this.tail=_,this}}function s5(_,q,$){let Q=q,x=q?q.next:_.head,X=new c6($,Q,x,_);if(X.next===void 0)_.tail=X;if(X.prev===void 0)_.head=X;return _.length++,X}function n5(_,q){if(_.tail=new c6(q,_.tail,void 0,_),!_.head)_.head=_.tail;_.length++}function a5(_,q){if(_.head=new c6(q,void 0,_.head,_),!_.tail)_.tail=_.head;_.length++}class c6{list;next;prev;value;constructor(_,q,$,Q){if(this.list=Q,this.value=_,q)q.next=this,this.prev=q;else this.prev=void 0;if($)$.prev=this,this.next=$;else this.next=void 0}}import O3 from"path";class u2{path;absolute;entry;stat;readdir;pending=!1;ignore=!1;piped=!1;constructor(_,q){this.path=_||"./",this.absolute=q}}var P3=Buffer.alloc(1024),d6=Symbol("onStat"),a_=Symbol("ended"),_0=Symbol("queue"),q_=Symbol("current"),$_=Symbol("process"),o_=Symbol("processing"),S2=Symbol("processJob"),q0=Symbol("jobs"),N2=Symbol("jobDone"),l6=Symbol("addFSEntry"),U3=Symbol("addTarEntry"),y2=Symbol("stat"),k2=Symbol("readdir"),f6=Symbol("onreaddir"),i6=Symbol("pipe"),C3=Symbol("entry"),h2=Symbol("entryOpt"),p6=Symbol("writeEntryClass"),j3=Symbol("write"),g2=Symbol("ondrain");class Q_ extends c{sync=!1;opt;cwd;maxReadSize;preservePaths;strict;noPax;prefix;linkCache;statCache;file;portable;zip;readdirCache;noDirRecurse;follow;noMtime;mtime;filter;jobs;[p6];onWriteEntry;[_0];[q0]=0;[o_]=!1;[a_]=!1;constructor(_={}){super();if(this.opt=_,this.file=_.file||"",this.cwd=_.cwd||process.cwd(),this.maxReadSize=_.maxReadSize,this.preservePaths=!!_.preservePaths,this.strict=!!_.strict,this.noPax=!!_.noPax,this.prefix=U(_.prefix||""),this.linkCache=_.linkCache||new Map,this.statCache=_.statCache||new Map,this.readdirCache=_.readdirCache||new Map,this.onWriteEntry=_.onWriteEntry,this[p6]=b6,typeof _.onwarn==="function")this.on("warn",_.onwarn);if(this.portable=!!_.portable,_.gzip||_.brotli||_.zstd){if((_.gzip?1:0)+(_.brotli?1:0)+(_.zstd?1:0)>1)throw TypeError("gzip, brotli, zstd are mutually exclusive");if(_.gzip){if(typeof _.gzip!=="object")_.gzip={};if(this.portable)_.gzip.portable=!0;this.zip=new q2(_.gzip)}if(_.brotli){if(typeof _.brotli!=="object")_.brotli={};this.zip=new x2(_.brotli)}if(_.zstd){if(typeof _.zstd!=="object")_.zstd={};this.zip=new J2(_.zstd)}if(!this.zip)throw Error("impossible");let q=this.zip;q.on("data",($)=>super.write($)),q.on("end",()=>super.end()),q.on("drain",()=>this[g2]()),this.on("resume",()=>q.resume())}else this.on("drain",this[g2]);if(this.noDirRecurse=!!_.noDirRecurse,this.follow=!!_.follow,this.noMtime=!!_.noMtime,_.mtime)this.mtime=_.mtime;this.filter=typeof _.filter==="function"?_.filter:()=>!0,this[_0]=new m0,this[q0]=0,this.jobs=Number(_.jobs)||4,this[o_]=!1,this[a_]=!1}[j3](_){return super.write(_)}add(_){return this.write(_),this}end(_,q,$){if(typeof _==="function")$=_,_=void 0;if(typeof q==="function")$=q,q=void 0;if(_)this.add(_);if(this[a_]=!0,this[$_](),$)$();return this}write(_){if(this[a_])throw Error("write after end");if(_ instanceof f_)this[U3](_);else this[l6](_);return this.flowing}[U3](_){let q=U(O3.resolve(this.cwd,_.path));if(!this.filter(_.path,_))_.resume();else{let $=new u2(_.path,q);$.entry=new D2(_,this[h2]($)),$.entry.on("end",()=>this[N2]($)),this[q0]+=1,this[_0].push($)}this[$_]()}[l6](_){let q=U(O3.resolve(this.cwd,_));this[_0].push(new u2(_,q)),this[$_]()}[y2](_){_.pending=!0,this[q0]+=1;let q=this.follow?"stat":"lstat";s6[q](_.absolute,($,Q)=>{if(_.pending=!1,this[q0]-=1,$)this.emit("error",$);else this[d6](_,Q)})}[d6](_,q){if(this.statCache.set(_.absolute,q),_.stat=q,!this.filter(_.path,q))_.ignore=!0;else if(q.isFile()&&q.nlink>1&&_===this[q_]&&!this.linkCache.get(`${q.dev}:${q.ino}`)&&!this.sync)this[S2](_);this[$_]()}[k2](_){_.pending=!0,this[q0]+=1,s6.readdir(_.absolute,(q,$)=>{if(_.pending=!1,this[q0]-=1,q)return this.emit("error",q);this[f6](_,$)})}[f6](_,q){this.readdirCache.set(_.absolute,q),_.readdir=q,this[$_]()}[$_](){if(this[o_])return;this[o_]=!0;for(let _=this[_0].head;!!_&&this[q0]<this.jobs;_=_.next)if(this[S2](_.value),_.value.ignore){let q=_.next;this[_0].removeNode(_),_.next=q}if(this[o_]=!1,this[a_]&&!this[_0].length&&this[q0]===0)if(this.zip)this.zip.end(P3);else super.write(P3),super.end()}get[q_](){return this[_0]&&this[_0].head&&this[_0].head.value}[N2](_){this[_0].shift(),this[q0]-=1,this[$_]()}[S2](_){if(_.pending)return;if(_.entry){if(_===this[q_]&&!_.piped)this[i6](_);return}if(!_.stat){let q=this.statCache.get(_.absolute);if(q)this[d6](_,q);else this[y2](_)}if(!_.stat)return;if(_.ignore)return;if(!this.noDirRecurse&&_.stat.isDirectory()&&!_.readdir){let q=this.readdirCache.get(_.absolute);if(q)this[f6](_,q);else this[k2](_);if(!_.readdir)return}if(_.entry=this[C3](_),!_.entry){_.ignore=!0;return}if(_===this[q_]&&!_.piped)this[i6](_)}[h2](_){return{onwarn:(q,$,Q)=>this.warn(q,$,Q),noPax:this.noPax,cwd:this.cwd,absolute:_.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix,onWriteEntry:this.onWriteEntry}}[C3](_){this[q0]+=1;try{return new this[p6](_.path,this[h2](_)).on("end",()=>this[N2](_)).on("error",($)=>this.emit("error",$))}catch(q){this.emit("error",q)}}[g2](){if(this[q_]&&this[q_].entry)this[q_].entry.resume()}[i6](_){if(_.piped=!0,_.readdir)_.readdir.forEach((Q)=>{let x=_.path,X=x==="./"?"":x.replace(/\/*$/,"/");this[l6](X+Q)});let q=_.entry,$=this.zip;if(!q)throw Error("cannot pipe without source");if($)q.on("data",(Q)=>{if(!$.write(Q))q.pause()});else q.on("data",(Q)=>{if(!super.write(Q))q.pause()})}pause(){if(this.zip)this.zip.pause();return super.pause()}warn(_,q,$={}){o0(this,_,q,$)}}class C_ extends Q_{sync=!0;constructor(_){super(_);this[p6]=R2}pause(){}resume(){}[y2](_){let q=this.follow?"statSync":"lstatSync";this[d6](_,s6[q](_.absolute))}[k2](_){this[f6](_,s6.readdirSync(_.absolute))}[i6](_){let q=_.entry,$=this.zip;if(_.readdir)_.readdir.forEach((Q)=>{let x=_.path,X=x==="./"?"":x.replace(/\/*$/,"/");this[l6](X+Q)});if(!q)throw Error("Cannot pipe without source");if($)q.on("data",(Q)=>{$.write(Q)});else q.on("data",(Q)=>{super[j3](Q)})}}var o5=(_,q)=>{let $=new C_(_),Q=new c_(_.file,{mode:_.mode||438});$.pipe(Q),I3($,q)},t5=(_,q)=>{let $=new Q_(_),Q=new F0(_.file,{mode:_.mode||438});$.pipe(Q);let x=new Promise((X,V)=>{Q.on("error",V),Q.on("close",X),$.on("error",V)});return A3($,q),x},I3=(_,q)=>{q.forEach(($)=>{if($.charAt(0)==="@")__({file:B3.resolve(_.cwd,$.slice(1)),sync:!0,noResume:!0,onReadEntry:(Q)=>_.add(Q)});else _.add($)}),_.end()},A3=async(_,q)=>{for(let $=0;$<q.length;$++){let Q=String(q[$]);if(Q.charAt(0)==="@")await __({file:B3.resolve(String(_.cwd),Q.slice(1)),noResume:!0,onReadEntry:(x)=>{_.add(x)}});else _.add(Q)}_.end()},r5=(_,q)=>{let $=new C_(_);return I3($,q),$},e5=(_,q)=>{let $=new Q_(_);return A3($,q),$},_7=J0(o5,t5,r5,e5,(_,q)=>{if(!q?.length)throw TypeError("no paths specified to add to archive")});import l3 from"node:fs";import z7 from"node:assert";import{randomBytes as d3}from"node:crypto";import C from"node:fs";import n from"node:path";import T3 from"fs";var q7=process.env.__FAKE_PLATFORM__||process.platform,$7=q7==="win32",{O_CREAT:Q7,O_TRUNC:x7,O_WRONLY:X7}=T3.constants,F3=Number(process.env.__FAKE_FS_O_FILENAME__)||T3.constants.UV_FS_O_FILEMAP||0,V7=$7&&!!F3,J7=524288,K7=F3|x7|Q7|X7,m2=!V7?()=>"w":(_)=>_<J7?K7:"w";import a6 from"node:fs";import t_ from"node:path";var E2=(_,q,$)=>{try{return a6.lchownSync(_,q,$)}catch(Q){if(Q?.code!=="ENOENT")throw Q}},n6=(_,q,$,Q)=>{a6.lchown(_,q,$,(x)=>{Q(x&&x?.code!=="ENOENT"?x:null)})},Z7=(_,q,$,Q,x)=>{if(q.isDirectory())b2(t_.resolve(_,q.name),$,Q,(X)=>{if(X)return x(X);let V=t_.resolve(_,q.name);n6(V,$,Q,x)});else{let X=t_.resolve(_,q.name);n6(X,$,Q,x)}},b2=(_,q,$,Q)=>{a6.readdir(_,{withFileTypes:!0},(x,X)=>{if(x){if(x.code==="ENOENT")return Q();else if(x.code!=="ENOTDIR"&&x.code!=="ENOTSUP")return Q(x)}if(x||!X.length)return n6(_,q,$,Q);let V=X.length,J=null,K=(G)=>{if(J)return;if(G)return Q(J=G);if(--V===0)return n6(_,q,$,Q)};for(let G of X)Z7(_,G,q,$,K)})},G7=(_,q,$,Q)=>{if(q.isDirectory())c2(t_.resolve(_,q.name),$,Q);E2(t_.resolve(_,q.name),$,Q)},c2=(_,q,$)=>{let Q;try{Q=a6.readdirSync(_,{withFileTypes:!0})}catch(x){let X=x;if(X?.code==="ENOENT")return;else if(X?.code==="ENOTDIR"||X?.code==="ENOTSUP")return E2(_,q,$);else throw X}for(let x of Q)G7(_,x,q,$);return E2(_,q,$)};import d from"node:fs";import Y7 from"node:fs/promises";import r6 from"node:path";class o6 extends Error{path;code;syscall="chdir";constructor(_,q){super(`${q}: Cannot cd into '${_}'`);this.path=_,this.code=q}get name(){return"CwdError"}}class t6 extends Error{path;symlink;syscall="symlink";code="TAR_SYMLINK_ERROR";constructor(_,q){super("TAR_SYMLINK_ERROR: Cannot extract through symbolic link");this.symlink=_,this.path=q}get name(){return"SymlinkError"}}var H7=(_,q)=>{d.stat(_,($,Q)=>{if($||!Q.isDirectory())$=new o6(_,$?.code||"ENOTDIR");q($)})},R3=(_,q,$)=>{_=U(_);let Q=q.umask??18,x=q.mode|448,X=(x&Q)!==0,V=q.uid,J=q.gid,K=typeof V==="number"&&typeof J==="number"&&(V!==q.processUid||J!==q.processGid),G=q.preserve,Z=q.unlink,Y=U(q.cwd),H=(z,M)=>{if(z)$(z);else if(M&&K)b2(M,V,J,(y)=>H(y));else if(X)d.chmod(_,x,$);else $()};if(_===Y)return H7(_,H);if(G)return Y7.mkdir(_,{mode:x,recursive:!0}).then((z)=>H(null,z??void 0),H);let L=U(r6.relative(Y,_)).split("/");d2(Y,L,x,Z,Y,void 0,H)},d2=(_,q,$,Q,x,X,V)=>{if(!q.length)return V(null,X);let J=q.shift(),K=U(r6.resolve(_+"/"+J));d.mkdir(K,$,D3(K,q,$,Q,x,X,V))},D3=(_,q,$,Q,x,X,V)=>(J)=>{if(J)d.lstat(_,(K,G)=>{if(K)K.path=K.path&&U(K.path),V(K);else if(G.isDirectory())d2(_,q,$,Q,x,X,V);else if(Q)d.unlink(_,(Z)=>{if(Z)return V(Z);d.mkdir(_,$,D3(_,q,$,Q,x,X,V))});else if(G.isSymbolicLink())return V(new t6(_,_+"/"+q.join("/")));else V(J)});else X=X||_,d2(_,q,$,Q,x,X,V)},W7=(_)=>{let q=!1,$=void 0;try{q=d.statSync(_).isDirectory()}catch(Q){$=Q?.code}finally{if(!q)throw new o6(_,$??"ENOTDIR")}},S3=(_,q)=>{_=U(_);let $=q.umask??18,Q=q.mode|448,x=(Q&$)!==0,X=q.uid,V=q.gid,J=typeof X==="number"&&typeof V==="number"&&(X!==q.processUid||V!==q.processGid),K=q.preserve,G=q.unlink,Z=U(q.cwd),Y=(z)=>{if(z&&J)c2(z,X,V);if(x)d.chmodSync(_,Q)};if(_===Z)return W7(Z),Y();if(K)return Y(d.mkdirSync(_,{mode:Q,recursive:!0})??void 0);let w=U(r6.relative(Z,_)).split("/"),L=void 0;for(let z=w.shift(),M=Z;z&&(M+="/"+z);z=w.shift()){M=U(r6.resolve(M));try{d.mkdirSync(M,Q),L=L||M}catch(y){let f=d.lstatSync(M);if(f.isDirectory())continue;else if(G){d.unlinkSync(M),d.mkdirSync(M,Q),L=L||M;continue}else if(f.isSymbolicLink())return new t6(M,M+"/"+w.join("/"))}}return Y(L)};import{join as h3}from"node:path";var l2=Object.create(null);var O_=new Set,N3=(_)=>{if(!O_.has(_))l2[_]=_.normalize("NFD").toLocaleLowerCase("en").toLocaleUpperCase("en");else O_.delete(_);O_.add(_);let q=l2[_],$=O_.size-1e4;if($>1000){for(let Q of O_)if(O_.delete(Q),delete l2[Q],--$<=0)break}return q};var v7=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,w7=v7==="win32",L7=(_)=>{return _.split("/").slice(0,-1).reduce(($,Q)=>{let x=$[$.length-1];if(x!==void 0)Q=h3(x,Q);return $.push(Q||"/"),$},[])};class f2{#_=new Map;#$=new Map;#Q=new Set;reserve(_,q){_=w7?["win32 parallelization disabled"]:_.map((Q)=>{return y0(h3(N3(Q)))});let $=new Set(_.map((Q)=>L7(Q)).reduce((Q,x)=>Q.concat(x)));this.#$.set(q,{dirs:$,paths:_});for(let Q of _){let x=this.#_.get(Q);if(!x)this.#_.set(Q,[q]);else x.push(q)}for(let Q of $){let x=this.#_.get(Q);if(!x)this.#_.set(Q,[new Set([q])]);else{let X=x[x.length-1];if(X instanceof Set)X.add(q);else x.push(new Set([q]))}}return this.#x(q)}#X(_){let q=this.#$.get(_);if(!q)throw Error("function does not have any path reservations");return{paths:q.paths.map(($)=>this.#_.get($)),dirs:[...q.dirs].map(($)=>this.#_.get($))}}check(_){let{paths:q,dirs:$}=this.#X(_);return q.every((Q)=>Q&&Q[0]===_)&&$.every((Q)=>Q&&Q[0]instanceof Set&&Q[0].has(_))}#x(_){if(this.#Q.has(_)||!this.check(_))return!1;return this.#Q.add(_),_(()=>this.#q(_)),!0}#q(_){if(!this.#Q.has(_))return!1;let q=this.#$.get(_);if(!q)throw Error("invalid reservation");let{paths:$,dirs:Q}=q,x=new Set;for(let X of $){let V=this.#_.get(X);if(!V||V?.[0]!==_)continue;let J=V[1];if(!J){this.#_.delete(X);continue}if(V.shift(),typeof J==="function")x.add(J);else for(let K of J)x.add(K)}for(let X of Q){let V=this.#_.get(X),J=V?.[0];if(!V||!(J instanceof Set))continue;if(J.size===1&&V.length===1){this.#_.delete(X);continue}else if(J.size===1){V.shift();let K=V[0];if(typeof K==="function")x.add(K)}else J.delete(_)}return this.#Q.delete(_),x.forEach((X)=>this.#x(X)),!0}}var g3=Symbol("onEntry"),n2=Symbol("checkFs"),u3=Symbol("checkFs2"),a2=Symbol("isReusable"),a=Symbol("makeFs"),o2=Symbol("file"),t2=Symbol("directory"),q1=Symbol("link"),y3=Symbol("symlink"),k3=Symbol("hardlink"),m3=Symbol("unsupported"),E3=Symbol("checkPath"),i2=Symbol("stripAbsolutePath"),E0=Symbol("mkdir"),u=Symbol("onError"),e6=Symbol("pending"),b3=Symbol("pend"),j_=Symbol("unpend"),p2=Symbol("ended"),s2=Symbol("maybeClose"),r2=Symbol("skip"),r_=Symbol("doChown"),e_=Symbol("uid"),_6=Symbol("gid"),q6=Symbol("checkedCwd"),M7=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,$6=M7==="win32",P7=1024,U7=(_,q)=>{if(!$6)return C.unlink(_,q);let $=_+".DELETE."+d3(16).toString("hex");C.rename(_,$,(Q)=>{if(Q)return q(Q);C.unlink($,q)})},C7=(_)=>{if(!$6)return C.unlinkSync(_);let q=_+".DELETE."+d3(16).toString("hex");C.renameSync(_,q),C.unlinkSync(q)},c3=(_,q,$)=>_!==void 0&&_===_>>>0?_:q!==void 0&&q===q>>>0?q:$;class Q6 extends u0{[p2]=!1;[q6]=!1;[e6]=0;reservations=new f2;transform;writable=!0;readable=!1;uid;gid;setOwner;preserveOwner;processGid;processUid;maxDepth;forceChown;win32;newer;keep;noMtime;preservePaths;unlink;cwd;strip;processUmask;umask;dmode;fmode;chmod;constructor(_={}){_.ondone=()=>{this[p2]=!0,this[s2]()};super(_);if(this.transform=_.transform,this.chmod=!!_.chmod,typeof _.uid==="number"||typeof _.gid==="number"){if(typeof _.uid!=="number"||typeof _.gid!=="number")throw TypeError("cannot set owner without number uid and gid");if(_.preserveOwner)throw TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=_.uid,this.gid=_.gid,this.setOwner=!0}else this.uid=void 0,this.gid=void 0,this.setOwner=!1;if(_.preserveOwner===void 0&&typeof _.uid!=="number")this.preserveOwner=!!(process.getuid&&process.getuid()===0);else this.preserveOwner=!!_.preserveOwner;this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():void 0,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():void 0,this.maxDepth=typeof _.maxDepth==="number"?_.maxDepth:P7,this.forceChown=_.forceChown===!0,this.win32=!!_.win32||$6,this.newer=!!_.newer,this.keep=!!_.keep,this.noMtime=!!_.noMtime,this.preservePaths=!!_.preservePaths,this.unlink=!!_.unlink,this.cwd=U(n.resolve(_.cwd||process.cwd())),this.strip=Number(_.strip)||0,this.processUmask=!this.chmod?0:typeof _.processUmask==="number"?_.processUmask:process.umask(),this.umask=typeof _.umask==="number"?_.umask:this.processUmask,this.dmode=_.dmode||511&~this.umask,this.fmode=_.fmode||438&~this.umask,this.on("entry",(q)=>this[g3](q))}warn(_,q,$={}){if(_==="TAR_BAD_ARCHIVE"||_==="TAR_ABORT")$.recoverable=!1;return super.warn(_,q,$)}[s2](){if(this[p2]&&this[e6]===0)this.emit("prefinish"),this.emit("finish"),this.emit("end")}[i2](_,q){let $=_[q];if(!$||this.preservePaths)return!0;let Q=$.split("/");if(Q.includes("..")||$6&&/^[a-z]:\.\.$/i.test(Q[0]??""))if(q==="path")return this.warn("TAR_ENTRY_ERROR",`${q} contains '..'`,{entry:_,[q]:$}),!1;else{let V=n.posix.dirname(_.path),J=n.posix.normalize(n.posix.join(V,$));if(J.startsWith("../")||J==="..")return this.warn("TAR_ENTRY_ERROR",`${q} escapes extraction directory`,{entry:_,[q]:$}),!1}let[x,X]=s_($);if(x)_[q]=String(X),this.warn("TAR_ENTRY_INFO",`stripping ${x} from absolute ${q}`,{entry:_,[q]:$});return!0}[E3](_){let q=U(_.path),$=q.split("/");if(this.strip){if($.length<this.strip)return!1;if(_.type==="Link"){let Q=U(String(_.linkpath)).split("/");if(Q.length>=this.strip)_.linkpath=Q.slice(this.strip).join("/");else return!1}$.splice(0,this.strip),_.path=$.join("/")}if(isFinite(this.maxDepth)&&$.length>this.maxDepth)return this.warn("TAR_ENTRY_ERROR","path excessively deep",{entry:_,path:q,depth:$.length,maxDepth:this.maxDepth}),!1;if(!this[i2](_,"path")||!this[i2](_,"linkpath"))return!1;if(n.isAbsolute(_.path))_.absolute=U(n.resolve(_.path));else _.absolute=U(n.resolve(this.cwd,_.path));if(!this.preservePaths&&typeof _.absolute==="string"&&_.absolute.indexOf(this.cwd+"/")!==0&&_.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:_,path:U(_.path),resolvedPath:_.absolute,cwd:this.cwd}),!1;if(_.absolute===this.cwd&&_.type!=="Directory"&&_.type!=="GNUDumpDir")return!1;if(this.win32){let{root:Q}=n.win32.parse(String(_.absolute));_.absolute=Q+U2(String(_.absolute).slice(Q.length));let{root:x}=n.win32.parse(_.path);_.path=x+U2(_.path.slice(x.length))}return!0}[g3](_){if(!this[E3](_))return _.resume();switch(z7.equal(typeof _.absolute,"string"),_.type){case"Directory":case"GNUDumpDir":if(_.mode)_.mode=_.mode|448;case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[n2](_);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[m3](_)}}[u](_,q){if(_.name==="CwdError")this.emit("error",_);else this.warn("TAR_ENTRY_ERROR",_,{entry:q}),this[j_](),q.resume()}[E0](_,q,$){R3(U(_),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:q},$)}[r_](_){return this.forceChown||this.preserveOwner&&(typeof _.uid==="number"&&_.uid!==this.processUid||typeof _.gid==="number"&&_.gid!==this.processGid)||typeof this.uid==="number"&&this.uid!==this.processUid||typeof this.gid==="number"&&this.gid!==this.processGid}[e_](_){return c3(this.uid,_.uid,this.processUid)}[_6](_){return c3(this.gid,_.gid,this.processGid)}[o2](_,q){let $=typeof _.mode==="number"?_.mode&4095:this.fmode,Q=new F0(String(_.absolute),{flags:m2(_.size),mode:$,autoClose:!1});Q.on("error",(J)=>{if(Q.fd)C.close(Q.fd,()=>{});Q.write=()=>!0,this[u](J,_),q()});let x=1,X=(J)=>{if(J){if(Q.fd)C.close(Q.fd,()=>{});this[u](J,_),q();return}if(--x===0){if(Q.fd!==void 0)C.close(Q.fd,(K)=>{if(K)this[u](K,_);else this[j_]();q()})}};Q.on("finish",()=>{let J=String(_.absolute),K=Q.fd;if(typeof K==="number"&&_.mtime&&!this.noMtime){x++;let G=_.atime||new Date,Z=_.mtime;C.futimes(K,G,Z,(Y)=>Y?C.utimes(J,G,Z,(H)=>X(H&&Y)):X())}if(typeof K==="number"&&this[r_](_)){x++;let G=this[e_](_),Z=this[_6](_);if(typeof G==="number"&&typeof Z==="number")C.fchown(K,G,Z,(Y)=>Y?C.chown(J,G,Z,(H)=>X(H&&Y)):X())}X()});let V=this.transform?this.transform(_)||_:_;if(V!==_)V.on("error",(J)=>{this[u](J,_),q()}),_.pipe(V);V.pipe(Q)}[t2](_,q){let $=typeof _.mode==="number"?_.mode&4095:this.dmode;this[E0](String(_.absolute),$,(Q)=>{if(Q){this[u](Q,_),q();return}let x=1,X=()=>{if(--x===0)q(),this[j_](),_.resume()};if(_.mtime&&!this.noMtime)x++,C.utimes(String(_.absolute),_.atime||new Date,_.mtime,X);if(this[r_](_))x++,C.chown(String(_.absolute),Number(this[e_](_)),Number(this[_6](_)),X);X()})}[m3](_){_.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${_.type}`,{entry:_}),_.resume()}[y3](_,q){this[q1](_,String(_.linkpath),"symlink",q)}[k3](_,q){let $=U(n.resolve(this.cwd,String(_.linkpath)));this[q1](_,$,"link",q)}[b3](){this[e6]++}[j_](){this[e6]--,this[s2]()}[r2](_){this[j_](),_.resume()}[a2](_,q){return _.type==="File"&&!this.unlink&&q.isFile()&&q.nlink<=1&&!$6}[n2](_){this[b3]();let q=[_.path];if(_.linkpath)q.push(_.linkpath);this.reservations.reserve(q,($)=>this[u3](_,$))}[u3](_,q){let $=(V)=>{q(V)},Q=()=>{this[E0](this.cwd,this.dmode,(V)=>{if(V){this[u](V,_),$();return}this[q6]=!0,x()})},x=()=>{if(_.absolute!==this.cwd){let V=U(n.dirname(String(_.absolute)));if(V!==this.cwd)return this[E0](V,this.dmode,(J)=>{if(J){this[u](J,_),$();return}X()})}X()},X=()=>{C.lstat(String(_.absolute),(V,J)=>{if(J&&(this.keep||this.newer&&J.mtime>(_.mtime??J.mtime))){this[r2](_),$();return}if(V||this[a2](_,J))return this[a](null,_,$);if(J.isDirectory()){if(_.type==="Directory"){let K=this.chmod&&_.mode&&(J.mode&4095)!==_.mode,G=(Z)=>this[a](Z??null,_,$);if(!K)return G();return C.chmod(String(_.absolute),Number(_.mode),G)}if(_.absolute!==this.cwd)return C.rmdir(String(_.absolute),(K)=>this[a](K??null,_,$))}if(_.absolute===this.cwd)return this[a](null,_,$);U7(String(_.absolute),(K)=>this[a](K??null,_,$))})};if(this[q6])x();else Q()}[a](_,q,$){if(_){this[u](_,q),$();return}switch(q.type){case"File":case"OldFile":case"ContiguousFile":return this[o2](q,$);case"Link":return this[k3](q,$);case"SymbolicLink":return this[y3](q,$);case"Directory":case"GNUDumpDir":return this[t2](q,$)}}[q1](_,q,$,Q){C[$](q,String(_.absolute),(x)=>{if(x)this[u](x,_);else this[j_](),_.resume();Q()})}}var _1=(_)=>{try{return[null,_()]}catch(q){return[q,null]}};class $1 extends Q6{sync=!0;[a](_,q){return super[a](_,q,()=>{})}[n2](_){if(!this[q6]){let x=this[E0](this.cwd,this.dmode);if(x)return this[u](x,_);this[q6]=!0}if(_.absolute!==this.cwd){let x=U(n.dirname(String(_.absolute)));if(x!==this.cwd){let X=this[E0](x,this.dmode);if(X)return this[u](X,_)}}let[q,$]=_1(()=>C.lstatSync(String(_.absolute)));if($&&(this.keep||this.newer&&$.mtime>(_.mtime??$.mtime)))return this[r2](_);if(q||this[a2](_,$))return this[a](null,_);if($.isDirectory()){if(_.type==="Directory"){let X=this.chmod&&_.mode&&($.mode&4095)!==_.mode,[V]=X?_1(()=>{C.chmodSync(String(_.absolute),Number(_.mode))}):[];return this[a](V,_)}let[x]=_1(()=>C.rmdirSync(String(_.absolute)));this[a](x,_)}let[Q]=_.absolute===this.cwd?[]:_1(()=>C7(String(_.absolute)));this[a](Q,_)}[o2](_,q){let $=typeof _.mode==="number"?_.mode&4095:this.fmode,Q=(V)=>{let J;try{C.closeSync(x)}catch(K){J=K}if(V||J)this[u](V||J,_);q()},x;try{x=C.openSync(String(_.absolute),m2(_.size),$)}catch(V){return Q(V)}let X=this.transform?this.transform(_)||_:_;if(X!==_)X.on("error",(V)=>this[u](V,_)),_.pipe(X);X.on("data",(V)=>{try{C.writeSync(x,V,0,V.length)}catch(J){Q(J)}}),X.on("end",()=>{let V=null;if(_.mtime&&!this.noMtime){let J=_.atime||new Date,K=_.mtime;try{C.futimesSync(x,J,K)}catch(G){try{C.utimesSync(String(_.absolute),J,K)}catch(Z){V=G}}}if(this[r_](_)){let J=this[e_](_),K=this[_6](_);try{C.fchownSync(x,Number(J),Number(K))}catch(G){try{C.chownSync(String(_.absolute),Number(J),Number(K))}catch(Z){V=V||G}}}Q(V)})}[t2](_,q){let $=typeof _.mode==="number"?_.mode&4095:this.dmode,Q=this[E0](String(_.absolute),$);if(Q){this[u](Q,_),q();return}if(_.mtime&&!this.noMtime)try{C.utimesSync(String(_.absolute),_.atime||new Date,_.mtime)}catch(x){}if(this[r_](_))try{C.chownSync(String(_.absolute),Number(this[e_](_)),Number(this[_6](_)))}catch(x){}q(),_.resume()}[E0](_,q){try{return S3(U(_),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:q})}catch($){return $}}[q1](_,q,$,Q){let x=`${$}Sync`;try{C[x](q,String(_.absolute)),Q(),_.resume()}catch(X){return this[u](X,_)}}}var O7=(_)=>{let q=new $1(_),$=_.file,Q=l3.statSync($),x=_.maxReadSize||16777216;new a1($,{readSize:x,size:Q.size}).pipe(q)},j7=(_,q)=>{let $=new Q6(_),Q=_.maxReadSize||16777216,x=_.file;return new Promise((V,J)=>{$.on("error",J),$.on("close",V),l3.stat(x,(K,G)=>{if(K)J(K);else{let Z=new z_(x,{readSize:Q,size:G.size});Z.on("error",J),Z.pipe($)}})})},x6=J0(O7,j7,(_)=>new $1(_),(_)=>new Q6(_),(_,q)=>{if(q?.length)z2(_,q)});import l from"node:fs";import f3 from"node:path";var B7=(_,q)=>{let $=new C_(_),Q=!0,x,X;try{try{x=l.openSync(_.file,"r+")}catch(K){if(K?.code==="ENOENT")x=l.openSync(_.file,"w+");else throw K}let V=l.fstatSync(x),J=Buffer.alloc(512);_:for(X=0;X<V.size;X+=512){for(let Z=0,Y=0;Z<512;Z+=Y){if(Y=l.readSync(x,J,Z,J.length-Z,X+Z),X===0&&J[0]===31&&J[1]===139)throw Error("cannot append to compressed archives");if(!Y)break _}let K=new p(J);if(!K.cksumValid)break;let G=512*Math.ceil((K.size||0)/512);if(X+G+512>V.size)break;if(X+=G,_.mtimeCache&&K.mtime)_.mtimeCache.set(String(K.path),K.mtime)}Q=!1,I7(_,$,X,x,q)}finally{if(Q)try{l.closeSync(x)}catch(V){}}},I7=(_,q,$,Q,x)=>{let X=new c_(_.file,{fd:Q,start:$});q.pipe(X),T7(q,x)},A7=(_,q)=>{q=Array.from(q);let $=new Q_(_),Q=(X,V,J)=>{let K=(w,L)=>{if(w)l.close(X,(z)=>J(w));else J(null,L)},G=0;if(V===0)return K(null,0);let Z=0,Y=Buffer.alloc(512),H=(w,L)=>{if(w||typeof L>"u")return K(w);if(Z+=L,Z<512&&L)return l.read(X,Y,Z,Y.length-Z,G+Z,H);if(G===0&&Y[0]===31&&Y[1]===139)return K(Error("cannot append to compressed archives"));if(Z<512)return K(null,G);let z=new p(Y);if(!z.cksumValid)return K(null,G);let M=512*Math.ceil((z.size??0)/512);if(G+M+512>V)return K(null,G);if(G+=M+512,G>=V)return K(null,G);if(_.mtimeCache&&z.mtime)_.mtimeCache.set(String(z.path),z.mtime);Z=0,l.read(X,Y,0,512,G,H)};l.read(X,Y,0,512,G,H)};return new Promise((X,V)=>{$.on("error",V);let J="r+",K=(G,Z)=>{if(G&&G.code==="ENOENT"&&J==="r+")return J="w+",l.open(_.file,J,K);if(G||!Z)return V(G);l.fstat(Z,(Y,H)=>{if(Y)return l.close(Z,()=>V(Y));Q(Z,H.size,(w,L)=>{if(w)return V(w);let z=new F0(_.file,{fd:Z,start:L});$.pipe(z),z.on("error",V),z.on("close",X),F7($,q)})})};l.open(_.file,J,K)})},T7=(_,q)=>{q.forEach(($)=>{if($.charAt(0)==="@")__({file:f3.resolve(_.cwd,$.slice(1)),sync:!0,noResume:!0,onReadEntry:(Q)=>_.add(Q)});else _.add($)}),_.end()},F7=async(_,q)=>{for(let $=0;$<q.length;$++){let Q=String(q[$]);if(Q.charAt(0)==="@")await __({file:f3.resolve(String(_.cwd),Q.slice(1)),noResume:!0,onReadEntry:(x)=>_.add(x)});else _.add(Q)}_.end()},x_=J0(B7,A7,()=>{throw TypeError("file is required")},()=>{throw TypeError("file is required")},(_,q)=>{if(!o9(_))throw TypeError("file is required");if(_.gzip||_.brotli||_.zstd||_.file.endsWith(".br")||_.file.endsWith(".tbr"))throw TypeError("cannot append to compressed archives");if(!q?.length)throw TypeError("no paths specified to add/replace")});var R7=J0(x_.syncFile,x_.asyncFile,x_.syncNoFile,x_.asyncNoFile,(_,q=[])=>{x_.validate?.(_,q),D7(_)}),D7=(_)=>{let q=_.filter;if(!_.mtimeCache)_.mtimeCache=new Map;_.filter=q?($,Q)=>q($,Q)&&!((_.mtimeCache?.get($)??Q.mtime??0)>(Q.mtime??0)):($,Q)=>!((_.mtimeCache?.get($)??Q.mtime??0)>(Q.mtime??0))};var B={reset:"\x1B[0m",bold:"\x1B[1m",dim:"\x1B[2m",italic:"\x1B[3m",underline:"\x1B[4m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"};import I_,{join as N7}from"path";var i3={name:"@abacus-ai/cli",description:"AbacusAI's powerful CLI AI assistant with agentic browsing, listening, and coding capabilities.",appName:"AbacusAI",binName:"abacusai",version:"1.106.21003",nodeVersion:"22.19.0",author:{name:"Abacus AI"},license:"Proprietary",main:"./dist/index.js",module:"./dist/index.js",source:"./src/index.ts",type:"module",homepage:"https://desktop.abacus.ai/",files:["dist"],bugs:{url:"mailto:support@abacus.ai"},bin:{abacusai:"./dist/index.js"},scripts:{"build.tsc":"tsc --noEmit --pretty","build.bun":"bun build ./src/index.ts --minify --target=node --outdir=dist",build:"run-p build.*","watch.tsc":"tsc --watch --noEmit --pretty","watch.bun":"bun build ./src/index.ts --sourcemap --target=node --outdir=dist --watch --external=extract-zip --external=node-downloader-helper --external=semver --external=tar",watch:"run-p watch.*",test:"tsc -p ./test/tsconfig.json && bun test"},devDependencies:{"@inquirer/prompts":"^7.9.0","@tsconfig/strictest":"^2.0.7","@types/color-name":"^2.0.0","@types/glob":"^9.0.0","@types/minimatch":"^6.0.0","@types/node":"^24.9.2","@types/bun":"^1.2.2","@types/semver":"^7.7.1","extract-zip":"^2.0.1","node-downloader-helper":"^2.1.9",semver:"^7.7.3",tar:"^7.5.2",typescript:"^6.0.0-dev.20251031","npm-run-all2":"^8.0.4"},overrides:{yauzl:"3.2.0"}};import{fileURLToPath as h7}from"url";import x1 from"os";import B_ from"fs/promises";import g7 from"fs";var X1=I_.dirname(h7(import.meta.url)),Q1=i3,e2=".abacusai-cli";async function V1(_){return I_.join(await s3(),`${_.binName}-${_.version}-${x1.platform()}-${x1.arch()}`)}async function s3(){let _=I_.join(X1,e2);if(await p3(_))return _;console.log(`Using home directory as ${_} is not writable.`);let q=I_.join(x1.homedir(),e2);if(await p3(q))return q;console.error(`No writable directory found under ${_} or ${q}. Using a temporary directory instead.`);let $=N7(x1.tmpdir(),e2);try{await B_.mkdir($,{recursive:!0})}catch{}return $}async function p3(_){let q=I_.join(_,`.writable-${process.pid}-${Date.now()}`);try{return await B_.mkdir(_,{recursive:!0}),await B_.writeFile(q,"true"),!0}catch($){return!1}finally{try{await B_.unlink(q)}catch{}}}async function n3(){try{let _=await a3(Q1);if(!g7.existsSync(_))return await u7(Q1,_),Q1;return await y7(_)}catch{return Q1}}async function u7(_,q){try{if(q===void 0)q=await a3(_);return await B_.writeFile(q,JSON.stringify(_,null,2)),q}catch($){return console.error(`Failed to write package data file ${q}: ${$ instanceof Error?$.message:String($)}`),null}}async function y7(_){return JSON.parse(await B_.readFile(_,"utf8"))}async function a3(_){return I_.join(await s3(),`${_.binName}-package.json`)}var Z4=L6(f8(),1),G4=L6(g1(),1),Y4=L6(K4(),1);import O9 from"fs";import G6 from"fs/promises";import K_ from"os";import j9 from"path";function c$(_){let q=process.versions.node;if(Y4.default(q,_))return!1;return!0}function d$(_){let q=K_.platform(),$=K_.arch(),x={x64:"x64",arm64:"arm64",ia32:"x86"}[$]||$;if(q==="win32")return`https://nodejs.org/dist/v${_}/node-v${_}-win-${x}.${$==="x64"||$==="ia32"?"zip":"7z"}`;else if(q==="darwin")return`https://nodejs.org/dist/v${_}/node-v${_}-darwin-${x}.tar.gz`;else return`https://nodejs.org/dist/v${_}/node-v${_}-linux-${x}.tar.gz`}function l$(_){let q=K_.platform(),$=K_.arch(),x={x64:"x64",arm64:"arm64",ia32:"x86"}[$]||$;if(q==="win32")return`node-v${_}-win-${x}.${$==="x64"||$==="ia32"?"zip":"7z"}`;else if(q==="darwin")return`node-v${_}-darwin-${x}.tar.gz`;else return`node-v${_}-linux-${x}.tar.gz`}async function D1(_,q,$=!1){try{if(!$){if(c$(q))return process.execPath}let Q=K_.platform()==="win32"?"node.exe":"node",x=j9.join(_,Q);if(O9.existsSync(x))return x;let X=j9.join(K_.homedir(),`node-${q}`),V=j9.join(X,"bin",Q);if(O9.existsSync(V))return await G6.copyFile(V,x),x;console.log(`${B.dim}Downloading Node.js ${q}...${B.reset}`);let J=d$(q),K=l$(q),G=new G4.DownloaderHelper(J,K_.tmpdir(),{fileName:K});G.on("error",async(Y)=>{console.error(`${B.red}Failed to download Node.js from ${J}: ${Y}${B.reset}`),await G.stop()}),await G.start();let Z=G.getDownloadPath();if(!O9.existsSync(X))await G6.mkdir(X);if(console.log(`${B.dim}Extracting Node.js ${q} to ${X}...${B.reset}`),K.endsWith(".tar.gz"))await i$(Z,X);else await f$(Z,X);return await G6.copyFile(V,x),x}catch(Q){return console.error(`${B.red}Failed to download Node.js: ${Q instanceof Error?Q.message:String(Q)}
|
|
9
|
-
Please download and install Node.js ${q} from https://nodejs.org/`),process.execPath}}async function
|
|
10
|
-
`)[0];if(X&&N1.existsSync(X))return X}catch{continue}return null}async function KQ({name:_,version:q}){try{let $=j0.env.npm_package_json,Q=j0.env.npm_config_user_agent;if(Boolean(Q?.startsWith("npm"))||Boolean($?.endsWith("package.json")))return{command:"npm",args:["install","-g",`${_}@${q}`]};if(Boolean(Q?.startsWith("yarn")))return{command:"yarn",args:["global","add",`${_}@${q}`]};if(Boolean(Q?.startsWith("pnpm")))return{command:"pnpm",args:["install","-g",`${_}@${q}`]};if(Boolean(Q?.startsWith("bun")))return{command:"bun",args:["install","-g",`${_}@${q}`]}}catch($){}return{command:"npm",args:["install","-g",`${_}@${q}`]}}var F9=ZQ.platform();async function
|
|
4
|
+
`+X),_.push(x+"m+"+Y1.exports.humanize(this.diff)+"\x1B[0m")}else _[0]=Wq()+q+" "+_[0]}function Wq(){if(X8.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function vq(..._){return process.stderr.write(G1.formatWithOptions(X8.inspectOpts,..._)+`
|
|
5
|
+
`)}function wq(_){if(_)process.env.DEBUG=_;else delete process.env.DEBUG}function Lq(){return process.env.DEBUG}function zq(_){_.inspectOpts={};let q=Object.keys(X8.inspectOpts);for(let $=0;$<q.length;$++)_.inspectOpts[q[$]]=X8.inspectOpts[q[$]]}Y1.exports=e2()(X8);var{formatters:x8}=Y1.exports;x8.o=function(_){return this.inspectOpts.colors=this.useColors,G1.inspect(_,this.inspectOpts).split(`
|
|
6
|
+
`).map((q)=>q.trim()).join(" ")};x8.O=function(_){return this.inspectOpts.colors=this.useColors,G1.inspect(_,this.inspectOpts)}});var K8=A((JV,$9)=>{if(typeof process>"u"||process.type==="renderer"||!1||process.__nwjs)$9.exports=_8();else $9.exports=J8()});var Y8=A((KV,G8)=>{G8.exports=Z8;function Z8(_,q){if(_&&q)return Z8(_)(q);if(typeof _!=="function")throw TypeError("need wrapper function");return Object.keys(_).forEach(function(Q){$[Q]=_[Q]}),$;function $(){var Q=Array(arguments.length);for(var x=0;x<Q.length;x++)Q[x]=arguments[x];var X=_.apply(this,Q),V=Q[Q.length-1];if(typeof X==="function"&&X!==V)Object.keys(V).forEach(function(J){X[J]=V[J]});return X}}});var x9=A((ZV,Q9)=>{var H8=Y8();Q9.exports=H8(H1);Q9.exports.strict=H8(W8);H1.proto=H1(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return H1(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return W8(this)},configurable:!0})});function H1(_){var q=function(){if(q.called)return q.value;return q.called=!0,q.value=_.apply(this,arguments)};return q.called=!1,q}function W8(_){var q=function(){if(q.called)throw Error(q.onceError);return q.called=!0,q.value=_.apply(this,arguments)},$=_.name||"Function wrapped with `once`";return q.onceError=$+" shouldn't be called more than once",q.called=!1,q}});var L8=A((GV,w8)=>{var Iq=x9(),Aq=function(){},Tq=global.Bare?queueMicrotask:process.nextTick.bind(process),Fq=function(_){return _.setHeader&&typeof _.abort==="function"},Rq=function(_){return _.stdio&&Array.isArray(_.stdio)&&_.stdio.length===3},v8=function(_,q,$){if(typeof q==="function")return v8(_,null,q);if(!q)q={};$=Iq($||Aq);var{_writableState:Q,_readableState:x}=_,X=q.readable||q.readable!==!1&&_.readable,V=q.writable||q.writable!==!1&&_.writable,J=!1,K=function(){if(!_.writable)G()},G=function(){if(V=!1,!X)$.call(_)},Z=function(){if(X=!1,!V)$.call(_)},Y=function(M){$.call(_,M?Error("exited with error code: "+M):null)},H=function(M){$.call(_,M)},w=function(){Tq(L)},L=function(){if(J)return;if(X&&!(x&&(x.ended&&!x.destroyed)))return $.call(_,Error("premature close"));if(V&&!(Q&&(Q.ended&&!Q.destroyed)))return $.call(_,Error("premature close"))},z=function(){_.req.on("finish",G)};if(Fq(_))if(_.on("complete",G),_.on("abort",w),_.req)z();else _.on("request",z);else if(V&&!Q)_.on("end",K),_.on("close",K);if(Rq(_))_.on("exit",Y);if(_.on("end",Z),_.on("finish",G),q.error!==!1)_.on("error",H);return _.on("close",w),function(){if(J=!0,_.removeListener("complete",G),_.removeListener("abort",w),_.removeListener("request",z),_.req)_.req.removeListener("finish",G);_.removeListener("end",K),_.removeListener("close",K),_.removeListener("finish",G),_.removeListener("exit",Y),_.removeListener("end",Z),_.removeListener("error",H),_.removeListener("close",w)}};w8.exports=v8});var P8=A((YV,M8)=>{var Dq=x9(),Sq=L8(),W1;try{W1=j("fs")}catch(_){}var V6=function(){},Nq=typeof process>"u"?!1:/^v?\.0/.test(process.version),v1=function(_){return typeof _==="function"},hq=function(_){if(!Nq)return!1;if(!W1)return!1;return(_ instanceof(W1.ReadStream||V6)||_ instanceof(W1.WriteStream||V6))&&v1(_.close)},gq=function(_){return _.setHeader&&v1(_.abort)},uq=function(_,q,$,Q){Q=Dq(Q);var x=!1;_.on("close",function(){x=!0}),Sq(_,{readable:q,writable:$},function(V){if(V)return Q(V);x=!0,Q()});var X=!1;return function(V){if(x)return;if(X)return;if(X=!0,hq(_))return _.close(V6);if(gq(_))return _.abort();if(v1(_.destroy))return _.destroy();Q(V||Error("stream was destroyed"))}},z8=function(_){_()},yq=function(_,q){return _.pipe(q)},kq=function(){var _=Array.prototype.slice.call(arguments),q=v1(_[_.length-1]||V6)&&_.pop()||V6;if(Array.isArray(_[0]))_=_[0];if(_.length<2)throw Error("pump requires two streams per minimum");var $,Q=_.map(function(x,X){var V=X<_.length-1,J=X>0;return uq(x,V,J,function(K){if(!$)$=K;if(K)Q.forEach(z8);if(V)return;Q.forEach(z8),q($)})});return _.reduce(yq)};M8.exports=kq});var O8=A((HV,U8)=>{var{PassThrough:mq}=j("stream");U8.exports=(_)=>{_={..._};let{array:q}=_,{encoding:$}=_,Q=$==="buffer",x=!1;if(q)x=!($||Q);else $=$||"utf8";if(Q)$=null;let X=new mq({objectMode:x});if($)X.setEncoding($);let V=0,J=[];return X.on("data",(K)=>{if(J.push(K),x)V=J.length;else V+=K.length}),X.getBufferedValue=()=>{if(q)return J;return Q?Buffer.concat(J,V):J.join("")},X.getBufferedLength=()=>V,X}});var C8=A((WV,R_)=>{var{constants:Eq}=j("buffer"),bq=P8(),cq=O8();class X9 extends Error{constructor(){super("maxBuffer exceeded");this.name="MaxBufferError"}}async function w1(_,q){if(!_)return Promise.reject(Error("Expected a stream"));q={maxBuffer:1/0,...q};let{maxBuffer:$}=q,Q;return await new Promise((x,X)=>{let V=(J)=>{if(J&&Q.getBufferedLength()<=Eq.MAX_LENGTH)J.bufferedData=Q.getBufferedValue();X(J)};Q=bq(_,cq(q),(J)=>{if(J){V(J);return}x()}),Q.on("data",()=>{if(Q.getBufferedLength()>$)V(new X9)})}),Q.getBufferedValue()}R_.exports=w1;R_.exports.default=w1;R_.exports.buffer=(_,q)=>w1(_,{...q,encoding:"buffer"});R_.exports.array=(_,q)=>w1(_,{...q,array:!0});R_.exports.MaxBufferError=X9});var A8=A((vV,I8)=>{I8.exports=L1;function L1(){this.pending=0,this.max=1/0,this.listeners=[],this.waiting=[],this.error=null}L1.prototype.go=function(_){if(this.pending<this.max)B8(this,_);else this.waiting.push(_)};L1.prototype.wait=function(_){if(this.pending===0)_(this.error);else this.listeners.push(_)};L1.prototype.hold=function(){return j8(this)};function j8(_){_.pending+=1;var q=!1;return $;function $(x){if(q)throw Error("callback called twice");if(q=!0,_.error=_.error||x,_.pending-=1,_.waiting.length>0&&_.pending<_.max)B8(_,_.waiting.shift());else if(_.pending===0){var X=_.listeners;_.listeners=[],X.forEach(Q)}}function Q(x){x(_.error)}}function B8(_,q){q(j8(_))}});var F8=A((pq)=>{var J6=j("fs"),z1=j("util"),V9=j("stream"),T8=V9.Readable,J9=V9.Writable,dq=V9.PassThrough,lq=A8(),M1=j("events").EventEmitter;pq.createFromBuffer=fq;pq.createFromFd=iq;pq.BufferSlicer=O0;pq.FdSlicer=U0;z1.inherits(U0,M1);function U0(_,q){q=q||{},M1.call(this),this.fd=_,this.pend=new lq,this.pend.max=1,this.refCount=0,this.autoClose=!!q.autoClose}U0.prototype.read=function(_,q,$,Q,x){var X=this;X.pend.go(function(V){J6.read(X.fd,_,q,$,Q,function(J,K,G){V(),x(J,K,G)})})};U0.prototype.write=function(_,q,$,Q,x){var X=this;X.pend.go(function(V){J6.write(X.fd,_,q,$,Q,function(J,K,G){V(),x(J,K,G)})})};U0.prototype.createReadStream=function(_){return new P1(this,_)};U0.prototype.createWriteStream=function(_){return new U1(this,_)};U0.prototype.ref=function(){this.refCount+=1};U0.prototype.unref=function(){var _=this;if(_.refCount-=1,_.refCount>0)return;if(_.refCount<0)throw Error("invalid unref");if(_.autoClose)J6.close(_.fd,q);function q($){if($)_.emit("error",$);else _.emit("close")}};z1.inherits(P1,T8);function P1(_,q){q=q||{},T8.call(this,q),this.context=_,this.context.ref(),this.start=q.start||0,this.endOffset=q.end,this.pos=this.start,this.destroyed=!1}P1.prototype._read=function(_){var q=this;if(q.destroyed)return;var $=Math.min(q._readableState.highWaterMark,_);if(q.endOffset!=null)$=Math.min($,q.endOffset-q.pos);if($<=0){q.destroyed=!0,q.push(null),q.context.unref();return}q.context.pend.go(function(Q){if(q.destroyed)return Q();var x=Buffer.allocUnsafe($);J6.read(q.context.fd,x,0,$,q.pos,function(X,V){if(X)q.destroy(X);else if(V===0)q.destroyed=!0,q.push(null),q.context.unref();else q.pos+=V,q.push(x.slice(0,V));Q()})})};P1.prototype.destroy=function(_){if(this.destroyed)return;_=_||Error("stream destroyed"),this.destroyed=!0,this.emit("error",_),this.context.unref()};z1.inherits(U1,J9);function U1(_,q){q=q||{},J9.call(this,q),this.context=_,this.context.ref(),this.start=q.start||0,this.endOffset=q.end==null?1/0:+q.end,this.bytesWritten=0,this.pos=this.start,this.destroyed=!1,this.on("finish",this.destroy.bind(this))}U1.prototype._write=function(_,q,$){var Q=this;if(Q.destroyed)return;if(Q.pos+_.length>Q.endOffset){var x=Error("maximum file length exceeded");x.code="ETOOBIG",Q.destroy(),$(x);return}Q.context.pend.go(function(X){if(Q.destroyed)return X();J6.write(Q.context.fd,_,0,_.length,Q.pos,function(V,J){if(V)Q.destroy(),X(),$(V);else Q.bytesWritten+=J,Q.pos+=J,Q.emit("progress"),X(),$()})})};U1.prototype.destroy=function(){if(this.destroyed)return;this.destroyed=!0,this.context.unref()};z1.inherits(O0,M1);function O0(_,q){M1.call(this),q=q||{},this.refCount=0,this.buffer=_,this.maxChunkSize=q.maxChunkSize||Number.MAX_SAFE_INTEGER}O0.prototype.read=function(_,q,$,Q,x){if(!(0<=q&&q<=_.length))throw RangeError("offset outside buffer: 0 <= "+q+" <= "+_.length);if(Q<0)throw RangeError("position is negative: "+Q);if(q+$>_.length)$=_.length-q;if(Q+$>this.buffer.length)$=this.buffer.length-Q;if($<=0){setImmediate(function(){x(null,0)});return}this.buffer.copy(_,q,Q,Q+$),setImmediate(function(){x(null,$)})};O0.prototype.write=function(_,q,$,Q,x){_.copy(this.buffer,Q,q,q+$),setImmediate(function(){x(null,$,_)})};O0.prototype.createReadStream=function(_){_=_||{};var q=new dq(_);q.destroyed=!1,q.start=_.start||0,q.endOffset=_.end,q.pos=q.endOffset||this.buffer.length;var $=this.buffer.slice(q.start,q.pos),Q=0;while(!0){var x=Q+this.maxChunkSize;if(x>=$.length){if(Q<$.length)q.write($.slice(Q,$.length));break}q.write($.slice(Q,x)),Q=x}return q.end(),q.destroy=function(){q.destroyed=!0},q};O0.prototype.createWriteStream=function(_){var q=this;_=_||{};var $=new J9(_);return $.start=_.start||0,$.endOffset=_.end==null?this.buffer.length:+_.end,$.bytesWritten=0,$.pos=$.start,$.destroyed=!1,$._write=function(Q,x,X){if($.destroyed)return;var V=$.pos+Q.length;if(V>$.endOffset){var J=Error("maximum file length exceeded");J.code="ETOOBIG",$.destroyed=!0,X(J);return}Q.copy(q.buffer,$.pos,0,Q.length),$.bytesWritten+=Q.length,$.pos=V,$.emit("progress"),X()},$.destroy=function(){$.destroyed=!0},$};O0.prototype.ref=function(){this.refCount+=1};O0.prototype.unref=function(){if(this.refCount-=1,this.refCount<0)throw Error("invalid unref")};function fq(_,q){return new O0(_,q)}function iq(_,q){return new U0(_,q)}});var S8=A((LV,D8)=>{var b0=j("buffer").Buffer,K9=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918000,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];if(typeof Int32Array<"u")K9=new Int32Array(K9);function R8(_){if(b0.isBuffer(_))return _;var q=typeof b0.alloc==="function"&&typeof b0.from==="function";if(typeof _==="number")return q?b0.alloc(_):new b0(_);else if(typeof _==="string")return q?b0.from(_):new b0(_);else throw Error("input must be buffer, number, or string, received "+typeof _)}function tq(_){var q=R8(4);return q.writeInt32BE(_,0),q}function Z9(_,q){if(_=R8(_),b0.isBuffer(q))q=q.readUInt32BE(0);var $=~~q^-1;for(var Q=0;Q<_.length;Q++)$=K9[($^_[Q])&255]^$>>>8;return $^-1}function G9(){return tq(Z9.apply(null,arguments))}G9.signed=function(){return Z9.apply(null,arguments)};G9.unsigned=function(){return Z9.apply(null,arguments)>>>0};D8.exports=G9});var c8=A((x$)=>{var Y9=j("fs"),rq=j("zlib"),N8=F8(),eq=S8(),j1=j("util"),B1=j("events").EventEmitter,h8=j("stream").Transform,W9=j("stream").PassThrough,_$=j("stream").Writable;x$.open=q$;x$.fromFd=g8;x$.fromBuffer=$$;x$.fromRandomAccessReader=v9;x$.dosDateTimeToDate=k8;x$.getFileNameLowLevel=m8;x$.validateFileName=E8;x$.parseExtraFields=b8;x$.ZipFile=H0;x$.Entry=K6;x$.LocalFileHeader=y8;x$.RandomAccessReader=c0;function q$(_,q,$){if(typeof q==="function")$=q,q=null;if(q==null)q={};if(q.autoClose==null)q.autoClose=!0;if(q.lazyEntries==null)q.lazyEntries=!1;if(q.decodeStrings==null)q.decodeStrings=!0;if(q.validateEntrySizes==null)q.validateEntrySizes=!0;if(q.strictFileNames==null)q.strictFileNames=!1;if($==null)$=C1;Y9.open(_,"r",function(Q,x){if(Q)return $(Q);g8(x,q,function(X,V){if(X)Y9.close(x,C1);$(X,V)})})}function g8(_,q,$){if(typeof q==="function")$=q,q=null;if(q==null)q={};if(q.autoClose==null)q.autoClose=!1;if(q.lazyEntries==null)q.lazyEntries=!1;if(q.decodeStrings==null)q.decodeStrings=!0;if(q.validateEntrySizes==null)q.validateEntrySizes=!0;if(q.strictFileNames==null)q.strictFileNames=!1;if($==null)$=C1;Y9.fstat(_,function(Q,x){if(Q)return $(Q);var X=N8.createFromFd(_,{autoClose:!0});v9(X,x.size,q,$)})}function $$(_,q,$){if(typeof q==="function")$=q,q=null;if(q==null)q={};if(q.autoClose=!1,q.lazyEntries==null)q.lazyEntries=!1;if(q.decodeStrings==null)q.decodeStrings=!0;if(q.validateEntrySizes==null)q.validateEntrySizes=!0;if(q.strictFileNames==null)q.strictFileNames=!1;var Q=N8.createFromBuffer(_,{maxChunkSize:65536});v9(Q,_.length,q,$)}function v9(_,q,$,Q){if(typeof $==="function")Q=$,$=null;if($==null)$={};if($.autoClose==null)$.autoClose=!0;if($.lazyEntries==null)$.lazyEntries=!1;if($.decodeStrings==null)$.decodeStrings=!0;var x=!!$.decodeStrings;if($.validateEntrySizes==null)$.validateEntrySizes=!0;if($.strictFileNames==null)$.strictFileNames=!1;if(Q==null)Q=C1;if(typeof q!=="number")throw Error("expected totalSize parameter to be a number");if(q>Number.MAX_SAFE_INTEGER)throw Error("zip file too large. only file sizes up to 2^52 are supported due to JavaScript's Number type being an IEEE 754 double.");_.ref();var X=22,V=20,J=65535,K=Math.min(V+X+J,q),G=C0(K),Z=q-G.length;S_(_,G,0,K,Z,function(Y){if(Y)return Q(Y);for(var H=K-X;H>=0;H-=1){if(G.readUInt32LE(H)!==101010256)continue;var w=G.subarray(H),L=w.readUInt16LE(4),z=w.readUInt16LE(10),M=w.readUInt32LE(16),y=w.readUInt16LE(20),f=w.length-X;if(y!==f)return Q(Error("Invalid comment length. Expected: "+f+". Found: "+y+". Are there extra bytes at the end of the file? Or is the end of central dir signature `PK☺☻` in the comment?"));var v6=x?O1(w.subarray(22),!1):w.subarray(22);if(H-V>=0&&G.readUInt32LE(H-V)===117853008){var Z_=G.subarray(H-V,H-V+V),R9=D_(Z_,8),x0=C0(56);return S_(_,x0,0,x0.length,R9,function(w6){if(w6)return Q(w6);if(x0.readUInt32LE(0)!==101075792)return Q(Error("invalid zip64 end of central directory record signature"));if(L=x0.readUInt32LE(16),L!==0)return Q(Error("multi-disk zip files are not supported: found disk number: "+L));return z=D_(x0,32),M=D_(x0,48),Q(null,new H0(_,M,q,z,v6,$.autoClose,$.lazyEntries,x,$.validateEntrySizes,$.strictFileNames))})}if(L!==0)return Q(Error("multi-disk zip files are not supported: found disk number: "+L));return Q(null,new H0(_,M,q,z,v6,$.autoClose,$.lazyEntries,x,$.validateEntrySizes,$.strictFileNames))}Q(Error("End of central directory record signature not found. Either not a zip file, or file is truncated."))})}j1.inherits(H0,B1);function H0(_,q,$,Q,x,X,V,J,K,G){var Z=this;if(B1.call(Z),Z.reader=_,Z.reader.on("error",function(Y){u8(Z,Y)}),Z.reader.once("close",function(){Z.emit("close")}),Z.readEntryCursor=q,Z.fileSize=$,Z.entryCount=Q,Z.comment=x,Z.entriesRead=0,Z.autoClose=!!X,Z.lazyEntries=!!V,Z.decodeStrings=!!J,Z.validateEntrySizes=!!K,Z.strictFileNames=!!G,Z.isOpen=!0,Z.emittedError=!1,!Z.lazyEntries)Z._readEntry()}H0.prototype.close=function(){if(!this.isOpen)return;this.isOpen=!1,this.reader.unref()};function Y0(_,q){if(_.autoClose)_.close();u8(_,q)}function u8(_,q){if(_.emittedError)return;_.emittedError=!0,_.emit("error",q)}H0.prototype.readEntry=function(){if(!this.lazyEntries)throw Error("readEntry() called without lazyEntries:true");this._readEntry()};H0.prototype._readEntry=function(){var _=this;if(_.entryCount===_.entriesRead){setImmediate(function(){if(_.autoClose)_.close();if(_.emittedError)return;_.emit("end")});return}if(_.emittedError)return;var q=C0(46);S_(_.reader,q,0,q.length,_.readEntryCursor,function($){if($)return Y0(_,$);if(_.emittedError)return;var Q=new K6,x=q.readUInt32LE(0);if(x!==33639248)return Y0(_,Error("invalid central directory file header signature: 0x"+x.toString(16)));if(Q.versionMadeBy=q.readUInt16LE(4),Q.versionNeededToExtract=q.readUInt16LE(6),Q.generalPurposeBitFlag=q.readUInt16LE(8),Q.compressionMethod=q.readUInt16LE(10),Q.lastModFileTime=q.readUInt16LE(12),Q.lastModFileDate=q.readUInt16LE(14),Q.crc32=q.readUInt32LE(16),Q.compressedSize=q.readUInt32LE(20),Q.uncompressedSize=q.readUInt32LE(24),Q.fileNameLength=q.readUInt16LE(28),Q.extraFieldLength=q.readUInt16LE(30),Q.fileCommentLength=q.readUInt16LE(32),Q.internalFileAttributes=q.readUInt16LE(36),Q.externalFileAttributes=q.readUInt32LE(38),Q.relativeOffsetOfLocalHeader=q.readUInt32LE(42),Q.generalPurposeBitFlag&64)return Y0(_,Error("strong encryption is not supported"));_.readEntryCursor+=46,q=C0(Q.fileNameLength+Q.extraFieldLength+Q.fileCommentLength),S_(_.reader,q,0,q.length,_.readEntryCursor,function(X){if(X)return Y0(_,X);if(_.emittedError)return;Q.fileNameRaw=q.subarray(0,Q.fileNameLength);var V=Q.fileNameLength+Q.extraFieldLength;Q.extraFieldRaw=q.subarray(Q.fileNameLength,V),Q.fileCommentRaw=q.subarray(V,V+Q.fileCommentLength);try{Q.extraFields=b8(Q.extraFieldRaw)}catch(z){return Y0(_,z)}if(_.decodeStrings){var J=(Q.generalPurposeBitFlag&2048)!==0;Q.fileComment=O1(Q.fileCommentRaw,J),Q.fileName=m8(Q.generalPurposeBitFlag,Q.fileNameRaw,Q.extraFields,_.strictFileNames);var K=E8(Q.fileName);if(K!=null)return Y0(_,Error(K))}else Q.fileComment=Q.fileCommentRaw,Q.fileName=Q.fileNameRaw;Q.comment=Q.fileComment,_.readEntryCursor+=q.length,_.entriesRead+=1;for(var G=0;G<Q.extraFields.length;G++){var Z=Q.extraFields[G];if(Z.id!==1)continue;var Y=Z.data,H=0;if(Q.uncompressedSize===4294967295){if(H+8>Y.length)return Y0(_,Error("zip64 extended information extra field does not include uncompressed size"));Q.uncompressedSize=D_(Y,H),H+=8}if(Q.compressedSize===4294967295){if(H+8>Y.length)return Y0(_,Error("zip64 extended information extra field does not include compressed size"));Q.compressedSize=D_(Y,H),H+=8}if(Q.relativeOffsetOfLocalHeader===4294967295){if(H+8>Y.length)return Y0(_,Error("zip64 extended information extra field does not include relative header offset"));Q.relativeOffsetOfLocalHeader=D_(Y,H),H+=8}break}if(_.validateEntrySizes&&Q.compressionMethod===0){var w=Q.uncompressedSize;if(Q.isEncrypted())w+=12;if(Q.compressedSize!==w){var L="compressed/uncompressed size mismatch for stored file: "+Q.compressedSize+" != "+Q.uncompressedSize;return Y0(_,Error(L))}}if(_.emit("entry",Q),!_.lazyEntries)_._readEntry()})})};H0.prototype.openReadStream=function(_,q,$){var Q=this,x=0,X=_.compressedSize;if($==null)$=q,q=null;if(q==null)q={};else{if(q.decrypt!=null){if(!_.isEncrypted())throw Error("options.decrypt can only be specified for encrypted entries");if(q.decrypt!==!1)throw Error("invalid options.decrypt value: "+q.decrypt);if(_.isCompressed()){if(q.decompress!==!1)throw Error("entry is encrypted and compressed, and options.decompress !== false")}}if(q.decompress!=null){if(!_.isCompressed())throw Error("options.decompress can only be specified for compressed entries");if(!(q.decompress===!1||q.decompress===!0))throw Error("invalid options.decompress value: "+q.decompress)}if(q.start!=null||q.end!=null){if(_.isCompressed()&&q.decompress!==!1)throw Error("start/end range not allowed for compressed entry without options.decompress === false");if(_.isEncrypted()&&q.decrypt!==!1)throw Error("start/end range not allowed for encrypted entry without options.decrypt === false")}if(q.start!=null){if(x=q.start,x<0)throw Error("options.start < 0");if(x>_.compressedSize)throw Error("options.start > entry.compressedSize")}if(q.end!=null){if(X=q.end,X<0)throw Error("options.end < 0");if(X>_.compressedSize)throw Error("options.end > entry.compressedSize");if(X<x)throw Error("options.end < options.start")}}if(!Q.isOpen)return $(Error("closed"));if(_.isEncrypted()){if(q.decrypt!==!1)return $(Error("entry is encrypted, and options.decrypt !== false"))}var V;if(_.compressionMethod===0)V=!1;else if(_.compressionMethod===8)V=q.decompress!=null?q.decompress:!0;else return $(Error("unsupported compression method: "+_.compressionMethod));Q.readLocalFileHeader(_,{minimal:!0},function(J,K){if(J)return $(J);Q.openReadStreamLowLevel(K.fileDataStart,_.compressedSize,x,X,V,_.uncompressedSize,$)})};H0.prototype.openReadStreamLowLevel=function(_,q,$,Q,x,X,V){var J=this,K=_+q,G=J.reader.createReadStream({start:_+$,end:_+Q}),Z=G;if(x){var Y=!1,H=rq.createInflateRaw();if(G.on("error",function(w){setImmediate(function(){if(!Y)H.emit("error",w)})}),G.pipe(H),J.validateEntrySizes)Z=new Z6(X),H.on("error",function(w){setImmediate(function(){if(!Y)Z.emit("error",w)})}),H.pipe(Z);else Z=H;H9(Z,function(){if(Y=!0,H!==Z)H.unpipe(Z);G.unpipe(H),G.destroy()})}V(null,Z)};H0.prototype.readLocalFileHeader=function(_,q,$){var Q=this;if($==null)$=q,q=null;if(q==null)q={};Q.reader.ref();var x=C0(30);S_(Q.reader,x,0,x.length,_.relativeOffsetOfLocalHeader,function(X){try{if(X)return $(X);var V=x.readUInt32LE(0);if(V!==67324752)return $(Error("invalid local file header signature: 0x"+V.toString(16)));var J=x.readUInt16LE(26),K=x.readUInt16LE(28),G=_.relativeOffsetOfLocalHeader+30+J+K;if(G+_.compressedSize>Q.fileSize)return $(Error("file data overflows file bounds: "+G+" + "+_.compressedSize+" > "+Q.fileSize));if(q.minimal)return $(null,{fileDataStart:G});var Z=new y8;Z.fileDataStart=G,Z.versionNeededToExtract=x.readUInt16LE(4),Z.generalPurposeBitFlag=x.readUInt16LE(6),Z.compressionMethod=x.readUInt16LE(8),Z.lastModFileTime=x.readUInt16LE(10),Z.lastModFileDate=x.readUInt16LE(12),Z.crc32=x.readUInt32LE(14),Z.compressedSize=x.readUInt32LE(18),Z.uncompressedSize=x.readUInt32LE(22),Z.fileNameLength=J,Z.extraFieldLength=K,x=C0(J+K),Q.reader.ref(),S_(Q.reader,x,0,x.length,_.relativeOffsetOfLocalHeader+30,function(Y){try{if(Y)return $(Y);return Z.fileName=x.subarray(0,J),Z.extraField=x.subarray(J),$(null,Z)}finally{Q.reader.unref()}})}finally{Q.reader.unref()}})};function K6(){}K6.prototype.getLastModDate=function(_){if(_==null)_={};if(!_.forceDosFormat)for(var q=0;q<this.extraFields.length;q++){var $=this.extraFields[q];if($.id===21589){var Q=$.data;if(Q.length<5)continue;var x=Q[0],X=1;if(!(x&X))continue;var V=Q.readInt32LE(1);return new Date(V*1000)}else if($.id===10){var Q=$.data,J=4;while(J<Q.length+4){var K=Q.readUInt16LE(J);J+=2;var G=Q.readUInt16LE(J);if(J+=2,K!==1){J+=G;continue}if(G<8||J+G>Q.length)break;var Z=4294967296*Q.readInt32LE(J+4)+Q.readUInt32LE(J),Y=Z/1e4-11644473600000;return new Date(Y)}}}return k8(this.lastModFileDate,this.lastModFileTime,_.timezone)};K6.prototype.isEncrypted=function(){return(this.generalPurposeBitFlag&1)!==0};K6.prototype.isCompressed=function(){return this.compressionMethod===8};function y8(){}function k8(_,q,$){var Q=_&31,x=(_>>5&15)-1,X=(_>>9&127)+1980,V=0,J=(q&31)*2,K=q>>5&63,G=q>>11&31;if($==null||$==="local")return new Date(X,x,Q,G,K,J,V);else if($==="UTC")return new Date(Date.UTC(X,x,Q,G,K,J,V));else throw Error("unrecognized options.timezone: "+options.timezone)}function m8(_,q,$,Q){var x=null;for(var X=0;X<$.length;X++){var V=$[X];if(V.id===28789){if(V.data.length<6)continue;if(V.data.readUInt8(0)!==1)continue;var J=V.data.readUInt32LE(1);if(eq.unsigned(q)!==J)continue;x=O1(V.data.subarray(5),!0);break}}if(x==null){var K=(_&2048)!==0;x=O1(q,K)}if(!Q)x=x.replace(/\\/g,"/");return x}function E8(_){if(_.indexOf("\\")!==-1)return"invalid characters in fileName: "+_;if(/^[a-zA-Z]:/.test(_)||/^\//.test(_))return"absolute path: "+_;if(_.split("/").indexOf("..")!==-1)return"invalid relative path: "+_;return null}function b8(_){var q=[],$=0;while($<_.length-3){var Q=_.readUInt16LE($+0),x=_.readUInt16LE($+2),X=$+4,V=X+x;if(V>_.length)throw Error("extra field length exceeds extra field buffer size");var J=_.subarray(X,V);q.push({id:Q,data:J}),$=V}return q}function S_(_,q,$,Q,x,X){if(Q===0)return setImmediate(function(){X(null,C0(0))});_.read(q,$,Q,x,function(V,J){if(V)return X(V);if(J<Q)return X(Error("unexpected EOF"));X()})}j1.inherits(Z6,h8);function Z6(_){h8.call(this),this.actualByteCount=0,this.expectedByteCount=_}Z6.prototype._transform=function(_,q,$){if(this.actualByteCount+=_.length,this.actualByteCount>this.expectedByteCount){var Q="too many bytes in the stream. expected "+this.expectedByteCount+". got at least "+this.actualByteCount;return $(Error(Q))}$(null,_)};Z6.prototype._flush=function(_){if(this.actualByteCount<this.expectedByteCount){var q="not enough bytes in the stream. expected "+this.expectedByteCount+". got only "+this.actualByteCount;return _(Error(q))}_()};j1.inherits(c0,B1);function c0(){B1.call(this),this.refCount=0}c0.prototype.ref=function(){this.refCount+=1};c0.prototype.unref=function(){var _=this;if(_.refCount-=1,_.refCount>0)return;if(_.refCount<0)throw Error("invalid unref");_.close(q);function q($){if($)return _.emit("error",$);_.emit("close")}};c0.prototype.createReadStream=function(_){if(_==null)_={};var{start:q,end:$}=_;if(q===$){var Q=new W9;return setImmediate(function(){Q.end()}),Q}var x=this._readStreamForRange(q,$),X=!1,V=new I1(this);x.on("error",function(K){setImmediate(function(){if(!X)V.emit("error",K)})}),H9(V,function(){x.unpipe(V),V.unref(),x.destroy()});var J=new Z6($-q);return V.on("error",function(K){setImmediate(function(){if(!X)J.emit("error",K)})}),H9(J,function(){X=!0,V.unpipe(J),V.destroy()}),x.pipe(V).pipe(J)};c0.prototype._readStreamForRange=function(_,q){throw Error("not implemented")};c0.prototype.read=function(_,q,$,Q,x){var X=this.createReadStream({start:Q,end:Q+$}),V=new _$,J=0;V._write=function(K,G,Z){K.copy(_,q+J,0,K.length),J+=K.length,Z()},V.on("finish",x),X.on("error",function(K){x(K)}),X.pipe(V)};c0.prototype.close=function(_){setImmediate(_)};j1.inherits(I1,W9);function I1(_){W9.call(this),this.context=_,this.context.ref(),this.unreffedYet=!1}I1.prototype._flush=function(_){this.unref(),_()};I1.prototype.unref=function(_){if(this.unreffedYet)return;this.unreffedYet=!0,this.context.unref()};var Q$="\x00☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ";function O1(_,q){if(q)return _.toString("utf8");else{var $="";for(var Q=0;Q<_.length;Q++)$+=Q$[_[Q]];return $}}function D_(_,q){var $=_.readUInt32LE(q),Q=_.readUInt32LE(q+4);return Q*4294967296+$}var C0;if(typeof Buffer.allocUnsafe==="function")C0=function(_){return Buffer.allocUnsafe(_)};else C0=function(_){return new Buffer(_)};function H9(_,q){if(typeof _.destroy==="function")_._destroy=function($,Q){if(q(),Q!=null)Q($)};else _.destroy=q}function C1(_){if(_)throw _}});var f8=A((MV,l8)=>{var $0=K8()("extract-zip"),{createWriteStream:z$,promises:N_}=j("fs"),M$=C8(),J_=j("path"),{promisify:w9}=j("util"),P$=j("stream"),U$=c8(),O$=w9(U$.open),C$=w9(P$.pipeline);class d8{constructor(_,q){this.zipPath=_,this.opts=q}async extract(){return $0("opening",this.zipPath,"with opts",this.opts),this.zipfile=await O$(this.zipPath,{lazyEntries:!0}),this.canceled=!1,new Promise((_,q)=>{this.zipfile.on("error",($)=>{this.canceled=!0,q($)}),this.zipfile.readEntry(),this.zipfile.on("close",()=>{if(!this.canceled)$0("zip extraction complete"),_()}),this.zipfile.on("entry",async($)=>{if(this.canceled){$0("skipping entry",$.fileName,{cancelled:this.canceled});return}if($0("zipfile entry",$.fileName),$.fileName.startsWith("__MACOSX/")){this.zipfile.readEntry();return}let Q=J_.dirname(J_.join(this.opts.dir,$.fileName));try{await N_.mkdir(Q,{recursive:!0});let x=await N_.realpath(Q);if(J_.relative(this.opts.dir,x).split(J_.sep).includes(".."))throw Error(`Out of bound path "${x}" found while processing file ${$.fileName}`);await this.extractEntry($),$0("finished processing",$.fileName),this.zipfile.readEntry()}catch(x){this.canceled=!0,this.zipfile.close(),q(x)}})})}async extractEntry(_){if(this.canceled){$0("skipping entry extraction",_.fileName,{cancelled:this.canceled});return}if(this.opts.onEntry)this.opts.onEntry(_,this.zipfile);let q=J_.join(this.opts.dir,_.fileName),$=_.externalFileAttributes>>16&65535,Q=61440,x=16384,X=40960,V=($&Q)===X,J=($&Q)===x;if(!J&&_.fileName.endsWith("/"))J=!0;let K=_.versionMadeBy>>8;if(!J)J=K===0&&_.externalFileAttributes===16;$0("extracting entry",{filename:_.fileName,isDir:J,isSymlink:V});let G=this.getExtractedMode($,J)&511,Z=J?q:J_.dirname(q),Y={recursive:!0};if(J)Y.mode=G;if($0("mkdir",{dir:Z,...Y}),await N_.mkdir(Z,Y),J)return;$0("opening read stream",q);let H=await w9(this.zipfile.openReadStream.bind(this.zipfile))(_);if(V){let w=await M$(H);$0("creating symlink",w,q),await N_.symlink(w,q)}else await C$(H,z$(q,{mode:G}))}getExtractedMode(_,q){let $=_;if($===0)if(q){if(this.opts.defaultDirMode)$=parseInt(this.opts.defaultDirMode,10);if(!$)$=493}else{if(this.opts.defaultFileMode)$=parseInt(this.opts.defaultFileMode,10);if(!$)$=420}return $}}l8.exports=async function(_,q){if($0("creating target directory",q.dir),!J_.isAbsolute(q.dir))throw Error("Target directory is expected to be absolute");return await N_.mkdir(q.dir,{recursive:!0}),q.dir=await N_.realpath(q.dir),new d8(_,q).extract()}});var L9=A((PV,i8)=>{var j$=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(..._)=>console.error("SEMVER",..._):()=>{};i8.exports=j$});var z9=A((UV,p8)=>{var B$=Number.MAX_SAFE_INTEGER||9007199254740991,I$=["major","premajor","minor","preminor","patch","prepatch","prerelease"];p8.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:B$,RELEASE_TYPES:I$,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var n8=A((W0,s8)=>{var{MAX_SAFE_COMPONENT_LENGTH:M9,MAX_SAFE_BUILD_LENGTH:A$,MAX_LENGTH:T$}=z9(),F$=L9();W0=s8.exports={};var R$=W0.re=[],D$=W0.safeRe=[],W=W0.src=[],S$=W0.safeSrc=[],v=W0.t={},N$=0,P9="[a-zA-Z0-9-]",h$=[["\\s",1],["\\d",T$],[P9,A$]],g$=(_)=>{for(let[q,$]of h$)_=_.split(`${q}*`).join(`${q}{0,${$}}`).split(`${q}+`).join(`${q}{1,${$}}`);return _},P=(_,q,$)=>{let Q=g$(q),x=N$++;F$(_,x,q),v[_]=x,W[x]=q,S$[x]=Q,R$[x]=new RegExp(q,$?"g":void 0),D$[x]=new RegExp(Q,$?"g":void 0)};P("NUMERICIDENTIFIER","0|[1-9]\\d*");P("NUMERICIDENTIFIERLOOSE","\\d+");P("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${P9}*`);P("MAINVERSION",`(${W[v.NUMERICIDENTIFIER]})\\.(${W[v.NUMERICIDENTIFIER]})\\.(${W[v.NUMERICIDENTIFIER]})`);P("MAINVERSIONLOOSE",`(${W[v.NUMERICIDENTIFIERLOOSE]})\\.(${W[v.NUMERICIDENTIFIERLOOSE]})\\.(${W[v.NUMERICIDENTIFIERLOOSE]})`);P("PRERELEASEIDENTIFIER",`(?:${W[v.NONNUMERICIDENTIFIER]}|${W[v.NUMERICIDENTIFIER]})`);P("PRERELEASEIDENTIFIERLOOSE",`(?:${W[v.NONNUMERICIDENTIFIER]}|${W[v.NUMERICIDENTIFIERLOOSE]})`);P("PRERELEASE",`(?:-(${W[v.PRERELEASEIDENTIFIER]}(?:\\.${W[v.PRERELEASEIDENTIFIER]})*))`);P("PRERELEASELOOSE",`(?:-?(${W[v.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${W[v.PRERELEASEIDENTIFIERLOOSE]})*))`);P("BUILDIDENTIFIER",`${P9}+`);P("BUILD",`(?:\\+(${W[v.BUILDIDENTIFIER]}(?:\\.${W[v.BUILDIDENTIFIER]})*))`);P("FULLPLAIN",`v?${W[v.MAINVERSION]}${W[v.PRERELEASE]}?${W[v.BUILD]}?`);P("FULL",`^${W[v.FULLPLAIN]}$`);P("LOOSEPLAIN",`[v=\\s]*${W[v.MAINVERSIONLOOSE]}${W[v.PRERELEASELOOSE]}?${W[v.BUILD]}?`);P("LOOSE",`^${W[v.LOOSEPLAIN]}$`);P("GTLT","((?:<|>)?=?)");P("XRANGEIDENTIFIERLOOSE",`${W[v.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);P("XRANGEIDENTIFIER",`${W[v.NUMERICIDENTIFIER]}|x|X|\\*`);P("XRANGEPLAIN",`[v=\\s]*(${W[v.XRANGEIDENTIFIER]})(?:\\.(${W[v.XRANGEIDENTIFIER]})(?:\\.(${W[v.XRANGEIDENTIFIER]})(?:${W[v.PRERELEASE]})?${W[v.BUILD]}?)?)?`);P("XRANGEPLAINLOOSE",`[v=\\s]*(${W[v.XRANGEIDENTIFIERLOOSE]})(?:\\.(${W[v.XRANGEIDENTIFIERLOOSE]})(?:\\.(${W[v.XRANGEIDENTIFIERLOOSE]})(?:${W[v.PRERELEASELOOSE]})?${W[v.BUILD]}?)?)?`);P("XRANGE",`^${W[v.GTLT]}\\s*${W[v.XRANGEPLAIN]}$`);P("XRANGELOOSE",`^${W[v.GTLT]}\\s*${W[v.XRANGEPLAINLOOSE]}$`);P("COERCEPLAIN",`(^|[^\\d])(\\d{1,${M9}})(?:\\.(\\d{1,${M9}}))?(?:\\.(\\d{1,${M9}}))?`);P("COERCE",`${W[v.COERCEPLAIN]}(?:$|[^\\d])`);P("COERCEFULL",W[v.COERCEPLAIN]+`(?:${W[v.PRERELEASE]})?(?:${W[v.BUILD]})?(?:$|[^\\d])`);P("COERCERTL",W[v.COERCE],!0);P("COERCERTLFULL",W[v.COERCEFULL],!0);P("LONETILDE","(?:~>?)");P("TILDETRIM",`(\\s*)${W[v.LONETILDE]}\\s+`,!0);W0.tildeTrimReplace="$1~";P("TILDE",`^${W[v.LONETILDE]}${W[v.XRANGEPLAIN]}$`);P("TILDELOOSE",`^${W[v.LONETILDE]}${W[v.XRANGEPLAINLOOSE]}$`);P("LONECARET","(?:\\^)");P("CARETTRIM",`(\\s*)${W[v.LONECARET]}\\s+`,!0);W0.caretTrimReplace="$1^";P("CARET",`^${W[v.LONECARET]}${W[v.XRANGEPLAIN]}$`);P("CARETLOOSE",`^${W[v.LONECARET]}${W[v.XRANGEPLAINLOOSE]}$`);P("COMPARATORLOOSE",`^${W[v.GTLT]}\\s*(${W[v.LOOSEPLAIN]})$|^$`);P("COMPARATOR",`^${W[v.GTLT]}\\s*(${W[v.FULLPLAIN]})$|^$`);P("COMPARATORTRIM",`(\\s*)${W[v.GTLT]}\\s*(${W[v.LOOSEPLAIN]}|${W[v.XRANGEPLAIN]})`,!0);W0.comparatorTrimReplace="$1$2$3";P("HYPHENRANGE",`^\\s*(${W[v.XRANGEPLAIN]})\\s+-\\s+(${W[v.XRANGEPLAIN]})\\s*$`);P("HYPHENRANGELOOSE",`^\\s*(${W[v.XRANGEPLAINLOOSE]})\\s+-\\s+(${W[v.XRANGEPLAINLOOSE]})\\s*$`);P("STAR","(<|>)?=?\\s*\\*");P("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");P("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var o8=A((OV,a8)=>{var u$=Object.freeze({loose:!0}),y$=Object.freeze({}),k$=(_)=>{if(!_)return y$;if(typeof _!=="object")return u$;return _};a8.exports=k$});var _4=A((CV,e8)=>{var t8=/^[0-9]+$/,r8=(_,q)=>{if(typeof _==="number"&&typeof q==="number")return _===q?0:_<q?-1:1;let $=t8.test(_),Q=t8.test(q);if($&&Q)_=+_,q=+q;return _===q?0:$&&!Q?-1:Q&&!$?1:_<q?-1:1},m$=(_,q)=>r8(q,_);e8.exports={compareIdentifiers:r8,rcompareIdentifiers:m$}});var Q4=A((jV,$4)=>{var A1=L9(),{MAX_LENGTH:q4,MAX_SAFE_INTEGER:T1}=z9(),{safeRe:F1,t:R1}=n8(),E$=o8(),{compareIdentifiers:U9}=_4();class Q0{constructor(_,q){if(q=E$(q),_ instanceof Q0)if(_.loose===!!q.loose&&_.includePrerelease===!!q.includePrerelease)return _;else _=_.version;else if(typeof _!=="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof _}".`);if(_.length>q4)throw TypeError(`version is longer than ${q4} characters`);A1("SemVer",_,q),this.options=q,this.loose=!!q.loose,this.includePrerelease=!!q.includePrerelease;let $=_.trim().match(q.loose?F1[R1.LOOSE]:F1[R1.FULL]);if(!$)throw TypeError(`Invalid Version: ${_}`);if(this.raw=_,this.major=+$[1],this.minor=+$[2],this.patch=+$[3],this.major>T1||this.major<0)throw TypeError("Invalid major version");if(this.minor>T1||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>T1||this.patch<0)throw TypeError("Invalid patch version");if(!$[4])this.prerelease=[];else this.prerelease=$[4].split(".").map((Q)=>{if(/^[0-9]+$/.test(Q)){let x=+Q;if(x>=0&&x<T1)return x}return Q});this.build=$[5]?$[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare(_){if(A1("SemVer.compare",this.version,this.options,_),!(_ instanceof Q0)){if(typeof _==="string"&&_===this.version)return 0;_=new Q0(_,this.options)}if(_.version===this.version)return 0;return this.compareMain(_)||this.comparePre(_)}compareMain(_){if(!(_ instanceof Q0))_=new Q0(_,this.options);if(this.major<_.major)return-1;if(this.major>_.major)return 1;if(this.minor<_.minor)return-1;if(this.minor>_.minor)return 1;if(this.patch<_.patch)return-1;if(this.patch>_.patch)return 1;return 0}comparePre(_){if(!(_ instanceof Q0))_=new Q0(_,this.options);if(this.prerelease.length&&!_.prerelease.length)return-1;else if(!this.prerelease.length&&_.prerelease.length)return 1;else if(!this.prerelease.length&&!_.prerelease.length)return 0;let q=0;do{let $=this.prerelease[q],Q=_.prerelease[q];if(A1("prerelease compare",q,$,Q),$===void 0&&Q===void 0)return 0;else if(Q===void 0)return 1;else if($===void 0)return-1;else if($===Q)continue;else return U9($,Q)}while(++q)}compareBuild(_){if(!(_ instanceof Q0))_=new Q0(_,this.options);let q=0;do{let $=this.build[q],Q=_.build[q];if(A1("build compare",q,$,Q),$===void 0&&Q===void 0)return 0;else if(Q===void 0)return 1;else if($===void 0)return-1;else if($===Q)continue;else return U9($,Q)}while(++q)}inc(_,q,$){if(_.startsWith("pre")){if(!q&&$===!1)throw Error("invalid increment argument: identifier is empty");if(q){let Q=`-${q}`.match(this.options.loose?F1[R1.PRERELEASELOOSE]:F1[R1.PRERELEASE]);if(!Q||Q[1]!==q)throw Error(`invalid identifier: ${q}`)}}switch(_){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",q,$);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",q,$);break;case"prepatch":this.prerelease.length=0,this.inc("patch",q,$),this.inc("pre",q,$);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",q,$);this.inc("pre",q,$);break;case"release":if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{let Q=Number($)?1:0;if(this.prerelease.length===0)this.prerelease=[Q];else{let x=this.prerelease.length;while(--x>=0)if(typeof this.prerelease[x]==="number")this.prerelease[x]++,x=-2;if(x===-1){if(q===this.prerelease.join(".")&&$===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(Q)}}if(q){let x=[q,Q];if($===!1)x=[q];if(U9(this.prerelease[0],q)===0){if(isNaN(this.prerelease[1]))this.prerelease=x}else this.prerelease=x}break}default:throw Error(`invalid increment argument: ${_}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}$4.exports=Q0});var V4=A((BV,X4)=>{var x4=Q4(),b$=(_,q,$)=>new x4(_,$).compare(new x4(q,$));X4.exports=b$});var K4=A((IV,J4)=>{var c$=V4(),d$=(_,q,$)=>c$(_,q,$)<0;J4.exports=d$});import ZQ from"os";import GQ from"child_process";var H4=L6(h1(),1);import n$ from"path";import a$ from"fs";import W4 from"fs/promises";import S1 from"os";import V5 from"events";import E from"fs";import{EventEmitter as E1}from"node:events";import f9 from"node:stream";import{StringDecoder as o4}from"node:string_decoder";var b9=typeof process==="object"&&process?process:{stdout:null,stderr:null},t4=(_)=>!!_&&typeof _==="object"&&(_ instanceof c||_ instanceof f9||r4(_)||e4(_)),r4=(_)=>!!_&&typeof _==="object"&&_ instanceof E1&&typeof _.pipe==="function"&&_.pipe!==f9.Writable.prototype.pipe,e4=(_)=>!!_&&typeof _==="object"&&_ instanceof E1&&typeof _.write==="function"&&typeof _.end==="function",v0=Symbol("EOF"),w0=Symbol("maybeEmitEnd"),B0=Symbol("emittedEnd"),P6=Symbol("emittingEnd"),g_=Symbol("emittedError"),U6=Symbol("closed"),c9=Symbol("read"),O6=Symbol("flush"),d9=Symbol("flushChunk"),t=Symbol("encoding"),Y_=Symbol("decoder"),S=Symbol("flowing"),u_=Symbol("paused"),H_=Symbol("resume"),N=Symbol("buffer"),m=Symbol("pipes"),h=Symbol("bufferLength"),g1=Symbol("bufferPush"),C6=Symbol("bufferShift"),g=Symbol("objectMode"),F=Symbol("destroyed"),u1=Symbol("error"),y1=Symbol("emitData"),l9=Symbol("emitEnd"),k1=Symbol("emitEnd2"),X0=Symbol("async"),m1=Symbol("abort"),j6=Symbol("aborted"),y_=Symbol("signal"),l0=Symbol("dataListeners"),b=Symbol("discarded"),k_=(_)=>Promise.resolve().then(_),_5=(_)=>_(),q5=(_)=>_==="end"||_==="finish"||_==="prefinish",$5=(_)=>_ instanceof ArrayBuffer||!!_&&typeof _==="object"&&_.constructor&&_.constructor.name==="ArrayBuffer"&&_.byteLength>=0,Q5=(_)=>!Buffer.isBuffer(_)&&ArrayBuffer.isView(_);class b1{src;dest;opts;ondrain;constructor(_,q,$){this.src=_,this.dest=q,this.opts=$,this.ondrain=()=>_[H_](),this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(_){}end(){if(this.unpipe(),this.opts.end)this.dest.end()}}class i9 extends b1{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(_,q,$){super(_,q,$);this.proxyErrors=(Q)=>q.emit("error",Q),_.on("error",this.proxyErrors)}}var x5=(_)=>!!_.objectMode,X5=(_)=>!_.objectMode&&!!_.encoding&&_.encoding!=="buffer";class c extends E1{[S]=!1;[u_]=!1;[m]=[];[N]=[];[g];[t];[X0];[Y_];[v0]=!1;[B0]=!1;[P6]=!1;[U6]=!1;[g_]=null;[h]=0;[F]=!1;[y_];[j6]=!1;[l0]=0;[b]=!1;writable=!0;readable=!0;constructor(..._){let q=_[0]||{};super();if(q.objectMode&&typeof q.encoding==="string")throw TypeError("Encoding and objectMode may not be used together");if(x5(q))this[g]=!0,this[t]=null;else if(X5(q))this[t]=q.encoding,this[g]=!1;else this[g]=!1,this[t]=null;if(this[X0]=!!q.async,this[Y_]=this[t]?new o4(this[t]):null,q&&q.debugExposeBuffer===!0)Object.defineProperty(this,"buffer",{get:()=>this[N]});if(q&&q.debugExposePipes===!0)Object.defineProperty(this,"pipes",{get:()=>this[m]});let{signal:$}=q;if($)if(this[y_]=$,$.aborted)this[m1]();else $.addEventListener("abort",()=>this[m1]())}get bufferLength(){return this[h]}get encoding(){return this[t]}set encoding(_){throw Error("Encoding must be set at instantiation time")}setEncoding(_){throw Error("Encoding must be set at instantiation time")}get objectMode(){return this[g]}set objectMode(_){throw Error("objectMode must be set at instantiation time")}get["async"](){return this[X0]}set["async"](_){this[X0]=this[X0]||!!_}[m1](){this[j6]=!0,this.emit("abort",this[y_]?.reason),this.destroy(this[y_]?.reason)}get aborted(){return this[j6]}set aborted(_){}write(_,q,$){if(this[j6])return!1;if(this[v0])throw Error("write after end");if(this[F])return this.emit("error",Object.assign(Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;if(typeof q==="function")$=q,q="utf8";if(!q)q="utf8";let Q=this[X0]?k_:_5;if(!this[g]&&!Buffer.isBuffer(_)){if(Q5(_))_=Buffer.from(_.buffer,_.byteOffset,_.byteLength);else if($5(_))_=Buffer.from(_);else if(typeof _!=="string")throw Error("Non-contiguous data written to non-objectMode stream")}if(this[g]){if(this[S]&&this[h]!==0)this[O6](!0);if(this[S])this.emit("data",_);else this[g1](_);if(this[h]!==0)this.emit("readable");if($)Q($);return this[S]}if(!_.length){if(this[h]!==0)this.emit("readable");if($)Q($);return this[S]}if(typeof _==="string"&&!(q===this[t]&&!this[Y_]?.lastNeed))_=Buffer.from(_,q);if(Buffer.isBuffer(_)&&this[t])_=this[Y_].write(_);if(this[S]&&this[h]!==0)this[O6](!0);if(this[S])this.emit("data",_);else this[g1](_);if(this[h]!==0)this.emit("readable");if($)Q($);return this[S]}read(_){if(this[F])return null;if(this[b]=!1,this[h]===0||_===0||_&&_>this[h])return this[w0](),null;if(this[g])_=null;if(this[N].length>1&&!this[g])this[N]=[this[t]?this[N].join(""):Buffer.concat(this[N],this[h])];let q=this[c9](_||null,this[N][0]);return this[w0](),q}[c9](_,q){if(this[g])this[C6]();else{let $=q;if(_===$.length||_===null)this[C6]();else if(typeof $==="string")this[N][0]=$.slice(_),q=$.slice(0,_),this[h]-=_;else this[N][0]=$.subarray(_),q=$.subarray(0,_),this[h]-=_}if(this.emit("data",q),!this[N].length&&!this[v0])this.emit("drain");return q}end(_,q,$){if(typeof _==="function")$=_,_=void 0;if(typeof q==="function")$=q,q="utf8";if(_!==void 0)this.write(_,q);if($)this.once("end",$);if(this[v0]=!0,this.writable=!1,this[S]||!this[u_])this[w0]();return this}[H_](){if(this[F])return;if(!this[l0]&&!this[m].length)this[b]=!0;if(this[u_]=!1,this[S]=!0,this.emit("resume"),this[N].length)this[O6]();else if(this[v0])this[w0]();else this.emit("drain")}resume(){return this[H_]()}pause(){this[S]=!1,this[u_]=!0,this[b]=!1}get destroyed(){return this[F]}get flowing(){return this[S]}get paused(){return this[u_]}[g1](_){if(this[g])this[h]+=1;else this[h]+=_.length;this[N].push(_)}[C6](){if(this[g])this[h]-=1;else this[h]-=this[N][0].length;return this[N].shift()}[O6](_=!1){do;while(this[d9](this[C6]())&&this[N].length);if(!_&&!this[N].length&&!this[v0])this.emit("drain")}[d9](_){return this.emit("data",_),this[S]}pipe(_,q){if(this[F])return _;this[b]=!1;let $=this[B0];if(q=q||{},_===b9.stdout||_===b9.stderr)q.end=!1;else q.end=q.end!==!1;if(q.proxyErrors=!!q.proxyErrors,$){if(q.end)_.end()}else if(this[m].push(!q.proxyErrors?new b1(this,_,q):new i9(this,_,q)),this[X0])k_(()=>this[H_]());else this[H_]();return _}unpipe(_){let q=this[m].find(($)=>$.dest===_);if(q){if(this[m].length===1){if(this[S]&&this[l0]===0)this[S]=!1;this[m]=[]}else this[m].splice(this[m].indexOf(q),1);q.unpipe()}}addListener(_,q){return this.on(_,q)}on(_,q){let $=super.on(_,q);if(_==="data"){if(this[b]=!1,this[l0]++,!this[m].length&&!this[S])this[H_]()}else if(_==="readable"&&this[h]!==0)super.emit("readable");else if(q5(_)&&this[B0])super.emit(_),this.removeAllListeners(_);else if(_==="error"&&this[g_]){let Q=q;if(this[X0])k_(()=>Q.call(this,this[g_]));else Q.call(this,this[g_])}return $}removeListener(_,q){return this.off(_,q)}off(_,q){let $=super.off(_,q);if(_==="data"){if(this[l0]=this.listeners("data").length,this[l0]===0&&!this[b]&&!this[m].length)this[S]=!1}return $}removeAllListeners(_){let q=super.removeAllListeners(_);if(_==="data"||_===void 0){if(this[l0]=0,!this[b]&&!this[m].length)this[S]=!1}return q}get emittedEnd(){return this[B0]}[w0](){if(!this[P6]&&!this[B0]&&!this[F]&&this[N].length===0&&this[v0]){if(this[P6]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[U6])this.emit("close");this[P6]=!1}}emit(_,...q){let $=q[0];if(_!=="error"&&_!=="close"&&_!==F&&this[F])return!1;else if(_==="data")return!this[g]&&!$?!1:this[X0]?(k_(()=>this[y1]($)),!0):this[y1]($);else if(_==="end")return this[l9]();else if(_==="close"){if(this[U6]=!0,!this[B0]&&!this[F])return!1;let x=super.emit("close");return this.removeAllListeners("close"),x}else if(_==="error"){this[g_]=$,super.emit(u1,$);let x=!this[y_]||this.listeners("error").length?super.emit("error",$):!1;return this[w0](),x}else if(_==="resume"){let x=super.emit("resume");return this[w0](),x}else if(_==="finish"||_==="prefinish"){let x=super.emit(_);return this.removeAllListeners(_),x}let Q=super.emit(_,...q);return this[w0](),Q}[y1](_){for(let $ of this[m])if($.dest.write(_)===!1)this.pause();let q=this[b]?!1:super.emit("data",_);return this[w0](),q}[l9](){if(this[B0])return!1;return this[B0]=!0,this.readable=!1,this[X0]?(k_(()=>this[k1]()),!0):this[k1]()}[k1](){if(this[Y_]){let q=this[Y_].end();if(q){for(let $ of this[m])$.dest.write(q);if(!this[b])super.emit("data",q)}}for(let q of this[m])q.end();let _=super.emit("end");return this.removeAllListeners("end"),_}async collect(){let _=Object.assign([],{dataLength:0});if(!this[g])_.dataLength=0;let q=this.promise();return this.on("data",($)=>{if(_.push($),!this[g])_.dataLength+=$.length}),await q,_}async concat(){if(this[g])throw Error("cannot concat in objectMode");let _=await this.collect();return this[t]?_.join(""):Buffer.concat(_,_.dataLength)}async promise(){return new Promise((_,q)=>{this.on(F,()=>q(Error("stream destroyed"))),this.on("error",($)=>q($)),this.on("end",()=>_())})}[Symbol.asyncIterator](){this[b]=!1;let _=!1,q=async()=>{return this.pause(),_=!0,{value:void 0,done:!0}};return{next:()=>{if(_)return q();let Q=this.read();if(Q!==null)return Promise.resolve({done:!1,value:Q});if(this[v0])return q();let x,X,V=(Z)=>{this.off("data",J),this.off("end",K),this.off(F,G),q(),X(Z)},J=(Z)=>{this.off("error",V),this.off("end",K),this.off(F,G),this.pause(),x({value:Z,done:!!this[v0]})},K=()=>{this.off("error",V),this.off("data",J),this.off(F,G),q(),x({done:!0,value:void 0})},G=()=>V(Error("stream destroyed"));return new Promise((Z,Y)=>{X=Y,x=Z,this.once(F,G),this.once("error",V),this.once("end",K),this.once("data",J)})},throw:q,return:q,[Symbol.asyncIterator](){return this}}}[Symbol.iterator](){this[b]=!1;let _=!1,q=()=>{return this.pause(),this.off(u1,q),this.off(F,q),this.off("end",q),_=!0,{done:!0,value:void 0}},$=()=>{if(_)return q();let Q=this.read();return Q===null?q():{done:!1,value:Q}};return this.once("end",q),this.once(u1,q),this.once(F,q),{next:$,throw:q,return:q,[Symbol.iterator](){return this}}}destroy(_){if(this[F]){if(_)this.emit("error",_);else this.emit(F);return this}this[F]=!0,this[b]=!0,this[N].length=0,this[h]=0;let q=this;if(typeof q.close==="function"&&!this[U6])q.close();if(_)this.emit("error",_);else this.emit(F);return this}static get isStream(){return t4}}var J5=E.writev,A0=Symbol("_autoClose"),e=Symbol("_close"),m_=Symbol("_ended"),C=Symbol("_fd"),c1=Symbol("_finished"),z0=Symbol("_flags"),d1=Symbol("_flush"),p1=Symbol("_handleChunk"),s1=Symbol("_makeBuf"),b_=Symbol("_mode"),B6=Symbol("_needDrain"),w_=Symbol("_onerror"),L_=Symbol("_onopen"),l1=Symbol("_onread"),W_=Symbol("_onwrite"),T0=Symbol("_open"),r=Symbol("_path"),I0=Symbol("_pos"),V0=Symbol("_queue"),v_=Symbol("_read"),f1=Symbol("_readSize"),L0=Symbol("_reading"),E_=Symbol("_remain"),i1=Symbol("_size"),I6=Symbol("_write"),f0=Symbol("_writing"),A6=Symbol("_defaultFlag"),i0=Symbol("_errored");class z_ extends c{[i0]=!1;[C];[r];[f1];[L0]=!1;[i1];[E_];[A0];constructor(_,q){q=q||{};super(q);if(this.readable=!0,this.writable=!1,typeof _!=="string")throw TypeError("path must be a string");if(this[i0]=!1,this[C]=typeof q.fd==="number"?q.fd:void 0,this[r]=_,this[f1]=q.readSize||16777216,this[L0]=!1,this[i1]=typeof q.size==="number"?q.size:1/0,this[E_]=this[i1],this[A0]=typeof q.autoClose==="boolean"?q.autoClose:!0,typeof this[C]==="number")this[v_]();else this[T0]()}get fd(){return this[C]}get path(){return this[r]}write(){throw TypeError("this is a readable stream")}end(){throw TypeError("this is a readable stream")}[T0](){E.open(this[r],"r",(_,q)=>this[L_](_,q))}[L_](_,q){if(_)this[w_](_);else this[C]=q,this.emit("open",q),this[v_]()}[s1](){return Buffer.allocUnsafe(Math.min(this[f1],this[E_]))}[v_](){if(!this[L0]){this[L0]=!0;let _=this[s1]();if(_.length===0)return process.nextTick(()=>this[l1](null,0,_));E.read(this[C],_,0,_.length,null,(q,$,Q)=>this[l1](q,$,Q))}}[l1](_,q,$){if(this[L0]=!1,_)this[w_](_);else if(this[p1](q,$))this[v_]()}[e](){if(this[A0]&&typeof this[C]==="number"){let _=this[C];this[C]=void 0,E.close(_,(q)=>q?this.emit("error",q):this.emit("close"))}}[w_](_){this[L0]=!0,this[e](),this.emit("error",_)}[p1](_,q){let $=!1;if(this[E_]-=_,_>0)$=super.write(_<q.length?q.subarray(0,_):q);if(_===0||this[E_]<=0)$=!1,this[e](),super.end();return $}emit(_,...q){switch(_){case"prefinish":case"finish":return!1;case"drain":if(typeof this[C]==="number")this[v_]();return!1;case"error":if(this[i0])return!1;return this[i0]=!0,super.emit(_,...q);default:return super.emit(_,...q)}}}class n1 extends z_{[T0](){let _=!0;try{this[L_](null,E.openSync(this[r],"r")),_=!1}finally{if(_)this[e]()}}[v_](){let _=!0;try{if(!this[L0]){this[L0]=!0;do{let q=this[s1](),$=q.length===0?0:E.readSync(this[C],q,0,q.length,null);if(!this[p1]($,q))break}while(!0);this[L0]=!1}_=!1}finally{if(_)this[e]()}}[e](){if(this[A0]&&typeof this[C]==="number"){let _=this[C];this[C]=void 0,E.closeSync(_),this.emit("close")}}}class F0 extends V5{readable=!1;writable=!0;[i0]=!1;[f0]=!1;[m_]=!1;[V0]=[];[B6]=!1;[r];[b_];[A0];[C];[A6];[z0];[c1]=!1;[I0];constructor(_,q){q=q||{};super(q);this[r]=_,this[C]=typeof q.fd==="number"?q.fd:void 0,this[b_]=q.mode===void 0?438:q.mode,this[I0]=typeof q.start==="number"?q.start:void 0,this[A0]=typeof q.autoClose==="boolean"?q.autoClose:!0;let $=this[I0]!==void 0?"r+":"w";if(this[A6]=q.flags===void 0,this[z0]=q.flags===void 0?$:q.flags,this[C]===void 0)this[T0]()}emit(_,...q){if(_==="error"){if(this[i0])return!1;this[i0]=!0}return super.emit(_,...q)}get fd(){return this[C]}get path(){return this[r]}[w_](_){this[e](),this[f0]=!0,this.emit("error",_)}[T0](){E.open(this[r],this[z0],this[b_],(_,q)=>this[L_](_,q))}[L_](_,q){if(this[A6]&&this[z0]==="r+"&&_&&_.code==="ENOENT")this[z0]="w",this[T0]();else if(_)this[w_](_);else if(this[C]=q,this.emit("open",q),!this[f0])this[d1]()}end(_,q){if(_)this.write(_,q);if(this[m_]=!0,!this[f0]&&!this[V0].length&&typeof this[C]==="number")this[W_](null,0);return this}write(_,q){if(typeof _==="string")_=Buffer.from(_,q);if(this[m_])return this.emit("error",Error("write() after end()")),!1;if(this[C]===void 0||this[f0]||this[V0].length)return this[V0].push(_),this[B6]=!0,!1;return this[f0]=!0,this[I6](_),!0}[I6](_){E.write(this[C],_,0,_.length,this[I0],(q,$)=>this[W_](q,$))}[W_](_,q){if(_)this[w_](_);else{if(this[I0]!==void 0&&typeof q==="number")this[I0]+=q;if(this[V0].length)this[d1]();else if(this[f0]=!1,this[m_]&&!this[c1])this[c1]=!0,this[e](),this.emit("finish");else if(this[B6])this[B6]=!1,this.emit("drain")}}[d1](){if(this[V0].length===0){if(this[m_])this[W_](null,0)}else if(this[V0].length===1)this[I6](this[V0].pop());else{let _=this[V0];this[V0]=[],J5(this[C],_,this[I0],(q,$)=>this[W_](q,$))}}[e](){if(this[A0]&&typeof this[C]==="number"){let _=this[C];this[C]=void 0,E.close(_,(q)=>q?this.emit("error",q):this.emit("close"))}}}class c_ extends F0{[T0](){let _;if(this[A6]&&this[z0]==="r+")try{_=E.openSync(this[r],this[z0],this[b_])}catch(q){if(q?.code==="ENOENT")return this[z0]="w",this[T0]();else throw q}else _=E.openSync(this[r],this[z0],this[b_]);this[L_](null,_)}[e](){if(this[A0]&&typeof this[C]==="number"){let _=this[C];this[C]=void 0,E.closeSync(_),this.emit("close")}}[I6](_){let q=!0;try{this[W_](null,E.writeSync(this[C],_,0,_.length,this[I0])),q=!1}finally{if(q)try{this[e]()}catch{}}}}import B3 from"node:path";import U_ from"node:fs";import{dirname as m5,parse as E5}from"path";var K5=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"],["onentry","onReadEntry"]]),p9=(_)=>!!_.sync&&!!_.file,s9=(_)=>!_.sync&&!!_.file,n9=(_)=>!!_.sync&&!_.file,a9=(_)=>!_.sync&&!_.file;var o9=(_)=>!!_.file;var Z5=(_)=>{let q=K5.get(_);if(q)return q;return _},d_=(_={})=>{if(!_)return{};let q={};for(let[$,Q]of Object.entries(_)){let x=Z5($);q[x]=Q}if(q.chmod===void 0&&q.noChmod===!1)q.chmod=!0;return delete q.noChmod,q};var J0=(_,q,$,Q,x)=>{return Object.assign((X=[],V,J)=>{if(Array.isArray(X))V=X,X={};if(typeof V==="function")J=V,V=void 0;if(!V)V=[];else V=Array.from(V);let K=d_(X);if(x?.(K,V),p9(K)){if(typeof J==="function")throw TypeError("callback not supported for sync tar functions");return _(K,V)}else if(s9(K)){let G=q(K,V),Z=J?J:void 0;return Z?G.then(()=>Z(),Z):G}else if(n9(K)){if(typeof J==="function")throw TypeError("callback not supported for sync tar functions");return $(K,V)}else if(a9(K)){if(typeof J==="function")throw TypeError("callback only supported with file option");return Q(K,V)}else throw Error("impossible options??")},{syncFile:_,asyncFile:q,syncNoFile:$,asyncNoFile:Q,validate:x})};import{EventEmitter as g5}from"events";import r1 from"assert";import{Buffer as p0}from"buffer";import*as t9 from"zlib";import G5 from"zlib";var Y5=G5.constants||{ZLIB_VERNUM:4736},i=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},Y5));var H5=p0.concat,r9=Object.getOwnPropertyDescriptor(p0,"concat"),W5=(_)=>_,o1=r9?.writable===!0||r9?.set!==void 0?(_)=>{p0.concat=_?W5:H5}:(_)=>{},s0=Symbol("_superWrite");class l_ extends Error{code;errno;constructor(_,q){super("zlib: "+_.message,{cause:_});if(this.code=_.code,this.errno=_.errno,!this.code)this.code="ZLIB_ERROR";this.message="zlib: "+_.message,Error.captureStackTrace(this,q??this.constructor)}get name(){return"ZlibError"}}var t1=Symbol("flushFlag");class T6 extends c{#_=!1;#$=!1;#Q;#X;#x;#q;#V;get sawError(){return this.#_}get handle(){return this.#q}get flushFlag(){return this.#Q}constructor(_,q){if(!_||typeof _!=="object")throw TypeError("invalid options for ZlibBase constructor");super(_);if(this.#Q=_.flush??0,this.#X=_.finishFlush??0,this.#x=_.fullFlushFlag??0,typeof t9[q]!=="function")throw TypeError("Compression method not supported: "+q);try{this.#q=new t9[q](_)}catch($){throw new l_($,this.constructor)}this.#V=($)=>{if(this.#_)return;this.#_=!0,this.close(),this.emit("error",$)},this.#q?.on("error",($)=>this.#V(new l_($))),this.once("end",()=>this.close)}close(){if(this.#q)this.#q.close(),this.#q=void 0,this.emit("close")}reset(){if(!this.#_)return r1(this.#q,"zlib binding closed"),this.#q.reset?.()}flush(_){if(this.ended)return;if(typeof _!=="number")_=this.#x;this.write(Object.assign(p0.alloc(0),{[t1]:_}))}end(_,q,$){if(typeof _==="function")$=_,q=void 0,_=void 0;if(typeof q==="function")$=q,q=void 0;if(_)if(q)this.write(_,q);else this.write(_);return this.flush(this.#X),this.#$=!0,super.end($)}get ended(){return this.#$}[s0](_){return super.write(_)}write(_,q,$){if(typeof q==="function")$=q,q="utf8";if(typeof _==="string")_=p0.from(_,q);if(this.#_)return;r1(this.#q,"zlib binding closed");let Q=this.#q._handle,x=Q.close;Q.close=()=>{};let X=this.#q.close;this.#q.close=()=>{},o1(!0);let V=void 0;try{let K=typeof _[t1]==="number"?_[t1]:this.#Q;V=this.#q._processChunk(_,K),o1(!1)}catch(K){o1(!1),this.#V(new l_(K,this.write))}finally{if(this.#q)this.#q._handle=Q,Q.close=x,this.#q.close=X,this.#q.removeAllListeners("error")}if(this.#q)this.#q.on("error",(K)=>this.#V(new l_(K,this.write)));let J;if(V)if(Array.isArray(V)&&V.length>0){let K=V[0];J=this[s0](p0.from(K));for(let G=1;G<V.length;G++)J=this[s0](V[G])}else J=this[s0](p0.from(V));if($)$();return J}}class e1 extends T6{#_;#$;constructor(_,q){_=_||{},_.flush=_.flush||i.Z_NO_FLUSH,_.finishFlush=_.finishFlush||i.Z_FINISH,_.fullFlushFlag=i.Z_FULL_FLUSH;super(_,q);this.#_=_.level,this.#$=_.strategy}params(_,q){if(this.sawError)return;if(!this.handle)throw Error("cannot switch params when binding is closed");if(!this.handle.params)throw Error("not supported in this implementation");if(this.#_!==_||this.#$!==q){this.flush(i.Z_SYNC_FLUSH),r1(this.handle,"zlib binding closed");let $=this.handle.flush;this.handle.flush=(Q,x)=>{if(typeof Q==="function")x=Q,Q=this.flushFlag;this.flush(Q),x?.()};try{this.handle.params(_,q)}finally{this.handle.flush=$}if(this.handle)this.#_=_,this.#$=q}}}class _2 extends e1{#_;constructor(_){super(_,"Gzip");this.#_=_&&!!_.portable}[s0](_){if(!this.#_)return super[s0](_);return this.#_=!1,_[9]=255,super[s0](_)}}class q2 extends e1{constructor(_){super(_,"Unzip")}}class $2 extends T6{constructor(_,q){_=_||{},_.flush=_.flush||i.BROTLI_OPERATION_PROCESS,_.finishFlush=_.finishFlush||i.BROTLI_OPERATION_FINISH,_.fullFlushFlag=i.BROTLI_OPERATION_FLUSH;super(_,q)}}class Q2 extends $2{constructor(_){super(_,"BrotliCompress")}}class x2 extends $2{constructor(_){super(_,"BrotliDecompress")}}class X2 extends T6{constructor(_,q){_=_||{},_.flush=_.flush||i.ZSTD_e_continue,_.finishFlush=_.finishFlush||i.ZSTD_e_end,_.fullFlushFlag=i.ZSTD_e_flush;super(_,q)}}class V2 extends X2{constructor(_){super(_,"ZstdCompress")}}class J2 extends X2{constructor(_){super(_,"ZstdDecompress")}}import{posix as M_}from"node:path";var e9=(_,q)=>{if(!Number.isSafeInteger(_))throw Error("cannot encode number outside of javascript safe integer range");else if(_<0)L5(_,q);else w5(_,q);return q},w5=(_,q)=>{q[0]=128;for(var $=q.length;$>1;$--)q[$-1]=_&255,_=Math.floor(_/256)},L5=(_,q)=>{q[0]=255;var $=!1;_=_*-1;for(var Q=q.length;Q>1;Q--){var x=_&255;if(_=Math.floor(_/256),$)q[Q-1]=q3(x);else if(x===0)q[Q-1]=0;else $=!0,q[Q-1]=$3(x)}},_3=(_)=>{let q=_[0],$=q===128?M5(_.subarray(1,_.length)):q===255?z5(_):null;if($===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger($))throw Error("parsed number outside of javascript safe integer range");return $},z5=(_)=>{var q=_.length,$=0,Q=!1;for(var x=q-1;x>-1;x--){var X=Number(_[x]),V;if(Q)V=q3(X);else if(X===0)V=X;else Q=!0,V=$3(X);if(V!==0)$-=V*Math.pow(256,q-x-1)}return $},M5=(_)=>{var q=_.length,$=0;for(var Q=q-1;Q>-1;Q--){var x=Number(_[Q]);if(x!==0)$+=x*Math.pow(256,q-Q-1)}return $},q3=(_)=>(255^_)&255,$3=(_)=>(255^_)+1&255;var F6=(_)=>R6.has(_);var R6=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]),Q3=new Map(Array.from(R6).map((_)=>[_[1],_[0]]));class p{cksumValid=!1;needPax=!1;nullBlock=!1;block;path;mode;uid;gid;size;cksum;#_="Unsupported";linkpath;uname;gname;devmaj=0;devmin=0;atime;ctime;mtime;charset;comment;constructor(_,q=0,$,Q){if(Buffer.isBuffer(_))this.decode(_,q||0,$,Q);else if(_)this.#$(_)}decode(_,q,$,Q){if(!q)q=0;if(!_||!(_.length>=q+512))throw Error("need 512 bytes for header");if(this.path=$?.path??n0(_,q,100),this.mode=$?.mode??Q?.mode??R0(_,q+100,8),this.uid=$?.uid??Q?.uid??R0(_,q+108,8),this.gid=$?.gid??Q?.gid??R0(_,q+116,8),this.size=$?.size??Q?.size??R0(_,q+124,12),this.mtime=$?.mtime??Q?.mtime??K2(_,q+136,12),this.cksum=R0(_,q+148,12),Q)this.#$(Q,!0);if($)this.#$($);let x=n0(_,q+156,1);if(F6(x))this.#_=x||"0";if(this.#_==="0"&&this.path.slice(-1)==="/")this.#_="5";if(this.#_==="5")this.size=0;if(this.linkpath=n0(_,q+157,100),_.subarray(q+257,q+265).toString()==="ustar\x0000")if(this.uname=$?.uname??Q?.uname??n0(_,q+265,32),this.gname=$?.gname??Q?.gname??n0(_,q+297,32),this.devmaj=$?.devmaj??Q?.devmaj??R0(_,q+329,8)??0,this.devmin=$?.devmin??Q?.devmin??R0(_,q+337,8)??0,_[q+475]!==0){let V=n0(_,q+345,155);this.path=V+"/"+this.path}else{let V=n0(_,q+345,130);if(V)this.path=V+"/"+this.path;this.atime=$?.atime??Q?.atime??K2(_,q+476,12),this.ctime=$?.ctime??Q?.ctime??K2(_,q+488,12)}let X=256;for(let V=q;V<q+148;V++)X+=_[V];for(let V=q+156;V<q+512;V++)X+=_[V];if(this.cksumValid=X===this.cksum,this.cksum===void 0&&X===256)this.nullBlock=!0}#$(_,q=!1){Object.assign(this,Object.fromEntries(Object.entries(_).filter(([$,Q])=>{return!(Q===null||Q===void 0||$==="path"&&q||$==="linkpath"&&q||$==="global")})))}encode(_,q=0){if(!_)_=this.block=Buffer.alloc(512);if(this.#_==="Unsupported")this.#_="0";if(!(_.length>=q+512))throw Error("need 512 bytes for header");let $=this.ctime||this.atime?130:155,Q=U5(this.path||"",$),x=Q[0],X=Q[1];if(this.needPax=!!Q[2],this.needPax=a0(_,q,100,x)||this.needPax,this.needPax=D0(_,q+100,8,this.mode)||this.needPax,this.needPax=D0(_,q+108,8,this.uid)||this.needPax,this.needPax=D0(_,q+116,8,this.gid)||this.needPax,this.needPax=D0(_,q+124,12,this.size)||this.needPax,this.needPax=Z2(_,q+136,12,this.mtime)||this.needPax,_[q+156]=this.#_.charCodeAt(0),this.needPax=a0(_,q+157,100,this.linkpath)||this.needPax,_.write("ustar\x0000",q+257,8),this.needPax=a0(_,q+265,32,this.uname)||this.needPax,this.needPax=a0(_,q+297,32,this.gname)||this.needPax,this.needPax=D0(_,q+329,8,this.devmaj)||this.needPax,this.needPax=D0(_,q+337,8,this.devmin)||this.needPax,this.needPax=a0(_,q+345,$,X)||this.needPax,_[q+475]!==0)this.needPax=a0(_,q+345,155,X)||this.needPax;else this.needPax=a0(_,q+345,130,X)||this.needPax,this.needPax=Z2(_,q+476,12,this.atime)||this.needPax,this.needPax=Z2(_,q+488,12,this.ctime)||this.needPax;let V=256;for(let J=q;J<q+148;J++)V+=_[J];for(let J=q+156;J<q+512;J++)V+=_[J];return this.cksum=V,D0(_,q+148,8,this.cksum),this.cksumValid=!0,this.needPax}get type(){return this.#_==="Unsupported"?this.#_:R6.get(this.#_)}get typeKey(){return this.#_}set type(_){let q=String(Q3.get(_));if(F6(q)||q==="Unsupported")this.#_=q;else if(F6(_))this.#_=_;else throw TypeError("invalid entry type: "+_)}}var U5=(_,q)=>{let Q=_,x="",X=void 0,V=M_.parse(_).root||".";if(Buffer.byteLength(Q)<100)X=[Q,x,!1];else{x=M_.dirname(Q),Q=M_.basename(Q);do if(Buffer.byteLength(Q)<=100&&Buffer.byteLength(x)<=q)X=[Q,x,!1];else if(Buffer.byteLength(Q)>100&&Buffer.byteLength(x)<=q)X=[Q.slice(0,99),x,!0];else Q=M_.join(M_.basename(x),Q),x=M_.dirname(x);while(x!==V&&X===void 0);if(!X)X=[_.slice(0,99),"",!0]}return X},n0=(_,q,$)=>_.subarray(q,q+$).toString("utf8").replace(/\0.*/,""),K2=(_,q,$)=>O5(R0(_,q,$)),O5=(_)=>_===void 0?void 0:new Date(_*1000),R0=(_,q,$)=>Number(_[q])&128?_3(_.subarray(q,q+$)):j5(_,q,$),C5=(_)=>isNaN(_)?void 0:_,j5=(_,q,$)=>C5(parseInt(_.subarray(q,q+$).toString("utf8").replace(/\0.*$/,"").trim(),8)),B5={12:8589934591,8:2097151},D0=(_,q,$,Q)=>Q===void 0?!1:Q>B5[$]||Q<0?(e9(Q,_.subarray(q,q+$)),!0):(I5(_,q,$,Q),!1),I5=(_,q,$,Q)=>_.write(A5(Q,$),q,$,"ascii"),A5=(_,q)=>T5(Math.floor(_).toString(8),q),T5=(_,q)=>(_.length===q-1?_:Array(q-_.length-1).join("0")+_+" ")+"\x00",Z2=(_,q,$,Q)=>Q===void 0?!1:D0(_,q,$,Q.getTime()/1000),F5=Array(156).join("\x00"),a0=(_,q,$,Q)=>Q===void 0?!1:(_.write(Q+F5,q,$,"utf8"),Q.length!==Buffer.byteLength(Q)||Q.length>$);import{basename as R5}from"node:path";class S0{atime;mtime;ctime;charset;comment;gid;uid;gname;uname;linkpath;dev;ino;nlink;path;size;mode;global;constructor(_,q=!1){this.atime=_.atime,this.charset=_.charset,this.comment=_.comment,this.ctime=_.ctime,this.dev=_.dev,this.gid=_.gid,this.global=q,this.gname=_.gname,this.ino=_.ino,this.linkpath=_.linkpath,this.mtime=_.mtime,this.nlink=_.nlink,this.path=_.path,this.size=_.size,this.uid=_.uid,this.uname=_.uname}encode(){let _=this.encodeBody();if(_==="")return Buffer.allocUnsafe(0);let q=Buffer.byteLength(_),$=512*Math.ceil(1+q/512),Q=Buffer.allocUnsafe($);for(let x=0;x<512;x++)Q[x]=0;new p({path:("PaxHeader/"+R5(this.path??"")).slice(0,99),mode:this.mode||420,uid:this.uid,gid:this.gid,size:q,mtime:this.mtime,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime,ctime:this.ctime}).encode(Q),Q.write(_,512,q,"utf8");for(let x=q+512;x<Q.length;x++)Q[x]=0;return Q}encodeBody(){return this.encodeField("path")+this.encodeField("ctime")+this.encodeField("atime")+this.encodeField("dev")+this.encodeField("ino")+this.encodeField("nlink")+this.encodeField("charset")+this.encodeField("comment")+this.encodeField("gid")+this.encodeField("gname")+this.encodeField("linkpath")+this.encodeField("mtime")+this.encodeField("size")+this.encodeField("uid")+this.encodeField("uname")}encodeField(_){if(this[_]===void 0)return"";let q=this[_],$=q instanceof Date?q.getTime()/1000:q,Q=" "+(_==="dev"||_==="ino"||_==="nlink"?"SCHILY.":"")+_+"="+$+`
|
|
7
|
+
`,x=Buffer.byteLength(Q),X=Math.floor(Math.log(x)/Math.log(10))+1;if(x+X>=Math.pow(10,X))X+=1;return X+x+Q}static parse(_,q,$=!1){return new S0(D5(S5(_),q),$)}}var D5=(_,q)=>q?Object.assign({},q,_):_,S5=(_)=>_.replace(/\n$/,"").split(`
|
|
8
|
+
`).reduce(N5,Object.create(null)),N5=(_,q)=>{let $=parseInt(q,10);if($!==Buffer.byteLength(q)+1)return _;q=q.slice(($+" ").length);let Q=q.split("="),x=Q.shift();if(!x)return _;let X=x.replace(/^SCHILY\.(dev|ino|nlink)/,"$1"),V=Q.join("=");return _[X]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(X)?new Date(Number(V)*1000):/^[0-9]+$/.test(V)?+V:V,_};var h5=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,U=h5!=="win32"?(_)=>_:(_)=>_&&_.replace(/\\/g,"/");class f_ extends c{extended;globalExtended;header;startBlockSize;blockRemain;remain;type;meta=!1;ignore=!1;path;mode;uid;gid;uname;gname;size=0;mtime;atime;ctime;linkpath;dev;ino;nlink;invalid=!1;absolute;unsupported=!1;constructor(_,q,$){super({});switch(this.pause(),this.extended=q,this.globalExtended=$,this.header=_,this.remain=_.size??0,this.startBlockSize=512*Math.ceil(this.remain/512),this.blockRemain=this.startBlockSize,this.type=_.type,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}if(!_.path)throw Error("no path provided for tar.ReadEntry");if(this.path=U(_.path),this.mode=_.mode,this.mode)this.mode=this.mode&4095;if(this.uid=_.uid,this.gid=_.gid,this.uname=_.uname,this.gname=_.gname,this.size=this.remain,this.mtime=_.mtime,this.atime=_.atime,this.ctime=_.ctime,this.linkpath=_.linkpath?U(_.linkpath):void 0,this.uname=_.uname,this.gname=_.gname,q)this.#_(q);if($)this.#_($,!0)}write(_){let q=_.length;if(q>this.blockRemain)throw Error("writing more to entry than is appropriate");let $=this.remain,Q=this.blockRemain;if(this.remain=Math.max(0,$-q),this.blockRemain=Math.max(0,Q-q),this.ignore)return!0;if($>=q)return super.write(_);return super.write(_.subarray(0,$))}#_(_,q=!1){if(_.path)_.path=U(_.path);if(_.linkpath)_.linkpath=U(_.linkpath);Object.assign(this,Object.fromEntries(Object.entries(_).filter(([$,Q])=>{return!(Q===null||Q===void 0||$==="path"&&q)})))}}var o0=(_,q,$,Q={})=>{if(_.file)Q.file=_.file;if(_.cwd)Q.cwd=_.cwd;if(Q.code=$ instanceof Error&&$.code||q,Q.tarCode=q,!_.strict&&Q.recoverable!==!1){if($ instanceof Error)Q=Object.assign($,Q),$=$.message;_.emit("warn",q,$,Q)}else if($ instanceof Error)_.emit("error",Object.assign($,Q));else _.emit("error",Object.assign(Error(`${q}: ${$}`),Q))};var u5=1048576,v2=Buffer.from([31,139]),w2=Buffer.from([40,181,47,253]),y5=Math.max(v2.length,w2.length),s=Symbol("state"),t0=Symbol("writeEntry"),M0=Symbol("readEntry"),G2=Symbol("nextEntry"),X3=Symbol("processEntry"),K0=Symbol("extendedHeader"),i_=Symbol("globalExtendedHeader"),N0=Symbol("meta"),V3=Symbol("emitMeta"),I=Symbol("buffer"),P0=Symbol("queue"),h0=Symbol("ended"),Y2=Symbol("emittedEnd"),r0=Symbol("emit"),R=Symbol("unzip"),D6=Symbol("consumeChunk"),S6=Symbol("consumeChunkSub"),H2=Symbol("consumeBody"),J3=Symbol("consumeMeta"),K3=Symbol("consumeHeader"),p_=Symbol("consuming"),W2=Symbol("bufferConcat"),N6=Symbol("maybeEnd"),P_=Symbol("writing"),g0=Symbol("aborted"),h6=Symbol("onDone"),e0=Symbol("sawValidEntry"),g6=Symbol("sawNullBlock"),u6=Symbol("sawEOF"),Z3=Symbol("closeStream"),k5=()=>!0;class u0 extends g5{file;strict;maxMetaEntrySize;filter;brotli;zstd;writable=!0;readable=!1;[P0]=[];[I];[M0];[t0];[s]="begin";[N0]="";[K0];[i_];[h0]=!1;[R];[g0]=!1;[e0];[g6]=!1;[u6]=!1;[P_]=!1;[p_]=!1;[Y2]=!1;constructor(_={}){super();if(this.file=_.file||"",this.on(h6,()=>{if(this[s]==="begin"||this[e0]===!1)this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),_.ondone)this.on(h6,_.ondone);else this.on(h6,()=>{this.emit("prefinish"),this.emit("finish"),this.emit("end")});this.strict=!!_.strict,this.maxMetaEntrySize=_.maxMetaEntrySize||u5,this.filter=typeof _.filter==="function"?_.filter:k5;let q=_.file&&(_.file.endsWith(".tar.br")||_.file.endsWith(".tbr"));this.brotli=!(_.gzip||_.zstd)&&_.brotli!==void 0?_.brotli:q?void 0:!1;let $=_.file&&(_.file.endsWith(".tar.zst")||_.file.endsWith(".tzst"));if(this.zstd=!(_.gzip||_.brotli)&&_.zstd!==void 0?_.zstd:$?!0:void 0,this.on("end",()=>this[Z3]()),typeof _.onwarn==="function")this.on("warn",_.onwarn);if(typeof _.onReadEntry==="function")this.on("entry",_.onReadEntry)}warn(_,q,$={}){o0(this,_,q,$)}[K3](_,q){if(this[e0]===void 0)this[e0]=!1;let $;try{$=new p(_,q,this[K0],this[i_])}catch(Q){return this.warn("TAR_ENTRY_INVALID",Q)}if($.nullBlock)if(this[g6]){if(this[u6]=!0,this[s]==="begin")this[s]="header";this[r0]("eof")}else this[g6]=!0,this[r0]("nullBlock");else if(this[g6]=!1,!$.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:$});else if(!$.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:$});else{let Q=$.type;if(/^(Symbolic)?Link$/.test(Q)&&!$.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:$});else if(!/^(Symbolic)?Link$/.test(Q)&&!/^(Global)?ExtendedHeader$/.test(Q)&&$.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:$});else{let x=this[t0]=new f_($,this[K0],this[i_]);if(!this[e0])if(x.remain){let X=()=>{if(!x.invalid)this[e0]=!0};x.on("end",X)}else this[e0]=!0;if(x.meta){if(x.size>this.maxMetaEntrySize)x.ignore=!0,this[r0]("ignoredEntry",x),this[s]="ignore",x.resume();else if(x.size>0)this[N0]="",x.on("data",(X)=>this[N0]+=X),this[s]="meta"}else if(this[K0]=void 0,x.ignore=x.ignore||!this.filter(x.path,x),x.ignore)this[r0]("ignoredEntry",x),this[s]=x.remain?"ignore":"header",x.resume();else{if(x.remain)this[s]="body";else this[s]="header",x.end();if(!this[M0])this[P0].push(x),this[G2]();else this[P0].push(x)}}}}[Z3](){queueMicrotask(()=>this.emit("close"))}[X3](_){let q=!0;if(!_)this[M0]=void 0,q=!1;else if(Array.isArray(_)){let[$,...Q]=_;this.emit($,...Q)}else if(this[M0]=_,this.emit("entry",_),!_.emittedEnd)_.on("end",()=>this[G2]()),q=!1;return q}[G2](){do;while(this[X3](this[P0].shift()));if(!this[P0].length){let _=this[M0];if(!_||_.flowing||_.size===_.remain){if(!this[P_])this.emit("drain")}else _.once("drain",()=>this.emit("drain"))}}[H2](_,q){let $=this[t0];if(!$)throw Error("attempt to consume body without entry??");let Q=$.blockRemain??0,x=Q>=_.length&&q===0?_:_.subarray(q,q+Q);if($.write(x),!$.blockRemain)this[s]="header",this[t0]=void 0,$.end();return x.length}[J3](_,q){let $=this[t0],Q=this[H2](_,q);if(!this[t0]&&$)this[V3]($);return Q}[r0](_,q,$){if(!this[P0].length&&!this[M0])this.emit(_,q,$);else this[P0].push([_,q,$])}[V3](_){switch(this[r0]("meta",this[N0]),_.type){case"ExtendedHeader":case"OldExtendedHeader":this[K0]=S0.parse(this[N0],this[K0],!1);break;case"GlobalExtendedHeader":this[i_]=S0.parse(this[N0],this[i_],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":{let q=this[K0]??Object.create(null);this[K0]=q,q.path=this[N0].replace(/\0.*/,"");break}case"NextFileHasLongLinkpath":{let q=this[K0]||Object.create(null);this[K0]=q,q.linkpath=this[N0].replace(/\0.*/,"");break}default:throw Error("unknown meta: "+_.type)}}abort(_){this[g0]=!0,this.emit("abort",_),this.warn("TAR_ABORT",_,{recoverable:!1})}write(_,q,$){if(typeof q==="function")$=q,q=void 0;if(typeof _==="string")_=Buffer.from(_,typeof q==="string"?q:"utf8");if(this[g0])return $?.(),!1;if((this[R]===void 0||this.brotli===void 0&&this[R]===!1)&&_){if(this[I])_=Buffer.concat([this[I],_]),this[I]=void 0;if(_.length<y5)return this[I]=_,$?.(),!0;for(let J=0;this[R]===void 0&&J<v2.length;J++)if(_[J]!==v2[J])this[R]=!1;let X=!1;if(this[R]===!1&&this.zstd!==!1){X=!0;for(let J=0;J<w2.length;J++)if(_[J]!==w2[J]){X=!1;break}}let V=this.brotli===void 0&&!X;if(this[R]===!1&&V)if(_.length<512)if(this[h0])this.brotli=!0;else return this[I]=_,$?.(),!0;else try{new p(_.subarray(0,512)),this.brotli=!1}catch(J){this.brotli=!0}if(this[R]===void 0||this[R]===!1&&(this.brotli||X)){let J=this[h0];this[h0]=!1,this[R]=this[R]===void 0?new q2({}):X?new J2({}):new x2({}),this[R].on("data",(G)=>this[D6](G)),this[R].on("error",(G)=>this.abort(G)),this[R].on("end",()=>{this[h0]=!0,this[D6]()}),this[P_]=!0;let K=!!this[R][J?"end":"write"](_);return this[P_]=!1,$?.(),K}}if(this[P_]=!0,this[R])this[R].write(_);else this[D6](_);this[P_]=!1;let x=this[P0].length?!1:this[M0]?this[M0].flowing:!0;if(!x&&!this[P0].length)this[M0]?.once("drain",()=>this.emit("drain"));return $?.(),x}[W2](_){if(_&&!this[g0])this[I]=this[I]?Buffer.concat([this[I],_]):_}[N6](){if(this[h0]&&!this[Y2]&&!this[g0]&&!this[p_]){this[Y2]=!0;let _=this[t0];if(_&&_.blockRemain){let q=this[I]?this[I].length:0;if(this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${_.blockRemain} more bytes, only ${q} available)`,{entry:_}),this[I])_.write(this[I]);_.end()}this[r0](h6)}}[D6](_){if(this[p_]&&_)this[W2](_);else if(!_&&!this[I])this[N6]();else if(_){if(this[p_]=!0,this[I]){this[W2](_);let q=this[I];this[I]=void 0,this[S6](q)}else this[S6](_);while(this[I]&&this[I]?.length>=512&&!this[g0]&&!this[u6]){let q=this[I];this[I]=void 0,this[S6](q)}this[p_]=!1}if(!this[I]||this[h0])this[N6]()}[S6](_){let q=0,$=_.length;while(q+512<=$&&!this[g0]&&!this[u6])switch(this[s]){case"begin":case"header":this[K3](_,q),q+=512;break;case"ignore":case"body":q+=this[H2](_,q);break;case"meta":q+=this[J3](_,q);break;default:throw Error("invalid state: "+this[s])}if(q<$)if(this[I])this[I]=Buffer.concat([_.subarray(q),this[I]]);else this[I]=_.subarray(q)}end(_,q,$){if(typeof _==="function")$=_,q=void 0,_=void 0;if(typeof q==="function")$=q,q=void 0;if(typeof _==="string")_=Buffer.from(_,q);if($)this.once("finish",$);if(!this[g0])if(this[R]){if(_)this[R].write(_);this[R].end()}else{if(this[h0]=!0,this.brotli===void 0||this.zstd===void 0)_=_||Buffer.alloc(0);if(_)this.write(_);this[N6]()}return this}}var y0=(_)=>{let q=_.length-1,$=-1;while(q>-1&&_.charAt(q)==="/")$=q,q--;return $===-1?_:_.slice(0,$)};var b5=(_)=>{let q=_.onReadEntry;_.onReadEntry=q?($)=>{q($),$.resume()}:($)=>$.resume()},L2=(_,q)=>{let $=new Map(q.map((X)=>[y0(X),!0])),Q=_.filter,x=(X,V="")=>{let J=V||E5(X).root||".",K;if(X===J)K=!1;else{let G=$.get(X);if(G!==void 0)K=G;else K=x(m5(X),J)}return $.set(X,K),K};_.filter=Q?(X,V)=>Q(X,V)&&x(y0(X)):(X)=>x(y0(X))},c5=(_)=>{let q=new u0(_),$=_.file,Q;try{Q=U_.openSync($,"r");let x=U_.fstatSync(Q),X=_.maxReadSize||16777216;if(x.size<X){let V=Buffer.allocUnsafe(x.size),J=U_.readSync(Q,V,0,x.size,0);q.end(J===V.byteLength?V:V.subarray(0,J))}else{let V=0,J=Buffer.allocUnsafe(X);while(V<x.size){let K=U_.readSync(Q,J,0,X,V);if(K===0)break;V+=K,q.write(J.subarray(0,K))}q.end()}}finally{if(typeof Q==="number")try{U_.closeSync(Q)}catch(x){}}},d5=(_,q)=>{let $=new u0(_),Q=_.maxReadSize||16777216,x=_.file;return new Promise((V,J)=>{$.on("error",J),$.on("end",V),U_.stat(x,(K,G)=>{if(K)J(K);else{let Z=new z_(x,{readSize:Q,size:G.size});Z.on("error",J),Z.pipe($)}})})},__=J0(c5,d5,(_)=>new u0(_),(_)=>new u0(_),(_,q)=>{if(q?.length)L2(_,q);if(!_.noResume)b5(_)});import s6 from"fs";import Z0 from"fs";import W3 from"path";var z2=(_,q,$)=>{if(_&=4095,$)_=(_|384)&-19;if(q){if(_&256)_|=64;if(_&32)_|=8;if(_&4)_|=1}return _};import{win32 as l5}from"node:path";var{isAbsolute:f5,parse:G3}=l5,s_=(_)=>{let q="",$=G3(_);while(f5(_)||$.root){let Q=_.charAt(0)==="/"&&_.slice(0,4)!=="//?/"?"/":$.root;_=_.slice(Q.length),q+=Q,$=G3(_)}return[q,_]};var y6=["|","<",">","?",":"],M2=y6.map((_)=>String.fromCharCode(61440+_.charCodeAt(0))),i5=new Map(y6.map((_,q)=>[_,M2[q]])),p5=new Map(M2.map((_,q)=>[_,y6[q]])),P2=(_)=>y6.reduce((q,$)=>q.split($).join(i5.get($)),_),Y3=(_)=>M2.reduce((q,$)=>q.split($).join(p5.get($)),_);var M3=(_,q)=>{if(!q)return U(_);return _=U(_).replace(/^\.(\/|$)/,""),y0(q)+"/"+_},s5=16777216,v3=Symbol("process"),w3=Symbol("file"),L3=Symbol("directory"),O2=Symbol("symlink"),z3=Symbol("hardlink"),n_=Symbol("header"),k6=Symbol("read"),C2=Symbol("lstat"),m6=Symbol("onlstat"),j2=Symbol("onread"),B2=Symbol("onreadlink"),I2=Symbol("openfile"),A2=Symbol("onopenfile"),k0=Symbol("close"),E6=Symbol("mode"),T2=Symbol("awaitDrain"),U2=Symbol("ondrain"),G0=Symbol("prefix");class b6 extends c{path;portable;myuid=process.getuid&&process.getuid()||0;myuser=process.env.USER||"";maxReadSize;linkCache;statCache;preservePaths;cwd;strict;mtime;noPax;noMtime;prefix;fd;blockLen=0;blockRemain=0;buf;pos=0;remain=0;length=0;offset=0;win32;absolute;header;type;linkpath;stat;onWriteEntry;#_=!1;constructor(_,q={}){let $=d_(q);super();if(this.path=U(_),this.portable=!!$.portable,this.maxReadSize=$.maxReadSize||s5,this.linkCache=$.linkCache||new Map,this.statCache=$.statCache||new Map,this.preservePaths=!!$.preservePaths,this.cwd=U($.cwd||process.cwd()),this.strict=!!$.strict,this.noPax=!!$.noPax,this.noMtime=!!$.noMtime,this.mtime=$.mtime,this.prefix=$.prefix?U($.prefix):void 0,this.onWriteEntry=$.onWriteEntry,typeof $.onwarn==="function")this.on("warn",$.onwarn);let Q=!1;if(!this.preservePaths){let[X,V]=s_(this.path);if(X&&typeof V==="string")this.path=V,Q=X}if(this.win32=!!$.win32||process.platform==="win32",this.win32)this.path=Y3(this.path.replace(/\\/g,"/")),_=_.replace(/\\/g,"/");if(this.absolute=U($.absolute||W3.resolve(this.cwd,_)),this.path==="")this.path="./";if(Q)this.warn("TAR_ENTRY_INFO",`stripping ${Q} from absolute path`,{entry:this,path:Q+this.path});let x=this.statCache.get(this.absolute);if(x)this[m6](x);else this[C2]()}warn(_,q,$={}){return o0(this,_,q,$)}emit(_,...q){if(_==="error")this.#_=!0;return super.emit(_,...q)}[C2](){Z0.lstat(this.absolute,(_,q)=>{if(_)return this.emit("error",_);this[m6](q)})}[m6](_){if(this.statCache.set(this.absolute,_),this.stat=_,!_.isFile())_.size=0;this.type=n5(_),this.emit("stat",_),this[v3]()}[v3](){switch(this.type){case"File":return this[w3]();case"Directory":return this[L3]();case"SymbolicLink":return this[O2]();default:return this.end()}}[E6](_){return z2(_,this.type==="Directory",this.portable)}[G0](_){return M3(_,this.prefix)}[n_](){if(!this.stat)throw Error("cannot write header before stat");if(this.type==="Directory"&&this.portable)this.noMtime=!0;if(this.onWriteEntry?.(this),this.header=new p({path:this[G0](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[G0](this.linkpath):this.linkpath,mode:this[E6](this.stat.mode),uid:this.portable?void 0:this.stat.uid,gid:this.portable?void 0:this.stat.gid,size:this.stat.size,mtime:this.noMtime?void 0:this.mtime||this.stat.mtime,type:this.type==="Unsupported"?void 0:this.type,uname:this.portable?void 0:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?void 0:this.stat.atime,ctime:this.portable?void 0:this.stat.ctime}),this.header.encode()&&!this.noPax)super.write(new S0({atime:this.portable?void 0:this.header.atime,ctime:this.portable?void 0:this.header.ctime,gid:this.portable?void 0:this.header.gid,mtime:this.noMtime?void 0:this.mtime||this.header.mtime,path:this[G0](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[G0](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?void 0:this.header.uid,uname:this.portable?void 0:this.header.uname,dev:this.portable?void 0:this.stat.dev,ino:this.portable?void 0:this.stat.ino,nlink:this.portable?void 0:this.stat.nlink}).encode());let _=this.header?.block;if(!_)throw Error("failed to encode header");super.write(_)}[L3](){if(!this.stat)throw Error("cannot create directory entry without stat");if(this.path.slice(-1)!=="/")this.path+="/";this.stat.size=0,this[n_](),this.end()}[O2](){Z0.readlink(this.absolute,(_,q)=>{if(_)return this.emit("error",_);this[B2](q)})}[B2](_){this.linkpath=U(_),this[n_](),this.end()}[z3](_){if(!this.stat)throw Error("cannot create link entry without stat");this.type="Link",this.linkpath=U(W3.relative(this.cwd,_)),this.stat.size=0,this[n_](),this.end()}[w3](){if(!this.stat)throw Error("cannot create file entry without stat");if(this.stat.nlink>1){let _=`${this.stat.dev}:${this.stat.ino}`,q=this.linkCache.get(_);if(q?.indexOf(this.cwd)===0)return this[z3](q);this.linkCache.set(_,this.absolute)}if(this[n_](),this.stat.size===0)return this.end();this[I2]()}[I2](){Z0.open(this.absolute,"r",(_,q)=>{if(_)return this.emit("error",_);this[A2](q)})}[A2](_){if(this.fd=_,this.#_)return this[k0]();if(!this.stat)throw Error("should stat before calling onopenfile");this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let q=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(q),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[k6]()}[k6](){let{fd:_,buf:q,offset:$,length:Q,pos:x}=this;if(_===void 0||q===void 0)throw Error("cannot read file without first opening");Z0.read(_,q,$,Q,x,(X,V)=>{if(X)return this[k0](()=>this.emit("error",X));this[j2](V)})}[k0](_=()=>{}){if(this.fd!==void 0)Z0.close(this.fd,_)}[j2](_){if(_<=0&&this.remain>0){let Q=Object.assign(Error("encountered unexpected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[k0](()=>this.emit("error",Q))}if(_>this.remain){let Q=Object.assign(Error("did not encounter expected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[k0](()=>this.emit("error",Q))}if(!this.buf)throw Error("should have created buffer prior to reading");if(_===this.remain)for(let Q=_;Q<this.length&&_<this.blockRemain;Q++)this.buf[Q+this.offset]=0,_++,this.remain++;let q=this.offset===0&&_===this.buf.length?this.buf:this.buf.subarray(this.offset,this.offset+_);if(!this.write(q))this[T2](()=>this[U2]());else this[U2]()}[T2](_){this.once("drain",_)}write(_,q,$){if(typeof q==="function")$=q,q=void 0;if(typeof _==="string")_=Buffer.from(_,typeof q==="string"?q:"utf8");if(this.blockRemain<_.length){let Q=Object.assign(Error("writing more data than expected"),{path:this.absolute});return this.emit("error",Q)}return this.remain-=_.length,this.blockRemain-=_.length,this.pos+=_.length,this.offset+=_.length,super.write(_,null,$)}[U2](){if(!this.remain){if(this.blockRemain)super.write(Buffer.alloc(this.blockRemain));return this[k0]((_)=>_?this.emit("error",_):this.end())}if(!this.buf)throw Error("buffer lost somehow in ONDRAIN");if(this.offset>=this.length)this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0;this.length=this.buf.length-this.offset,this[k6]()}}class F2 extends b6{sync=!0;[C2](){this[m6](Z0.lstatSync(this.absolute))}[O2](){this[B2](Z0.readlinkSync(this.absolute))}[I2](){this[A2](Z0.openSync(this.absolute,"r"))}[k6](){let _=!0;try{let{fd:q,buf:$,offset:Q,length:x,pos:X}=this;if(q===void 0||$===void 0)throw Error("fd and buf must be set in READ method");let V=Z0.readSync(q,$,Q,x,X);this[j2](V),_=!1}finally{if(_)try{this[k0](()=>{})}catch(q){}}}[T2](_){_()}[k0](_=()=>{}){if(this.fd!==void 0)Z0.closeSync(this.fd);_()}}class R2 extends c{blockLen=0;blockRemain=0;buf=0;pos=0;remain=0;length=0;preservePaths;portable;strict;noPax;noMtime;readEntry;type;prefix;path;mode;uid;gid;uname;gname;header;mtime;atime;ctime;linkpath;size;onWriteEntry;warn(_,q,$={}){return o0(this,_,q,$)}constructor(_,q={}){let $=d_(q);super();this.preservePaths=!!$.preservePaths,this.portable=!!$.portable,this.strict=!!$.strict,this.noPax=!!$.noPax,this.noMtime=!!$.noMtime,this.onWriteEntry=$.onWriteEntry,this.readEntry=_;let{type:Q}=_;if(Q==="Unsupported")throw Error("writing entry that should be ignored");if(this.type=Q,this.type==="Directory"&&this.portable)this.noMtime=!0;if(this.prefix=$.prefix,this.path=U(_.path),this.mode=_.mode!==void 0?this[E6](_.mode):void 0,this.uid=this.portable?void 0:_.uid,this.gid=this.portable?void 0:_.gid,this.uname=this.portable?void 0:_.uname,this.gname=this.portable?void 0:_.gname,this.size=_.size,this.mtime=this.noMtime?void 0:$.mtime||_.mtime,this.atime=this.portable?void 0:_.atime,this.ctime=this.portable?void 0:_.ctime,this.linkpath=_.linkpath!==void 0?U(_.linkpath):void 0,typeof $.onwarn==="function")this.on("warn",$.onwarn);let x=!1;if(!this.preservePaths){let[V,J]=s_(this.path);if(V&&typeof J==="string")this.path=J,x=V}if(this.remain=_.size,this.blockRemain=_.startBlockSize,this.onWriteEntry?.(this),this.header=new p({path:this[G0](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[G0](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?void 0:this.uid,gid:this.portable?void 0:this.gid,size:this.size,mtime:this.noMtime?void 0:this.mtime,type:this.type,uname:this.portable?void 0:this.uname,atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime}),x)this.warn("TAR_ENTRY_INFO",`stripping ${x} from absolute path`,{entry:this,path:x+this.path});if(this.header.encode()&&!this.noPax)super.write(new S0({atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime,gid:this.portable?void 0:this.gid,mtime:this.noMtime?void 0:this.mtime,path:this[G0](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[G0](this.linkpath):this.linkpath,size:this.size,uid:this.portable?void 0:this.uid,uname:this.portable?void 0:this.uname,dev:this.portable?void 0:this.readEntry.dev,ino:this.portable?void 0:this.readEntry.ino,nlink:this.portable?void 0:this.readEntry.nlink}).encode());let X=this.header?.block;if(!X)throw Error("failed to encode header");super.write(X),_.pipe(this)}[G0](_){return M3(_,this.prefix)}[E6](_){return z2(_,this.type==="Directory",this.portable)}write(_,q,$){if(typeof q==="function")$=q,q=void 0;if(typeof _==="string")_=Buffer.from(_,typeof q==="string"?q:"utf8");let Q=_.length;if(Q>this.blockRemain)throw Error("writing more to entry than is appropriate");return this.blockRemain-=Q,super.write(_,$)}end(_,q,$){if(this.blockRemain)super.write(Buffer.alloc(this.blockRemain));if(typeof _==="function")$=_,q=void 0,_=void 0;if(typeof q==="function")$=q,q=void 0;if(typeof _==="string")_=Buffer.from(_,q??"utf8");if($)this.once("finish",$);return _?super.end(_,$):super.end($),this}}var n5=(_)=>_.isFile()?"File":_.isDirectory()?"Directory":_.isSymbolicLink()?"SymbolicLink":"Unsupported";class m0{tail;head;length=0;static create(_=[]){return new m0(_)}constructor(_=[]){for(let q of _)this.push(q)}*[Symbol.iterator](){for(let _=this.head;_;_=_.next)yield _.value}removeNode(_){if(_.list!==this)throw Error("removing node which does not belong to this list");let{next:q,prev:$}=_;if(q)q.prev=$;if($)$.next=q;if(_===this.head)this.head=q;if(_===this.tail)this.tail=$;return this.length--,_.next=void 0,_.prev=void 0,_.list=void 0,q}unshiftNode(_){if(_===this.head)return;if(_.list)_.list.removeNode(_);let q=this.head;if(_.list=this,_.next=q,q)q.prev=_;if(this.head=_,!this.tail)this.tail=_;this.length++}pushNode(_){if(_===this.tail)return;if(_.list)_.list.removeNode(_);let q=this.tail;if(_.list=this,_.prev=q,q)q.next=_;if(this.tail=_,!this.head)this.head=_;this.length++}push(..._){for(let q=0,$=_.length;q<$;q++)o5(this,_[q]);return this.length}unshift(..._){for(var q=0,$=_.length;q<$;q++)t5(this,_[q]);return this.length}pop(){if(!this.tail)return;let _=this.tail.value,q=this.tail;if(this.tail=this.tail.prev,this.tail)this.tail.next=void 0;else this.head=void 0;return q.list=void 0,this.length--,_}shift(){if(!this.head)return;let _=this.head.value,q=this.head;if(this.head=this.head.next,this.head)this.head.prev=void 0;else this.tail=void 0;return q.list=void 0,this.length--,_}forEach(_,q){q=q||this;for(let $=this.head,Q=0;$;Q++)_.call(q,$.value,Q,this),$=$.next}forEachReverse(_,q){q=q||this;for(let $=this.tail,Q=this.length-1;$;Q--)_.call(q,$.value,Q,this),$=$.prev}get(_){let q=0,$=this.head;for(;!!$&&q<_;q++)$=$.next;if(q===_&&!!$)return $.value}getReverse(_){let q=0,$=this.tail;for(;!!$&&q<_;q++)$=$.prev;if(q===_&&!!$)return $.value}map(_,q){q=q||this;let $=new m0;for(let Q=this.head;Q;)$.push(_.call(q,Q.value,this)),Q=Q.next;return $}mapReverse(_,q){q=q||this;var $=new m0;for(let Q=this.tail;Q;)$.push(_.call(q,Q.value,this)),Q=Q.prev;return $}reduce(_,q){let $,Q=this.head;if(arguments.length>1)$=q;else if(this.head)Q=this.head.next,$=this.head.value;else throw TypeError("Reduce of empty list with no initial value");for(var x=0;Q;x++)$=_($,Q.value,x),Q=Q.next;return $}reduceReverse(_,q){let $,Q=this.tail;if(arguments.length>1)$=q;else if(this.tail)Q=this.tail.prev,$=this.tail.value;else throw TypeError("Reduce of empty list with no initial value");for(let x=this.length-1;Q;x--)$=_($,Q.value,x),Q=Q.prev;return $}toArray(){let _=Array(this.length);for(let q=0,$=this.head;$;q++)_[q]=$.value,$=$.next;return _}toArrayReverse(){let _=Array(this.length);for(let q=0,$=this.tail;$;q++)_[q]=$.value,$=$.prev;return _}slice(_=0,q=this.length){if(q<0)q+=this.length;if(_<0)_+=this.length;let $=new m0;if(q<_||q<0)return $;if(_<0)_=0;if(q>this.length)q=this.length;let Q=this.head,x=0;for(x=0;!!Q&&x<_;x++)Q=Q.next;for(;!!Q&&x<q;x++,Q=Q.next)$.push(Q.value);return $}sliceReverse(_=0,q=this.length){if(q<0)q+=this.length;if(_<0)_+=this.length;let $=new m0;if(q<_||q<0)return $;if(_<0)_=0;if(q>this.length)q=this.length;let Q=this.length,x=this.tail;for(;!!x&&Q>q;Q--)x=x.prev;for(;!!x&&Q>_;Q--,x=x.prev)$.push(x.value);return $}splice(_,q=0,...$){if(_>this.length)_=this.length-1;if(_<0)_=this.length+_;let Q=this.head;for(let X=0;!!Q&&X<_;X++)Q=Q.next;let x=[];for(let X=0;!!Q&&X<q;X++)x.push(Q.value),Q=this.removeNode(Q);if(!Q)Q=this.tail;else if(Q!==this.tail)Q=Q.prev;for(let X of $)Q=a5(this,Q,X);return x}reverse(){let _=this.head,q=this.tail;for(let $=_;$;$=$.prev){let Q=$.prev;$.prev=$.next,$.next=Q}return this.head=q,this.tail=_,this}}function a5(_,q,$){let Q=q,x=q?q.next:_.head,X=new c6($,Q,x,_);if(X.next===void 0)_.tail=X;if(X.prev===void 0)_.head=X;return _.length++,X}function o5(_,q){if(_.tail=new c6(q,_.tail,void 0,_),!_.head)_.head=_.tail;_.length++}function t5(_,q){if(_.head=new c6(q,void 0,_.head,_),!_.tail)_.tail=_.head;_.length++}class c6{list;next;prev;value;constructor(_,q,$,Q){if(this.list=Q,this.value=_,q)q.next=this,this.prev=q;else this.prev=void 0;if($)$.prev=this,this.next=$;else this.next=void 0}}import C3 from"path";class g2{path;absolute;entry;stat;readdir;pending=!1;ignore=!1;piped=!1;constructor(_,q){this.path=_||"./",this.absolute=q}}var P3=Buffer.alloc(1024),d6=Symbol("onStat"),a_=Symbol("ended"),_0=Symbol("queue"),q_=Symbol("current"),$_=Symbol("process"),o_=Symbol("processing"),D2=Symbol("processJob"),q0=Symbol("jobs"),S2=Symbol("jobDone"),l6=Symbol("addFSEntry"),U3=Symbol("addTarEntry"),u2=Symbol("stat"),y2=Symbol("readdir"),f6=Symbol("onreaddir"),i6=Symbol("pipe"),O3=Symbol("entry"),N2=Symbol("entryOpt"),p6=Symbol("writeEntryClass"),j3=Symbol("write"),h2=Symbol("ondrain");class Q_ extends c{sync=!1;opt;cwd;maxReadSize;preservePaths;strict;noPax;prefix;linkCache;statCache;file;portable;zip;readdirCache;noDirRecurse;follow;noMtime;mtime;filter;jobs;[p6];onWriteEntry;[_0];[q0]=0;[o_]=!1;[a_]=!1;constructor(_={}){super();if(this.opt=_,this.file=_.file||"",this.cwd=_.cwd||process.cwd(),this.maxReadSize=_.maxReadSize,this.preservePaths=!!_.preservePaths,this.strict=!!_.strict,this.noPax=!!_.noPax,this.prefix=U(_.prefix||""),this.linkCache=_.linkCache||new Map,this.statCache=_.statCache||new Map,this.readdirCache=_.readdirCache||new Map,this.onWriteEntry=_.onWriteEntry,this[p6]=b6,typeof _.onwarn==="function")this.on("warn",_.onwarn);if(this.portable=!!_.portable,_.gzip||_.brotli||_.zstd){if((_.gzip?1:0)+(_.brotli?1:0)+(_.zstd?1:0)>1)throw TypeError("gzip, brotli, zstd are mutually exclusive");if(_.gzip){if(typeof _.gzip!=="object")_.gzip={};if(this.portable)_.gzip.portable=!0;this.zip=new _2(_.gzip)}if(_.brotli){if(typeof _.brotli!=="object")_.brotli={};this.zip=new Q2(_.brotli)}if(_.zstd){if(typeof _.zstd!=="object")_.zstd={};this.zip=new V2(_.zstd)}if(!this.zip)throw Error("impossible");let q=this.zip;q.on("data",($)=>super.write($)),q.on("end",()=>super.end()),q.on("drain",()=>this[h2]()),this.on("resume",()=>q.resume())}else this.on("drain",this[h2]);if(this.noDirRecurse=!!_.noDirRecurse,this.follow=!!_.follow,this.noMtime=!!_.noMtime,_.mtime)this.mtime=_.mtime;this.filter=typeof _.filter==="function"?_.filter:()=>!0,this[_0]=new m0,this[q0]=0,this.jobs=Number(_.jobs)||4,this[o_]=!1,this[a_]=!1}[j3](_){return super.write(_)}add(_){return this.write(_),this}end(_,q,$){if(typeof _==="function")$=_,_=void 0;if(typeof q==="function")$=q,q=void 0;if(_)this.add(_);if(this[a_]=!0,this[$_](),$)$();return this}write(_){if(this[a_])throw Error("write after end");if(_ instanceof f_)this[U3](_);else this[l6](_);return this.flowing}[U3](_){let q=U(C3.resolve(this.cwd,_.path));if(!this.filter(_.path,_))_.resume();else{let $=new g2(_.path,q);$.entry=new R2(_,this[N2]($)),$.entry.on("end",()=>this[S2]($)),this[q0]+=1,this[_0].push($)}this[$_]()}[l6](_){let q=U(C3.resolve(this.cwd,_));this[_0].push(new g2(_,q)),this[$_]()}[u2](_){_.pending=!0,this[q0]+=1;let q=this.follow?"stat":"lstat";s6[q](_.absolute,($,Q)=>{if(_.pending=!1,this[q0]-=1,$)this.emit("error",$);else this[d6](_,Q)})}[d6](_,q){if(this.statCache.set(_.absolute,q),_.stat=q,!this.filter(_.path,q))_.ignore=!0;else if(q.isFile()&&q.nlink>1&&_===this[q_]&&!this.linkCache.get(`${q.dev}:${q.ino}`)&&!this.sync)this[D2](_);this[$_]()}[y2](_){_.pending=!0,this[q0]+=1,s6.readdir(_.absolute,(q,$)=>{if(_.pending=!1,this[q0]-=1,q)return this.emit("error",q);this[f6](_,$)})}[f6](_,q){this.readdirCache.set(_.absolute,q),_.readdir=q,this[$_]()}[$_](){if(this[o_])return;this[o_]=!0;for(let _=this[_0].head;!!_&&this[q0]<this.jobs;_=_.next)if(this[D2](_.value),_.value.ignore){let q=_.next;this[_0].removeNode(_),_.next=q}if(this[o_]=!1,this[a_]&&!this[_0].length&&this[q0]===0)if(this.zip)this.zip.end(P3);else super.write(P3),super.end()}get[q_](){return this[_0]&&this[_0].head&&this[_0].head.value}[S2](_){this[_0].shift(),this[q0]-=1,this[$_]()}[D2](_){if(_.pending)return;if(_.entry){if(_===this[q_]&&!_.piped)this[i6](_);return}if(!_.stat){let q=this.statCache.get(_.absolute);if(q)this[d6](_,q);else this[u2](_)}if(!_.stat)return;if(_.ignore)return;if(!this.noDirRecurse&&_.stat.isDirectory()&&!_.readdir){let q=this.readdirCache.get(_.absolute);if(q)this[f6](_,q);else this[y2](_);if(!_.readdir)return}if(_.entry=this[O3](_),!_.entry){_.ignore=!0;return}if(_===this[q_]&&!_.piped)this[i6](_)}[N2](_){return{onwarn:(q,$,Q)=>this.warn(q,$,Q),noPax:this.noPax,cwd:this.cwd,absolute:_.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix,onWriteEntry:this.onWriteEntry}}[O3](_){this[q0]+=1;try{return new this[p6](_.path,this[N2](_)).on("end",()=>this[S2](_)).on("error",($)=>this.emit("error",$))}catch(q){this.emit("error",q)}}[h2](){if(this[q_]&&this[q_].entry)this[q_].entry.resume()}[i6](_){if(_.piped=!0,_.readdir)_.readdir.forEach((Q)=>{let x=_.path,X=x==="./"?"":x.replace(/\/*$/,"/");this[l6](X+Q)});let q=_.entry,$=this.zip;if(!q)throw Error("cannot pipe without source");if($)q.on("data",(Q)=>{if(!$.write(Q))q.pause()});else q.on("data",(Q)=>{if(!super.write(Q))q.pause()})}pause(){if(this.zip)this.zip.pause();return super.pause()}warn(_,q,$={}){o0(this,_,q,$)}}class O_ extends Q_{sync=!0;constructor(_){super(_);this[p6]=F2}pause(){}resume(){}[u2](_){let q=this.follow?"statSync":"lstatSync";this[d6](_,s6[q](_.absolute))}[y2](_){this[f6](_,s6.readdirSync(_.absolute))}[i6](_){let q=_.entry,$=this.zip;if(_.readdir)_.readdir.forEach((Q)=>{let x=_.path,X=x==="./"?"":x.replace(/\/*$/,"/");this[l6](X+Q)});if(!q)throw Error("Cannot pipe without source");if($)q.on("data",(Q)=>{$.write(Q)});else q.on("data",(Q)=>{super[j3](Q)})}}var r5=(_,q)=>{let $=new O_(_),Q=new c_(_.file,{mode:_.mode||438});$.pipe(Q),I3($,q)},e5=(_,q)=>{let $=new Q_(_),Q=new F0(_.file,{mode:_.mode||438});$.pipe(Q);let x=new Promise((X,V)=>{Q.on("error",V),Q.on("close",X),$.on("error",V)});return A3($,q),x},I3=(_,q)=>{q.forEach(($)=>{if($.charAt(0)==="@")__({file:B3.resolve(_.cwd,$.slice(1)),sync:!0,noResume:!0,onReadEntry:(Q)=>_.add(Q)});else _.add($)}),_.end()},A3=async(_,q)=>{for(let $=0;$<q.length;$++){let Q=String(q[$]);if(Q.charAt(0)==="@")await __({file:B3.resolve(String(_.cwd),Q.slice(1)),noResume:!0,onReadEntry:(x)=>{_.add(x)}});else _.add(Q)}_.end()},_7=(_,q)=>{let $=new O_(_);return I3($,q),$},q7=(_,q)=>{let $=new Q_(_);return A3($,q),$},$7=J0(r5,e5,_7,q7,(_,q)=>{if(!q?.length)throw TypeError("no paths specified to add to archive")});import l3 from"node:fs";import P7 from"node:assert";import{randomBytes as d3}from"node:crypto";import O from"node:fs";import n from"node:path";import T3 from"fs";var Q7=process.env.__FAKE_PLATFORM__||process.platform,x7=Q7==="win32",{O_CREAT:X7,O_TRUNC:V7,O_WRONLY:J7}=T3.constants,F3=Number(process.env.__FAKE_FS_O_FILENAME__)||T3.constants.UV_FS_O_FILEMAP||0,K7=x7&&!!F3,Z7=524288,G7=F3|V7|X7|J7,k2=!K7?()=>"w":(_)=>_<Z7?G7:"w";import a6 from"node:fs";import t_ from"node:path";var m2=(_,q,$)=>{try{return a6.lchownSync(_,q,$)}catch(Q){if(Q?.code!=="ENOENT")throw Q}},n6=(_,q,$,Q)=>{a6.lchown(_,q,$,(x)=>{Q(x&&x?.code!=="ENOENT"?x:null)})},Y7=(_,q,$,Q,x)=>{if(q.isDirectory())E2(t_.resolve(_,q.name),$,Q,(X)=>{if(X)return x(X);let V=t_.resolve(_,q.name);n6(V,$,Q,x)});else{let X=t_.resolve(_,q.name);n6(X,$,Q,x)}},E2=(_,q,$,Q)=>{a6.readdir(_,{withFileTypes:!0},(x,X)=>{if(x){if(x.code==="ENOENT")return Q();else if(x.code!=="ENOTDIR"&&x.code!=="ENOTSUP")return Q(x)}if(x||!X.length)return n6(_,q,$,Q);let V=X.length,J=null,K=(G)=>{if(J)return;if(G)return Q(J=G);if(--V===0)return n6(_,q,$,Q)};for(let G of X)Y7(_,G,q,$,K)})},H7=(_,q,$,Q)=>{if(q.isDirectory())b2(t_.resolve(_,q.name),$,Q);m2(t_.resolve(_,q.name),$,Q)},b2=(_,q,$)=>{let Q;try{Q=a6.readdirSync(_,{withFileTypes:!0})}catch(x){let X=x;if(X?.code==="ENOENT")return;else if(X?.code==="ENOTDIR"||X?.code==="ENOTSUP")return m2(_,q,$);else throw X}for(let x of Q)H7(_,x,q,$);return m2(_,q,$)};import d from"node:fs";import W7 from"node:fs/promises";import r6 from"node:path";class o6 extends Error{path;code;syscall="chdir";constructor(_,q){super(`${q}: Cannot cd into '${_}'`);this.path=_,this.code=q}get name(){return"CwdError"}}class t6 extends Error{path;symlink;syscall="symlink";code="TAR_SYMLINK_ERROR";constructor(_,q){super("TAR_SYMLINK_ERROR: Cannot extract through symbolic link");this.symlink=_,this.path=q}get name(){return"SymlinkError"}}var v7=(_,q)=>{d.stat(_,($,Q)=>{if($||!Q.isDirectory())$=new o6(_,$?.code||"ENOTDIR");q($)})},R3=(_,q,$)=>{_=U(_);let Q=q.umask??18,x=q.mode|448,X=(x&Q)!==0,V=q.uid,J=q.gid,K=typeof V==="number"&&typeof J==="number"&&(V!==q.processUid||J!==q.processGid),G=q.preserve,Z=q.unlink,Y=U(q.cwd),H=(z,M)=>{if(z)$(z);else if(M&&K)E2(M,V,J,(y)=>H(y));else if(X)d.chmod(_,x,$);else $()};if(_===Y)return v7(_,H);if(G)return W7.mkdir(_,{mode:x,recursive:!0}).then((z)=>H(null,z??void 0),H);let L=U(r6.relative(Y,_)).split("/");c2(Y,L,x,Z,Y,void 0,H)},c2=(_,q,$,Q,x,X,V)=>{if(!q.length)return V(null,X);let J=q.shift(),K=U(r6.resolve(_+"/"+J));d.mkdir(K,$,D3(K,q,$,Q,x,X,V))},D3=(_,q,$,Q,x,X,V)=>(J)=>{if(J)d.lstat(_,(K,G)=>{if(K)K.path=K.path&&U(K.path),V(K);else if(G.isDirectory())c2(_,q,$,Q,x,X,V);else if(Q)d.unlink(_,(Z)=>{if(Z)return V(Z);d.mkdir(_,$,D3(_,q,$,Q,x,X,V))});else if(G.isSymbolicLink())return V(new t6(_,_+"/"+q.join("/")));else V(J)});else X=X||_,c2(_,q,$,Q,x,X,V)},w7=(_)=>{let q=!1,$=void 0;try{q=d.statSync(_).isDirectory()}catch(Q){$=Q?.code}finally{if(!q)throw new o6(_,$??"ENOTDIR")}},S3=(_,q)=>{_=U(_);let $=q.umask??18,Q=q.mode|448,x=(Q&$)!==0,X=q.uid,V=q.gid,J=typeof X==="number"&&typeof V==="number"&&(X!==q.processUid||V!==q.processGid),K=q.preserve,G=q.unlink,Z=U(q.cwd),Y=(z)=>{if(z&&J)b2(z,X,V);if(x)d.chmodSync(_,Q)};if(_===Z)return w7(Z),Y();if(K)return Y(d.mkdirSync(_,{mode:Q,recursive:!0})??void 0);let w=U(r6.relative(Z,_)).split("/"),L=void 0;for(let z=w.shift(),M=Z;z&&(M+="/"+z);z=w.shift()){M=U(r6.resolve(M));try{d.mkdirSync(M,Q),L=L||M}catch(y){let f=d.lstatSync(M);if(f.isDirectory())continue;else if(G){d.unlinkSync(M),d.mkdirSync(M,Q),L=L||M;continue}else if(f.isSymbolicLink())return new t6(M,M+"/"+w.join("/"))}}return Y(L)};import{join as h3}from"node:path";var d2=Object.create(null);var C_=new Set,N3=(_)=>{if(!C_.has(_))d2[_]=_.normalize("NFD").toLocaleLowerCase("en").toLocaleUpperCase("en");else C_.delete(_);C_.add(_);let q=d2[_],$=C_.size-1e4;if($>1000){for(let Q of C_)if(C_.delete(Q),delete d2[Q],--$<=0)break}return q};var L7=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,z7=L7==="win32",M7=(_)=>{return _.split("/").slice(0,-1).reduce(($,Q)=>{let x=$[$.length-1];if(x!==void 0)Q=h3(x,Q);return $.push(Q||"/"),$},[])};class l2{#_=new Map;#$=new Map;#Q=new Set;reserve(_,q){_=z7?["win32 parallelization disabled"]:_.map((Q)=>{return y0(h3(N3(Q)))});let $=new Set(_.map((Q)=>M7(Q)).reduce((Q,x)=>Q.concat(x)));this.#$.set(q,{dirs:$,paths:_});for(let Q of _){let x=this.#_.get(Q);if(!x)this.#_.set(Q,[q]);else x.push(q)}for(let Q of $){let x=this.#_.get(Q);if(!x)this.#_.set(Q,[new Set([q])]);else{let X=x[x.length-1];if(X instanceof Set)X.add(q);else x.push(new Set([q]))}}return this.#x(q)}#X(_){let q=this.#$.get(_);if(!q)throw Error("function does not have any path reservations");return{paths:q.paths.map(($)=>this.#_.get($)),dirs:[...q.dirs].map(($)=>this.#_.get($))}}check(_){let{paths:q,dirs:$}=this.#X(_);return q.every((Q)=>Q&&Q[0]===_)&&$.every((Q)=>Q&&Q[0]instanceof Set&&Q[0].has(_))}#x(_){if(this.#Q.has(_)||!this.check(_))return!1;return this.#Q.add(_),_(()=>this.#q(_)),!0}#q(_){if(!this.#Q.has(_))return!1;let q=this.#$.get(_);if(!q)throw Error("invalid reservation");let{paths:$,dirs:Q}=q,x=new Set;for(let X of $){let V=this.#_.get(X);if(!V||V?.[0]!==_)continue;let J=V[1];if(!J){this.#_.delete(X);continue}if(V.shift(),typeof J==="function")x.add(J);else for(let K of J)x.add(K)}for(let X of Q){let V=this.#_.get(X),J=V?.[0];if(!V||!(J instanceof Set))continue;if(J.size===1&&V.length===1){this.#_.delete(X);continue}else if(J.size===1){V.shift();let K=V[0];if(typeof K==="function")x.add(K)}else J.delete(_)}return this.#Q.delete(_),x.forEach((X)=>this.#x(X)),!0}}var g3=Symbol("onEntry"),s2=Symbol("checkFs"),u3=Symbol("checkFs2"),n2=Symbol("isReusable"),a=Symbol("makeFs"),a2=Symbol("file"),o2=Symbol("directory"),q1=Symbol("link"),y3=Symbol("symlink"),k3=Symbol("hardlink"),m3=Symbol("unsupported"),E3=Symbol("checkPath"),f2=Symbol("stripAbsolutePath"),E0=Symbol("mkdir"),u=Symbol("onError"),e6=Symbol("pending"),b3=Symbol("pend"),j_=Symbol("unpend"),i2=Symbol("ended"),p2=Symbol("maybeClose"),t2=Symbol("skip"),r_=Symbol("doChown"),e_=Symbol("uid"),_6=Symbol("gid"),q6=Symbol("checkedCwd"),U7=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,$6=U7==="win32",O7=1024,C7=(_,q)=>{if(!$6)return O.unlink(_,q);let $=_+".DELETE."+d3(16).toString("hex");O.rename(_,$,(Q)=>{if(Q)return q(Q);O.unlink($,q)})},j7=(_)=>{if(!$6)return O.unlinkSync(_);let q=_+".DELETE."+d3(16).toString("hex");O.renameSync(_,q),O.unlinkSync(q)},c3=(_,q,$)=>_!==void 0&&_===_>>>0?_:q!==void 0&&q===q>>>0?q:$;class Q6 extends u0{[i2]=!1;[q6]=!1;[e6]=0;reservations=new l2;transform;writable=!0;readable=!1;uid;gid;setOwner;preserveOwner;processGid;processUid;maxDepth;forceChown;win32;newer;keep;noMtime;preservePaths;unlink;cwd;strip;processUmask;umask;dmode;fmode;chmod;constructor(_={}){_.ondone=()=>{this[i2]=!0,this[p2]()};super(_);if(this.transform=_.transform,this.chmod=!!_.chmod,typeof _.uid==="number"||typeof _.gid==="number"){if(typeof _.uid!=="number"||typeof _.gid!=="number")throw TypeError("cannot set owner without number uid and gid");if(_.preserveOwner)throw TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=_.uid,this.gid=_.gid,this.setOwner=!0}else this.uid=void 0,this.gid=void 0,this.setOwner=!1;if(_.preserveOwner===void 0&&typeof _.uid!=="number")this.preserveOwner=!!(process.getuid&&process.getuid()===0);else this.preserveOwner=!!_.preserveOwner;this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():void 0,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():void 0,this.maxDepth=typeof _.maxDepth==="number"?_.maxDepth:O7,this.forceChown=_.forceChown===!0,this.win32=!!_.win32||$6,this.newer=!!_.newer,this.keep=!!_.keep,this.noMtime=!!_.noMtime,this.preservePaths=!!_.preservePaths,this.unlink=!!_.unlink,this.cwd=U(n.resolve(_.cwd||process.cwd())),this.strip=Number(_.strip)||0,this.processUmask=!this.chmod?0:typeof _.processUmask==="number"?_.processUmask:process.umask(),this.umask=typeof _.umask==="number"?_.umask:this.processUmask,this.dmode=_.dmode||511&~this.umask,this.fmode=_.fmode||438&~this.umask,this.on("entry",(q)=>this[g3](q))}warn(_,q,$={}){if(_==="TAR_BAD_ARCHIVE"||_==="TAR_ABORT")$.recoverable=!1;return super.warn(_,q,$)}[p2](){if(this[i2]&&this[e6]===0)this.emit("prefinish"),this.emit("finish"),this.emit("end")}[f2](_,q){let $=_[q];if(!$||this.preservePaths)return!0;let Q=$.split("/");if(Q.includes("..")||$6&&/^[a-z]:\.\.$/i.test(Q[0]??""))if(q==="path")return this.warn("TAR_ENTRY_ERROR",`${q} contains '..'`,{entry:_,[q]:$}),!1;else{let V=n.posix.dirname(_.path),J=n.posix.normalize(n.posix.join(V,$));if(J.startsWith("../")||J==="..")return this.warn("TAR_ENTRY_ERROR",`${q} escapes extraction directory`,{entry:_,[q]:$}),!1}let[x,X]=s_($);if(x)_[q]=String(X),this.warn("TAR_ENTRY_INFO",`stripping ${x} from absolute ${q}`,{entry:_,[q]:$});return!0}[E3](_){let q=U(_.path),$=q.split("/");if(this.strip){if($.length<this.strip)return!1;if(_.type==="Link"){let Q=U(String(_.linkpath)).split("/");if(Q.length>=this.strip)_.linkpath=Q.slice(this.strip).join("/");else return!1}$.splice(0,this.strip),_.path=$.join("/")}if(isFinite(this.maxDepth)&&$.length>this.maxDepth)return this.warn("TAR_ENTRY_ERROR","path excessively deep",{entry:_,path:q,depth:$.length,maxDepth:this.maxDepth}),!1;if(!this[f2](_,"path")||!this[f2](_,"linkpath"))return!1;if(n.isAbsolute(_.path))_.absolute=U(n.resolve(_.path));else _.absolute=U(n.resolve(this.cwd,_.path));if(!this.preservePaths&&typeof _.absolute==="string"&&_.absolute.indexOf(this.cwd+"/")!==0&&_.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:_,path:U(_.path),resolvedPath:_.absolute,cwd:this.cwd}),!1;if(_.absolute===this.cwd&&_.type!=="Directory"&&_.type!=="GNUDumpDir")return!1;if(this.win32){let{root:Q}=n.win32.parse(String(_.absolute));_.absolute=Q+P2(String(_.absolute).slice(Q.length));let{root:x}=n.win32.parse(_.path);_.path=x+P2(_.path.slice(x.length))}return!0}[g3](_){if(!this[E3](_))return _.resume();switch(P7.equal(typeof _.absolute,"string"),_.type){case"Directory":case"GNUDumpDir":if(_.mode)_.mode=_.mode|448;case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[s2](_);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[m3](_)}}[u](_,q){if(_.name==="CwdError")this.emit("error",_);else this.warn("TAR_ENTRY_ERROR",_,{entry:q}),this[j_](),q.resume()}[E0](_,q,$){R3(U(_),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:q},$)}[r_](_){return this.forceChown||this.preserveOwner&&(typeof _.uid==="number"&&_.uid!==this.processUid||typeof _.gid==="number"&&_.gid!==this.processGid)||typeof this.uid==="number"&&this.uid!==this.processUid||typeof this.gid==="number"&&this.gid!==this.processGid}[e_](_){return c3(this.uid,_.uid,this.processUid)}[_6](_){return c3(this.gid,_.gid,this.processGid)}[a2](_,q){let $=typeof _.mode==="number"?_.mode&4095:this.fmode,Q=new F0(String(_.absolute),{flags:k2(_.size),mode:$,autoClose:!1});Q.on("error",(J)=>{if(Q.fd)O.close(Q.fd,()=>{});Q.write=()=>!0,this[u](J,_),q()});let x=1,X=(J)=>{if(J){if(Q.fd)O.close(Q.fd,()=>{});this[u](J,_),q();return}if(--x===0){if(Q.fd!==void 0)O.close(Q.fd,(K)=>{if(K)this[u](K,_);else this[j_]();q()})}};Q.on("finish",()=>{let J=String(_.absolute),K=Q.fd;if(typeof K==="number"&&_.mtime&&!this.noMtime){x++;let G=_.atime||new Date,Z=_.mtime;O.futimes(K,G,Z,(Y)=>Y?O.utimes(J,G,Z,(H)=>X(H&&Y)):X())}if(typeof K==="number"&&this[r_](_)){x++;let G=this[e_](_),Z=this[_6](_);if(typeof G==="number"&&typeof Z==="number")O.fchown(K,G,Z,(Y)=>Y?O.chown(J,G,Z,(H)=>X(H&&Y)):X())}X()});let V=this.transform?this.transform(_)||_:_;if(V!==_)V.on("error",(J)=>{this[u](J,_),q()}),_.pipe(V);V.pipe(Q)}[o2](_,q){let $=typeof _.mode==="number"?_.mode&4095:this.dmode;this[E0](String(_.absolute),$,(Q)=>{if(Q){this[u](Q,_),q();return}let x=1,X=()=>{if(--x===0)q(),this[j_](),_.resume()};if(_.mtime&&!this.noMtime)x++,O.utimes(String(_.absolute),_.atime||new Date,_.mtime,X);if(this[r_](_))x++,O.chown(String(_.absolute),Number(this[e_](_)),Number(this[_6](_)),X);X()})}[m3](_){_.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${_.type}`,{entry:_}),_.resume()}[y3](_,q){this[q1](_,String(_.linkpath),"symlink",q)}[k3](_,q){let $=U(n.resolve(this.cwd,String(_.linkpath)));this[q1](_,$,"link",q)}[b3](){this[e6]++}[j_](){this[e6]--,this[p2]()}[t2](_){this[j_](),_.resume()}[n2](_,q){return _.type==="File"&&!this.unlink&&q.isFile()&&q.nlink<=1&&!$6}[s2](_){this[b3]();let q=[_.path];if(_.linkpath)q.push(_.linkpath);this.reservations.reserve(q,($)=>this[u3](_,$))}[u3](_,q){let $=(V)=>{q(V)},Q=()=>{this[E0](this.cwd,this.dmode,(V)=>{if(V){this[u](V,_),$();return}this[q6]=!0,x()})},x=()=>{if(_.absolute!==this.cwd){let V=U(n.dirname(String(_.absolute)));if(V!==this.cwd)return this[E0](V,this.dmode,(J)=>{if(J){this[u](J,_),$();return}X()})}X()},X=()=>{O.lstat(String(_.absolute),(V,J)=>{if(J&&(this.keep||this.newer&&J.mtime>(_.mtime??J.mtime))){this[t2](_),$();return}if(V||this[n2](_,J))return this[a](null,_,$);if(J.isDirectory()){if(_.type==="Directory"){let K=this.chmod&&_.mode&&(J.mode&4095)!==_.mode,G=(Z)=>this[a](Z??null,_,$);if(!K)return G();return O.chmod(String(_.absolute),Number(_.mode),G)}if(_.absolute!==this.cwd)return O.rmdir(String(_.absolute),(K)=>this[a](K??null,_,$))}if(_.absolute===this.cwd)return this[a](null,_,$);C7(String(_.absolute),(K)=>this[a](K??null,_,$))})};if(this[q6])x();else Q()}[a](_,q,$){if(_){this[u](_,q),$();return}switch(q.type){case"File":case"OldFile":case"ContiguousFile":return this[a2](q,$);case"Link":return this[k3](q,$);case"SymbolicLink":return this[y3](q,$);case"Directory":case"GNUDumpDir":return this[o2](q,$)}}[q1](_,q,$,Q){O[$](q,String(_.absolute),(x)=>{if(x)this[u](x,_);else this[j_](),_.resume();Q()})}}var _1=(_)=>{try{return[null,_()]}catch(q){return[q,null]}};class $1 extends Q6{sync=!0;[a](_,q){return super[a](_,q,()=>{})}[s2](_){if(!this[q6]){let x=this[E0](this.cwd,this.dmode);if(x)return this[u](x,_);this[q6]=!0}if(_.absolute!==this.cwd){let x=U(n.dirname(String(_.absolute)));if(x!==this.cwd){let X=this[E0](x,this.dmode);if(X)return this[u](X,_)}}let[q,$]=_1(()=>O.lstatSync(String(_.absolute)));if($&&(this.keep||this.newer&&$.mtime>(_.mtime??$.mtime)))return this[t2](_);if(q||this[n2](_,$))return this[a](null,_);if($.isDirectory()){if(_.type==="Directory"){let X=this.chmod&&_.mode&&($.mode&4095)!==_.mode,[V]=X?_1(()=>{O.chmodSync(String(_.absolute),Number(_.mode))}):[];return this[a](V,_)}let[x]=_1(()=>O.rmdirSync(String(_.absolute)));this[a](x,_)}let[Q]=_.absolute===this.cwd?[]:_1(()=>j7(String(_.absolute)));this[a](Q,_)}[a2](_,q){let $=typeof _.mode==="number"?_.mode&4095:this.fmode,Q=(V)=>{let J;try{O.closeSync(x)}catch(K){J=K}if(V||J)this[u](V||J,_);q()},x;try{x=O.openSync(String(_.absolute),k2(_.size),$)}catch(V){return Q(V)}let X=this.transform?this.transform(_)||_:_;if(X!==_)X.on("error",(V)=>this[u](V,_)),_.pipe(X);X.on("data",(V)=>{try{O.writeSync(x,V,0,V.length)}catch(J){Q(J)}}),X.on("end",()=>{let V=null;if(_.mtime&&!this.noMtime){let J=_.atime||new Date,K=_.mtime;try{O.futimesSync(x,J,K)}catch(G){try{O.utimesSync(String(_.absolute),J,K)}catch(Z){V=G}}}if(this[r_](_)){let J=this[e_](_),K=this[_6](_);try{O.fchownSync(x,Number(J),Number(K))}catch(G){try{O.chownSync(String(_.absolute),Number(J),Number(K))}catch(Z){V=V||G}}}Q(V)})}[o2](_,q){let $=typeof _.mode==="number"?_.mode&4095:this.dmode,Q=this[E0](String(_.absolute),$);if(Q){this[u](Q,_),q();return}if(_.mtime&&!this.noMtime)try{O.utimesSync(String(_.absolute),_.atime||new Date,_.mtime)}catch(x){}if(this[r_](_))try{O.chownSync(String(_.absolute),Number(this[e_](_)),Number(this[_6](_)))}catch(x){}q(),_.resume()}[E0](_,q){try{return S3(U(_),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:q})}catch($){return $}}[q1](_,q,$,Q){let x=`${$}Sync`;try{O[x](q,String(_.absolute)),Q(),_.resume()}catch(X){return this[u](X,_)}}}var B7=(_)=>{let q=new $1(_),$=_.file,Q=l3.statSync($),x=_.maxReadSize||16777216;new n1($,{readSize:x,size:Q.size}).pipe(q)},I7=(_,q)=>{let $=new Q6(_),Q=_.maxReadSize||16777216,x=_.file;return new Promise((V,J)=>{$.on("error",J),$.on("close",V),l3.stat(x,(K,G)=>{if(K)J(K);else{let Z=new z_(x,{readSize:Q,size:G.size});Z.on("error",J),Z.pipe($)}})})},x6=J0(B7,I7,(_)=>new $1(_),(_)=>new Q6(_),(_,q)=>{if(q?.length)L2(_,q)});import l from"node:fs";import f3 from"node:path";var A7=(_,q)=>{let $=new O_(_),Q=!0,x,X;try{try{x=l.openSync(_.file,"r+")}catch(K){if(K?.code==="ENOENT")x=l.openSync(_.file,"w+");else throw K}let V=l.fstatSync(x),J=Buffer.alloc(512);_:for(X=0;X<V.size;X+=512){for(let Z=0,Y=0;Z<512;Z+=Y){if(Y=l.readSync(x,J,Z,J.length-Z,X+Z),X===0&&J[0]===31&&J[1]===139)throw Error("cannot append to compressed archives");if(!Y)break _}let K=new p(J);if(!K.cksumValid)break;let G=512*Math.ceil((K.size||0)/512);if(X+G+512>V.size)break;if(X+=G,_.mtimeCache&&K.mtime)_.mtimeCache.set(String(K.path),K.mtime)}Q=!1,T7(_,$,X,x,q)}finally{if(Q)try{l.closeSync(x)}catch(V){}}},T7=(_,q,$,Q,x)=>{let X=new c_(_.file,{fd:Q,start:$});q.pipe(X),R7(q,x)},F7=(_,q)=>{q=Array.from(q);let $=new Q_(_),Q=(X,V,J)=>{let K=(w,L)=>{if(w)l.close(X,(z)=>J(w));else J(null,L)},G=0;if(V===0)return K(null,0);let Z=0,Y=Buffer.alloc(512),H=(w,L)=>{if(w||typeof L>"u")return K(w);if(Z+=L,Z<512&&L)return l.read(X,Y,Z,Y.length-Z,G+Z,H);if(G===0&&Y[0]===31&&Y[1]===139)return K(Error("cannot append to compressed archives"));if(Z<512)return K(null,G);let z=new p(Y);if(!z.cksumValid)return K(null,G);let M=512*Math.ceil((z.size??0)/512);if(G+M+512>V)return K(null,G);if(G+=M+512,G>=V)return K(null,G);if(_.mtimeCache&&z.mtime)_.mtimeCache.set(String(z.path),z.mtime);Z=0,l.read(X,Y,0,512,G,H)};l.read(X,Y,0,512,G,H)};return new Promise((X,V)=>{$.on("error",V);let J="r+",K=(G,Z)=>{if(G&&G.code==="ENOENT"&&J==="r+")return J="w+",l.open(_.file,J,K);if(G||!Z)return V(G);l.fstat(Z,(Y,H)=>{if(Y)return l.close(Z,()=>V(Y));Q(Z,H.size,(w,L)=>{if(w)return V(w);let z=new F0(_.file,{fd:Z,start:L});$.pipe(z),z.on("error",V),z.on("close",X),D7($,q)})})};l.open(_.file,J,K)})},R7=(_,q)=>{q.forEach(($)=>{if($.charAt(0)==="@")__({file:f3.resolve(_.cwd,$.slice(1)),sync:!0,noResume:!0,onReadEntry:(Q)=>_.add(Q)});else _.add($)}),_.end()},D7=async(_,q)=>{for(let $=0;$<q.length;$++){let Q=String(q[$]);if(Q.charAt(0)==="@")await __({file:f3.resolve(String(_.cwd),Q.slice(1)),noResume:!0,onReadEntry:(x)=>_.add(x)});else _.add(Q)}_.end()},x_=J0(A7,F7,()=>{throw TypeError("file is required")},()=>{throw TypeError("file is required")},(_,q)=>{if(!o9(_))throw TypeError("file is required");if(_.gzip||_.brotli||_.zstd||_.file.endsWith(".br")||_.file.endsWith(".tbr"))throw TypeError("cannot append to compressed archives");if(!q?.length)throw TypeError("no paths specified to add/replace")});var S7=J0(x_.syncFile,x_.asyncFile,x_.syncNoFile,x_.asyncNoFile,(_,q=[])=>{x_.validate?.(_,q),N7(_)}),N7=(_)=>{let q=_.filter;if(!_.mtimeCache)_.mtimeCache=new Map;_.filter=q?($,Q)=>q($,Q)&&!((_.mtimeCache?.get($)??Q.mtime??0)>(Q.mtime??0)):($,Q)=>!((_.mtimeCache?.get($)??Q.mtime??0)>(Q.mtime??0))};var B={reset:"\x1B[0m",bold:"\x1B[1m",dim:"\x1B[2m",italic:"\x1B[3m",underline:"\x1B[4m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"};import I_,{join as g7}from"path";var i3={name:"@abacus-ai/cli",description:"AbacusAI's powerful CLI AI assistant with agentic browsing, listening, and coding capabilities.",appName:"AbacusAI",binName:"abacusai",version:"1.106.21004",nodeVersion:"22.19.0",author:{name:"Abacus AI"},license:"Proprietary",main:"./dist/index.js",module:"./dist/index.js",source:"./src/index.ts",type:"module",homepage:"https://desktop.abacus.ai/",files:["dist"],bugs:{url:"mailto:support@abacus.ai"},bin:{abacusai:"./dist/index.js"},scripts:{"build.tsc":"tsc --noEmit --pretty","build.bun":"bun build ./src/index.ts --minify --target=node --outdir=dist",build:"run-p build.*","watch.tsc":"tsc --watch --noEmit --pretty","watch.bun":"bun build ./src/index.ts --sourcemap --target=node --outdir=dist --watch --external=extract-zip --external=node-downloader-helper --external=semver --external=tar",watch:"run-p watch.*",test:"tsc -p ./test/tsconfig.json && bun test"},devDependencies:{"@inquirer/prompts":"^7.9.0","@tsconfig/strictest":"^2.0.7","@types/color-name":"^2.0.0","@types/glob":"^9.0.0","@types/minimatch":"^6.0.0","@types/node":"^24.9.2","@types/bun":"^1.2.2","@types/semver":"^7.7.1","extract-zip":"^2.0.1","node-downloader-helper":"^2.1.9",semver:"^7.7.3",tar:"^7.5.2",typescript:"^6.0.0-dev.20251031","npm-run-all2":"^8.0.4"},overrides:{yauzl:"3.2.0"}};import{fileURLToPath as u7}from"url";import x1 from"os";import B_ from"fs/promises";import y7 from"fs";var X1=I_.dirname(u7(import.meta.url)),Q1=i3,r2=".abacusai-cli";async function V1(_){return I_.join(await s3(),`${_.binName}-${_.version}-${x1.platform()}-${x1.arch()}`)}async function s3(){let _=I_.join(X1,r2);if(await p3(_))return _;console.log(`Using home directory as ${_} is not writable.`);let q=I_.join(x1.homedir(),r2);if(await p3(q))return q;console.error(`No writable directory found under ${_} or ${q}. Using a temporary directory instead.`);let $=g7(x1.tmpdir(),r2);try{await B_.mkdir($,{recursive:!0})}catch{}return $}async function p3(_){let q=I_.join(_,`.writable-${process.pid}-${Date.now()}`);try{return await B_.mkdir(_,{recursive:!0}),await B_.writeFile(q,"true"),!0}catch($){return!1}finally{try{await B_.unlink(q)}catch{}}}async function n3(){try{let _=await a3(Q1);if(!y7.existsSync(_))return await k7(Q1,_),Q1;return await m7(_)}catch{return Q1}}async function k7(_,q){try{if(q===void 0)q=await a3(_);return await B_.writeFile(q,JSON.stringify(_,null,2)),q}catch($){return console.error(`Failed to write package data file ${q}: ${$ instanceof Error?$.message:String($)}`),null}}async function m7(_){return JSON.parse(await B_.readFile(_,"utf8"))}async function a3(_){return I_.join(await s3(),`${_.binName}-package.json`)}var Z4=L6(f8(),1),G4=L6(h1(),1),Y4=L6(K4(),1);import O9 from"fs";import G6 from"fs/promises";import K_ from"os";import C9 from"path";function l$(_){let q=process.versions.node;if(Y4.default(q,_))return!1;return!0}function f$(_){let q=K_.platform(),$=K_.arch(),x={x64:"x64",arm64:"arm64",ia32:"x86"}[$]||$;if(q==="win32")return`https://nodejs.org/dist/v${_}/node-v${_}-win-${x}.${$==="x64"||$==="ia32"?"zip":"7z"}`;else if(q==="darwin")return`https://nodejs.org/dist/v${_}/node-v${_}-darwin-${x}.tar.gz`;else return`https://nodejs.org/dist/v${_}/node-v${_}-linux-${x}.tar.gz`}function i$(_){let q=K_.platform(),$=K_.arch(),x={x64:"x64",arm64:"arm64",ia32:"x86"}[$]||$;if(q==="win32")return`node-v${_}-win-${x}.${$==="x64"||$==="ia32"?"zip":"7z"}`;else if(q==="darwin")return`node-v${_}-darwin-${x}.tar.gz`;else return`node-v${_}-linux-${x}.tar.gz`}async function D1(_,q,$=!1){try{if(!$){if(l$(q))return process.execPath}let Q=K_.platform()==="win32"?"node.exe":"node",x=C9.join(_,Q);if(O9.existsSync(x))return x;let X=C9.join(K_.homedir(),`node-${q}`),V=C9.join(X,"bin",Q);if(O9.existsSync(V))return await G6.copyFile(V,x),x;console.log(`${B.dim}Downloading Node.js ${q}...${B.reset}`);let J=f$(q),K=i$(q),G=new G4.DownloaderHelper(J,K_.tmpdir(),{fileName:K});G.on("error",async(Y)=>{console.error(`${B.red}Failed to download Node.js from ${J}: ${Y}${B.reset}`),await G.stop()}),await G.start();let Z=G.getDownloadPath();if(!O9.existsSync(X))await G6.mkdir(X);if(console.log(`${B.dim}Extracting Node.js ${q} to ${X}...${B.reset}`),K.endsWith(".tar.gz"))await s$(Z,X);else await p$(Z,X);return await G6.copyFile(V,x),x}catch(Q){return console.error(`${B.red}Failed to download Node.js: ${Q instanceof Error?Q.message:String(Q)}
|
|
9
|
+
Please download and install Node.js ${q} from https://nodejs.org/`),process.execPath}}async function p$(_,q){await G6.mkdir(q,{recursive:!0}),await Z4.default(_,{dir:q})}async function s$(_,q){await G6.mkdir(q,{recursive:!0}),await x6({file:_,cwd:q,strip:1})}function o$(_){let{appName:q,binName:$,version:Q}=_,x=`${q.toLowerCase()}-agent-cli-${S1.platform()}-${S1.arch()}-${Q}.tar.gz`;return{url:`https://static.abacus.ai/${$}/releases/${Q}/${x}`,fileName:x}}async function v4(_,q=!1){let{appName:$,binName:Q,version:x,homepage:X}=_;try{let{url:V,fileName:J}=o$(_),K=new H4.DownloaderHelper(V,S1.tmpdir(),{fileName:J});K.on("error",async(H)=>{console.error(`Failed to download ${V}: ${H}`),await K.stop()}),console.log(`${B.dim}Downloading ${$} ${x}...${B.reset}`),await K.start();let G=K.getDownloadPath(),Z=await V1(_);console.log(`${B.dim}Extracting ${$} ${x} to ${Z}...${B.reset}`),await t$(G,Z),await W4.rm(G);let Y=n$.join(Z,"bin",`${Q}${S1.platform()==="win32"?".cmd":""}`);if(!a$.existsSync(Y)){let H=`${$} command not found at ${Y}}`;throw console.error(H),Error(H)}return console.log(`${B.dim}${$} ${x} downloaded to ${Z}${B.reset}`),await D1(Z,_.nodeVersion,q),Y}catch(V){throw console.error(V instanceof Error?V.message:String(V)),Error(`Could not download ${$}. Please install ${$} from ${X} and re-run ${Q}.`)}}async function t$(_,q){await W4.mkdir(q,{recursive:!0}),await x6({file:_,cwd:q,strip:1})}import B9 from"fs";import w4 from"fs/promises";import j9 from"os";import D from"path";var L4="code-oss-dev";async function z4(_){try{let q=j9.platform(),$=[await e$(D.dirname(D.dirname(X1))),D.dirname(D.dirname(D.dirname(X1))),await V1(_),...r$(_.appName,q)].filter((Q)=>Q!==void 0);return await Promise.any($.map(async(Q)=>{try{let x=JSON.parse(await w4.readFile(D.join(Q,"package.json"),"utf8")),X=x.name===L4;if(!X&&!(("version"in x)&&typeof x.version==="string"&&x.version===_.version))throw Error(`Invalid version in package.json: ${x.version} (expected ${_.version})`);let V=M4(Q);if(V!==void 0){let K=q==="win32"?"node.exe":"node";return{command:X?K:D.join(Q,K),args:X?[V,Q,"agent"]:[V,"agent"],directory:Q,isCommandNode:!X,env:X?{...process.env,NODE_ENV:"development",VSCODE_DEV:"1"}:process.env}}let J=D.join(Q,"bin",`${_.binName}${q==="win32"?".cmd":""}`);if(B9.existsSync(J))return{command:J,args:[],directory:Q,isCommandNode:!1,env:process.env};throw Error(`${_.appName} command not found: ${J}`)}catch(x){let X=x instanceof Error?x.message:String(x);throw Error(`${_.appName} not found in ${Q}: ${X}`)}}))}catch(q){if(!(q instanceof AggregateError)){let $=q instanceof Error?q.message:String(q);console.info(`${B.dim}Could not find installed ${_.appName}: ${$}${B.reset}`)}return}}function r$(_,q=j9.platform()){let $=j9.homedir();if(q==="darwin")return[`/Applications/${_}.app/Contents/Resources/app`,D.join($,`Applications/${_}.app/Contents/Resources/app`)];else if(q==="win32"){let Q=process.env.ProgramFiles||"C:\\Program Files",x=process.env["ProgramFiles(x86)"]||"C:\\Program Files (x86)",X=process.env.LOCALAPPDATA||D.join($,"AppData","Local"),V=process.env.APPDATA||D.join($,"AppData","Roaming");return[D.join(Q,_),D.join(x,_),D.join(X,"Programs",_),D.join(V,_)]}else return[`/usr/share/${_.toLowerCase()}`]}async function e$(_){let q=_;while(q!==D.parse(q).root){if(M4(q)!==void 0){let Q=await qQ(q);if(Q!==void 0&&_Q(Q))return q}q=D.dirname(q)}return}function M4(_){let q=D.join(_,"out","cli.js");if(B9.existsSync(q))return q;return}function _Q(_){return _.name===L4}async function qQ(_){let q=D.join(_,"package.json");if(!B9.existsSync(q))return;let $=await w4.readFile(q,"utf8"),Q=JSON.parse($);if("name"in Q&&typeof Q.name==="string"&&"version"in Q&&typeof Q.version==="string")return Q;return}import{execFile as XQ,spawn as C4}from"child_process";import j0 from"process";import Y6 from"path";import N1 from"fs";import A9 from"os";import{promisify as VQ}from"util";import $Q from"https";async function P4(_){return new Promise((q,$)=>{try{let Q=$Q.get(`https://registry.npmjs.org/${_}`,{headers:{Accept:"application/json","User-Agent":"abacusai-cli"},timeout:1e4});if(Q.errored||Q.closed){$(Error("Registry request failed immediately"));return}Q.on("response",(x)=>{let X="";x.on("data",(V)=>{X+=V}),x.on("end",()=>{if(x.statusCode!==200){$(Error(`Registry returned ${x.statusCode}`));return}try{let V=JSON.parse(X);q(V["dist-tags"]??{})}catch(V){$(Error("Failed to parse registry response"))}})}),Q.on("error",$),Q.on("timeout",()=>{Q.destroy(),$(Error("Registry request timed out"))})}catch(Q){let x=Q instanceof Error?Q.message:String(Q);$(Error(`Failed to fetch dist-tags: ${x}`))}})}function I9(){return QQ(process.env.ABACUSAI_CLI_FORCE_NODE_DOWNLOAD)}function U4(){return xQ(process.env.ABACUSAI_CLI_AUTO_UPDATE)}function O4(){return process.env.ABACUS_CLI_DIST_TAG||"latest"}function QQ(_){return _==="true"||_==="1"}function xQ(_){return _!=="false"&&_!=="0"}var H6=VQ(XQ),T9="@abacus-ai/cli",j4=A9.platform()==="win32",W6=j4?{shell:!0}:{};async function B4(_){if(!U4())return null;let q=O4(),Q=(await P4(T9))[q];if(!Q)return null;if(Q===_.version)return null;return{targetVersion:Q,distTag:q}}async function I4(_,q){let{command:$,args:Q}=await KQ({..._,name:T9,version:q.targetVersion});console.log(`${B.dim}Updating ${_.appName} to ${q.targetVersion} (${q.distTag}) via \`${$} ${Q.join(" ")}\`${B.reset}`);try{let{stdout:G,stderr:Z}=await H6($,Q,{timeout:120000,...W6});if(G)console.log(G);if(Z)console.error(Z)}catch(G){return console.error(`${B.dim}Failed to install update: ${G instanceof Error?G.message:String(G)}${B.reset}`),!1}console.log(`${B.dim}${T9}@${q.targetVersion} installed successfully${B.reset}`);let x=await JQ($);if(!x)return console.error(`${B.dim}Could not resolve updated CLI entry point. Continuing with current version.${B.reset}`),!1;let X=j4&&x.toLowerCase().endsWith(".cmd"),V={...j0.env,ABACUSAI_CLI_AUTO_UPDATE:"false"},J=j0.argv.slice(2),K;if(X){let G=x;if(G.includes(" "))G=`"${G}"`;K=C4(G,J,{stdio:"inherit",shell:!0,windowsVerbatimArguments:!0,env:V})}else K=C4(j0.execPath,[x,...J],{stdio:"inherit",env:V});return K.on("error",(G)=>{console.error(`Failed to start updated ${_.appName}:`,G),j0.exit(1)}),K.on("exit",(G,Z)=>{if(Z)j0.kill(j0.pid,Z);else j0.exit(G??1)}),!0}async function JQ(_){try{let Q;switch(_){case"pnpm":{let{stdout:X}=await H6("pnpm",["root","-g"],W6);Q=X.trim();break}case"bun":{Q=Y6.join(A9.homedir(),".bun","install","global","node_modules");break}case"yarn":{let{stdout:X}=await H6("yarn",["global","dir"],W6);Q=Y6.join(X.trim(),"node_modules");break}default:{let{stdout:X}=await H6("npm",["root","-g"],W6);Q=X.trim();break}}let x=Y6.join(Q,"@abacus-ai","cli","package.json");if(N1.existsSync(x)){let X=JSON.parse(N1.readFileSync(x,"utf8")),V=X.main||X.module;if(!V&&X.bin){let J=typeof X.bin==="string"?{default:X.bin}:X.bin;V=Object.values(J)[0]}if(V){let J=Y6.resolve(Y6.dirname(x),V);if(N1.existsSync(J))return J}}}catch{}let q=["abacusai","abacus"],$=A9.platform()==="win32"?"where":"which";for(let Q of q)try{let{stdout:x}=await H6($,[Q],W6),X=x.trim().split(`
|
|
10
|
+
`)[0];if(X&&N1.existsSync(X))return X}catch{continue}return null}async function KQ({name:_,version:q}){try{let $=j0.env.npm_package_json,Q=j0.env.npm_config_user_agent;if(Boolean(Q?.startsWith("npm"))||Boolean($?.endsWith("package.json")))return{command:"npm",args:["install","-g",`${_}@${q}`]};if(Boolean(Q?.startsWith("yarn")))return{command:"yarn",args:["global","add",`${_}@${q}`]};if(Boolean(Q?.startsWith("pnpm")))return{command:"pnpm",args:["install","-g",`${_}@${q}`]};if(Boolean(Q?.startsWith("bun")))return{command:"bun",args:["install","-g",`${_}@${q}`]}}catch($){}return{command:"npm",args:["install","-g",`${_}@${q}`]}}var F9=ZQ.platform();async function T4(){let _=await n3();try{let Q=await B4(_);if(Q!==null){if(await I4(_,Q))return}}catch{}let q=await z4(_);if(q!==void 0){let Q=await D1(q.directory,_.nodeVersion,I9()),x=q.isCommandNode?Q:q.command;return A4(_,x,q.args,void 0,q.env)}let $=await v4(_,I9());return A4(_,$,[])}function A4(_,q,$,Q,x){let X=Q??process.argv.slice(2),V=[...$,...X],J=q;if(F9==="win32"&&q.includes(" "))J=`"${q}"`;let K=GQ.spawn(J,V,{stdio:"inherit",shell:F9==="win32",windowsVerbatimArguments:F9==="win32",env:x??process.env});K.on("error",(G)=>{console.error(`Failed to start ${_.appName}:`,G),process.exit(1)}),K.on("exit",(G,Z)=>{if(Z)process.kill(process.pid,Z);else process.exit(G??1)})}T4().catch((_)=>{console.error(_),process.exit(1)});
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "AbacusAI's powerful CLI AI assistant with agentic browsing, listening, and coding capabilities.",
|
|
4
4
|
"appName": "AbacusAI",
|
|
5
5
|
"binName": "abacusai",
|
|
6
|
-
"version": "1.106.
|
|
6
|
+
"version": "1.106.21004",
|
|
7
7
|
"nodeVersion": "22.19.0",
|
|
8
8
|
"author": {
|
|
9
9
|
"name": "Abacus AI"
|