@sleep2agi/agent-node 2.5.0-preview.53 → 2.5.0-preview.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +2 -2
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -67,7 +67,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
67
67
|
`;w1(C,I,{mode:384,flag:"wx"})}else k3(this.filePath,C);return ig(C,384),C}catch{return}}async list(){return this.mutex.lock(()=>Array.from(this.goals.values()))}async get(A){return this.mutex.lock(()=>this.goals.get(A))}async upsert(A){return this.mutex.lock(async()=>{A.updated_at=new Date().toISOString(),this.goals.set(A.goal_id,A),await this._flush()})}async archiveAndClear(A){return this.mutex.lock(async()=>{if(!this.loaded)throw Error("GoalStore not loaded — call load() first");let Q;if(W1(this.filePath)){let B=new Date().toISOString().replace(/[:.]/g,"-");if(Q=`${this.filePath}.runtime-switched.${B}`,this.options.redactor){let C=this.options.redactor.redactValue({version:NU,goals:Array.from(this.goals.values())});w1(Q,JSON.stringify(C,null,2)+`
|
|
68
68
|
`,{mode:384,flag:"wx"})}else k3(this.filePath,Q);ig(Q,384)}return this.goals.clear(),await this._flush(),Q})}async setStatus(A,Q){return this.mutex.lock(async()=>{let B=this.goals.get(A);if(!B)return;return B.status=Q,B.updated_at=new Date().toISOString(),await this._flush(),B})}async mutate(A,Q){return this.mutex.lock(async()=>{let B=this.goals.get(A);if(!B)return;return await Q(B),B.updated_at=new Date().toISOString(),await this._flush(),B})}async delete(A){return this.mutex.lock(async()=>{let Q=this.goals.delete(A);if(Q)await this._flush();return Q})}async _flush(){if(!this.loaded)throw Error("GoalStore not loaded — call load() first");let A={version:NU,goals:Array.from(this.goals.values())},Q=this.options.redactor?this.options.redactor.redactValue(A):A,B=op(this.filePath);if(!W1(B))ip(B,{recursive:!0,mode:448});let C=`${this.filePath}.tmp.${process.pid}.${x3()}`;try{w1(C,JSON.stringify(Q,null,2)+`
|
|
69
69
|
`,{mode:384,flag:"wx"}),ig(C,384),dp(C,this.filePath),ig(this.filePath,384)}catch(I){try{np(C)}catch{}throw I}}}function LN(A){let Q=new Date,{computeNextWakeAt:B}=(WN(),dK(v3)),C=B(A.schedule,Q,A.default_tz||"Asia/Shanghai",{fallback_interval_ms:A.interval_ms});return{goal_id:x3(),text:A.text,status:"active",interval_ms:A.interval_ms,...A.schedule?{schedule:A.schedule}:{},next_wake_at:C.toISOString(),parent_task_id:A.parent_task_id,report_to:A.report_to,runtime:A.runtime,created_at:Q.toISOString(),updated_at:Q.toISOString(),progress_log:[]}}function y3(A,Q){if(A==="unknown")return{kind:"skip",runScheduler:!1,reason:"unknown runtime bucket — anet scheduler refuses to run; check --runtime / RUNTIME env / config.runtime"};let C=Q.filter((I)=>I.status==="active").filter((I)=>{let E=wN(I.runtime);return E!==A&&E!=="unknown"});if(C.length>0){let I=ep(C);return{kind:"archive",runScheduler:!0,reason:`${A} runtime started but goals.json holds ${C.length} ${I.join("/")} goal(s) — archiving + clearing so we don't reuse thread/session IDs across SDK boundaries. Backup recoverable on disk.`,foreignCount:C.length,foreignBuckets:I}}return{kind:"ok",runScheduler:!0}}function ep(A){let Q=new Set;for(let B of A)Q.add(wN(B.runtime));return Array.from(Q)}var rp,ap,sp,tp;var X1=j(()=>{rp=new Set(["claude","claude-agent-sdk","claude-sdk","agent-sdk"]),ap=new Set(["codex","codex-sdk","codex-app-server","codex-appserver","codex-tui"]),sp=new Set(["grok","grok-build-acp","grok-build","grok-build-cli","grok-cli","grok-tui"]),tp=new Set(["opencode","opencode-cli"])});function XR(A){if(A===void 0||A.length===0)return"commhub-only";if(A.length===1&&A[0]==="WebSearch")return"x-search";if(A.length===3&&A[0]==="Read"&&A[1]==="Grep"&&A[2]==="Glob")return"repo-read";throw Error('grok copresence supports only the exact tools profiles ["WebSearch"], ["Read","Grep","Glob"], or an omitted tools field')}function ZR(A=process.env){let Q=A.ANET_INTERNAL_GROK_COPRESENCE_PROFILE;if(Q===void 0||Q==="")return"commhub-only";if(Q==="commhub-only"||Q==="x-search"||Q==="repo-read")return Q;throw Error("grok copresence process capability profile is invalid")}function KR(A,Q){return A==="repo-read"?Q.strictProfile:Q.workspaceProfile}var LR="ANET_INTERNAL_GROK_COPRESENCE_PROFILE";import{lstatSync as pd}from"fs";import{basename as dd}from"path";function HR(A){return nd.includes(A)}function od(A){try{return pd(A).isSocket()}catch{return!1}}function zR(A,Q){let B=dd(A);if(Q==="attach")return B==="attach.sock"||B==="a.sock";return B==="leader.sock"||B==="l.sock"}function HN(A,Q=od){if(!A)return{tuiReady:!1,childAlive:!1,attach:{present:!1,named:!1},leader:{present:!1,named:!1},usable:!1};let B=zR(A.attachSocket,"attach"),C=zR(A.leaderSocket,"leader"),I=Q(A.attachSocket),E=Q(A.leaderSocket),g=A.tuiReady===!0,D=A.isRunning===!0;return{tuiReady:g,childAlive:D,attach:{present:I,named:B},leader:{present:E,named:C},usable:D&&g&&I&&E&&B&&C}}function RR(A,Q){if(Q==="offline")return"offline";if(!A.usable&&(Q==="idle"||Q==="working"))return"blocked";return Q}var nd;var O1=j(()=>{nd=["working","idle","blocked","error","waiting_input","offline"]});import{closeSync as TN,constants as uI,existsSync as LU,fchmodSync as i1,fstatSync as yR,fsyncSync as Cn,lstatSync as fR,openSync as p1,readFileSync as l1,rmSync as En,writeFileSync as gn,renameSync as Dn}from"node:fs";import{basename as Un,dirname as hR,join as Fn,resolve as Yn,sep as Jn}from"node:path";import{randomBytes as Nn}from"node:crypto";function uR(A){if(A.model!==void 0){if(typeof A.model!=="string"||A.model.length===0||A.model.length>200)return{field:"model",reason:"must be a non-empty string ≤ 200 chars"}}if(A.channels!==void 0){if(!Array.isArray(A.channels))return{field:"channels",reason:"must be an array of strings"};if(A.channels.length>16)return{field:"channels",reason:"too many entries (max 16)"};for(let B of A.channels){if(typeof B!=="string")return{field:"channels",reason:"must contain only strings"};if(!$n.has(B))return{field:`channels.${B}`,reason:"not in local editable channels allowlist"}}}let Q=A.flags||{};for(let[B,C]of Object.entries(Q)){if(!mR.has(B))return{field:`flags.${B}`,reason:"not in local allowlist"};switch(B){case"permissionMode":if(typeof C!=="string"||!["default","auto","bypassPermissions","acceptEdits","plan"].includes(C))return{field:"flags.permissionMode",reason:"invalid enum"};break;case"dangerouslySkipPermissions":if(typeof C!=="boolean")return{field:`flags.${B}`,reason:"must be boolean"};break;case"maxTurns":if(typeof C!=="number"||!Number.isInteger(C)||C<0||C>1e4)return{field:"flags.maxTurns",reason:"must be int in [0, 10000]"};break;case"budget":if(typeof C!=="number"||C<0||C>1e6)return{field:"flags.budget",reason:"must be number in [0, 1_000_000]"};break;case"timeout":if(typeof C!=="number"||!Number.isInteger(C)||C<0||C>3600000)return{field:"flags.timeout",reason:"must be int ms in [0, 3_600_000]"};break}}return null}function cR(A){let Q=A.model!==void 0,B=A.flags||{},C=Object.keys(B),I=A.channels!==void 0;if(!Q&&C.length===0&&!I)return"restart_only";if(Q)return"restart";if(I)return"restart";for(let E of C)if(Gn.has(E))return"restart";return"hot"}function MI(A,Q){ZU(A,JSON.stringify(Q,null,2)+`
|
|
70
|
-
`)}function ZU(A,Q){let B=hR(A);iR(B,lR(B));let C=Fn(B,`.${Un(A)}.${Nn(12).toString("hex")}.tmp`),I;try{I=p1(C,uI.O_WRONLY|uI.O_CREAT|uI.O_EXCL|(uI.O_NOFOLLOW||0),384),gn(I,Q,"utf8"),i1(I,384),Cn(I),TN(I),I=void 0,Dn(C,A)}catch(E){if(I!==void 0)try{TN(I)}catch{}throw En(C,{force:!0}),E}}function lR(A){return Yn(A).split(Jn).includes(".anet")}function iR(A,Q){let B=fR(A);if(B.isSymbolicLink()||!B.isDirectory())throw Error(`private config refuses non-directory or linked parent: ${A}`);let C=p1(A,uI.O_RDONLY|(uI.O_DIRECTORY||0)|(uI.O_NOFOLLOW||0));try{let I=yR(C),E=process.getuid?.();if(!I.isDirectory()||E!==void 0&&I.uid!==E||I.dev!==B.dev||I.ino!==B.ino)throw Error(`private config parent is not owner-controlled: ${A}`);if(Q&&pR())i1(C,448)}finally{TN(C)}}function pR(A=process.platform){return A!=="win32"}function JE(A){if(!LU(A)&&!LU(`${A}.prev`))return;let Q=hR(A);iR(Q,lR(Q));for(let B of[A,`${A}.prev`]){if(!LU(B))continue;let C=fR(B);if(C.isSymbolicLink()||!C.isFile()||C.nlink!==1)throw Error(`private config refuses linked or non-regular file: ${B}`);let I=p1(B,uI.O_RDONLY|(uI.O_NOFOLLOW||0));try{let E=yR(I),g=process.getuid?.();if(!E.isFile()||E.nlink!==1||g!==void 0&&E.uid!==g||E.dev!==C.dev||E.ino!==C.ino)throw Error(`private config is not owner-controlled: ${B}`);if(pR())i1(I,384)}finally{TN(I)}}}function dR(A){if(!LU(A))return{backedUp:!1};return ZU(`${A}.prev`,l1(A,"utf8")),{backedUp:!0}}function nR(A){let Q;try{let C=l1(A,"utf-8");return{config:JSON.parse(C),source:"primary"}}catch(C){Q=String(C?.message||C)}let B=`${A}.prev`;if(!LU(B))throw Error(`config.json parse failed (${Q}) and no .prev backup exists`);try{let C=l1(B,"utf-8"),I=JSON.parse(C);return ZU(A,C),{config:I,source:"prev",primaryError:Q}}catch(C){throw Error(`config.json parse failed (${Q}); .prev parse also failed (${String(C?.message||C)})`)}}function oR(A){if(typeof A!=="string")return null;let Q=A.indexOf(":");if(Q<0)return A||null;if(Q===0||Q===A.length-1)return null;return A.slice(0,Q)}function rR(A,Q){let B=JSON.parse(JSON.stringify(A||{}));if(Q.model!==void 0)B.model=Q.model;if(Q.flags)B.flags={...B.flags||{},...Q.flags};if(Q.channels!==void 0){let C=new Map,I=Array.isArray(B.channels)?B.channels:[];for(let E of I){let g=oR(E);if(g&&!C.has(g))C.set(g,String(E))}B.channels=Q.channels.map((E)=>C.get(E)??E)}return B}function aR(A,Q,B,C){let I={model:typeof A?.model==="string"?A.model:null,flags:{},config_revision:B,config_update_capable:Q,peer_reply_inbox_capable:!0,role:typeof A?.role==="string"?A.role:null,channels:(()=>{let Y=A?.channels;if(!Array.isArray(Y))return[];let N=new Set,J=[];for(let G of Y){let $=oR(G);if(!$||N.has($))continue;N.add($),J.push($)}return J.sort()})()},E={},g=A?.runtimes_supported;if(Array.isArray(g)&&g.every((Y)=>typeof Y==="string"))E.runtimes_supported=g;let D=A?.allowed_secret_keys;if(Array.isArray(D)&&D.every((Y)=>typeof Y==="string"))E.allowed_secret_keys=D;let U=A?.max_concurrent_children;if(typeof U==="number"&&Number.isFinite(U)&&U>0)E.max_concurrent_children=U;if(C){if(E.can_create_nodes=C.ok,!C.ok&&C.reason)E.create_nodes_blocked_reason=C.reason}if(Object.keys(E).length>0)I.daemon_capabilities=E;let F=A?.flags||{};for(let Y of mR)if(Y in F)I.flags[Y]=F[Y];return I}var XU=75,mR,Gn,$n;var d1=j(()=>{mR=new Set(["permissionMode","dangerouslySkipPermissions","maxTurns","budget","timeout"]),Gn=new Set(["permissionMode","dangerouslySkipPermissions","timeout"]),$n=new Set(["telegram","feishu"])});import{execFileSync as zn}from"child_process";import{createHash as Hn}from"crypto";import{closeSync as Rn,constants as F7,existsSync as jn,fstatSync as Y7,lstatSync as kN,openSync as _n,readFileSync as $7,readSync as qn,realpathSync as tg,statSync as A6}from"fs";import{basename as J7,delimiter as On,dirname as cI,isAbsolute as bN,join as eg,relative as M7,resolve as s1,sep as Tn}from"path";function Pn(A,Q=process.getuid?.(),B=process.getgid?.()){if(Q===void 0)return!1;if(A.uid!==Q&&A.uid!==0)return!1;let C=Q>0&&B===Q&&A.uid===Q&&A.gid===Q;return(Number(A.mode)&(C?2:18))===0}function N7(A,Q){let B=M7(A,Q);return B===""||B!==".."&&!B.startsWith(`..${Tn}`)&&!bN(B)}function vn(A){let Q=s1(A);try{return tg(Q)}catch(B){if(B?.code==="ENOENT")return Q;throw Error(`cannot canonicalize forbidden OpenCode root ${Q}: ${B?.message||B}`)}}function t1(A){try{return kN(A),!0}catch(Q){if(Q?.code==="ENOENT")return!1;return!0}}function kn(A){if(!t1(A))return!1;try{let Q=kN(A);if(Q.isSymbolicLink()||!Q.isFile()||(Q.mode&2)!==0||Q.size<=0||Q.size>1048576)return!0;let C=JSON.parse($7(A,"utf8"))?.workspaces;return Array.isArray(C)||Boolean(C&&typeof C==="object"&&Array.isArray(C.packages))}catch{return!0}}function yN(A=process.cwd()){if(!bN(A))throw Error("OpenCode project cwd must be absolute");let Q=s1(A),B;try{B=tg(Q)}catch(E){if(E?.code!=="ENOENT")throw E;let g=cI(Q);while(!t1(g)){let U=cI(g);if(U===g)break;g=U}let D=tg(g);B=s1(D,M7(g,Q))}let C=new Set([B]),I=B;while(!0){if(Sn.some((g)=>t1(eg(I,g))))C.add(I);if(kn(eg(I,"package.json")))C.add(I);let E=cI(I);if(E===I)break;I=E}return[...C]}function e1(A,Q,B){let C=A6(A);if(!(Q==="file"?C.isFile():C.isDirectory())||!Pn(C))throw Error(`resolved opencode ${B} has unsafe ownership or mode`)}function a1(A,Q){return A.dev===Q.dev&&A.ino===Q.ino}function xN(A,Q){let B=kN(A);if(B.isSymbolicLink()||!B.isFile())throw Error(`resolved opencode ${Q} is not a canonical regular file`);let C;try{C=_n(A,F7.O_RDONLY|(F7.O_NOFOLLOW||0));let I=Y7(C);if(!I.isFile()||!a1(B,I))throw Error(`resolved opencode ${Q} changed before attestation`);let E=Hn("sha256"),g=Buffer.allocUnsafe(1048576),D=0;while(!0){let Y=qn(C,g,0,g.length,null);if(Y===0)break;E.update(g.subarray(0,Y)),D+=Y}let U=Y7(C),F=kN(A);if(!a1(I,U)||!a1(U,F)||F.isSymbolicLink()||!F.isFile()||D!==I.size||U.size!==I.size)throw Error(`resolved opencode ${Q} changed during attestation`);return{dev:String(I.dev),ino:String(I.ino),size:I.size,sha256:E.digest("hex")}}finally{if(C!==void 0)Rn(C)}}function G7(A,Q){return A.dev===Q.dev&&A.ino===Q.ino&&A.size===Q.size&&A.sha256===Q.sha256}function xn(A){let Q=A;while(!0){e1(Q,"directory",`package directory ${Q}`);let B=cI(Q);if(B===Q)return;Q=B}}function V7(A,Q,B){let C=cI(A),I=cI(C);if(J7(I)!=="opencode-ai"||J7(cI(I))!=="node_modules")throw Error("resolved opencode binary is not inside a node_modules/opencode-ai wrapper");let E=eg(I,"bin","opencode.exe");if(A!==E)throw Error("resolved executable is not the canonical opencode-ai bin/opencode.exe entrypoint");for(let J of B){if(!J)continue;let G=vn(J);if(N7(G,I)||N7(I,G))throw Error(`resolved opencode-ai package overlaps forbidden root: ${G}`)}e1(A,"file","binary");let g=A6(A);if(process.platform!=="win32"&&(g.mode&73)===0)throw Error("resolved opencode binary has unsafe ownership or mode");let D=eg(I,"package.json"),U;try{U=tg(D)}catch(J){throw Error(`resolved opencode-ai package.json is missing: ${J?.message||J}`)}if(U!==D)throw Error("resolved opencode-ai package.json must not be a symlink");e1(D,"file","package.json"),xn(C);let F;try{F=JSON.parse($7(D,"utf8"))}catch(J){throw Error(`resolved opencode-ai package.json is invalid: ${J?.message||J}`)}let Y=F.bin&&typeof F.bin==="object"?F.bin.opencode:void 0,N=typeof Y==="string"?Y.replace(/^\.\//,""):Y;if(F.name!=="opencode-ai"||F.version!==Q||N!=="bin/opencode.exe")throw Error(`resolved executable is not opencode-ai@${Q} with bin.opencode=bin/opencode.exe`);return A}function bn(A,Q){for(let B of Q.split(On)){if(!B)continue;let C=eg(B,A);if(!jn(C))continue;try{let I=A6(C);if(I.isFile()&&(process.platform==="win32"||(I.mode&73)!==0))return C}catch{}}throw Error("opencode not found on the trusted launch PATH")}function fN(A={}){let Q=A.expectedVersion??lI;if(Q!==lI)throw Error(`unsupported opencode version ${Q}; this agent-node is vetted only for opencode-ai@${lI}`);let B;if(A.requestedBinary){if(!bN(A.requestedBinary))throw Error("ANET_OPENCODE_BIN must be an absolute path");B=A.requestedBinary}else B=bn("opencode",A.searchPath??"");let C=tg(B);V7(C,Q,A.forbiddenRoots??[]);let I=eg(cI(cI(C)),"package.json"),E=xN(C,"binary"),g=xN(I,"package.json"),D;try{D=zn(C,["--version"],{encoding:"utf8",stdio:["ignore","pipe","pipe"],timeout:5000,env:A.probeEnv,cwd:A.probeCwd}).trim()}catch(F){throw Error(`opencode version probe failed: ${F?.message||F}`)}let U=D.match(/(\d+\.\d+\.\d+)/)?.[1]??D;if(U!==Q)throw Error(`expected opencode-ai@${Q}; resolved binary reports ${U||"no version"}`);return{binary:C,packageJson:I,expectedVersion:Q,binaryFile:E,packageJsonFile:g}}function hN(A,Q={}){let B=Q.expectedVersion??lI;if(B!==lI)throw Error(`unsupported opencode version ${B}; this agent-node is vetted only for opencode-ai@${lI}`);if(A.expectedVersion!==B)throw Error("resolved opencode attestation version changed after probe");if(!bN(A.binary))throw Error("resolved opencode binary must remain absolute");let C=tg(A.binary);if(C!==A.binary)throw Error("resolved opencode binary path changed after version probe");V7(C,B,Q.forbiddenRoots??[]);let I=xN(C,"binary"),E=xN(A.packageJson,"package.json");if(!G7(A.binaryFile,I)||!G7(A.packageJsonFile,E))throw Error("resolved opencode package bytes changed after version probe");return C}var lI="1.18.1",Sn;var mN=j(()=>{Sn=[".git","pnpm-workspace.yaml","lerna.json","nx.json","rush.json","turbo.json"]});import{posix as fn,win32 as hn}from"path";function E6(A){let Q=A.platform??process.platform,B=Q==="win32"?hn.isAbsolute:fn.isAbsolute;if(!A.cwd||A.cwd.includes("\x00")||!B(A.cwd))throw Error("Grok child environment requires an absolute cwd");let C={},I=Q==="win32"?[...I6,...C6]:I6;for(let E of I){let g=A.parentEnv[E];if(g!==void 0&&g!=="")C[E]=g}if(C.HOME=A.home,Q==="win32"){C.USERPROFILE=A.home;let E=A.home.length>=2&&A.home[1]===":"?A.home.slice(0,2):"";if(E)C.HOMEDRIVE=E,C.HOMEPATH=A.home.slice(2)||"\\"}C.PWD=A.cwd,C.GROK_HOME=A.home,C.GROK_AUTH_PATH=A.authPath;for(let E of["CLAUDE","CURSOR"])for(let g of["SKILLS","RULES","AGENTS","MCPS","HOOKS","SESSIONS"])C[`GROK_${E}_${g}_ENABLED`]="false";if(C.GROK_CODEX_SESSIONS_ENABLED="false",C.GROK_FOLDER_TRUST="1",C.GROK_DISABLE_AUTOUPDATER="1",C.GROK_CHANGELOG_OFFLINE="1",C.GROK_LEADER_LOG="off",C.GROK_SUBAGENTS="0",C.GROK_WEB_FETCH="0",C.GROK_MEMORY="0",A.oidcIssuer)C.GROK_OIDC_ISSUER=A.oidcIssuer;if(A.oidcClientId)C.GROK_OIDC_CLIENT_ID=A.oidcClientId;if(A.expectedParentPid!==void 0){if(!Number.isSafeInteger(A.expectedParentPid)||A.expectedParentPid<=0)throw Error("Grok child expected parent PID must be a positive safe integer");C.ANET_EXPECTED_PARENT_PID=String(A.expectedParentPid)}if(A.defaultSelectedPermission)C.GROK_DEFAULT_SELECTED_PERMISSION=A.defaultSelectedPermission;return C}function cN(A,Q=process.platform){let B={};if(Q==="win32")for(let C of C6){let I=A[C];if(I!==void 0&&I!=="")B[C]=I}for(let C of un){let I=A[C];if(I!==void 0&&I!=="")B[C]=I}if(!B.PATH)B.PATH="/usr/local/bin:/usr/bin:/bin";return B}function KC(A,Q){let B={};for(let[C,I]of Object.entries(A)){if(!cn.has(C)||I===void 0)continue;B[C]=I}if(!B.PATH)B.PATH="/usr/local/bin:/usr/bin:/bin";if(Q){let C=KC(Q),I=[...new Set([...Object.keys(C),...Object.keys(B)])].sort();for(let E of I)if(B[E]!==C[E])throw Error(`Grok child environment changed at final spawn boundary: ${E}`)}return B}function R7(A,Q,B,C="xterm-256color",I,E){if(!B||B.includes("\x00")||!C||C.includes("\x00")||!/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/.test(I)||!/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(E))throw Error("Grok PTY environment requires a valid cwd, terminal name, sandbox profile, and Leader owner");let g=KC(A,Q);if(g.PWD!==B)throw Error("Grok PTY cwd differs from the reviewed child environment");return g.TERM=C,g.GROK_SANDBOX=I,g.ANET_GROK_LEADER_OWNER=E,g}var I6,C6,mn,un,cn;var zU=j(()=>{I6=["PATH","TMPDIR","TMP","TEMP","LANG","LC_ALL","LC_CTYPE","TZ","SHELL","USER","LOGNAME","TERM","COLORTERM","NO_COLOR"],C6=["SystemRoot","SystemDrive","windir","ComSpec","PATHEXT","APPDATA","LOCALAPPDATA","ProgramData","ProgramFiles","NUMBER_OF_PROCESSORS","PROCESSOR_ARCHITECTURE"],mn=["HOME","USERPROFILE","HOMEDRIVE","HOMEPATH","PWD","GROK_HOME","GROK_AUTH_PATH","GROK_OIDC_ISSUER","GROK_OIDC_CLIENT_ID","GROK_CLAUDE_SKILLS_ENABLED","GROK_CURSOR_SKILLS_ENABLED","GROK_CLAUDE_RULES_ENABLED","GROK_CURSOR_RULES_ENABLED","GROK_CLAUDE_AGENTS_ENABLED","GROK_CURSOR_AGENTS_ENABLED","GROK_CLAUDE_MCPS_ENABLED","GROK_CURSOR_MCPS_ENABLED","GROK_CLAUDE_HOOKS_ENABLED","GROK_CURSOR_HOOKS_ENABLED","GROK_CLAUDE_SESSIONS_ENABLED","GROK_CURSOR_SESSIONS_ENABLED","GROK_CODEX_SESSIONS_ENABLED","GROK_FOLDER_TRUST","GROK_DEFAULT_SELECTED_PERMISSION","GROK_DISABLE_AUTOUPDATER","GROK_CHANGELOG_OFFLINE","GROK_LEADER_LOG","GROK_SUBAGENTS","GROK_WEB_FETCH","GROK_MEMORY","ANET_EXPECTED_PARENT_PID"],un=["PATH","TMPDIR","TMP","TEMP","LANG","LC_ALL","LC_CTYPE","TZ"],cn=new Set([...I6,...C6,...mn])});function t7(A){if($o.has(A))return!0;for(let Q of Mo)if(A.startsWith(Q))return!0;return!1}var $o,Mo;var e7=j(()=>{$o=new Set(["PATH","HOME","LANG","LC_ALL","SHELL","USER","LOGNAME","NODE_OPTIONS","IFS","PS1","PS4","ENV","BASH_ENV","CDPATH","PROMPT_COMMAND","TMPDIR"]),Mo=["LD_","DYLD_","BUN_","NPM_","NPM_CONFIG_","NODE_"]});var B0={};zA(B0,{recordSpawnedChild:()=>pN,rebuildChildrenMapOnBoot:()=>To,handleStopDoorbell:()=>Ro,getChildrenSnapshot:()=>W6,forgetSpawnedChild:()=>Ko,_resetChildrenMapForTest:()=>zo,_internals:()=>So});import{chmodSync as Vo,mkdirSync as Wo,readFileSync as V6,renameSync as wo}from"node:fs";import{execFile as Lo}from"node:child_process";import{join as iN}from"node:path";import{promisify as Xo}from"node:util";function pN(A,Q,B){Q0.set(A,{pid:B,started_at:Date.now(),child_node_id:A,alias:Q})}function Ko(A){return Q0.delete(A)}function zo(){Q0.clear()}function W6(){return Array.from(Q0.values())}async function Ho(A){return new Promise((Q)=>setTimeout(Q,A))}function M6(A,Q){try{return Q(A,0),!0}catch(B){if(B?.code==="ESRCH")return!1;throw B}}async function Aj(A,Q,B,C,I=Date.now){let E=I()+Q;while(I()<E){if(!M6(A,B))return!0;await C(200)}return!M6(A,B)}function Qj(A,Q,B,C,I,E,g){try{I(B,448);try{E(B,448)}catch{}let D=iN(B,`${Date.now()}-${A}`);return g(iN(Q,A),D),E(D,448),C.log(`[stop-daemon] backed up child workdir → ${D} (chmod 700)`),D}catch(D){return C.warn(`[stop-daemon] backup mv failed for ${A}: ${D?.message||D}`),null}}async function Ro(A,Q){let{request_id:B}=A,C=Q.signalProcess??((q,x)=>{process.kill(q,x)}),I=Q.sleep??Ho,E=Q.now??Date.now,g=Q.renameDir??((q,x)=>wo(q,x)),D=Q.ensureDir??((q,x)=>{Wo(q,{recursive:!0,mode:x})}),U=Q.chmod??((q,x)=>Vo(q,x)),F=Q.workdirRoot??iN(Q.workDir??process.cwd(),".anet","nodes"),Y=Q.deletedRoot??iN(Q.workDir??process.cwd(),".anet","deleted"),N;try{N=await Q.callCommHub("get_stop_request",{request_id:B})}catch(q){Q.warn(`[stop-daemon] get_stop_request failed: ${q?.message||q}`);return}if(!N?.ok||!N.child_node_id||!N.action){Q.warn(`[stop-daemon] get_stop_request returned error: ${N?.error||"unknown"}`);return}let{child_node_id:J,child_alias:G,action:$,delete_config:V=!0,grace_seconds:M=10}=N,W=Q0.get(J);if(!W){if(Q.log(`[stop-daemon] ${$} without map entry (expected after stop / crash): ${J}`),G)await $6(G,C,Q,`${$} without map entry`);let q=$==="delete"&&V&&G?Qj(G,F,Y,Q,D,U,g):null;await Q.callCommHub("ack_stop_request",{request_id:B,status:"stopped",...q?{backup_path:q}:{}}).catch((x)=>{Q.warn(`[stop-daemon] ack failed: ${x?.message||x}`)});return}let L=(q)=>{let u=(Q.readPgid??Oo)(q);return u&&u>0?u:q},Z=(q,x)=>{let u=L(q);try{C(-u,x)}catch(h){if(h?.code==="ESRCH")return;if(h?.code==="EPERM"||h?.code==="EINVAL"){try{C(q,x)}catch(n){if(n?.code!=="ESRCH")throw n}return}throw h}},X="UNKNOWN";try{if(M6(W.pid,C)){if(Z(W.pid,"SIGTERM"),X="SIGTERM",Q.log(`[stop-daemon] sent SIGTERM to pgid=${L(W.pid)} (from recorded pid=${W.pid}) alias=${W.alias} grace=${M}s (covers wrapper + agent-node grandchild)`),!await Aj(W.pid,M*1000,C,I,E))Z(W.pid,"SIGKILL"),X="SIGKILL",Q.warn(`[stop-daemon] grace exceeded, sent SIGKILL to pgid=${W.pid} alias=${W.alias}`),await Aj(W.pid,5000,C,I,E)}else X="ALREADY_DEAD",Q.log(`[stop-daemon] pid=${W.pid} alias=${W.alias} already dead before SIGTERM`),await $6(W.alias,C,Q,"wrapper was already dead")}catch(q){if(q?.code==="ESRCH")X="ALREADY_DEAD";else{Q.warn(`[stop-daemon] signal flow threw: ${q?.message||q}`),await Q.callCommHub("ack_stop_request",{request_id:B,status:"stop_failed",exit_signal:X,error:`signal failed: ${(q?.message||q).toString().slice(0,500)}`}).catch(()=>{});return}}let O=$==="delete"&&V&&G?Qj(G,F,Y,Q,D,U,g):null;Q.log(`[stop-daemon] entering residual sweep alias=${W.alias}`),await $6(W.alias,C,Q,"post-pgid-signal residual sweep"),Q.log(`[stop-daemon] residual sweep returned alias=${W.alias}`),Q0.delete(J),Q.log(`[stop-daemon] dropped from children map child_node_id=${J}, sending ack action=${$}`),await Q.callCommHub("ack_stop_request",{request_id:B,status:"stopped",exit_signal:X,...O?{backup_path:O}:{}}).then(()=>{Q.log(`[stop-daemon] ack accepted request_id=${B} action=${$}`)}).catch((q)=>{Q.warn(`[stop-daemon] ack failed: ${q?.message||q}`)})}async function $6(A,Q,B,C){try{let{execSync:I}=await import("node:child_process"),E=await import("node:fs"),g;try{g=I("pgrep -af 'agent-node' || true",{encoding:"utf8",timeout:1e4,maxBuffer:33554432})}catch{return}let D=g.split(/\r?\n/).map((U)=>parseInt(U.trim().split(/\s+/)[0]||"0",10)).filter((U)=>Number.isFinite(U)&&U>0&&U!==process.pid);for(let U of D){let F=null;try{F=E.readFileSync(`/proc/${U}/cmdline`,"utf8")}catch{continue}if(!w6(F,A))continue;B.warn(`[stop-daemon] sweeping orphan pid=${U} alias=${A} (${C})`);try{Q(U,"SIGTERM")}catch{}}}catch(I){B.warn(`[stop-daemon] orphan sweep skipped (${C}): ${I?.message||I}`)}}async function jo(A){let B=`agent-node.*--alias ${A.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}($|[[:space:]])`;try{let{stdout:C}=await Zo("pgrep",["-f",B],{timeout:5000});return C.split(/\s+/).filter(Boolean).map((I)=>parseInt(I,10)).filter((I)=>Number.isFinite(I))}catch(C){if(C?.code===1)return[];throw C}}function _o(A){try{return V6(`/proc/${A}/cmdline`,"utf-8")}catch{return null}}function qo(A){try{let Q=V6(`/proc/${A}/stat`,"utf-8"),B=Q.lastIndexOf(")");if(B<0)return null;return Q.slice(B+1).trim().split(/\s+/)[0]||null}catch{return null}}function Oo(A){try{let Q=V6(`/proc/${A}/stat`,"utf-8"),B=Q.lastIndexOf(")");if(B<0)return null;let C=Q.slice(B+1).trim().split(/\s+/),I=parseInt(C[2]||"",10);return Number.isFinite(I)&&I>0?I:null}catch{return null}}function w6(A,Q){if(!A)return!1;let B=A.split("\x00").filter(Boolean);if(B.findIndex((I,E)=>I==="--alias"&&B[E+1]===Q)<0)return!1;return B.some((I)=>I==="agent-node"||I.endsWith("/agent-node")||I.endsWith("/cli.js"))}async function To(A){let Q={total_children_from_hub:0,recovered:0,missing:[],ambiguous:[],zombies:[]},B=A.pgrepAlias??jo,C=A.readProcCmdline??_o,I=A.readProcStatState??qo,E;try{let D=await A.callCommHub("list_my_children",{});if(!D?.ok||!Array.isArray(D.children))return A.warn(`[rebuild] list_my_children failed: ${D?.error||"unknown"}`),Q;E=D.children}catch(D){return A.warn(`[rebuild] list_my_children threw: ${D?.message||D}`),Q}Q.total_children_from_hub=E.length;let g=process.pid;for(let D of E){if(!D.alias||!D.child_node_id)continue;let U;try{U=await B(D.alias)}catch(Y){A.warn(`[rebuild] pgrep failed for alias=${D.alias}: ${Y?.message||Y}`);continue}let F=[];for(let Y of U){if(Y===g)continue;if(I(Y)==="Z"){Q.zombies.push(D.alias);continue}let J=C(Y);if(!w6(J,D.alias))continue;F.push(Y)}if(F.length===0){Q.missing.push(D.alias),A.warn(`[rebuild] hub-active alias=${D.alias} has no matching pid (crashed without cleanup?)`);continue}if(F.length>1){Q.ambiguous.push(D.alias),A.warn(`[rebuild] alias=${D.alias} matched ${F.length} pids ${F.join(",")} after cmdline filter — skipping`);continue}pN(D.child_node_id,D.alias,F[0]),Q.recovered++,A.log(`[rebuild] recovered alias=${D.alias} → pid=${F[0]}`)}return A.log(`[rebuild] done: total=${Q.total_children_from_hub} recovered=${Q.recovered} missing=${Q.missing.length} ambiguous=${Q.ambiguous.length} zombies=${Q.zombies.length}`),Q}var Zo,Q0,So;var GE=j(()=>{Zo=Xo(Lo),Q0=new Map;So={cmdlineMatchesAlias:w6}});var oN={};zA(oN,{validateFlagValueDaemon:()=>Fj,serializeEnvLocalDaemon:()=>so,resolveChildHome:()=>z6,reconcilePendingCreateRequestsOnConnect:()=>to,minimalEnv:()=>nN,loadAndVerifyAnetBin:()=>Ej,handleCreateNodeDoorbell:()=>eo,getAnetBinAbs:()=>dN,ensureGlobalAnetConfig:()=>Jj,defaultPathConf:()=>Cj,buildAnetArgsDaemon:()=>Yj,_resetWindowsPosixModeWarnLatchForTest:()=>uo,_resetAnetBinAbsForTest:()=>co,_internals:()=>oo});import{spawn as Po}from"node:child_process";import{statSync as Bj,realpathSync as Ij,readFileSync as qU,mkdirSync as X6}from"node:fs";import{createHash as vo}from"node:crypto";import{dirname as Z6,isAbsolute as ko,join as $E,resolve as xo,win32 as OU}from"node:path";function jU(A){return`'${A.replace(/'/g,"'\\''")}'`}function nB(A,Q,B){let C=Error(`anet_bin_unsafe_path: ${Q}. Fix: ${B}`);return C.anetBinCode=A,C}function bo(A){let Q=Z6(A);for(;;){try{let C=$E(Q,"package.json");return Bj(C),Q}catch{}let B=Z6(Q);if(B===Q)return null;Q=B}}function yo(A){let Q=bo(A);if(!Q)throw nB("anet_bin_identity",`not an anet package bin: no package.json above ${A}`,"re-run via the installed anet command: anet daemon up");let B;try{B=JSON.parse(qU($E(Q,"package.json"),"utf-8"))}catch(E){throw nB("anet_bin_identity",`not an anet package bin: cannot read package.json (${E?.message||E})`,"reinstall anet: npm i -g @sleep2agi/agent-network@latest")}if(B?.name!=="@sleep2agi/agent-network")throw nB("anet_bin_identity",`not an anet package bin: package name is ${JSON.stringify(B?.name)}`,"unset ANET_BIN_ABS and re-run: anet daemon up");let C=typeof B.bin==="string"?B.bin:B.bin?.anet;if(C)try{if(Ij(xo(Q,C))===A)return}catch{}let I=qU(A,"utf-8");if(A.endsWith("/anet.cjs")&&I.includes("anet 的 bin 入口垫片")&&I.includes("PARSE_FLOOR"))return;throw nB("anet_bin_identity",`not an anet package bin: package.json bin.anet does not point at ${A}`,"unset ANET_BIN_ABS and re-run: anet daemon up")}function fo(A){try{let Q=qU(A,"utf-8"),B={};for(let C of Q.split(/\r?\n/)){let I=C.match(/^\s*([A-Z_][A-Z0-9_]*)\s*=\s*(.+)\s*$/);if(I)B[I[1]]=I[2]}if(!B.ANET_BIN_ABS)return null;return{abs:B.ANET_BIN_ABS,sha256:B.ANET_BIN_SHA256}}catch{return null}}function ho(A,Q,B){if(B==="win32")return OU.normalize(A).toLowerCase()===OU.normalize(Q).toLowerCase();return A===Q}function mo(A=console.warn.bind(console)){if(K6)return;K6=!0,A("[anet-daemon] #1290 — Windows POSIX-mode supply-chain checks "+"(group/other writability, executability) SKIPPED. Node's synthetic st.mode does not reflect Windows filesystem ACLs; enforce with icacls that ANET_BIN_ABS is owned + writable only by trusted principals.")}function uo(){K6=!1}function Cj(A,Q){if(Q==="win32"){let B=A.PROGRAMDATA||"C:\\ProgramData";return OU.join(B,"anet-daemon","path.conf")}return"/etc/anet-daemon/path.conf"}function Ej(A=process.env,Q=process.platform){let B=null,C=Cj(A,Q),I=A.ANET_DAEMON_PATH_CONF||C;if(B=fo(I),!B&&A.ANET_BIN_ABS&&A.ANET_DAEMON_ALLOW_ENV_BIN==="1")B={abs:A.ANET_BIN_ABS,sha256:A.ANET_BIN_SHA256};if(!B&&A.ANET_BIN_ABS)throw nB("anet_bin_source",`ANET_BIN_ABS env fallback disabled (set ANET_DAEMON_ALLOW_ENV_BIN=1 only for Docker/dev/manual ops; production trust root is ${C})`,Q==="win32"?`New-Item -ItemType Directory -Force -Path "${OU.dirname(C)}" | Out-Null; "ANET_BIN_ABS=<absolute path to anet.cjs>" | Set-Content -Path "${C}" -Encoding ascii`:`install -d -m 0755 /etc/anet-daemon && printf 'ANET_BIN_ABS=%s\\n' "$(node -e \\"console.log(require('fs').realpathSync(process.argv[1]))\\" $(command -v anet))" | sudo tee /etc/anet-daemon/path.conf >/dev/null`);if(!B)throw nB("anet_bin_source",`no ANET_BIN_ABS resolved from ${C}; env fallback is Docker/dev/manual-ops convenience and requires ANET_DAEMON_ALLOW_ENV_BIN=1`,Q==="win32"?`New-Item -ItemType Directory -Force -Path "${OU.dirname(C)}" | Out-Null; "ANET_BIN_ABS=<absolute path to anet.cjs>" | Set-Content -Path "${C}" -Encoding ascii`:`install -d -m 0755 /etc/anet-daemon && printf 'ANET_BIN_ABS=%s\\n' "$(node -e \\"console.log(require('fs').realpathSync(process.argv[1]))\\" $(command -v anet))" | sudo tee /etc/anet-daemon/path.conf >/dev/null`);if(!ko(B.abs))throw nB("anet_bin_shape",`not absolute: ${B.abs}`,`export ANET_BIN_ABS=$(node -e "console.log(require('fs').realpathSync(process.argv[1]))" ${jU(B.abs)})`);let E=Ij(B.abs);if(!ho(E,B.abs,Q))throw nB("anet_bin_shape",`contains symlink: ${B.abs} -> ${E}`,`export ANET_BIN_ABS=${jU(E)}`);yo(B.abs);let g=Bj(B.abs);if(Q==="win32")mo();else{if(g.uid!==0&&A.ANET_DAEMON_STRICT_ROOT_BIN==="1")throw nB("anet_bin_permission",`owner not root (uid=${g.uid})`,`sudo chown root:root ${jU(B.abs)} || unset ANET_DAEMON_STRICT_ROOT_BIN`);if((g.mode&18)!==0){let D=(g.mode&511).toString(8);throw nB("anet_bin_permission",`writable by group/other (mode=${D})`,`chmod go-w ${jU(B.abs)}`)}if((g.mode&73)===0)throw nB("anet_bin_permission","not executable",`chmod +x ${jU(B.abs)}`)}if(B.sha256){let D=vo("sha256").update(qU(B.abs)).digest("hex");if(D!==B.sha256)throw Error(`anet_bin_unsafe_path: sha256 mismatch (install=${B.sha256.slice(0,8)} vs now=${D.slice(0,8)})`)}return B.abs}function dN(){if(_U)return _U;return _U=Ej(),_U}function co(){_U=null}function lo(A){return A==="win32"?Dj:gj}function z6(A,Q){if(Q==="win32"){let C=A.USERPROFILE||A.HOME||(A.HOMEDRIVE&&A.HOMEPATH?A.HOMEDRIVE+A.HOMEPATH:"");if(!C)throw Error("minimalEnv: cannot resolve Windows child HOME (USERPROFILE, HOME, and HOMEDRIVE+HOMEPATH all missing). Configure at least USERPROFILE for the daemon service account.");return C}let B=A.HOME;if(!B)throw Error("minimalEnv: cannot resolve POSIX child HOME (env.HOME missing). Ensure the daemon service unit sets HOME.");return B}function io(){let A=Z6(process.execPath);if(L6.split(":").includes(A))return L6;return`${A}:${L6}`}function nN(A={},Q=process.platform,B=process.env){let C={},I=lo(Q);for(let[D,U]of Object.entries(A)){if(t7(D))throw Error(`minimalEnv: reserved env key ${D} reached fork (denylist gap — investigate)`);if(I.has(D))throw Error(`minimalEnv: fixed env key ${D} reached fork`);C[D]=U}let E=z6(B,Q),g={...C,PATH:io(),HOME:E,LANG:B.LANG||"C.UTF-8"};if(Q==="win32"){if(g.USERPROFILE=E,/^[A-Za-z]:/.test(E))g.HOMEDRIVE=E.slice(0,2),g.HOMEPATH=E.slice(2);else if(B.HOMEDRIVE&&B.HOMEPATH)g.HOMEDRIVE=B.HOMEDRIVE,g.HOMEPATH=B.HOMEPATH}return g}function Fj(A,Q){switch(A){case"permissionMode":if(typeof Q!=="string"||!ro.has(Q))throw Error(`flag_value_invalid:${A}:must be default/acceptEdits/plan/bypassPermissions`);return;case"dangerouslySkipPermissions":if(typeof Q!=="boolean")throw Error(`flag_value_invalid:${A}:must be boolean`);return;case"maxTurns":if(!Number.isInteger(Q)||Q<1||Q>9999)throw Error(`flag_value_invalid:${A}:must be integer 1..9999`);return;case"budget":if(typeof Q!=="number"||!Number.isFinite(Q)||Q<0||Q>1000)throw Error(`flag_value_invalid:${A}:must be number 0..1000`);return;case"timeout":if(!Number.isInteger(Q)||Q<1||Q>86400)throw Error(`flag_value_invalid:${A}:must be integer 1..86400`);return;default:throw Error(`flag_key_unknown:${A}`)}}function ao(A){return A.replace(/([A-Z])/g,"-$1").toLowerCase()}function Yj(A){if(!A.name||!po.test(A.name))throw Error("node_name_invalid");if(!Uj.has(A.runtime))throw Error("runtime_invalid");if(A.model!==void 0&&A.model!==null&&(A.model.length===0||A.model.length>100||!no.test(A.model)))throw Error("model_invalid");if(Array.isArray(A.channels)&&A.channels.length>0)throw Error("channels_not_supported_in_p1");let Q=["node","create",A.name,"--runtime",A.runtime];if(A.model)Q.push("--model",A.model);for(let[B,C]of Object.entries(A.flags||{})){if(!["permissionMode","dangerouslySkipPermissions","maxTurns","budget","timeout"].includes(B))throw Error(`flag_key_unknown:${B}`);Fj(B,C),Q.push(`--${ao(B)}`,String(C))}return Q}function so(A){return Object.entries(A).map(([Q,B])=>{let C=String(B).replace(/\\/g,"\\\\").replace(/"/g,"\\\"").replace(/\n/g,"\\n").replace(/\r/g,"\\r");return`${Q}="${C}"`}).join(`
|
|
70
|
+
`)}function ZU(A,Q){let B=hR(A);iR(B,lR(B));let C=Fn(B,`.${Un(A)}.${Nn(12).toString("hex")}.tmp`),I;try{I=p1(C,uI.O_WRONLY|uI.O_CREAT|uI.O_EXCL|(uI.O_NOFOLLOW||0),384),gn(I,Q,"utf8"),i1(I,384),Cn(I),TN(I),I=void 0,Dn(C,A)}catch(E){if(I!==void 0)try{TN(I)}catch{}throw En(C,{force:!0}),E}}function lR(A){return Yn(A).split(Jn).includes(".anet")}function iR(A,Q){let B=fR(A);if(B.isSymbolicLink()||!B.isDirectory())throw Error(`private config refuses non-directory or linked parent: ${A}`);let C=p1(A,uI.O_RDONLY|(uI.O_DIRECTORY||0)|(uI.O_NOFOLLOW||0));try{let I=yR(C),E=process.getuid?.();if(!I.isDirectory()||E!==void 0&&I.uid!==E||I.dev!==B.dev||I.ino!==B.ino)throw Error(`private config parent is not owner-controlled: ${A}`);if(Q&&pR())i1(C,448)}finally{TN(C)}}function pR(A=process.platform){return A!=="win32"}function JE(A){if(!LU(A)&&!LU(`${A}.prev`))return;let Q=hR(A);iR(Q,lR(Q));for(let B of[A,`${A}.prev`]){if(!LU(B))continue;let C=fR(B);if(C.isSymbolicLink()||!C.isFile()||C.nlink!==1)throw Error(`private config refuses linked or non-regular file: ${B}`);let I=p1(B,uI.O_RDONLY|(uI.O_NOFOLLOW||0));try{let E=yR(I),g=process.getuid?.();if(!E.isFile()||E.nlink!==1||g!==void 0&&E.uid!==g||E.dev!==C.dev||E.ino!==C.ino)throw Error(`private config is not owner-controlled: ${B}`);if(pR())i1(I,384)}finally{TN(I)}}}function dR(A){if(!LU(A))return{backedUp:!1};return ZU(`${A}.prev`,l1(A,"utf8")),{backedUp:!0}}function nR(A){let Q;try{let C=l1(A,"utf-8");return{config:JSON.parse(C),source:"primary"}}catch(C){Q=String(C?.message||C)}let B=`${A}.prev`;if(!LU(B))throw Error(`config.json parse failed (${Q}) and no .prev backup exists`);try{let C=l1(B,"utf-8"),I=JSON.parse(C);return ZU(A,C),{config:I,source:"prev",primaryError:Q}}catch(C){throw Error(`config.json parse failed (${Q}); .prev parse also failed (${String(C?.message||C)})`)}}function oR(A){if(typeof A!=="string")return null;let Q=A.indexOf(":");if(Q<0)return A||null;if(Q===0||Q===A.length-1)return null;return A.slice(0,Q)}function rR(A,Q){let B=JSON.parse(JSON.stringify(A||{}));if(Q.model!==void 0)B.model=Q.model;if(Q.flags)B.flags={...B.flags||{},...Q.flags};if(Q.channels!==void 0){let C=new Map,I=Array.isArray(B.channels)?B.channels:[];for(let E of I){let g=oR(E);if(g&&!C.has(g))C.set(g,String(E))}B.channels=Q.channels.map((E)=>C.get(E)??E)}return B}function aR(A,Q,B,C){let I={model:typeof A?.model==="string"?A.model:null,flags:{},config_revision:B,config_update_capable:Q,peer_reply_inbox_capable:!0,role:typeof A?.role==="string"?A.role:null,channels:(()=>{let Y=A?.channels;if(!Array.isArray(Y))return[];let N=new Set,J=[];for(let G of Y){let $=oR(G);if(!$||N.has($))continue;N.add($),J.push($)}return J.sort()})()},E={},g=A?.runtimes_supported;if(Array.isArray(g)&&g.every((Y)=>typeof Y==="string"))E.runtimes_supported=g;let D=A?.allowed_secret_keys;if(Array.isArray(D)&&D.every((Y)=>typeof Y==="string"))E.allowed_secret_keys=D;let U=A?.max_concurrent_children;if(typeof U==="number"&&Number.isFinite(U)&&U>0)E.max_concurrent_children=U;if(C){if(E.can_create_nodes=C.ok,!C.ok&&C.reason)E.create_nodes_blocked_reason=C.reason}if(Object.keys(E).length>0)I.daemon_capabilities=E;let F=A?.flags||{};for(let Y of mR)if(Y in F)I.flags[Y]=F[Y];return I}var XU=75,mR,Gn,$n;var d1=j(()=>{mR=new Set(["permissionMode","dangerouslySkipPermissions","maxTurns","budget","timeout"]),Gn=new Set(["permissionMode","dangerouslySkipPermissions","timeout"]),$n=new Set(["telegram","feishu"])});import{execFileSync as zn}from"child_process";import{createHash as Hn}from"crypto";import{closeSync as Rn,constants as F7,existsSync as jn,fstatSync as Y7,lstatSync as kN,openSync as _n,readFileSync as $7,readSync as qn,realpathSync as tg,statSync as A6}from"fs";import{basename as J7,delimiter as On,dirname as cI,isAbsolute as bN,join as eg,relative as M7,resolve as s1,sep as Tn}from"path";function Pn(A,Q=process.getuid?.(),B=process.getgid?.()){if(Q===void 0)return!1;if(A.uid!==Q&&A.uid!==0)return!1;let C=Q>0&&B===Q&&A.uid===Q&&A.gid===Q;return(Number(A.mode)&(C?2:18))===0}function N7(A,Q){let B=M7(A,Q);return B===""||B!==".."&&!B.startsWith(`..${Tn}`)&&!bN(B)}function vn(A){let Q=s1(A);try{return tg(Q)}catch(B){if(B?.code==="ENOENT")return Q;throw Error(`cannot canonicalize forbidden OpenCode root ${Q}: ${B?.message||B}`)}}function t1(A){try{return kN(A),!0}catch(Q){if(Q?.code==="ENOENT")return!1;return!0}}function kn(A){if(!t1(A))return!1;try{let Q=kN(A);if(Q.isSymbolicLink()||!Q.isFile()||(Q.mode&2)!==0||Q.size<=0||Q.size>1048576)return!0;let C=JSON.parse($7(A,"utf8"))?.workspaces;return Array.isArray(C)||Boolean(C&&typeof C==="object"&&Array.isArray(C.packages))}catch{return!0}}function yN(A=process.cwd()){if(!bN(A))throw Error("OpenCode project cwd must be absolute");let Q=s1(A),B;try{B=tg(Q)}catch(E){if(E?.code!=="ENOENT")throw E;let g=cI(Q);while(!t1(g)){let U=cI(g);if(U===g)break;g=U}let D=tg(g);B=s1(D,M7(g,Q))}let C=new Set([B]),I=B;while(!0){if(Sn.some((g)=>t1(eg(I,g))))C.add(I);if(kn(eg(I,"package.json")))C.add(I);let E=cI(I);if(E===I)break;I=E}return[...C]}function e1(A,Q,B){let C=A6(A);if(!(Q==="file"?C.isFile():C.isDirectory())||!Pn(C))throw Error(`resolved opencode ${B} has unsafe ownership or mode`)}function a1(A,Q){return A.dev===Q.dev&&A.ino===Q.ino}function xN(A,Q){let B=kN(A);if(B.isSymbolicLink()||!B.isFile())throw Error(`resolved opencode ${Q} is not a canonical regular file`);let C;try{C=_n(A,F7.O_RDONLY|(F7.O_NOFOLLOW||0));let I=Y7(C);if(!I.isFile()||!a1(B,I))throw Error(`resolved opencode ${Q} changed before attestation`);let E=Hn("sha256"),g=Buffer.allocUnsafe(1048576),D=0;while(!0){let Y=qn(C,g,0,g.length,null);if(Y===0)break;E.update(g.subarray(0,Y)),D+=Y}let U=Y7(C),F=kN(A);if(!a1(I,U)||!a1(U,F)||F.isSymbolicLink()||!F.isFile()||D!==I.size||U.size!==I.size)throw Error(`resolved opencode ${Q} changed during attestation`);return{dev:String(I.dev),ino:String(I.ino),size:I.size,sha256:E.digest("hex")}}finally{if(C!==void 0)Rn(C)}}function G7(A,Q){return A.dev===Q.dev&&A.ino===Q.ino&&A.size===Q.size&&A.sha256===Q.sha256}function xn(A){let Q=A;while(!0){e1(Q,"directory",`package directory ${Q}`);let B=cI(Q);if(B===Q)return;Q=B}}function V7(A,Q,B){let C=cI(A),I=cI(C);if(J7(I)!=="opencode-ai"||J7(cI(I))!=="node_modules")throw Error("resolved opencode binary is not inside a node_modules/opencode-ai wrapper");let E=eg(I,"bin","opencode.exe");if(A!==E)throw Error("resolved executable is not the canonical opencode-ai bin/opencode.exe entrypoint");for(let J of B){if(!J)continue;let G=vn(J);if(N7(G,I)||N7(I,G))throw Error(`resolved opencode-ai package overlaps forbidden root: ${G}`)}e1(A,"file","binary");let g=A6(A);if(process.platform!=="win32"&&(g.mode&73)===0)throw Error("resolved opencode binary has unsafe ownership or mode");let D=eg(I,"package.json"),U;try{U=tg(D)}catch(J){throw Error(`resolved opencode-ai package.json is missing: ${J?.message||J}`)}if(U!==D)throw Error("resolved opencode-ai package.json must not be a symlink");e1(D,"file","package.json"),xn(C);let F;try{F=JSON.parse($7(D,"utf8"))}catch(J){throw Error(`resolved opencode-ai package.json is invalid: ${J?.message||J}`)}let Y=F.bin&&typeof F.bin==="object"?F.bin.opencode:void 0,N=typeof Y==="string"?Y.replace(/^\.\//,""):Y;if(F.name!=="opencode-ai"||F.version!==Q||N!=="bin/opencode.exe")throw Error(`resolved executable is not opencode-ai@${Q} with bin.opencode=bin/opencode.exe`);return A}function bn(A,Q){for(let B of Q.split(On)){if(!B)continue;let C=eg(B,A);if(!jn(C))continue;try{let I=A6(C);if(I.isFile()&&(process.platform==="win32"||(I.mode&73)!==0))return C}catch{}}throw Error("opencode not found on the trusted launch PATH")}function fN(A={}){let Q=A.expectedVersion??lI;if(Q!==lI)throw Error(`unsupported opencode version ${Q}; this agent-node is vetted only for opencode-ai@${lI}`);let B;if(A.requestedBinary){if(!bN(A.requestedBinary))throw Error("ANET_OPENCODE_BIN must be an absolute path");B=A.requestedBinary}else B=bn("opencode",A.searchPath??"");let C=tg(B);V7(C,Q,A.forbiddenRoots??[]);let I=eg(cI(cI(C)),"package.json"),E=xN(C,"binary"),g=xN(I,"package.json"),D;try{D=zn(C,["--version"],{encoding:"utf8",stdio:["ignore","pipe","pipe"],timeout:5000,env:A.probeEnv,cwd:A.probeCwd}).trim()}catch(F){throw Error(`opencode version probe failed: ${F?.message||F}`)}let U=D.match(/(\d+\.\d+\.\d+)/)?.[1]??D;if(U!==Q)throw Error(`expected opencode-ai@${Q}; resolved binary reports ${U||"no version"}`);return{binary:C,packageJson:I,expectedVersion:Q,binaryFile:E,packageJsonFile:g}}function hN(A,Q={}){let B=Q.expectedVersion??lI;if(B!==lI)throw Error(`unsupported opencode version ${B}; this agent-node is vetted only for opencode-ai@${lI}`);if(A.expectedVersion!==B)throw Error("resolved opencode attestation version changed after probe");if(!bN(A.binary))throw Error("resolved opencode binary must remain absolute");let C=tg(A.binary);if(C!==A.binary)throw Error("resolved opencode binary path changed after version probe");V7(C,B,Q.forbiddenRoots??[]);let I=xN(C,"binary"),E=xN(A.packageJson,"package.json");if(!G7(A.binaryFile,I)||!G7(A.packageJsonFile,E))throw Error("resolved opencode package bytes changed after version probe");return C}var lI="1.18.1",Sn;var mN=j(()=>{Sn=[".git","pnpm-workspace.yaml","lerna.json","nx.json","rush.json","turbo.json"]});import{posix as fn,win32 as hn}from"path";function E6(A){let Q=A.platform??process.platform,B=Q==="win32"?hn.isAbsolute:fn.isAbsolute;if(!A.cwd||A.cwd.includes("\x00")||!B(A.cwd))throw Error("Grok child environment requires an absolute cwd");let C={},I=Q==="win32"?[...I6,...C6]:I6;for(let E of I){let g=A.parentEnv[E];if(g!==void 0&&g!=="")C[E]=g}if(C.HOME=A.home,Q==="win32"){C.USERPROFILE=A.home;let E=A.home.length>=2&&A.home[1]===":"?A.home.slice(0,2):"";if(E)C.HOMEDRIVE=E,C.HOMEPATH=A.home.slice(2)||"\\"}C.PWD=A.cwd,C.GROK_HOME=A.home,C.GROK_AUTH_PATH=A.authPath;for(let E of["CLAUDE","CURSOR"])for(let g of["SKILLS","RULES","AGENTS","MCPS","HOOKS","SESSIONS"])C[`GROK_${E}_${g}_ENABLED`]="false";if(C.GROK_CODEX_SESSIONS_ENABLED="false",C.GROK_FOLDER_TRUST="1",C.GROK_DISABLE_AUTOUPDATER="1",C.GROK_CHANGELOG_OFFLINE="1",C.GROK_LEADER_LOG="off",C.GROK_SUBAGENTS="0",C.GROK_WEB_FETCH="0",C.GROK_MEMORY="0",A.oidcIssuer)C.GROK_OIDC_ISSUER=A.oidcIssuer;if(A.oidcClientId)C.GROK_OIDC_CLIENT_ID=A.oidcClientId;if(A.expectedParentPid!==void 0){if(!Number.isSafeInteger(A.expectedParentPid)||A.expectedParentPid<=0)throw Error("Grok child expected parent PID must be a positive safe integer");C.ANET_EXPECTED_PARENT_PID=String(A.expectedParentPid)}if(A.defaultSelectedPermission)C.GROK_DEFAULT_SELECTED_PERMISSION=A.defaultSelectedPermission;return C}function cN(A,Q=process.platform){let B={};if(Q==="win32")for(let C of C6){let I=A[C];if(I!==void 0&&I!=="")B[C]=I}for(let C of un){let I=A[C];if(I!==void 0&&I!=="")B[C]=I}if(!B.PATH)B.PATH="/usr/local/bin:/usr/bin:/bin";return B}function KC(A,Q){let B={};for(let[C,I]of Object.entries(A)){if(!cn.has(C)||I===void 0)continue;B[C]=I}if(!B.PATH)B.PATH="/usr/local/bin:/usr/bin:/bin";if(Q){let C=KC(Q),I=[...new Set([...Object.keys(C),...Object.keys(B)])].sort();for(let E of I)if(B[E]!==C[E])throw Error(`Grok child environment changed at final spawn boundary: ${E}`)}return B}function R7(A,Q,B,C="xterm-256color",I,E){if(!B||B.includes("\x00")||!C||C.includes("\x00")||!/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/.test(I)||!/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(E))throw Error("Grok PTY environment requires a valid cwd, terminal name, sandbox profile, and Leader owner");let g=KC(A,Q);if(g.PWD!==B)throw Error("Grok PTY cwd differs from the reviewed child environment");return g.TERM=C,g.GROK_SANDBOX=I,g.ANET_GROK_LEADER_OWNER=E,g}var I6,C6,mn,un,cn;var zU=j(()=>{I6=["PATH","TMPDIR","TMP","TEMP","LANG","LC_ALL","LC_CTYPE","TZ","SHELL","USER","LOGNAME","TERM","COLORTERM","NO_COLOR"],C6=["SystemRoot","SystemDrive","windir","ComSpec","PATHEXT","APPDATA","LOCALAPPDATA","ProgramData","ProgramFiles","NUMBER_OF_PROCESSORS","PROCESSOR_ARCHITECTURE"],mn=["HOME","USERPROFILE","HOMEDRIVE","HOMEPATH","PWD","GROK_HOME","GROK_AUTH_PATH","GROK_OIDC_ISSUER","GROK_OIDC_CLIENT_ID","GROK_CLAUDE_SKILLS_ENABLED","GROK_CURSOR_SKILLS_ENABLED","GROK_CLAUDE_RULES_ENABLED","GROK_CURSOR_RULES_ENABLED","GROK_CLAUDE_AGENTS_ENABLED","GROK_CURSOR_AGENTS_ENABLED","GROK_CLAUDE_MCPS_ENABLED","GROK_CURSOR_MCPS_ENABLED","GROK_CLAUDE_HOOKS_ENABLED","GROK_CURSOR_HOOKS_ENABLED","GROK_CLAUDE_SESSIONS_ENABLED","GROK_CURSOR_SESSIONS_ENABLED","GROK_CODEX_SESSIONS_ENABLED","GROK_FOLDER_TRUST","GROK_DEFAULT_SELECTED_PERMISSION","GROK_DISABLE_AUTOUPDATER","GROK_CHANGELOG_OFFLINE","GROK_LEADER_LOG","GROK_SUBAGENTS","GROK_WEB_FETCH","GROK_MEMORY","ANET_EXPECTED_PARENT_PID"],un=["PATH","TMPDIR","TMP","TEMP","LANG","LC_ALL","LC_CTYPE","TZ"],cn=new Set([...I6,...C6,...mn])});function t7(A){if($o.has(A))return!0;for(let Q of Mo)if(A.startsWith(Q))return!0;return!1}var $o,Mo;var e7=j(()=>{$o=new Set(["PATH","HOME","LANG","LC_ALL","SHELL","USER","LOGNAME","NODE_OPTIONS","IFS","PS1","PS4","ENV","BASH_ENV","CDPATH","PROMPT_COMMAND","TMPDIR"]),Mo=["LD_","DYLD_","BUN_","NPM_","NPM_CONFIG_","NODE_"]});var B0={};zA(B0,{recordSpawnedChild:()=>pN,rebuildChildrenMapOnBoot:()=>To,handleStopDoorbell:()=>Ro,getChildrenSnapshot:()=>W6,forgetSpawnedChild:()=>Ko,_resetChildrenMapForTest:()=>zo,_internals:()=>So});import{chmodSync as Vo,mkdirSync as Wo,readFileSync as V6,renameSync as wo}from"node:fs";import{execFile as Lo}from"node:child_process";import{join as iN}from"node:path";import{promisify as Xo}from"node:util";function pN(A,Q,B){Q0.set(A,{pid:B,started_at:Date.now(),child_node_id:A,alias:Q})}function Ko(A){return Q0.delete(A)}function zo(){Q0.clear()}function W6(){return Array.from(Q0.values())}async function Ho(A){return new Promise((Q)=>setTimeout(Q,A))}function M6(A,Q){try{return Q(A,0),!0}catch(B){if(B?.code==="ESRCH")return!1;throw B}}async function Aj(A,Q,B,C,I=Date.now){let E=I()+Q;while(I()<E){if(!M6(A,B))return!0;await C(200)}return!M6(A,B)}function Qj(A,Q,B,C,I,E,g){try{I(B,448);try{E(B,448)}catch{}let D=iN(B,`${Date.now()}-${A}`);return g(iN(Q,A),D),E(D,448),C.log(`[stop-daemon] backed up child workdir → ${D} (chmod 700)`),D}catch(D){return C.warn(`[stop-daemon] backup mv failed for ${A}: ${D?.message||D}`),null}}async function Ro(A,Q){let{request_id:B}=A,C=Q.signalProcess??((q,x)=>{process.kill(q,x)}),I=Q.sleep??Ho,E=Q.now??Date.now,g=Q.renameDir??((q,x)=>wo(q,x)),D=Q.ensureDir??((q,x)=>{Wo(q,{recursive:!0,mode:x})}),U=Q.chmod??((q,x)=>Vo(q,x)),F=Q.workdirRoot??iN(Q.workDir??process.cwd(),".anet","nodes"),Y=Q.deletedRoot??iN(Q.workDir??process.cwd(),".anet","deleted"),N;try{N=await Q.callCommHub("get_stop_request",{request_id:B})}catch(q){Q.warn(`[stop-daemon] get_stop_request failed: ${q?.message||q}`);return}if(!N?.ok||!N.child_node_id||!N.action){Q.warn(`[stop-daemon] get_stop_request returned error: ${N?.error||"unknown"}`);return}let{child_node_id:J,child_alias:G,action:$,delete_config:V=!0,grace_seconds:M=10}=N,W=Q0.get(J);if(!W){if(Q.log(`[stop-daemon] ${$} without map entry (expected after stop / crash): ${J}`),G)await $6(G,C,Q,`${$} without map entry`);let q=$==="delete"&&V&&G?Qj(G,F,Y,Q,D,U,g):null;await Q.callCommHub("ack_stop_request",{request_id:B,status:"stopped",...q?{backup_path:q}:{}}).catch((x)=>{Q.warn(`[stop-daemon] ack failed: ${x?.message||x}`)});return}let L=(q)=>{let u=(Q.readPgid??Oo)(q);return u&&u>0?u:q},Z=(q,x)=>{let u=L(q);try{C(-u,x)}catch(h){if(h?.code==="ESRCH")return;if(h?.code==="EPERM"||h?.code==="EINVAL"){try{C(q,x)}catch(n){if(n?.code!=="ESRCH")throw n}return}throw h}},X="UNKNOWN";try{if(M6(W.pid,C)){if(Z(W.pid,"SIGTERM"),X="SIGTERM",Q.log(`[stop-daemon] sent SIGTERM to pgid=${L(W.pid)} (from recorded pid=${W.pid}) alias=${W.alias} grace=${M}s (covers wrapper + agent-node grandchild)`),!await Aj(W.pid,M*1000,C,I,E))Z(W.pid,"SIGKILL"),X="SIGKILL",Q.warn(`[stop-daemon] grace exceeded, sent SIGKILL to pgid=${W.pid} alias=${W.alias}`),await Aj(W.pid,5000,C,I,E)}else X="ALREADY_DEAD",Q.log(`[stop-daemon] pid=${W.pid} alias=${W.alias} already dead before SIGTERM`),await $6(W.alias,C,Q,"wrapper was already dead")}catch(q){if(q?.code==="ESRCH")X="ALREADY_DEAD";else{Q.warn(`[stop-daemon] signal flow threw: ${q?.message||q}`),await Q.callCommHub("ack_stop_request",{request_id:B,status:"stop_failed",exit_signal:X,error:`signal failed: ${(q?.message||q).toString().slice(0,500)}`}).catch(()=>{});return}}let O=$==="delete"&&V&&G?Qj(G,F,Y,Q,D,U,g):null;Q.log(`[stop-daemon] entering residual sweep alias=${W.alias}`),await $6(W.alias,C,Q,"post-pgid-signal residual sweep"),Q.log(`[stop-daemon] residual sweep returned alias=${W.alias}`),Q0.delete(J),Q.log(`[stop-daemon] dropped from children map child_node_id=${J}, sending ack action=${$}`),await Q.callCommHub("ack_stop_request",{request_id:B,status:"stopped",exit_signal:X,...O?{backup_path:O}:{}}).then(()=>{Q.log(`[stop-daemon] ack accepted request_id=${B} action=${$}`)}).catch((q)=>{Q.warn(`[stop-daemon] ack failed: ${q?.message||q}`)})}async function $6(A,Q,B,C){try{let{execSync:I}=await import("node:child_process"),E=await import("node:fs"),g;try{g=I("pgrep -af 'agent-node' || true",{encoding:"utf8",timeout:1e4,maxBuffer:33554432})}catch{return}let D=g.split(/\r?\n/).map((U)=>parseInt(U.trim().split(/\s+/)[0]||"0",10)).filter((U)=>Number.isFinite(U)&&U>0&&U!==process.pid);for(let U of D){let F=null;try{F=E.readFileSync(`/proc/${U}/cmdline`,"utf8")}catch{continue}if(!w6(F,A))continue;B.warn(`[stop-daemon] sweeping orphan pid=${U} alias=${A} (${C})`);try{Q(U,"SIGTERM")}catch{}}}catch(I){B.warn(`[stop-daemon] orphan sweep skipped (${C}): ${I?.message||I}`)}}async function jo(A){let B=`agent-node.*--alias ${A.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}($|[[:space:]])`;try{let{stdout:C}=await Zo("pgrep",["-f",B],{timeout:5000});return C.split(/\s+/).filter(Boolean).map((I)=>parseInt(I,10)).filter((I)=>Number.isFinite(I))}catch(C){if(C?.code===1)return[];throw C}}function _o(A){try{return V6(`/proc/${A}/cmdline`,"utf-8")}catch{return null}}function qo(A){try{let Q=V6(`/proc/${A}/stat`,"utf-8"),B=Q.lastIndexOf(")");if(B<0)return null;return Q.slice(B+1).trim().split(/\s+/)[0]||null}catch{return null}}function Oo(A){try{let Q=V6(`/proc/${A}/stat`,"utf-8"),B=Q.lastIndexOf(")");if(B<0)return null;let C=Q.slice(B+1).trim().split(/\s+/),I=parseInt(C[2]||"",10);return Number.isFinite(I)&&I>0?I:null}catch{return null}}function w6(A,Q){if(!A)return!1;let B=A.split("\x00").filter(Boolean);if(B.findIndex((I,E)=>I==="--alias"&&B[E+1]===Q)<0)return!1;return B.some((I)=>I==="agent-node"||I.endsWith("/agent-node")||I.endsWith("/cli.js"))}async function To(A){let Q={total_children_from_hub:0,recovered:0,missing:[],ambiguous:[],zombies:[]},B=A.pgrepAlias??jo,C=A.readProcCmdline??_o,I=A.readProcStatState??qo,E;try{let D=await A.callCommHub("list_my_children",{});if(!D?.ok||!Array.isArray(D.children))return A.warn(`[rebuild] list_my_children failed: ${D?.error||"unknown"}`),Q;E=D.children}catch(D){return A.warn(`[rebuild] list_my_children threw: ${D?.message||D}`),Q}Q.total_children_from_hub=E.length;let g=process.pid;for(let D of E){if(!D.alias||!D.child_node_id)continue;let U;try{U=await B(D.alias)}catch(Y){A.warn(`[rebuild] pgrep failed for alias=${D.alias}: ${Y?.message||Y}`);continue}let F=[];for(let Y of U){if(Y===g)continue;if(I(Y)==="Z"){Q.zombies.push(D.alias);continue}let J=C(Y);if(!w6(J,D.alias))continue;F.push(Y)}if(F.length===0){Q.missing.push(D.alias),A.warn(`[rebuild] hub-active alias=${D.alias} has no matching pid (crashed without cleanup?)`);continue}if(F.length>1){Q.ambiguous.push(D.alias),A.warn(`[rebuild] alias=${D.alias} matched ${F.length} pids ${F.join(",")} after cmdline filter — skipping`);continue}pN(D.child_node_id,D.alias,F[0]),Q.recovered++,A.log(`[rebuild] recovered alias=${D.alias} → pid=${F[0]}`)}return A.log(`[rebuild] done: total=${Q.total_children_from_hub} recovered=${Q.recovered} missing=${Q.missing.length} ambiguous=${Q.ambiguous.length} zombies=${Q.zombies.length}`),Q}var Zo,Q0,So;var GE=j(()=>{Zo=Xo(Lo),Q0=new Map;So={cmdlineMatchesAlias:w6}});var oN={};zA(oN,{validateFlagValueDaemon:()=>Fj,serializeEnvLocalDaemon:()=>so,resolveChildHome:()=>z6,reconcilePendingCreateRequestsOnConnect:()=>to,minimalEnv:()=>nN,loadAndVerifyAnetBin:()=>Ej,handleCreateNodeDoorbell:()=>eo,getAnetBinAbs:()=>dN,ensureGlobalAnetConfig:()=>Jj,defaultPathConf:()=>Cj,buildAnetArgsDaemon:()=>Yj,_resetWindowsPosixModeWarnLatchForTest:()=>uo,_resetAnetBinAbsForTest:()=>co,_internals:()=>oo});import{spawn as Po}from"node:child_process";import{statSync as Bj,realpathSync as Ij,readFileSync as qU,mkdirSync as X6}from"node:fs";import{createHash as vo}from"node:crypto";import{dirname as Z6,isAbsolute as ko,join as $E,resolve as xo,win32 as OU}from"node:path";function jU(A){return`'${A.replace(/'/g,"'\\''")}'`}function nB(A,Q,B){let C=Error(`anet_bin_unsafe_path: ${Q}. Fix: ${B}`);return C.anetBinCode=A,C}function bo(A){let Q=Z6(A);for(;;){try{let C=$E(Q,"package.json");return Bj(C),Q}catch{}let B=Z6(Q);if(B===Q)return null;Q=B}}function yo(A){let Q=bo(A);if(!Q)throw nB("anet_bin_identity",`not an anet package bin: no package.json above ${A}`,"re-run via the installed anet command: anet daemon up");let B;try{B=JSON.parse(qU($E(Q,"package.json"),"utf-8"))}catch(E){throw nB("anet_bin_identity",`not an anet package bin: cannot read package.json (${E?.message||E})`,"reinstall anet: npm i -g @sleep2agi/agent-network@latest")}if(B?.name!=="@sleep2agi/agent-network")throw nB("anet_bin_identity",`not an anet package bin: package name is ${JSON.stringify(B?.name)}`,"unset ANET_BIN_ABS and re-run: anet daemon up");let C=typeof B.bin==="string"?B.bin:B.bin?.anet;if(C)try{if(Ij(xo(Q,C))===A)return}catch{}let I=qU(A,"utf-8");if(A.endsWith("/anet.cjs")&&I.includes("anet 的 bin 入口垫片")&&I.includes("PARSE_FLOOR"))return;throw nB("anet_bin_identity",`not an anet package bin: package.json bin.anet does not point at ${A}`,"unset ANET_BIN_ABS and re-run: anet daemon up")}function fo(A){try{let Q=qU(A,"utf-8"),B={};for(let C of Q.split(/\r?\n/)){let I=C.match(/^\s*([A-Z_][A-Z0-9_]*)\s*=\s*(.+)\s*$/);if(I)B[I[1]]=I[2]}if(!B.ANET_BIN_ABS)return null;return{abs:B.ANET_BIN_ABS,sha256:B.ANET_BIN_SHA256}}catch{return null}}function ho(A,Q,B){if(B==="win32")return OU.normalize(A).toLowerCase()===OU.normalize(Q).toLowerCase();return A===Q}function mo(A=console.warn.bind(console)){if(K6)return;K6=!0,A("[anet-daemon] #1290 — Windows POSIX-mode supply-chain checks "+"(group/other writability, executability) SKIPPED. Node's synthetic st.mode does not reflect Windows filesystem ACLs; enforce with icacls that ANET_BIN_ABS is owned + writable only by trusted principals.")}function uo(){K6=!1}function Cj(A,Q){if(Q==="win32"){let B=A.PROGRAMDATA||"C:\\ProgramData";return OU.join(B,"anet-daemon","path.conf")}return"/etc/anet-daemon/path.conf"}function Ej(A=process.env,Q=process.platform){let B=null,C=Cj(A,Q),I=A.ANET_DAEMON_PATH_CONF||C;if(B=fo(I),!B&&A.ANET_BIN_ABS&&A.ANET_DAEMON_ALLOW_ENV_BIN==="1")B={abs:A.ANET_BIN_ABS,sha256:A.ANET_BIN_SHA256};if(!B&&A.ANET_BIN_ABS)throw nB("anet_bin_source",`ANET_BIN_ABS env fallback disabled (set ANET_DAEMON_ALLOW_ENV_BIN=1 only for Docker/dev/manual ops; production trust root is ${C})`,Q==="win32"?`New-Item -ItemType Directory -Force -Path "${OU.dirname(C)}" | Out-Null; "ANET_BIN_ABS=<absolute path to anet.cjs>" | Set-Content -Path "${C}" -Encoding ascii`:`ANET_BIN_REAL="$(node -e 'console.log(require("fs").realpathSync(process.argv[1]))' "$(command -v anet)")" && sudo install -d -m 0755 /etc/anet-daemon && printf 'ANET_BIN_ABS=%s\\n' "$ANET_BIN_REAL" | sudo tee /etc/anet-daemon/path.conf >/dev/null`);if(!B)throw nB("anet_bin_source",`no ANET_BIN_ABS resolved from ${C}; env fallback is Docker/dev/manual-ops convenience and requires ANET_DAEMON_ALLOW_ENV_BIN=1`,Q==="win32"?`New-Item -ItemType Directory -Force -Path "${OU.dirname(C)}" | Out-Null; "ANET_BIN_ABS=<absolute path to anet.cjs>" | Set-Content -Path "${C}" -Encoding ascii`:`ANET_BIN_REAL="$(node -e 'console.log(require("fs").realpathSync(process.argv[1]))' "$(command -v anet)")" && sudo install -d -m 0755 /etc/anet-daemon && printf 'ANET_BIN_ABS=%s\\n' "$ANET_BIN_REAL" | sudo tee /etc/anet-daemon/path.conf >/dev/null`);if(!ko(B.abs))throw nB("anet_bin_shape",`not absolute: ${B.abs}`,`export ANET_BIN_ABS=$(node -e "console.log(require('fs').realpathSync(process.argv[1]))" ${jU(B.abs)})`);let E=Ij(B.abs);if(!ho(E,B.abs,Q))throw nB("anet_bin_shape",`contains symlink: ${B.abs} -> ${E}`,`export ANET_BIN_ABS=${jU(E)}`);yo(B.abs);let g=Bj(B.abs);if(Q==="win32")mo();else{if(g.uid!==0&&A.ANET_DAEMON_STRICT_ROOT_BIN==="1")throw nB("anet_bin_permission",`owner not root (uid=${g.uid})`,`sudo chown root:root ${jU(B.abs)} || unset ANET_DAEMON_STRICT_ROOT_BIN`);if((g.mode&18)!==0){let D=(g.mode&511).toString(8);throw nB("anet_bin_permission",`writable by group/other (mode=${D})`,`chmod go-w ${jU(B.abs)}`)}if((g.mode&73)===0)throw nB("anet_bin_permission","not executable",`chmod +x ${jU(B.abs)}`)}if(B.sha256){let D=vo("sha256").update(qU(B.abs)).digest("hex");if(D!==B.sha256)throw Error(`anet_bin_unsafe_path: sha256 mismatch (install=${B.sha256.slice(0,8)} vs now=${D.slice(0,8)})`)}return B.abs}function dN(){if(_U)return _U;return _U=Ej(),_U}function co(){_U=null}function lo(A){return A==="win32"?Dj:gj}function z6(A,Q){if(Q==="win32"){let C=A.USERPROFILE||A.HOME||(A.HOMEDRIVE&&A.HOMEPATH?A.HOMEDRIVE+A.HOMEPATH:"");if(!C)throw Error("minimalEnv: cannot resolve Windows child HOME (USERPROFILE, HOME, and HOMEDRIVE+HOMEPATH all missing). Configure at least USERPROFILE for the daemon service account.");return C}let B=A.HOME;if(!B)throw Error("minimalEnv: cannot resolve POSIX child HOME (env.HOME missing). Ensure the daemon service unit sets HOME.");return B}function io(){let A=Z6(process.execPath);if(L6.split(":").includes(A))return L6;return`${A}:${L6}`}function nN(A={},Q=process.platform,B=process.env){let C={},I=lo(Q);for(let[D,U]of Object.entries(A)){if(t7(D))throw Error(`minimalEnv: reserved env key ${D} reached fork (denylist gap — investigate)`);if(I.has(D))throw Error(`minimalEnv: fixed env key ${D} reached fork`);C[D]=U}let E=z6(B,Q),g={...C,PATH:io(),HOME:E,LANG:B.LANG||"C.UTF-8"};if(Q==="win32"){if(g.USERPROFILE=E,/^[A-Za-z]:/.test(E))g.HOMEDRIVE=E.slice(0,2),g.HOMEPATH=E.slice(2);else if(B.HOMEDRIVE&&B.HOMEPATH)g.HOMEDRIVE=B.HOMEDRIVE,g.HOMEPATH=B.HOMEPATH}return g}function Fj(A,Q){switch(A){case"permissionMode":if(typeof Q!=="string"||!ro.has(Q))throw Error(`flag_value_invalid:${A}:must be default/acceptEdits/plan/bypassPermissions`);return;case"dangerouslySkipPermissions":if(typeof Q!=="boolean")throw Error(`flag_value_invalid:${A}:must be boolean`);return;case"maxTurns":if(!Number.isInteger(Q)||Q<1||Q>9999)throw Error(`flag_value_invalid:${A}:must be integer 1..9999`);return;case"budget":if(typeof Q!=="number"||!Number.isFinite(Q)||Q<0||Q>1000)throw Error(`flag_value_invalid:${A}:must be number 0..1000`);return;case"timeout":if(!Number.isInteger(Q)||Q<1||Q>86400)throw Error(`flag_value_invalid:${A}:must be integer 1..86400`);return;default:throw Error(`flag_key_unknown:${A}`)}}function ao(A){return A.replace(/([A-Z])/g,"-$1").toLowerCase()}function Yj(A){if(!A.name||!po.test(A.name))throw Error("node_name_invalid");if(!Uj.has(A.runtime))throw Error("runtime_invalid");if(A.model!==void 0&&A.model!==null&&(A.model.length===0||A.model.length>100||!no.test(A.model)))throw Error("model_invalid");if(Array.isArray(A.channels)&&A.channels.length>0)throw Error("channels_not_supported_in_p1");let Q=["node","create",A.name,"--runtime",A.runtime];if(A.model)Q.push("--model",A.model);for(let[B,C]of Object.entries(A.flags||{})){if(!["permissionMode","dangerouslySkipPermissions","maxTurns","budget","timeout"].includes(B))throw Error(`flag_key_unknown:${B}`);Fj(B,C),Q.push(`--${ao(B)}`,String(C))}return Q}function so(A){return Object.entries(A).map(([Q,B])=>{let C=String(B).replace(/\\/g,"\\\\").replace(/"/g,"\\\"").replace(/\n/g,"\\n").replace(/\r/g,"\\r");return`${Q}="${C}"`}).join(`
|
|
71
71
|
`)+`
|
|
72
72
|
`}async function to(A){let Q=await A.callCommHub("list_my_pending_create_requests",{});if(!Q?.ok){A.warn(`[create-node] pending reconcile failed: ${Q?.error||"unknown"}`);return}let B=Array.isArray(Q.requests)?Q.requests:[],C=0;for(let I of B){let E=typeof I?.request_id==="string"?I.request_id:"";if(!E)continue;if(A.recentlyHandledRequestIds?.has(E))continue;A.recentlyHandledRequestIds?.add(E);try{await A.handleCreateNodeDoorbell({request_id:E}),C+=1}catch(g){A.recentlyHandledRequestIds?.delete(E),A.warn(`[create-node] pending reconcile handler failed for ${E}: ${g?.message||g}`)}}if(C>0)A.log(`[create-node] pending reconcile handled ${C} request(s)`)}function Jj(A,Q){let B=$E(A,".anet"),C=$E(B,"config.json");try{X6(B,{recursive:!0,mode:448})}catch{}JE(C);let I={};try{I=JSON.parse(qU(C,"utf-8"))}catch{}if(I.hub!==Q)I.hub=Q,MI(C,I)}async function eo(A,Q){let{request_id:B}=A,C=await Q.callCommHub("get_create_request",{request_id:B});if(!C?.ok||!C.node_spec||!C.child_token){Q.warn(`[create-node] get_create_request failed: ${C?.error||"unknown"}`),await Q.callCommHub("ack_create_request",{request_id:B,status:"failed",error:C?.error||"get_failed"}).catch(()=>{});return}if(Q.allowedRuntimes&&Q.allowedRuntimes.length>0&&!Q.allowedRuntimes.includes(C.node_spec.runtime)){Q.warn(`[create-node] runtime '${C.node_spec.runtime}' not in daemon's allowed_runtimes: [${Q.allowedRuntimes.join(",")}]`),await Q.callCommHub("ack_create_request",{request_id:B,status:"rejected",error:`runtime_not_in_local_allowlist: ${C.node_spec.runtime}`}).catch(()=>{});return}let I;try{I=Yj(C.node_spec)}catch(J){Q.warn(`[create-node] spec rejected by daemon-side validate: ${J?.message||J}`),await Q.callCommHub("ack_create_request",{request_id:B,status:"rejected",error:`validate: ${J?.message||J}`}).catch(()=>{});return}let E;try{E=dN()}catch(J){Q.warn(`[create-node] anet_bin_unsafe_path: ${J?.message||J}`),await Q.callCommHub("ack_create_request",{request_id:B,status:"failed",error:`bin: ${J?.message||J}`}).catch(()=>{});return}try{X6(Q.workDir,{recursive:!0,mode:448})}catch{}try{Jj(z6(process.env,process.platform),Q.hubUrl)}catch(J){Q.warn(`[create-node] global config write failed (continuing): ${J?.message||J}`)}let g=$E(Q.workDir,".anet","nodes",C.node_spec.name);try{X6(g,{recursive:!0,mode:448})}catch{}let D=$E(g,"config.json"),U=C.node_spec.flags||{};try{let J={node_id:`node_${B.replace(/^cr_/,"")}`,node_name:C.node_spec.name,alias:C.node_spec.name,runtime:C.node_spec.runtime,...C.node_spec.model?{model:C.node_spec.model}:{},hub:Q.hubUrl,token:C.child_token,...Object.keys(U).length?{flags:U}:{}};MI(D,J),Q.log(`[create-node] wrote child config: ${D}`)}catch(J){Q.warn(`[create-node] write child config failed: ${J?.message||J}`),await Q.callCommHub("ack_create_request",{request_id:B,status:"failed",error:`write_config: ${J?.message||J}`}).catch(()=>{});return}if(C.env_blob&&Object.keys(C.env_blob).length>0){let J=$E(Q.workDir,".anet","nodes",C.node_spec.name,".env.local");try{ZU(J,Q.serializeEnvLocal(C.env_blob))}catch(G){Q.warn(`[create-node] env.local write failed: ${G?.message||G}`)}}let F=-1;try{let J=Po(E,["node","start",C.node_spec.name],{cwd:Q.workDir,env:nN(),stdio:["ignore","ignore","ignore"],detached:!0});F=J.pid||-1;try{J.stdin?.destroy()}catch{}try{J.stdout?.destroy()}catch{}try{J.stderr?.destroy()}catch{}if(J.unref(),Q.log(`[create-node] spawned child '${C.node_spec.name}' pid=${F}`),F>0)try{process.kill(F,0),Q.log(`[create-node] post-spawn kill-0 verify OK: pid=${F} alive`)}catch(G){let $=`child died immediately after spawn: ${G?.message||G}`;Q.warn(`[create-node] ${$}`),await Q.callCommHub("ack_create_request",{request_id:B,status:"failed",error:$}).catch(()=>{});return}}catch(J){let G=(J?.message||String(J)).slice(0,800);Q.warn(`[create-node] fork (start) failed: ${G}`),await Q.callCommHub("ack_create_request",{request_id:B,status:"failed",error:`fork_start: ${G}`}).catch(()=>{});return}if(F>0&&typeof C.node_spec.name==="string")try{let J=`node_${B.replace(/^cr_/,"")}`,{recordSpawnedChild:G}=await Promise.resolve().then(() => (GE(),B0));G(J,C.node_spec.name,F)}catch(J){Q.warn(`[create-node] childrenMap record failed (stop-daemon won't see this child): ${J?.message||J}`)}let Y=5000;await new Promise((J)=>setTimeout(J,Y));let N=!1;if(F>0)try{process.kill(F,0),N=!0,Q.log(`[create-node] +${Y}ms capability check OK: pid=${F} still alive`)}catch(J){let G=`child died within ${Y}ms post-spawn (likely missing runtime binary or auth for runtime='${C.node_spec.runtime}'): ${J?.message||J}`;Q.warn(`[create-node] runtime_capability_check_failed: ${G}`);try{let{forgetSpawnedChild:$}=await Promise.resolve().then(() => (GE(),B0)),V=$(`node_${B.replace(/^cr_/,"")}`);Q.log(`[create-node] childrenMap rollback after capability failure: removed=${V}`)}catch($){Q.warn(`[create-node] childrenMap rollback failed: ${$?.message||$}`)}await Q.callCommHub("ack_create_request",{request_id:B,status:"runtime_capability_check_failed",error:G.slice(0,800),runtime:C.node_spec.runtime}).catch(()=>{});return}await Q.callCommHub("ack_create_request",{request_id:B,status:"started",child_pid:F}).catch((J)=>Q.warn(`[create-node] ack failed: ${J?.message||J}`))}var K6=!1,_U=null,L6="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",gj,Dj,fLA,po,no,Uj,oo,ro;var TU=j(()=>{e7();d1();gj=new Set(["PATH","HOME","LANG"]),Dj=new Set(["PATH","HOME","LANG","USERPROFILE","HOMEDRIVE","HOMEPATH"]);fLA=new Set([...gj,...Dj]);po=/^[a-z][a-z0-9_-]{0,63}$/,no=/^[a-zA-Z0-9._:\-]+$/,Uj=new Set(["claude-agent-sdk","claude-code-cli","codex-sdk","codex-app-server","grok-build-acp","grok-build-cli","opencode-cli"]),oo={VALID_RUNTIMES:Uj},ro=new Set(["default","acceptEdits","plan","bypassPermissions"])});var tA=k((hLA,Nj)=>{Nj.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent")}});var HA=k((mLA,E_)=>{var Gj=Symbol.for("undici.error.UND_ERR");class BQ extends Error{constructor(A){super(A);this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](A){return A&&A[Gj]===!0}[Gj]=!0}var $j=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");class yj extends BQ{constructor(A){super(A);this.name="ConnectTimeoutError",this.message=A||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](A){return A&&A[$j]===!0}[$j]=!0}var Mj=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");class fj extends BQ{constructor(A){super(A);this.name="HeadersTimeoutError",this.message=A||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](A){return A&&A[Mj]===!0}[Mj]=!0}var Vj=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");class hj extends BQ{constructor(A){super(A);this.name="HeadersOverflowError",this.message=A||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](A){return A&&A[Vj]===!0}[Vj]=!0}var Wj=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");class mj extends BQ{constructor(A){super(A);this.name="BodyTimeoutError",this.message=A||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT"}static[Symbol.hasInstance](A){return A&&A[Wj]===!0}[Wj]=!0}var wj=Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");class uj extends BQ{constructor(A,Q,B,C){super(A);this.name="ResponseStatusCodeError",this.message=A||"Response Status Code Error",this.code="UND_ERR_RESPONSE_STATUS_CODE",this.body=C,this.status=Q,this.statusCode=Q,this.headers=B}static[Symbol.hasInstance](A){return A&&A[wj]===!0}[wj]=!0}var Lj=Symbol.for("undici.error.UND_ERR_INVALID_ARG");class cj extends BQ{constructor(A){super(A);this.name="InvalidArgumentError",this.message=A||"Invalid Argument Error",this.code="UND_ERR_INVALID_ARG"}static[Symbol.hasInstance](A){return A&&A[Lj]===!0}[Lj]=!0}var Xj=Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");class lj extends BQ{constructor(A){super(A);this.name="InvalidReturnValueError",this.message=A||"Invalid Return Value Error",this.code="UND_ERR_INVALID_RETURN_VALUE"}static[Symbol.hasInstance](A){return A&&A[Xj]===!0}[Xj]=!0}var Zj=Symbol.for("undici.error.UND_ERR_ABORT");class H6 extends BQ{constructor(A){super(A);this.name="AbortError",this.message=A||"The operation was aborted",this.code="UND_ERR_ABORT"}static[Symbol.hasInstance](A){return A&&A[Zj]===!0}[Zj]=!0}var Kj=Symbol.for("undici.error.UND_ERR_ABORTED");class ij extends H6{constructor(A){super(A);this.name="AbortError",this.message=A||"Request aborted",this.code="UND_ERR_ABORTED"}static[Symbol.hasInstance](A){return A&&A[Kj]===!0}[Kj]=!0}var zj=Symbol.for("undici.error.UND_ERR_INFO");class pj extends BQ{constructor(A){super(A);this.name="InformationalError",this.message=A||"Request information",this.code="UND_ERR_INFO"}static[Symbol.hasInstance](A){return A&&A[zj]===!0}[zj]=!0}var Hj=Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");class dj extends BQ{constructor(A){super(A);this.name="RequestContentLengthMismatchError",this.message=A||"Request body length does not match content-length header",this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](A){return A&&A[Hj]===!0}[Hj]=!0}var Rj=Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");class nj extends BQ{constructor(A){super(A);this.name="ResponseContentLengthMismatchError",this.message=A||"Response body length does not match content-length header",this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](A){return A&&A[Rj]===!0}[Rj]=!0}var jj=Symbol.for("undici.error.UND_ERR_DESTROYED");class oj extends BQ{constructor(A){super(A);this.name="ClientDestroyedError",this.message=A||"The client is destroyed",this.code="UND_ERR_DESTROYED"}static[Symbol.hasInstance](A){return A&&A[jj]===!0}[jj]=!0}var _j=Symbol.for("undici.error.UND_ERR_CLOSED");class rj extends BQ{constructor(A){super(A);this.name="ClientClosedError",this.message=A||"The client is closed",this.code="UND_ERR_CLOSED"}static[Symbol.hasInstance](A){return A&&A[_j]===!0}[_j]=!0}var qj=Symbol.for("undici.error.UND_ERR_SOCKET");class aj extends BQ{constructor(A,Q){super(A);this.name="SocketError",this.message=A||"Socket error",this.code="UND_ERR_SOCKET",this.socket=Q}static[Symbol.hasInstance](A){return A&&A[qj]===!0}[qj]=!0}var Oj=Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");class sj extends BQ{constructor(A){super(A);this.name="NotSupportedError",this.message=A||"Not supported error",this.code="UND_ERR_NOT_SUPPORTED"}static[Symbol.hasInstance](A){return A&&A[Oj]===!0}[Oj]=!0}var Tj=Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");class tj extends BQ{constructor(A){super(A);this.name="MissingUpstreamError",this.message=A||"No upstream has been added to the BalancedPool",this.code="UND_ERR_BPL_MISSING_UPSTREAM"}static[Symbol.hasInstance](A){return A&&A[Tj]===!0}[Tj]=!0}var Sj=Symbol.for("undici.error.UND_ERR_HTTP_PARSER");class ej extends Error{constructor(A,Q,B){super(A);this.name="HTTPParserError",this.code=Q?`HPE_${Q}`:void 0,this.data=B?B.toString():void 0}static[Symbol.hasInstance](A){return A&&A[Sj]===!0}[Sj]=!0}var Pj=Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");class A_ extends BQ{constructor(A){super(A);this.name="ResponseExceededMaxSizeError",this.message=A||"Response content exceeded max size",this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}static[Symbol.hasInstance](A){return A&&A[Pj]===!0}[Pj]=!0}var vj=Symbol.for("undici.error.UND_ERR_REQ_RETRY");class Q_ extends BQ{constructor(A,Q,{headers:B,data:C}){super(A);this.name="RequestRetryError",this.message=A||"Request retry error",this.code="UND_ERR_REQ_RETRY",this.statusCode=Q,this.data=C,this.headers=B}static[Symbol.hasInstance](A){return A&&A[vj]===!0}[vj]=!0}var kj=Symbol.for("undici.error.UND_ERR_RESPONSE");class B_ extends BQ{constructor(A,Q,{headers:B,data:C}){super(A);this.name="ResponseError",this.message=A||"Response error",this.code="UND_ERR_RESPONSE",this.statusCode=Q,this.data=C,this.headers=B}static[Symbol.hasInstance](A){return A&&A[kj]===!0}[kj]=!0}var xj=Symbol.for("undici.error.UND_ERR_PRX_TLS");class I_ extends BQ{constructor(A,Q,B){super(Q,{cause:A,...B??{}});this.name="SecureProxyConnectionError",this.message=Q||"Secure Proxy Connection failed",this.code="UND_ERR_PRX_TLS",this.cause=A}static[Symbol.hasInstance](A){return A&&A[xj]===!0}[xj]=!0}var bj=Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED");class C_ extends BQ{constructor(A){super(A);this.name="MessageSizeExceededError",this.message=A||"Max decompressed message size exceeded",this.code="UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"}static[Symbol.hasInstance](A){return A&&A[bj]===!0}get[bj](){return!0}}E_.exports={AbortError:H6,HTTPParserError:ej,UndiciError:BQ,HeadersTimeoutError:fj,HeadersOverflowError:hj,BodyTimeoutError:mj,RequestContentLengthMismatchError:dj,ConnectTimeoutError:yj,ResponseStatusCodeError:uj,InvalidArgumentError:cj,InvalidReturnValueError:lj,RequestAbortedError:ij,ClientDestroyedError:oj,ClientClosedError:rj,InformationalError:pj,SocketError:aj,NotSupportedError:sj,ResponseContentLengthMismatchError:nj,BalancedPoolMissingUpstreamError:tj,ResponseExceededMaxSizeError:A_,RequestRetryError:Q_,ResponseError:B_,SecureProxyConnectionError:I_,MessageSizeExceededError:C_}});var aN=k((uLA,g_)=>{var rN={},R6=["Accept","Accept-Encoding","Accept-Language","Accept-Ranges","Access-Control-Allow-Credentials","Access-Control-Allow-Headers","Access-Control-Allow-Methods","Access-Control-Allow-Origin","Access-Control-Expose-Headers","Access-Control-Max-Age","Access-Control-Request-Headers","Access-Control-Request-Method","Age","Allow","Alt-Svc","Alt-Used","Authorization","Cache-Control","Clear-Site-Data","Connection","Content-Disposition","Content-Encoding","Content-Language","Content-Length","Content-Location","Content-Range","Content-Security-Policy","Content-Security-Policy-Report-Only","Content-Type","Cookie","Cross-Origin-Embedder-Policy","Cross-Origin-Opener-Policy","Cross-Origin-Resource-Policy","Date","Device-Memory","Downlink","ECT","ETag","Expect","Expect-CT","Expires","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Keep-Alive","Last-Modified","Link","Location","Max-Forwards","Origin","Permissions-Policy","Pragma","Proxy-Authenticate","Proxy-Authorization","RTT","Range","Referer","Referrer-Policy","Refresh","Retry-After","Sec-WebSocket-Accept","Sec-WebSocket-Extensions","Sec-WebSocket-Key","Sec-WebSocket-Protocol","Sec-WebSocket-Version","Server","Server-Timing","Service-Worker-Allowed","Service-Worker-Navigation-Preload","Set-Cookie","SourceMap","Strict-Transport-Security","Supports-Loading-Mode","TE","Timing-Allow-Origin","Trailer","Transfer-Encoding","Upgrade","Upgrade-Insecure-Requests","User-Agent","Vary","Via","WWW-Authenticate","X-Content-Type-Options","X-DNS-Prefetch-Control","X-Frame-Options","X-Permitted-Cross-Domain-Policies","X-Powered-By","X-Requested-With","X-XSS-Protection"];for(let A=0;A<R6.length;++A){let Q=R6[A],B=Q.toLowerCase();rN[Q]=rN[B]=B}Object.setPrototypeOf(rN,null);g_.exports={wellknownHeaderNames:R6,headerNameLowerCasedRecord:rN}});var Y_=k((cLA,F_)=>{var{wellknownHeaderNames:D_,headerNameLowerCasedRecord:Ar}=aN();class I0{value=null;left=null;middle=null;right=null;code;constructor(A,Q,B){if(B===void 0||B>=A.length)throw TypeError("Unreachable");if((this.code=A.charCodeAt(B))>127)throw TypeError("key must be ascii string");if(A.length!==++B)this.middle=new I0(A,Q,B);else this.value=Q}add(A,Q){let B=A.length;if(B===0)throw TypeError("Unreachable");let C=0,I=this;while(!0){let E=A.charCodeAt(C);if(E>127)throw TypeError("key must be ascii string");if(I.code===E)if(B===++C){I.value=Q;break}else if(I.middle!==null)I=I.middle;else{I.middle=new I0(A,Q,C);break}else if(I.code<E)if(I.left!==null)I=I.left;else{I.left=new I0(A,Q,C);break}else if(I.right!==null)I=I.right;else{I.right=new I0(A,Q,C);break}}}search(A){let Q=A.length,B=0,C=this;while(C!==null&&B<Q){let I=A[B];if(I<=90&&I>=65)I|=32;while(C!==null){if(I===C.code){if(Q===++B)return C;C=C.middle;break}C=C.code<I?C.left:C.right}}return null}}class j6{node=null;insert(A,Q){if(this.node===null)this.node=new I0(A,Q,0);else this.node.add(A,Q)}lookup(A){return this.node?.search(A)?.value??null}}var U_=new j6;for(let A=0;A<D_.length;++A){let Q=Ar[D_[A]];U_.insert(Q,Q)}F_.exports={TernarySearchTree:j6,tree:U_}});var WA=k((lLA,j_)=>{var SU=H("node:assert"),{kDestroyed:N_,kBodyUsed:C0,kListeners:_6,kBody:J_}=tA(),{IncomingMessage:Qr}=H("node:http"),tN=H("node:stream"),Br=H("node:net"),{Blob:Ir}=H("node:buffer"),Cr=H("node:util"),{stringify:Er}=H("node:querystring"),{EventEmitter:gr}=H("node:events"),{InvalidArgumentError:ZQ}=HA(),{headerNameLowerCasedRecord:Dr}=aN(),{tree:G_}=Y_(),[Ur,Fr]=process.versions.node.split(".").map((A)=>Number(A));class q6{constructor(A){this[J_]=A,this[C0]=!1}async*[Symbol.asyncIterator](){SU(!this[C0],"disturbed"),this[C0]=!0,yield*this[J_]}}function Yr(A){if(eN(A)){if(w_(A)===0)A.on("data",function(){SU(!1)});if(typeof A.readableDidRead!=="boolean")A[C0]=!1,gr.prototype.on.call(A,"data",function(){this[C0]=!0});return A}else if(A&&typeof A.pipeTo==="function")return new q6(A);else if(A&&typeof A!=="string"&&!ArrayBuffer.isView(A)&&W_(A))return new q6(A);else return A}function Jr(){}function eN(A){return A&&typeof A==="object"&&typeof A.pipe==="function"&&typeof A.on==="function"}function $_(A){if(A===null)return!1;else if(A instanceof Ir)return!0;else if(typeof A!=="object")return!1;else{let Q=A[Symbol.toStringTag];return(Q==="Blob"||Q==="File")&&(("stream"in A)&&typeof A.stream==="function"||("arrayBuffer"in A)&&typeof A.arrayBuffer==="function")}}function Nr(A,Q){if(A.includes("?")||A.includes("#"))throw Error('Query params cannot be passed when url already contains "?" or "#".');let B=Er(Q);if(B)A+="?"+B;return A}function M_(A){let Q=parseInt(A,10);return Q===Number(A)&&Q>=0&&Q<=65535}function sN(A){return A!=null&&A[0]==="h"&&A[1]==="t"&&A[2]==="t"&&A[3]==="p"&&(A[4]===":"||A[4]==="s"&&A[5]===":")}function V_(A){if(typeof A==="string"){if(A=new URL(A),!sN(A.origin||A.protocol))throw new ZQ("Invalid URL protocol: the URL must start with `http:` or `https:`.");return A}if(!A||typeof A!=="object")throw new ZQ("Invalid URL: The URL argument must be a non-null object.");if(!(A instanceof URL)){if(A.port!=null&&A.port!==""&&M_(A.port)===!1)throw new ZQ("Invalid URL: port must be a valid integer or a string representation of an integer.");if(A.path!=null&&typeof A.path!=="string")throw new ZQ("Invalid URL path: the path must be a string or null/undefined.");if(A.pathname!=null&&typeof A.pathname!=="string")throw new ZQ("Invalid URL pathname: the pathname must be a string or null/undefined.");if(A.hostname!=null&&typeof A.hostname!=="string")throw new ZQ("Invalid URL hostname: the hostname must be a string or null/undefined.");if(A.origin!=null&&typeof A.origin!=="string")throw new ZQ("Invalid URL origin: the origin must be a string or null/undefined.");if(!sN(A.origin||A.protocol))throw new ZQ("Invalid URL protocol: the URL must start with `http:` or `https:`.");let Q=A.port!=null?A.port:A.protocol==="https:"?443:80,B=A.origin!=null?A.origin:`${A.protocol||""}//${A.hostname||""}:${Q}`,C=A.path!=null?A.path:`${A.pathname||""}${A.search||""}`;if(B[B.length-1]==="/")B=B.slice(0,B.length-1);if(C&&C[0]!=="/")C=`/${C}`;return new URL(`${B}${C}`)}if(!sN(A.origin||A.protocol))throw new ZQ("Invalid URL protocol: the URL must start with `http:` or `https:`.");return A}function Gr(A){if(A=V_(A),A.pathname!=="/"||A.search||A.hash)throw new ZQ("invalid url");return A}function $r(A){if(A[0]==="["){let B=A.indexOf("]");return SU(B!==-1),A.substring(1,B)}let Q=A.indexOf(":");if(Q===-1)return A;return A.substring(0,Q)}function Mr(A){if(!A)return null;SU(typeof A==="string");let Q=$r(A);if(Br.isIP(Q))return"";return Q}function Vr(A){return JSON.parse(JSON.stringify(A))}function Wr(A){return A!=null&&typeof A[Symbol.asyncIterator]==="function"}function W_(A){return A!=null&&(typeof A[Symbol.iterator]==="function"||typeof A[Symbol.asyncIterator]==="function")}function w_(A){if(A==null)return 0;else if(eN(A)){let Q=A._readableState;return Q&&Q.objectMode===!1&&Q.ended===!0&&Number.isFinite(Q.length)?Q.length:null}else if($_(A))return A.size!=null?A.size:null;else if(Z_(A))return A.byteLength;return null}function L_(A){return A&&!!(A.destroyed||A[N_]||tN.isDestroyed?.(A))}function wr(A,Q){if(A==null||!eN(A)||L_(A))return;if(typeof A.destroy==="function"){if(Object.getPrototypeOf(A).constructor===Qr)A.socket=null;A.destroy(Q)}else if(Q)queueMicrotask(()=>{A.emit("error",Q)});if(A.destroyed!==!0)A[N_]=!0}var Lr=/timeout=(\d+)/;function Xr(A){let Q=A.toString().match(Lr);return Q?parseInt(Q[1],10)*1000:null}function X_(A){return typeof A==="string"?Dr[A]??A.toLowerCase():G_.lookup(A)??A.toString("latin1").toLowerCase()}function Zr(A){return G_.lookup(A)??A.toString("latin1").toLowerCase()}function Kr(A,Q){if(Q===void 0)Q={};for(let B=0;B<A.length;B+=2){let C=X_(A[B]),I=Q[C];if(I){if(typeof I==="string")I=[I],Q[C]=I;I.push(A[B+1].toString("utf8"))}else{let E=A[B+1];if(typeof E==="string")Q[C]=E;else Q[C]=Array.isArray(E)?E.map((g)=>g.toString("utf8")):E.toString("utf8")}}if("content-length"in Q&&"content-disposition"in Q)Q["content-disposition"]=Buffer.from(Q["content-disposition"]).toString("latin1");return Q}function zr(A){let Q=A.length,B=Array(Q),C=!1,I=-1,E,g,D=0;for(let U=0;U<A.length;U+=2){if(E=A[U],g=A[U+1],typeof E!=="string"&&(E=E.toString()),typeof g!=="string"&&(g=g.toString("utf8")),D=E.length,D===14&&E[7]==="-"&&(E==="content-length"||E.toLowerCase()==="content-length"))C=!0;else if(D===19&&E[7]==="-"&&(E==="content-disposition"||E.toLowerCase()==="content-disposition"))I=U+1;B[U]=E,B[U+1]=g}if(C&&I!==-1)B[I]=Buffer.from(B[I]).toString("latin1");return B}function Z_(A){return A instanceof Uint8Array||Buffer.isBuffer(A)}function Hr(A,Q,B){if(!A||typeof A!=="object")throw new ZQ("handler must be an object");if(typeof A.onConnect!=="function")throw new ZQ("invalid onConnect method");if(typeof A.onError!=="function")throw new ZQ("invalid onError method");if(typeof A.onBodySent!=="function"&&A.onBodySent!==void 0)throw new ZQ("invalid onBodySent method");if(B||Q==="CONNECT"){if(typeof A.onUpgrade!=="function")throw new ZQ("invalid onUpgrade method")}else{if(typeof A.onHeaders!=="function")throw new ZQ("invalid onHeaders method");if(typeof A.onData!=="function")throw new ZQ("invalid onData method");if(typeof A.onComplete!=="function")throw new ZQ("invalid onComplete method")}}function Rr(A){return!!(A&&(tN.isDisturbed(A)||A[C0]))}function jr(A){return!!(A&&tN.isErrored(A))}function _r(A){return!!(A&&tN.isReadable(A))}function qr(A){return{localAddress:A.localAddress,localPort:A.localPort,remoteAddress:A.remoteAddress,remotePort:A.remotePort,remoteFamily:A.remoteFamily,timeout:A.timeout,bytesWritten:A.bytesWritten,bytesRead:A.bytesRead}}function Or(A){let Q;return new ReadableStream({async start(){Q=A[Symbol.asyncIterator]()},async pull(B){let{done:C,value:I}=await Q.next();if(C)queueMicrotask(()=>{B.close(),B.byobRequest?.respond(0)});else{let E=Buffer.isBuffer(I)?I:Buffer.from(I);if(E.byteLength)B.enqueue(new Uint8Array(E))}return B.desiredSize>0},async cancel(B){await Q.return()},type:"bytes"})}function Tr(A){return A&&typeof A==="object"&&typeof A.append==="function"&&typeof A.delete==="function"&&typeof A.get==="function"&&typeof A.getAll==="function"&&typeof A.has==="function"&&typeof A.set==="function"&&A[Symbol.toStringTag]==="FormData"}function Sr(A,Q){if("addEventListener"in A)return A.addEventListener("abort",Q,{once:!0}),()=>A.removeEventListener("abort",Q);return A.addListener("abort",Q),()=>A.removeListener("abort",Q)}var Pr=typeof String.prototype.toWellFormed==="function",vr=typeof String.prototype.isWellFormed==="function";function K_(A){return Pr?`${A}`.toWellFormed():Cr.toUSVString(A)}function kr(A){return vr?`${A}`.isWellFormed():K_(A)===`${A}`}function z_(A){switch(A){case 34:case 40:case 41:case 44:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 123:case 125:return!1;default:return A>=33&&A<=126}}function xr(A){if(A.length===0)return!1;for(let Q=0;Q<A.length;++Q)if(!z_(A.charCodeAt(Q)))return!1;return!0}var br=/[^\t\x20-\x7e\x80-\xff]/;function yr(A){return!br.test(A)}function fr(A){if(A==null||A==="")return{start:0,end:null,size:null};let Q=A?A.match(/^bytes (\d+)-(\d+)\/(\d+)?$/):null;return Q?{start:parseInt(Q[1]),end:Q[2]?parseInt(Q[2]):null,size:Q[3]?parseInt(Q[3]):null}:null}function hr(A,Q,B){return(A[_6]??=[]).push([Q,B]),A.on(Q,B),A}function mr(A){for(let[Q,B]of A[_6]??[])A.removeListener(Q,B);A[_6]=null}function ur(A,Q,B){try{Q.onError(B),SU(Q.aborted)}catch(C){A.emit("error",C)}}var H_=Object.create(null);H_.enumerable=!0;var O6={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT"},R_={...O6,patch:"patch",PATCH:"PATCH"};Object.setPrototypeOf(O6,null);Object.setPrototypeOf(R_,null);j_.exports={kEnumerableProperty:H_,nop:Jr,isDisturbed:Rr,isErrored:jr,isReadable:_r,toUSVString:K_,isUSVString:kr,isBlobLike:$_,parseOrigin:Gr,parseURL:V_,getServerName:Mr,isStream:eN,isIterable:W_,isAsyncIterable:Wr,isDestroyed:L_,headerNameToString:X_,bufferToLowerCasedHeaderName:Zr,addListener:hr,removeAllListeners:mr,errorRequest:ur,parseRawHeaders:zr,parseHeaders:Kr,parseKeepAliveTimeout:Xr,destroy:wr,bodyLength:w_,deepClone:Vr,ReadableStreamFrom:Or,isBuffer:Z_,validateHandler:Hr,getSocketInfo:qr,isFormDataLike:Tr,buildURL:Nr,addAbortListener:Sr,isValidHTTPToken:xr,isValidHeaderValue:yr,isTokenCharCode:z_,parseRangeHeader:fr,normalizedMethodRecordsBase:O6,normalizedMethodRecords:R_,isValidPort:M_,isHttpOrHttpsPrefixed:sN,nodeMajor:Ur,nodeMinor:Fr,safeHTTPMethods:["GET","HEAD","OPTIONS","TRACE"],wrapRequestBody:Yr}});var E0=k((iLA,q_)=>{var PA=H("node:diagnostics_channel"),S6=H("node:util"),AG=S6.debuglog("undici"),T6=S6.debuglog("fetch"),ME=S6.debuglog("websocket"),__=!1,cr={beforeConnect:PA.channel("undici:client:beforeConnect"),connected:PA.channel("undici:client:connected"),connectError:PA.channel("undici:client:connectError"),sendHeaders:PA.channel("undici:client:sendHeaders"),create:PA.channel("undici:request:create"),bodySent:PA.channel("undici:request:bodySent"),headers:PA.channel("undici:request:headers"),trailers:PA.channel("undici:request:trailers"),error:PA.channel("undici:request:error"),open:PA.channel("undici:websocket:open"),close:PA.channel("undici:websocket:close"),socketError:PA.channel("undici:websocket:socket_error"),ping:PA.channel("undici:websocket:ping"),pong:PA.channel("undici:websocket:pong")};if(AG.enabled||T6.enabled){let A=T6.enabled?T6:AG;PA.channel("undici:client:beforeConnect").subscribe((Q)=>{let{connectParams:{version:B,protocol:C,port:I,host:E}}=Q;A("connecting to %s using %s%s",`${E}${I?`:${I}`:""}`,C,B)}),PA.channel("undici:client:connected").subscribe((Q)=>{let{connectParams:{version:B,protocol:C,port:I,host:E}}=Q;A("connected to %s using %s%s",`${E}${I?`:${I}`:""}`,C,B)}),PA.channel("undici:client:connectError").subscribe((Q)=>{let{connectParams:{version:B,protocol:C,port:I,host:E},error:g}=Q;A("connection to %s using %s%s errored - %s",`${E}${I?`:${I}`:""}`,C,B,g.message)}),PA.channel("undici:client:sendHeaders").subscribe((Q)=>{let{request:{method:B,path:C,origin:I}}=Q;A("sending request to %s %s/%s",B,I,C)}),PA.channel("undici:request:headers").subscribe((Q)=>{let{request:{method:B,path:C,origin:I},response:{statusCode:E}}=Q;A("received response to %s %s/%s - HTTP %d",B,I,C,E)}),PA.channel("undici:request:trailers").subscribe((Q)=>{let{request:{method:B,path:C,origin:I}}=Q;A("trailers received from %s %s/%s",B,I,C)}),PA.channel("undici:request:error").subscribe((Q)=>{let{request:{method:B,path:C,origin:I},error:E}=Q;A("request to %s %s/%s errored - %s",B,I,C,E.message)}),__=!0}if(ME.enabled){if(!__){let A=AG.enabled?AG:ME;PA.channel("undici:client:beforeConnect").subscribe((Q)=>{let{connectParams:{version:B,protocol:C,port:I,host:E}}=Q;A("connecting to %s%s using %s%s",E,I?`:${I}`:"",C,B)}),PA.channel("undici:client:connected").subscribe((Q)=>{let{connectParams:{version:B,protocol:C,port:I,host:E}}=Q;A("connected to %s%s using %s%s",E,I?`:${I}`:"",C,B)}),PA.channel("undici:client:connectError").subscribe((Q)=>{let{connectParams:{version:B,protocol:C,port:I,host:E},error:g}=Q;A("connection to %s%s using %s%s errored - %s",E,I?`:${I}`:"",C,B,g.message)}),PA.channel("undici:client:sendHeaders").subscribe((Q)=>{let{request:{method:B,path:C,origin:I}}=Q;A("sending request to %s %s/%s",B,I,C)})}PA.channel("undici:websocket:open").subscribe((A)=>{let{address:{address:Q,port:B}}=A;ME("connection opened %s%s",Q,B?`:${B}`:"")}),PA.channel("undici:websocket:close").subscribe((A)=>{let{websocket:Q,code:B,reason:C}=A;ME("closed connection to %s - %s %s",Q.url,B,C)}),PA.channel("undici:websocket:socket_error").subscribe((A)=>{ME("connection errored - %s",A.message)}),PA.channel("undici:websocket:ping").subscribe((A)=>{ME("ping received")}),PA.channel("undici:websocket:pong").subscribe((A)=>{ME("pong received")})}q_.exports={channels:cr}});var v_=k((pLA,P_)=>{var{InvalidArgumentError:hA,NotSupportedError:lr}=HA(),pI=H("node:assert"),{isValidHTTPToken:T_,isValidHeaderValue:PU,isStream:ir,destroy:pr,isBuffer:dr,isFormDataLike:nr,isIterable:or,isBlobLike:rr,buildURL:ar,validateHandler:sr,getServerName:tr,normalizedMethodRecords:er}=WA(),{channels:WI}=E0(),{headerNameLowerCasedRecord:O_}=aN(),Aa=/[^\u0021-\u00ff]/,yB=Symbol("handler");class S_{constructor(A,{path:Q,method:B,body:C,headers:I,query:E,idempotent:g,blocking:D,upgrade:U,headersTimeout:F,bodyTimeout:Y,reset:N,throwOnError:J,expectContinue:G,servername:$},V){if(typeof Q!=="string")throw new hA("path must be a string");else if(Q[0]!=="/"&&!(Q.startsWith("http://")||Q.startsWith("https://"))&&B!=="CONNECT")throw new hA("path must be an absolute URL or start with a slash");else if(Aa.test(Q))throw new hA("invalid request path");if(typeof B!=="string")throw new hA("method must be a string");else if(er[B]===void 0&&!T_(B))throw new hA("invalid request method");if(U&&typeof U!=="string")throw new hA("upgrade must be a string");if(U&&!PU(U))throw new hA("invalid upgrade header");if(F!=null&&(!Number.isFinite(F)||F<0))throw new hA("invalid headersTimeout");if(Y!=null&&(!Number.isFinite(Y)||Y<0))throw new hA("invalid bodyTimeout");if(N!=null&&typeof N!=="boolean")throw new hA("invalid reset");if(G!=null&&typeof G!=="boolean")throw new hA("invalid expectContinue");if(this.headersTimeout=F,this.bodyTimeout=Y,this.throwOnError=J===!0,this.method=B,this.abort=null,C==null)this.body=null;else if(ir(C)){this.body=C;let M=this.body._readableState;if(!M||!M.autoDestroy)this.endHandler=function(){pr(this)},this.body.on("end",this.endHandler);this.errorHandler=(W)=>{if(this.abort)this.abort(W);else this.error=W},this.body.on("error",this.errorHandler)}else if(dr(C))this.body=C.byteLength?C:null;else if(ArrayBuffer.isView(C))this.body=C.buffer.byteLength?Buffer.from(C.buffer,C.byteOffset,C.byteLength):null;else if(C instanceof ArrayBuffer)this.body=C.byteLength?Buffer.from(C):null;else if(typeof C==="string")this.body=C.length?Buffer.from(C):null;else if(nr(C)||or(C)||rr(C))this.body=C;else throw new hA("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");if(this.completed=!1,this.aborted=!1,this.upgrade=U||null,this.path=E?ar(Q,E):Q,this.origin=A,this.idempotent=g==null?B==="HEAD"||B==="GET":g,this.blocking=D==null?!1:D,this.reset=N==null?null:N,this.host=null,this.contentLength=null,this.contentType=null,this.headers=[],this.expectContinue=G!=null?G:!1,Array.isArray(I)){if(I.length%2!==0)throw new hA("headers array must be even");for(let M=0;M<I.length;M+=2)QG(this,I[M],I[M+1])}else if(I&&typeof I==="object")if(I[Symbol.iterator])for(let M of I){if(!Array.isArray(M)||M.length!==2)throw new hA("headers must be in key-value pair format");QG(this,M[0],M[1])}else{let M=Object.keys(I);for(let W=0;W<M.length;++W)QG(this,M[W],I[M[W]])}else if(I!=null)throw new hA("headers must be an object or an array");if(sr(V,B,U),this.servername=$||tr(this.host),this[yB]=V,WI.create.hasSubscribers)WI.create.publish({request:this})}onBodySent(A){if(this[yB].onBodySent)try{return this[yB].onBodySent(A)}catch(Q){this.abort(Q)}}onRequestSent(){if(WI.bodySent.hasSubscribers)WI.bodySent.publish({request:this});if(this[yB].onRequestSent)try{return this[yB].onRequestSent()}catch(A){this.abort(A)}}onConnect(A){if(pI(!this.aborted),pI(!this.completed),this.error)A(this.error);else return this.abort=A,this[yB].onConnect(A)}onResponseStarted(){return this[yB].onResponseStarted?.()}onHeaders(A,Q,B,C){if(pI(!this.aborted),pI(!this.completed),WI.headers.hasSubscribers)WI.headers.publish({request:this,response:{statusCode:A,headers:Q,statusText:C}});try{return this[yB].onHeaders(A,Q,B,C)}catch(I){this.abort(I)}}onData(A){pI(!this.aborted),pI(!this.completed);try{return this[yB].onData(A)}catch(Q){return this.abort(Q),!1}}onUpgrade(A,Q,B){return pI(!this.aborted),pI(!this.completed),this[yB].onUpgrade(A,Q,B)}onComplete(A){if(this.onFinally(),pI(!this.aborted),this.completed=!0,WI.trailers.hasSubscribers)WI.trailers.publish({request:this,trailers:A});try{return this[yB].onComplete(A)}catch(Q){this.onError(Q)}}onError(A){if(this.onFinally(),WI.error.hasSubscribers)WI.error.publish({request:this,error:A});if(this.aborted)return;return this.aborted=!0,this[yB].onError(A)}onFinally(){if(this.errorHandler)this.body.off("error",this.errorHandler),this.errorHandler=null;if(this.endHandler)this.body.off("end",this.endHandler),this.endHandler=null}addHeader(A,Q){return QG(this,A,Q),this}}function QG(A,Q,B){if(B&&(typeof B==="object"&&!Array.isArray(B)))throw new hA(`invalid ${Q} header`);else if(B===void 0)return;let C=O_[Q];if(C===void 0){if(C=Q.toLowerCase(),O_[C]===void 0&&!T_(C))throw new hA("invalid header key")}if(Array.isArray(B)){let I=[];for(let E=0;E<B.length;E++)if(typeof B[E]==="string"){if(!PU(B[E]))throw new hA(`invalid ${Q} header`);I.push(B[E])}else if(B[E]===null)I.push("");else if(typeof B[E]==="object")throw new hA(`invalid ${Q} header`);else{let g=`${B[E]}`;if(!PU(g))throw new hA(`invalid ${Q} header`);I.push(g)}B=I}else if(typeof B==="string"){if(!PU(B))throw new hA(`invalid ${Q} header`)}else if(B===null)B="";else if(B=`${B}`,!PU(B))throw new hA(`invalid ${Q} header`);if(C==="host"){if(A.host!==null)throw new hA("duplicate host header");if(typeof B!=="string")throw new hA("invalid host header");A.host=B}else if(C==="content-length"){if(A.contentLength!==null)throw new hA("duplicate content-length header");if(A.contentLength=parseInt(B,10),!Number.isFinite(A.contentLength))throw new hA("invalid content-length header")}else if(A.contentType===null&&C==="content-type")A.contentType=B,A.headers.push(Q,B);else if(C==="transfer-encoding"||C==="keep-alive"||C==="upgrade")throw new hA(`invalid ${C} header`);else if(C==="connection"){let I=typeof B==="string"?B.toLowerCase():null;if(I!=="close"&&I!=="keep-alive")throw new hA("invalid connection header");if(I==="close")A.reset=!0}else if(C==="expect")throw new lr("expect header not supported");else A.headers.push(Q,B)}P_.exports=S_});var vU=k((dLA,x_)=>{var Qa=H("node:events");class P6 extends Qa{dispatch(){throw Error("not implemented")}close(){throw Error("not implemented")}destroy(){throw Error("not implemented")}compose(...A){let Q=Array.isArray(A[0])?A[0]:A,B=this.dispatch.bind(this);for(let C of Q){if(C==null)continue;if(typeof C!=="function")throw TypeError(`invalid interceptor, expected function received ${typeof C}`);if(B=C(B),B==null||typeof B!=="function"||B.length!==2)throw TypeError("invalid interceptor")}return new k_(this,B)}}class k_ extends P6{#A=null;#Q=null;constructor(A,Q){super();this.#A=A,this.#Q=Q}dispatch(...A){this.#Q(...A)}close(...A){return this.#A.close(...A)}destroy(...A){return this.#A.destroy(...A)}}x_.exports=P6});var F0=k((nLA,y_)=>{var Ba=vU(),{ClientDestroyedError:v6,ClientClosedError:Ia,InvalidArgumentError:g0}=HA(),{kDestroy:Ca,kClose:Ea,kClosed:kU,kDestroyed:D0,kDispatch:k6,kInterceptors:VE}=tA(),dI=Symbol("onDestroyed"),U0=Symbol("onClosed"),BG=Symbol("Intercepted Dispatch"),x6=Symbol("webSocketOptions");class b_ extends Ba{constructor(A){super();this[D0]=!1,this[dI]=null,this[kU]=!1,this[U0]=[],this[x6]=A?.webSocket??{}}get webSocketOptions(){return{maxFragments:this[x6].maxFragments??131072,maxPayloadSize:this[x6].maxPayloadSize??134217728}}get destroyed(){return this[D0]}get closed(){return this[kU]}get interceptors(){return this[VE]}set interceptors(A){if(A){for(let Q=A.length-1;Q>=0;Q--)if(typeof this[VE][Q]!=="function")throw new g0("interceptor must be an function")}this[VE]=A}close(A){if(A===void 0)return new Promise((B,C)=>{this.close((I,E)=>{return I?C(I):B(E)})});if(typeof A!=="function")throw new g0("invalid callback");if(this[D0]){queueMicrotask(()=>A(new v6,null));return}if(this[kU]){if(this[U0])this[U0].push(A);else queueMicrotask(()=>A(null,null));return}this[kU]=!0,this[U0].push(A);let Q=()=>{let B=this[U0];this[U0]=null;for(let C=0;C<B.length;C++)B[C](null,null)};this[Ea]().then(()=>this.destroy()).then(()=>{queueMicrotask(Q)})}destroy(A,Q){if(typeof A==="function")Q=A,A=null;if(Q===void 0)return new Promise((C,I)=>{this.destroy(A,(E,g)=>{return E?I(E):C(g)})});if(typeof Q!=="function")throw new g0("invalid callback");if(this[D0]){if(this[dI])this[dI].push(Q);else queueMicrotask(()=>Q(null,null));return}if(!A)A=new v6;this[D0]=!0,this[dI]=this[dI]||[],this[dI].push(Q);let B=()=>{let C=this[dI];this[dI]=null;for(let I=0;I<C.length;I++)C[I](null,null)};this[Ca](A).then(()=>{queueMicrotask(B)})}[BG](A,Q){if(!this[VE]||this[VE].length===0)return this[BG]=this[k6],this[k6](A,Q);let B=this[k6].bind(this);for(let C=this[VE].length-1;C>=0;C--)B=this[VE][C](B);return this[BG]=B,B(A,Q)}dispatch(A,Q){if(!Q||typeof Q!=="object")throw new g0("handler must be an object");try{if(!A||typeof A!=="object")throw new g0("opts must be an object.");if(this[D0]||this[dI])throw new v6;if(this[kU])throw new Ia;return this[BG](A,Q)}catch(B){if(typeof Q.onError!=="function")throw new g0("invalid onError method");return Q.onError(B),!1}}}y_.exports=b_});var l6=k((oLA,u_)=>{var Y0=0,b6=1000,y6=(b6>>1)-1,nI,f6=Symbol("kFastTimer"),oI=[],h6=-2,m6=-1,h_=0,f_=1;function u6(){Y0+=y6;let A=0,Q=oI.length;while(A<Q){let B=oI[A];if(B._state===h_)B._idleStart=Y0-y6,B._state=f_;else if(B._state===f_&&Y0>=B._idleStart+B._idleTimeout)B._state=m6,B._idleStart=-1,B._onTimeout(B._timerArg);if(B._state===m6){if(B._state=h6,--Q!==0)oI[A]=oI[Q]}else++A}if(oI.length=Q,oI.length!==0)m_()}function m_(){if(nI)nI.refresh();else if(clearTimeout(nI),nI=setTimeout(u6,y6),nI.unref)nI.unref()}class c6{[f6]=!0;_state=h6;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(A,Q,B){this._onTimeout=A,this._idleTimeout=Q,this._timerArg=B,this.refresh()}refresh(){if(this._state===h6)oI.push(this);if(!nI||oI.length===1)m_();this._state=h_}clear(){this._state=m6,this._idleStart=-1}}u_.exports={setTimeout(A,Q,B){return Q<=b6?setTimeout(A,Q,B):new c6(A,Q,B)},clearTimeout(A){if(A[f6])A.clear();else clearTimeout(A)},setFastTimeout(A,Q,B){return new c6(A,Q,B)},clearFastTimeout(A){A.clear()},now(){return Y0},tick(A=0){Y0+=A-b6+1,u6(),u6()},reset(){Y0=0,oI.length=0,clearTimeout(nI),nI=null},kFastTimer:f6}});var xU=k((rLA,d_)=>{var ga=H("node:net"),c_=H("node:assert"),p_=WA(),{InvalidArgumentError:Da,ConnectTimeoutError:Ua}=HA(),IG=l6();function l_(){}var i6,p6;if(global.FinalizationRegistry&&!(process.env.NODE_V8_COVERAGE||process.env.UNDICI_NO_FG))p6=class{constructor(Q){this._maxCachedSessions=Q,this._sessionCache=new Map,this._sessionRegistry=new global.FinalizationRegistry((B)=>{if(this._sessionCache.size<this._maxCachedSessions)return;let C=this._sessionCache.get(B);if(C!==void 0&&C.deref()===void 0)this._sessionCache.delete(B)})}get(Q){let B=this._sessionCache.get(Q);return B?B.deref():null}set(Q,B){if(this._maxCachedSessions===0)return;this._sessionCache.set(Q,new WeakRef(B)),this._sessionRegistry.register(B,Q)}};else p6=class{constructor(Q){this._maxCachedSessions=Q,this._sessionCache=new Map}get(Q){return this._sessionCache.get(Q)}set(Q,B){if(this._maxCachedSessions===0)return;if(this._sessionCache.size>=this._maxCachedSessions){let{value:C}=this._sessionCache.keys().next();this._sessionCache.delete(C)}this._sessionCache.set(Q,B)}};function Fa({allowH2:A,maxCachedSessions:Q,socketPath:B,timeout:C,session:I,...E}){if(Q!=null&&(!Number.isInteger(Q)||Q<0))throw new Da("maxCachedSessions must be a positive integer or zero");let g={path:B,...E},D=new p6(Q==null?100:Q);return C=C==null?1e4:C,A=A!=null?A:!1,function({hostname:F,host:Y,protocol:N,port:J,servername:G,localAddress:$,httpSocket:V},M){let W;if(N==="https:"){if(!i6)i6=H("node:tls");G=G||g.servername||p_.getServerName(Y)||null;let Z=G||F;c_(Z);let X=I||D.get(Z)||null;J=J||443,W=i6.connect({highWaterMark:16384,...g,servername:G,session:X,localAddress:$,ALPNProtocols:A?["http/1.1","h2"]:["http/1.1"],socket:V,port:J,host:F}),W.on("session",function(O){D.set(Z,O)})}else c_(!V,"httpSocket can only be sent on TLS update"),J=J||80,W=ga.connect({highWaterMark:65536,...g,localAddress:$,port:J,host:F});if(g.keepAlive==null||g.keepAlive){let Z=g.keepAliveInitialDelay===void 0?60000:g.keepAliveInitialDelay;W.setKeepAlive(!0,Z)}let L=Ya(new WeakRef(W),{timeout:C,hostname:F,port:J});return W.setNoDelay(!0).once(N==="https:"?"secureConnect":"connect",function(){if(queueMicrotask(L),M){let Z=M;M=null,Z(null,this)}}).on("error",function(Z){if(queueMicrotask(L),M){let X=M;M=null,X(Z)}}),W}}var Ya=process.platform==="win32"?(A,Q)=>{if(!Q.timeout)return l_;let B=null,C=null,I=IG.setFastTimeout(()=>{B=setImmediate(()=>{C=setImmediate(()=>i_(A.deref(),Q))})},Q.timeout);return()=>{IG.clearFastTimeout(I),clearImmediate(B),clearImmediate(C)}}:(A,Q)=>{if(!Q.timeout)return l_;let B=null,C=IG.setFastTimeout(()=>{B=setImmediate(()=>{i_(A.deref(),Q)})},Q.timeout);return()=>{IG.clearFastTimeout(C),clearImmediate(B)}};function i_(A,Q){if(A==null)return;let B="Connect Timeout Error";if(Array.isArray(A.autoSelectFamilyAttemptedAddresses))B+=` (attempted addresses: ${A.autoSelectFamilyAttemptedAddresses.join(", ")},`;else B+=` (attempted address: ${Q.hostname}:${Q.port},`;B+=` timeout: ${Q.timeout}ms)`,p_.destroy(A,new Ua(B))}d_.exports=Fa});var r_=k((n_)=>{Object.defineProperty(n_,"__esModule",{value:!0});n_.enumToMap=void 0;function Ja(A){let Q={};return Object.keys(A).forEach((B)=>{let C=A[B];if(typeof C==="number")Q[B]=C}),Q}n_.enumToMap=Ja});var Nq=k((Iq)=>{Object.defineProperty(Iq,"__esModule",{value:!0});Iq.SPECIAL_HEADERS=Iq.HEADER_STATE=Iq.MINOR=Iq.MAJOR=Iq.CONNECTION_TOKEN_CHARS=Iq.HEADER_CHARS=Iq.TOKEN=Iq.STRICT_TOKEN=Iq.HEX=Iq.URL_CHAR=Iq.STRICT_URL_CHAR=Iq.USERINFO_CHARS=Iq.MARK=Iq.ALPHANUM=Iq.NUM=Iq.HEX_MAP=Iq.NUM_MAP=Iq.ALPHA=Iq.FINISH=Iq.H_METHOD_MAP=Iq.METHOD_MAP=Iq.METHODS_RTSP=Iq.METHODS_ICE=Iq.METHODS_HTTP=Iq.METHODS=Iq.LENIENT_FLAGS=Iq.FLAGS=Iq.TYPE=Iq.ERROR=void 0;var Na=r_(),Ga;(function(A){A[A.OK=0]="OK",A[A.INTERNAL=1]="INTERNAL",A[A.STRICT=2]="STRICT",A[A.LF_EXPECTED=3]="LF_EXPECTED",A[A.UNEXPECTED_CONTENT_LENGTH=4]="UNEXPECTED_CONTENT_LENGTH",A[A.CLOSED_CONNECTION=5]="CLOSED_CONNECTION",A[A.INVALID_METHOD=6]="INVALID_METHOD",A[A.INVALID_URL=7]="INVALID_URL",A[A.INVALID_CONSTANT=8]="INVALID_CONSTANT",A[A.INVALID_VERSION=9]="INVALID_VERSION",A[A.INVALID_HEADER_TOKEN=10]="INVALID_HEADER_TOKEN",A[A.INVALID_CONTENT_LENGTH=11]="INVALID_CONTENT_LENGTH",A[A.INVALID_CHUNK_SIZE=12]="INVALID_CHUNK_SIZE",A[A.INVALID_STATUS=13]="INVALID_STATUS",A[A.INVALID_EOF_STATE=14]="INVALID_EOF_STATE",A[A.INVALID_TRANSFER_ENCODING=15]="INVALID_TRANSFER_ENCODING",A[A.CB_MESSAGE_BEGIN=16]="CB_MESSAGE_BEGIN",A[A.CB_HEADERS_COMPLETE=17]="CB_HEADERS_COMPLETE",A[A.CB_MESSAGE_COMPLETE=18]="CB_MESSAGE_COMPLETE",A[A.CB_CHUNK_HEADER=19]="CB_CHUNK_HEADER",A[A.CB_CHUNK_COMPLETE=20]="CB_CHUNK_COMPLETE",A[A.PAUSED=21]="PAUSED",A[A.PAUSED_UPGRADE=22]="PAUSED_UPGRADE",A[A.PAUSED_H2_UPGRADE=23]="PAUSED_H2_UPGRADE",A[A.USER=24]="USER"})(Ga=Iq.ERROR||(Iq.ERROR={}));var $a;(function(A){A[A.BOTH=0]="BOTH",A[A.REQUEST=1]="REQUEST",A[A.RESPONSE=2]="RESPONSE"})($a=Iq.TYPE||(Iq.TYPE={}));var Ma;(function(A){A[A.CONNECTION_KEEP_ALIVE=1]="CONNECTION_KEEP_ALIVE",A[A.CONNECTION_CLOSE=2]="CONNECTION_CLOSE",A[A.CONNECTION_UPGRADE=4]="CONNECTION_UPGRADE",A[A.CHUNKED=8]="CHUNKED",A[A.UPGRADE=16]="UPGRADE",A[A.CONTENT_LENGTH=32]="CONTENT_LENGTH",A[A.SKIPBODY=64]="SKIPBODY",A[A.TRAILING=128]="TRAILING",A[A.TRANSFER_ENCODING=512]="TRANSFER_ENCODING"})(Ma=Iq.FLAGS||(Iq.FLAGS={}));var Va;(function(A){A[A.HEADERS=1]="HEADERS",A[A.CHUNKED_LENGTH=2]="CHUNKED_LENGTH",A[A.KEEP_ALIVE=4]="KEEP_ALIVE"})(Va=Iq.LENIENT_FLAGS||(Iq.LENIENT_FLAGS={}));var s;(function(A){A[A.DELETE=0]="DELETE",A[A.GET=1]="GET",A[A.HEAD=2]="HEAD",A[A.POST=3]="POST",A[A.PUT=4]="PUT",A[A.CONNECT=5]="CONNECT",A[A.OPTIONS=6]="OPTIONS",A[A.TRACE=7]="TRACE",A[A.COPY=8]="COPY",A[A.LOCK=9]="LOCK",A[A.MKCOL=10]="MKCOL",A[A.MOVE=11]="MOVE",A[A.PROPFIND=12]="PROPFIND",A[A.PROPPATCH=13]="PROPPATCH",A[A.SEARCH=14]="SEARCH",A[A.UNLOCK=15]="UNLOCK",A[A.BIND=16]="BIND",A[A.REBIND=17]="REBIND",A[A.UNBIND=18]="UNBIND",A[A.ACL=19]="ACL",A[A.REPORT=20]="REPORT",A[A.MKACTIVITY=21]="MKACTIVITY",A[A.CHECKOUT=22]="CHECKOUT",A[A.MERGE=23]="MERGE",A[A["M-SEARCH"]=24]="M-SEARCH",A[A.NOTIFY=25]="NOTIFY",A[A.SUBSCRIBE=26]="SUBSCRIBE",A[A.UNSUBSCRIBE=27]="UNSUBSCRIBE",A[A.PATCH=28]="PATCH",A[A.PURGE=29]="PURGE",A[A.MKCALENDAR=30]="MKCALENDAR",A[A.LINK=31]="LINK",A[A.UNLINK=32]="UNLINK",A[A.SOURCE=33]="SOURCE",A[A.PRI=34]="PRI",A[A.DESCRIBE=35]="DESCRIBE",A[A.ANNOUNCE=36]="ANNOUNCE",A[A.SETUP=37]="SETUP",A[A.PLAY=38]="PLAY",A[A.PAUSE=39]="PAUSE",A[A.TEARDOWN=40]="TEARDOWN",A[A.GET_PARAMETER=41]="GET_PARAMETER",A[A.SET_PARAMETER=42]="SET_PARAMETER",A[A.REDIRECT=43]="REDIRECT",A[A.RECORD=44]="RECORD",A[A.FLUSH=45]="FLUSH"})(s=Iq.METHODS||(Iq.METHODS={}));Iq.METHODS_HTTP=[s.DELETE,s.GET,s.HEAD,s.POST,s.PUT,s.CONNECT,s.OPTIONS,s.TRACE,s.COPY,s.LOCK,s.MKCOL,s.MOVE,s.PROPFIND,s.PROPPATCH,s.SEARCH,s.UNLOCK,s.BIND,s.REBIND,s.UNBIND,s.ACL,s.REPORT,s.MKACTIVITY,s.CHECKOUT,s.MERGE,s["M-SEARCH"],s.NOTIFY,s.SUBSCRIBE,s.UNSUBSCRIBE,s.PATCH,s.PURGE,s.MKCALENDAR,s.LINK,s.UNLINK,s.PRI,s.SOURCE];Iq.METHODS_ICE=[s.SOURCE];Iq.METHODS_RTSP=[s.OPTIONS,s.DESCRIBE,s.ANNOUNCE,s.SETUP,s.PLAY,s.PAUSE,s.TEARDOWN,s.GET_PARAMETER,s.SET_PARAMETER,s.REDIRECT,s.RECORD,s.FLUSH,s.GET,s.POST];Iq.METHOD_MAP=Na.enumToMap(s);Iq.H_METHOD_MAP={};Object.keys(Iq.METHOD_MAP).forEach((A)=>{if(/^H/.test(A))Iq.H_METHOD_MAP[A]=Iq.METHOD_MAP[A]});var Wa;(function(A){A[A.SAFE=0]="SAFE",A[A.SAFE_WITH_CB=1]="SAFE_WITH_CB",A[A.UNSAFE=2]="UNSAFE"})(Wa=Iq.FINISH||(Iq.FINISH={}));Iq.ALPHA=[];for(let A=65;A<=90;A++)Iq.ALPHA.push(String.fromCharCode(A)),Iq.ALPHA.push(String.fromCharCode(A+32));Iq.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};Iq.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15};Iq.NUM=["0","1","2","3","4","5","6","7","8","9"];Iq.ALPHANUM=Iq.ALPHA.concat(Iq.NUM);Iq.MARK=["-","_",".","!","~","*","'","(",")"];Iq.USERINFO_CHARS=Iq.ALPHANUM.concat(Iq.MARK).concat(["%",";",":","&","=","+","$",","]);Iq.STRICT_URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(Iq.ALPHANUM);Iq.URL_CHAR=Iq.STRICT_URL_CHAR.concat(["\t","\f"]);for(let A=128;A<=255;A++)Iq.URL_CHAR.push(A);Iq.HEX=Iq.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);Iq.STRICT_TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(Iq.ALPHANUM);Iq.TOKEN=Iq.STRICT_TOKEN.concat([" "]);Iq.HEADER_CHARS=["\t"];for(let A=32;A<=255;A++)if(A!==127)Iq.HEADER_CHARS.push(A);Iq.CONNECTION_TOKEN_CHARS=Iq.HEADER_CHARS.filter((A)=>A!==44);Iq.MAJOR=Iq.NUM_MAP;Iq.MINOR=Iq.MAJOR;var J0;(function(A){A[A.GENERAL=0]="GENERAL",A[A.CONNECTION=1]="CONNECTION",A[A.CONTENT_LENGTH=2]="CONTENT_LENGTH",A[A.TRANSFER_ENCODING=3]="TRANSFER_ENCODING",A[A.UPGRADE=4]="UPGRADE",A[A.CONNECTION_KEEP_ALIVE=5]="CONNECTION_KEEP_ALIVE",A[A.CONNECTION_CLOSE=6]="CONNECTION_CLOSE",A[A.CONNECTION_UPGRADE=7]="CONNECTION_UPGRADE",A[A.TRANSFER_ENCODING_CHUNKED=8]="TRANSFER_ENCODING_CHUNKED"})(J0=Iq.HEADER_STATE||(Iq.HEADER_STATE={}));Iq.SPECIAL_HEADERS={connection:J0.CONNECTION,"content-length":J0.CONTENT_LENGTH,"proxy-connection":J0.CONNECTION,"transfer-encoding":J0.TRANSFER_ENCODING,upgrade:J0.UPGRADE}});var r6=k((tLA,Gq)=>{var{Buffer:_a}=H("node:buffer");Gq.exports=_a.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv","base64")});var Mq=k((eLA,$q)=>{var{Buffer:qa}=H("node:buffer");$q.exports=qa.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==","base64")});var bU=k((A1A,zq)=>{var Vq=["GET","HEAD","POST"],Oa=new Set(Vq),Ta=[101,204,205,304],Wq=[301,302,303,307,308],Sa=new Set(Wq),wq=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","4190","5060","5061","6000","6566","6665","6666","6667","6668","6669","6679","6697","10080"],Pa=new Set(wq),Lq=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],va=new Set(Lq),ka=["follow","manual","error"],Xq=["GET","HEAD","OPTIONS","TRACE"],xa=new Set(Xq),ba=["navigate","same-origin","no-cors","cors"],ya=["omit","same-origin","include"],fa=["default","no-store","reload","no-cache","force-cache","only-if-cached"],ha=["content-encoding","content-language","content-location","content-type","content-length"],ma=["half"],Zq=["CONNECT","TRACE","TRACK"],ua=new Set(Zq),Kq=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""],ca=new Set(Kq);zq.exports={subresource:Kq,forbiddenMethods:Zq,requestBodyHeader:ha,referrerPolicy:Lq,requestRedirect:ka,requestMode:ba,requestCredentials:ya,requestCache:fa,redirectStatus:Wq,corsSafeListedMethods:Vq,nullBodyStatus:Ta,safeMethods:Xq,badPorts:wq,requestDuplex:ma,subresourceSet:ca,badPortsSet:Pa,redirectStatusSet:Sa,corsSafeListedMethodsSet:Oa,safeMethodsSet:xa,forbiddenMethodsSet:ua,referrerPolicySet:va}});var s6=k((Q1A,Hq)=>{var a6=Symbol.for("undici.globalOrigin.1");function la(){return globalThis[a6]}function ia(A){if(A===void 0){Object.defineProperty(globalThis,a6,{value:void 0,writable:!0,enumerable:!1,configurable:!1});return}let Q=new URL(A);if(Q.protocol!=="http:"&&Q.protocol!=="https:")throw TypeError(`Only http & https urls are allowed, received ${Q.protocol}`);Object.defineProperty(globalThis,a6,{value:Q,writable:!0,enumerable:!1,configurable:!1})}Hq.exports={getGlobalOrigin:la,setGlobalOrigin:ia}});var IB=k((B1A,Sq)=>{var DG=H("node:assert"),pa=new TextEncoder,yU=/^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/,da=/[\u000A\u000D\u0009\u0020]/,na=/[\u0009\u000A\u000C\u000D\u0020]/g,oa=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function ra(A){DG(A.protocol==="data:");let Q=_q(A,!0);Q=Q.slice(5);let B={position:0},C=N0(",",Q,B),I=C.length;if(C=Qs(C,!0,!0),B.position>=Q.length)return"failure";B.position++;let E=Q.slice(I+1),g=qq(E);if(/;(\u0020){0,}base64$/i.test(C)){let U=Tq(g);if(g=sa(U),g==="failure")return"failure";C=C.slice(0,-6),C=C.replace(/(\u0020)+$/,""),C=C.slice(0,-1)}if(C.startsWith(";"))C="text/plain"+C;let D=t6(C);if(D==="failure")D=t6("text/plain;charset=US-ASCII");return{mimeType:D,body:g}}function _q(A,Q=!1){if(!Q)return A.href;let B=A.href,C=A.hash.length,I=C===0?B:B.substring(0,B.length-C);if(!C&&B.endsWith("#"))return I.slice(0,-1);return I}function UG(A,Q,B){let C="";while(B.position<Q.length&&A(Q[B.position]))C+=Q[B.position],B.position++;return C}function N0(A,Q,B){let C=Q.indexOf(A,B.position),I=B.position;if(C===-1)return B.position=Q.length,Q.slice(I);return B.position=C,Q.slice(I,B.position)}function qq(A){let Q=pa.encode(A);return aa(Q)}function Rq(A){return A>=48&&A<=57||A>=65&&A<=70||A>=97&&A<=102}function jq(A){return A>=48&&A<=57?A-48:(A&223)-55}function aa(A){let Q=A.length,B=new Uint8Array(Q),C=0;for(let I=0;I<Q;++I){let E=A[I];if(E!==37)B[C++]=E;else if(E===37&&!(Rq(A[I+1])&&Rq(A[I+2])))B[C++]=37;else B[C++]=jq(A[I+1])<<4|jq(A[I+2]),I+=2}return Q===C?B:B.subarray(0,C)}function t6(A){A=gG(A,!0,!0);let Q={position:0},B=N0("/",A,Q);if(B.length===0||!yU.test(B))return"failure";if(Q.position>A.length)return"failure";Q.position++;let C=N0(";",A,Q);if(C=gG(C,!1,!0),C.length===0||!yU.test(C))return"failure";let I=B.toLowerCase(),E=C.toLowerCase(),g={type:I,subtype:E,parameters:new Map,essence:`${I}/${E}`};while(Q.position<A.length){Q.position++,UG((F)=>da.test(F),A,Q);let D=UG((F)=>F!==";"&&F!=="=",A,Q);if(D=D.toLowerCase(),Q.position<A.length){if(A[Q.position]===";")continue;Q.position++}if(Q.position>A.length)break;let U=null;if(A[Q.position]==='"')U=Oq(A,Q,!0),N0(";",A,Q);else if(U=N0(";",A,Q),U=gG(U,!1,!0),U.length===0)continue;if(D.length!==0&&yU.test(D)&&(U.length===0||oa.test(U))&&!g.parameters.has(D))g.parameters.set(D,U)}return g}function sa(A){A=A.replace(na,"");let Q=A.length;if(Q%4===0){if(A.charCodeAt(Q-1)===61){if(--Q,A.charCodeAt(Q-1)===61)--Q}}if(Q%4===1)return"failure";if(/[^+/0-9A-Za-z]/.test(A.length===Q?A:A.substring(0,Q)))return"failure";let B=Buffer.from(A,"base64");return new Uint8Array(B.buffer,B.byteOffset,B.byteLength)}function Oq(A,Q,B){let C=Q.position,I="";DG(A[Q.position]==='"'),Q.position++;while(!0){if(I+=UG((g)=>g!=='"'&&g!=="\\",A,Q),Q.position>=A.length)break;let E=A[Q.position];if(Q.position++,E==="\\"){if(Q.position>=A.length){I+="\\";break}I+=A[Q.position],Q.position++}else{DG(E==='"');break}}if(B)return I;return A.slice(C,Q.position)}function ta(A){DG(A!=="failure");let{parameters:Q,essence:B}=A,C=B;for(let[I,E]of Q.entries()){if(C+=";",C+=I,C+="=",!yU.test(E))E=E.replace(/(\\|")/g,"\\$1"),E='"'+E,E+='"';C+=E}return C}function ea(A){return A===13||A===10||A===9||A===32}function gG(A,Q=!0,B=!0){return e6(A,Q,B,ea)}function As(A){return A===13||A===10||A===9||A===12||A===32}function Qs(A,Q=!0,B=!0){return e6(A,Q,B,As)}function e6(A,Q,B,C){let I=0,E=A.length-1;if(Q)while(I<A.length&&C(A.charCodeAt(I)))I++;if(B)while(E>0&&C(A.charCodeAt(E)))E--;return I===0&&E===A.length-1?A:A.slice(I,E+1)}function Tq(A){let Q=A.length;if(65535>Q)return String.fromCharCode.apply(null,A);let B="",C=0,I=65535;while(C<Q){if(C+I>Q)I=Q-C;B+=String.fromCharCode.apply(null,A.subarray(C,C+=I))}return B}function Bs(A){switch(A.essence){case"application/ecmascript":case"application/javascript":case"application/x-ecmascript":case"application/x-javascript":case"text/ecmascript":case"text/javascript":case"text/javascript1.0":case"text/javascript1.1":case"text/javascript1.2":case"text/javascript1.3":case"text/javascript1.4":case"text/javascript1.5":case"text/jscript":case"text/livescript":case"text/x-ecmascript":case"text/x-javascript":return"text/javascript";case"application/json":case"text/json":return"application/json";case"image/svg+xml":return"image/svg+xml";case"text/xml":case"application/xml":return"application/xml"}if(A.subtype.endsWith("+json"))return"application/json";if(A.subtype.endsWith("+xml"))return"application/xml";return""}Sq.exports={dataURLProcessor:ra,URLSerializer:_q,collectASequenceOfCodePoints:UG,collectASequenceOfCodePointsFast:N0,stringPercentDecode:qq,parseMIMEType:t6,collectAnHTTPQuotedString:Oq,serializeAMimeType:ta,removeChars:e6,removeHTTPWhitespace:gG,minimizeSupportedMimeType:Bs,HTTP_TOKEN_CODEPOINTS:yU,isomorphicDecode:Tq}});var jQ=k((I1A,Pq)=>{var{types:wI,inspect:Is}=H("node:util"),{markAsUncloneable:Cs}=H("node:worker_threads"),{toUSVString:Es}=WA(),y={};y.converters={};y.util={};y.errors={};y.errors.exception=function(A){return TypeError(`${A.header}: ${A.message}`)};y.errors.conversionFailed=function(A){let Q=A.types.length===1?"":" one of",B=`${A.argument} could not be converted to${Q}: ${A.types.join(", ")}.`;return y.errors.exception({header:A.prefix,message:B})};y.errors.invalidArgument=function(A){return y.errors.exception({header:A.prefix,message:`"${A.value}" is an invalid ${A.type}.`})};y.brandCheck=function(A,Q,B){if(B?.strict!==!1){if(!(A instanceof Q)){let C=TypeError("Illegal invocation");throw C.code="ERR_INVALID_THIS",C}}else if(A?.[Symbol.toStringTag]!==Q.prototype[Symbol.toStringTag]){let C=TypeError("Illegal invocation");throw C.code="ERR_INVALID_THIS",C}};y.argumentLengthCheck=function({length:A},Q,B){if(A<Q)throw y.errors.exception({message:`${Q} argument${Q!==1?"s":""} required, but${A?" only":""} ${A} found.`,header:B})};y.illegalConstructor=function(){throw y.errors.exception({header:"TypeError",message:"Illegal constructor"})};y.util.Type=function(A){switch(typeof A){case"undefined":return"Undefined";case"boolean":return"Boolean";case"string":return"String";case"symbol":return"Symbol";case"number":return"Number";case"bigint":return"BigInt";case"function":case"object":{if(A===null)return"Null";return"Object"}}};y.util.markAsUncloneable=Cs||(()=>{});y.util.ConvertToInt=function(A,Q,B,C){let I,E;if(Q===64)if(I=Math.pow(2,53)-1,B==="unsigned")E=0;else E=Math.pow(-2,53)+1;else if(B==="unsigned")E=0,I=Math.pow(2,Q)-1;else E=Math.pow(-2,Q)-1,I=Math.pow(2,Q-1)-1;let g=Number(A);if(g===0)g=0;if(C?.enforceRange===!0){if(Number.isNaN(g)||g===Number.POSITIVE_INFINITY||g===Number.NEGATIVE_INFINITY)throw y.errors.exception({header:"Integer conversion",message:`Could not convert ${y.util.Stringify(A)} to an integer.`});if(g=y.util.IntegerPart(g),g<E||g>I)throw y.errors.exception({header:"Integer conversion",message:`Value must be between ${E}-${I}, got ${g}.`});return g}if(!Number.isNaN(g)&&C?.clamp===!0){if(g=Math.min(Math.max(g,E),I),Math.floor(g)%2===0)g=Math.floor(g);else g=Math.ceil(g);return g}if(Number.isNaN(g)||g===0&&Object.is(0,g)||g===Number.POSITIVE_INFINITY||g===Number.NEGATIVE_INFINITY)return 0;if(g=y.util.IntegerPart(g),g=g%Math.pow(2,Q),B==="signed"&&g>=Math.pow(2,Q)-1)return g-Math.pow(2,Q);return g};y.util.IntegerPart=function(A){let Q=Math.floor(Math.abs(A));if(A<0)return-1*Q;return Q};y.util.Stringify=function(A){switch(y.util.Type(A)){case"Symbol":return`Symbol(${A.description})`;case"Object":return Is(A);case"String":return`"${A}"`;default:return`${A}`}};y.sequenceConverter=function(A){return(Q,B,C,I)=>{if(y.util.Type(Q)!=="Object")throw y.errors.exception({header:B,message:`${C} (${y.util.Stringify(Q)}) is not iterable.`});let E=typeof I==="function"?I():Q?.[Symbol.iterator]?.(),g=[],D=0;if(E===void 0||typeof E.next!=="function")throw y.errors.exception({header:B,message:`${C} is not iterable.`});while(!0){let{done:U,value:F}=E.next();if(U)break;g.push(A(F,B,`${C}[${D++}]`))}return g}};y.recordConverter=function(A,Q){return(B,C,I)=>{if(y.util.Type(B)!=="Object")throw y.errors.exception({header:C,message:`${I} ("${y.util.Type(B)}") is not an Object.`});let E={};if(!wI.isProxy(B)){let D=[...Object.getOwnPropertyNames(B),...Object.getOwnPropertySymbols(B)];for(let U of D){let F=A(U,C,I),Y=Q(B[U],C,I);E[F]=Y}return E}let g=Reflect.ownKeys(B);for(let D of g)if(Reflect.getOwnPropertyDescriptor(B,D)?.enumerable){let F=A(D,C,I),Y=Q(B[D],C,I);E[F]=Y}return E}};y.interfaceConverter=function(A){return(Q,B,C,I)=>{if(I?.strict!==!1&&!(Q instanceof A))throw y.errors.exception({header:B,message:`Expected ${C} ("${y.util.Stringify(Q)}") to be an instance of ${A.name}.`});return Q}};y.dictionaryConverter=function(A){return(Q,B,C)=>{let I=y.util.Type(Q),E={};if(I==="Null"||I==="Undefined")return E;else if(I!=="Object")throw y.errors.exception({header:B,message:`Expected ${Q} to be one of: Null, Undefined, Object.`});for(let g of A){let{key:D,defaultValue:U,required:F,converter:Y}=g;if(F===!0){if(!Object.hasOwn(Q,D))throw y.errors.exception({header:B,message:`Missing required key "${D}".`})}let N=Q[D],J=Object.hasOwn(g,"defaultValue");if(J&&N!==null)N??=U();if(F||J||N!==void 0){if(N=Y(N,B,`${C}.${D}`),g.allowedValues&&!g.allowedValues.includes(N))throw y.errors.exception({header:B,message:`${N} is not an accepted type. Expected one of ${g.allowedValues.join(", ")}.`});E[D]=N}}return E}};y.nullableConverter=function(A){return(Q,B,C)=>{if(Q===null)return Q;return A(Q,B,C)}};y.converters.DOMString=function(A,Q,B,C){if(A===null&&C?.legacyNullToEmptyString)return"";if(typeof A==="symbol")throw y.errors.exception({header:Q,message:`${B} is a symbol, which cannot be converted to a DOMString.`});return String(A)};y.converters.ByteString=function(A,Q,B){let C=y.converters.DOMString(A,Q,B);for(let I=0;I<C.length;I++)if(C.charCodeAt(I)>255)throw TypeError(`Cannot convert argument to a ByteString because the character at index ${I} has a value of ${C.charCodeAt(I)} which is greater than 255.`);return C};y.converters.USVString=Es;y.converters.boolean=function(A){return Boolean(A)};y.converters.any=function(A){return A};y.converters["long long"]=function(A,Q,B){return y.util.ConvertToInt(A,64,"signed",void 0,Q,B)};y.converters["unsigned long long"]=function(A,Q,B){return y.util.ConvertToInt(A,64,"unsigned",void 0,Q,B)};y.converters["unsigned long"]=function(A,Q,B){return y.util.ConvertToInt(A,32,"unsigned",void 0,Q,B)};y.converters["unsigned short"]=function(A,Q,B,C){return y.util.ConvertToInt(A,16,"unsigned",C,Q,B)};y.converters.ArrayBuffer=function(A,Q,B,C){if(y.util.Type(A)!=="Object"||!wI.isAnyArrayBuffer(A))throw y.errors.conversionFailed({prefix:Q,argument:`${B} ("${y.util.Stringify(A)}")`,types:["ArrayBuffer"]});if(C?.allowShared===!1&&wI.isSharedArrayBuffer(A))throw y.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(A.resizable||A.growable)throw y.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return A};y.converters.TypedArray=function(A,Q,B,C,I){if(y.util.Type(A)!=="Object"||!wI.isTypedArray(A)||A.constructor.name!==Q.name)throw y.errors.conversionFailed({prefix:B,argument:`${C} ("${y.util.Stringify(A)}")`,types:[Q.name]});if(I?.allowShared===!1&&wI.isSharedArrayBuffer(A.buffer))throw y.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(A.buffer.resizable||A.buffer.growable)throw y.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return A};y.converters.DataView=function(A,Q,B,C){if(y.util.Type(A)!=="Object"||!wI.isDataView(A))throw y.errors.exception({header:Q,message:`${B} is not a DataView.`});if(C?.allowShared===!1&&wI.isSharedArrayBuffer(A.buffer))throw y.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(A.buffer.resizable||A.buffer.growable)throw y.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return A};y.converters.BufferSource=function(A,Q,B,C){if(wI.isAnyArrayBuffer(A))return y.converters.ArrayBuffer(A,Q,B,{...C,allowShared:!1});if(wI.isTypedArray(A))return y.converters.TypedArray(A,A.constructor,Q,B,{...C,allowShared:!1});if(wI.isDataView(A))return y.converters.DataView(A,Q,B,{...C,allowShared:!1});throw y.errors.conversionFailed({prefix:Q,argument:`${B} ("${y.util.Stringify(A)}")`,types:["BufferSource"]})};y.converters["sequence<ByteString>"]=y.sequenceConverter(y.converters.ByteString);y.converters["sequence<sequence<ByteString>>"]=y.sequenceConverter(y.converters["sequence<ByteString>"]);y.converters["record<ByteString, ByteString>"]=y.recordConverter(y.converters.ByteString,y.converters.ByteString);Pq.exports={webidl:y}});var XB=k((C1A,rq)=>{var{Transform:gs}=H("node:stream"),vq=H("node:zlib"),{redirectStatusSet:Ds,referrerPolicySet:Us,badPortsSet:Fs}=bU(),{getGlobalOrigin:kq}=s6(),{collectASequenceOfCodePoints:WE,collectAnHTTPQuotedString:Ys,removeChars:Js,parseMIMEType:Ns}=IB(),{performance:Gs}=H("node:perf_hooks"),{isBlobLike:$s,ReadableStreamFrom:Ms,isValidHTTPToken:xq,normalizedMethodRecordsBase:Vs}=WA(),wE=H("node:assert"),{isUint8Array:Ws}=H("node:util/types"),{webidl:fU}=jQ(),bq=[],YG;try{YG=H("node:crypto");let A=["sha256","sha384","sha512"];bq=YG.getHashes().filter((Q)=>A.includes(Q))}catch{}function yq(A){let Q=A.urlList,B=Q.length;return B===0?null:Q[B-1].toString()}function ws(A,Q){if(!Ds.has(A.status))return null;let B=A.headersList.get("location",!0);if(B!==null&&hq(B)){if(!fq(B))B=Ls(B);B=new URL(B,yq(A))}if(B&&!B.hash)B.hash=Q;return B}function fq(A){for(let Q=0;Q<A.length;++Q){let B=A.charCodeAt(Q);if(B>126||B<32)return!1}return!0}function Ls(A){return Buffer.from(A,"binary").toString("utf8")}function mU(A){return A.urlList[A.urlList.length-1]}function Xs(A){let Q=mU(A);if(iq(Q)&&Fs.has(Q.port))return"blocked";return"allowed"}function Zs(A){return A instanceof Error||(A?.constructor?.name==="Error"||A?.constructor?.name==="DOMException")}function Ks(A){for(let Q=0;Q<A.length;++Q){let B=A.charCodeAt(Q);if(!(B===9||B>=32&&B<=126||B>=128&&B<=255))return!1}return!0}var zs=xq;function hq(A){return(A[0]==="\t"||A[0]===" "||A[A.length-1]==="\t"||A[A.length-1]===" "||A.includes(`
|
|
73
73
|
`)||A.includes("\r")||A.includes("\x00"))===!1}function Hs(A,Q){let{headersList:B}=Q,C=(B.get("referrer-policy",!0)??"").split(","),I="";if(C.length>0)for(let E=C.length;E!==0;E--){let g=C[E-1].trim();if(Us.has(g)){I=g;break}}if(I!=="")A.referrerPolicy=I}function Rs(){return"allowed"}function js(){return"success"}function _s(){return"success"}function qs(A){let Q=null;Q=A.mode,A.headersList.set("sec-fetch-mode",Q,!0)}function Os(A){let Q=A.origin;if(Q==="client"||Q===void 0)return;if(A.responseTainting==="cors"||A.mode==="websocket")A.headersList.append("origin",Q,!0);else if(A.method!=="GET"&&A.method!=="HEAD"){switch(A.referrerPolicy){case"no-referrer":Q=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":if(A.origin&&Q9(A.origin)&&!Q9(mU(A)))Q=null;break;case"same-origin":if(!JG(A,mU(A)))Q=null;break;default:}A.headersList.append("origin",Q,!0)}}function G0(A,Q){return A}function Ts(A,Q,B){if(!A?.startTime||A.startTime<Q)return{domainLookupStartTime:Q,domainLookupEndTime:Q,connectionStartTime:Q,connectionEndTime:Q,secureConnectionStartTime:Q,ALPNNegotiatedProtocol:A?.ALPNNegotiatedProtocol};return{domainLookupStartTime:G0(A.domainLookupStartTime,B),domainLookupEndTime:G0(A.domainLookupEndTime,B),connectionStartTime:G0(A.connectionStartTime,B),connectionEndTime:G0(A.connectionEndTime,B),secureConnectionStartTime:G0(A.secureConnectionStartTime,B),ALPNNegotiatedProtocol:A.ALPNNegotiatedProtocol}}function Ss(A){return G0(Gs.now(),A)}function Ps(A){return{startTime:A.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:A.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function mq(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function vs(A){return{referrerPolicy:A.referrerPolicy}}function ks(A){let Q=A.referrerPolicy;wE(Q);let B=null;if(A.referrer==="client"){let D=kq();if(!D||D.origin==="null")return"no-referrer";B=new URL(D)}else if(A.referrer instanceof URL)B=A.referrer;let C=A9(B),I=A9(B,!0);if(C.toString().length>4096)C=I;let E=JG(A,C),g=hU(C)&&!hU(A.url);switch(Q){case"origin":return I!=null?I:A9(B,!0);case"unsafe-url":return C;case"same-origin":return E?I:"no-referrer";case"origin-when-cross-origin":return E?C:I;case"strict-origin-when-cross-origin":{let D=mU(A);if(JG(C,D))return C;if(hU(C)&&!hU(D))return"no-referrer";return I}case"strict-origin":case"no-referrer-when-downgrade":default:return g?"no-referrer":I}}function A9(A,Q){if(wE(A instanceof URL),A=new URL(A),A.protocol==="file:"||A.protocol==="about:"||A.protocol==="blank:")return"no-referrer";if(A.username="",A.password="",A.hash="",Q)A.pathname="",A.search="";return A}function hU(A){if(!(A instanceof URL))return!1;if(A.href==="about:blank"||A.href==="about:srcdoc")return!0;if(A.protocol==="data:")return!0;if(A.protocol==="file:")return!0;return Q(A.origin);function Q(B){if(B==null||B==="null")return!1;let C=new URL(B);if(C.protocol==="https:"||C.protocol==="wss:")return!0;if(/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(C.hostname)||(C.hostname==="localhost"||C.hostname.includes("localhost."))||C.hostname.endsWith(".localhost"))return!0;return!1}}function xs(A,Q){if(YG===void 0)return!0;let B=uq(Q);if(B==="no metadata")return!0;if(B.length===0)return!0;let C=ys(B),I=fs(B,C);for(let E of I){let{algo:g,hash:D}=E,U=YG.createHash(g).update(A).digest("base64");if(U[U.length-1]==="=")if(U[U.length-2]==="=")U=U.slice(0,-2);else U=U.slice(0,-1);if(hs(U,D))return!0}return!1}var bs=/(?<algo>sha256|sha384|sha512)-((?<hash>[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function uq(A){let Q=[],B=!0;for(let C of A.split(" ")){B=!1;let I=bs.exec(C);if(I===null||I.groups===void 0||I.groups.algo===void 0)continue;let E=I.groups.algo.toLowerCase();if(bq.includes(E))Q.push(I.groups)}if(B===!0)return"no metadata";return Q}function ys(A){let Q=A[0].algo;if(Q[3]==="5")return Q;for(let B=1;B<A.length;++B){let C=A[B];if(C.algo[3]==="5"){Q="sha512";break}else if(Q[3]==="3")continue;else if(C.algo[3]==="3")Q="sha384"}return Q}function fs(A,Q){if(A.length===1)return A;let B=0;for(let C=0;C<A.length;++C)if(A[C].algo===Q)A[B++]=A[C];return A.length=B,A}function hs(A,Q){if(A.length!==Q.length)return!1;for(let B=0;B<A.length;++B)if(A[B]!==Q[B]){if(A[B]==="+"&&Q[B]==="-"||A[B]==="/"&&Q[B]==="_")continue;return!1}return!0}function ms(A){}function JG(A,Q){if(A.origin===Q.origin&&A.origin==="null")return!0;if(A.protocol===Q.protocol&&A.hostname===Q.hostname&&A.port===Q.port)return!0;return!1}function us(){let A,Q;return{promise:new Promise((C,I)=>{A=C,Q=I}),resolve:A,reject:Q}}function cs(A){return A.controller.state==="aborted"}function ls(A){return A.controller.state==="aborted"||A.controller.state==="terminated"}function is(A){return Vs[A.toLowerCase()]??A}function ps(A){let Q=JSON.stringify(A);if(Q===void 0)throw TypeError("Value is not JSON serializable");return wE(typeof Q==="string"),Q}var ds=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function cq(A,Q,B=0,C=1){class I{#A;#Q;#B;constructor(E,g){this.#A=E,this.#Q=g,this.#B=0}next(){if(typeof this!=="object"||this===null||!(#A in this))throw TypeError(`'next' called on an object that does not implement interface ${A} Iterator.`);let E=this.#B,g=this.#A[Q],D=g.length;if(E>=D)return{value:void 0,done:!0};let{[B]:U,[C]:F}=g[E];this.#B=E+1;let Y;switch(this.#Q){case"key":Y=U;break;case"value":Y=F;break;case"key+value":Y=[U,F];break}return{value:Y,done:!1}}}return delete I.prototype.constructor,Object.setPrototypeOf(I.prototype,ds),Object.defineProperties(I.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${A} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(E,g){return new I(E,g)}}function ns(A,Q,B,C=0,I=1){let E=cq(A,B,C,I),g={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return fU.brandCheck(this,Q),E(this,"key")}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return fU.brandCheck(this,Q),E(this,"value")}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return fU.brandCheck(this,Q),E(this,"key+value")}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(U,F=globalThis){if(fU.brandCheck(this,Q),fU.argumentLengthCheck(arguments,1,`${A}.forEach`),typeof U!=="function")throw TypeError(`Failed to execute 'forEach' on '${A}': parameter 1 is not of type 'Function'.`);for(let{0:Y,1:N}of E(this,"key+value"))U.call(F,N,Y,this)}}};return Object.defineProperties(Q.prototype,{...g,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:g.entries.value}})}async function os(A,Q,B){let C=Q,I=B,E;try{E=A.stream.getReader()}catch(g){I(g);return}try{C(await lq(E))}catch(g){I(g)}}function rs(A){return A instanceof ReadableStream||A[Symbol.toStringTag]==="ReadableStream"&&typeof A.tee==="function"}function as(A){try{A.close(),A.byobRequest?.respond(0)}catch(Q){if(!Q.message.includes("Controller is already closed")&&!Q.message.includes("ReadableStream is already closed"))throw Q}}var ss=/[^\x00-\xFF]/;function FG(A){return wE(!ss.test(A)),A}async function lq(A){let Q=[],B=0;while(!0){let{done:C,value:I}=await A.read();if(C)return Buffer.concat(Q,B);if(!Ws(I))throw TypeError("Received non-Uint8Array chunk");Q.push(I),B+=I.length}}function ts(A){wE("protocol"in A);let Q=A.protocol;return Q==="about:"||Q==="blob:"||Q==="data:"}function Q9(A){return typeof A==="string"&&A[5]===":"&&A[0]==="h"&&A[1]==="t"&&A[2]==="t"&&A[3]==="p"&&A[4]==="s"||A.protocol==="https:"}function iq(A){wE("protocol"in A);let Q=A.protocol;return Q==="http:"||Q==="https:"}function es(A,Q){let B=A;if(!B.startsWith("bytes"))return"failure";let C={position:5};if(Q)WE((U)=>U==="\t"||U===" ",B,C);if(B.charCodeAt(C.position)!==61)return"failure";if(C.position++,Q)WE((U)=>U==="\t"||U===" ",B,C);let I=WE((U)=>{let F=U.charCodeAt(0);return F>=48&&F<=57},B,C),E=I.length?Number(I):null;if(Q)WE((U)=>U==="\t"||U===" ",B,C);if(B.charCodeAt(C.position)!==45)return"failure";if(C.position++,Q)WE((U)=>U==="\t"||U===" ",B,C);let g=WE((U)=>{let F=U.charCodeAt(0);return F>=48&&F<=57},B,C),D=g.length?Number(g):null;if(C.position<B.length)return"failure";if(D===null&&E===null)return"failure";if(E>D)return"failure";return{rangeStartValue:E,rangeEndValue:D}}function At(A,Q,B){let C="bytes ";return C+=FG(`${A}`),C+="-",C+=FG(`${Q}`),C+="/",C+=FG(`${B}`),C}class pq extends gs{#A;constructor(A){super();this.#A=A}_transform(A,Q,B){if(!this._inflateStream){if(A.length===0){B();return}this._inflateStream=(A[0]&15)===8?vq.createInflate(this.#A):vq.createInflateRaw(this.#A),this._inflateStream.on("data",this.push.bind(this)),this._inflateStream.on("end",()=>this.push(null)),this._inflateStream.on("error",(C)=>this.destroy(C))}this._inflateStream.write(A,Q,B)}_final(A){if(this._inflateStream)this._inflateStream.end(),this._inflateStream=null;A()}}function Qt(A){return new pq(A)}function Bt(A){let Q=null,B=null,C=null,I=dq("content-type",A);if(I===null)return"failure";for(let E of I){let g=Ns(E);if(g==="failure"||g.essence==="*/*")continue;if(C=g,C.essence!==B){if(Q=null,C.parameters.has("charset"))Q=C.parameters.get("charset");B=C.essence}else if(!C.parameters.has("charset")&&Q!==null)C.parameters.set("charset",Q)}if(C==null)return"failure";return C}function It(A){let Q=A,B={position:0},C=[],I="";while(B.position<Q.length){if(I+=WE((E)=>E!=='"'&&E!==",",Q,B),B.position<Q.length)if(Q.charCodeAt(B.position)===34){if(I+=Ys(Q,B),B.position<Q.length)continue}else wE(Q.charCodeAt(B.position)===44),B.position++;I=Js(I,!0,!0,(E)=>E===9||E===32),C.push(I),I=""}return C}function dq(A,Q){let B=Q.get(A,!0);if(B===null)return null;return It(B)}var Ct=new TextDecoder;function Et(A){if(A.length===0)return"";if(A[0]===239&&A[1]===187&&A[2]===191)A=A.subarray(3);return Ct.decode(A)}class nq{get baseUrl(){return kq()}get origin(){return this.baseUrl?.origin}policyContainer=mq()}class oq{settingsObject=new nq}var gt=new oq;rq.exports={isAborted:cs,isCancelled:ls,isValidEncodedURL:fq,createDeferredPromise:us,ReadableStreamFrom:Ms,tryUpgradeRequestToAPotentiallyTrustworthyURL:ms,clampAndCoarsenConnectionTimingInfo:Ts,coarsenedSharedCurrentTime:Ss,determineRequestsReferrer:ks,makePolicyContainer:mq,clonePolicyContainer:vs,appendFetchMetadata:qs,appendRequestOriginHeader:Os,TAOCheck:_s,corsCheck:js,crossOriginResourcePolicyCheck:Rs,createOpaqueTimingInfo:Ps,setRequestReferrerPolicyOnRedirect:Hs,isValidHTTPToken:xq,requestBadPort:Xs,requestCurrentURL:mU,responseURL:yq,responseLocationURL:ws,isBlobLike:$s,isURLPotentiallyTrustworthy:hU,isValidReasonPhrase:Ks,sameOrigin:JG,normalizeMethod:is,serializeJavascriptValueToJSONString:ps,iteratorMixin:ns,createIterator:cq,isValidHeaderName:zs,isValidHeaderValue:hq,isErrorLike:Zs,fullyReadBody:os,bytesMatch:xs,isReadableStreamLike:rs,readableStreamClose:as,isomorphicEncode:FG,urlIsLocal:ts,urlHasHttpsScheme:Q9,urlIsHttpHttpsScheme:iq,readAllBytes:lq,simpleRangeHeaderValue:es,buildContentRange:At,parseMetadata:uq,createInflate:Qt,extractMimeType:Bt,getDecodeSplit:dq,utf8DecodeBytes:Et,environmentSettingsObject:gt}});var HC=k((E1A,aq)=>{aq.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kDispatcher:Symbol("dispatcher")}});var B9=k((g1A,sq)=>{var{Blob:Dt,File:Ut}=H("node:buffer"),{kState:rI}=HC(),{webidl:LI}=jQ();class XI{constructor(A,Q,B={}){let C=Q,I=B.type,E=B.lastModified??Date.now();this[rI]={blobLike:A,name:C,type:I,lastModified:E}}stream(...A){return LI.brandCheck(this,XI),this[rI].blobLike.stream(...A)}arrayBuffer(...A){return LI.brandCheck(this,XI),this[rI].blobLike.arrayBuffer(...A)}slice(...A){return LI.brandCheck(this,XI),this[rI].blobLike.slice(...A)}text(...A){return LI.brandCheck(this,XI),this[rI].blobLike.text(...A)}get size(){return LI.brandCheck(this,XI),this[rI].blobLike.size}get type(){return LI.brandCheck(this,XI),this[rI].blobLike.type}get name(){return LI.brandCheck(this,XI),this[rI].name}get lastModified(){return LI.brandCheck(this,XI),this[rI].lastModified}get[Symbol.toStringTag](){return"File"}}LI.converters.Blob=LI.interfaceConverter(Dt);function Ft(A){return A instanceof Ut||A&&(typeof A.stream==="function"||typeof A.arrayBuffer==="function")&&A[Symbol.toStringTag]==="File"}sq.exports={FileLike:XI,isFileLike:Ft}});var uU=k((D1A,BO)=>{var{isBlobLike:NG,iteratorMixin:Yt}=XB(),{kState:pQ}=HC(),{kEnumerableProperty:$0}=WA(),{FileLike:tq,isFileLike:Jt}=B9(),{webidl:dA}=jQ(),{File:QO}=H("node:buffer"),eq=H("node:util"),AO=globalThis.File??QO;class ZI{constructor(A){if(dA.util.markAsUncloneable(this),A!==void 0)throw dA.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]});this[pQ]=[]}append(A,Q,B=void 0){dA.brandCheck(this,ZI);let C="FormData.append";if(dA.argumentLengthCheck(arguments,2,C),arguments.length===3&&!NG(Q))throw TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'");A=dA.converters.USVString(A,C,"name"),Q=NG(Q)?dA.converters.Blob(Q,C,"value",{strict:!1}):dA.converters.USVString(Q,C,"value"),B=arguments.length===3?dA.converters.USVString(B,C,"filename"):void 0;let I=I9(A,Q,B);this[pQ].push(I)}delete(A){dA.brandCheck(this,ZI);let Q="FormData.delete";dA.argumentLengthCheck(arguments,1,Q),A=dA.converters.USVString(A,Q,"name"),this[pQ]=this[pQ].filter((B)=>B.name!==A)}get(A){dA.brandCheck(this,ZI);let Q="FormData.get";dA.argumentLengthCheck(arguments,1,Q),A=dA.converters.USVString(A,Q,"name");let B=this[pQ].findIndex((C)=>C.name===A);if(B===-1)return null;return this[pQ][B].value}getAll(A){dA.brandCheck(this,ZI);let Q="FormData.getAll";return dA.argumentLengthCheck(arguments,1,Q),A=dA.converters.USVString(A,Q,"name"),this[pQ].filter((B)=>B.name===A).map((B)=>B.value)}has(A){dA.brandCheck(this,ZI);let Q="FormData.has";return dA.argumentLengthCheck(arguments,1,Q),A=dA.converters.USVString(A,Q,"name"),this[pQ].findIndex((B)=>B.name===A)!==-1}set(A,Q,B=void 0){dA.brandCheck(this,ZI);let C="FormData.set";if(dA.argumentLengthCheck(arguments,2,C),arguments.length===3&&!NG(Q))throw TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'");A=dA.converters.USVString(A,C,"name"),Q=NG(Q)?dA.converters.Blob(Q,C,"name",{strict:!1}):dA.converters.USVString(Q,C,"name"),B=arguments.length===3?dA.converters.USVString(B,C,"name"):void 0;let I=I9(A,Q,B),E=this[pQ].findIndex((g)=>g.name===A);if(E!==-1)this[pQ]=[...this[pQ].slice(0,E),I,...this[pQ].slice(E+1).filter((g)=>g.name!==A)];else this[pQ].push(I)}[eq.inspect.custom](A,Q){let B=this[pQ].reduce((I,E)=>{if(I[E.name])if(Array.isArray(I[E.name]))I[E.name].push(E.value);else I[E.name]=[I[E.name],E.value];else I[E.name]=E.value;return I},{__proto__:null});Q.depth??=A,Q.colors??=!0;let C=eq.formatWithOptions(Q,B);return`FormData ${C.slice(C.indexOf("]")+2)}`}}Yt("FormData",ZI,pQ,"name","value");Object.defineProperties(ZI.prototype,{append:$0,delete:$0,get:$0,getAll:$0,has:$0,set:$0,[Symbol.toStringTag]:{value:"FormData",configurable:!0}});function I9(A,Q,B){if(typeof Q==="string");else{if(!Jt(Q))Q=Q instanceof Blob?new AO([Q],"blob",{type:Q.type}):new tq(Q,"blob",{type:Q.type});if(B!==void 0){let C={type:Q.type,lastModified:Q.lastModified};Q=Q instanceof QO?new AO([Q],B,C):new tq(Q,B,C)}}return{name:A,value:Q}}BO.exports={FormData:ZI,makeEntry:I9}});var UO=k((U1A,DO)=>{var{isUSVString:IO,bufferToLowerCasedHeaderName:Nt}=WA(),{utf8DecodeBytes:Gt}=XB(),{HTTP_TOKEN_CODEPOINTS:$t,isomorphicDecode:CO}=IB(),{isFileLike:Mt}=B9(),{makeEntry:Vt}=uU(),GG=H("node:assert"),{File:Wt}=H("node:buffer"),wt=globalThis.File??Wt,Lt=Buffer.from('form-data; name="'),EO=Buffer.from("; filename"),Xt=Buffer.from("--"),Zt=Buffer.from(`--\r
|
|
@@ -207,7 +207,7 @@ ${A}`}function O3(A,Q,B,C,I){let{interactiveDashboardTask:E,messageType:g}=B,D=m
|
|
|
207
207
|
`,"config.json",Q?.stat),{config:I,source:"prev",primaryError:B}}function E7(A){return JSON.parse(sg(A,"config.json").body)}function g7(A,Q){let B=sg(A,"config.json");vN(A,JSON.stringify(Q,null,2)+`
|
|
208
208
|
`,"config.json",B.stat)}function D7(A){let Q=sg(A,"config.json");return vN(`${A}.prev`,Q.body,"config.json.prev"),{backedUp:!0}}function U7(A,Q){let B=sg(A,"config.json"),C=JSON.parse(B.body);if(C.session===Q)return!1;return C.session=Q,vN(A,JSON.stringify(C,null,2)+`
|
|
209
209
|
`,"config.json",B.stat),!0}mN();async function W7(A,Q){let B=!1,C;for(let I of A)try{await Q(I)}catch(E){if(!B)C=E;B=!0}if(B)throw C}function Q6(A,Q){let B=Promise.resolve(),C=new Map,I=async(E)=>{let g=Q?.initialDelayMs??0;while(!0)try{await E();return}catch(D){if(A(D),!Q)return;await new Promise((U)=>{setTimeout(U,g).unref?.()}),g=Math.min(g*2,Q.maxDelayMs)}};return{schedule(E){let g=C.get(E);if(g){g.dirty=!0;return}let D={dirty:!1};C.set(E,D);let U=async()=>{try{do D.dirty=!1,await I(E);while(D.dirty)}finally{C.delete(E)}};B=B.then(U,U)},idle(){return B}}}function w7(A){if(A.meta&&typeof A.meta==="object"&&!Array.isArray(A.meta))return A.meta;if(typeof A.meta_json!=="string"||A.meta_json.length===0)return null;try{let Q=JSON.parse(A.meta_json);return Q&&typeof Q==="object"&&!Array.isArray(Q)?Q:null}catch{return null}}function B6(A){let Q=A.type??"task";if(Q!=="task"&&Q!=="broadcast")return!1;let B=w7(A);if(!B||B.source!=="dashboard-chat")return!1;if(typeof B.client_request_id!=="string"||!/^dreq_[a-f0-9]{32}$/.test(B.client_request_id))return!1;return B.auth_origin==="user"}function L7(A){if(!B6(A))return null;let Q=w7(A)?.client_request_id;return typeof Q==="string"?Q:null}async function X7(A,Q){for(let B of A)await Q(B)}function Z7(A){if(!Number.isInteger(A.maxConcurrent)||A.maxConcurrent<1)throw Error("maxConcurrent must be a positive integer");let Q=new Set,B=new Set,C=[],I=()=>{while(Q.size<A.maxConcurrent&&C.length>0){let E=C.shift(),g=A.key(E.message);B.delete(g),Q.add(g);let D;try{D=E.handler(E.message)}catch(U){D=Promise.reject(U)}D.catch(A.onError).finally(()=>{Q.delete(g);try{A.onSettled?.()}catch(U){A.onError(U)}finally{I()}})}};return{submit(E,g){let D=0,U=0;for(let F of E){let Y=A.key(F);if(Q.has(Y)||B.has(Y)){U++;continue}B.add(Y),C.push({message:F,handler:g}),D++}return I(),{active:Q.size,queued:C.length,accepted:D,deduplicated:U}},stats(){return{active:Q.size,queued:C.length}}}}function K7(A,Q){return A!=="codex-app-server"||Q===0}var yn={self:"sender alias equals node alias; reply-loop guard","own-prefix":"message carries this node's own reply prefix; reply-loop guard",cooldown:"sender cooldown is active","low-value-inbound":"non-task message matched the low-value filter"};function z7(A){let Q=yn[A.reason]||"inbound filter rejected the message";return`skipped inbound ${A.messageType} ${A.taskId} from ${A.sender}: ${A.reason} (${Q}); acknowledged without model delivery`}function uN(){let A=null;return{run(Q){if(A)return A;let B=Promise.resolve().then(Q);return A=B,B.finally(()=>{if(A===B)A=null}).catch(()=>{}),B},pending(){return A}}}function H7(){let A=null,Q=uN();return{async getOrOpen(B){if(A?.isRunning)return A;return Q.run(async()=>{if(A?.isRunning)return A;A=null;let C=await B();if(!C.isRunning)throw Error("codex app-server session stopped while opening");return A=C,C})},invalidate(B){if(!B||A===B)A=null},current(){return A},pending(){return Q.pending()}}}zU();import{closeSync as HU,constants as iI,existsSync as ln,fchmodSync as lN,fstatSync as j7,fsyncSync as pn,ftruncateSync as dn,lstatSync as nn,mkdirSync as on,openSync as D6,readdirSync as rn,readFileSync as an,realpathSync as g6,writeSync as sn}from"node:fs";import{join as _7,resolve as U6}from"node:path";function q7(){return process.platform==="linux"&&ln("/proc/self/fd")}function O7(A,Q){return q7()?`/proc/self/fd/${A}`:Q}function T7(A,Q){let B=j7(A),C=process.getuid?.();if(!B.isFile()||B.nlink!==1||C!==void 0&&B.uid!==C)throw Error(`private log is not a single owner-controlled file: ${Q}`);lN(A,384)}function S7(A){let Q=U6(A);if(g6(Q)!==Q)throw Error(`private log directory is not canonical: ${Q}`);let B=D6(Q,iI.O_RDONLY|(iI.O_DIRECTORY||0)|(iI.O_NOFOLLOW||0));try{let C=j7(B),I=process.getuid?.();if(!C.isDirectory()||I!==void 0&&C.uid!==I)throw Error(`private log directory is not owner-controlled: ${Q}`);if(q7()&&g6(`/proc/self/fd/${B}`)!==Q)throw Error(`private log directory changed during validation: ${Q}`);if(process.platform!=="win32")lN(B,448);return B}catch(C){throw HU(B),C}}function P7(A,Q,B){let C=0;while(C<Q.length){let I=sn(A,Q,C,Q.length-C,B===null?null:B+C);if(I<=0)throw Error("private log write made no progress");C+=I}}function tn(A,Q){let B=D6(A,iI.O_RDWR|(iI.O_NOFOLLOW||0));try{T7(B,A);let C=Buffer.from(Q.redactText(an(B,"utf8")).text,"utf8");if(dn(B,0),C.length>0)P7(B,C,0);pn(B),lN(B,384)}finally{HU(B)}}function v7(A,Q){let B=U6(A);on(B,{recursive:!0,mode:448});let C=nn(B),I=process.getuid?.();if(C.isSymbolicLink()||!C.isDirectory()||g6(B)!==B||I!==void 0&&C.uid!==I)throw Error(`private log directory is not owner-controlled: ${B}`);let E=S7(B);try{let g=O7(E,B);for(let D of rn(g)){if(!D.endsWith(".log"))continue;tn(_7(g,D),Q)}}finally{HU(E)}return B}function k7(A,Q,B,C){if(!/^\d{4}-\d{2}-\d{2}\.log$/.test(Q))throw Error("private log filename is not a canonical daily log name");let I=S7(A),E=_7(O7(I,U6(A)),Q),g;try{g=D6(E,iI.O_WRONLY|iI.O_CREAT|iI.O_APPEND|(iI.O_NOFOLLOW||0),384),T7(g,E);let D=Buffer.from(C.redactText(B).text,"utf8");if(D.length>0)P7(g,D,null);lN(g,384)}finally{if(g!==void 0)HU(g);HU(I)}}function F6(A){return JSON.stringify(A)}function x7(A){let Q=A.configNodeId||"",B=A.envNodeId||"";if(Q){if(B&&B!==Q)A.warn?.(`COMMHUB_NODE_ID mismatch: env=${F6(B)} config=${F6(Q)} config_path=${F6(A.configPath||"config.json")}; ignoring env COMMHUB_NODE_ID, using config node_id`);return{value:Q,source:"config"}}if(B)return{value:B,source:"env"};return{value:"",source:"none"}}function en(A){let Q=A?.task_id||A?.message_id||A?.id;if(Q)return String(Q);let B=A?.content?.[0]?.text;if(typeof B!=="string")return null;try{let C=JSON.parse(B);return C?.task_id||C?.message_id||C?.id||null}catch{return null}}function A0(A,Q,B,C={}){let I=DN({from_alias:A.fromAlias,to_alias:A.toAlias,task_id:B,parent_task_id:A.parentTaskId,network_id:A.networkId,transport:"mcp_http",status:Q,duration_ms:Date.now()-A.startedAt,lifecycle_tracking:"tracked",...C.errorCode?{error_code:C.errorCode}:{},...C.errorMessage?{error_message:EN(C.errorMessage)}:{}});if(C.event)I.event=C.event;A.log(gN(I))}async function b7(A,Q,B){let C=B.now??Date.now,I=B.sleep??((V)=>new Promise((M)=>setTimeout(M,V))),E=B.timeoutMs??120000,g=B.pollIntervalMs??2000,D=B.stale30Ms??30000,U=B.stale60Ms??60000,F=B.emit,Y=C()+E,N=null,J=new Set,G=!1,$=!1;while(C()<Y){N=await B.getTask(A);let V=N?.task||N,M=V?.status;if((M==="acked"||M==="running"||M==="processing")&&!J.has(M))J.add(M),F(M==="acked"?"acked":"started",A);if(M==="replied"||M==="failed"||M==="cancelled")return F(M==="replied"?"replied":"failed",A,{...M==="replied"?{}:{errorCode:`task_${M}`,event:"task.failed"}}),{kind:"terminal",status:M,latest:N,row:V};let W=C()-Q;if(!G&&W>=D&&M==="delivered")G=!0,F("delivered",A,{event:"task.warning.delivered_stale_30s"});if(!$&&W>=U&&M==="delivered")$=!0,F("delivered",A,{event:"task.warning.delivered_stale_60s"});await I(g)}return F("expired",A,{errorCode:"lifecycle_timeout"}),{kind:"expired",latest:N}}async function y7(A,Q,B){A0(Q,"sending",null);try{let C=await B({alias:A.alias,task:A.task,priority:A.priority||"normal",from_session:Q.fromAlias,parent_task_id:Q.parentTaskId||void 0}),I=en(C);if(!I)A0(Q,"failed",null,{errorCode:"missing_task_id",errorMessage:"CommHub response omitted task_id"});else A0(Q,"delivered",I);return C}catch(C){throw A0(Q,"failed",null,{errorCode:"send_failed",errorMessage:C}),C}}function f7(A){let Q=A||"task";if(Q==="task"||Q==="broadcast")return{deliverToRuntime:!0,replyExpected:!0};if(Q==="reply")return{deliverToRuntime:!0,replyExpected:!1};return{deliverToRuntime:!1,replyExpected:!1}}async function h7(A,Q,B){let C=await B.deliverToRuntime(A);if(Q)return{kind:"request",result:C};return await B.acknowledge(A.id),{kind:"terminal_peer_reply",result:C}}function m7(A,Q){if(A.type!=="new_reply")return!1;return Q(),!0}function Y6(){return{hubSupportsTool:null}}function Ao(A){if(!(A instanceof bB))return!1;if(A.code===-32601)return!0;let Q=String(A.message||"");return A.code===-32602&&/(?:unknown|not found|does not exist).{0,80}send_peer_reply|send_peer_reply.{0,80}(?:unknown|not found|does not exist)/i.test(Q)}function Qo(A){if(!(A instanceof bB))return!1;return A.code==="peer_reply_unsupported"||A.code==="peer_reply_origin_not_node"||A.code==="reply_task_not_owned"||A.code==="peer_reply_node_token_required"||Ao(A)}async function u7(A,Q,B=Y6()){try{let C=await Q.sendAtomic(A);return B.hubSupportsTool=!0,{route:"atomic",payload:C}}catch(C){if(!Qo(C))throw C;return{route:"legacy-reply",payload:await Q.sendLegacyReply(A)}}}import{chmodSync as c7,closeSync as J6,existsSync as Bo,fchmodSync as Io,fsyncSync as Co,openSync as l7,readFileSync as Eo,renameSync as go,unlinkSync as i7,writeFileSync as Do}from"node:fs";import{randomBytes as Uo}from"node:crypto";var p7=15000,Fo=2500,o7=300000,RU=2000,Yo=new Set(["replied","failed","cancelled","expired"]);function G6(A){if(A===void 0||A===null||String(A).trim()==="")return p7;let Q=Number(A);if(!Number.isSafeInteger(Q))return p7;return Math.min(o7,Math.max(Fo,Q))}function N6(){return{version:3,consumed_task_ids:[],consumed_client_request_ids:[],surfaced_outbound_terminal_ids:[],outbound_deliveries:[],outbound_terminal_watermark:0,inbound_lifecycle:[],last_success_at:null}}function zC(A){if(!Array.isArray(A))return[];return[...new Set(A.filter((Q)=>typeof Q==="string"&&Q.length>0&&Q.length<=512))].slice(-RU)}function Jo(A){if(!A||typeof A!=="object")return N6();let Q=A;return{version:3,consumed_task_ids:zC(Q.consumed_task_ids),consumed_client_request_ids:zC(Q.consumed_client_request_ids),surfaced_outbound_terminal_ids:zC(Q.surfaced_outbound_terminal_ids),outbound_deliveries:Array.isArray(Q.outbound_deliveries)?Q.outbound_deliveries.filter((B)=>!!B&&typeof B.task_id==="string"&&typeof B.idempotency_key==="string"&&["pending","delivering","delivered"].includes(B.state)).slice(-RU):zC(Q.surfaced_outbound_terminal_ids).map((B)=>({task_id:B,idempotency_key:`commhub-terminal:${B}`,state:"delivered"})),outbound_terminal_watermark:Number.isSafeInteger(Q.outbound_terminal_watermark)&&Number(Q.outbound_terminal_watermark)>=0?Number(Q.outbound_terminal_watermark):0,inbound_lifecycle:Array.isArray(Q.inbound_lifecycle)?Q.inbound_lifecycle.filter((B)=>!!B&&typeof B.task_id==="string"&&["delivered","submitted","consumed","completed"].includes(B.state)).slice(-RU):zC(Q.consumed_task_ids).map((B)=>({task_id:B,state:"consumed"})),last_success_at:typeof Q.last_success_at==="string"?Q.last_success_at:null}}function d7(A){return L7(A)}function n7(A){return typeof A.task_id==="string"&&A.task_id?A.task_id:A.id}function No(A){let Q=A,B=String(Q?.message??A??"");return Q?.code===-32601||Q?.code===-32602||/unknown tool|tool .+ not found|method not found|-3260[12]/i.test(B)}class r7{path;state;constructor(A){this.path=A;this.state=this.read()}snapshot(){return this.state=this.read(),this.state}update(A){this.withLock(()=>{let Q=this.read();A(Q),Q.consumed_task_ids=zC(Q.consumed_task_ids),Q.consumed_client_request_ids=zC(Q.consumed_client_request_ids),Q.surfaced_outbound_terminal_ids=zC(Q.surfaced_outbound_terminal_ids),Q.outbound_deliveries=Q.outbound_deliveries.filter((B)=>B.state!=="delivered").slice(-RU),Q.inbound_lifecycle=Q.inbound_lifecycle.slice(-RU),this.write(Q),this.state=Q})}claimOutbound(A,Q,B,C){return this.withLock(()=>{let I=this.read(),E=I.outbound_deliveries.find((g)=>g.task_id===A);if(E?.state==="delivered"||E?.state==="delivering"&&(E.lease_until??0)>B)return!1;if(E)E.state="delivering",E.lease_until=B+C;else I.outbound_deliveries.push({task_id:A,idempotency_key:Q,state:"delivering",lease_until:B+C});return this.write(I),this.state=I,!0},!1)}withLock(A,Q){let B=`${this.path}.lock`,C;try{C=l7(B,"wx",384)}catch{if(arguments.length>1)return Q;throw Error("compensation cursor is locked")}try{return A()}finally{J6(C);try{i7(B)}catch{}}}read(){if(!Bo(this.path))return N6();try{let A=Jo(JSON.parse(Eo(this.path,"utf8")));return c7(this.path,384),A}catch{return N6()}}write(A){let Q=`${this.path}.tmp-${process.pid}-${Uo(6).toString("hex")}`,B=null;try{B=l7(Q,"wx",384),Io(B,384),Do(B,`${JSON.stringify(A)}
|
|
210
|
-
`,"utf8"),Co(B),J6(B),B=null,go(Q,this.path),c7(this.path,384)}finally{if(B!==null)J6(B);try{i7(Q)}catch{}}}}function a7(A){let Q=G6(A.intervalMs),B=A.adapters,C=new r7(A.cursorPath),I="probing",E=null,g=!1,D=!1,U=null,F=0,Y=!1,N=B.now??Date.now,J=Math.max(30000,Q*2),G=B.setTimer??((q,x)=>{let u=setTimeout(q,x);return u.unref?.(),u}),$=B.clearTimer??((q)=>clearTimeout(q)),V=(q)=>{let x=C.snapshot(),u=n7(q),h=d7(q);return x.consumed_task_ids.includes(u)||!!h&&x.consumed_client_request_ids.includes(h)},M=(q)=>{let x=n7(q),u=d7(q);C.update((h)=>{if(h.consumed_task_ids.push(x),u)h.consumed_client_request_ids.push(u);let n=h.inbound_lifecycle.find((P)=>P.task_id===x);if(n)n.state="completed";else h.inbound_lifecycle.push({task_id:x,state:"completed"})})},W={delivered:0,submitted:1,consumed:2,completed:3},L=(q,x)=>{if(!q)return;C.update((u)=>{let h=u.inbound_lifecycle.find((n)=>n.task_id===q);if(!h)u.inbound_lifecycle.push({task_id:q,state:x});else if(W[x]>W[h.state])h.state=x;if(W[x]>=W.consumed)u.consumed_task_ids.push(q)})},Z=(q)=>{if(D||I==="realtime-only")return;if(U!==null)$(U);U=G(()=>{U=null,O("timer")},q)},X=async(q)=>{try{let x=C.snapshot().outbound_terminal_watermark,[u,h]=await Promise.all([B.getInbox(),B.listOutbound(x)]),n=h.tasks;if(I==="probing")I="active",B.log(`[commhub-compensation] active (${Q}ms; SSE remains primary)`);if(u.some((P)=>!V(P)))B.scheduleInboxDrain();for(let P of n){if(!P?.task_id||!Yo.has(P.status))continue;if(!Number.isSafeInteger(P.terminal_seq)||Number(P.terminal_seq)<=0)throw Object.assign(Error("Hub terminal sequence missing"),{code:-32602});let p=Number(P.terminal_seq),RA=C.snapshot();if(p<=RA.outbound_terminal_watermark)continue;let HQ=C.snapshot().outbound_deliveries.find((IA)=>IA.task_id===P.task_id);if(HQ?.state==="delivered"){C.update((IA)=>{IA.outbound_terminal_watermark=Math.max(IA.outbound_terminal_watermark,p)});continue}let JQ=HQ?.idempotency_key??`commhub-terminal:${P.task_id}`;if(!C.claimOutbound(P.task_id,JQ,N(),J))break;try{await B.onOutboundTerminal(P,JQ)}catch(IA){throw C.update((nA)=>{let XQ=nA.outbound_deliveries.find((QA)=>QA.task_id===P.task_id);if(XQ)XQ.state="pending",XQ.lease_until=0}),IA}C.update((IA)=>{let nA=IA.outbound_deliveries.find((XQ)=>XQ.task_id===P.task_id);if(nA)nA.state="delivered",nA.lease_until=0;IA.outbound_terminal_watermark=Math.max(IA.outbound_terminal_watermark,p)})}if(C.update((P)=>{P.last_success_at=new Date(N()).toISOString()}),h.hasMore)g=!0;F=0,B.log(`[commhub-compensation] ${q} poll ok; inbox=${u.length} outbound=${n.length}`),Z(Q)}catch(x){if(No(x)){if(I="realtime-only",!Y)Y=!0,B.warn("[commhub-compensation] Hub lacks durable inbox/outbox polling capability; realtime-only mode (SSE/turn-steer only)");return}F++;let u=Math.min(o7,Q*2**Math.min(F,5));B.warn(`[commhub-compensation] poll failed; retry in ${u}ms: ${x instanceof Error?x.message:String(x)}`),Z(u)}},O=(q)=>{if(D||I==="realtime-only")return;if(E){g=!0;return}E=(async()=>{let x=q;do g=!1,await X(x),x="idle";while(g&&!D&&I!=="realtime-only")})().finally(()=>{E=null})};return{get mode(){return I},trigger:O,recordConsumed:M,recordLifecycle:L,wasConsumed:V,async idle(){await E},stop(){if(D=!0,U!==null)$(U);U=null}}}import{appendFileSync as Yu,mkdirSync as S2}from"fs";var s7={name:"@sleep2agi/agent-node",version:"2.5.0-preview.
|
|
210
|
+
`,"utf8"),Co(B),J6(B),B=null,go(Q,this.path),c7(this.path,384)}finally{if(B!==null)J6(B);try{i7(Q)}catch{}}}}function a7(A){let Q=G6(A.intervalMs),B=A.adapters,C=new r7(A.cursorPath),I="probing",E=null,g=!1,D=!1,U=null,F=0,Y=!1,N=B.now??Date.now,J=Math.max(30000,Q*2),G=B.setTimer??((q,x)=>{let u=setTimeout(q,x);return u.unref?.(),u}),$=B.clearTimer??((q)=>clearTimeout(q)),V=(q)=>{let x=C.snapshot(),u=n7(q),h=d7(q);return x.consumed_task_ids.includes(u)||!!h&&x.consumed_client_request_ids.includes(h)},M=(q)=>{let x=n7(q),u=d7(q);C.update((h)=>{if(h.consumed_task_ids.push(x),u)h.consumed_client_request_ids.push(u);let n=h.inbound_lifecycle.find((P)=>P.task_id===x);if(n)n.state="completed";else h.inbound_lifecycle.push({task_id:x,state:"completed"})})},W={delivered:0,submitted:1,consumed:2,completed:3},L=(q,x)=>{if(!q)return;C.update((u)=>{let h=u.inbound_lifecycle.find((n)=>n.task_id===q);if(!h)u.inbound_lifecycle.push({task_id:q,state:x});else if(W[x]>W[h.state])h.state=x;if(W[x]>=W.consumed)u.consumed_task_ids.push(q)})},Z=(q)=>{if(D||I==="realtime-only")return;if(U!==null)$(U);U=G(()=>{U=null,O("timer")},q)},X=async(q)=>{try{let x=C.snapshot().outbound_terminal_watermark,[u,h]=await Promise.all([B.getInbox(),B.listOutbound(x)]),n=h.tasks;if(I==="probing")I="active",B.log(`[commhub-compensation] active (${Q}ms; SSE remains primary)`);if(u.some((P)=>!V(P)))B.scheduleInboxDrain();for(let P of n){if(!P?.task_id||!Yo.has(P.status))continue;if(!Number.isSafeInteger(P.terminal_seq)||Number(P.terminal_seq)<=0)throw Object.assign(Error("Hub terminal sequence missing"),{code:-32602});let p=Number(P.terminal_seq),RA=C.snapshot();if(p<=RA.outbound_terminal_watermark)continue;let HQ=C.snapshot().outbound_deliveries.find((IA)=>IA.task_id===P.task_id);if(HQ?.state==="delivered"){C.update((IA)=>{IA.outbound_terminal_watermark=Math.max(IA.outbound_terminal_watermark,p)});continue}let JQ=HQ?.idempotency_key??`commhub-terminal:${P.task_id}`;if(!C.claimOutbound(P.task_id,JQ,N(),J))break;try{await B.onOutboundTerminal(P,JQ)}catch(IA){throw C.update((nA)=>{let XQ=nA.outbound_deliveries.find((QA)=>QA.task_id===P.task_id);if(XQ)XQ.state="pending",XQ.lease_until=0}),IA}C.update((IA)=>{let nA=IA.outbound_deliveries.find((XQ)=>XQ.task_id===P.task_id);if(nA)nA.state="delivered",nA.lease_until=0;IA.outbound_terminal_watermark=Math.max(IA.outbound_terminal_watermark,p)})}if(C.update((P)=>{P.last_success_at=new Date(N()).toISOString()}),h.hasMore)g=!0;F=0,B.log(`[commhub-compensation] ${q} poll ok; inbox=${u.length} outbound=${n.length}`),Z(Q)}catch(x){if(No(x)){if(I="realtime-only",!Y)Y=!0,B.warn("[commhub-compensation] Hub lacks durable inbox/outbox polling capability; realtime-only mode (SSE/turn-steer only)");return}F++;let u=Math.min(o7,Q*2**Math.min(F,5));B.warn(`[commhub-compensation] poll failed; retry in ${u}ms: ${x instanceof Error?x.message:String(x)}`),Z(u)}},O=(q)=>{if(D||I==="realtime-only")return;if(E){g=!0;return}E=(async()=>{let x=q;do g=!1,await X(x),x="idle";while(g&&!D&&I!=="realtime-only")})().finally(()=>{E=null})};return{get mode(){return I},trigger:O,recordConsumed:M,recordLifecycle:L,wasConsumed:V,async idle(){await E},stop(){if(D=!0,U!==null)$(U);U=null}}}import{appendFileSync as Yu,mkdirSync as S2}from"fs";var s7={name:"@sleep2agi/agent-node",version:"2.5.0-preview.54",description:"AI Agent runtime for CommHub networks. Supports Claude Code CLI, Claude Agent SDK, Codex SDK, Codex app-server, Grok Build ACP, and OpenCode CLI.",bin:{"agent-node":"dist/cli.js"},type:"module",files:["dist","README.md"],scripts:{build:"bun build src/cli.ts --outdir dist --entry-naming cli.js --target node --minify --external @anthropic-ai/claude-agent-sdk --external '@anthropic-ai/claude-agent-sdk-*' --external @openai/codex-sdk --external node-pty && bun build src/upload-file-mcp-stdio.ts --outdir dist --entry-naming upload-file-mcp-stdio.js --target node --minify",prepublishOnly:"npm run build"},keywords:["agent","ai","commhub","claude","claude-code","codex","gpt5","grok","xai","grok-build-cli","copresence","acp","sdk","minimax","mimo","runtime","node","anthropic"],author:"sleep2agi",license:"Apache-2.0",homepage:"https://anet.sh",repository:{type:"git",url:"git+https://github.com/sleep2agi/agent-network.git",directory:"agent-node"},publishConfig:{access:"public",tag:"preview"},bugs:{url:"https://github.com/sleep2agi/agent-network/issues"},engines:{node:">=18.17.0"},dependencies:{"@anthropic-ai/claude-agent-sdk":"^0.3.226",undici:"^6.27.0",zod:"^4.4.3"},optionalDependencies:{"@openai/codex":"^0.133.0","@openai/codex-sdk":"^0.133.0","node-pty":"^1.1.0"}};var __dirname="/home/runner/work/agent-network/agent-network/agent-node/src";var ND;function v$A(){if(ND!==void 0)return ND??void 0;if(_?.role!=="host_supervisor"){ND=null;return}try{(TU(),dK(oN)).loadAndVerifyAnetBin(),ND={ok:!0}}catch(A){let Q=A?.anetBinCode;ND={ok:!1,reason:["anet_bin_identity","anet_bin_source","anet_bin_shape","anet_bin_permission"].includes(Q)?Q:"anet_bin_unknown"}}return ND}var VB=P$A(),k$A=Y6(),Au=process.env.ANET_OPENCODE_BIN,FY=process.env.ANET_OPENCODE_VERSION,Qu=process.env.PATH||"",qm=process.env.ANET_OPENCODE_SAFE_BASE,tQ=process.argv.slice(2),wA={},Bu=[];if(tQ.length===1&&tQ[0]==="--print-entrypoint")console.log(T$A(process.argv[1])),process.exit(0);var Iu="2.1.0";try{let A=new URL(".",import.meta.url).pathname;for(let Q of["../package.json","../../package.json"])try{let B=JSON.parse(bI(gA(A,Q),"utf-8"));if(B.version){Iu=B.version;break}}catch{}}catch{}for(let A=0;A<tQ.length;A++){if(tQ[A]==="--version"||tQ[A]==="-v")console.log(`agent-node v${Iu}`),process.exit(0);if(tQ[A]==="-h"||tQ[A]==="--help")console.log(`
|
|
211
211
|
@sleep2agi/agent-node — AI Agent 节点,一行命令加入 CommHub 网络
|
|
212
212
|
|
|
213
213
|
用法:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sleep2agi/agent-node",
|
|
3
|
-
"version": "2.5.0-preview.
|
|
3
|
+
"version": "2.5.0-preview.54",
|
|
4
4
|
"description": "AI Agent runtime for CommHub networks. Supports Claude Code CLI, Claude Agent SDK, Codex SDK, Codex app-server, Grok Build ACP, and OpenCode CLI.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"agent-node": "dist/cli.js"
|