@checksum-ai/runtime 2.0.5-alpha → 2.0.5-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@checksum-ai/runtime",
3
- "version": "2.0.5-alpha",
3
+ "version": "2.0.5-alpha.2",
4
4
  "description": "Checksum.ai test runtime",
5
5
  "main": "index.js",
6
6
  "dependencies": {
@@ -441,14 +441,14 @@ Additional information: BADCLIENT: Bad error code, ${E} not found in range ${l}.
441
441
  `).join(`
442
442
  `+Q),p.push(J+"m+"+Rre.exports.humanize(this.diff)+"\x1B[0m")}else p[0]=Z7t()+y+" "+p[0]}t(Y7t,"formatArgs");function Z7t(){return Bg.inspectOpts.hideDate?"":new Date().toISOString()+" "}t(Z7t,"getDate");function eOt(...p){return process.stderr.write(Fre.formatWithOptions(Bg.inspectOpts,...p)+`
443
443
  `)}t(eOt,"log");function tOt(p){p?process.env.DEBUG=p:delete process.env.DEBUG}t(tOt,"save");function rOt(){return process.env.DEBUG}t(rOt,"load");function nOt(p){p.inspectOpts={};let y=Object.keys(Bg.inspectOpts);for(let S=0;S<y.length;S++)p.inspectOpts[y[S]]=Bg.inspectOpts[y[S]]}t(nOt,"init");Rre.exports=sTe()(Bg);var{formatters:KXe}=Rre.exports;KXe.o=function(p){return this.inspectOpts.colors=this.useColors,Fre.inspect(p,this.inspectOpts).split(`
444
- `).map(y=>y.trim()).join(" ")};KXe.O=function(p){return this.inspectOpts.colors=this.useColors,Fre.inspect(p,this.inspectOpts)}});var ZXe=Bn((Ejt,lTe)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?lTe.exports=VXe():lTe.exports=YXe()});var tQe=Bn((wjt,eQe)=>{var jU;eQe.exports=function(){if(!jU){try{jU=ZXe()("follow-redirects")}catch{}typeof jU!="function"&&(jU=t(function(){},"debug"))}jU.apply(null,arguments)}});var sQe=Bn((Pjt,xTe)=>{var JU=require("url"),BU=JU.URL,iOt=require("http"),aOt=require("https"),dTe=require("stream").Writable,mTe=require("assert"),rQe=tQe();t(function(){var y=typeof process<"u",S=typeof window<"u"&&typeof document<"u",D=SI(Error.captureStackTrace);!y&&(S||!D)&&console.warn("The follow-redirects package should be excluded from browser builds.")},"detectUnsupportedEnvironment")();var gTe=!1;try{mTe(new BU(""))}catch(p){gTe=p.code==="ERR_INVALID_URL"}var sOt=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],hTe=["abort","aborted","connect","error","socket","timeout"],yTe=Object.create(null);hTe.forEach(function(p){yTe[p]=function(y,S,D){this._redirectable.emit(p,y,S,D)}});var _Te=zU("ERR_INVALID_URL","Invalid URL",TypeError),fTe=zU("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),oOt=zU("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",fTe),cOt=zU("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),lOt=zU("ERR_STREAM_WRITE_AFTER_END","write after end"),uOt=dTe.prototype.destroy||iQe;function Iv(p,y){dTe.call(this),this._sanitizeOptions(p),this._options=p,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],y&&this.on("response",y);var S=this;this._onNativeResponse=function(D){try{S._processResponse(D)}catch(J){S.emit("error",J instanceof fTe?J:new fTe({cause:J}))}},this._performRequest()}t(Iv,"RedirectableRequest");Iv.prototype=Object.create(dTe.prototype);Iv.prototype.abort=function(){bTe(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};Iv.prototype.destroy=function(p){return bTe(this._currentRequest,p),uOt.call(this,p),this};Iv.prototype.write=function(p,y,S){if(this._ending)throw new lOt;if(!xI(p)&&!pOt(p))throw new TypeError("data should be a string, Buffer or Uint8Array");if(SI(y)&&(S=y,y=null),p.length===0){S&&S();return}this._requestBodyLength+p.length<=this._options.maxBodyLength?(this._requestBodyLength+=p.length,this._requestBodyBuffers.push({data:p,encoding:y}),this._currentRequest.write(p,y,S)):(this.emit("error",new cOt),this.abort())};Iv.prototype.end=function(p,y,S){if(SI(p)?(S=p,p=y=null):SI(y)&&(S=y,y=null),!p)this._ended=this._ending=!0,this._currentRequest.end(null,null,S);else{var D=this,J=this._currentRequest;this.write(p,y,function(){D._ended=!0,J.end(null,null,S)}),this._ending=!0}};Iv.prototype.setHeader=function(p,y){this._options.headers[p]=y,this._currentRequest.setHeader(p,y)};Iv.prototype.removeHeader=function(p){delete this._options.headers[p],this._currentRequest.removeHeader(p)};Iv.prototype.setTimeout=function(p,y){var S=this;function D(fe){fe.setTimeout(p),fe.removeListener("timeout",fe.destroy),fe.addListener("timeout",fe.destroy)}t(D,"destroyOnTimeout");function J(fe){S._timeout&&clearTimeout(S._timeout),S._timeout=setTimeout(function(){S.emit("timeout"),Q()},p),D(fe)}t(J,"startTimer");function Q(){S._timeout&&(clearTimeout(S._timeout),S._timeout=null),S.removeListener("abort",Q),S.removeListener("error",Q),S.removeListener("response",Q),S.removeListener("close",Q),y&&S.removeListener("timeout",y),S.socket||S._currentRequest.removeListener("socket",J)}return t(Q,"clearTimer"),y&&this.on("timeout",y),this.socket?J(this.socket):this._currentRequest.once("socket",J),this.on("socket",D),this.on("abort",Q),this.on("error",Q),this.on("response",Q),this.on("close",Q),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(p){Iv.prototype[p]=function(y,S){return this._currentRequest[p](y,S)}});["aborted","connection","socket"].forEach(function(p){Object.defineProperty(Iv.prototype,p,{get:t(function(){return this._currentRequest[p]},"get")})});Iv.prototype._sanitizeOptions=function(p){if(p.headers||(p.headers={}),p.host&&(p.hostname||(p.hostname=p.host),delete p.host),!p.pathname&&p.path){var y=p.path.indexOf("?");y<0?p.pathname=p.path:(p.pathname=p.path.substring(0,y),p.search=p.path.substring(y))}};Iv.prototype._performRequest=function(){var p=this._options.protocol,y=this._options.nativeProtocols[p];if(!y)throw new TypeError("Unsupported protocol "+p);if(this._options.agents){var S=p.slice(0,-1);this._options.agent=this._options.agents[S]}var D=this._currentRequest=y.request(this._options,this._onNativeResponse);D._redirectable=this;for(var J of hTe)D.on(J,yTe[J]);if(this._currentUrl=/^\//.test(this._options.path)?JU.format(this._options):this._options.path,this._isRedirect){var Q=0,fe=this,Me=this._requestBodyBuffers;t(function lt(Ye){if(D===fe._currentRequest)if(Ye)fe.emit("error",Ye);else if(Q<Me.length){var Xe=Me[Q++];D.finished||D.write(Xe.data,Xe.encoding,lt)}else fe._ended&&D.end()},"writeNext")()}};Iv.prototype._processResponse=function(p){var y=p.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:p.headers,statusCode:y});var S=p.headers.location;if(!S||this._options.followRedirects===!1||y<300||y>=400){p.responseUrl=this._currentUrl,p.redirects=this._redirects,this.emit("response",p),this._requestBodyBuffers=[];return}if(bTe(this._currentRequest),p.destroy(),++this._redirectCount>this._options.maxRedirects)throw new oOt;var D,J=this._options.beforeRedirect;J&&(D=Object.assign({Host:p.req.getHeader("host")},this._options.headers));var Q=this._options.method;((y===301||y===302)&&this._options.method==="POST"||y===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],uTe(/^content-/i,this._options.headers));var fe=uTe(/^host$/i,this._options.headers),Me=vTe(this._currentUrl),lt=fe||Me.host,Ye=/^\w+:/.test(S)?this._currentUrl:JU.format(Object.assign(Me,{host:lt})),Xe=_Ot(S,Ye);if(rQe("redirecting to",Xe.href),this._isRedirect=!0,pTe(Xe,this._options),(Xe.protocol!==Me.protocol&&Xe.protocol!=="https:"||Xe.host!==lt&&!fOt(Xe.host,lt))&&uTe(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers),SI(J)){var Er={headers:p.headers,statusCode:y},ke={url:Ye,method:Q,headers:D};J(this._options,Er,ke),this._sanitizeOptions(this._options)}this._performRequest()};function nQe(p){var y={maxRedirects:21,maxBodyLength:10485760},S={};return Object.keys(p).forEach(function(D){var J=D+":",Q=S[J]=p[D],fe=y[D]=Object.create(Q);function Me(Ye,Xe,Er){return dOt(Ye)?Ye=pTe(Ye):xI(Ye)?Ye=pTe(vTe(Ye)):(Er=Xe,Xe=aQe(Ye),Ye={protocol:J}),SI(Xe)&&(Er=Xe,Xe=null),Xe=Object.assign({maxRedirects:y.maxRedirects,maxBodyLength:y.maxBodyLength},Ye,Xe),Xe.nativeProtocols=S,!xI(Xe.host)&&!xI(Xe.hostname)&&(Xe.hostname="::1"),mTe.equal(Xe.protocol,J,"protocol mismatch"),rQe("options",Xe),new Iv(Xe,Er)}t(Me,"request");function lt(Ye,Xe,Er){var ke=fe.request(Ye,Xe,Er);return ke.end(),ke}t(lt,"get"),Object.defineProperties(fe,{request:{value:Me,configurable:!0,enumerable:!0,writable:!0},get:{value:lt,configurable:!0,enumerable:!0,writable:!0}})}),y}t(nQe,"wrap");function iQe(){}t(iQe,"noop");function vTe(p){var y;if(gTe)y=new BU(p);else if(y=aQe(JU.parse(p)),!xI(y.protocol))throw new _Te({input:p});return y}t(vTe,"parseUrl");function _Ot(p,y){return gTe?new BU(p,y):vTe(JU.resolve(y,p))}t(_Ot,"resolveUrl");function aQe(p){if(/^\[/.test(p.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(p.hostname))throw new _Te({input:p.href||p});if(/^\[/.test(p.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(p.host))throw new _Te({input:p.href||p});return p}t(aQe,"validateUrl");function pTe(p,y){var S=y||{};for(var D of sOt)S[D]=p[D];return S.hostname.startsWith("[")&&(S.hostname=S.hostname.slice(1,-1)),S.port!==""&&(S.port=Number(S.port)),S.path=S.search?S.pathname+S.search:S.pathname,S}t(pTe,"spreadUrlObject");function uTe(p,y){var S;for(var D in y)p.test(D)&&(S=y[D],delete y[D]);return S===null||typeof S>"u"?void 0:String(S).trim()}t(uTe,"removeMatchingHeaders");function zU(p,y,S){function D(J){SI(Error.captureStackTrace)&&Error.captureStackTrace(this,this.constructor),Object.assign(this,J||{}),this.code=p,this.message=this.cause?y+": "+this.cause.message:y}return t(D,"CustomError"),D.prototype=new(S||Error),Object.defineProperties(D.prototype,{constructor:{value:D,enumerable:!1},name:{value:"Error ["+p+"]",enumerable:!1}}),D}t(zU,"createErrorType");function bTe(p,y){for(var S of hTe)p.removeListener(S,yTe[S]);p.on("error",iQe),p.destroy(y)}t(bTe,"destroyRequest");function fOt(p,y){mTe(xI(p)&&xI(y));var S=p.length-y.length-1;return S>0&&p[S]==="."&&p.endsWith(y)}t(fOt,"isSubdomain");function xI(p){return typeof p=="string"||p instanceof String}t(xI,"isString");function SI(p){return typeof p=="function"}t(SI,"isFunction");function pOt(p){return typeof p=="object"&&"length"in p}t(pOt,"isBuffer");function dOt(p){return BU&&p instanceof BU}t(dOt,"isURL");xTe.exports=nQe({http:iOt,https:aOt});xTe.exports.wrap=nQe});var WOt={};tUe(WOt,{TestRunMonitor:()=>Hre});module.exports=Z6t(WOt);var Kbe=t(p=>new Promise(y=>setTimeout(y,p)),"awaitSleep");var VQe=require("child_process"),HU=require("crypto"),Fp=require("fs"),HQe=require("http"),GQe=Lg(require("net")),$Qe=require("os"),rb=require("path");var lGe=Lg(dHe()),bw=require("fs"),Pk=require("path");var wk=Lg(require("path")),GSe=require("fs");var zSe=require("path"),tre=require("fs");function FNt(p,y,S=10){let D=p;for(let J=0;J<S;J++){let Q=(0,zSe.join)(D,"package.json");if((0,tre.existsSync)(Q))try{if(JSON.parse((0,tre.readFileSync)(Q,"utf8")).name===y)return D}catch{}D=(0,zSe.join)(D,"..")}}t(FNt,"findRepositoryRoot");function mHe(p,y=10){return FNt(p,"checksum-customer-engineering-workspace",y)}t(mHe,"findCustomerEngineeringRoot");var $Se=Lg(bHe());var Iu=t((p,y)=>{if(p==null||p==="")return(y==null?void 0:y.default)??!1;let S=p.toLowerCase().trim();return S==="true"?!0:S==="false"?!1:(y==null?void 0:y.default)??!1},"parseBoolean");var QNt=__dirname,xHe=wk.join(__dirname,".."),kHe=(0,GSe.existsSync)(xHe)?xHe:QNt;(0,$Se.config)({path:wk.resolve(kHe,".env")});var VSe=Iu(process.env.CHECKSUM_RUNTIME_DEV_MODE);function KNt(){let p=__dirname;for(;!(0,GSe.existsSync)(wk.join(p,"package.json"));)p=wk.join(p,"..");return p}t(KNt,"findRoot");var W5=KNt(),YNt=mHe(W5,10);(0,$Se.config)({path:[kHe,YNt].filter(Boolean).map(p=>wk.resolve(p,".env")),override:!1});var nre=Iu(process.env.CHECKSUM_VTG_E2E_TEST_MODE),SHe=wk.join(W5,"vtg-build","index.html"),HSe=nre?!0:Iu(process.env.CHECKSUM_RUNTIME_REPO_MODE),THe=Iu(process.env.CHECKSUM_VTG_SEPARATE_PROCESS),ZNt=HSe?wk.join(W5,"package","pw-report-template.html"):wk.join(W5,"pw-report-template.html"),eIt=Iu(process.env.CHECKSUM_DEBUG_ANALYTICS),tIt=Iu(process.env.CHECKSUM_LOG_ANALYTICS_TO_CONSOLE),ire={isDevMode:VSe,isRepoMode:HSe,CI:!!process.env.CI,checksumRootFolderBypass:nre?"packages/runtime/test/e2e/checksum":HSe&&process.env.CHECKSUM_RUNTIME_ROOT_FOLDER_BYPASS_FOR_REPO_MODE?process.env.CHECKSUM_RUNTIME_ROOT_FOLDER_BYPASS_FOR_REPO_MODE:process.env.CHECKSUM_RUNTIME_ROOT_FOLDER_BYPASS,logLevel:process.env.CHECKSUM_RUNTIME_LOG_LEVEL??"warnings",checksumScript:{source:process.env.CHECKSUM_RUNTIME_SCRIPT_SOURCE??(VSe?"url":"file"),url:process.env.CHECKSUM_RUNTIME_SCRIPT_URL,path:W5+"/checksumlib.js"},runtimeRoot:W5,playwrightReporter:{htmlReportTemplatePath:ZNt},bypassProxyForLocalhost:Iu(process.env.CHECKSUM_RUNTIME_BYPASS_PROXY_FOR_LOCALHOST),promptKillActivePlaywrightProcesses:Iu(process.env.CHECKSUM_RUNTIME_PROMPT_KILL_ACTIVE_PLAYWRIGHT_PROCESSES,{default:!0}),useCLIDebug:Iu(process.env.CHECKSUM_RUNTIME_USE_CLI_DEBUG),useRemoteDebugging:{enabled:Iu(process.env.CHECKSUM_RUNTIME_USE_REMOTE_DEBUGGING),port:parseInt(process.env.CHECKSUM_AGENT_RUNTIME_REMOTE_DEBUGGING_PORT??"9500")},testRun:{timeMachine:{active:!0,headless:!Iu(process.env.CHECKSUM_RUNTIME_SHOW_RUNTIME_TIME_MACHINE),recordRRwebEventsToFile:Iu(process.env.CHECKSUM_RUNTIME_RECORD_RRWEB_EVENTS_TO_FILE,{default:!0})},monitoring:{defaultProvider:process.env.CHECKSUM_RUNTIME_MONITORING_DEFAULT_PROVIDER??"newrelic",debugAnalytics:eIt,logToConsole:tIt,newrelic:{appName:process.env.CHECKSUM_RUNTIME_MONITORING_NEWRELIC_APP_NAME??"checksum-runtime",licenseKey:"b4f3f644f40df19fe3d385c75428a450FFFFNRAL",logging:Iu(process.env.NEW_RELIC_LOG_ENABLED,{default:!1})},segment:{writeKey:process.env.CHECKSUM_RUNTIME_MONITORING_SEGMENT_WRITE_KEY??"TMuP8uorDj4QzJfNs0gEHDO7kHozVBOo",devWriteKey:process.env.CHECKSUM_RUNTIME_MONITORING_SEGMENT_DEV_WRITE_KEY??"gofHHwvdNHJNmb7KqACUmypZclVHEQ2l"}},autoRecovery:{verboseConsoleLog:Iu(process.env.CHECKSUM_RUNTIME_AUTO_RECOVERY_CONSOLE_LOG,{default:!1}),sessionTimeout:18e4},disableAutoRecovery:Iu(process.env.CHECKSUM_RUNTIME_DISABLE_AUTO_RECOVERY),disableHostReports:Iu(process.env.CHECKSUM_RUNTIME_DISABLE_HOST_REPORTS),request:{userEmail:process.env.CHECKSUM_RUNTIME_REQUEST_USER_EMAIL,reason:process.env.CHECKSUM_RUNTIME_REQUEST_REASON},platform:{name:process.env.CHECKSUM_RUNTIME_PLATFORM_NAME,jobURL:process.env.CHECKSUM_RUNTIME_PLATFORM_JOB_URL,jobName:process.env.CHECKSUM_RUNTIME_PLATFORM_JOB_NAME},runType:process.env.CHECKSUM_RUNTIME_RUN_TYPE},vtg:{isSeparateProcess:THe,isE2ETestMode:nre,writeLogFile:Iu(process.env.CHECKSUM_VTG_WRITE_LOG_FILE,{default:!0}),appSource:process.env.CHECKSUM_VTG_APP_SOURCE??(VSe?"served-app":"served-build-file"),localUrl:`file://${SHe}`,localBuildPath:SHe,appURL:process.env.CHECKSUM_VTG_APP_URL,writeRrwebEventsToFile:Iu(process.env.CHECKSUM_VTG_RECORD_EVENTS_TO_FILE),useFakeStory:Iu(process.env.CHECKSUM_VTG_USE_FAKE_STORY)||nre,logAPIServer:{interval:Iu(process.env.CHECKSUM_VTG_LOG_API_SERVER_INTERVAL),httpTransactions:Iu(process.env.CHECKSUM_VTG_LOG_API_SERVER_HTTP_TRANSACTIONS,{default:!0})},customerEngRepoInternalUtilsRelativePath:process.env.CHECKSUM_VTG_CUSTOMER_ENG_REPO_INTERNAL_UTILS_RELATIVE_PATH??"tools/internal-utils.ts",fakeStory:{goal:process.env.CHECKSUM_VTG_FAKE_STORY_GOAL??"Send email via outreach list",instructions:process.env.CHECKSUM_VTG_FAKE_STORY_INSTRUCTIONS??"Make sure to select a user from the list first"},fakeTestGeneration:{internalTestId:process.env.CHECKSUM_VTG_FAKE_STORY_INTERNAL_TEST_ID??`tempID${Date.now().toString().slice(-5)}`,generationBatchId:process.env.CHECKSUM_VTG_FAKE_GENERATION_BATCH_ID??`tempID${Date.now().toString().slice(-5)}`},remoteDebugging:THe?!0:Iu(process.env.CHECKSUM_VTG_REMOTE_DEBUGGING),appRemoteDebuggingPort:parseInt(process.env.CHECKSUM_VTG_REMOTE_DEBUGGING_PORT??"9230"),vtgRemoteDebuggingPort:parseInt(process.env.CHECKSUM_VTG_REMOTE_DEBUGGING_PORT??"9231"),taskTimeMachine:{showTaskTimeMachine:Iu(process.env.CHECKSUM_VTG_SHOW_TASK_TIME_MACHINE),taskTimeout:parseInt(process.env.CHECKSUM_VTG_TASK_TIME_MACHINE_TIMEOUT??"240000"),debugPort:parseInt(process.env.CHECKSUM_VTG_TASK_TIME_MACHINE_DEBUG_PORT??"9232"),logPerformance:Iu(process.env.CHECKSUM_VTG_TASK_TIME_MACHINE_LOG_PERFORMANCE,{default:!0})},aiAssertions:{disabled:Iu(process.env.CHECKSUM_VTG_AI_ASSERTIONS_DISABLED),allowRefactoring:Iu(process.env.CHECKSUM_VTG_ALLOW_AI_ASSERTIONS_REFACTORING),allowFiltering:Iu(process.env.CHECKSUM_VTG_ALLOW_AI_ASSERTIONS_FILTERING),logPerformance:Iu(process.env.CHECKSUM_VTG_AI_ASSERTIONS_LOG_PERFORMANCE,{default:!1})},aiLocators:{disabled:Iu(process.env.CHECKSUM_VTG_AI_LOCATORS_DISABLED),useFakeAILocators:Iu(process.env.CHECKSUM_VTG_USE_FAKE_AI_LOCATORS)}},benchmark:Iu(process.env.BENCHMARK_MODE),buildTime:process.env.CHECKSUM_RUNTIME_BUILD_TIME??"unknown",llm:{models:{openai:{key:process.env.CHECKSUM_RUNTIME_OPENAI_API_KEY},anthropic:{key:process.env.CHECKSUM_RUNTIME_ANTHROPIC_API_KEY},gemini:{model:process.env.CHECKSUM_RUNTIME_GEMINI_MODEL},groq:{apiKey:process.env.CHECKSUM_RUNTIME_GROQ_API_KEY}}},gcp:{credentialsFile:process.env.CHECKSUM_RUNTIME_GCP_CREDENTIALS_FILE}};var fre=require("fs"),jm=Lg(sGe());var JIt=/^[0-9a-zA-Z]+$/,zIt=5;function oGe(p){return p?p.length===zIt&&JIt.test(p):!1}t(oGe,"isValidChecksumTestId");var x2e=class x2e{extract(y,S){if(!y)return;let D=y.split("/"),J=D[D.length-1];if(!J.endsWith(".checksum.spec.ts"))return;let fe=J.replace(".checksum.spec.ts","").split(" - ").pop();return oGe(fe)?fe:void 0}};t(x2e,"FileNameExtractionStrategy");var h2e=x2e,S2e=class S2e{extract(y,S){if(!(!y||!(0,fre.existsSync)(y)))try{let D=(0,fre.readFileSync)(y,"utf-8"),J=jm.createSourceFile(y,D,jm.ScriptTarget.Latest,!0),Q=new Map,fe=t(Me=>{if(jm.isCallExpression(Me)){let lt=Me;if(this.isTestCall(lt.expression)){let Ye=lt.arguments[0];if(Ye&&jm.isCallExpression(Ye)&&jm.isIdentifier(Ye.expression)&&Ye.expression.text==="defineChecksumTest"){let Xe=this.extractDefineChecksumTestArgs(Ye);Xe&&oGe(Xe.checksumTestId)&&Q.set(Xe.testTitle,Xe.checksumTestId)}}}jm.forEachChild(Me,fe)},"visit");return fe(J),S&&Q.has(S)?Q.get(S):Q.size>0?Array.from(Q.values())[0]:void 0}catch{return}}isTestCall(y){return jm.isIdentifier(y)&&y.text==="test"?!0:jm.isPropertyAccessExpression(y)?jm.isIdentifier(y.expression)&&y.expression.text==="test":!1}extractDefineChecksumTestArgs(y){let S=y.arguments;if(S.length<2)return;let D=S[0],J=S[1],Q=this.extractStringLiteral(D),fe=this.extractStringLiteral(J);if(Q&&fe)return{testTitle:Q,checksumTestId:fe}}extractStringLiteral(y){if(jm.isStringLiteral(y)||jm.isNoSubstitutionTemplateLiteral(y))return y.text}};t(S2e,"FileContentExtractionStrategy");var y2e=S2e,T2e=class T2e{constructor(y){this.strategies=y||[new y2e,new h2e]}extract(y,S){for(let D of this.strategies){let J=D.extract(y,S);if(J)return J}}};t(T2e,"ChecksumTestIdExtractor");var v2e=T2e;var b2e=new v2e;var pre=t(p=>isNaN(p)?0:p,"getStat");var cGe=t((p,y)=>Object.values(y[p]||{}).some(S=>{var D,J;return(J=(D=S.autoRecoveryMetadata)==null?void 0:D.data)==null?void 0:J.autoRecovered}),"isAutoRecovered");var k2e=class k2e{constructor(y,S,D,J={},Q={},fe,Me,lt){this.reportHTMLFilePath=y;this.testRunUUID=S;this.pwTestIdToChecksumTestId=D;this.playwrightIdToMetadata=J;this.channel=fe;this.supportVideo=!1;this.config={hosted:!0,assetsBaseURL:"https://api.checksum.ai/api/test-runs"};this.config={...this.config,...Q},this.checksumRoot=Me||(0,Pk.dirname)((0,Pk.dirname)(y)),this.projectRoot=lt||this.checksumRoot}async process(){this.channel.debug("Extracting report...");let y=this.extractReportBase64();this.channel.debug("Preparing new report...");let S=await this.editZipFile(y);this.channel.debug("Writing report to file..."),this.writeFile(S)}testHasTrace(y,S){try{if(!this.report)return!0;let D=Object.keys(this.pwTestIdToChecksumTestId??{}).find(Q=>this.pwTestIdToChecksumTestId[Q]===y);if(!D)return!0;let J=t(Q=>Q.some(fe=>{var Me;return(Me=fe.attachments)==null?void 0:Me.some(lt=>lt.name==="trace")}),"hasTrace");for(let Q of this.report.files)for(let fe of Q.tests)if(fe.testId===D&&fe.projectName===S&&J(fe.results))return!0;return!1}catch(D){return this.channel.debug("Failed to check if test has trace, assuming trace exists",D),!0}}toRelativeFilePath(y){if(!y)return;let S;if((0,Pk.isAbsolute)(y))S=y;else{let J=(0,Pk.dirname)(this.checksumRoot);S=(0,Pk.resolve)(J,y)}return S.replace(this.projectRoot+"/","")}getStatPerFile(){let y=[];return this.report.files.forEach(S=>{S.tests.forEach(D=>{var Q,fe,Me;let J=this.pwTestIdToChecksumTestId[D.testId]||b2e.extract((Q=D.location)==null?void 0:Q.file,D.title);y.push({checksumTestId:J,playwrightTestId:D.testId,success:!!D.ok,recovered:cGe(D.testId,this.playwrightIdToMetadata),bug:D.tags.includes("bug")||D.annotations.some(lt=>lt.type==="bug")||D.title.includes("@bug"),annotations:D.annotations&&D.annotations.length>0?D.annotations.filter(lt=>!!(lt!=null&&lt.type)).map(lt=>({type:lt.type,description:lt.description||""})):[],tags:D.tags||[],outcome:D.outcome,filePath:(fe=D.location)==null?void 0:fe.file,relativeFilePath:this.toRelativeFilePath((Me=D.location)==null?void 0:Me.file)})})}),y}getProcessedFilePath(){return this.reportHTMLFilePath}extractReportBase64(){var Q;try{let fe=(Q=(0,bw.statSync)(this.reportHTMLFilePath))==null?void 0:Q.size;this.channel.debug(`Report HTML file size approximately ${fe} bytes`)}catch(fe){this.channel.debug(`Failed to retrieve file size for ${this.reportHTMLFilePath}`,fe)}let y=(0,bw.readFileSync)(this.reportHTMLFilePath,"utf-8"),S=y.match(/<script\s+id=["']playwrightReportBase64["'][^>]*>([^<]+)<\/script>/);if(S&&S[1])return S[1];let D=y.match(/window\.playwrightReportBase64 = "(.*)";/);if(D&&D[1])return D[1];let J="Could not extract playwrightReportBase64 from HTML file";throw this.channel.debug(J),new Error(J)}writeFile(y){let S=(0,bw.readFileSync)(ire.playwrightReporter.htmlReportTemplatePath,"utf-8");S=S+`<script id="playwrightReportBase64" type="application/zip">${y}</script>`;let D=this.getProcessedFilePath().replace(".html",".backup.html");(0,bw.writeFileSync)(D,(0,bw.readFileSync)(this.getProcessedFilePath())),(0,bw.writeFileSync)(this.getProcessedFilePath(),S)}getReportsStats(){return this.stats}async editZipFile(y){let S=y.replace("data:application/zip;base64,",""),D=await(0,lGe.loadAsync)(S,{base64:!0});for(let Q of Object.keys(D.files)){let fe=D.file(Q);if(fe){let Me=await fe.async("string"),lt=JSON.parse(Me);Q.startsWith("report")?(this.handleReportJSON(lt),this.report=lt,this.extractStats(lt)):this.handleFileReportJSON(lt),D.file(Q,JSON.stringify(lt))}}return`data:application/zip;base64,${await D.generateAsync({type:"base64",compression:"DEFLATE"})}`}extractStats(y){if(!y.stats)return;let{expected:S,unexpected:D,flaky:J}=y.stats,Q=this.getStatPerFile(),fe={passed:pre(J)+pre(S),failed:pre(D),bug:Q.filter(Me=>Me.bug).length,recovered:Q.filter(Me=>Me.recovered).length,tests:Q};Q.forEach(Me=>{Me.bug&&(Me.outcome==="expected"||Me.outcome==="flaky"?fe.passed--:Me.outcome==="unexpected"&&fe.failed--)}),this.stats=fe}makeAttachmentPath(y){return this.config.hosted?`${this.config.assetsBaseURL}/${this.testRunUUID}/report-data-file-url?fileName=${(0,Pk.basename)(y)}`:y}handleReportJSON(y){let S={},D=t(J=>{let Q=J.testId,fe=this.playwrightIdToMetadata[Q];fe&&(S[Q]=fe),J.results.forEach(Me=>{this.processAttachments(Me.attachments,J.testId)})},"getChecksumMetadataForPWTestId");y.files.forEach(J=>{J.tests.forEach(D)}),y.checksumMetadata=S}handleFileReportJSON(y){var S;(S=y.tests)==null||S.forEach(D=>{var J;(J=D.results)==null||J.forEach(Q=>{this.processAttachments(Q.attachments,D.testId)})})}processAttachments(y,S){if(y.forEach(D=>this.updateAttachment(D,S)),!this.supportVideo){let D=y.findIndex(J=>J.name==="video");D!==-1&&y.splice(D,1)}}updateAttachment(y,S){y.path&&(y.path=this.makeAttachmentPath(y.path))}};t(k2e,"PlaywrightReportProcessor");var dre=k2e;var uGe={trace:"application/zip","trace-backup-file":"application/zip",har:"application/zip",report:"text/html","rrweb-recording":"application/json"},WIt={click:"click",fill:"input",click_and_type:"click_and_type",clear_and_type:"clear_and_type",double_click:"double_click",drag_and_drop:"drag_and_drop",hover:"hover",navigate:"navigation",keystroke:"keystroke",selectoption:"selectoption",upload_files:"upload_files",wait:"wait",get_more_items:"get_more_items",reset:void 0,save:void 0,fail:void 0,finish:void 0,dismiss_modal:void 0,vision_help:void 0,switch_tab:"switch_tab",expand_interactable_elements:void 0,approve_release:void 0,logout_and_login:"logout_and_login",canvas_click:"canvas_click",native_accept:"native_accept",native_dismiss:"native_dismiss",hard_assertion:void 0,soft_assertion:void 0,recovery:void 0,scroll:void 0},hRt=Object.fromEntries(Object.entries(WIt).map(p=>p.reverse())),qIt={goto:"navigation",click:"click",dblclick:"double_click",dragTo:"drag_and_drop",check:"check",uncheck:"uncheck",fill:"input",hover:"hover",selectOption:"selectoption",waitForTimeout:"wait","keyboard.press":"keystroke",setInputFiles:"upload_files",getPage:"switch_tab",reauthenticate:"logout_and_login",canvasClick:"canvas_click"},yRt=Object.fromEntries(Object.entries(qIt).map(p=>p.reverse()));var vRt={input:[1,2],selectoption:[1,2],keystroke:[1,2],wait:[1,2],navigation:[1,2],click:[0,1],double_click:[0,1],drag_and_drop:[1,2],upload_files:[1,2],canvas_click:[1,2],logout_and_login:[1],login:[1,2],click_and_type:[1,2],clear_and_type:[1,2],check:[0,1],uncheck:[0,1],hover:[0,1]},bRt={input:1,selectoption:1,keystroke:1,wait:-1,navigation:1,click:0,double_click:0,drag_and_drop:1,upload_files:1,canvas_click:-1,logout_and_login:-1,login:1,click_and_type:0,clear_and_type:0,check:0,uncheck:0,hover:0,native_accept:-1,native_dismiss:-1};function wU(p,y){return t(function(){return p.apply(y,arguments)},"wrap")}t(wU,"bind");var{toString:VIt}=Object.prototype,{getPrototypeOf:E2e}=Object,{iterator:gre,toStringTag:fGe}=Symbol,hre=(p=>y=>{let S=VIt.call(y);return p[S]||(p[S]=S.slice(8,-1).toLowerCase())})(Object.create(null)),A2=t(p=>(p=p.toLowerCase(),y=>hre(y)===p),"kindOfTest"),yre=t(p=>y=>typeof y===p,"typeOfTest"),{isArray:Q5}=Array,X5=yre("undefined");function DU(p){return p!==null&&!X5(p)&&p.constructor!==null&&!X5(p.constructor)&&Pv(p.constructor.isBuffer)&&p.constructor.isBuffer(p)}t(DU,"isBuffer");var pGe=A2("ArrayBuffer");function HIt(p){let y;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?y=ArrayBuffer.isView(p):y=p&&p.buffer&&pGe(p.buffer),y}t(HIt,"isArrayBufferView");var GIt=yre("string"),Pv=yre("function"),dGe=yre("number"),PU=t(p=>p!==null&&typeof p=="object","isObject"),$It=t(p=>p===!0||p===!1,"isBoolean"),mre=t(p=>{if(hre(p)!=="object")return!1;let y=E2e(p);return(y===null||y===Object.prototype||Object.getPrototypeOf(y)===null)&&!(fGe in p)&&!(gre in p)},"isPlainObject"),XIt=t(p=>{if(!PU(p)||DU(p))return!1;try{return Object.keys(p).length===0&&Object.getPrototypeOf(p)===Object.prototype}catch{return!1}},"isEmptyObject"),QIt=A2("Date"),KIt=A2("File"),YIt=A2("Blob"),ZIt=A2("FileList"),e3t=t(p=>PU(p)&&Pv(p.pipe),"isStream"),t3t=t(p=>{let y;return p&&(typeof FormData=="function"&&p instanceof FormData||Pv(p.append)&&((y=hre(p))==="formdata"||y==="object"&&Pv(p.toString)&&p.toString()==="[object FormData]"))},"isFormData"),r3t=A2("URLSearchParams"),[n3t,i3t,a3t,s3t]=["ReadableStream","Request","Response","Headers"].map(A2),o3t=t(p=>p.trim?p.trim():p.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),"trim");function AU(p,y,{allOwnKeys:S=!1}={}){if(p===null||typeof p>"u")return;let D,J;if(typeof p!="object"&&(p=[p]),Q5(p))for(D=0,J=p.length;D<J;D++)y.call(null,p[D],D,p);else{if(DU(p))return;let Q=S?Object.getOwnPropertyNames(p):Object.keys(p),fe=Q.length,Me;for(D=0;D<fe;D++)Me=Q[D],y.call(null,p[Me],Me,p)}}t(AU,"forEach");function mGe(p,y){if(DU(p))return null;y=y.toLowerCase();let S=Object.keys(p),D=S.length,J;for(;D-- >0;)if(J=S[D],y===J.toLowerCase())return J;return null}t(mGe,"findKey");var gI=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,gGe=t(p=>!X5(p)&&p!==gI,"isContextDefined");function C2e(){let{caseless:p,skipUndefined:y}=gGe(this)&&this||{},S={},D=t((J,Q)=>{let fe=p&&mGe(S,Q)||Q;mre(S[fe])&&mre(J)?S[fe]=C2e(S[fe],J):mre(J)?S[fe]=C2e({},J):Q5(J)?S[fe]=J.slice():(!y||!X5(J))&&(S[fe]=J)},"assignValue");for(let J=0,Q=arguments.length;J<Q;J++)arguments[J]&&AU(arguments[J],D);return S}t(C2e,"merge");var c3t=t((p,y,S,{allOwnKeys:D}={})=>(AU(y,(J,Q)=>{S&&Pv(J)?p[Q]=wU(J,S):p[Q]=J},{allOwnKeys:D}),p),"extend"),l3t=t(p=>(p.charCodeAt(0)===65279&&(p=p.slice(1)),p),"stripBOM"),u3t=t((p,y,S,D)=>{p.prototype=Object.create(y.prototype,D),p.prototype.constructor=p,Object.defineProperty(p,"super",{value:y.prototype}),S&&Object.assign(p.prototype,S)},"inherits"),_3t=t((p,y,S,D)=>{let J,Q,fe,Me={};if(y=y||{},p==null)return y;do{for(J=Object.getOwnPropertyNames(p),Q=J.length;Q-- >0;)fe=J[Q],(!D||D(fe,p,y))&&!Me[fe]&&(y[fe]=p[fe],Me[fe]=!0);p=S!==!1&&E2e(p)}while(p&&(!S||S(p,y))&&p!==Object.prototype);return y},"toFlatObject"),f3t=t((p,y,S)=>{p=String(p),(S===void 0||S>p.length)&&(S=p.length),S-=y.length;let D=p.indexOf(y,S);return D!==-1&&D===S},"endsWith"),p3t=t(p=>{if(!p)return null;if(Q5(p))return p;let y=p.length;if(!dGe(y))return null;let S=new Array(y);for(;y-- >0;)S[y]=p[y];return S},"toArray"),d3t=(p=>y=>p&&y instanceof p)(typeof Uint8Array<"u"&&E2e(Uint8Array)),m3t=t((p,y)=>{let D=(p&&p[gre]).call(p),J;for(;(J=D.next())&&!J.done;){let Q=J.value;y.call(p,Q[0],Q[1])}},"forEachEntry"),g3t=t((p,y)=>{let S,D=[];for(;(S=p.exec(y))!==null;)D.push(S);return D},"matchAll"),h3t=A2("HTMLFormElement"),y3t=t(p=>p.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,t(function(S,D,J){return D.toUpperCase()+J},"replacer")),"toCamelCase"),_Ge=(({hasOwnProperty:p})=>(y,S)=>p.call(y,S))(Object.prototype),v3t=A2("RegExp"),hGe=t((p,y)=>{let S=Object.getOwnPropertyDescriptors(p),D={};AU(S,(J,Q)=>{let fe;(fe=y(J,Q,p))!==!1&&(D[Q]=fe||J)}),Object.defineProperties(p,D)},"reduceDescriptors"),b3t=t(p=>{hGe(p,(y,S)=>{if(Pv(p)&&["arguments","caller","callee"].indexOf(S)!==-1)return!1;let D=p[S];if(Pv(D)){if(y.enumerable=!1,"writable"in y){y.writable=!1;return}y.set||(y.set=()=>{throw Error("Can not rewrite read-only method '"+S+"'")})}})},"freezeMethods"),x3t=t((p,y)=>{let S={},D=t(J=>{J.forEach(Q=>{S[Q]=!0})},"define");return Q5(p)?D(p):D(String(p).split(y)),S},"toObjectSet"),S3t=t(()=>{},"noop"),T3t=t((p,y)=>p!=null&&Number.isFinite(p=+p)?p:y,"toFiniteNumber");function k3t(p){return!!(p&&Pv(p.append)&&p[fGe]==="FormData"&&p[gre])}t(k3t,"isSpecCompliantForm");var C3t=t(p=>{let y=new Array(10),S=t((D,J)=>{if(PU(D)){if(y.indexOf(D)>=0)return;if(DU(D))return D;if(!("toJSON"in D)){y[J]=D;let Q=Q5(D)?[]:{};return AU(D,(fe,Me)=>{let lt=S(fe,J+1);!X5(lt)&&(Q[Me]=lt)}),y[J]=void 0,Q}}return D},"visit");return S(p,0)},"toJSONObject"),E3t=A2("AsyncFunction"),w3t=t(p=>p&&(PU(p)||Pv(p))&&Pv(p.then)&&Pv(p.catch),"isThenable"),yGe=((p,y)=>p?setImmediate:y?((S,D)=>(gI.addEventListener("message",({source:J,data:Q})=>{J===gI&&Q===S&&D.length&&D.shift()()},!1),J=>{D.push(J),gI.postMessage(S,"*")}))(`axios@${Math.random()}`,[]):S=>setTimeout(S))(typeof setImmediate=="function",Pv(gI.postMessage)),D3t=typeof queueMicrotask<"u"?queueMicrotask.bind(gI):typeof process<"u"&&process.nextTick||yGe,P3t=t(p=>p!=null&&Pv(p[gre]),"isIterable"),Vr={isArray:Q5,isArrayBuffer:pGe,isBuffer:DU,isFormData:t3t,isArrayBufferView:HIt,isString:GIt,isNumber:dGe,isBoolean:$It,isObject:PU,isPlainObject:mre,isEmptyObject:XIt,isReadableStream:n3t,isRequest:i3t,isResponse:a3t,isHeaders:s3t,isUndefined:X5,isDate:QIt,isFile:KIt,isBlob:YIt,isRegExp:v3t,isFunction:Pv,isStream:e3t,isURLSearchParams:r3t,isTypedArray:d3t,isFileList:ZIt,forEach:AU,merge:C2e,extend:c3t,trim:o3t,stripBOM:l3t,inherits:u3t,toFlatObject:_3t,kindOf:hre,kindOfTest:A2,endsWith:f3t,toArray:p3t,forEachEntry:m3t,matchAll:g3t,isHTMLForm:h3t,hasOwnProperty:_Ge,hasOwnProp:_Ge,reduceDescriptors:hGe,freezeMethods:b3t,toObjectSet:x3t,toCamelCase:y3t,noop:S3t,toFiniteNumber:T3t,findKey:mGe,global:gI,isContextDefined:gGe,isSpecCompliantForm:k3t,toJSONObject:C3t,isAsyncFn:E3t,isThenable:w3t,setImmediate:yGe,asap:D3t,isIterable:P3t};function K5(p,y,S,D,J){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=p,this.name="AxiosError",y&&(this.code=y),S&&(this.config=S),D&&(this.request=D),J&&(this.response=J,this.status=J.status?J.status:null)}t(K5,"AxiosError");Vr.inherits(K5,Error,{toJSON:t(function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:Vr.toJSONObject(this.config),code:this.code,status:this.status}},"toJSON")});var vGe=K5.prototype,bGe={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(p=>{bGe[p]={value:p}});Object.defineProperties(K5,bGe);Object.defineProperty(vGe,"isAxiosError",{value:!0});K5.from=(p,y,S,D,J,Q)=>{let fe=Object.create(vGe);Vr.toFlatObject(p,fe,t(function(Xe){return Xe!==Error.prototype},"filter"),Ye=>Ye!=="isAxiosError");let Me=p&&p.message?p.message:"Error",lt=y==null&&p?p.code:y;return K5.call(fe,Me,lt,S,D,J),p&&fe.cause==null&&Object.defineProperty(fe,"cause",{value:p,configurable:!0}),fe.name=p&&p.name||"Error",Q&&Object.assign(fe,Q),fe};var os=K5;var kXe=Lg(TXe(),1),Pre=kXe.default;function H2e(p){return Vr.isPlainObject(p)||Vr.isArray(p)}t(H2e,"isVisitable");function EXe(p){return Vr.endsWith(p,"[]")?p.slice(0,-2):p}t(EXe,"removeBrackets");function CXe(p,y,S){return p?p.concat(y).map(t(function(J,Q){return J=EXe(J),!S&&Q?"["+J+"]":J},"each")).join(S?".":""):y}t(CXe,"renderKey");function d7t(p){return Vr.isArray(p)&&!p.some(H2e)}t(d7t,"isFlatArray");var m7t=Vr.toFlatObject(Vr,{},null,t(function(y){return/^is[A-Z]/.test(y)},"filter"));function g7t(p,y,S){if(!Vr.isObject(p))throw new TypeError("target must be an object");y=y||new(Pre||FormData),S=Vr.toFlatObject(S,{metaTokens:!0,dots:!1,indexes:!1},!1,t(function(gt,Gn){return!Vr.isUndefined(Gn[gt])},"defined"));let D=S.metaTokens,J=S.visitor||Xe,Q=S.dots,fe=S.indexes,lt=(S.Blob||typeof Blob<"u"&&Blob)&&Vr.isSpecCompliantForm(y);if(!Vr.isFunction(J))throw new TypeError("visitor must be a function");function Ye(dt){if(dt===null)return"";if(Vr.isDate(dt))return dt.toISOString();if(Vr.isBoolean(dt))return dt.toString();if(!lt&&Vr.isBlob(dt))throw new os("Blob is not supported. Use a Buffer instead.");return Vr.isArrayBuffer(dt)||Vr.isTypedArray(dt)?lt&&typeof Blob=="function"?new Blob([dt]):Buffer.from(dt):dt}t(Ye,"convertValue");function Xe(dt,gt,Gn){let dn=dt;if(dt&&!Gn&&typeof dt=="object"){if(Vr.endsWith(gt,"{}"))gt=D?gt:gt.slice(0,-2),dt=JSON.stringify(dt);else if(Vr.isArray(dt)&&d7t(dt)||(Vr.isFileList(dt)||Vr.endsWith(gt,"[]"))&&(dn=Vr.toArray(dt)))return gt=EXe(gt),dn.forEach(t(function(sa,ta){!(Vr.isUndefined(sa)||sa===null)&&y.append(fe===!0?CXe([gt],ta,Q):fe===null?gt:gt+"[]",Ye(sa))},"each")),!1}return H2e(dt)?!0:(y.append(CXe(Gn,gt,Q),Ye(dt)),!1)}t(Xe,"defaultVisitor");let Er=[],ke=Object.assign(m7t,{defaultVisitor:Xe,convertValue:Ye,isVisitable:H2e});function Zr(dt,gt){if(!Vr.isUndefined(dt)){if(Er.indexOf(dt)!==-1)throw Error("Circular reference detected in "+gt.join("."));Er.push(dt),Vr.forEach(dt,t(function(dn,Ni){(!(Vr.isUndefined(dn)||dn===null)&&J.call(y,dn,Vr.isString(Ni)?Ni.trim():Ni,gt,ke))===!0&&Zr(dn,gt?gt.concat(Ni):[Ni])},"each")),Er.pop()}}if(t(Zr,"build"),!Vr.isObject(p))throw new TypeError("data must be an object");return Zr(p),y}t(g7t,"toFormData");var TP=g7t;function wXe(p){let y={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(p).replace(/[!'()~]|%20|%00/g,t(function(D){return y[D]},"replacer"))}t(wXe,"encode");function DXe(p,y){this._pairs=[],p&&TP(p,this,y)}t(DXe,"AxiosURLSearchParams");var PXe=DXe.prototype;PXe.append=t(function(y,S){this._pairs.push([y,S])},"append");PXe.toString=t(function(y){let S=y?function(D){return y.call(this,D,wXe)}:wXe;return this._pairs.map(t(function(J){return S(J[0])+"="+S(J[1])},"each"),"").join("&")},"toString");var AXe=DXe;function h7t(p){return encodeURIComponent(p).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}t(h7t,"encode");function yI(p,y,S){if(!y)return p;let D=S&&S.encode||h7t;Vr.isFunction(S)&&(S={serialize:S});let J=S&&S.serialize,Q;if(J?Q=J(y,S):Q=Vr.isURLSearchParams(y)?y.toString():new AXe(y,S).toString(D),Q){let fe=p.indexOf("#");fe!==-1&&(p=p.slice(0,fe)),p+=(p.indexOf("?")===-1?"?":"&")+Q}return p}t(yI,"buildURL");var X2e=class X2e{constructor(){this.handlers=[]}use(y,S,D){return this.handlers.push({fulfilled:y,rejected:S,synchronous:D?D.synchronous:!1,runWhen:D?D.runWhen:null}),this.handlers.length-1}eject(y){this.handlers[y]&&(this.handlers[y]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(y){Vr.forEach(this.handlers,t(function(D){D!==null&&y(D)},"forEachHandler"))}};t(X2e,"InterceptorManager");var G2e=X2e,$2e=G2e;var r9={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var FXe=Lg(require("crypto"),1);var NXe=Lg(require("url"),1),IXe=NXe.default.URLSearchParams;var Q2e="abcdefghijklmnopqrstuvwxyz",OXe="0123456789",RXe={DIGIT:OXe,ALPHA:Q2e,ALPHA_DIGIT:Q2e+Q2e.toUpperCase()+OXe},y7t=t((p=16,y=RXe.ALPHA_DIGIT)=>{let S="",{length:D}=y,J=new Uint32Array(p);FXe.default.randomFillSync(J);for(let Q=0;Q<p;Q++)S+=y[J[Q]%D];return S},"generateString"),LXe={isNode:!0,classes:{URLSearchParams:IXe,FormData:Pre,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:RXe,generateString:y7t,protocols:["http","https","file","data"]};var Z2e={};tUe(Z2e,{hasBrowserEnv:()=>Y2e,hasStandardBrowserEnv:()=>v7t,hasStandardBrowserWebWorkerEnv:()=>b7t,navigator:()=>K2e,origin:()=>x7t});var Y2e=typeof window<"u"&&typeof document<"u",K2e=typeof navigator=="object"&&navigator||void 0,v7t=Y2e&&(!K2e||["ReactNative","NativeScript","NS"].indexOf(K2e.product)<0),b7t=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",x7t=Y2e&&window.location.href||"http://localhost";var Ou={...Z2e,...LXe};function eTe(p,y){return TP(p,new Ou.classes.URLSearchParams,{visitor:t(function(S,D,J,Q){return Ou.isNode&&Vr.isBuffer(S)?(this.append(D,S.toString("base64")),!1):Q.defaultVisitor.apply(this,arguments)},"visitor"),...y})}t(eTe,"toURLEncodedForm");function S7t(p){return Vr.matchAll(/\w+|\[(\w*)]/g,p).map(y=>y[0]==="[]"?"":y[1]||y[0])}t(S7t,"parsePropPath");function T7t(p){let y={},S=Object.keys(p),D,J=S.length,Q;for(D=0;D<J;D++)Q=S[D],y[Q]=p[Q];return y}t(T7t,"arrayToObject");function k7t(p){function y(S,D,J,Q){let fe=S[Q++];if(fe==="__proto__")return!0;let Me=Number.isFinite(+fe),lt=Q>=S.length;return fe=!fe&&Vr.isArray(J)?J.length:fe,lt?(Vr.hasOwnProp(J,fe)?J[fe]=[J[fe],D]:J[fe]=D,!Me):((!J[fe]||!Vr.isObject(J[fe]))&&(J[fe]=[]),y(S,D,J[fe],Q)&&Vr.isArray(J[fe])&&(J[fe]=T7t(J[fe])),!Me)}if(t(y,"buildPath"),Vr.isFormData(p)&&Vr.isFunction(p.entries)){let S={};return Vr.forEachEntry(p,(D,J)=>{y(S7t(D),J,S,0)}),S}return null}t(k7t,"formDataToJSON");var Are=k7t;function C7t(p,y,S){if(Vr.isString(p))try{return(y||JSON.parse)(p),Vr.trim(p)}catch(D){if(D.name!=="SyntaxError")throw D}return(S||JSON.stringify)(p)}t(C7t,"stringifySafely");var tTe={transitional:r9,adapter:["xhr","http","fetch"],transformRequest:[t(function(y,S){let D=S.getContentType()||"",J=D.indexOf("application/json")>-1,Q=Vr.isObject(y);if(Q&&Vr.isHTMLForm(y)&&(y=new FormData(y)),Vr.isFormData(y))return J?JSON.stringify(Are(y)):y;if(Vr.isArrayBuffer(y)||Vr.isBuffer(y)||Vr.isStream(y)||Vr.isFile(y)||Vr.isBlob(y)||Vr.isReadableStream(y))return y;if(Vr.isArrayBufferView(y))return y.buffer;if(Vr.isURLSearchParams(y))return S.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),y.toString();let Me;if(Q){if(D.indexOf("application/x-www-form-urlencoded")>-1)return eTe(y,this.formSerializer).toString();if((Me=Vr.isFileList(y))||D.indexOf("multipart/form-data")>-1){let lt=this.env&&this.env.FormData;return TP(Me?{"files[]":y}:y,lt&&new lt,this.formSerializer)}}return Q||J?(S.setContentType("application/json",!1),C7t(y)):y},"transformRequest")],transformResponse:[t(function(y){let S=this.transitional||tTe.transitional,D=S&&S.forcedJSONParsing,J=this.responseType==="json";if(Vr.isResponse(y)||Vr.isReadableStream(y))return y;if(y&&Vr.isString(y)&&(D&&!this.responseType||J)){let fe=!(S&&S.silentJSONParsing)&&J;try{return JSON.parse(y,this.parseReviver)}catch(Me){if(fe)throw Me.name==="SyntaxError"?os.from(Me,os.ERR_BAD_RESPONSE,this,null,this.response):Me}}return y},"transformResponse")],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ou.classes.FormData,Blob:Ou.classes.Blob},validateStatus:t(function(y){return y>=200&&y<300},"validateStatus"),headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Vr.forEach(["delete","get","head","post","put","patch"],p=>{tTe.headers[p]={}});var n9=tTe;var E7t=Vr.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),MXe=t(p=>{let y={},S,D,J;return p&&p.split(`
444
+ `).map(y=>y.trim()).join(" ")};KXe.O=function(p){return this.inspectOpts.colors=this.useColors,Fre.inspect(p,this.inspectOpts)}});var ZXe=Bn((Ejt,lTe)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?lTe.exports=VXe():lTe.exports=YXe()});var tQe=Bn((wjt,eQe)=>{var jU;eQe.exports=function(){if(!jU){try{jU=ZXe()("follow-redirects")}catch{}typeof jU!="function"&&(jU=t(function(){},"debug"))}jU.apply(null,arguments)}});var sQe=Bn((Pjt,xTe)=>{var JU=require("url"),BU=JU.URL,iOt=require("http"),aOt=require("https"),dTe=require("stream").Writable,mTe=require("assert"),rQe=tQe();t(function(){var y=typeof process<"u",S=typeof window<"u"&&typeof document<"u",D=SI(Error.captureStackTrace);!y&&(S||!D)&&console.warn("The follow-redirects package should be excluded from browser builds.")},"detectUnsupportedEnvironment")();var gTe=!1;try{mTe(new BU(""))}catch(p){gTe=p.code==="ERR_INVALID_URL"}var sOt=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],hTe=["abort","aborted","connect","error","socket","timeout"],yTe=Object.create(null);hTe.forEach(function(p){yTe[p]=function(y,S,D){this._redirectable.emit(p,y,S,D)}});var _Te=zU("ERR_INVALID_URL","Invalid URL",TypeError),fTe=zU("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),oOt=zU("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",fTe),cOt=zU("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),lOt=zU("ERR_STREAM_WRITE_AFTER_END","write after end"),uOt=dTe.prototype.destroy||iQe;function Iv(p,y){dTe.call(this),this._sanitizeOptions(p),this._options=p,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],y&&this.on("response",y);var S=this;this._onNativeResponse=function(D){try{S._processResponse(D)}catch(J){S.emit("error",J instanceof fTe?J:new fTe({cause:J}))}},this._performRequest()}t(Iv,"RedirectableRequest");Iv.prototype=Object.create(dTe.prototype);Iv.prototype.abort=function(){bTe(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};Iv.prototype.destroy=function(p){return bTe(this._currentRequest,p),uOt.call(this,p),this};Iv.prototype.write=function(p,y,S){if(this._ending)throw new lOt;if(!xI(p)&&!pOt(p))throw new TypeError("data should be a string, Buffer or Uint8Array");if(SI(y)&&(S=y,y=null),p.length===0){S&&S();return}this._requestBodyLength+p.length<=this._options.maxBodyLength?(this._requestBodyLength+=p.length,this._requestBodyBuffers.push({data:p,encoding:y}),this._currentRequest.write(p,y,S)):(this.emit("error",new cOt),this.abort())};Iv.prototype.end=function(p,y,S){if(SI(p)?(S=p,p=y=null):SI(y)&&(S=y,y=null),!p)this._ended=this._ending=!0,this._currentRequest.end(null,null,S);else{var D=this,J=this._currentRequest;this.write(p,y,function(){D._ended=!0,J.end(null,null,S)}),this._ending=!0}};Iv.prototype.setHeader=function(p,y){this._options.headers[p]=y,this._currentRequest.setHeader(p,y)};Iv.prototype.removeHeader=function(p){delete this._options.headers[p],this._currentRequest.removeHeader(p)};Iv.prototype.setTimeout=function(p,y){var S=this;function D(fe){fe.setTimeout(p),fe.removeListener("timeout",fe.destroy),fe.addListener("timeout",fe.destroy)}t(D,"destroyOnTimeout");function J(fe){S._timeout&&clearTimeout(S._timeout),S._timeout=setTimeout(function(){S.emit("timeout"),Q()},p),D(fe)}t(J,"startTimer");function Q(){S._timeout&&(clearTimeout(S._timeout),S._timeout=null),S.removeListener("abort",Q),S.removeListener("error",Q),S.removeListener("response",Q),S.removeListener("close",Q),y&&S.removeListener("timeout",y),S.socket||S._currentRequest.removeListener("socket",J)}return t(Q,"clearTimer"),y&&this.on("timeout",y),this.socket?J(this.socket):this._currentRequest.once("socket",J),this.on("socket",D),this.on("abort",Q),this.on("error",Q),this.on("response",Q),this.on("close",Q),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(p){Iv.prototype[p]=function(y,S){return this._currentRequest[p](y,S)}});["aborted","connection","socket"].forEach(function(p){Object.defineProperty(Iv.prototype,p,{get:t(function(){return this._currentRequest[p]},"get")})});Iv.prototype._sanitizeOptions=function(p){if(p.headers||(p.headers={}),p.host&&(p.hostname||(p.hostname=p.host),delete p.host),!p.pathname&&p.path){var y=p.path.indexOf("?");y<0?p.pathname=p.path:(p.pathname=p.path.substring(0,y),p.search=p.path.substring(y))}};Iv.prototype._performRequest=function(){var p=this._options.protocol,y=this._options.nativeProtocols[p];if(!y)throw new TypeError("Unsupported protocol "+p);if(this._options.agents){var S=p.slice(0,-1);this._options.agent=this._options.agents[S]}var D=this._currentRequest=y.request(this._options,this._onNativeResponse);D._redirectable=this;for(var J of hTe)D.on(J,yTe[J]);if(this._currentUrl=/^\//.test(this._options.path)?JU.format(this._options):this._options.path,this._isRedirect){var Q=0,fe=this,Me=this._requestBodyBuffers;t(function lt(Ye){if(D===fe._currentRequest)if(Ye)fe.emit("error",Ye);else if(Q<Me.length){var Xe=Me[Q++];D.finished||D.write(Xe.data,Xe.encoding,lt)}else fe._ended&&D.end()},"writeNext")()}};Iv.prototype._processResponse=function(p){var y=p.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:p.headers,statusCode:y});var S=p.headers.location;if(!S||this._options.followRedirects===!1||y<300||y>=400){p.responseUrl=this._currentUrl,p.redirects=this._redirects,this.emit("response",p),this._requestBodyBuffers=[];return}if(bTe(this._currentRequest),p.destroy(),++this._redirectCount>this._options.maxRedirects)throw new oOt;var D,J=this._options.beforeRedirect;J&&(D=Object.assign({Host:p.req.getHeader("host")},this._options.headers));var Q=this._options.method;((y===301||y===302)&&this._options.method==="POST"||y===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],uTe(/^content-/i,this._options.headers));var fe=uTe(/^host$/i,this._options.headers),Me=vTe(this._currentUrl),lt=fe||Me.host,Ye=/^\w+:/.test(S)?this._currentUrl:JU.format(Object.assign(Me,{host:lt})),Xe=_Ot(S,Ye);if(rQe("redirecting to",Xe.href),this._isRedirect=!0,pTe(Xe,this._options),(Xe.protocol!==Me.protocol&&Xe.protocol!=="https:"||Xe.host!==lt&&!fOt(Xe.host,lt))&&uTe(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers),SI(J)){var Er={headers:p.headers,statusCode:y},ke={url:Ye,method:Q,headers:D};J(this._options,Er,ke),this._sanitizeOptions(this._options)}this._performRequest()};function nQe(p){var y={maxRedirects:21,maxBodyLength:10485760},S={};return Object.keys(p).forEach(function(D){var J=D+":",Q=S[J]=p[D],fe=y[D]=Object.create(Q);function Me(Ye,Xe,Er){return dOt(Ye)?Ye=pTe(Ye):xI(Ye)?Ye=pTe(vTe(Ye)):(Er=Xe,Xe=aQe(Ye),Ye={protocol:J}),SI(Xe)&&(Er=Xe,Xe=null),Xe=Object.assign({maxRedirects:y.maxRedirects,maxBodyLength:y.maxBodyLength},Ye,Xe),Xe.nativeProtocols=S,!xI(Xe.host)&&!xI(Xe.hostname)&&(Xe.hostname="::1"),mTe.equal(Xe.protocol,J,"protocol mismatch"),rQe("options",Xe),new Iv(Xe,Er)}t(Me,"request");function lt(Ye,Xe,Er){var ke=fe.request(Ye,Xe,Er);return ke.end(),ke}t(lt,"get"),Object.defineProperties(fe,{request:{value:Me,configurable:!0,enumerable:!0,writable:!0},get:{value:lt,configurable:!0,enumerable:!0,writable:!0}})}),y}t(nQe,"wrap");function iQe(){}t(iQe,"noop");function vTe(p){var y;if(gTe)y=new BU(p);else if(y=aQe(JU.parse(p)),!xI(y.protocol))throw new _Te({input:p});return y}t(vTe,"parseUrl");function _Ot(p,y){return gTe?new BU(p,y):vTe(JU.resolve(y,p))}t(_Ot,"resolveUrl");function aQe(p){if(/^\[/.test(p.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(p.hostname))throw new _Te({input:p.href||p});if(/^\[/.test(p.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(p.host))throw new _Te({input:p.href||p});return p}t(aQe,"validateUrl");function pTe(p,y){var S=y||{};for(var D of sOt)S[D]=p[D];return S.hostname.startsWith("[")&&(S.hostname=S.hostname.slice(1,-1)),S.port!==""&&(S.port=Number(S.port)),S.path=S.search?S.pathname+S.search:S.pathname,S}t(pTe,"spreadUrlObject");function uTe(p,y){var S;for(var D in y)p.test(D)&&(S=y[D],delete y[D]);return S===null||typeof S>"u"?void 0:String(S).trim()}t(uTe,"removeMatchingHeaders");function zU(p,y,S){function D(J){SI(Error.captureStackTrace)&&Error.captureStackTrace(this,this.constructor),Object.assign(this,J||{}),this.code=p,this.message=this.cause?y+": "+this.cause.message:y}return t(D,"CustomError"),D.prototype=new(S||Error),Object.defineProperties(D.prototype,{constructor:{value:D,enumerable:!1},name:{value:"Error ["+p+"]",enumerable:!1}}),D}t(zU,"createErrorType");function bTe(p,y){for(var S of hTe)p.removeListener(S,yTe[S]);p.on("error",iQe),p.destroy(y)}t(bTe,"destroyRequest");function fOt(p,y){mTe(xI(p)&&xI(y));var S=p.length-y.length-1;return S>0&&p[S]==="."&&p.endsWith(y)}t(fOt,"isSubdomain");function xI(p){return typeof p=="string"||p instanceof String}t(xI,"isString");function SI(p){return typeof p=="function"}t(SI,"isFunction");function pOt(p){return typeof p=="object"&&"length"in p}t(pOt,"isBuffer");function dOt(p){return BU&&p instanceof BU}t(dOt,"isURL");xTe.exports=nQe({http:iOt,https:aOt});xTe.exports.wrap=nQe});var WOt={};tUe(WOt,{TestRunMonitor:()=>Hre});module.exports=Z6t(WOt);var Kbe=t(p=>new Promise(y=>setTimeout(y,p)),"awaitSleep");var VQe=require("child_process"),HU=require("crypto"),Fp=require("fs"),HQe=require("http"),GQe=Lg(require("net")),$Qe=require("os"),rb=require("path");var lGe=Lg(dHe()),bw=require("fs"),Pk=require("path");var wk=Lg(require("path")),GSe=require("fs");var zSe=require("path"),tre=require("fs");function FNt(p,y,S=10){let D=p;for(let J=0;J<S;J++){let Q=(0,zSe.join)(D,"package.json");if((0,tre.existsSync)(Q))try{if(JSON.parse((0,tre.readFileSync)(Q,"utf8")).name===y)return D}catch{}D=(0,zSe.join)(D,"..")}}t(FNt,"findRepositoryRoot");function mHe(p,y=10){return FNt(p,"checksum-customer-engineering-workspace",y)}t(mHe,"findCustomerEngineeringRoot");var $Se=Lg(bHe());var Iu=t((p,y)=>{if(p==null||p==="")return(y==null?void 0:y.default)??!1;let S=p.toLowerCase().trim();return S==="true"?!0:S==="false"?!1:(y==null?void 0:y.default)??!1},"parseBoolean");var QNt=__dirname,xHe=wk.join(__dirname,".."),kHe=(0,GSe.existsSync)(xHe)?xHe:QNt;(0,$Se.config)({path:wk.resolve(kHe,".env")});var VSe=Iu(process.env.CHECKSUM_RUNTIME_DEV_MODE);function KNt(){let p=__dirname;for(;!(0,GSe.existsSync)(wk.join(p,"package.json"));)p=wk.join(p,"..");return p}t(KNt,"findRoot");var W5=KNt(),YNt=mHe(W5,10);(0,$Se.config)({path:[kHe,YNt].filter(Boolean).map(p=>wk.resolve(p,".env")),override:!1});var nre=Iu(process.env.CHECKSUM_VTG_E2E_TEST_MODE),SHe=wk.join(W5,"vtg-build","index.html"),HSe=nre?!0:Iu(process.env.CHECKSUM_RUNTIME_REPO_MODE),THe=Iu(process.env.CHECKSUM_VTG_SEPARATE_PROCESS),ZNt=HSe?wk.join(W5,"package","pw-report-template.html"):wk.join(W5,"pw-report-template.html"),eIt=Iu(process.env.CHECKSUM_DEBUG_ANALYTICS),tIt=Iu(process.env.CHECKSUM_LOG_ANALYTICS_TO_CONSOLE),ire={isDevMode:VSe,isRepoMode:HSe,CI:!!process.env.CI,checksumRootFolderBypass:nre?"packages/runtime/test/e2e/checksum":HSe&&process.env.CHECKSUM_RUNTIME_ROOT_FOLDER_BYPASS_FOR_REPO_MODE?process.env.CHECKSUM_RUNTIME_ROOT_FOLDER_BYPASS_FOR_REPO_MODE:process.env.CHECKSUM_RUNTIME_ROOT_FOLDER_BYPASS,logLevel:process.env.CHECKSUM_RUNTIME_LOG_LEVEL??"warnings",checksumScript:{source:process.env.CHECKSUM_RUNTIME_SCRIPT_SOURCE??(VSe?"url":"file"),url:process.env.CHECKSUM_RUNTIME_SCRIPT_URL,path:W5+"/checksumlib.js"},runtimeRoot:W5,playwrightReporter:{htmlReportTemplatePath:ZNt},bypassProxyForLocalhost:Iu(process.env.CHECKSUM_RUNTIME_BYPASS_PROXY_FOR_LOCALHOST),promptKillActivePlaywrightProcesses:Iu(process.env.CHECKSUM_RUNTIME_PROMPT_KILL_ACTIVE_PLAYWRIGHT_PROCESSES,{default:!0}),useCLIDebug:Iu(process.env.CHECKSUM_RUNTIME_USE_CLI_DEBUG),useRemoteDebugging:{enabled:Iu(process.env.CHECKSUM_RUNTIME_USE_REMOTE_DEBUGGING),port:parseInt(process.env.CHECKSUM_AGENT_RUNTIME_REMOTE_DEBUGGING_PORT??"9500")},testRun:{timeMachine:{active:!0,headless:!Iu(process.env.CHECKSUM_RUNTIME_SHOW_RUNTIME_TIME_MACHINE),recordRRwebEventsToFile:Iu(process.env.CHECKSUM_RUNTIME_RECORD_RRWEB_EVENTS_TO_FILE,{default:!0})},monitoring:{defaultProvider:process.env.CHECKSUM_RUNTIME_MONITORING_DEFAULT_PROVIDER??"newrelic",debugAnalytics:eIt,logToConsole:tIt,newrelic:{appName:process.env.CHECKSUM_RUNTIME_MONITORING_NEWRELIC_APP_NAME??"checksum-runtime",licenseKey:"b4f3f644f40df19fe3d385c75428a450FFFFNRAL",logging:Iu(process.env.NEW_RELIC_LOG_ENABLED,{default:!1})},segment:{writeKey:process.env.CHECKSUM_RUNTIME_MONITORING_SEGMENT_WRITE_KEY??"TMuP8uorDj4QzJfNs0gEHDO7kHozVBOo",devWriteKey:process.env.CHECKSUM_RUNTIME_MONITORING_SEGMENT_DEV_WRITE_KEY??"gofHHwvdNHJNmb7KqACUmypZclVHEQ2l"}},autoRecovery:{verboseConsoleLog:Iu(process.env.CHECKSUM_RUNTIME_AUTO_RECOVERY_CONSOLE_LOG,{default:!1}),sessionTimeout:18e4},disableAutoRecovery:Iu(process.env.CHECKSUM_RUNTIME_DISABLE_AUTO_RECOVERY),disableHostReports:Iu(process.env.CHECKSUM_RUNTIME_DISABLE_HOST_REPORTS),request:{userEmail:process.env.CHECKSUM_RUNTIME_REQUEST_USER_EMAIL,reason:process.env.CHECKSUM_RUNTIME_REQUEST_REASON},platform:{name:process.env.CHECKSUM_RUNTIME_PLATFORM_NAME,jobURL:process.env.CHECKSUM_RUNTIME_PLATFORM_JOB_URL,jobName:process.env.CHECKSUM_RUNTIME_PLATFORM_JOB_NAME},runType:process.env.CHECKSUM_RUNTIME_RUN_TYPE},vtg:{isSeparateProcess:THe,isE2ETestMode:nre,writeLogFile:Iu(process.env.CHECKSUM_VTG_WRITE_LOG_FILE,{default:!0}),appSource:process.env.CHECKSUM_VTG_APP_SOURCE??(VSe?"served-app":"served-build-file"),localUrl:`file://${SHe}`,localBuildPath:SHe,appURL:process.env.CHECKSUM_VTG_APP_URL,writeRrwebEventsToFile:Iu(process.env.CHECKSUM_VTG_RECORD_EVENTS_TO_FILE),useFakeStory:Iu(process.env.CHECKSUM_VTG_USE_FAKE_STORY)||nre,logAPIServer:{interval:Iu(process.env.CHECKSUM_VTG_LOG_API_SERVER_INTERVAL),httpTransactions:Iu(process.env.CHECKSUM_VTG_LOG_API_SERVER_HTTP_TRANSACTIONS,{default:!0})},customerEngRepoInternalUtilsRelativePath:process.env.CHECKSUM_VTG_CUSTOMER_ENG_REPO_INTERNAL_UTILS_RELATIVE_PATH??"tools/internal-utils.ts",fakeStory:{goal:process.env.CHECKSUM_VTG_FAKE_STORY_GOAL??"Send email via outreach list",instructions:process.env.CHECKSUM_VTG_FAKE_STORY_INSTRUCTIONS??"Make sure to select a user from the list first"},fakeTestGeneration:{internalTestId:process.env.CHECKSUM_VTG_FAKE_STORY_INTERNAL_TEST_ID??`tempID${Date.now().toString().slice(-5)}`,generationBatchId:process.env.CHECKSUM_VTG_FAKE_GENERATION_BATCH_ID??`tempID${Date.now().toString().slice(-5)}`},remoteDebugging:THe?!0:Iu(process.env.CHECKSUM_VTG_REMOTE_DEBUGGING),appRemoteDebuggingPort:parseInt(process.env.CHECKSUM_VTG_REMOTE_DEBUGGING_PORT??"9230"),vtgRemoteDebuggingPort:parseInt(process.env.CHECKSUM_VTG_REMOTE_DEBUGGING_PORT??"9231"),taskTimeMachine:{showTaskTimeMachine:Iu(process.env.CHECKSUM_VTG_SHOW_TASK_TIME_MACHINE),taskTimeout:parseInt(process.env.CHECKSUM_VTG_TASK_TIME_MACHINE_TIMEOUT??"240000"),debugPort:parseInt(process.env.CHECKSUM_VTG_TASK_TIME_MACHINE_DEBUG_PORT??"9232"),logPerformance:Iu(process.env.CHECKSUM_VTG_TASK_TIME_MACHINE_LOG_PERFORMANCE,{default:!0})},aiAssertions:{disabled:Iu(process.env.CHECKSUM_VTG_AI_ASSERTIONS_DISABLED),allowRefactoring:Iu(process.env.CHECKSUM_VTG_ALLOW_AI_ASSERTIONS_REFACTORING),allowFiltering:Iu(process.env.CHECKSUM_VTG_ALLOW_AI_ASSERTIONS_FILTERING),logPerformance:Iu(process.env.CHECKSUM_VTG_AI_ASSERTIONS_LOG_PERFORMANCE,{default:!1})},aiLocators:{disabled:Iu(process.env.CHECKSUM_VTG_AI_LOCATORS_DISABLED),useFakeAILocators:Iu(process.env.CHECKSUM_VTG_USE_FAKE_AI_LOCATORS)}},benchmark:Iu(process.env.BENCHMARK_MODE),buildTime:process.env.CHECKSUM_RUNTIME_BUILD_TIME??"unknown",llm:{models:{openai:{key:process.env.CHECKSUM_RUNTIME_OPENAI_API_KEY},anthropic:{key:process.env.CHECKSUM_RUNTIME_ANTHROPIC_API_KEY},gemini:{model:process.env.CHECKSUM_RUNTIME_GEMINI_MODEL},groq:{apiKey:process.env.CHECKSUM_RUNTIME_GROQ_API_KEY}}},gcp:{credentialsFile:process.env.CHECKSUM_RUNTIME_GCP_CREDENTIALS_FILE}};var fre=require("fs"),jm=Lg(sGe());var JIt=/^[0-9a-zA-Z]+$/,zIt=5;function oGe(p){return p?p.length===zIt&&JIt.test(p):!1}t(oGe,"isValidChecksumTestId");var x2e=class x2e{extract(y,S){if(!y)return;let D=y.split("/"),J=D[D.length-1];if(!J.endsWith(".checksum.spec.ts"))return;let fe=J.replace(".checksum.spec.ts","").split(" - ").pop();return oGe(fe)?fe:void 0}};t(x2e,"FileNameExtractionStrategy");var h2e=x2e,S2e=class S2e{extract(y,S){if(!(!y||!(0,fre.existsSync)(y)))try{let D=(0,fre.readFileSync)(y,"utf-8"),J=jm.createSourceFile(y,D,jm.ScriptTarget.Latest,!0),Q=new Map,fe=t(Me=>{if(jm.isCallExpression(Me)){let lt=Me;if(this.isTestCall(lt.expression)){let Ye=lt.arguments[0];if(Ye&&jm.isCallExpression(Ye)&&jm.isIdentifier(Ye.expression)&&Ye.expression.text==="defineChecksumTest"){let Xe=this.extractDefineChecksumTestArgs(Ye);Xe&&oGe(Xe.checksumTestId)&&Q.set(Xe.testTitle,Xe.checksumTestId)}}}jm.forEachChild(Me,fe)},"visit");return fe(J),S&&Q.has(S)?Q.get(S):Q.size>0?Array.from(Q.values())[0]:void 0}catch{return}}isTestCall(y){return jm.isIdentifier(y)&&y.text==="test"?!0:jm.isPropertyAccessExpression(y)?jm.isIdentifier(y.expression)&&y.expression.text==="test":!1}extractDefineChecksumTestArgs(y){let S=y.arguments;if(S.length<2)return;let D=S[0],J=S[1],Q=this.extractStringLiteral(D),fe=this.extractStringLiteral(J);if(Q&&fe)return{testTitle:Q,checksumTestId:fe}}extractStringLiteral(y){if(jm.isStringLiteral(y)||jm.isNoSubstitutionTemplateLiteral(y))return y.text}};t(S2e,"FileContentExtractionStrategy");var y2e=S2e,T2e=class T2e{constructor(y){this.strategies=y||[new y2e,new h2e]}extract(y,S){for(let D of this.strategies){let J=D.extract(y,S);if(J)return J}}};t(T2e,"ChecksumTestIdExtractor");var v2e=T2e;var b2e=new v2e;var pre=t(p=>isNaN(p)?0:p,"getStat");var cGe=t((p,y)=>Object.values(y[p]||{}).some(S=>{var D,J;return(J=(D=S.autoRecoveryMetadata)==null?void 0:D.data)==null?void 0:J.autoRecovered}),"isAutoRecovered");var k2e=class k2e{constructor(y,S,D,J={},Q={},fe,Me,lt){this.reportHTMLFilePath=y;this.testRunUUID=S;this.pwTestIdToChecksumTestId=D;this.playwrightIdToMetadata=J;this.channel=fe;this.supportVideo=!1;this.config={hosted:!0,assetsBaseURL:"https://api.checksum.ai/api/test-runs"};this.config={...this.config,...Q},this.checksumRoot=Me||(0,Pk.dirname)((0,Pk.dirname)(y)),this.projectRoot=lt||this.checksumRoot}logMemoryUsage(y){let S=process.memoryUsage();this.channel.debug(`[Memory ${y}] heapUsed: ${Math.round(S.heapUsed/1024/1024)}MB, heapTotal: ${Math.round(S.heapTotal/1024/1024)}MB, rss: ${Math.round(S.rss/1024/1024)}MB, external: ${Math.round(S.external/1024/1024)}MB`)}async process(){this.logMemoryUsage("before-extract"),this.channel.debug("Extracting report...");let y=this.extractReportBase64();this.logMemoryUsage("after-extract"),this.channel.debug(`Extracted base64 length: ${y.length} chars (~${Math.round(y.length/1024/1024)}MB)`),this.channel.debug("Preparing new report...");let S=await this.editZipFile(y);this.logMemoryUsage("after-editZip"),this.channel.debug(`New base64 length: ${S.length} chars (~${Math.round(S.length/1024/1024)}MB)`),this.channel.debug("Writing report to file..."),this.writeFile(S),this.logMemoryUsage("after-write")}testHasTrace(y,S){try{if(!this.report)return!0;let D=Object.keys(this.pwTestIdToChecksumTestId??{}).find(Q=>this.pwTestIdToChecksumTestId[Q]===y);if(!D)return!0;let J=t(Q=>Q.some(fe=>{var Me;return(Me=fe.attachments)==null?void 0:Me.some(lt=>lt.name==="trace")}),"hasTrace");for(let Q of this.report.files)for(let fe of Q.tests)if(fe.testId===D&&fe.projectName===S&&J(fe.results))return!0;return!1}catch(D){return this.channel.debug("Failed to check if test has trace, assuming trace exists",D),!0}}toRelativeFilePath(y){if(!y)return;let S;if((0,Pk.isAbsolute)(y))S=y;else{let J=(0,Pk.dirname)(this.checksumRoot);S=(0,Pk.resolve)(J,y)}return S.replace(this.projectRoot+"/","")}getStatPerFile(){let y=[];return this.report.files.forEach(S=>{S.tests.forEach(D=>{var Q,fe,Me;let J=this.pwTestIdToChecksumTestId[D.testId]||b2e.extract((Q=D.location)==null?void 0:Q.file,D.title);y.push({checksumTestId:J,playwrightTestId:D.testId,success:!!D.ok,recovered:cGe(D.testId,this.playwrightIdToMetadata),bug:D.tags.includes("bug")||D.annotations.some(lt=>lt.type==="bug")||D.title.includes("@bug"),annotations:D.annotations&&D.annotations.length>0?D.annotations.filter(lt=>!!(lt!=null&&lt.type)).map(lt=>({type:lt.type,description:lt.description||""})):[],tags:D.tags||[],outcome:D.outcome,filePath:(fe=D.location)==null?void 0:fe.file,relativeFilePath:this.toRelativeFilePath((Me=D.location)==null?void 0:Me.file)})})}),y}getProcessedFilePath(){return this.reportHTMLFilePath}extractReportBase64(){var Q;try{let fe=(Q=(0,bw.statSync)(this.reportHTMLFilePath))==null?void 0:Q.size;this.channel.debug(`Report HTML file size approximately ${fe} bytes`)}catch(fe){this.channel.debug(`Failed to retrieve file size for ${this.reportHTMLFilePath}`,fe)}let y=(0,bw.readFileSync)(this.reportHTMLFilePath,"utf-8"),S=y.match(/<script\s+id=["']playwrightReportBase64["'][^>]*>([^<]+)<\/script>/);if(S&&S[1])return(" "+S[1]).slice(1);let D=y.match(/window\.playwrightReportBase64 = "(.*)";/);if(D&&D[1])return(" "+D[1]).slice(1);let J="Could not extract playwrightReportBase64 from HTML file";throw this.channel.debug(J),new Error(J)}writeFile(y){let S=(0,bw.readFileSync)(ire.playwrightReporter.htmlReportTemplatePath,"utf-8");S=S+`<script id="playwrightReportBase64" type="application/zip">${y}</script>`;let D=this.getProcessedFilePath().replace(".html",".backup.html");(0,bw.copyFileSync)(this.getProcessedFilePath(),D),(0,bw.writeFileSync)(this.getProcessedFilePath(),S)}getReportsStats(){return this.stats}async editZipFile(y){let S=y.replace("data:application/zip;base64,",""),D=await(0,lGe.loadAsync)(S,{base64:!0});S=null;for(let Q of Object.keys(D.files)){let fe=D.file(Q);if(fe){let Me=await fe.async("string"),lt=JSON.parse(Me);Q.startsWith("report")?(this.handleReportJSON(lt),this.report=lt,this.extractStats(lt)):this.handleFileReportJSON(lt),D.file(Q,JSON.stringify(lt))}}let J=await D.generateAsync({type:"base64",compression:"DEFLATE"});return D=null,`data:application/zip;base64,${J}`}extractStats(y){if(!y.stats)return;let{expected:S,unexpected:D,flaky:J}=y.stats,Q=this.getStatPerFile(),fe={passed:pre(J)+pre(S),failed:pre(D),bug:Q.filter(Me=>Me.bug).length,recovered:Q.filter(Me=>Me.recovered).length,tests:Q};Q.forEach(Me=>{Me.bug&&(Me.outcome==="expected"||Me.outcome==="flaky"?fe.passed--:Me.outcome==="unexpected"&&fe.failed--)}),this.stats=fe}makeAttachmentPath(y){return this.config.hosted?`${this.config.assetsBaseURL}/${this.testRunUUID}/report-data-file-url?fileName=${(0,Pk.basename)(y)}`:y}handleReportJSON(y){let S={},D=t(J=>{let Q=J.testId,fe=this.playwrightIdToMetadata[Q];fe&&(S[Q]=fe),J.results.forEach(Me=>{this.processAttachments(Me.attachments,J.testId)})},"getChecksumMetadataForPWTestId");y.files.forEach(J=>{J.tests.forEach(D)}),y.checksumMetadata=S}handleFileReportJSON(y){var S;(S=y.tests)==null||S.forEach(D=>{var J;(J=D.results)==null||J.forEach(Q=>{this.processAttachments(Q.attachments,D.testId)})})}processAttachments(y,S){if(y.forEach(D=>this.updateAttachment(D,S)),!this.supportVideo){let D=y.findIndex(J=>J.name==="video");D!==-1&&y.splice(D,1)}}updateAttachment(y,S){y.path&&(y.path=this.makeAttachmentPath(y.path))}};t(k2e,"PlaywrightReportProcessor");var dre=k2e;var uGe={trace:"application/zip","trace-backup-file":"application/zip",har:"application/zip",report:"text/html","rrweb-recording":"application/json"},WIt={click:"click",fill:"input",click_and_type:"click_and_type",clear_and_type:"clear_and_type",double_click:"double_click",drag_and_drop:"drag_and_drop",hover:"hover",navigate:"navigation",keystroke:"keystroke",selectoption:"selectoption",upload_files:"upload_files",wait:"wait",get_more_items:"get_more_items",reset:void 0,save:void 0,fail:void 0,finish:void 0,dismiss_modal:void 0,vision_help:void 0,switch_tab:"switch_tab",expand_interactable_elements:void 0,approve_release:void 0,logout_and_login:"logout_and_login",canvas_click:"canvas_click",native_accept:"native_accept",native_dismiss:"native_dismiss",hard_assertion:void 0,soft_assertion:void 0,recovery:void 0,scroll:void 0},hRt=Object.fromEntries(Object.entries(WIt).map(p=>p.reverse())),qIt={goto:"navigation",click:"click",dblclick:"double_click",dragTo:"drag_and_drop",check:"check",uncheck:"uncheck",fill:"input",hover:"hover",selectOption:"selectoption",waitForTimeout:"wait","keyboard.press":"keystroke",setInputFiles:"upload_files",getPage:"switch_tab",reauthenticate:"logout_and_login",canvasClick:"canvas_click"},yRt=Object.fromEntries(Object.entries(qIt).map(p=>p.reverse()));var vRt={input:[1,2],selectoption:[1,2],keystroke:[1,2],wait:[1,2],navigation:[1,2],click:[0,1],double_click:[0,1],drag_and_drop:[1,2],upload_files:[1,2],canvas_click:[1,2],logout_and_login:[1],login:[1,2],click_and_type:[1,2],clear_and_type:[1,2],check:[0,1],uncheck:[0,1],hover:[0,1]},bRt={input:1,selectoption:1,keystroke:1,wait:-1,navigation:1,click:0,double_click:0,drag_and_drop:1,upload_files:1,canvas_click:-1,logout_and_login:-1,login:1,click_and_type:0,clear_and_type:0,check:0,uncheck:0,hover:0,native_accept:-1,native_dismiss:-1};function wU(p,y){return t(function(){return p.apply(y,arguments)},"wrap")}t(wU,"bind");var{toString:VIt}=Object.prototype,{getPrototypeOf:E2e}=Object,{iterator:gre,toStringTag:fGe}=Symbol,hre=(p=>y=>{let S=VIt.call(y);return p[S]||(p[S]=S.slice(8,-1).toLowerCase())})(Object.create(null)),A2=t(p=>(p=p.toLowerCase(),y=>hre(y)===p),"kindOfTest"),yre=t(p=>y=>typeof y===p,"typeOfTest"),{isArray:Q5}=Array,X5=yre("undefined");function DU(p){return p!==null&&!X5(p)&&p.constructor!==null&&!X5(p.constructor)&&Pv(p.constructor.isBuffer)&&p.constructor.isBuffer(p)}t(DU,"isBuffer");var pGe=A2("ArrayBuffer");function HIt(p){let y;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?y=ArrayBuffer.isView(p):y=p&&p.buffer&&pGe(p.buffer),y}t(HIt,"isArrayBufferView");var GIt=yre("string"),Pv=yre("function"),dGe=yre("number"),PU=t(p=>p!==null&&typeof p=="object","isObject"),$It=t(p=>p===!0||p===!1,"isBoolean"),mre=t(p=>{if(hre(p)!=="object")return!1;let y=E2e(p);return(y===null||y===Object.prototype||Object.getPrototypeOf(y)===null)&&!(fGe in p)&&!(gre in p)},"isPlainObject"),XIt=t(p=>{if(!PU(p)||DU(p))return!1;try{return Object.keys(p).length===0&&Object.getPrototypeOf(p)===Object.prototype}catch{return!1}},"isEmptyObject"),QIt=A2("Date"),KIt=A2("File"),YIt=A2("Blob"),ZIt=A2("FileList"),e3t=t(p=>PU(p)&&Pv(p.pipe),"isStream"),t3t=t(p=>{let y;return p&&(typeof FormData=="function"&&p instanceof FormData||Pv(p.append)&&((y=hre(p))==="formdata"||y==="object"&&Pv(p.toString)&&p.toString()==="[object FormData]"))},"isFormData"),r3t=A2("URLSearchParams"),[n3t,i3t,a3t,s3t]=["ReadableStream","Request","Response","Headers"].map(A2),o3t=t(p=>p.trim?p.trim():p.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),"trim");function AU(p,y,{allOwnKeys:S=!1}={}){if(p===null||typeof p>"u")return;let D,J;if(typeof p!="object"&&(p=[p]),Q5(p))for(D=0,J=p.length;D<J;D++)y.call(null,p[D],D,p);else{if(DU(p))return;let Q=S?Object.getOwnPropertyNames(p):Object.keys(p),fe=Q.length,Me;for(D=0;D<fe;D++)Me=Q[D],y.call(null,p[Me],Me,p)}}t(AU,"forEach");function mGe(p,y){if(DU(p))return null;y=y.toLowerCase();let S=Object.keys(p),D=S.length,J;for(;D-- >0;)if(J=S[D],y===J.toLowerCase())return J;return null}t(mGe,"findKey");var gI=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,gGe=t(p=>!X5(p)&&p!==gI,"isContextDefined");function C2e(){let{caseless:p,skipUndefined:y}=gGe(this)&&this||{},S={},D=t((J,Q)=>{let fe=p&&mGe(S,Q)||Q;mre(S[fe])&&mre(J)?S[fe]=C2e(S[fe],J):mre(J)?S[fe]=C2e({},J):Q5(J)?S[fe]=J.slice():(!y||!X5(J))&&(S[fe]=J)},"assignValue");for(let J=0,Q=arguments.length;J<Q;J++)arguments[J]&&AU(arguments[J],D);return S}t(C2e,"merge");var c3t=t((p,y,S,{allOwnKeys:D}={})=>(AU(y,(J,Q)=>{S&&Pv(J)?p[Q]=wU(J,S):p[Q]=J},{allOwnKeys:D}),p),"extend"),l3t=t(p=>(p.charCodeAt(0)===65279&&(p=p.slice(1)),p),"stripBOM"),u3t=t((p,y,S,D)=>{p.prototype=Object.create(y.prototype,D),p.prototype.constructor=p,Object.defineProperty(p,"super",{value:y.prototype}),S&&Object.assign(p.prototype,S)},"inherits"),_3t=t((p,y,S,D)=>{let J,Q,fe,Me={};if(y=y||{},p==null)return y;do{for(J=Object.getOwnPropertyNames(p),Q=J.length;Q-- >0;)fe=J[Q],(!D||D(fe,p,y))&&!Me[fe]&&(y[fe]=p[fe],Me[fe]=!0);p=S!==!1&&E2e(p)}while(p&&(!S||S(p,y))&&p!==Object.prototype);return y},"toFlatObject"),f3t=t((p,y,S)=>{p=String(p),(S===void 0||S>p.length)&&(S=p.length),S-=y.length;let D=p.indexOf(y,S);return D!==-1&&D===S},"endsWith"),p3t=t(p=>{if(!p)return null;if(Q5(p))return p;let y=p.length;if(!dGe(y))return null;let S=new Array(y);for(;y-- >0;)S[y]=p[y];return S},"toArray"),d3t=(p=>y=>p&&y instanceof p)(typeof Uint8Array<"u"&&E2e(Uint8Array)),m3t=t((p,y)=>{let D=(p&&p[gre]).call(p),J;for(;(J=D.next())&&!J.done;){let Q=J.value;y.call(p,Q[0],Q[1])}},"forEachEntry"),g3t=t((p,y)=>{let S,D=[];for(;(S=p.exec(y))!==null;)D.push(S);return D},"matchAll"),h3t=A2("HTMLFormElement"),y3t=t(p=>p.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,t(function(S,D,J){return D.toUpperCase()+J},"replacer")),"toCamelCase"),_Ge=(({hasOwnProperty:p})=>(y,S)=>p.call(y,S))(Object.prototype),v3t=A2("RegExp"),hGe=t((p,y)=>{let S=Object.getOwnPropertyDescriptors(p),D={};AU(S,(J,Q)=>{let fe;(fe=y(J,Q,p))!==!1&&(D[Q]=fe||J)}),Object.defineProperties(p,D)},"reduceDescriptors"),b3t=t(p=>{hGe(p,(y,S)=>{if(Pv(p)&&["arguments","caller","callee"].indexOf(S)!==-1)return!1;let D=p[S];if(Pv(D)){if(y.enumerable=!1,"writable"in y){y.writable=!1;return}y.set||(y.set=()=>{throw Error("Can not rewrite read-only method '"+S+"'")})}})},"freezeMethods"),x3t=t((p,y)=>{let S={},D=t(J=>{J.forEach(Q=>{S[Q]=!0})},"define");return Q5(p)?D(p):D(String(p).split(y)),S},"toObjectSet"),S3t=t(()=>{},"noop"),T3t=t((p,y)=>p!=null&&Number.isFinite(p=+p)?p:y,"toFiniteNumber");function k3t(p){return!!(p&&Pv(p.append)&&p[fGe]==="FormData"&&p[gre])}t(k3t,"isSpecCompliantForm");var C3t=t(p=>{let y=new Array(10),S=t((D,J)=>{if(PU(D)){if(y.indexOf(D)>=0)return;if(DU(D))return D;if(!("toJSON"in D)){y[J]=D;let Q=Q5(D)?[]:{};return AU(D,(fe,Me)=>{let lt=S(fe,J+1);!X5(lt)&&(Q[Me]=lt)}),y[J]=void 0,Q}}return D},"visit");return S(p,0)},"toJSONObject"),E3t=A2("AsyncFunction"),w3t=t(p=>p&&(PU(p)||Pv(p))&&Pv(p.then)&&Pv(p.catch),"isThenable"),yGe=((p,y)=>p?setImmediate:y?((S,D)=>(gI.addEventListener("message",({source:J,data:Q})=>{J===gI&&Q===S&&D.length&&D.shift()()},!1),J=>{D.push(J),gI.postMessage(S,"*")}))(`axios@${Math.random()}`,[]):S=>setTimeout(S))(typeof setImmediate=="function",Pv(gI.postMessage)),D3t=typeof queueMicrotask<"u"?queueMicrotask.bind(gI):typeof process<"u"&&process.nextTick||yGe,P3t=t(p=>p!=null&&Pv(p[gre]),"isIterable"),Vr={isArray:Q5,isArrayBuffer:pGe,isBuffer:DU,isFormData:t3t,isArrayBufferView:HIt,isString:GIt,isNumber:dGe,isBoolean:$It,isObject:PU,isPlainObject:mre,isEmptyObject:XIt,isReadableStream:n3t,isRequest:i3t,isResponse:a3t,isHeaders:s3t,isUndefined:X5,isDate:QIt,isFile:KIt,isBlob:YIt,isRegExp:v3t,isFunction:Pv,isStream:e3t,isURLSearchParams:r3t,isTypedArray:d3t,isFileList:ZIt,forEach:AU,merge:C2e,extend:c3t,trim:o3t,stripBOM:l3t,inherits:u3t,toFlatObject:_3t,kindOf:hre,kindOfTest:A2,endsWith:f3t,toArray:p3t,forEachEntry:m3t,matchAll:g3t,isHTMLForm:h3t,hasOwnProperty:_Ge,hasOwnProp:_Ge,reduceDescriptors:hGe,freezeMethods:b3t,toObjectSet:x3t,toCamelCase:y3t,noop:S3t,toFiniteNumber:T3t,findKey:mGe,global:gI,isContextDefined:gGe,isSpecCompliantForm:k3t,toJSONObject:C3t,isAsyncFn:E3t,isThenable:w3t,setImmediate:yGe,asap:D3t,isIterable:P3t};function K5(p,y,S,D,J){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=p,this.name="AxiosError",y&&(this.code=y),S&&(this.config=S),D&&(this.request=D),J&&(this.response=J,this.status=J.status?J.status:null)}t(K5,"AxiosError");Vr.inherits(K5,Error,{toJSON:t(function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:Vr.toJSONObject(this.config),code:this.code,status:this.status}},"toJSON")});var vGe=K5.prototype,bGe={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(p=>{bGe[p]={value:p}});Object.defineProperties(K5,bGe);Object.defineProperty(vGe,"isAxiosError",{value:!0});K5.from=(p,y,S,D,J,Q)=>{let fe=Object.create(vGe);Vr.toFlatObject(p,fe,t(function(Xe){return Xe!==Error.prototype},"filter"),Ye=>Ye!=="isAxiosError");let Me=p&&p.message?p.message:"Error",lt=y==null&&p?p.code:y;return K5.call(fe,Me,lt,S,D,J),p&&fe.cause==null&&Object.defineProperty(fe,"cause",{value:p,configurable:!0}),fe.name=p&&p.name||"Error",Q&&Object.assign(fe,Q),fe};var os=K5;var kXe=Lg(TXe(),1),Pre=kXe.default;function H2e(p){return Vr.isPlainObject(p)||Vr.isArray(p)}t(H2e,"isVisitable");function EXe(p){return Vr.endsWith(p,"[]")?p.slice(0,-2):p}t(EXe,"removeBrackets");function CXe(p,y,S){return p?p.concat(y).map(t(function(J,Q){return J=EXe(J),!S&&Q?"["+J+"]":J},"each")).join(S?".":""):y}t(CXe,"renderKey");function d7t(p){return Vr.isArray(p)&&!p.some(H2e)}t(d7t,"isFlatArray");var m7t=Vr.toFlatObject(Vr,{},null,t(function(y){return/^is[A-Z]/.test(y)},"filter"));function g7t(p,y,S){if(!Vr.isObject(p))throw new TypeError("target must be an object");y=y||new(Pre||FormData),S=Vr.toFlatObject(S,{metaTokens:!0,dots:!1,indexes:!1},!1,t(function(gt,Gn){return!Vr.isUndefined(Gn[gt])},"defined"));let D=S.metaTokens,J=S.visitor||Xe,Q=S.dots,fe=S.indexes,lt=(S.Blob||typeof Blob<"u"&&Blob)&&Vr.isSpecCompliantForm(y);if(!Vr.isFunction(J))throw new TypeError("visitor must be a function");function Ye(dt){if(dt===null)return"";if(Vr.isDate(dt))return dt.toISOString();if(Vr.isBoolean(dt))return dt.toString();if(!lt&&Vr.isBlob(dt))throw new os("Blob is not supported. Use a Buffer instead.");return Vr.isArrayBuffer(dt)||Vr.isTypedArray(dt)?lt&&typeof Blob=="function"?new Blob([dt]):Buffer.from(dt):dt}t(Ye,"convertValue");function Xe(dt,gt,Gn){let dn=dt;if(dt&&!Gn&&typeof dt=="object"){if(Vr.endsWith(gt,"{}"))gt=D?gt:gt.slice(0,-2),dt=JSON.stringify(dt);else if(Vr.isArray(dt)&&d7t(dt)||(Vr.isFileList(dt)||Vr.endsWith(gt,"[]"))&&(dn=Vr.toArray(dt)))return gt=EXe(gt),dn.forEach(t(function(sa,ta){!(Vr.isUndefined(sa)||sa===null)&&y.append(fe===!0?CXe([gt],ta,Q):fe===null?gt:gt+"[]",Ye(sa))},"each")),!1}return H2e(dt)?!0:(y.append(CXe(Gn,gt,Q),Ye(dt)),!1)}t(Xe,"defaultVisitor");let Er=[],ke=Object.assign(m7t,{defaultVisitor:Xe,convertValue:Ye,isVisitable:H2e});function Zr(dt,gt){if(!Vr.isUndefined(dt)){if(Er.indexOf(dt)!==-1)throw Error("Circular reference detected in "+gt.join("."));Er.push(dt),Vr.forEach(dt,t(function(dn,Ni){(!(Vr.isUndefined(dn)||dn===null)&&J.call(y,dn,Vr.isString(Ni)?Ni.trim():Ni,gt,ke))===!0&&Zr(dn,gt?gt.concat(Ni):[Ni])},"each")),Er.pop()}}if(t(Zr,"build"),!Vr.isObject(p))throw new TypeError("data must be an object");return Zr(p),y}t(g7t,"toFormData");var TP=g7t;function wXe(p){let y={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(p).replace(/[!'()~]|%20|%00/g,t(function(D){return y[D]},"replacer"))}t(wXe,"encode");function DXe(p,y){this._pairs=[],p&&TP(p,this,y)}t(DXe,"AxiosURLSearchParams");var PXe=DXe.prototype;PXe.append=t(function(y,S){this._pairs.push([y,S])},"append");PXe.toString=t(function(y){let S=y?function(D){return y.call(this,D,wXe)}:wXe;return this._pairs.map(t(function(J){return S(J[0])+"="+S(J[1])},"each"),"").join("&")},"toString");var AXe=DXe;function h7t(p){return encodeURIComponent(p).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}t(h7t,"encode");function yI(p,y,S){if(!y)return p;let D=S&&S.encode||h7t;Vr.isFunction(S)&&(S={serialize:S});let J=S&&S.serialize,Q;if(J?Q=J(y,S):Q=Vr.isURLSearchParams(y)?y.toString():new AXe(y,S).toString(D),Q){let fe=p.indexOf("#");fe!==-1&&(p=p.slice(0,fe)),p+=(p.indexOf("?")===-1?"?":"&")+Q}return p}t(yI,"buildURL");var X2e=class X2e{constructor(){this.handlers=[]}use(y,S,D){return this.handlers.push({fulfilled:y,rejected:S,synchronous:D?D.synchronous:!1,runWhen:D?D.runWhen:null}),this.handlers.length-1}eject(y){this.handlers[y]&&(this.handlers[y]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(y){Vr.forEach(this.handlers,t(function(D){D!==null&&y(D)},"forEachHandler"))}};t(X2e,"InterceptorManager");var G2e=X2e,$2e=G2e;var r9={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var FXe=Lg(require("crypto"),1);var NXe=Lg(require("url"),1),IXe=NXe.default.URLSearchParams;var Q2e="abcdefghijklmnopqrstuvwxyz",OXe="0123456789",RXe={DIGIT:OXe,ALPHA:Q2e,ALPHA_DIGIT:Q2e+Q2e.toUpperCase()+OXe},y7t=t((p=16,y=RXe.ALPHA_DIGIT)=>{let S="",{length:D}=y,J=new Uint32Array(p);FXe.default.randomFillSync(J);for(let Q=0;Q<p;Q++)S+=y[J[Q]%D];return S},"generateString"),LXe={isNode:!0,classes:{URLSearchParams:IXe,FormData:Pre,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:RXe,generateString:y7t,protocols:["http","https","file","data"]};var Z2e={};tUe(Z2e,{hasBrowserEnv:()=>Y2e,hasStandardBrowserEnv:()=>v7t,hasStandardBrowserWebWorkerEnv:()=>b7t,navigator:()=>K2e,origin:()=>x7t});var Y2e=typeof window<"u"&&typeof document<"u",K2e=typeof navigator=="object"&&navigator||void 0,v7t=Y2e&&(!K2e||["ReactNative","NativeScript","NS"].indexOf(K2e.product)<0),b7t=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",x7t=Y2e&&window.location.href||"http://localhost";var Ou={...Z2e,...LXe};function eTe(p,y){return TP(p,new Ou.classes.URLSearchParams,{visitor:t(function(S,D,J,Q){return Ou.isNode&&Vr.isBuffer(S)?(this.append(D,S.toString("base64")),!1):Q.defaultVisitor.apply(this,arguments)},"visitor"),...y})}t(eTe,"toURLEncodedForm");function S7t(p){return Vr.matchAll(/\w+|\[(\w*)]/g,p).map(y=>y[0]==="[]"?"":y[1]||y[0])}t(S7t,"parsePropPath");function T7t(p){let y={},S=Object.keys(p),D,J=S.length,Q;for(D=0;D<J;D++)Q=S[D],y[Q]=p[Q];return y}t(T7t,"arrayToObject");function k7t(p){function y(S,D,J,Q){let fe=S[Q++];if(fe==="__proto__")return!0;let Me=Number.isFinite(+fe),lt=Q>=S.length;return fe=!fe&&Vr.isArray(J)?J.length:fe,lt?(Vr.hasOwnProp(J,fe)?J[fe]=[J[fe],D]:J[fe]=D,!Me):((!J[fe]||!Vr.isObject(J[fe]))&&(J[fe]=[]),y(S,D,J[fe],Q)&&Vr.isArray(J[fe])&&(J[fe]=T7t(J[fe])),!Me)}if(t(y,"buildPath"),Vr.isFormData(p)&&Vr.isFunction(p.entries)){let S={};return Vr.forEachEntry(p,(D,J)=>{y(S7t(D),J,S,0)}),S}return null}t(k7t,"formDataToJSON");var Are=k7t;function C7t(p,y,S){if(Vr.isString(p))try{return(y||JSON.parse)(p),Vr.trim(p)}catch(D){if(D.name!=="SyntaxError")throw D}return(S||JSON.stringify)(p)}t(C7t,"stringifySafely");var tTe={transitional:r9,adapter:["xhr","http","fetch"],transformRequest:[t(function(y,S){let D=S.getContentType()||"",J=D.indexOf("application/json")>-1,Q=Vr.isObject(y);if(Q&&Vr.isHTMLForm(y)&&(y=new FormData(y)),Vr.isFormData(y))return J?JSON.stringify(Are(y)):y;if(Vr.isArrayBuffer(y)||Vr.isBuffer(y)||Vr.isStream(y)||Vr.isFile(y)||Vr.isBlob(y)||Vr.isReadableStream(y))return y;if(Vr.isArrayBufferView(y))return y.buffer;if(Vr.isURLSearchParams(y))return S.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),y.toString();let Me;if(Q){if(D.indexOf("application/x-www-form-urlencoded")>-1)return eTe(y,this.formSerializer).toString();if((Me=Vr.isFileList(y))||D.indexOf("multipart/form-data")>-1){let lt=this.env&&this.env.FormData;return TP(Me?{"files[]":y}:y,lt&&new lt,this.formSerializer)}}return Q||J?(S.setContentType("application/json",!1),C7t(y)):y},"transformRequest")],transformResponse:[t(function(y){let S=this.transitional||tTe.transitional,D=S&&S.forcedJSONParsing,J=this.responseType==="json";if(Vr.isResponse(y)||Vr.isReadableStream(y))return y;if(y&&Vr.isString(y)&&(D&&!this.responseType||J)){let fe=!(S&&S.silentJSONParsing)&&J;try{return JSON.parse(y,this.parseReviver)}catch(Me){if(fe)throw Me.name==="SyntaxError"?os.from(Me,os.ERR_BAD_RESPONSE,this,null,this.response):Me}}return y},"transformResponse")],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ou.classes.FormData,Blob:Ou.classes.Blob},validateStatus:t(function(y){return y>=200&&y<300},"validateStatus"),headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Vr.forEach(["delete","get","head","post","put","patch"],p=>{tTe.headers[p]={}});var n9=tTe;var E7t=Vr.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),MXe=t(p=>{let y={},S,D,J;return p&&p.split(`
445
445
  `).forEach(t(function(fe){J=fe.indexOf(":"),S=fe.substring(0,J).trim().toLowerCase(),D=fe.substring(J+1).trim(),!(!S||y[S]&&E7t[S])&&(S==="set-cookie"?y[S]?y[S].push(D):y[S]=[D]:y[S]=y[S]?y[S]+", "+D:D)},"parser")),y},"default");var jXe=Symbol("internals");function RU(p){return p&&String(p).trim().toLowerCase()}t(RU,"normalizeHeader");function Nre(p){return p===!1||p==null?p:Vr.isArray(p)?p.map(Nre):String(p)}t(Nre,"normalizeValue");function w7t(p){let y=Object.create(null),S=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,D;for(;D=S.exec(p);)y[D[1]]=D[2];return y}t(w7t,"parseTokens");var D7t=t(p=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(p.trim()),"isValidHeaderName");function rTe(p,y,S,D,J){if(Vr.isFunction(D))return D.call(this,y,S);if(J&&(y=S),!!Vr.isString(y)){if(Vr.isString(D))return y.indexOf(D)!==-1;if(Vr.isRegExp(D))return D.test(y)}}t(rTe,"matchHeaderValue");function P7t(p){return p.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(y,S,D)=>S.toUpperCase()+D)}t(P7t,"formatHeader");function A7t(p,y){let S=Vr.toCamelCase(" "+y);["get","set","has"].forEach(D=>{Object.defineProperty(p,D+S,{value:t(function(J,Q,fe){return this[D].call(this,y,J,Q,fe)},"value"),configurable:!0})})}t(A7t,"buildAccessors");var nTe=class nTe{constructor(y){y&&this.set(y)}set(y,S,D){let J=this;function Q(Me,lt,Ye){let Xe=RU(lt);if(!Xe)throw new Error("header name must be a non-empty string");let Er=Vr.findKey(J,Xe);(!Er||J[Er]===void 0||Ye===!0||Ye===void 0&&J[Er]!==!1)&&(J[Er||lt]=Nre(Me))}t(Q,"setHeader");let fe=t((Me,lt)=>Vr.forEach(Me,(Ye,Xe)=>Q(Ye,Xe,lt)),"setHeaders");if(Vr.isPlainObject(y)||y instanceof this.constructor)fe(y,S);else if(Vr.isString(y)&&(y=y.trim())&&!D7t(y))fe(MXe(y),S);else if(Vr.isObject(y)&&Vr.isIterable(y)){let Me={},lt,Ye;for(let Xe of y){if(!Vr.isArray(Xe))throw TypeError("Object iterator must return a key-value pair");Me[Ye=Xe[0]]=(lt=Me[Ye])?Vr.isArray(lt)?[...lt,Xe[1]]:[lt,Xe[1]]:Xe[1]}fe(Me,S)}else y!=null&&Q(S,y,D);return this}get(y,S){if(y=RU(y),y){let D=Vr.findKey(this,y);if(D){let J=this[D];if(!S)return J;if(S===!0)return w7t(J);if(Vr.isFunction(S))return S.call(this,J,D);if(Vr.isRegExp(S))return S.exec(J);throw new TypeError("parser must be boolean|regexp|function")}}}has(y,S){if(y=RU(y),y){let D=Vr.findKey(this,y);return!!(D&&this[D]!==void 0&&(!S||rTe(this,this[D],D,S)))}return!1}delete(y,S){let D=this,J=!1;function Q(fe){if(fe=RU(fe),fe){let Me=Vr.findKey(D,fe);Me&&(!S||rTe(D,D[Me],Me,S))&&(delete D[Me],J=!0)}}return t(Q,"deleteHeader"),Vr.isArray(y)?y.forEach(Q):Q(y),J}clear(y){let S=Object.keys(this),D=S.length,J=!1;for(;D--;){let Q=S[D];(!y||rTe(this,this[Q],Q,y,!0))&&(delete this[Q],J=!0)}return J}normalize(y){let S=this,D={};return Vr.forEach(this,(J,Q)=>{let fe=Vr.findKey(D,Q);if(fe){S[fe]=Nre(J),delete S[Q];return}let Me=y?P7t(Q):String(Q).trim();Me!==Q&&delete S[Q],S[Me]=Nre(J),D[Me]=!0}),this}concat(...y){return this.constructor.concat(this,...y)}toJSON(y){let S=Object.create(null);return Vr.forEach(this,(D,J)=>{D!=null&&D!==!1&&(S[J]=y&&Vr.isArray(D)?D.join(", "):D)}),S}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([y,S])=>y+": "+S).join(`
446
446
  `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(y){return y instanceof this?y:new this(y)}static concat(y,...S){let D=new this(y);return S.forEach(J=>D.set(J)),D}static accessor(y){let D=(this[jXe]=this[jXe]={accessors:{}}).accessors,J=this.prototype;function Q(fe){let Me=RU(fe);D[Me]||(A7t(J,fe),D[Me]=!0)}return t(Q,"defineAccessor"),Vr.isArray(y)?y.forEach(Q):Q(y),this}};t(nTe,"AxiosHeaders");var i9=nTe;i9.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);Vr.reduceDescriptors(i9.prototype,({value:p},y)=>{let S=y[0].toUpperCase()+y.slice(1);return{get:t(()=>p,"get"),set(D){this[S]=D}}});Vr.freezeMethods(i9);var Op=i9;function LU(p,y){let S=this||n9,D=y||S,J=Op.from(D.headers),Q=D.data;return Vr.forEach(p,t(function(Me){Q=Me.call(S,Q,J.normalize(),y?y.status:void 0)},"transform")),J.normalize(),Q}t(LU,"transformData");function MU(p){return!!(p&&p.__CANCEL__)}t(MU,"isCancel");function BXe(p,y,S){os.call(this,p??"canceled",os.ERR_CANCELED,y,S),this.name="CanceledError"}t(BXe,"CanceledError");Vr.inherits(BXe,os,{__CANCEL__:!0});var tb=BXe;function Ak(p,y,S){let D=S.config.validateStatus;!S.status||!D||D(S.status)?p(S):y(new os("Request failed with status code "+S.status,[os.ERR_BAD_REQUEST,os.ERR_BAD_RESPONSE][Math.floor(S.status/100)-4],S.config,S.request,S))}t(Ak,"settle");function iTe(p){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(p)}t(iTe,"isAbsoluteURL");function aTe(p,y){return y?p.replace(/\/?\/$/,"")+"/"+y.replace(/^\/+/,""):p}t(aTe,"combineURLs");function vI(p,y,S){let D=!iTe(y);return p&&(D||S==!1)?aTe(p,y):y}t(vI,"buildFullPath");var SQe=Lg(zXe(),1),TQe=Lg(require("http"),1),kQe=Lg(require("https"),1),CQe=Lg(require("util"),1),EQe=Lg(sQe(),1),Sw=Lg(require("zlib"),1);var TI="1.12.2";function UU(p){let y=/^([-+\w]{1,25})(:?\/\/|:)/.exec(p);return y&&y[1]||""}t(UU,"parseProtocol");var mOt=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function STe(p,y,S){let D=S&&S.Blob||Ou.classes.Blob,J=UU(p);if(y===void 0&&D&&(y=!0),J==="data"){p=J.length?p.slice(J.length+1):p;let Q=mOt.exec(p);if(!Q)throw new os("Invalid URL",os.ERR_INVALID_URL);let fe=Q[1],Me=Q[2],lt=Q[3],Ye=Buffer.from(decodeURIComponent(lt),Me?"base64":"utf8");if(y){if(!D)throw new os("Blob is not supported",os.ERR_NOT_SUPPORT);return new D([Ye],{type:fe})}return Ye}throw new os("Unsupported protocol "+J,os.ERR_NOT_SUPPORT)}t(STe,"fromDataURI");var CI=Lg(require("stream"),1);var oQe=Lg(require("stream"),1);var TTe=Symbol("internals"),ETe=class ETe extends oQe.default.Transform{constructor(y){y=Vr.toFlatObject(y,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(D,J)=>!Vr.isUndefined(J[D])),super({readableHighWaterMark:y.chunkSize});let S=this[TTe]={timeWindow:y.timeWindow,chunkSize:y.chunkSize,maxRate:y.maxRate,minChunkSize:y.minChunkSize,bytesSeen:0,isCaptured:!1,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null};this.on("newListener",D=>{D==="progress"&&(S.isCaptured||(S.isCaptured=!0))})}_read(y){let S=this[TTe];return S.onReadCallback&&S.onReadCallback(),super._read(y)}_transform(y,S,D){let J=this[TTe],Q=J.maxRate,fe=this.readableHighWaterMark,Me=J.timeWindow,lt=1e3/Me,Ye=Q/lt,Xe=J.minChunkSize!==!1?Math.max(J.minChunkSize,Ye*.01):0,Er=t((Zr,dt)=>{let gt=Buffer.byteLength(Zr);J.bytesSeen+=gt,J.bytes+=gt,J.isCaptured&&this.emit("progress",J.bytesSeen),this.push(Zr)?process.nextTick(dt):J.onReadCallback=()=>{J.onReadCallback=null,process.nextTick(dt)}},"pushChunk"),ke=t((Zr,dt)=>{let gt=Buffer.byteLength(Zr),Gn=null,dn=fe,Ni,sa=0;if(Q){let ta=Date.now();(!J.ts||(sa=ta-J.ts)>=Me)&&(J.ts=ta,Ni=Ye-J.bytes,J.bytes=Ni<0?-Ni:0,sa=0),Ni=Ye-J.bytes}if(Q){if(Ni<=0)return setTimeout(()=>{dt(null,Zr)},Me-sa);Ni<dn&&(dn=Ni)}dn&&gt>dn&&gt-dn>Xe&&(Gn=Zr.subarray(dn),Zr=Zr.subarray(0,dn)),Er(Zr,Gn?()=>{process.nextTick(dt,null,Gn)}:dt)},"transformChunk");ke(y,t(function Zr(dt,gt){if(dt)return D(dt);gt?ke(gt,Zr):D(null)},"transformNextChunk"))}};t(ETe,"AxiosTransformStream");var kTe=ETe,CTe=kTe;var wQe=require("events");var lQe=Lg(require("util"),1),uQe=require("stream");var{asyncIterator:cQe}=Symbol,gOt=t(async function*(p){p.stream?yield*p.stream():p.arrayBuffer?yield await p.arrayBuffer():p[cQe]?yield*p[cQe]():yield p},"readBlob"),Lre=gOt;var hOt=Ou.ALPHABET.ALPHA_DIGIT+"-_",WU=typeof TextEncoder=="function"?new TextEncoder:new lQe.default.TextEncoder,kI=`\r
447
447
  `,yOt=WU.encode(kI),vOt=2,DTe=class DTe{constructor(y,S){let{escapeName:D}=this.constructor,J=Vr.isString(S),Q=`Content-Disposition: form-data; name="${D(y)}"${!J&&S.name?`; filename="${D(S.name)}"`:""}${kI}`;J?S=WU.encode(String(S).replace(/\r?\n|\r\n?/g,kI)):Q+=`Content-Type: ${S.type||"application/octet-stream"}${kI}`,this.headers=WU.encode(Q+kI),this.contentLength=J?S.byteLength:S.size,this.size=this.headers.byteLength+this.contentLength+vOt,this.name=y,this.value=S}async*encode(){yield this.headers;let{value:y}=this;Vr.isTypedArray(y)?yield y:yield*Lre(y),yield yOt}static escapeName(y){return String(y).replace(/[\r\n"]/g,S=>({"\r":"%0D","\n":"%0A",'"':"%22"})[S])}};t(DTe,"FormDataPart");var wTe=DTe,bOt=t((p,y,S)=>{let{tag:D="form-data-boundary",size:J=25,boundary:Q=D+"-"+Ou.generateString(J,hOt)}=S||{};if(!Vr.isFormData(p))throw TypeError("FormData instance required");if(Q.length<1||Q.length>70)throw Error("boundary must be 10-70 characters long");let fe=WU.encode("--"+Q+kI),Me=WU.encode("--"+Q+"--"+kI),lt=Me.byteLength,Ye=Array.from(p.entries()).map(([Er,ke])=>{let Zr=new wTe(Er,ke);return lt+=Zr.size,Zr});lt+=fe.byteLength*Ye.length,lt=Vr.toFiniteNumber(lt);let Xe={"Content-Type":`multipart/form-data; boundary=${Q}`};return Number.isFinite(lt)&&(Xe["Content-Length"]=lt),y&&y(Xe),uQe.Readable.from(async function*(){for(let Er of Ye)yield fe,yield*Er.encode();yield Me}())},"formDataToStream"),_Qe=bOt;var fQe=Lg(require("stream"),1);var ATe=class ATe extends fQe.default.Transform{__transform(y,S,D){this.push(y),D()}_transform(y,S,D){if(y.length!==0&&(this._transform=this.__transform,y[0]!==120)){let J=Buffer.alloc(2);J[0]=120,J[1]=156,this.push(J,S)}this.__transform(y,S,D)}};t(ATe,"ZlibHeaderTransformStream");var PTe=ATe,pQe=PTe;var xOt=t((p,y)=>Vr.isAsyncFn(p)?function(...S){let D=S.pop();p.apply(this,S).then(J=>{try{y?D(null,...y(J)):D(null,J)}catch(Q){D(Q)}},D)}:p,"callbackify"),dQe=xOt;function SOt(p,y){p=p||10;let S=new Array(p),D=new Array(p),J=0,Q=0,fe;return y=y!==void 0?y:1e3,t(function(lt){let Ye=Date.now(),Xe=D[Q];fe||(fe=Ye),S[J]=lt,D[J]=Ye;let Er=Q,ke=0;for(;Er!==J;)ke+=S[Er++],Er=Er%p;if(J=(J+1)%p,J===Q&&(Q=(Q+1)%p),Ye-fe<y)return;let Zr=Xe&&Ye-Xe;return Zr?Math.round(ke*1e3/Zr):void 0},"push")}t(SOt,"speedometer");var mQe=SOt;function TOt(p,y){let S=0,D=1e3/y,J,Q,fe=t((Ye,Xe=Date.now())=>{S=Xe,J=null,Q&&(clearTimeout(Q),Q=null),p(...Ye)},"invoke");return[t((...Ye)=>{let Xe=Date.now(),Er=Xe-S;Er>=D?fe(Ye,Xe):(J=Ye,Q||(Q=setTimeout(()=>{Q=null,fe(J)},D-Er)))},"throttled"),t(()=>J&&fe(J),"flush")]}t(TOt,"throttle");var gQe=TOt;var xw=t((p,y,S=3)=>{let D=0,J=mQe(50,250);return gQe(Q=>{let fe=Q.loaded,Me=Q.lengthComputable?Q.total:void 0,lt=fe-D,Ye=J(lt),Xe=fe<=Me;D=fe;let Er={loaded:fe,total:Me,progress:Me?fe/Me:void 0,bytes:lt,rate:Ye||void 0,estimated:Ye&&Me&&Xe?(Me-fe)/Ye:void 0,event:Q,lengthComputable:Me!=null,[y?"download":"upload"]:!0};p(Er)},S)},"progressEventReducer"),l9=t((p,y)=>{let S=p!=null;return[D=>y[0]({lengthComputable:S,total:p,loaded:D}),y[1]]},"progressEventDecorator"),u9=t(p=>(...y)=>Vr.asap(()=>p(...y)),"asyncDecorator");function NTe(p){if(!p||typeof p!="string"||!p.startsWith("data:"))return 0;let y=p.indexOf(",");if(y<0)return 0;let S=p.slice(5,y),D=p.slice(y+1);if(/;base64/i.test(S)){let Q=D.length,fe=D.length;for(let ke=0;ke<fe;ke++)if(D.charCodeAt(ke)===37&&ke+2<fe){let Zr=D.charCodeAt(ke+1),dt=D.charCodeAt(ke+2);(Zr>=48&&Zr<=57||Zr>=65&&Zr<=70||Zr>=97&&Zr<=102)&&(dt>=48&&dt<=57||dt>=65&&dt<=70||dt>=97&&dt<=102)&&(Q-=2,ke+=2)}let Me=0,lt=fe-1,Ye=t(ke=>ke>=2&&D.charCodeAt(ke-2)===37&&D.charCodeAt(ke-1)===51&&(D.charCodeAt(ke)===68||D.charCodeAt(ke)===100),"tailIsPct3D");lt>=0&&(D.charCodeAt(lt)===61?(Me++,lt--):Ye(lt)&&(Me++,lt-=3)),Me===1&&lt>=0&&(D.charCodeAt(lt)===61||Ye(lt))&&Me++;let Er=Math.floor(Q/4)*3-(Me||0);return Er>0?Er:0}return Buffer.byteLength(D,"utf8")}t(NTe,"estimateDataURLDecodedBytes");var hQe={flush:Sw.default.constants.Z_SYNC_FLUSH,finishFlush:Sw.default.constants.Z_SYNC_FLUSH},kOt={flush:Sw.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:Sw.default.constants.BROTLI_OPERATION_FLUSH},yQe=Vr.isFunction(Sw.default.createBrotliDecompress),{http:COt,https:EOt}=EQe.default,wOt=/https:?/,vQe=Ou.protocols.map(p=>p+":"),bQe=t((p,[y,S])=>(p.on("end",S).on("error",S),y),"flushOnFinish");function DOt(p,y){p.beforeRedirects.proxy&&p.beforeRedirects.proxy(p),p.beforeRedirects.config&&p.beforeRedirects.config(p,y)}t(DOt,"dispatchBeforeRedirect");function DQe(p,y,S){let D=y;if(!D&&D!==!1){let J=SQe.default.getProxyForUrl(S);J&&(D=new URL(J))}if(D){if(D.username&&(D.auth=(D.username||"")+":"+(D.password||"")),D.auth){(D.auth.username||D.auth.password)&&(D.auth=(D.auth.username||"")+":"+(D.auth.password||""));let Q=Buffer.from(D.auth,"utf8").toString("base64");p.headers["Proxy-Authorization"]="Basic "+Q}p.headers.host=p.hostname+(p.port?":"+p.port:"");let J=D.hostname||D.host;p.hostname=J,p.host=J,p.port=D.port,p.path=S,D.protocol&&(p.protocol=D.protocol.includes(":")?D.protocol:`${D.protocol}:`)}p.beforeRedirects.proxy=t(function(Q){DQe(Q,y,Q.href)},"beforeRedirect")}t(DQe,"setProxy");var POt=typeof process<"u"&&Vr.kindOf(process)==="process",AOt=t(p=>new Promise((y,S)=>{let D,J,Q=t((lt,Ye)=>{J||(J=!0,D&&D(lt,Ye))},"done"),fe=t(lt=>{Q(lt),y(lt)},"_resolve"),Me=t(lt=>{Q(lt,!0),S(lt)},"_reject");p(fe,Me,lt=>D=lt).catch(Me)}),"wrapAsync"),NOt=t(({address:p,family:y})=>{if(!Vr.isString(p))throw TypeError("address must be a string");return{address:p,family:y||(p.indexOf(".")<0?6:4)}},"resolveFamily"),xQe=t((p,y)=>NOt(Vr.isObject(p)?p:{address:p,family:y}),"buildAddressEntry"),PQe=POt&&t(function(y){return AOt(t(async function(D,J,Q){let{data:fe,lookup:Me,family:lt}=y,{responseType:Ye,responseEncoding:Xe}=y,Er=y.method.toUpperCase(),ke,Zr=!1,dt;if(Me){let rr=dQe(Me,Bs=>Vr.isArray(Bs)?Bs:[Bs]);Me=t((Bs,po,Fu)=>{rr(Bs,po,(ma,cp,nb)=>{if(ma)return Fu(ma);let tm=Vr.isArray(cp)?cp.map(Nd=>xQe(Nd)):[xQe(cp,nb)];po.all?Fu(ma,tm):Fu(ma,tm[0].address,tm[0].family)})},"lookup")}let gt=new wQe.EventEmitter,Gn=t(()=>{y.cancelToken&&y.cancelToken.unsubscribe(dn),y.signal&&y.signal.removeEventListener("abort",dn),gt.removeAllListeners()},"onFinished");Q((rr,Bs)=>{ke=!0,Bs&&(Zr=!0,Gn())});function dn(rr){gt.emit("abort",!rr||rr.type?new tb(null,y,dt):rr)}t(dn,"abort"),gt.once("abort",J),(y.cancelToken||y.signal)&&(y.cancelToken&&y.cancelToken.subscribe(dn),y.signal&&(y.signal.aborted?dn():y.signal.addEventListener("abort",dn)));let Ni=vI(y.baseURL,y.url,y.allowAbsoluteUrls),sa=new URL(Ni,Ou.hasBrowserEnv?Ou.origin:void 0),ta=sa.protocol||vQe[0];if(ta==="data:"){if(y.maxContentLength>-1){let Bs=String(y.url||Ni||"");if(NTe(Bs)>y.maxContentLength)return J(new os("maxContentLength size of "+y.maxContentLength+" exceeded",os.ERR_BAD_RESPONSE,y))}let rr;if(Er!=="GET")return Ak(D,J,{status:405,statusText:"method not allowed",headers:{},config:y});try{rr=STe(y.url,Ye==="blob",{Blob:y.env&&y.env.Blob})}catch(Bs){throw os.from(Bs,os.ERR_BAD_REQUEST,y)}return Ye==="text"?(rr=rr.toString(Xe),(!Xe||Xe==="utf8")&&(rr=Vr.stripBOM(rr))):Ye==="stream"&&(rr=CI.default.Readable.from(rr)),Ak(D,J,{data:rr,status:200,statusText:"OK",headers:new Op,config:y})}if(vQe.indexOf(ta)===-1)return J(new os("Unsupported protocol "+ta,os.ERR_BAD_REQUEST,y));let ca=Op.from(y.headers).normalize();ca.set("User-Agent","axios/"+TI,!1);let{onUploadProgress:wn,onDownloadProgress:zr}=y,Ps=y.maxRate,ba,ol;if(Vr.isSpecCompliantForm(fe)){let rr=ca.getContentType(/boundary=([-_\w\d]{10,70})/i);fe=_Qe(fe,Bs=>{ca.set(Bs)},{tag:`axios-${TI}-boundary`,boundary:rr&&rr[1]||void 0})}else if(Vr.isFormData(fe)&&Vr.isFunction(fe.getHeaders)){if(ca.set(fe.getHeaders()),!ca.hasContentLength())try{let rr=await CQe.default.promisify(fe.getLength).call(fe);Number.isFinite(rr)&&rr>=0&&ca.setContentLength(rr)}catch{}}else if(Vr.isBlob(fe)||Vr.isFile(fe))fe.size&&ca.setContentType(fe.type||"application/octet-stream"),ca.setContentLength(fe.size||0),fe=CI.default.Readable.from(Lre(fe));else if(fe&&!Vr.isStream(fe)){if(!Buffer.isBuffer(fe))if(Vr.isArrayBuffer(fe))fe=Buffer.from(new Uint8Array(fe));else if(Vr.isString(fe))fe=Buffer.from(fe,"utf-8");else return J(new os("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",os.ERR_BAD_REQUEST,y));if(ca.setContentLength(fe.length,!1),y.maxBodyLength>-1&&fe.length>y.maxBodyLength)return J(new os("Request body larger than maxBodyLength limit",os.ERR_BAD_REQUEST,y))}let Jn=Vr.toFiniteNumber(ca.getContentLength());Vr.isArray(Ps)?(ba=Ps[0],ol=Ps[1]):ba=ol=Ps,fe&&(wn||ba)&&(Vr.isStream(fe)||(fe=CI.default.Readable.from(fe,{objectMode:!1})),fe=CI.default.pipeline([fe,new CTe({maxRate:Vr.toFiniteNumber(ba)})],Vr.noop),wn&&fe.on("progress",bQe(fe,l9(Jn,xw(u9(wn),!1,3)))));let T_;if(y.auth){let rr=y.auth.username||"",Bs=y.auth.password||"";T_=rr+":"+Bs}if(!T_&&sa.username){let rr=sa.username,Bs=sa.password;T_=rr+":"+Bs}T_&&ca.delete("authorization");let Hu;try{Hu=yI(sa.pathname+sa.search,y.params,y.paramsSerializer).replace(/^\?/,"")}catch(rr){let Bs=new Error(rr.message);return Bs.config=y,Bs.url=y.url,Bs.exists=!0,J(Bs)}ca.set("Accept-Encoding","gzip, compress, deflate"+(yQe?", br":""),!1);let cn={path:Hu,method:Er,headers:ca.toJSON(),agents:{http:y.httpAgent,https:y.httpsAgent},auth:T_,protocol:ta,family:lt,beforeRedirect:DOt,beforeRedirects:{}};!Vr.isUndefined(Me)&&(cn.lookup=Me),y.socketPath?cn.socketPath=y.socketPath:(cn.hostname=sa.hostname.startsWith("[")?sa.hostname.slice(1,-1):sa.hostname,cn.port=sa.port,DQe(cn,y.proxy,ta+"//"+sa.hostname+(sa.port?":"+sa.port:"")+cn.path));let Ey,cl=wOt.test(cn.protocol);if(cn.agent=cl?y.httpsAgent:y.httpAgent,y.transport?Ey=y.transport:y.maxRedirects===0?Ey=cl?kQe.default:TQe.default:(y.maxRedirects&&(cn.maxRedirects=y.maxRedirects),y.beforeRedirect&&(cn.beforeRedirects.config=y.beforeRedirect),Ey=cl?EOt:COt),y.maxBodyLength>-1?cn.maxBodyLength=y.maxBodyLength:cn.maxBodyLength=1/0,y.insecureHTTPParser&&(cn.insecureHTTPParser=y.insecureHTTPParser),dt=Ey.request(cn,t(function(Bs){if(dt.destroyed)return;let po=[Bs],Fu=+Bs.headers["content-length"];if(zr||ol){let Nd=new CTe({maxRate:Vr.toFiniteNumber(ol)});zr&&Nd.on("progress",bQe(Nd,l9(Fu,xw(u9(zr),!0,3)))),po.push(Nd)}let ma=Bs,cp=Bs.req||dt;if(y.decompress!==!1&&Bs.headers["content-encoding"])switch((Er==="HEAD"||Bs.statusCode===204)&&delete Bs.headers["content-encoding"],(Bs.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":po.push(Sw.default.createUnzip(hQe)),delete Bs.headers["content-encoding"];break;case"deflate":po.push(new pQe),po.push(Sw.default.createUnzip(hQe)),delete Bs.headers["content-encoding"];break;case"br":yQe&&(po.push(Sw.default.createBrotliDecompress(kOt)),delete Bs.headers["content-encoding"])}ma=po.length>1?CI.default.pipeline(po,Vr.noop):po[0];let nb=CI.default.finished(ma,()=>{nb(),Gn()}),tm={status:Bs.statusCode,statusText:Bs.statusMessage,headers:new Op(Bs.headers),config:y,request:cp};if(Ye==="stream")tm.data=ma,Ak(D,J,tm);else{let Nd=[],Gi=0;ma.on("data",t(function(lp){Nd.push(lp),Gi+=lp.length,y.maxContentLength>-1&&Gi>y.maxContentLength&&(Zr=!0,ma.destroy(),J(new os("maxContentLength size of "+y.maxContentLength+" exceeded",os.ERR_BAD_RESPONSE,y,cp)))},"handleStreamData")),ma.on("aborted",t(function(){if(Zr)return;let lp=new os("stream has been aborted",os.ERR_BAD_RESPONSE,y,cp);ma.destroy(lp),J(lp)},"handlerStreamAborted")),ma.on("error",t(function(lp){dt.destroyed||J(os.from(lp,null,y,cp))},"handleStreamError")),ma.on("end",t(function(){try{let lp=Nd.length===1?Nd[0]:Buffer.concat(Nd);Ye!=="arraybuffer"&&(lp=lp.toString(Xe),(!Xe||Xe==="utf8")&&(lp=Vr.stripBOM(lp))),tm.data=lp}catch(lp){return J(os.from(lp,null,y,tm.request,tm))}Ak(D,J,tm)},"handleStreamEnd"))}gt.once("abort",Nd=>{ma.destroyed||(ma.emit("error",Nd),ma.destroy())})},"handleResponse")),gt.once("abort",rr=>{J(rr),dt.destroy(rr)}),dt.on("error",t(function(Bs){J(os.from(Bs,null,y,dt))},"handleRequestError")),dt.on("socket",t(function(Bs){Bs.setKeepAlive(!0,1e3*60)},"handleRequestSocket")),y.timeout){let rr=parseInt(y.timeout,10);if(Number.isNaN(rr)){J(new os("error trying to parse `config.timeout` to int",os.ERR_BAD_OPTION_VALUE,y,dt));return}dt.setTimeout(rr,t(function(){if(ke)return;let po=y.timeout?"timeout of "+y.timeout+"ms exceeded":"timeout exceeded",Fu=y.transitional||r9;y.timeoutErrorMessage&&(po=y.timeoutErrorMessage),J(new os(po,Fu.clarifyTimeoutError?os.ETIMEDOUT:os.ECONNABORTED,y,dt)),dn()},"handleRequestTimeout"))}if(Vr.isStream(fe)){let rr=!1,Bs=!1;fe.on("end",()=>{rr=!0}),fe.once("error",po=>{Bs=!0,dt.destroy(po)}),fe.on("close",()=>{!rr&&!Bs&&dn(new tb("Request stream has been aborted",y,dt))}),fe.pipe(dt)}else dt.end(fe)},"dispatchHttpRequest"))},"httpAdapter");var AQe=Ou.hasStandardBrowserEnv?((p,y)=>S=>(S=new URL(S,Ou.origin),p.protocol===S.protocol&&p.host===S.host&&(y||p.port===S.port)))(new URL(Ou.origin),Ou.navigator&&/(msie|trident)/i.test(Ou.navigator.userAgent)):()=>!0;var NQe=Ou.hasStandardBrowserEnv?{write(p,y,S,D,J,Q){let fe=[p+"="+encodeURIComponent(y)];Vr.isNumber(S)&&fe.push("expires="+new Date(S).toGMTString()),Vr.isString(D)&&fe.push("path="+D),Vr.isString(J)&&fe.push("domain="+J),Q===!0&&fe.push("secure"),document.cookie=fe.join("; ")},read(p){let y=document.cookie.match(new RegExp("(^|;\\s*)("+p+")=([^;]*)"));return y?decodeURIComponent(y[3]):null},remove(p){this.write(p,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};var IQe=t(p=>p instanceof Op?{...p}:p,"headersToObject");function I2(p,y){y=y||{};let S={};function D(Ye,Xe,Er,ke){return Vr.isPlainObject(Ye)&&Vr.isPlainObject(Xe)?Vr.merge.call({caseless:ke},Ye,Xe):Vr.isPlainObject(Xe)?Vr.merge({},Xe):Vr.isArray(Xe)?Xe.slice():Xe}t(D,"getMergedValue");function J(Ye,Xe,Er,ke){if(Vr.isUndefined(Xe)){if(!Vr.isUndefined(Ye))return D(void 0,Ye,Er,ke)}else return D(Ye,Xe,Er,ke)}t(J,"mergeDeepProperties");function Q(Ye,Xe){if(!Vr.isUndefined(Xe))return D(void 0,Xe)}t(Q,"valueFromConfig2");function fe(Ye,Xe){if(Vr.isUndefined(Xe)){if(!Vr.isUndefined(Ye))return D(void 0,Ye)}else return D(void 0,Xe)}t(fe,"defaultToConfig2");function Me(Ye,Xe,Er){if(Er in y)return D(Ye,Xe);if(Er in p)return D(void 0,Ye)}t(Me,"mergeDirectKeys");let lt={url:Q,method:Q,data:Q,baseURL:fe,transformRequest:fe,transformResponse:fe,paramsSerializer:fe,timeout:fe,timeoutMessage:fe,withCredentials:fe,withXSRFToken:fe,adapter:fe,responseType:fe,xsrfCookieName:fe,xsrfHeaderName:fe,onUploadProgress:fe,onDownloadProgress:fe,decompress:fe,maxContentLength:fe,maxBodyLength:fe,beforeRedirect:fe,transport:fe,httpAgent:fe,httpsAgent:fe,cancelToken:fe,socketPath:fe,responseEncoding:fe,validateStatus:Me,headers:t((Ye,Xe,Er)=>J(IQe(Ye),IQe(Xe),Er,!0),"headers")};return Vr.forEach(Object.keys({...p,...y}),t(function(Xe){let Er=lt[Xe]||J,ke=Er(p[Xe],y[Xe],Xe);Vr.isUndefined(ke)&&Er!==Me||(S[Xe]=ke)},"computeConfigValue")),S}t(I2,"mergeConfig");var Mre=t(p=>{let y=I2({},p),{data:S,withXSRFToken:D,xsrfHeaderName:J,xsrfCookieName:Q,headers:fe,auth:Me}=y;if(y.headers=fe=Op.from(fe),y.url=yI(vI(y.baseURL,y.url,y.allowAbsoluteUrls),p.params,p.paramsSerializer),Me&&fe.set("Authorization","Basic "+btoa((Me.username||"")+":"+(Me.password?unescape(encodeURIComponent(Me.password)):""))),Vr.isFormData(S)){if(Ou.hasStandardBrowserEnv||Ou.hasStandardBrowserWebWorkerEnv)fe.setContentType(void 0);else if(Vr.isFunction(S.getHeaders)){let lt=S.getHeaders(),Ye=["content-type","content-length"];Object.entries(lt).forEach(([Xe,Er])=>{Ye.includes(Xe.toLowerCase())&&fe.set(Xe,Er)})}}if(Ou.hasStandardBrowserEnv&&(D&&Vr.isFunction(D)&&(D=D(y)),D||D!==!1&&AQe(y.url))){let lt=J&&Q&&NQe.read(Q);lt&&fe.set(J,lt)}return y},"default");var IOt=typeof XMLHttpRequest<"u",OQe=IOt&&function(p){return new Promise(t(function(S,D){let J=Mre(p),Q=J.data,fe=Op.from(J.headers).normalize(),{responseType:Me,onUploadProgress:lt,onDownloadProgress:Ye}=J,Xe,Er,ke,Zr,dt;function gt(){Zr&&Zr(),dt&&dt(),J.cancelToken&&J.cancelToken.unsubscribe(Xe),J.signal&&J.signal.removeEventListener("abort",Xe)}t(gt,"done");let Gn=new XMLHttpRequest;Gn.open(J.method.toUpperCase(),J.url,!0),Gn.timeout=J.timeout;function dn(){if(!Gn)return;let sa=Op.from("getAllResponseHeaders"in Gn&&Gn.getAllResponseHeaders()),ca={data:!Me||Me==="text"||Me==="json"?Gn.responseText:Gn.response,status:Gn.status,statusText:Gn.statusText,headers:sa,config:p,request:Gn};Ak(t(function(zr){S(zr),gt()},"_resolve"),t(function(zr){D(zr),gt()},"_reject"),ca),Gn=null}t(dn,"onloadend"),"onloadend"in Gn?Gn.onloadend=dn:Gn.onreadystatechange=t(function(){!Gn||Gn.readyState!==4||Gn.status===0&&!(Gn.responseURL&&Gn.responseURL.indexOf("file:")===0)||setTimeout(dn)},"handleLoad"),Gn.onabort=t(function(){Gn&&(D(new os("Request aborted",os.ECONNABORTED,p,Gn)),Gn=null)},"handleAbort"),Gn.onerror=t(function(ta){let ca=ta&&ta.message?ta.message:"Network Error",wn=new os(ca,os.ERR_NETWORK,p,Gn);wn.event=ta||null,D(wn),Gn=null},"handleError"),Gn.ontimeout=t(function(){let ta=J.timeout?"timeout of "+J.timeout+"ms exceeded":"timeout exceeded",ca=J.transitional||r9;J.timeoutErrorMessage&&(ta=J.timeoutErrorMessage),D(new os(ta,ca.clarifyTimeoutError?os.ETIMEDOUT:os.ECONNABORTED,p,Gn)),Gn=null},"handleTimeout"),Q===void 0&&fe.setContentType(null),"setRequestHeader"in Gn&&Vr.forEach(fe.toJSON(),t(function(ta,ca){Gn.setRequestHeader(ca,ta)},"setRequestHeader")),Vr.isUndefined(J.withCredentials)||(Gn.withCredentials=!!J.withCredentials),Me&&Me!=="json"&&(Gn.responseType=J.responseType),Ye&&([ke,dt]=xw(Ye,!0),Gn.addEventListener("progress",ke)),lt&&Gn.upload&&([Er,Zr]=xw(lt),Gn.upload.addEventListener("progress",Er),Gn.upload.addEventListener("loadend",Zr)),(J.cancelToken||J.signal)&&(Xe=t(sa=>{Gn&&(D(!sa||sa.type?new tb(null,p,Gn):sa),Gn.abort(),Gn=null)},"onCanceled"),J.cancelToken&&J.cancelToken.subscribe(Xe),J.signal&&(J.signal.aborted?Xe():J.signal.addEventListener("abort",Xe)));let Ni=UU(J.url);if(Ni&&Ou.protocols.indexOf(Ni)===-1){D(new os("Unsupported protocol "+Ni+":",os.ERR_BAD_REQUEST,p));return}Gn.send(Q||null)},"dispatchXhrRequest"))};var OOt=t((p,y)=>{let{length:S}=p=p?p.filter(Boolean):[];if(y||S){let D=new AbortController,J,Q=t(function(Ye){if(!J){J=!0,Me();let Xe=Ye instanceof Error?Ye:this.reason;D.abort(Xe instanceof os?Xe:new tb(Xe instanceof Error?Xe.message:Xe))}},"onabort"),fe=y&&setTimeout(()=>{fe=null,Q(new os(`timeout ${y} of ms exceeded`,os.ETIMEDOUT))},y),Me=t(()=>{p&&(fe&&clearTimeout(fe),fe=null,p.forEach(Ye=>{Ye.unsubscribe?Ye.unsubscribe(Q):Ye.removeEventListener("abort",Q)}),p=null)},"unsubscribe");p.forEach(Ye=>Ye.addEventListener("abort",Q));let{signal:lt}=D;return lt.unsubscribe=()=>Vr.asap(Me),lt}},"composeSignals"),FQe=OOt;var FOt=t(function*(p,y){let S=p.byteLength;if(!y||S<y){yield p;return}let D=0,J;for(;D<S;)J=D+y,yield p.slice(D,J),D=J},"streamChunk"),ROt=t(async function*(p,y){for await(let S of LOt(p))yield*FOt(S,y)},"readBytes"),LOt=t(async function*(p){if(p[Symbol.asyncIterator]){yield*p;return}let y=p.getReader();try{for(;;){let{done:S,value:D}=await y.read();if(S)break;yield D}}finally{await y.cancel()}},"readStream"),ITe=t((p,y,S,D)=>{let J=ROt(p,y),Q=0,fe,Me=t(lt=>{fe||(fe=!0,D&&D(lt))},"_onFinish");return new ReadableStream({async pull(lt){try{let{done:Ye,value:Xe}=await J.next();if(Ye){Me(),lt.close();return}let Er=Xe.byteLength;if(S){let ke=Q+=Er;S(ke)}lt.enqueue(new Uint8Array(Xe))}catch(Ye){throw Me(Ye),Ye}},cancel(lt){return Me(lt),J.return()}},{highWaterMark:2})},"trackStream");var RQe=64*1024,{isFunction:jre}=Vr,MOt=(({Request:p,Response:y})=>({Request:p,Response:y}))(Vr.global),{ReadableStream:LQe,TextEncoder:MQe}=Vr.global,jQe=t((p,...y)=>{try{return!!p(...y)}catch{return!1}},"test"),jOt=t(p=>{p=Vr.merge.call({skipUndefined:!0},MOt,p);let{fetch:y,Request:S,Response:D}=p,J=y?jre(y):typeof fetch=="function",Q=jre(S),fe=jre(D);if(!J)return!1;let Me=J&&jre(LQe),lt=J&&(typeof MQe=="function"?(dt=>gt=>dt.encode(gt))(new MQe):async dt=>new Uint8Array(await new S(dt).arrayBuffer())),Ye=Q&&Me&&jQe(()=>{let dt=!1,gt=new S(Ou.origin,{body:new LQe,method:"POST",get duplex(){return dt=!0,"half"}}).headers.has("Content-Type");return dt&&!gt}),Xe=fe&&Me&&jQe(()=>Vr.isReadableStream(new D("").body)),Er={stream:Xe&&(dt=>dt.body)};J&&["text","arrayBuffer","blob","formData","stream"].forEach(dt=>{!Er[dt]&&(Er[dt]=(gt,Gn)=>{let dn=gt&&gt[dt];if(dn)return dn.call(gt);throw new os(`Response type '${dt}' is not supported`,os.ERR_NOT_SUPPORT,Gn)})});let ke=t(async dt=>{if(dt==null)return 0;if(Vr.isBlob(dt))return dt.size;if(Vr.isSpecCompliantForm(dt))return(await new S(Ou.origin,{method:"POST",body:dt}).arrayBuffer()).byteLength;if(Vr.isArrayBufferView(dt)||Vr.isArrayBuffer(dt))return dt.byteLength;if(Vr.isURLSearchParams(dt)&&(dt=dt+""),Vr.isString(dt))return(await lt(dt)).byteLength},"getBodyLength"),Zr=t(async(dt,gt)=>{let Gn=Vr.toFiniteNumber(dt.getContentLength());return Gn??ke(gt)},"resolveBodyLength");return async dt=>{let{url:gt,method:Gn,data:dn,signal:Ni,cancelToken:sa,timeout:ta,onDownloadProgress:ca,onUploadProgress:wn,responseType:zr,headers:Ps,withCredentials:ba="same-origin",fetchOptions:ol}=Mre(dt),Jn=y||fetch;zr=zr?(zr+"").toLowerCase():"text";let T_=FQe([Ni,sa&&sa.toAbortSignal()],ta),Hu=null,cn=T_&&T_.unsubscribe&&(()=>{T_.unsubscribe()}),Ey;try{if(wn&&Ye&&Gn!=="get"&&Gn!=="head"&&(Ey=await Zr(Ps,dn))!==0){let ma=new S(gt,{method:"POST",body:dn,duplex:"half"}),cp;if(Vr.isFormData(dn)&&(cp=ma.headers.get("content-type"))&&Ps.setContentType(cp),ma.body){let[nb,tm]=l9(Ey,xw(u9(wn)));dn=ITe(ma.body,RQe,nb,tm)}}Vr.isString(ba)||(ba=ba?"include":"omit");let cl=Q&&"credentials"in S.prototype,rr={...ol,signal:T_,method:Gn.toUpperCase(),headers:Ps.normalize().toJSON(),body:dn,duplex:"half",credentials:cl?ba:void 0};Hu=Q&&new S(gt,rr);let Bs=await(Q?Jn(Hu,ol):Jn(gt,rr)),po=Xe&&(zr==="stream"||zr==="response");if(Xe&&(ca||po&&cn)){let ma={};["status","statusText","headers"].forEach(Nd=>{ma[Nd]=Bs[Nd]});let cp=Vr.toFiniteNumber(Bs.headers.get("content-length")),[nb,tm]=ca&&l9(cp,xw(u9(ca),!0))||[];Bs=new D(ITe(Bs.body,RQe,nb,()=>{tm&&tm(),cn&&cn()}),ma)}zr=zr||"text";let Fu=await Er[Vr.findKey(Er,zr)||"text"](Bs,dt);return!po&&cn&&cn(),await new Promise((ma,cp)=>{Ak(ma,cp,{data:Fu,headers:Op.from(Bs.headers),status:Bs.status,statusText:Bs.statusText,config:dt,request:Hu})})}catch(cl){throw cn&&cn(),cl&&cl.name==="TypeError"&&/Load failed|fetch/i.test(cl.message)?Object.assign(new os("Network Error",os.ERR_NETWORK,dt,Hu),{cause:cl.cause||cl}):os.from(cl,cl&&cl.code,dt,Hu)}}},"factory"),BOt=new Map,OTe=t(p=>{let y=p?p.env:{},{fetch:S,Request:D,Response:J}=y,Q=[D,J,S],fe=Q.length,Me=fe,lt,Ye,Xe=BOt;for(;Me--;)lt=Q[Me],Ye=Xe.get(lt),Ye===void 0&&Xe.set(lt,Ye=Me?new Map:jOt(y)),Xe=Ye;return Ye},"getFetch"),kJt=OTe();var FTe={http:PQe,xhr:OQe,fetch:{get:OTe}};Vr.forEach(FTe,(p,y)=>{if(p){try{Object.defineProperty(p,"name",{value:y})}catch{}Object.defineProperty(p,"adapterName",{value:y})}});var BQe=t(p=>`- ${p}`,"renderReason"),zOt=t(p=>Vr.isFunction(p)||p===null||p===!1,"isResolvedHandle"),Bre={getAdapter:t((p,y)=>{p=Vr.isArray(p)?p:[p];let{length:S}=p,D,J,Q={};for(let fe=0;fe<S;fe++){D=p[fe];let Me;if(J=D,!zOt(D)&&(J=FTe[(Me=String(D)).toLowerCase()],J===void 0))throw new os(`Unknown adapter '${Me}'`);if(J&&(Vr.isFunction(J)||(J=J.get(y))))break;Q[Me||"#"+fe]=J}if(!J){let fe=Object.entries(Q).map(([lt,Ye])=>`adapter ${lt} `+(Ye===!1?"is not supported by the environment":"is not available in the build")),Me=S?fe.length>1?`since :
448
448
  `+fe.map(BQe).join(`
449
449
  `):" "+BQe(fe[0]):"as no adapter specified";throw new os("There is no suitable adapter to dispatch the request "+Me,"ERR_NOT_SUPPORT")}return J},"getAdapter"),adapters:FTe};function RTe(p){if(p.cancelToken&&p.cancelToken.throwIfRequested(),p.signal&&p.signal.aborted)throw new tb(null,p)}t(RTe,"throwIfCancellationRequested");function Jre(p){return RTe(p),p.headers=Op.from(p.headers),p.data=LU.call(p,p.transformRequest),["post","put","patch"].indexOf(p.method)!==-1&&p.headers.setContentType("application/x-www-form-urlencoded",!1),Bre.getAdapter(p.adapter||n9.adapter,p)(p).then(t(function(D){return RTe(p),D.data=LU.call(p,p.transformResponse,D),D.headers=Op.from(D.headers),D},"onAdapterResolution"),t(function(D){return MU(D)||(RTe(p),D&&D.response&&(D.response.data=LU.call(p,p.transformResponse,D.response),D.response.headers=Op.from(D.response.headers))),Promise.reject(D)},"onAdapterRejection"))}t(Jre,"dispatchRequest");var zre={};["object","boolean","number","function","string","symbol"].forEach((p,y)=>{zre[p]=t(function(D){return typeof D===p||"a"+(y<1?"n ":" ")+p},"validator")});var JQe={};zre.transitional=t(function(y,S,D){function J(Q,fe){return"[Axios v"+TI+"] Transitional option '"+Q+"'"+fe+(D?". "+D:"")}return t(J,"formatMessage"),(Q,fe,Me)=>{if(y===!1)throw new os(J(fe," has been removed"+(S?" in "+S:"")),os.ERR_DEPRECATED);return S&&!JQe[fe]&&(JQe[fe]=!0,console.warn(J(fe," has been deprecated since v"+S+" and will be removed in the near future"))),y?y(Q,fe,Me):!0}},"transitional");zre.spelling=t(function(y){return(S,D)=>(console.warn(`${D} is likely a misspelling of ${y}`),!0)},"spelling");function UOt(p,y,S){if(typeof p!="object")throw new os("options must be an object",os.ERR_BAD_OPTION_VALUE);let D=Object.keys(p),J=D.length;for(;J-- >0;){let Q=D[J],fe=y[Q];if(fe){let Me=p[Q],lt=Me===void 0||fe(Me,Q,p);if(lt!==!0)throw new os("option "+Q+" must be "+lt,os.ERR_BAD_OPTION_VALUE);continue}if(S!==!0)throw new os("Unknown option "+Q,os.ERR_BAD_OPTION)}}t(UOt,"assertOptions");var qU={assertOptions:UOt,validators:zre};var Nk=qU.validators,LTe=class LTe{constructor(y){this.defaults=y||{},this.interceptors={request:new $2e,response:new $2e}}async request(y,S){try{return await this._request(y,S)}catch(D){if(D instanceof Error){let J={};Error.captureStackTrace?Error.captureStackTrace(J):J=new Error;let Q=J.stack?J.stack.replace(/^.+\n/,""):"";try{D.stack?Q&&!String(D.stack).endsWith(Q.replace(/^.+\n.+\n/,""))&&(D.stack+=`
450
450
  `+Q):D.stack=Q}catch{}}throw D}}_request(y,S){typeof y=="string"?(S=S||{},S.url=y):S=y||{},S=I2(this.defaults,S);let{transitional:D,paramsSerializer:J,headers:Q}=S;D!==void 0&&qU.assertOptions(D,{silentJSONParsing:Nk.transitional(Nk.boolean),forcedJSONParsing:Nk.transitional(Nk.boolean),clarifyTimeoutError:Nk.transitional(Nk.boolean)},!1),J!=null&&(Vr.isFunction(J)?S.paramsSerializer={serialize:J}:qU.assertOptions(J,{encode:Nk.function,serialize:Nk.function},!0)),S.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?S.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:S.allowAbsoluteUrls=!0),qU.assertOptions(S,{baseUrl:Nk.spelling("baseURL"),withXsrfToken:Nk.spelling("withXSRFToken")},!0),S.method=(S.method||this.defaults.method||"get").toLowerCase();let fe=Q&&Vr.merge(Q.common,Q[S.method]);Q&&Vr.forEach(["delete","get","head","post","put","patch","common"],dt=>{delete Q[dt]}),S.headers=Op.concat(fe,Q);let Me=[],lt=!0;this.interceptors.request.forEach(t(function(gt){typeof gt.runWhen=="function"&&gt.runWhen(S)===!1||(lt=lt&&gt.synchronous,Me.unshift(gt.fulfilled,gt.rejected))},"unshiftRequestInterceptors"));let Ye=[];this.interceptors.response.forEach(t(function(gt){Ye.push(gt.fulfilled,gt.rejected)},"pushResponseInterceptors"));let Xe,Er=0,ke;if(!lt){let dt=[Jre.bind(this),void 0];for(dt.unshift(...Me),dt.push(...Ye),ke=dt.length,Xe=Promise.resolve(S);Er<ke;)Xe=Xe.then(dt[Er++],dt[Er++]);return Xe}ke=Me.length;let Zr=S;for(;Er<ke;){let dt=Me[Er++],gt=Me[Er++];try{Zr=dt(Zr)}catch(Gn){gt.call(this,Gn);break}}try{Xe=Jre.call(this,Zr)}catch(dt){return Promise.reject(dt)}for(Er=0,ke=Ye.length;Er<ke;)Xe=Xe.then(Ye[Er++],Ye[Er++]);return Xe}getUri(y){y=I2(this.defaults,y);let S=vI(y.baseURL,y.url,y.allowAbsoluteUrls);return yI(S,y.params,y.paramsSerializer)}};t(LTe,"Axios");var _9=LTe;Vr.forEach(["delete","get","head","options"],t(function(y){_9.prototype[y]=function(S,D){return this.request(I2(D||{},{method:y,url:S,data:(D||{}).data}))}},"forEachMethodNoData"));Vr.forEach(["post","put","patch"],t(function(y){function S(D){return t(function(Q,fe,Me){return this.request(I2(Me||{},{method:y,headers:D?{"Content-Type":"multipart/form-data"}:{},url:Q,data:fe}))},"httpMethod")}t(S,"generateHTTPMethod"),_9.prototype[y]=S(),_9.prototype[y+"Form"]=S(!0)},"forEachMethodWithData"));var VU=_9;var Ure=class Ure{constructor(y){if(typeof y!="function")throw new TypeError("executor must be a function.");let S;this.promise=new Promise(t(function(Q){S=Q},"promiseExecutor"));let D=this;this.promise.then(J=>{if(!D._listeners)return;let Q=D._listeners.length;for(;Q-- >0;)D._listeners[Q](J);D._listeners=null}),this.promise.then=J=>{let Q,fe=new Promise(Me=>{D.subscribe(Me),Q=Me}).then(J);return fe.cancel=t(function(){D.unsubscribe(Q)},"reject"),fe},y(t(function(Q,fe,Me){D.reason||(D.reason=new tb(Q,fe,Me),S(D.reason))},"cancel"))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(y){if(this.reason){y(this.reason);return}this._listeners?this._listeners.push(y):this._listeners=[y]}unsubscribe(y){if(!this._listeners)return;let S=this._listeners.indexOf(y);S!==-1&&this._listeners.splice(S,1)}toAbortSignal(){let y=new AbortController,S=t(D=>{y.abort(D)},"abort");return this.subscribe(S),y.signal.unsubscribe=()=>this.unsubscribe(S),y.signal}static source(){let y;return{token:new Ure(t(function(J){y=J},"executor")),cancel:y}}};t(Ure,"CancelToken");var MTe=Ure,zQe=MTe;function jTe(p){return t(function(S){return p.apply(null,S)},"wrap")}t(jTe,"spread");function BTe(p){return Vr.isObject(p)&&p.isAxiosError===!0}t(BTe,"isAxiosError");var JTe={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(JTe).forEach(([p,y])=>{JTe[y]=p});var UQe=JTe;function WQe(p){let y=new VU(p),S=wU(VU.prototype.request,y);return Vr.extend(S,VU.prototype,y,{allOwnKeys:!0}),Vr.extend(S,y,null,{allOwnKeys:!0}),S.create=t(function(J){return WQe(I2(p,J))},"create"),S}t(WQe,"createInstance");var em=WQe(n9);em.Axios=VU;em.CanceledError=tb;em.CancelToken=zQe;em.isCancel=MU;em.VERSION=TI;em.toFormData=TP;em.AxiosError=os;em.Cancel=em.CanceledError;em.all=t(function(y){return Promise.all(y)},"all");em.spread=jTe;em.isAxiosError=BTe;em.mergeConfig=I2;em.AxiosHeaders=Op;em.formToJSON=p=>Are(Vr.isHTMLForm(p)?new FormData(p):p);em.getAdapter=Bre.getAdapter;em.HttpStatusCode=UQe;em.default=em;var Wre=em;var{Axios:Pzt,AxiosError:Azt,CanceledError:Nzt,isCancel:Izt,CancelToken:Ozt,VERSION:Fzt,all:Rzt,Cancel:Lzt,isAxiosError:Mzt,spread:jzt,toFormData:Bzt,AxiosHeaders:Jzt,HttpStatusCode:zzt,formToJSON:Uzt,getAdapter:Wzt,mergeConfig:qzt}=Wre;var Vre=require("fs");var zTe=class zTe{constructor(y,S,D,J,Q=!1,fe={start:t(Me=>{},"start"),complete:t(Me=>{},"complete"),error:t((Me,lt)=>{},"error")}){this.apiBaseURL=y;this.apiKey=S;this.uploadTimeout=D;this.makeGetUploadUrlAPIPath=J;this.isolationMode=Q;this.reporter=fe}async uploadAsset(y){if(y.uploadStarted=!0,this.isolationMode){y.lastProgress=Date.now(),y.loadedBytes=0,y.sizeBytes=100,y.response=new Promise(D=>{setTimeout(()=>{y.complete=!0,y.lastProgress=Date.now(),y.loadedBytes=100,D({statusCode:200,ok:!0,body:"OK"})},10)});return}let{path:S}=y.info;try{let J=(0,Vre.statSync)(S).size;if(y.sizeBytes=J,y.loadedBytes=0,y.lastProgress=Date.now(),this.reporter.start(S),await this.getSignedURLForUpload(y),!y.uploadURL){y.error=!0;return}let Q=(0,Vre.createReadStream)(S),fe=await Wre.put(y.uploadURL,Q,{headers:{"Content-Type":uGe[y.info.type]??""},maxBodyLength:1/0,maxContentLength:1/0,onUploadProgress:t(Me=>{y.lastProgress=Me.loaded>y.loadedBytes?Date.now():y.lastProgress,y.loadedBytes=Me.loaded,y.sizeBytes=Me.total??J},"onUploadProgress"),timeout:this.uploadTimeout??void 0});if(fe.status!==200)throw new Error(`Upload failed with status ${fe.status}`);this.reporter.complete(S),y.complete=!0,y.response=fe.data}catch(D){this.reporter.error(S,D),y.error=!0}}async getSignedURLForUpload(y){try{let S=JSON.stringify(y.info),D=`${this.apiBaseURL}/${this.makeGetUploadUrlAPIPath(y)}`,J={Accept:"application/json","Content-Type":"application/json",ChecksumAppCode:this.apiKey},Q=await fetch(D,{method:"POST",headers:J,body:S}),{url:fe}=await Q.json();y.uploadURL=fe}catch(S){return this.reporter.error(y.info.path,"Error getting signed URL for artifact"+String(S)),null}}};t(zTe,"TestAssetUploader");var qre=zTe;var WTe=class WTe{constructor(){}sendToCLI(...y){console.log(`{trm}${y.map(S=>S.toString()).join(`,
451
- `)}{/trm}`)}event(y,S){return new Promise(D=>{let J=S?`${y}=${S}`:y;setTimeout(()=>{this.sendToCLI(`monitor:${J}`),D(!0)},100)})}trace(y,S){let D=S?`${y}=${JSON.stringify(S)}`:y;setTimeout(()=>{this.sendToCLI(`trace:${D}`)},100)}log(y){return this.event("log",y)}debug(...y){this.sendToCLI(y)}};t(WTe,"CLIChannel");var UTe=WTe,qTe=class qTe{constructor(y,S=!1){this.config=y;this.isolationMode=S;this.MAX_UPLOADS=15;this.MONITOR_INTERVAL=2500;this.UPLOAD_TIMEOUT=10*60*1e3;this.UPLOAD_STALL_TIMEOUT=3*60*60*1e3;this.WATCH_TIMEOUT=2*60*1e3;this.assets=[];this.watchAssets=[];this.reportComplete=!1;this.processingInProgress=!1;this.pwTestIdToChecksumTestId={};this.channel=new UTe,this.testAssetUploader=new qre(y.apiURL,y.apiKey,this.UPLOAD_TIMEOUT,()=>`client-api/test-runs/${this.config.sessionId}/get-upload-url`,this.isolationMode,{start:t(D=>this.channel.trace("Upload Start",{filename:D}),"start"),complete:t(D=>{if(!this.reportAsset||D!==this.reportAsset.info.path)try{(0,Fp.unlinkSync)(D),this.channel.debug(`[TestAssetUploader] Deleted file after successful upload: ${D}`)}catch(J){this.channel.debug(`[TestAssetUploader] Failed to delete file after upload: ${D}`,J)}this.channel.trace("Upload Complete",{filename:D})},"complete"),error:t((D,J)=>this.channel.trace("Upload Failed",{filename:D,error:J}),"error")}),setInterval(this.monitorUploads.bind(this),this.MONITOR_INTERVAL),this.listenForMessages(),this.startServer()}listenForMessages(){process.stdin.on("data",async y=>{let S=y.toString().trim();if(!S.startsWith("cli:"))return;let[D,J]=S.substring(4).split("=");switch(this.channel.debug("Received message from CLI "+D+" "+J),D){case"report":if(this.testRunEndTime=Date.now(),J!=="false")try{let Q=Buffer.from(J,"base64").toString("utf-8"),fe=JSON.parse(Q);await this.handleReport(fe)}catch(Q){this.channel.debug("Error JSON parsing report payload, continue without report. Error: "+this.stringify(Q)),this.reportComplete=!0}else this.reportComplete=!0;this.monitorUploadsCompletion();break;case"shutdown":this.shutdown();break}})}readMetadataFile(y){try{return JSON.parse((0,Fp.readFileSync)(y,"utf-8"))}catch(S){return this.channel.trace("Runtime Error",`Error reading checksum metadata file ${y}: ${S.message}`),{}}}async serveReport(y){try{let S=(0,rb.dirname)(y);await this.channel.log("Serving report in browser: "+S);let D=ire.isRepoMode?`yarn playwright show-report ${S}`:`npx playwright show-report ${S}`,J=(0,VQe.execSync)(D,{encoding:"utf8",stdio:"pipe"});await this.channel.log("Success: Report opened in browser")}catch(S){await this.channel.log(`Error serving report in browser: ${S.message}`),S.stderr&&await this.channel.log(S.stderr.toString())}}async handleReport(y){let{reportPath:S,pathToChecksumMetadata:D,didFail:J,openReportCriteria:Q,checksumRoot:fe,projectRoot:Me}=y;this.channel.debug(`Handling report ${this.isolationMode?"(isolation mode)":""}`+S),this.uploadReportData((0,rb.dirname)(S));try{let lt=this.readMetadataFile(D),Ye=new dre(S,this.config.sessionId,this.pwTestIdToChecksumTestId,lt,{hosted:!this.isolationMode},this.channel,fe,Me);try{this.reportAsset=this.initAsset({type:"report",path:void 0}),await Ye.process(),this.reportAsset.info.path=Ye.getProcessedFilePath(),this.uploadAsset(this.reportAsset)}catch(Er){this.channel.debug("Error processing report, "+Er.message),this.reportAsset.error=!0}this.stats=Ye.getReportsStats(),this.channel.debug("Checking watch assets");let Xe=this.watchAssets.filter(Er=>!(Er.type!=="trace"||Ye.testHasTrace(Er.testId,Er.project)));Xe.length>0&&(this.channel.debug("Removed watch assets - "),this.channel.debug(JSON.stringify(Xe.map(Er=>Er.path)))),this.watchAssets=this.watchAssets.filter(Er=>Er.type!=="trace"||Ye.testHasTrace(Er.testId,Er.project))}catch(lt){this.channel.debug("Error processing report, "+this.stringify(lt)),this.reportAsset.error=!0}finally{if((Q==="always"||Q==="on-failure"&&J)&&await this.serveReport(S),D&&(0,Fp.existsSync)(D))try{(0,Fp.unlinkSync)(D)}catch(Ye){console.error(`Error deleting checksum metadata file ${D}: ${Ye.message}`)}}}async uploadReportData(y){let S=(0,rb.join)(y,"data");try{let D=(0,Fp.readdirSync)(S),J=[".zip",".webm"],Q=D.filter(fe=>!J.includes((0,rb.extname)(fe)));this.channel.debug("Preparing to upload report data files,"+Q);for(let fe of Q)this.channel.debug("Uploading report data file,"+fe),this.addAsset({type:"report-data-file",fileName:fe,path:`${S}/${fe}`})}catch(D){this.channel.debug(`Error reading/adding report data files from dir ${S}`+D.message)}}shutdown(){this.channel.debug("Received shutdown message from CLI"),this.server.close(),process.exit(0)}async monitorUploadsCompletion(){var y;if(!this.reportComplete&&this.reportAsset&&(this.reportAsset.complete||this.reportAsset.error)){this.reportComplete=!0;let S="";try{let D=JSON.stringify(this.stats),J=`checksum-stats-${(0,HU.randomBytes)(8).toString("hex")}.json`;S=(0,rb.join)((0,$Qe.tmpdir)(),J),(0,Fp.writeFileSync)(S,D,"utf-8"),this.channel.debug(`Stats written to temporary file: ${S}`)}catch(D){this.channel.debug("Error writing stats to file"),this.channel.log(`[monitorUploadsCompletion] Error writing stats to file: ${D.message}`)}this.channel.event("report-complete",`${(y=this.reportAsset)!=null&&y.complete?"true":"false"}:${S}`)}if(!this.processingInProgress&&this.reportComplete&&(this.assets.filter(S=>S.complete||S.error).length===this.assets.length||this.isUploadStalled())&&(this.watchAssets.length===0||this.testRunEndTime&&Date.now()-this.testRunEndTime>this.WATCH_TIMEOUT)){let S=this.assets.find(J=>J.error)?"uploads-complete-with-errors":"uploads-complete",D=S==="uploads-complete"?{}:{uploadErrors:this.assets.filter(J=>J.error).map(J=>{try{return JSON.stringify(J)}catch{return J.info.path}}),watchAssets:this.watchAssets,testRunEndTime:this.testRunEndTime,now:Date.now()};this.cleanUp(),this.channel.event(S,JSON.stringify(D));return}await Kbe(1e3),this.monitorUploadsCompletion()}cleanUp(){let y;for(let S of this.assets)if(S.info.type==="rrweb-recording"){y=(0,rb.dirname)(S.info.path);break}y&&(0,Fp.rmdirSync)(y,{recursive:!0})}isUploadStalled(){let y=this.assets.reduce((S,D)=>Math.max(S,D.lastProgress??0),0)-Date.now()>this.UPLOAD_STALL_TIMEOUT;return y&&this.channel.log("Uploads are stalled"),y}async startServer(){let y=await this.acquirePortNumber();this.channel.event("port",y.toString()),this.server=(0,HQe.createServer)((S,D)=>{let J=t(fe=>{D.writeHead(400,{"Content-Type":"text/plain"}),D.end(fe)},"returnErrorWithMessage");if(S.method!=="POST"){D.writeHead(404,{"Content-Type":"text/plain"}),D.end("Method not allowed");return}let Q="";S.on("data",fe=>{Q+=fe.toString()}),S.on("end",()=>{let fe;try{fe=JSON.parse(Q)}catch{return J("Invalid body")}let{type:Me,payload:lt,watch:Ye}=fe;switch(this.channel.debug(`Server received message, ${Me}, ${this.stringify(lt)}`),Me){case"asset":if(!lt.path||!lt.type)return J("Missing arguments");Ye?this.watchAsset(lt):this.processAsset(lt);break;case"testInfo":if(!lt.pwTestId||!lt.checksumTestId)return J("Missing arguments");this.pwTestIdToChecksumTestId[lt.pwTestId]=lt.checksumTestId;break;case"checksumTestMetadata":let Xe=lt;if(!Xe.checksumTestId||!lt.data)return J("Missing arguments");this.channel.event("checksumTestMetadata",JSON.stringify({...Xe}));break;case"testStats":break;case"playwrightConfig":this.channel.event("playwrightConfig",JSON.stringify(lt));break;default:return J("Invalid message type")}D.writeHead(200,{"Content-Type":"text/plain"}),D.end("OK")})}),this.server.listen(y)}stringify(y){try{return JSON.stringify(y)}catch{return"message"in y?y.message:y}}monitorUploads(){let{totalSizeBytes:y,totalUploadedBytes:S}=this.calculateUploadProgress();if(y>0&&!this.isolationMode){let Q=(S/y*100).toFixed(2);this.channel.event("upload-progress",Q)}let D=this.assets.filter(Q=>!Q.uploadStarted);if(D.length===0)return;let J=t(()=>this.assets.filter(Q=>Q.uploadStarted&&!Q.complete&&!Q.error).length,"getNumOfActiveUploads");if(!(J()>=this.MAX_UPLOADS))for(;D.length>0&&J()<this.MAX_UPLOADS;){let Q=D.pop();this.uploadAsset(Q)}}calculateUploadProgress(){let y=this.assets.reduce((D,{sizeBytes:J})=>D+(J??0),0),S=Math.min(y,this.assets.reduce((D,{loadedBytes:J})=>D+(J??0),0));return{totalSizeBytes:y,totalUploadedBytes:S}}getUploadLogMessage(y){switch(y.info.type){case"report":return"Uploading report";case"har":return`Uploading har file for test ${y.info.testId}`;case"trace":return`Uploading trace file for test ${y.info.testId}`;case"esra":return`Uploading metadata file for test ${y.info.testId}`;case"test-files":return`Uploading auto-healed test code for file ${y.info.path}`}}async uploadAsset(y){try{y.uploadStarted=!0;let S=this.getUploadLogMessage(y);S&&!this.isolationMode&&this.channel.event("log",S),await this.testAssetUploader.uploadAsset(y)}catch(S){y.error=!0,this.channel.debug("Error uploading asset"+this.stringify(S)),this.channel.trace("Upload Failed",{asset:y.info.fileName,error:String(S)})}}async getSignedURLForUpload(y){try{let{apiKey:S,sessionId:D,apiURL:J}=this.config,Q=y.info,fe=await fetch(`${J}/client-api/test-runs/${D}/get-upload-url`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",ChecksumAppCode:S},body:JSON.stringify(Q)}),{url:Me}=await fe.json();y.uploadURL=Me}catch(S){return this.channel.debug("Error getting signed URL for artifact"+this.stringify(S)),null}}watchAsset(y){this.channel.debug("Watching file "+y.path),this.watchAssets.push({...y,addedAt:Date.now()});let S=t(async()=>{await this.waitForFileComplete(y.path)&&(this.processAsset(y),this.watchAssets=this.watchAssets.filter(J=>J.path!==y.path))},"waitForCompletion");if((0,Fp.existsSync)(y.path))S();else{let D=(0,rb.dirname)(y.path),J=(0,rb.basename)(y.path),Q=!1,fe=(0,Fp.watch)(D,async(Me,lt)=>{if(!(lt!==J||Q))try{this.channel.debug("Watched file changed "+y.path),Q=!0,await S()}finally{fe.close()}})}}waitForFileComplete(y,S=1e3,D=6e4,J=1){return new Promise(Q=>{let fe=Date.now(),Me=0,lt=t(()=>{if(!(0,Fp.existsSync)(y))return this.channel.debug(`Asset required for upload doesn't exist anymore ${y}`),Q(!1);let Ye=(0,Fp.statSync)(y).size;if(Ye===Me){if(J>0){this.channel.debug(`File size has not changed, verifying stabilization, ${y}, size: ${Ye}, equalSizeValidationCountLeft: ${J}`),J--,setTimeout(lt,S);return}return this.channel.debug(`File size has not changed, stabilization verified, ${y}, size: ${Ye}`),Q(!0)}if(this.channel.debug(`File size changed, waiting for stabilization, ${y}, previous size: ${Me}, current size: ${Ye}`),Date.now()-fe>D)return this.channel.debug(`Asset required for upload is taking over ${D} ms to write to disk ${y}`),Q(!0);Me=Ye,setTimeout(lt,S)},"checkFile");lt()})}processAsset(y){switch(y.type){case"trace":return this.processTrace(y.path,y.testId);case"har":return this.processHar(y.path,y.testId);case"rrweb-recording":case"esra":case"test-files":return this.addAsset(y)}}async processHar(y,S){}calculateSha1(y){let S=(0,HU.createHash)("sha1");return S.update(y),S.digest("hex")}async processTrace(y,S){try{this.processingInProgress=!0,await Kbe(1e3);let D=y;if(!this.isolationMode){this.channel.debug(`Preparing trace for upload (testId: ${S})...`),D=y.replace(".zip",".actual.zip"),(0,Fp.renameSync)(y,D);let fe="checksum-playwright-trace:"+Date.now().toString()+(0,HU.randomBytes)(1024).toString("hex");(0,Fp.writeFileSync)(y,fe)}let Q=t(()=>{let fe=(0,Fp.readFileSync)(y);return this.calculateSha1(fe)+(0,rb.extname)(y)},"makePlaywrightHTMLReporterName")();this.channel.debug(`Trace file for test ${S} has been manipulated with file name ${Q}, sending for upload...`),this.addAsset({type:"report-data-file",path:D,testId:S,fileName:Q})}catch(D){let J=String(D);this.channel.debug("Error processing trace file"+J),this.channel.trace("Trace Processing Error",{error:J})}finally{this.processingInProgress=!1}}addAsset(y){this.channel.debug("Adding file "+y.path);let S=this.initAsset(y);return this.assets.push(S),S}initAsset(y){return{complete:!1,error:!1,response:void 0,info:y,removeAfterUpload:y.type==="rrweb-recording"}}async acquirePortNumber(){return await new Promise((y,S)=>{let D=GQe.createServer();D.unref(),D.on("error",S),D.listen(0,()=>{let J=D.address().port;D.close(()=>{y(J)})})})}};t(qTe,"TestRunMonitor");var Hre=qTe,XQe;try{XQe=JSON.parse(process.argv[2])}catch(p){console.log("Error starting test run monitor",p),process.exit(1)}var qQe;new Hre(XQe,((qQe=process.argv)==null?void 0:qQe[3])==="isolated");0&&(module.exports={TestRunMonitor});
451
+ `)}{/trm}`)}event(y,S){return new Promise(D=>{let J=S?`${y}=${S}`:y;setTimeout(()=>{this.sendToCLI(`monitor:${J}`),D(!0)},100)})}trace(y,S){let D=S?`${y}=${JSON.stringify(S)}`:y;setTimeout(()=>{this.sendToCLI(`trace:${D}`)},100)}log(y){return this.event("log",y)}debug(...y){this.sendToCLI(y)}};t(WTe,"CLIChannel");var UTe=WTe,qTe=class qTe{constructor(y,S=!1){this.config=y;this.isolationMode=S;this.MAX_UPLOADS=15;this.MONITOR_INTERVAL=2500;this.lastMemoryLog=0;this.MEMORY_LOG_INTERVAL=3e4;this.UPLOAD_TIMEOUT=10*60*1e3;this.UPLOAD_STALL_TIMEOUT=3*60*60*1e3;this.WATCH_TIMEOUT=2*60*1e3;this.assets=[];this.watchAssets=[];this.reportComplete=!1;this.processingInProgress=!1;this.pwTestIdToChecksumTestId={};this.channel=new UTe,this.testAssetUploader=new qre(y.apiURL,y.apiKey,this.UPLOAD_TIMEOUT,()=>`client-api/test-runs/${this.config.sessionId}/get-upload-url`,this.isolationMode,{start:t(D=>this.channel.trace("Upload Start",{filename:D}),"start"),complete:t(D=>{if(!this.reportAsset||D!==this.reportAsset.info.path)try{(0,Fp.unlinkSync)(D),this.channel.debug(`[TestAssetUploader] Deleted file after successful upload: ${D}`)}catch(J){this.channel.debug(`[TestAssetUploader] Failed to delete file after upload: ${D}`,J)}this.channel.trace("Upload Complete",{filename:D})},"complete"),error:t((D,J)=>this.channel.trace("Upload Failed",{filename:D,error:J}),"error")}),setInterval(this.monitorUploads.bind(this),this.MONITOR_INTERVAL),this.listenForMessages(),this.startServer()}logMemoryUsage(y,S=!1){let D=Date.now();if(!S&&D-this.lastMemoryLog<this.MEMORY_LOG_INTERVAL)return;this.lastMemoryLog=D;let J=process.memoryUsage();this.channel.debug(`[Memory ${y}] heapUsed: ${Math.round(J.heapUsed/1024/1024)}MB, heapTotal: ${Math.round(J.heapTotal/1024/1024)}MB, rss: ${Math.round(J.rss/1024/1024)}MB, external: ${Math.round(J.external/1024/1024)}MB, assets: ${this.assets.length}, watchAssets: ${this.watchAssets.length}`)}listenForMessages(){process.stdin.on("data",async y=>{let S=y.toString().trim();if(!S.startsWith("cli:"))return;let[D,J]=S.substring(4).split("=");switch(this.channel.debug("Received message from CLI "+D+" "+J),D){case"report":if(this.testRunEndTime=Date.now(),J!=="false")try{let Q=Buffer.from(J,"base64").toString("utf-8"),fe=JSON.parse(Q);await this.handleReport(fe)}catch(Q){this.channel.debug("Error JSON parsing report payload, continue without report. Error: "+this.stringify(Q)),this.reportComplete=!0}else this.reportComplete=!0;this.monitorUploadsCompletion();break;case"shutdown":this.shutdown();break}})}readMetadataFile(y){try{return JSON.parse((0,Fp.readFileSync)(y,"utf-8"))}catch(S){return this.channel.trace("Runtime Error",`Error reading checksum metadata file ${y}: ${S.message}`),{}}}async serveReport(y){try{let S=(0,rb.dirname)(y);await this.channel.log("Serving report in browser: "+S);let D=ire.isRepoMode?`yarn playwright show-report ${S}`:`npx playwright show-report ${S}`,J=(0,VQe.execSync)(D,{encoding:"utf8",stdio:"pipe"});await this.channel.log("Success: Report opened in browser")}catch(S){await this.channel.log(`Error serving report in browser: ${S.message}`),S.stderr&&await this.channel.log(S.stderr.toString())}}async handleReport(y){let{reportPath:S,pathToChecksumMetadata:D,didFail:J,openReportCriteria:Q,checksumRoot:fe,projectRoot:Me}=y;this.channel.debug(`Handling report ${this.isolationMode?"(isolation mode)":""}`+S),this.logMemoryUsage("before-handleReport",!0),this.uploadReportData((0,rb.dirname)(S));try{let lt=this.readMetadataFile(D),Ye=new dre(S,this.config.sessionId,this.pwTestIdToChecksumTestId,lt,{hosted:!this.isolationMode},this.channel,fe,Me);try{this.reportAsset=this.initAsset({type:"report",path:void 0}),await Ye.process(),this.logMemoryUsage("after-reportProcessor.process",!0),this.reportAsset.info.path=Ye.getProcessedFilePath(),this.uploadAsset(this.reportAsset)}catch(Er){this.channel.debug("Error processing report, "+Er.message),this.reportAsset.error=!0}this.stats=Ye.getReportsStats(),this.channel.debug("Checking watch assets");let Xe=this.watchAssets.filter(Er=>!(Er.type!=="trace"||Ye.testHasTrace(Er.testId,Er.project)));Xe.length>0&&(this.channel.debug("Removed watch assets - "),this.channel.debug(JSON.stringify(Xe.map(Er=>Er.path)))),this.watchAssets=this.watchAssets.filter(Er=>Er.type!=="trace"||Ye.testHasTrace(Er.testId,Er.project))}catch(lt){this.channel.debug("Error processing report, "+this.stringify(lt)),this.reportAsset.error=!0}finally{if((Q==="always"||Q==="on-failure"&&J)&&await this.serveReport(S),D&&(0,Fp.existsSync)(D))try{(0,Fp.unlinkSync)(D)}catch(Ye){console.error(`Error deleting checksum metadata file ${D}: ${Ye.message}`)}}}async uploadReportData(y){let S=(0,rb.join)(y,"data");try{let D=(0,Fp.readdirSync)(S),J=[".zip",".webm"],Q=D.filter(fe=>!J.includes((0,rb.extname)(fe)));this.channel.debug("Preparing to upload report data files,"+Q);for(let fe of Q)this.channel.debug("Uploading report data file,"+fe),this.addAsset({type:"report-data-file",fileName:fe,path:`${S}/${fe}`})}catch(D){this.channel.debug(`Error reading/adding report data files from dir ${S}`+D.message)}}shutdown(){this.channel.debug("Received shutdown message from CLI"),this.server.close(),process.exit(0)}async monitorUploadsCompletion(){var y;if(!this.reportComplete&&this.reportAsset&&(this.reportAsset.complete||this.reportAsset.error)){this.reportComplete=!0;let S="";try{let D=JSON.stringify(this.stats),J=`checksum-stats-${(0,HU.randomBytes)(8).toString("hex")}.json`;S=(0,rb.join)((0,$Qe.tmpdir)(),J),(0,Fp.writeFileSync)(S,D,"utf-8"),this.channel.debug(`Stats written to temporary file: ${S}`)}catch(D){this.channel.debug("Error writing stats to file"),this.channel.log(`[monitorUploadsCompletion] Error writing stats to file: ${D.message}`)}this.channel.event("report-complete",`${(y=this.reportAsset)!=null&&y.complete?"true":"false"}:${S}`)}if(!this.processingInProgress&&this.reportComplete&&(this.assets.filter(S=>S.complete||S.error).length===this.assets.length||this.isUploadStalled())&&(this.watchAssets.length===0||this.testRunEndTime&&Date.now()-this.testRunEndTime>this.WATCH_TIMEOUT)){let S=this.assets.find(J=>J.error)?"uploads-complete-with-errors":"uploads-complete",D=S==="uploads-complete"?{}:{uploadErrors:this.assets.filter(J=>J.error).map(J=>{try{return JSON.stringify(J)}catch{return J.info.path}}),watchAssets:this.watchAssets,testRunEndTime:this.testRunEndTime,now:Date.now()};this.cleanUp(),this.channel.event(S,JSON.stringify(D));return}await Kbe(1e3),this.monitorUploadsCompletion()}cleanUp(){let y;for(let S of this.assets)if(S.info.type==="rrweb-recording"){y=(0,rb.dirname)(S.info.path);break}y&&(0,Fp.rmdirSync)(y,{recursive:!0})}isUploadStalled(){let y=this.assets.reduce((S,D)=>Math.max(S,D.lastProgress??0),0)-Date.now()>this.UPLOAD_STALL_TIMEOUT;return y&&this.channel.log("Uploads are stalled"),y}async startServer(){let y=await this.acquirePortNumber();this.channel.event("port",y.toString()),this.server=(0,HQe.createServer)((S,D)=>{let J=t(fe=>{D.writeHead(400,{"Content-Type":"text/plain"}),D.end(fe)},"returnErrorWithMessage");if(S.method!=="POST"){D.writeHead(404,{"Content-Type":"text/plain"}),D.end("Method not allowed");return}let Q="";S.on("data",fe=>{Q+=fe.toString()}),S.on("end",()=>{let fe;try{fe=JSON.parse(Q)}catch{return J("Invalid body")}let{type:Me,payload:lt,watch:Ye}=fe;switch(this.channel.debug(`Server received message, ${Me}, ${this.stringify(lt)}`),Me){case"asset":if(!lt.path||!lt.type)return J("Missing arguments");Ye?this.watchAsset(lt):this.processAsset(lt);break;case"testInfo":if(!lt.pwTestId||!lt.checksumTestId)return J("Missing arguments");this.pwTestIdToChecksumTestId[lt.pwTestId]=lt.checksumTestId;break;case"checksumTestMetadata":let Xe=lt;if(!Xe.checksumTestId||!lt.data)return J("Missing arguments");this.channel.event("checksumTestMetadata",JSON.stringify({...Xe}));break;case"testStats":break;case"playwrightConfig":this.channel.event("playwrightConfig",JSON.stringify(lt));break;default:return J("Invalid message type")}D.writeHead(200,{"Content-Type":"text/plain"}),D.end("OK")})}),this.server.listen(y)}stringify(y){try{return JSON.stringify(y)}catch{return"message"in y?y.message:y}}monitorUploads(){this.logMemoryUsage("monitor");let{totalSizeBytes:y,totalUploadedBytes:S}=this.calculateUploadProgress();if(y>0&&!this.isolationMode){let Q=(S/y*100).toFixed(2);this.channel.event("upload-progress",Q)}let D=this.assets.filter(Q=>!Q.uploadStarted);if(D.length===0)return;let J=t(()=>this.assets.filter(Q=>Q.uploadStarted&&!Q.complete&&!Q.error).length,"getNumOfActiveUploads");if(!(J()>=this.MAX_UPLOADS))for(;D.length>0&&J()<this.MAX_UPLOADS;){let Q=D.pop();this.uploadAsset(Q)}}calculateUploadProgress(){let y=this.assets.reduce((D,{sizeBytes:J})=>D+(J??0),0),S=Math.min(y,this.assets.reduce((D,{loadedBytes:J})=>D+(J??0),0));return{totalSizeBytes:y,totalUploadedBytes:S}}getUploadLogMessage(y){switch(y.info.type){case"report":return"Uploading report";case"har":return`Uploading har file for test ${y.info.testId}`;case"trace":return`Uploading trace file for test ${y.info.testId}`;case"esra":return`Uploading metadata file for test ${y.info.testId}`;case"test-files":return`Uploading auto-healed test code for file ${y.info.path}`}}async uploadAsset(y){try{y.uploadStarted=!0;let S=this.getUploadLogMessage(y);S&&!this.isolationMode&&this.channel.event("log",S),await this.testAssetUploader.uploadAsset(y)}catch(S){y.error=!0,this.channel.debug("Error uploading asset"+this.stringify(S)),this.channel.trace("Upload Failed",{asset:y.info.fileName,error:String(S)})}}async getSignedURLForUpload(y){try{let{apiKey:S,sessionId:D,apiURL:J}=this.config,Q=y.info,fe=await fetch(`${J}/client-api/test-runs/${D}/get-upload-url`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",ChecksumAppCode:S},body:JSON.stringify(Q)}),{url:Me}=await fe.json();y.uploadURL=Me}catch(S){return this.channel.debug("Error getting signed URL for artifact"+this.stringify(S)),null}}watchAsset(y){this.channel.debug("Watching file "+y.path),this.watchAssets.push({...y,addedAt:Date.now()});let S=t(async()=>{await this.waitForFileComplete(y.path)&&(this.processAsset(y),this.watchAssets=this.watchAssets.filter(J=>J.path!==y.path))},"waitForCompletion");if((0,Fp.existsSync)(y.path))S();else{let D=(0,rb.dirname)(y.path),J=(0,rb.basename)(y.path),Q=!1,fe=(0,Fp.watch)(D,async(Me,lt)=>{if(!(lt!==J||Q))try{this.channel.debug("Watched file changed "+y.path),Q=!0,await S()}finally{fe.close()}})}}waitForFileComplete(y,S=1e3,D=6e4,J=1){return new Promise(Q=>{let fe=Date.now(),Me=0,lt=t(()=>{if(!(0,Fp.existsSync)(y))return this.channel.debug(`Asset required for upload doesn't exist anymore ${y}`),Q(!1);let Ye=(0,Fp.statSync)(y).size;if(Ye===Me){if(J>0){this.channel.debug(`File size has not changed, verifying stabilization, ${y}, size: ${Ye}, equalSizeValidationCountLeft: ${J}`),J--,setTimeout(lt,S);return}return this.channel.debug(`File size has not changed, stabilization verified, ${y}, size: ${Ye}`),Q(!0)}if(this.channel.debug(`File size changed, waiting for stabilization, ${y}, previous size: ${Me}, current size: ${Ye}`),Date.now()-fe>D)return this.channel.debug(`Asset required for upload is taking over ${D} ms to write to disk ${y}`),Q(!0);Me=Ye,setTimeout(lt,S)},"checkFile");lt()})}processAsset(y){switch(y.type){case"trace":return this.processTrace(y.path,y.testId);case"har":return this.processHar(y.path,y.testId);case"rrweb-recording":case"esra":case"test-files":return this.addAsset(y)}}async processHar(y,S){}calculateSha1(y){let S=(0,HU.createHash)("sha1");return S.update(y),S.digest("hex")}async processTrace(y,S){try{this.processingInProgress=!0,await Kbe(1e3);let D=y;if(!this.isolationMode){this.channel.debug(`Preparing trace for upload (testId: ${S})...`),D=y.replace(".zip",".actual.zip"),(0,Fp.renameSync)(y,D);let fe="checksum-playwright-trace:"+Date.now().toString()+(0,HU.randomBytes)(1024).toString("hex");(0,Fp.writeFileSync)(y,fe)}let Q=t(()=>{let fe=(0,Fp.readFileSync)(y);return this.calculateSha1(fe)+(0,rb.extname)(y)},"makePlaywrightHTMLReporterName")();this.channel.debug(`Trace file for test ${S} has been manipulated with file name ${Q}, sending for upload...`),this.addAsset({type:"report-data-file",path:D,testId:S,fileName:Q})}catch(D){let J=String(D);this.channel.debug("Error processing trace file"+J),this.channel.trace("Trace Processing Error",{error:J})}finally{this.processingInProgress=!1}}addAsset(y){this.channel.debug("Adding file "+y.path);let S=this.initAsset(y);return this.assets.push(S),S}initAsset(y){return{complete:!1,error:!1,response:void 0,info:y,removeAfterUpload:y.type==="rrweb-recording"}}async acquirePortNumber(){return await new Promise((y,S)=>{let D=GQe.createServer();D.unref(),D.on("error",S),D.listen(0,()=>{let J=D.address().port;D.close(()=>{y(J)})})})}};t(qTe,"TestRunMonitor");var Hre=qTe,XQe;try{XQe=JSON.parse(process.argv[2])}catch(p){console.log("Error starting test run monitor",p),process.exit(1)}var qQe;new Hre(XQe,((qQe=process.argv)==null?void 0:qQe[3])==="isolated");0&&(module.exports={TestRunMonitor});
452
452
  /*! Bundled license information:
453
453
 
454
454
  typescript/lib/typescript.js:
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "files": {
3
3
  "main.css": "/static/css/main.feaf2948.css",
4
- "main.js": "/static/js/main.fd8a9311.js",
4
+ "main.js": "/static/js/main.ea43b3f2.js",
5
5
  "index.html": "/index.html",
6
6
  "main.feaf2948.css.map": "/static/css/main.feaf2948.css.map",
7
- "main.fd8a9311.js.map": "/static/js/main.fd8a9311.js.map"
7
+ "main.ea43b3f2.js.map": "/static/js/main.ea43b3f2.js.map"
8
8
  },
9
9
  "entrypoints": [
10
10
  "static/css/main.feaf2948.css",
11
- "static/js/main.fd8a9311.js"
11
+ "static/js/main.ea43b3f2.js"
12
12
  ]
13
13
  }
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><title>Checksum.ai VTG</title><script defer="defer" src="/static/js/main.fd8a9311.js"></script><link href="/static/css/main.feaf2948.css" rel="stylesheet"></head><body><div id="root"></div></body></html>
1
+ <!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><title>Checksum.ai VTG</title><script defer="defer" src="/static/js/main.ea43b3f2.js"></script><link href="/static/css/main.feaf2948.css" rel="stylesheet"></head><body><div id="root"></div></body></html>