knitting 0.1.70 → 0.1.73
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/README.md +101 -10
- package/knitting.browser.d.ts +3 -1
- package/knitting.browser.js +1 -1
- package/knitting.d.ts +3 -1
- package/knitting.js +2 -1
- package/package.json +8 -3
- package/prebuilds/win32-x64/knitting_windows_shared_memory.dll +0 -0
- package/prebuilds/win32-x64-node-127/knitting_buffer_pointer.node +0 -0
- package/prebuilds/win32-x64-node-127/knitting_doorbell.node +0 -0
- package/prebuilds/win32-x64-node-127/knitting_shared_memory.node +0 -0
- package/prebuilds/win32-x64-node-127/knitting_shm.node +0 -0
- package/prebuilds/win32-x64-node-137/knitting_buffer_pointer.node +0 -0
- package/prebuilds/win32-x64-node-137/knitting_doorbell.node +0 -0
- package/prebuilds/win32-x64-node-137/knitting_shared_memory.node +0 -0
- package/prebuilds/win32-x64-node-137/knitting_shm.node +0 -0
- package/src/api.js +58 -34
- package/src/connections/node-addons.js +11 -1
- package/src/debug/gate.js +1 -1
- package/src/debug/handle.d.ts +6 -1
- package/src/debug/handle.js +14 -6
- package/src/error.d.ts +9 -0
- package/src/error.js +16 -2
- package/src/memory/lock.d.ts +48 -6
- package/src/memory/lock.js +350 -142
- package/src/memory/payloadCodec.js +31 -11
- package/src/permission/protocol.d.ts +1 -0
- package/src/permission/protocol.js +8 -3
- package/src/runtime/dispatcher.d.ts +6 -1
- package/src/runtime/dispatcher.js +24 -8
- package/src/runtime/inline-executor.js +2 -1
- package/src/runtime/pool.d.ts +13 -4
- package/src/runtime/pool.js +107 -47
- package/src/runtime/process-worker.js +10 -1
- package/src/runtime/tx-queue.d.ts +2 -1
- package/src/runtime/tx-queue.js +11 -0
- package/src/runtime/worker-common.d.ts +7 -0
- package/src/runtime/worker-common.js +28 -2
- package/src/types.d.ts +35 -11
- package/src/worker/loop.js +17 -4
- package/src/worker/safety/index.d.ts +1 -1
- package/src/worker/safety/index.js +1 -1
- package/src/worker/safety/process.d.ts +2 -0
- package/src/worker/safety/process.js +8 -1
- package/src/worker/safety/startup.js +11 -6
- package/src/worker/timers.js +25 -3
package/knitting.browser.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var Ai=Object.defineProperty;var Bi=(e)=>e;function wi(e,r){this[e]=Bi.bind(null,r)}var Ti=(e,r)=>{for(var t in r)Ai(e,t,{get:r[t],enumerable:!0,configurable:!0,set:wi.bind(r,t)})};var ki=(e,r)=>()=>(e&&(r=e(e=0)),r);var wo=()=>({keys:new Set(Reflect.ownKeys(globalThis))}),hs=(e,r)=>{let t=[],o=[];for(let s of r.keys)if(!e.keys.has(s))t.push(s);for(let s of e.keys)if(!r.keys.has(s))o.push(s);return{added:t,removed:o}},Ss=(e)=>{let r=typeof e==="symbol"?e.toString():e,t;try{t=Object.getOwnPropertyDescriptor(globalThis,e)}catch{return r}if(t===void 0)return r;let o=t.get!==void 0||t.set!==void 0?"accessor":typeof t.value,s=`${t.writable===!1?"":"w"}${t.configurable?"c":""}${t.enumerable?"e":""}`;return s.length>0?`${r} (${o} ${s})`:`${r} (${o})`};var As={};Ti(As,{initDebug:()=>Tc});var Tc=({name:e,runtime:r,namespaces:t})=>{let o=t.has("*"),s=(I)=>o||t.has(I),c=performance.now(),u=`${e}·${r}`,d=(I,E)=>{if(!s(I))return;let P=(performance.now()-c).toFixed(1);console.error(`[${u}·+${P}ms] ${I}: ${E}`)},S=s("globals")?wo():void 0;return{enabled:s,log:d,envPhase:(I)=>{if(S===void 0)return;let E=wo(),{added:P,removed:A}=hs(S,E);if(S=E,P.length===0&&A.length===0){d("globals",`${I}: no new globals`);return}if(P.length>0)d("globals",`${I} +${P.length}: ${P.map(Ss).join(" ")}`);if(A.length>0)d("globals",`${I} -${A.length}: ${A.map(String).join(" ")}`)}}};var Bs=()=>{};var Mt=(()=>{let e=globalThis.process;return typeof e?.versions?.node==="string"?e:void 0})(),er=()=>Mt,Ot=(e)=>{let r=Mt?.getBuiltinModule;if(typeof r!=="function")return;try{return r.call(Mt,e)}catch{}if(!e.startsWith("node:"))return;try{return r.call(Mt,e.slice(5))}catch{return}};var Wr=globalThis,Ei=er(),Io=typeof Wr.Deno?.version?.deno==="string",ht=typeof Wr.Bun?.version==="string",Mo=typeof Ei?.versions?.node==="string",Ur=typeof Wr.__andromeda__<"u",Rn=!Io&&!ht&&!Mo&&!Ur&&(typeof Wr.document<"u"||typeof Wr.WorkerGlobalScope==="function"),ve=Io?"deno":ht?"bun":Mo?"node":Ur?"andromeda":Rn?"browser":"unknown",En=Wr.WebAssembly,St=typeof Wr.setImmediate==="function"?Wr.setImmediate:void 0,Ri=65536,Dt=new WeakMap,Ft=new WeakMap,xn=(()=>{if(typeof En?.Memory!=="function")return!1;try{return new En.Memory({initial:0,maximum:1,shared:!0}),!0}catch{return!1}})();var gt=(e)=>Math.ceil(Math.max(0,e)/Ri),Oo=(e,r)=>{let t=new En.Memory({initial:gt(e),maximum:Math.max(gt(e),gt(r)),shared:!0}),o=t.buffer;return Dt.set(o,t),Ft.set(o,r),o},Yr=(e,r=e)=>{if(xn)return Oo(e,r);return new SharedArrayBuffer(e)},Ln=typeof SharedArrayBuffer==="function"&&typeof SharedArrayBuffer.prototype.grow==="function",Nt=Ln||xn,rr=(e,r)=>{if(Ln&&typeof r==="number")return new SharedArrayBuffer(e,{maxByteLength:r});if(xn&&typeof r==="number")return Oo(e,r);return new SharedArrayBuffer(e)};var Do=(e)=>{let r=e;return Ln&&typeof r.grow==="function"&&r.growable===!0||Dt.has(e)},Fo=(e)=>{let r=e;if(typeof r.maxByteLength==="number")return r.maxByteLength;return Ft.get(e)??e.byteLength},No=(e,r)=>{let t=e;if(typeof t.grow==="function")return t.grow(r),e;let o=Dt.get(e);if(o==null)throw TypeError("SharedArrayBuffer is not growable");let s=o.buffer;if(s.byteLength>=r)return s;let c=gt(r),u=gt(s.byteLength);o.grow(c-u);let d=o.buffer,S=Ft.get(e)??s.byteLength;return Dt.set(d,o),Ft.set(d,S),d};var xi="KNITTING_PROCESS_WORKER";var Li="KNITTING_POOL_DEPTH",Ut="__knittingCompletionDoorbell",Uo=(e)=>e===Ut,Wt=er(),Ir=Wt?.env?.[xi]==="1",Pi=()=>{let e=Wt?.env?.[Li];if(typeof e!=="string")return 0;let r=Number.parseInt(e,10);return Number.isFinite(r)&&r>0?r:0},Pn=Pi(),Qr=Ot("node:worker_threads"),_i=()=>{let e=globalThis.WorkerGlobalScope;if(typeof e==="function")try{if(globalThis instanceof e)return!0}catch{}if(Ur&&typeof globalThis.self<"u")return!0;return!1},Ho=Qr?.Worker??globalThis.Worker,Wo=Qr?.MessageChannel??globalThis.MessageChannel,_n=Qr!=null,Hr=Ir?!1:Qr?.isMainThread??!_i(),At=Qr?.workerData,Ht=Qr?.parentPort??(Ir&&typeof Wt?.send==="function"?{postMessage:(e)=>Wt.send(e)}:void 0),Xr=()=>{if(typeof Wo!=="function")throw Error("MessageChannel is not available in this runtime");return new Wo};var Bt=(e)=>e instanceof SharedArrayBuffer||e instanceof ArrayBuffer,vi=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return Bt(r.sab)&&typeof r.byteOffset==="number"&&Number.isInteger(r.byteOffset)&&r.byteOffset>=0&&typeof r.byteLength==="number"&&Number.isInteger(r.byteLength)&&r.byteLength>=0},br=(e)=>Bt(e)||vi(e),tr=(e)=>Bt(e)?{sab:e,byteOffset:0,byteLength:e.byteLength}:e;var jo=new TextEncoder,Ci=new TextDecoder,Ko=(e)=>e instanceof TypeError,Ii=(e)=>{let r=tr(e),t=Math.min(1,r.byteLength);return new Uint8Array(r.sab,r.byteOffset,t)},Go=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return typeof r.encodeInto==="boolean"&&typeof r.decode==="boolean"},jt=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return Go(r.headers)&&Go(r.payload)},zo=(e)=>{let r=Ii(e),t=(()=>{if(typeof jo.encodeInto!=="function")return!1;let s=r.byteLength>0?r:r.subarray(0,0),c=s.byteLength>0?s[0]:void 0;try{return jo.encodeInto(s.byteLength>0?"a":"",s),!0}catch(u){if(!Ko(u))throw u;return!1}finally{if(c!==void 0)s[0]=c}})(),o=(()=>{try{return Ci.decode(r),!0}catch(s){if(!Ko(s))throw s;return!1}})();return{encodeInto:t,decode:o}},Jr=({headers:e,payload:r})=>({headers:zo(e),payload:zo(r)});var $o=()=>globalThis.Deno,Yo=()=>{if(ve!=="deno")return;let e=$o(),r=e?.permissions?.querySync,t=e?.permissions?.requestSync,o=e?.UnsafeCallback,s=e?.UnsafePointer?.value;if(typeof r!=="function"||typeof o?.threadSafe!=="function"||typeof s!=="function")return;try{let S=r({name:"ffi"}).state;if(S==="prompt"&&typeof t==="function")S=t({name:"ffi"}).state;if(S!=="granted")return}catch{return}let c=new Map,u=!1,d;try{d=o.threadSafe({parameters:["i32"],result:"void"},(x)=>{if(u)return;try{c.get(x)?.()}catch{}});let S=s(d.pointer);if(typeof S!=="bigint"||S===0n){d.close();return}return{pointer:S,listen:(x,I)=>{if(!u)c.set(x,I)},unref:()=>{try{d.unref?.()}catch{}},close:()=>{if(u)return;u=!0,c.clear(),d.close()}}}catch{try{d?.close()}catch{}return}},Vo=(e)=>{if(ve!=="deno"||e===void 0||e===0n)return;let r=$o(),t=r?.UnsafeFnPointer,o=r?.UnsafePointer?.create;if(typeof t!=="function"||typeof o!=="function")return;try{let s=new t(o(e),{parameters:["i32"],result:"void"});return(c)=>s.call(c)}catch{return}};var qo=()=>{return},Qo=()=>{return};class kr{#e;#r;#t=0;#o=0;#n=0;constructor(e=512){let r=2;while(r<e)r<<=1;this.#e=Array(r).fill(null),this.#r=r-1}get size(){return this.#n}get isEmpty(){return this.#n===0}get capacity(){return this.#r+1}clear(){this.#t=0,this.#o=0,this.#n=0}peek(){return this.#n===0?void 0:this.#e[this.#t]}reserve(e){if(e<=this.capacity)return;let r=this.capacity;while(r<e)r<<=1;this.#s(r)}#a(){if(this.#n!==this.#r+1)return;this.#s(this.#r+1<<1)}#s(e){let r=this.#e,t=this.#r+1,o=this.#n,s=Array(e).fill(null),c=this.#t,u=Math.min(o,t-c);for(let d=0;d<u;d++)s[d]=r[c+d];for(let d=u;d<o;d++)s[d]=r[d-u];this.#e=s,this.#r=e-1,this.#t=0,this.#o=o}push(e){this.#a();let r=this.#e,t=this.#r,o=this.#o;return r[o]=e,this.#o=o+1&t,this.#n++,!0}unshift(e){this.#a();let r=this.#e,t=this.#r,o=this.#t-1&t;return this.#t=o,r[o]=e,this.#n++,!0}shift(){let e=this.#n;if(e===0)return;let r=this.#t,t=this.#e,o=t[r];return t[r]=null,this.#t=r+1&this.#r,this.#n=e-1,o}shiftNoClear(){let e=this.#n;if(e===0)return;let r=this.#t,t=this.#e[r];return this.#t=r+1&this.#r,this.#n=e-1,t}*[Symbol.iterator](){let e=this.#e,r=this.#r,t=this.#t,o=0,s=this.#n;while(o<s){let c=e[t];if(c!==null)yield c;t=t+1&r,o++}}toArray(){let e=Array(this.#n),r=this.#e,t=this.#r,o=this.#t;for(let s=0;s<e.length;s++)e[s]=r[o],o=o+1&t;return e}get[Symbol.toStringTag](){return`RingQueue(size=${this.#n}, cap=${this.capacity})`}}var Mi=67108864,Oi=4194304,Zr=(e)=>{if(!Number.isFinite(e))return;let r=Math.floor(e);return r>0?r:void 0},Di=(e)=>{if(e==null)return!1;return e instanceof SharedArrayBuffer&&Nt&&Do(e)},Fi=(e)=>{if(e==null)return;if(e instanceof SharedArrayBuffer)return Zr(Fo(e));return Zr(e.byteLength)},_r=({options:e,sab:r})=>{let t=r===void 0?void 0:tr(r),o=t?.sab,u=e?.mode??(Nt?"growable":"fixed");if(u==="growable"&&o!=null&&!Di(o))u="fixed";if(u==="growable"&&!Nt)u="fixed";let d=Zr(e?.payloadMaxByteLength)??Zr(t?.byteLength)??Fi(o)??Mi,S=Zr(e?.payloadInitialBytes),x=u==="fixed"?d:Math.min(S??Oi,d),I=d>>3;if(I<=0)throw RangeError("payloadMaxByteLength is too small; must be at least 8 bytes.");let E=e?.maxPayloadBytes;if(E!==void 0){let A=Math.floor(E);if(!Number.isFinite(A)||A<=0)throw RangeError(`maxPayloadBytes must be > 0 and <= ${I}.`)}let P=Zr(E)??I;if(P<=0||P>I)throw RangeError(`maxPayloadBytes must be > 0 and <= ${I}.`);return{mode:u,payloadInitialBytes:x,payloadMaxByteLength:d,maxPayloadBytes:P}};var Cn,In,Jo=(e,r)=>{Cn=e,In=r},nr={UNREACHABLE:0,BigInt:2,True:3,False:4,Undefined:5,NaN:6,Float64:9,Null:10},L={BORDER_SIGNAL_BUFFER:11,String:11,Json:12,StaticString:15,StaticJson:16,Binary:17,StaticBinary:18,Int32Array:19,Float64Array:20,BigInt64Array:21,BigUint64Array:22,DataView:23,Error:24,Date:25,Symbol:26,StaticSymbol:27,BigInt:28,StaticBigInt:29,StaticInt32Array:31,StaticFloat64Array:32,StaticBigInt64Array:33,StaticBigUint64Array:34,StaticDataView:35,ArrayBuffer:36,StaticArrayBuffer:37,Buffer:38,StaticBuffer:39,EnvelopeStaticHeader:40,EnvelopeDynamicHeader:41,EnvelopeStaticHeaderString:42,EnvelopeDynamicHeaderString:43,ExternalPayload:44,StaticExternalPayload:45,ProcessSharedBuffer:46,BufferReference:47,SharedArrayBuffer:48,EnvelopeStaticHeaderExternal:49,EnvelopeDynamicHeaderExternal:50,EnvelopeStaticHeaderStringExternal:51,EnvelopeDynamicHeaderStringExternal:52,NumericArray:53,StaticNumericArray:54,ArenaBinary:55,MovedBinary:56,MovedArrayBuffer:57},Zo={};for(let e of Object.keys(L))Zo[L[e]]=e;var ea=(e)=>Zo[e]??String(e),Ee={paddingLock:0,padding:0,slots:32,header:0},$t=64,Ni=256,Wi=Symbol.for("knitting.payloadCodec.transportFinalizer");var dr=7,zt=1,Kt=2,Yt=(e)=>{let r=e[dr];if((r&zt)!==0)return!1;return e[dr]=(r|zt)>>>0,!0},kt=(e)=>{e[dr]=(e[dr]&~zt)>>>0},vn=(e)=>(e[dr]&zt)!==0,On=(e)=>{e[dr]=0},Ui=(e,r)=>{let t=e.finalize;e.finalize=t===void 0?r:()=>{try{t()}finally{r()}}};var Er=(e,r)=>{if(e.finalize!==void 0||r===null||typeof r!=="object")return;let t=r[Wi]?.();if(typeof t==="function")Ui(e,t)},rt=(e)=>{let r=e.finalize;if(e.finalize=void 0,r!==void 0)try{r()}catch{}},i={FlagsToHost:0,FunctionID:0,ID:1,Type:2,Start:3,End:4,PayloadLen:5,slotBuffer:6,Size:8,TotalBuff:144},Vt=5,tt=(1<<Vt)-1,Kf=32-Vt,qt=4294967295>>>Vt,Gf=~tt>>>0,Qt=16,Hi=(1<<Qt)-1,zf=32-Qt,ji=4294967295>>>Qt,$f=~Hi>>>0;var ra=(e)=>e[i.FunctionID]>>>Qt&ji;var ta=(e)=>e[i.slotBuffer]>>>Vt&qt;var Xt={Reject:1},Yf=Int32Array.BYTES_PER_ELEMENT,Ki=Ee.paddingLock,Gi=$t,nt=Ni,na=$t*2,oa=$t*3;var vr=Ee.header+i.TotalBuff,Vf=vr*Uint32Array.BYTES_PER_ELEMENT,zi=$t/Uint32Array.BYTES_PER_ELEMENT,Et=i.TotalBuff-zi,aa=Et,sa=aa+i.Size,$i=sa+1,Yi=sa+2,ia=Yi+1,ua=ia+1,Vi=ua+1,wt=0,et=1,Xo=2,qi=Ee.header+vr*Ee.slots,Dn=qi*Uint32Array.BYTES_PER_ELEMENT,Qi=0,qf=nr.UNREACHABLE,Tt=(e)=>{},ca=()=>{let e=new Uint32Array(i.Size);return e.value=null,e.finalize=void 0,e.resolve=Tt,e.reject=Tt,e[dr]=0,e},fa=()=>{let e=ca();return e[i.ID]=Qi++,e},Mn=(e,r,t)=>{e[0]=r[t],e[1]=r[t+1],e[2]=r[t+2],e[3]=r[t+3],e[4]=r[t+4],e[5]=r[t+5],e[6]=r[t+6],e[dr]=0},Xi=(e,r)=>{let t=ca();return Mn(t,e,r),t},Gt=(e)=>{if(e[i.FlagsToHost]===0)e.resolve(e.value);else e.reject(e.value),e[i.FlagsToHost]=0},jr=({headers:e,headerSlotStrideU32:r,LockBoundSector:t,payload:o,payloadConfig:s,payloadSector:c,textCompat:u,resultList:d,toSentList:S,recycleList:x,processBoundary:I,sharedReturn:E,moveReturn:P,consumers:A,consumerId:W,regionLanes:N,stealClaim:k,notifyOnHostPublish:_,notifyHostPublish:z})=>{let te=tr(t??Yr(nt)),re=te.sab,v=new Int32Array(re,te.byteOffset+Ki,1),Z=new Int32Array(re,te.byteOffset+Gi,1),se=tr(e??Yr(Dn)),H=new Uint32Array(se.sab,se.byteOffset,se.byteLength>>>2),Y=r??vr,X=new Int32Array(se.sab,se.byteOffset+ua*Uint32Array.BYTES_PER_ELEMENT,1),me=_r({sab:o,options:s}),ie=o??(me.mode==="growable"?rr(me.payloadInitialBytes,me.payloadMaxByteLength):rr(me.payloadInitialBytes)),pe=tr(c??te),ue=u??Jr({headers:se,payload:ie}),J=Math.max(1,(A??1)|0),j=J>1,Q=W===void 0,p=(W??0)|0,a=(N??8)|0,g=Ee.slots/a|0,l=k==="cas-mask";if(j){if(a<1||(a&a-1)!==0)throw RangeError("regionLanes must be a power of two");if(!l&&g<J)throw RangeError(`regionLanes=${a} yields ${g} regions, too few for ${J} consumers`);if(p<0||p>=J)throw RangeError(`consumerId ${p} out of range`)}let m=new Int32Array(se.sab,se.byteOffset,se.byteLength>>>2),y=new Int32Array(J);for(let T=0;T<J;T++)y[T]=T*Y+Ee.header+$i;let K=Ee.header+ia,D=Ee.header+Vi,B=J===32?-1:(1<<J)-1|0;if(j&&Q){if(Atomics.store(m,K,B),l)Atomics.store(m,D,0)}let V=(T,F)=>(T&1<<F)!==0,oe;if(Cn===void 0||In===void 0)throw Error('Payload codec not registered before lock2(). Ensure the module that builds locks imports "./payloadCodec.ts" (it self-registers on load).');let He=Cn({payload:{sab:ie,config:me},headersBuffer:H,headerSlotStrideU32:Y,lockSector:pe,textCompat:ue,processBoundary:I,sharedReturn:E,moveReturn:P,onPromise:(T,F,q)=>{if((T[dr]&Kt)!==0&&Ve>0)T[dr]=(T[dr]&~Kt)>>>0,Ve=Ve-1|0;oe(T,F,q)}}),Ce=In({payload:{sab:ie,config:me},headersBuffer:H,headerSlotStrideU32:Y,lockSector:pe,textCompat:ue,processBoundary:I}),Pe=0,fe=0,Fe=32,ge=S??new kr,_e=x??new kr,we=d??new kr,ce=0,Ve=0,ae=Atomics.load,de=Atomics.store,Ne=Atomics.compareExchange,Te=Atomics.notify,or=_===!0,qe=typeof Atomics.waitAsync==="function"?Atomics.waitAsync.bind(Atomics):void 0,Me=0,be=()=>Me=ae(Z,0)|0;be();let je=(T)=>~T!==0?T:Pe^be()|0,yr=(T)=>ge.push(T),gr=()=>ge.shiftNoClear(),xr=(T)=>ge.unshift(T),$e=()=>_e.shiftNoClear(),Be=(T)=>we.push(T),Oe=Math.clz32,ar=Ee.header+aa,hr=({queue:T})=>(F)=>{let q=F*Y+ar,ee=T[H[q+i.ID]];return Mn(ee,H,q),ee},wr=(T)=>yr(T),pr=(T)=>{let F=T[dr];if((F&Kt)!==0)return;T[dr]=(F|Kt)>>>0,Ve=Ve+1|0},Ye=(T,F)=>He(T,F),ke=0,Ke=0,Xe=(T,F)=>{let q=~F;if(q===0)return 0;if(!Ye(T,ke=31-Oe(q)))return 0;return b(T,ke,Ke=1<<ke),Ke},Je=(T)=>{let F=je(Pe^Me|0),q=0;if(T===ge)while(!0){let ee=gr();if(!ee)break;F=je(F);let Ie=Xe(ee,F)|0;if(Ie===0){xr(ee);break}F=F^Ie|0,q=q+1|0}else while(!0){let ee=T.shiftNoClear();if(!ee)break;F=je(F);let Ie=Xe(ee,F)|0;if(Ie===0){T.unshift(ee);break}F=F^Ie|0,q=q+1|0}return q},ur=(T)=>{let F=je(Pe^Me|0),q=0;if(ce=0,T===ge)while(!0){let ee=gr();if(!ee)break;F=je(F);let Ie=Xe(ee,F)|0;if(Ie===0){if(vn(ee)){ce=ce+1|0,pr(ee);continue}xr(ee);break}F=F^Ie|0,q=q+1|0}else while(!0){let ee=T.shiftNoClear();if(!ee)break;F=je(F);let Ie=Xe(ee,F)|0;if(Ie===0){if(vn(ee)){ce=ce+1|0,pr(ee);continue}T.unshift(ee);break}F=F^Ie|0,q=q+1|0}return q},R=()=>{if(ge.isEmpty)return!0;return ur(ge),ce=0,ge.isEmpty},M=(T)=>{if(de(v,0,Pe=Pe^T|0),or&&Ne(X,0,et,Xo)===et)if(z!==void 0)try{z()}catch{Ne(X,0,Xo,et)}else Te(v,0,1)},U=(T)=>de(Z,0,fe=fe^T|0),n=(T,F=Pe^Me|0)=>{F=je(F);let q=~F;if(q===0)return!1;if(!Ye(T,ke=31-Oe(q)))return!1;return b(T,ke,Ke=1<<ke)},h=(T,F=Pe^Me|0)=>{ce=0,F=je(F);let q=~F;if(q===0)return!1;if(!Ye(T,ke=31-Oe(q))){if(vn(T))ce=1,pr(T);return!1}return b(T,ke,Ke=1<<ke)},b=(T,F,q)=>{let ee=F*Y+ar;return H[ee]=T[0],H[ee+1]=T[1],H[ee+2]=T[2],H[ee+3]=T[3],H[ee+4]=T[4],H[ee+5]=T[5],H[ee+6]=T[6],H[ee+dr]=0,M(q),!0},f=()=>(v[0]^fe)!==0,w=()=>{let T=ae(v,0)^fe|0;if(T===0)return!1;let F=Fe,q=0;try{if(F===32)ye(ke=31-Oe(T)),Ke=1<<(F=ke),T^=Ke,q=q^Ke|0;while(T!==0){let ee=T&(1<<F)-1;if(ee===0)ee=T;ye(ke=31-Oe(ee)),Ke=1<<(F=ke),T^=Ke,q=q^Ke|0}}finally{if(q!==0)U(q)}return Fe=F,!0},C=(T)=>a===32?-1:(1<<a)-1<<T*a|0,O=a===32?-1:(1<<a)-1|0,G=(T,F)=>{let q=T*a|0,ee=F>>>q&O|0,Ie=(ee>>>1|ee<<a-1)&O,ir=ee&~Ie|0;return q+(ir===0?a-1:31-Oe(ir>>>0))},ne=(T)=>{let F=ae(m,K)|0;for(let q=p+1;q<J;q++){if(!V(F,q))continue;if((ae(m,y[q])&T)!==0)return!0}return!1},he=g*p/J|0,Re=he,sr=()=>{let T=ae(v,0)^ae(Z,0)|0;if(T===0)return!1;let F=0;if(g===1)F=1;else for(let Ae=0;Ae<g;Ae++)if((T&C(Ae))!==0)F|=1<<Ae;let q=ae(m,K)|0,ee=0,Ie=0;for(let Ae=0;Ae<J;Ae++){if(Ae===p||!V(q,Ae))continue;let lr=ae(m,y[Ae])|0;if(ee|=lr,Ae<p)Ie|=lr}let ir=F&~Ie;if(ir===0)return!1;let Tr=F&~ee,Pr=Tr!==0?Tr:ir,fr=-1;for(let Ae=0;Ae<g;Ae++){let lr=(Re+Ae)%g;if((Pr&1<<lr)!==0){fr=lr;break}}if(fr<0)return!1;let Qe=1<<fr|0;de(m,y[p],Qe);let Ge=!1;for(let Ae=0;Ae<p;Ae++){if(!V(q,Ae))continue;if((ae(m,y[Ae])&Qe)!==0){Ge=!0;break}}if(Ge)return de(m,y[p],0),!1;let Se=!1;for(let Ae=p+1;Ae<J;Ae++){if(!V(q,Ae))continue;if((ae(m,y[Ae])&Qe)!==0){Se=!0;break}}if(Se)while(ne(Qe));let ze=(ae(v,0)^ae(Z,0))&C(fr)|0;if(ze===0)return de(m,y[p],0),!1;let xe=ze,We=0,Ue=G(fr,ze),Ar=fr*a|0,Ze=Ar+a-1|0;try{for(let Ae=0;Ae<a;Ae++){let lr=1<<Ue|0;if((xe&lr)!==0){if(ye(Ue),xe=xe^lr|0,We=We^lr|0,xe===0)break}Ue=Ue===Ar?Ze:Ue-1}}finally{if(fe=fe^We|0,We!==0)Atomics.xor(Z,0,We);de(m,y[p],0),Re=he}return!0},mr=()=>{let T=ae(v,0)^ae(Z,0)|0;if(T===0)return!1;let F=ae(m,D)|0,q=-1,ee=0;for(let Ge=0;Ge<g&&q<0;Ge++){let Se=Re+Ge<g?Re+Ge:Re+Ge-g;if((T&C(Se))===0)continue;let ze=1<<Se|0;for(let xe=0;xe<2;xe++){if((F&ze)!==0)break;let We=Ne(m,D,F,F|ze|0)|0;if(We===F){q=Se,ee=ze;break}F=We}}if(q<0)return!1;de(m,y[p],ee);let Ie=(ae(v,0)^ae(Z,0))&C(q)|0;if(Ie===0)return de(m,y[p],0),Atomics.and(m,D,~ee),!1;let ir=Ie,Tr=0,Pr=G(q,Ie),fr=q*a|0,Qe=fr+a-1|0;try{for(let Ge=0;Ge<a;Ge++){let Se=1<<Pr|0;if((ir&Se)!==0){if(ye(Pr),ir=ir^Se|0,Tr=Tr^Se|0,ir===0)break}Pr=Pr===fr?Qe:Pr-1}}finally{if(fe=fe^Tr|0,Tr!==0)Atomics.xor(Z,0,Tr);de(m,y[p],0),Atomics.and(m,D,~ee),Re=he}return!0},Sr=({queue:T,onResolved:F,shouldSettle:q,activeRejectPlaceholder:ee})=>{let Ie=hr({queue:T}),ir=32;if(ee!==void 0&&F){let Qe=F,Ge=ee;return()=>{let Se=ae(v,0)^fe|0;if(Se===0)return 0;let ze=0,xe=0,We=ir;if(We===32){let Ue=31-Oe(Se),Ar=1<<Ue,Ze=Ie(Ue);if(Ce(Ze,Ue),xe=xe^Ar|0,Ze.reject!==Ge)Gt(Ze),Qe(Ze);if(Se^=Ar,ze++,(ze&7)===0&&xe!==0)fe=fe^xe|0,de(Z,0,fe),xe=0;We=Ue}while(Se!==0){let Ue=We===31?2147483647:(1<<We)-1,Ar=Se&Ue;if(Ar===0)Ar=Se;let Ze=31-Oe(Ar),Ae=1<<Ze,lr=Ie(Ze);if(Ce(lr,Ze),xe=xe^Ae|0,lr.reject!==Ge)Gt(lr),Qe(lr);if(Se^=Ae,ze++,(ze&7)===0&&xe!==0)fe=fe^xe|0,de(Z,0,fe),xe=0;We=Ze}if(xe!==0)fe=fe^xe|0,de(Z,0,fe);return ir=We,ze}}let Tr=F!==void 0,Pr=F??Tt,fr=q;return()=>{let Qe=ae(v,0)^fe|0;if(Qe===0)return 0;let Ge=0,Se=0,ze=ir;if(ze===32){let xe=31-Oe(Qe),We=1<<xe,Ue=Ie(xe);if(Ce(Ue,xe),Se=Se^We|0,fr===void 0||fr(Ue)){if(Gt(Ue),Tr)Pr(Ue)}if(Qe^=We,Ge++,(Ge&7)===0&&Se!==0)fe=fe^Se|0,de(Z,0,fe),Se=0;ze=xe}while(Qe!==0){let xe=ze===31?2147483647:(1<<ze)-1,We=Qe&xe;if(We===0)We=Qe;let Ue=31-Oe(We),Ar=1<<Ue,Ze=Ie(Ue);if(Ce(Ze,Ue),Se=Se^Ar|0,fr===void 0||fr(Ze)){if(Gt(Ze),Tr)Pr(Ze)}if(Qe^=Ar,Ge++,(Ge&7)===0&&Se!==0)fe=fe^Se|0,de(Z,0,fe),Se=0;ze=Ue}if(Se!==0)fe=fe^Se|0,de(Z,0,fe);return ir=ze,Ge}},Lr=(T)=>{if(qe===void 0){de(X,0,wt);return}de(X,0,et);try{let F=qe(v,0,fe|0,T);if(!F.async)de(X,0,wt);return F}catch{de(X,0,wt);return}},le=()=>{if(de(X,0,et),ae(v,0)===(fe|0))return!0;return de(X,0,wt),!1},ye=(T)=>{let F=T*Y+ar,q=$e(),ee;if(q)Mn(q,H,F),q.value=null,q.finalize=void 0,q.resolve=Tt,q.reject=Tt,ee=q;else ee=Xi(H,F);return Ce(ee,T),Be(ee),!0};return{enlist:wr,encode:n,encodeManyFrom:Je,encodeAll:R,publish:(T)=>{if(h(T))return!0;if((ce|0)!==0)return ce=0,!1;return yr(T),!1},flushPending:()=>{if(ge.isEmpty)return!1;let T=ur(ge)|0;return ce=0,T!==0},decode:j?l?mr:sr:w,hasSpace:f,resolved:we,hostBits:v,workerBits:Z,recyclecList:_e,resolveHost:Sr,waitForHostChange:Lr,armHostNotifier:le,setHostWaiterArmed:(T)=>{de(X,0,T?et:wt)},hasPendingFrames:()=>ge.size!==0,getPendingFrameCount:()=>ge.size|0,getPendingPromiseCount:()=>Ve|0,resetPendingState:()=>{ge.clear(),ce=0,Ve=0},deactivateStealConsumer:(T)=>{if(!j||!Q)return!1;if(!Number.isInteger(T)||T<0||T>=J)throw RangeError(`consumerId ${T} out of range`);let F=1<<T,q=Atomics.and(m,K,~F);if(l){let ee=ae(m,y[T])|0;if(ee!==0)Atomics.and(m,D,~ee)}return(q&F)!==0},takeDeferredCount:()=>{let T=ce|0;return ce=0,T},setPromiseHandler:(T)=>{oe=T}}};var Ji=1,la=1,Zi=performance.now.bind(performance),eu=(e,r,t,o)=>new Promise((s,c)=>{let u=!1,d=setTimeout(()=>{if(u)return;if(u=!0,t)s(o);else c(o)},r);e.then((S)=>{if(u)return;u=!0,clearTimeout(d),s(S)},(S)=>{if(u)return;u=!0,clearTimeout(d),c(S)})}),ru=(e)=>(Math.floor(e())&qt)>>>0,da=(e,r,t,o)=>{let s=ru(o)-ta(r)&qt,c=t.ms-s;if(!(c>0))return e.then(()=>{},()=>{}),t.kind===la?Promise.resolve(t.value):Promise.reject(t.value);let u=Math.max(1,Math.floor(c));return eu(e,u,t.kind===la,t.value)},Jt=-1,ya=(e)=>{let r=ra(e);if(r===0)return Jt;let t=r-Ji|0;return t>=0?t:Jt},tu=(e,r)=>{let t=[];return(o)=>{let s=t[o];if(s)return s;return s={hasAborted:()=>e(o),now:r},t[o]=s,s}},pa=({job:e,timeout:r,hasAborted:t,now:o})=>{let s=o??Zi;if(!t){if(!r)return(u)=>e(u.value);return(u)=>{let d=e(u.value);if(!(d instanceof Promise))return d;return da(d,u,r,s)}}let c=tu(t,s);if(!r)return(u)=>{let d=ya(u);if(d===Jt)return e(u.value);return e(u.value,c(d))};return(u)=>{let d=ya(u),S=d===Jt?e(u.value):e(u.value,c(d));if(!(S instanceof Promise))return S;return da(S,u,r,s)}};var nu=32,ma=({listOfFunctions:e,workerOptions:r,lock:t,returnLock:o,hasAborted:s,now:c,stealing:u})=>{let d=(l)=>{throw"UNREACHABLE FROM PLACE HOLDER (thread)"},S=0,x=e.reduce((l,m)=>(l.push(m.run),l),[]),I=new kr,E=new kr,P=(l)=>I.push(l),A=()=>I.shiftNoClear(),W=()=>E.shiftNoClear(),N=(l)=>E.unshift(l),k=(l)=>E.push(l),_=(l)=>t.recyclecList.push(l),z=65535,te=i.FlagsToHost,re=Xt.Reject,v=Atomics.load,Z=o.hostBits,se=o.workerBits,H=[],Y=()=>{for(let l=0;l<H.length;l++)try{H[l]()}catch{}H.length=0},X=()=>{if(H.length===0)return;if((Z[0]^v(se,0))!==0)return;Y()},me=e.reduce((l,m,y)=>{let K=x[y];return l.push(pa({job:K,timeout:m.timeout,hasAborted:s,now:c})),l},[]),ie=r?.resolveAfterFinishingAll===!0?()=>E.size!==0&&I.size===0:()=>E.size!==0,{decode:pe,resolved:ue}=t,J=()=>ue.shiftNoClear(),j=()=>{if(u&&I.size!==0)return!1;if(!pe())return!1;let l=J();while(l)l.resolve=d,l.reject=d,Er(l,l.value),P(l),l=J();return!0},Q=o.encode,p=(l,m)=>{if(l[te]=m?re:0,!Q(l))return!1;if(l.finalize!==void 0)H.push(l.finalize),l.finalize=void 0;return _(l),!0},a=(l,m,y,K)=>{if(rt(l),l.value=y,K&&S>0)S--;let D=m||l[te]===re;if(!p(l,D))k(l)},g=()=>{let l=W();if(!l)return!1;if(!p(l,l[te]===re))return N(l),!1;return!0};return{hasCompleted:ie,hasPending:()=>I.size!==0,writeBatch:(l)=>{let m=0;while(m<l){if(!g())break;m++}return m},serviceBatchImmediate:()=>{let l=0;while(l<nu&&I.size!==0){let m=A();try{let y=m[i.FunctionID]&z,K=me[y](m);if(m[te]=0,K instanceof Promise)m.value=null,S++,K.then((D)=>a(m,!1,D,!0),(D)=>a(m,!0,D,!0));else a(m,!1,K,!1)}catch(y){a(m,!0,y,!1)}if(++l,E.size!==0)break}return l},enqueueLock:j,drainReturnReleases:X,releaseDeferredReturns:Y,hasAwaiting:()=>S>0,getAwaiting:()=>S}};var ot=64,ou=ot-1,ba=ot/32,ga=4294967231,au=~tt>>>0,Fn=({lockSector:e})=>{let r=tr(e??Yr(nt)),t=r.sab,o=new Int32Array(t,r.byteOffset+na,ba),s=new Int32Array(t,r.byteOffset+oa,ba),c=new Uint32Array(ot),u=new Uint32Array(ot),d=new Uint32Array(ot),S=Atomics.load,x=Atomics.store,I=Atomics.xor,E=ou,P=~E>>>0;c.fill(ga);let A=0,W=0,N=0,k=0,_=0,z=(j)=>c.slice(0,j),te=(j)=>j>>>5,re=(j)=>1<<(j&31),v=(j,Q)=>{let p=c,a=0;for(let g=0;g<A;g++){let l=p[g],m=l&E;if(((m<32?j:Q)&re(m))!==0)continue;if(a!==g)p[a]=l;a++}for(let g=a;g<A;g++)p[g]=ga;A=a},Z=()=>{let j=~W;if(j!==0)return 31-Math.clz32((j&-j)>>>0);return j=~N,j===0?-1:63-Math.clz32((j&-j)>>>0)},se=(j,Q)=>{j[i.End]=(j[i.End]&2147483647|(Q&32)<<26)>>>0},H=(j)=>{let Q=re(j);if(j<32)W=W|Q|0,k=k^Q|0,x(o,0,k);else N=N|Q|0,_=_^Q|0,x(o,1,_)},Y=()=>{if(A===0)return;let j=W===0?0:~(k^S(s,0))&W|0,Q=N===0?0:~(_^S(s,1))&N|0;if((j|Q)===0)return;if(j===W&&Q===N){A=0,W=0,N=0;return}W=W&~j|0,N=N&~Q|0,v(j,Q)},X=(j)=>{if(Y(),A>=ot)return-1;let Q=Z();if(Q===-1)return-1;let p=0,a=A;for(let g=0;g<A;g++){let l=c[g],m=l&P;if(m-p>>>0>=j>>>0){a=g;break}p=m+(u[l&E]>>>0)>>>0}for(let g=A;g>a;g--)c[g]=c[g-1];return c[a]=(p|Q)>>>0,u[Q]=j>>>0,d[Q]=p>>>0,A++,H(Q),Q};return{allocTask:(j)=>{let Q=X((j[i.PayloadLen]|0)+63&-64);if(Q===-1)return-1;return j[i.Start]=d[Q],j[i.slotBuffer]=(j[i.slotBuffer]&au|Q&tt)>>>0,se(j,Q),Q},allocRegion:(j)=>X((j|0)+63&-64),regionStart:(j)=>d[j&E],setSlotLength:(j,Q)=>{let p=j&E;return u[p]=((Q|0)+63&-64)>>>0,!0},tagTaskSlot:se,lockSAB:t,free:(j)=>{let Q=j&E;I(s,te(Q),re(Q))},hostBits:o,workerBits:s,updateTable:Y,startAndIndexToArray:z}};var Zt=Uint32Array.BYTES_PER_ELEMENT,Cr=(e,r)=>{if(!Number.isInteger(e)||e<0)throw RangeError(`${r} must be a non-negative integer`);return e},Wn=(e,r=64)=>{let t=Cr(e,"value"),o=Cr(r,"alignment");if(o===0)throw RangeError("alignment must be greater than zero");return Math.ceil(t/o)*o},Un=(e,r,t)=>({sab:e,byteOffset:Cr(r,"byteOffset"),byteLength:Cr(t,"byteLength")}),su=({alignTo:e=64,startByteOffset:r=0}={})=>{let t=Cr(e,"alignTo");if(t===0)throw RangeError("alignTo must be greater than zero");let o=Cr(r,"startByteOffset"),s=[];return{slices:s,take:(u,d,{alignTo:S=t,reserveByteLength:x}={})=>{let I=Cr(d,`${u} byteLength`),E=Cr(S,`${u} alignTo`);if(E===0)throw RangeError(`${u} alignTo must be greater than zero`);let P=x==null?Wn(I,E):Cr(x,`${u} reserveByteLength`);if(P<I)throw RangeError(`${u} reserveByteLength must cover byteLength`);let A=Wn(o,E),W={name:u,byteOffset:A,byteLength:I,reservedByteLength:P};return s.push(W),o=A+P,W},byteLength:()=>o,bind:(u,d)=>Un(u,d.byteOffset,d.byteLength)}},ha=({slotIndex:e,slotStrideU32:r,baseU32:t=0,extraU32:o=0})=>e*r+t+o,Sa=({slotIndex:e,slotStrideU32:r,baseByteOffset:t=0,baseU32:o=0,extraU32:s=0})=>t+ha({slotIndex:e,slotStrideU32:r,baseU32:o,extraU32:s})*Zt,Hn=({slotCount:e,slotStrideU32:r,slotLengthU32:t,baseU32:o=0})=>{let s=Cr(e,"slotCount");if(s===0)return 0;return(ha({slotIndex:s-1,slotStrideU32:r,baseU32:o})+t)*Zt},iu=(e)=>e*2,Nn=({slotCount:e,slotStrideU32:r,queues:t=1,alignTo:o=64})=>Wn(e*r*Zt*t,o),uu=({sab:e,byteOffset:r,slotCount:t,slotStrideU32:o})=>{let s=iu(o),c=o*Zt,u=Hn({slotCount:t,slotStrideU32:s,slotLengthU32:o});return{headerSlotStrideU32:s,requestHeaders:Un(e,r,u),returnHeaders:Un(e,r+c,u)}},jn=({signalBytes:e,abortBytes:r,lockSectorBytes:t,headerSlotStrideU32:o,slotCount:s,headerLayout:c="interleaved",alignTo:u=64,createBuffer:d=(S)=>new SharedArrayBuffer(S)})=>{let S=su({alignTo:u}),x=S.take("signals",e),I=S.take("requestLockSector",t),E=S.take("returnLockSector",t),P,A,W;if(c==="interleaved")W=S.take("interleavedHeaders",Nn({slotCount:s,slotStrideU32:o,queues:2,alignTo:u}));else P=S.take("requestHeaders",Nn({slotCount:s,slotStrideU32:o,alignTo:u})),A=S.take("returnHeaders",Nn({slotCount:s,slotStrideU32:o,alignTo:u}));let N=S.take("abortSignals",r),k=d(S.byteLength()),_=S.bind(k,x),z=S.bind(k,N),te=S.bind(k,I),re=S.bind(k,E),v=c==="interleaved"?uu({sab:k,byteOffset:W.byteOffset,slotCount:s,slotStrideU32:o}):{headerSlotStrideU32:o,requestHeaders:S.bind(k,P),returnHeaders:S.bind(k,A)};return{controlSAB:k,signals:_,abortSignals:z,lock:{headers:v.requestHeaders,headerSlotStrideU32:v.headerSlotStrideU32,lockSector:te,payloadSector:te},returnLock:{headers:v.returnHeaders,headerSlotStrideU32:v.headerSlotStrideU32,lockSector:re,payloadSector:re},slices:S.slices}};var cu=4096,Kr=new TextEncoder,Gn=new TextDecoder,Rr=64,fu=cu,lu=(e)=>e+63&-64,Ba=(e)=>e.constructor===Uint8Array,du=(e)=>Ba(e)?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),yu=(e)=>e instanceof TypeError,pu=(e)=>e instanceof TypeError,wa=()=>{let e=globalThis.Buffer;if(typeof e?.from!=="function"||typeof e?.allocUnsafe!=="function"||typeof e?.allocUnsafeSlow!=="function")return;return e},mu=(e,r)=>{let t=0,o=0;for(let s of e){let c=Kr.encode(s);if(o+c.byteLength>r.byteLength)break;r.set(c,o),o+=c.byteLength,t+=s.length}return{read:t,written:o}},Kn=(e,r)=>{let t=new Uint8Array(r.byteLength),o=typeof Kr.encodeInto==="function"?Kr.encodeInto(e,t):mu(e,t);if(o.written>0)r.set(t.subarray(0,o.written),0);return o},Aa=(e)=>Gn.decode(e.slice()),Ta=(e,r,t)=>{if(typeof Kr.encodeInto!=="function")return Kn(e,r);if(t?.encodeInto===!0)return Kr.encodeInto(e,r);if(t?.encodeInto===!1)return Kn(e,r);try{return Kr.encodeInto(e,r)}catch(o){if(!yu(o))throw o;return Kn(e,r)}},ka=(e,r)=>{if(r?.decode===!0)return Gn.decode(e);if(r?.decode===!1)return Aa(e);try{return Gn.decode(e)}catch(t){if(!pu(t))throw t;return Aa(e)}},zn=({sab:e,payloadConfig:r,textCompat:t})=>{let o=e===void 0?void 0:tr(e),s=e!==void 0&&!Bt(e),c=o?.sab instanceof ArrayBuffer&&!(o.sab instanceof SharedArrayBuffer),u=s||c,d=o?.byteLength,S=ht&&o?.sab instanceof ArrayBuffer&&!(o.sab instanceof SharedArrayBuffer)?void 0:wa(),x=_r({sab:o?.sab,options:!u||d===void 0?r:{...r,mode:"fixed",payloadInitialBytes:r?.payloadInitialBytes??d,payloadMaxByteLength:r?.payloadMaxByteLength??d}}),I=x.mode==="growable",E=o?.sab??(I?rr(x.payloadInitialBytes,x.payloadMaxByteLength):rr(x.payloadInitialBytes)),P=o?.byteOffset??0,A=o?.byteLength??E.byteLength,W=new Uint8Array(E,P+Rr,Math.max(0,A-Rr)),N=S?(p,a)=>{let g=S.from(p,a+Rr);if(g.buffer!==p)throw Error("Buffer view does not alias shared buffer");return g}:void 0,k=N?.(E,P),_=new Float64Array(E,P+Rr,Math.max(0,A-Rr)>>>3),z=()=>A-Rr,te=()=>{P=0,A=E.byteLength,W=new Uint8Array(E,P+Rr,A-Rr),k=N?.(E,P),_=new Float64Array(E,P+Rr,A-Rr>>>3)},re=()=>{if(!I)return;if(E.byteLength===A)return;te()},v=(p)=>{if(z()>=p)return!0;if(!I)return!1;if(re(),z()>=p)return!0;try{if(!(E instanceof SharedArrayBuffer))return!1;E=No(E,lu(Rr+p+fu))}catch{return!1}return te(),!0},Z=(p,a)=>{if(!k)return ka(W.subarray(p,a),t);return k.toString("utf8",p,a)},se=(p,a=0)=>{let g=du(p);if(!v(a+g.byteLength))return-1;return W.set(g,a),g.byteLength},H=(p,a=0)=>{let g=p.byteLength;if(!v(a+g))return-1;return W.set(p,a),g},Y=(p,a=0)=>{let g=p.byteLength;if(!v(a+g))return-1;return W.set(new Uint8Array(p),a),g},X=(p,a=0)=>{let g=p.byteLength;if(!v(a+g))return-1;return _.set(p,a>>>3),g},me=(p,a)=>W.slice(p,a),ie=(p,a)=>W.subarray(p,a),pe=(p,a)=>{if(!S||!k)return me(p,a);let g=Math.max(0,a-p|0),l=S.allocUnsafe(g);if(g===0)return l;return k.copy(l,0,p,a),l},ue=(p,a)=>{if(!S||!k)return me(p,a).buffer;let g=Math.max(0,a-p|0);if(g===0)return new ArrayBuffer(0);let l=S.allocUnsafeSlow(g);return k.copy(l,0,p,a),l.buffer};return{ensureCapacity:v,syncGrowth:re,capacityBytes:z,currentBuffer:()=>E,regionBase:()=>W.byteOffset,readUtf8:Z,writeBinary:se,writeBuffer:H,writeArrayBuffer:Y,write8Binary:X,readBytesCopy:me,readBytesView:ie,readBytesBufferCopy:pe,readBufferCopy:pe,readBytesArrayBufferCopy:ue,readArrayBufferCopy:ue,read8BytesFloatCopy:(p,a)=>_.slice(p>>>3,a>>>3),read8BytesFloatView:(p,a)=>_.subarray(p>>>3,a>>>3),writeUtf8:(p,a,g=p.length*3)=>{if(!v(a+g))return-1;let l=W.subarray(a,a+g);if(!k){let{read:K,written:D}=Ta(p,l,t);if(K!==p.length)return-1;return D}let{read:m,written:y}=Kr.encodeInto(p,l);if(m!==p.length)return-1;return y}}},Ea=({headersBuffer:e,slotStrideU32:r,textCompat:t})=>{let o=wa(),s=e instanceof Uint32Array?e.buffer:e,c=e instanceof Uint32Array?e.byteOffset:0,u=Uint32Array.BYTES_PER_ELEMENT,d=r??vr,S=Et*u,x=new Uint8Array(s,c),I=o?.from(s,c),E=new Float64Array(s,c,s.byteLength-c>>>3),P=(l)=>Sa({slotIndex:l,slotStrideU32:d,baseByteOffset:c,baseU32:Ee.header}),A=new Uint32Array(Ee.slots);for(let l=0;l<Ee.slots;l++)A[l]=P(l)-c;let W=new Uint32Array(s,c,s.byteLength-c>>>2),N=new Uint32Array(Ee.slots);for(let l=0;l<Ee.slots;l++)N[l]=A[l]>>>2;let k=(l,m,y)=>{let K=N[y];for(let D=0;D<m;D++)W[K+D]=l[D];return m*u},_=(l,m,y)=>{let K=N[y];for(let D=0;D<m;D++)l[D]=W[K+D];return l},z=(l,m)=>(l|0)>=0&&l+m<=S,te=Array(Ee.slots);for(let l=0;l<Ee.slots;l++){let m=A[l];te[l]=x.subarray(m,m+S)}let re=(l,m)=>{let y=te[m];if(!I){let{read:B,written:V}=Ta(l,y,t);if(B!==l.length)return-1;return V}let{read:K,written:D}=Kr.encodeInto(l,y);if(K!==l.length)return-1;return D},v=(l,m,y)=>{let K=A[y];if(!I)return ka(x.subarray(K+l,K+m),t);return I.toString("utf8",K+l,K+m)},Z=(l,m,y=0)=>(x.set(l,A[m]+y),l.byteLength),se=(l,m,y=0)=>(x.set(l,A[m]+y),l.byteLength),H=(l,m,y=0)=>{let K=l.byteLength;return x.set(new Uint8Array(l),A[m]+y),K},Y=(l,m,y=0)=>(x.set(l,A[m]+y),l.byteLength),X=(l,m,y=0)=>{if(!Ba(l))return-1;return Y(l,m,y)},me=(l,m,y=0)=>{let K=l.byteLength;if(!z(y,K))return-1;return E.set(l,A[m]+y>>>3),K},ie=(l,m,y)=>x.slice(A[y]+l,A[y]+m),pe=(l,m,y)=>x.subarray(A[y]+l,A[y]+m),ue=(l,m,y)=>{if(!o||!I)return ie(l,m,y);let K=m-l,D=o.allocUnsafe(K),B=A[y];return I.copy(D,0,B+l,B+m),D},J=(l,m,y)=>{if(!o)return ie(l,m,y);let K=ue(l,m,y);return new Uint8Array(K.buffer,K.byteOffset,K.byteLength)},Q=ht?(l,m,y)=>ie(l,m,y):J,p=(l,m,y)=>{if(!o||!I)return ie(l,m,y).buffer;let K=Math.max(0,m-l|0);if(K===0)return new ArrayBuffer(0);let D=o.allocUnsafeSlow(K),B=A[y];return I.copy(D,0,B+l,B+m),D.buffer};return{writeUtf8:re,readUtf8:v,writeBinary:Z,writeBuffer:se,writeArrayBuffer:H,writeExactUint8Array:Y,writeUint8Array:X,writeU32Words:k,readU32Words:_,write8Binary:me,readBytesCopy:ie,readBytesView:pe,readBytesBufferCopy:ue,readBufferCopy:ue,readUint8ArrayCopy:Q,readUint8ArrayBufferCopy:J,readBytesArrayBufferCopy:p,readArrayBufferCopy:p,read8BytesFloatCopy:(l,m,y)=>E.slice(A[y]+l>>>3,A[y]+m>>>3),read8BytesFloatView:(l,m,y)=>E.subarray(A[y]+l>>>3,A[y]+m>>>3),maxBytes:S}};var Le={Function:0,Symbol:1,Json:2,Serializable:3},bu=(e,r,t)=>{switch(r){case Le.Function:return`KNT_ERROR_0: Function is not a valid type; name: ${typeof e.value==="function"?e.value.name||"<anonymous>":"<unknown>"}`;case Le.Symbol:return"KNT_ERROR_1: Symbol must use Symbol.for(...) keys";case Le.Json:return t==null||t.length===0?"KNT_ERROR_2: JSON stringify failed; payload must be JSON-safe":`KNT_ERROR_2: JSON stringify failed; ${t}`;case Le.Serializable:return t==null||t.length===0?"KNT_ERROR_3: Unsupported payload type; serialize it yourself":`KNT_ERROR_3: Unsupported payload type; ${t}`}},De=({task:e,type:r,onPromise:t,detail:o})=>{let s=bu(e,r,o);if(!Hr)return e.value=s,e[i.FlagsToHost]=Xt.Reject,!1;if(t==null)throw TypeError(s);if(!Yt(e))return!1;return queueMicrotask(()=>{kt(e),e.value=s,t(e,!0,s)}),!1};var Ra=Symbol.for("knitting.payloadCodec.transportFinalizer");class Mr{header;payload;constructor(e,r){this.header=e,this.payload=r}[Symbol.dispose](){let e=this.payload;if(e!==null&&typeof e==="object")e[Symbol.dispose]?.()}[Ra](){let e=this.payload;if(e===null||typeof e!=="object")return;let r=e[Ra];return typeof r==="function"?r.call(e):void 0}}var at=()=>{throw Error('BufferReference cannot run in runtime "browser"')};var Or="knitting.sharedArrayBuffer",qn=Symbol.for("knitting.sharedArrayBuffer.numericTransfer"),Rt=8,gu=2,hu=Symbol.for("knitting.payloadCodec"),_a=()=>{let e=er();if(e!==void 0&&typeof e.pid==="number")return e.pid;let r=globalThis.Deno;if(typeof r?.pid==="number")return r.pid;return 0},Yn=`${ve}:${_a()}`,Su=typeof SharedArrayBuffer==="function",Au=(e)=>Su&&e instanceof SharedArrayBuffer,xa=new WeakMap,en=new WeakMap,La=new WeakMap,Pa=new WeakMap,Bu=new Map,va=(e)=>{if(e===void 0)return Bu;let r=Pa.get(e);if(r===void 0)r=new Map,Pa.set(e,r);return r},wu=typeof FinalizationRegistry==="function"?new FinalizationRegistry((e)=>{try{at().releaseShared(e)}catch{}}):void 0,Vn=(e)=>[Number(e&0xffffffffn)>>>0,Number(e>>32n&0xffffffffn)>>>0],$n=(e,r)=>BigInt(r>>>0)<<32n|BigInt(e>>>0),Tu=(e)=>{switch(e){case"node":return 1;case"deno":return 2;case"bun":return 3;default:return 0}},ku=(e)=>{switch(e){case 1:return"node";case 2:return"deno";case 3:return"bun";default:return}},Eu=(e)=>{if(e===void 0)return;let r=La.get(e);if(r===void 0)r=new Set,La.set(e,r);return r},Ru=(e)=>{let r=xa.get(e);if(r===void 0){let t=at().produceShared(e);r={token:t.token,pointer:t.pointer,byteLength:t.byteLength},xa.set(e,r),wu?.register(e,r.token)}return r};var xu=(e)=>({kind:Or,origin:Yn,runtime:ve,pointer:e.pointer.toString(),token:e.token.toString(),byteLength:e.byteLength}),Lu=(e)=>{if(e.byteLength>4294967295)return;let[r,t]=Vn(e.token),[o,s]=Vn(e.pointer);return[r,t,o,s,e.byteLength>>>0,Tu(ve),_a()>>>0,0]},Pu=(e)=>{let[r,t]=Vn(e.token);return[r,t]},_u=(e)=>{let r=en.get(e);if(r!==void 0)return r;let t=Ru(e);return r=Ca(e,t,xu(t)),r},Ca=(e,r,t)=>{let o=en.get(e);if(o!==void 0)return o;let s=Lu(r),c=Pu(r);return o={[hu]:Or,toMetadata:()=>t,[qn]:(u)=>{if(s===void 0)return;let d=Eu(u);if(d===void 0)return s;if(d.has(r.token))return c;return d.add(r.token),s}},en.set(e,o),o},Qn=(e)=>{if(Au(e))return _u(e);return en.get(e)},vu=(e)=>{if(e===null||typeof e!=="object")return!1;let r=e;return r.kind===Or&&typeof r.origin==="string"&&typeof r.runtime==="string"&&typeof r.pointer==="string"&&typeof r.token==="string"&&typeof r.byteLength==="number"&&Number.isInteger(r.byteLength)&&r.byteLength>=0},Ia=(e,r,t)=>{if(e.origin!==Yn)throw Error(`SharedArrayBuffer cannot cross a process boundary (origin ${e.origin} != ${Yn}); it is shared by reference to thread workers only.`);let o=BigInt(e.token),s=va(t),c=s.get(o);if(c!==void 0)return c;if(r)throw TypeError("SharedArrayBuffer cache miss for warm token payload");let u=at().adoptShared({token:o,pointer:BigInt(e.pointer),byteOffset:0,byteLength:e.byteLength});return s.set(o,u.buffer),Ca(u.buffer,{token:o,pointer:BigInt(e.pointer),byteLength:e.byteLength},e),u.buffer},Cu=(e,r)=>{if(!vu(e))throw TypeError("Invalid SharedArrayBuffer payload metadata");return Ia(e,!1,r)},Iu=(e,r)=>{if(e.length===gu){let c=$n(e[0]??0,e[1]??0),u=va(r).get(c);if(u!==void 0)return u;throw TypeError("SharedArrayBuffer cache miss for warm token payload")}let t=ku(e[5]??0);if(t===void 0)throw TypeError("Invalid SharedArrayBuffer numeric runtime");let o=e[6];if(o===void 0||!Number.isInteger(o)||o<0)throw TypeError("Invalid SharedArrayBuffer numeric origin");if(e.length!==Rt)throw TypeError("Invalid SharedArrayBuffer numeric word count");let s={kind:Or,origin:`${t}:${o>>>0}`,runtime:t,pointer:$n(e[2]??0,e[3]??0).toString(),token:$n(e[0]??0,e[1]??0).toString(),byteLength:e[4]??0};return Ia(s,!1,r)},Mu=globalThis,Ou=Mu.__KNITTING_PAYLOAD_CODECS__??=Object.create(null);Ou[Or]={decode:Cu,decodeNumeric:Iu};var rn=Symbol.for("knitting.bufferReference.numericTransfer"),Ma=()=>{throw Error('BufferReference cannot run in runtime "browser"')};class st{constructor(){Ma()}static fromMetadata=Ma}var Vr=(e)=>!1;var Xn=(e)=>e.byteLength===0;var nn=(e)=>!1,tn=()=>{throw Error("ProcessSharedBuffer is unavailable in the browser build")};class Gr{constructor(){tn()}static create=tn;static fromMetadata=tn;toMetadata=tn}var Oa=Symbol.for("knitting.numericArray");class on extends Array{}Object.defineProperty(on.prototype,Oa,{value:!0,enumerable:!1,writable:!1,configurable:!1});var Jn=(e)=>e[Oa]===!0,Zn=(e)=>{let r=e.length,t=new on(r);for(let o=0;o<r;o++)t[o]=e[o];return t};var no=new ArrayBuffer(8),sn=new Float64Array(no),Ya=new BigInt64Array(no),Br=new Uint32Array(no),Va=new TextEncoder,un=globalThis.Buffer,Da=typeof un?.byteLength==="function"?(e,r)=>un.byteLength(e,r):void 0,Du=(e)=>typeof un?.isBuffer==="function"&&un.isBuffer(e),Fu=(e)=>e!=null&&typeof e==="object"&&Object.getPrototypeOf(e)===Uint8Array.prototype,Nu=!Da?(e)=>Va.encode(e).byteLength:(e)=>Da(e,"utf8"),Wu=-(1n<<63n),Uu=(1n<<63n)-1n,{parse:Dr,stringify:ut}=JSON,{for:ro,keyFor:Hu}=Symbol,qa=ro("knitting.payloadCodec"),oo="knitting.bufferReference",ao="knitting.processSharedBuffer",Qa=globalThis,Xa=Object.getPrototypeOf,ln=Object.prototype.hasOwnProperty,cn=Array.isArray,Ja=Object.prototype,Fa="Unsupported object type. Allowed: plain object, array, Error, Date, Envelope, Buffer, ArrayBuffer, DataView, typed arrays, and registered external payloads. Serialize it yourself.",Na="Envelope payload must be an ArrayBuffer, SharedArrayBuffer, ProcessSharedBuffer, or BufferReference.",ju="Envelope header must be a JSON-like value or string.",Ku="Envelope header cannot contain Promise values.",Gu="Dynamic payload exceeds maxPayloadBytes.",zu="Dynamic payload buffer capacity exceeded.",ct="SharedArrayBuffer and BufferReference are process-local pointer payloads and cannot cross a process-worker boundary; use ProcessSharedBuffer instead.",Wa="Reserved Knitting external payload codec cannot be forged.",ft=(e)=>e===Or||e===oo,Ua=(e)=>ft(e)||e===ao,$u=(e)=>{let r=Xa(e);return r===Ja||r===null},Ha=(e)=>{let r=e[qa];return typeof r==="string"?r:void 0},Yu=(e)=>{switch(e){case"node":return 1;case"deno":return 2;case"bun":return 3;default:return 0}},Vu=(e)=>{switch(e){case"shared-array-buffer":return 1;case"external-array-buffer":return 2;default:return 0}},it=(e)=>typeof e==="number"&&Number.isInteger(e)&&e>=0&&e<=4294967295,ja=(e)=>typeof e.toMetadata==="function"&&typeof e[qa]==="string",Ka=(e)=>{if(Vr(e))return st.prototype.toMetadata.call(e);if(nn(e))return Gr.prototype.toMetadata.call(e);return e.toMetadata()},an=(e,r,t)=>{let o=Dr(e);if(!cn(o)||o.length!==2)return o;let s=o[0],c=o[1];if(typeof s!=="string")return{codec:s,metadata:c};if(r&&ft(s))throw TypeError(ct);let u=Qa.__KNITTING_PAYLOAD_CODECS__?.[s];return typeof u?.decode==="function"?u.decode(c,t):{codec:s,metadata:c}},fn=8,lt=8,qu=4294967295,Ga=262144,za=32,Za=new WeakMap,dn=(e)=>Za.get(e),so=(e,r,t)=>{let o=Qa.__KNITTING_PAYLOAD_CODECS__?.[e];if(typeof o?.decodeNumeric==="function")return o.decodeNumeric(r,t);return{codec:e,metadata:Array.from(r)}},Qu=(e)=>so(ao,e),eo=(e)=>so(oo,e),Xu=(e,r)=>so(Or,e,r),Ju=(e)=>{let r=e.value;switch(typeof r){case"number":if(r!==r)return e[i.Type]=nr.NaN,!0;return sn[0]=r,e[i.Type]=nr.Float64,e[i.Start]=Br[0],e[i.End]=Br[1],!0;case"boolean":return e[i.Type]=r?nr.True:nr.False,!0;case"undefined":return e[i.Type]=nr.Undefined,!0;case"bigint":if(r<Wu||r>Uu)return!1;return Ya[0]=r,e[i.Type]=nr.BigInt,e[i.Start]=Br[0],e[i.End]=Br[1],!0;case"object":if(r===null)return e[i.Type]=nr.Null,!0;return!1;default:return!1}},to=(e,r)=>{if(e instanceof Promise)return!0;if(e===null||typeof e!=="object")return!1;let t=e,o=r??new Set;if(o.has(t))return!1;if(o.add(t),cn(t)){let c=t;for(let u=0;u<c.length;u++)if(to(c[u],o))return!0;return!1}if(!$u(t))return!1;let s=t;for(let c in s){if(!ln.call(s,c))continue;if(to(s[c],o))return!0}return!1},es=(e)=>{if(e===null||e===void 0)return e;switch(typeof e){case"string":case"number":case"boolean":return e;case"bigint":return e.toString();case"symbol":case"function":return String(e)}if(e instanceof Error){let r={name:e.name,message:e.message};if(typeof e.stack==="string")r.stack=e.stack;if(ln.call(e,"cause"))r.cause=es(e.cause);return r}try{return Dr(ut(e))}catch{return String(e)}},Zu=(e)=>{let r={name:e.name,message:e.message};if(typeof e.stack==="string")r.stack=e.stack;if(ln.call(e,"cause"))r.cause=es(e.cause);return r},ec=(e)=>{let r;try{r=Dr(e)}catch{return Error(e)}if(r==null||typeof r!=="object")return Error(String(r));let t=r,o=Error(typeof t.message==="string"?t.message:"");if(typeof t.name==="string"&&t.name.length>0)o.name=t.name;if(typeof t.stack==="string")try{o.stack=t.stack}catch{}if(ln.call(t,"cause"))o.cause=t.cause;return o},$a=(e)=>{let r=e[0],t=0n;for(let o=e.length-1;o>=1;o--)t=t<<8n|BigInt(e[o]);return r===1?-t:t},rc=(e,r,t)=>{let o=r??vr,s=Hn({slotCount:Ee.slots,slotStrideU32:o,slotLengthU32:Et,baseU32:Ee.header});if(e.byteLength<Math.max(s,Dn))return null;return Ea({headersBuffer:e,slotStrideU32:o,textCompat:t})},rs=(e,r,t)=>{let o=rc(e,r,t);if(o===null)throw RangeError("headersBuffer is too small for static payload IO");return o},tc=({lockSector:e,payload:r,sab:t,payloadConfig:o,headersBuffer:s,headerSlotStrideU32:c,textCompat:u,onPromise:d,processBoundary:S=!1,sharedReturn:x=!1,moveReturn:I=!1})=>{let E=r?.sab??t,P=_r({sab:E,options:r?.config??o}),A=P.maxPayloadBytes,W=I&&(()=>{try{return at(),!0}catch{return!1}})(),N=Fn({lockSector:e}),{allocTask:k,setSlotLength:_,tagTaskSlot:z,free:te}=N,{allocRegion:re,regionStart:v}=N,{writeBinary:Z,writeBuffer:se,writeArrayBuffer:H,write8Binary:Y,writeUtf8:X,readBytesView:me,ensureCapacity:ie,currentBuffer:pe,regionBase:ue}=zn({sab:E,payloadConfig:P,textCompat:u?.payload}),{maxBytes:J,writeBinary:j,writeBuffer:Q,writeArrayBuffer:p,writeExactUint8Array:a,writeU32Words:g,write8Binary:l,writeUtf8:m}=rs(s,c,u?.headers),y=(n,h,b)=>De({task:n,type:Le.Serializable,onPromise:d,detail:`${Gu} limit=${A}; actual=${h}; type=${b}.`}),K=(n)=>De({task:n,type:Le.Serializable,onPromise:d,detail:zu}),D=(n,h,b)=>{if(h<=A)return!0;return y(n,h,b)},B=(n,h,b,f)=>{let w=h.length*3;if(w+b<=A)return w;let O=Nu(h),G=O+b;if(G>A)return y(n,G,f),-1;return O},V=(n,h,b)=>B(n,h,0,b),oe=[],He=3,Ce=(P.payloadMaxByteLength>>1)/za|0,Pe=(n)=>{if(n>Ce)return-1;let h=re(n);if(h===-1)return-1;let b=v(h);if(!ie(b+n))return te(h),-1;if(oe.push(h,b,b+n),oe.length>za*3)te(oe[0]),oe.splice(0,3);return h},fe=(n)=>{for(let h=0;h<oe.length;h+=3)if(oe[h]===n){oe.splice(h,3);break}te(n)},Fe=(n)=>{if(oe.length===0)return-1;if(n.buffer!==pe())return-1;let h=n.byteOffset-ue(),b=h+n.byteLength;for(let f=oe.length-3;f>=0;f-=3)if(h>=oe[f+1]&&b<=oe[f+2])return h;return-1},ge=(n,h=!1)=>{let b=Pe(n);if(b===-1)return;let f=v(b),w=me(f,f+n);if(h)w.fill(0);return w};if(x&&E!==void 0)Za.set(E,ge);let _e=(n,h)=>(n[i.PayloadLen]=h,k(n)),we=-1,ce=(n,h)=>{n[i.PayloadLen]=h;let b=k(n);return we=b,b},Ve=()=>{if(we!==-1)te(we),we=-1},ae=(n,h)=>{if(te(h),we===h)we=-1;return K(n)},de=new Uint8Array(16),Ne=(n)=>{let h=0,b=n;if(n<0n)h=1,b=-n;let f=1;while(b>0n){if(f>=de.byteLength){let w=new Uint8Array(de.byteLength<<1);w.set(de,0),de=w}de[f++]=Number(b&0xffn),b>>=8n}return de[0]=h,f},Te=(n)=>{de.fill(0,0,n)},or=(n,h)=>{let b;try{b=ut(Zu(h))}catch(O){let G=O instanceof Error?O.message:String(O);return De({task:n,type:Le.Serializable,onPromise:d,detail:G})}let f=V(n,b,"Error");if(f<0)return!1;n[i.Type]=L.Error;let w=ce(n,f);if(w===-1)return!1;let C=X(b,n[i.Start],f);if(C<0)return ae(n,w);return n[i.PayloadLen]=C,_(w,C),n.value=null,!0},qe=(n,h,b,f,w)=>{let C=b.byteLength;if(C<=J){let ne=j(b,h);if(ne!==-1)return n[i.Type]=w,n[i.PayloadLen]=ne,n.value=null,!0}if(n[i.Type]=f,!D(n,C,ea(f)))return!1;let O=ce(n,C);if(O===-1)return!1;let G=Z(b,n[i.Start]);if(G<0)return ae(n,O);return n[i.PayloadLen]=G,_(O,G),n.value=null,!0},Me=(n,h,b)=>{let f=b.byteLength,w=Fe(b);if(w!==-1)return n[i.Type]=L.ArenaBinary,n[i.Start]=w,n[i.PayloadLen]=f,n.value=null,!0;if(f<=J)return a(b,h),n[i.Type]=L.StaticBinary,n[i.PayloadLen]=f,n.value=null,!0;if(W&&f>=Ga&&hr(n,h,b,L.MovedBinary))return!0;if(n[i.Type]=L.Binary,!D(n,f,"Binary"))return!1;let C=ce(n,f);if(C===-1)return!1;let O=Z(b,n[i.Start]);if(O<0)return ae(n,C);return n[i.PayloadLen]=O,_(C,O),n.value=null,!0},be=(n,h,b)=>{let f=b.byteLength;if(f<=J){let O=Q(b,h);if(O!==-1)return n[i.Type]=L.StaticBuffer,n[i.PayloadLen]=O,n.value=null,!0}if(n[i.Type]=L.Buffer,!D(n,f,"Buffer"))return!1;let w=ce(n,f);if(w===-1)return!1;let C=se(b,n[i.Start]);if(C<0)return ae(n,w);return n[i.PayloadLen]=C,_(w,C),n.value=null,!0},je=(n,h,b)=>{let f=b.byteLength;if(f<=J){let O=l(b,h);if(O!==-1)return n[i.Type]=L.StaticFloat64Array,n[i.PayloadLen]=O,n.value=null,!0}if(n[i.Type]=L.Float64Array,!D(n,f,"Float64Array"))return!1;let w=ce(n,f);if(w===-1)return!1;let C=Y(b,n[i.Start]);if(C<0)return ae(n,w);return n[i.PayloadLen]=C,_(w,C),n.value=null,!0},yr=new Float64Array(0),gr=(n,h,b)=>{let f=b.length;if(yr.length<f)yr=new Float64Array(f);for(let ne=0;ne<f;ne++)yr[ne]=b[ne];let w=yr.subarray(0,f),C=w.byteLength;if(C<=J){let ne=l(w,h);if(ne!==-1)return n[i.Type]=L.StaticNumericArray,n[i.PayloadLen]=ne,n.value=null,!0}if(n[i.Type]=L.NumericArray,!D(n,C,"NumericArray"))return!1;let O=ce(n,C);if(O===-1)return!1;let G=Y(w,n[i.Start]);if(G<0)return ae(n,O);return n[i.PayloadLen]=G,_(O,G),n.value=null,!0},xr=(n,h,b)=>{let f=b.byteLength;if(f<=J){let O=p(b,h);if(O!==-1)return n[i.Type]=L.StaticArrayBuffer,n[i.PayloadLen]=O,n.value=null,!0}if(W&&f>=Ga&&hr(n,h,b,L.MovedArrayBuffer))return!0;if(n[i.Type]=L.ArrayBuffer,!D(n,f,"ArrayBuffer"))return!1;let w=ce(n,f);if(w===-1)return!1;let C=H(b,n[i.Start]);if(C<0)return ae(n,w);return n[i.PayloadLen]=C,_(w,C),n.value=null,!0},$e=new Uint32Array(fn),Be=new Uint32Array(Rt),Oe=(n,h,b)=>{let f=b.descriptor;if(f===void 0||f.name!==void 0||!it(f.fd)||!it(f.size)||!it(f.byteLength)||!it(b.byteOffset)||!it(b.byteLength))return!1;let w=f.baseAddressMod64;if(w!==void 0&&!it(w))return!1;return $e[0]=f.fd,$e[1]=f.size,$e[2]=f.byteLength,$e[3]=b.byteOffset,$e[4]=b.byteLength,$e[5]=Yu(f.runtime),$e[6]=Vu(f.kind),$e[7]=w===void 0?qu:w,n[i.Type]=L.ProcessSharedBuffer,n[i.PayloadLen]=g($e,fn,h),n.value=null,!0},ar=(n,h,b)=>{let f=Vr(b)?st.prototype[rn].call(b):b[rn]?.();if(f===void 0)return!1;return n[i.Type]=L.BufferReference,n[i.PayloadLen]=g(f,lt,h),Er(n,b),n.value=null,!0},hr=(n,h,b,f)=>{if(b.byteLength>4294967295)return!1;let w=ArrayBuffer.isView(b)?b.buffer:b;if(typeof SharedArrayBuffer==="function"&&w instanceof SharedArrayBuffer)return!1;let C=w;if(ArrayBuffer.isView(b)&&(b.byteOffset!==0||b.byteLength!==C.byteLength))return!1;let O;try{O=new st(b)}catch(ne){if(Xn(C))throw ne;return!1}if(!Xn(C))return O.release(),!1;let G=st.prototype[rn].call(O);if(G===void 0)throw O.release(),Error("Moved BufferReference has no numeric transport form");return n[i.Type]=f,n[i.PayloadLen]=g(G,lt,h),Er(n,O),n.value=null,!0},wr=(n,h,b)=>{let f=b[qn]?.(e);if(f===void 0)return!1;return Be[0]=f[0]??0,Be[1]=f[1]??0,Be[2]=f[2]??0,Be[3]=f[3]??0,Be[4]=f[4]??0,Be[5]=f[5]??0,Be[6]=f[6]??0,Be[7]=f[7]??0,n[i.Type]=L.SharedArrayBuffer,n[i.PayloadLen]=g(Be,f.length,h),n.value=null,!0},pr=(n,h,b,f=!1)=>{let w=Ha(b);if(w===void 0)return De({task:n,type:Le.Serializable,onPromise:d,detail:Fa});if(f){if(S&&ft(w))return De({task:n,type:Le.Serializable,onPromise:d,detail:ct});if(w===Or&&wr(n,h,b))return!0;if(w===oo&&ar(n,h,b))return!0;if(w===ao&&Oe(n,h,b))return!0}else if(Ua(w))return De({task:n,type:Le.Serializable,onPromise:d,detail:S&&ft(w)?ct:Wa});let C;try{C=ut([w,f?Ka(b):b.toMetadata()])}catch(he){let Re=he instanceof Error?he.message:String(he);return De({task:n,type:Le.Serializable,onPromise:d,detail:Re})}if(typeof C!=="string")return De({task:n,type:Le.Serializable,onPromise:d,detail:"External payload metadata must be JSON serializable."});if(C.length<=J){let he=m(C,h);if(he!==-1)return n[i.Type]=L.StaticExternalPayload,n[i.PayloadLen]=he,Er(n,b),n.value=null,!0}n[i.Type]=L.ExternalPayload;let O=V(n,C,"ExternalPayload");if(O<0)return!1;let G=ce(n,O);if(G===-1)return!1;let ne=X(C,n[i.Start],O);if(ne<0)return ae(n,G);return n[i.PayloadLen]=ne,_(G,ne),Er(n,b),n.value=null,!0},Ye=(n,h,b)=>{let f;try{f=ut(b)}catch(G){let ne=G instanceof Error?G.message:String(G);return De({task:n,type:Le.Json,onPromise:d,detail:ne})}if(f.length<=J){let G=m(f,h);if(G!==-1)return n[i.Type]=L.StaticJson,n[i.PayloadLen]=G,Er(n,b),n.value=null,!0}n[i.Type]=L.Json;let w=V(n,f,"Json");if(w<0)return!1;let C=ce(n,w);if(C===-1)return!1;let O=X(f,n[i.Start],w);if(O<0)return ae(n,C);return n[i.PayloadLen]=O,_(C,O),Er(n,b),n.value=null,!0},ke=(n,h)=>(sn[0]=h.getTime(),n[i.Type]=L.Date,n[i.Start]=Br[0],n[i.End]=Br[1],n.value=null,!0),Ke=(n,h,b)=>{if(to(h)){De({task:n,type:Le.Serializable,onPromise:d,detail:Ku});return}if(b)return h;let f;try{f=ut(h)}catch(w){let C=w instanceof Error?w.message:String(w);De({task:n,type:Le.Json,onPromise:d,detail:C});return}if(typeof f!=="string"){De({task:n,type:Le.Serializable,onPromise:d,detail:ju});return}return f},Xe=(n)=>{if(n===null||typeof n!=="object")return;let h=Qn(n);if(h!==void 0)return{payload:h,trustedReservedCodec:!0};if(Vr(n)||nn(n))return{payload:n,trustedReservedCodec:!0};if(ja(n))return{payload:n,trustedReservedCodec:!1};return},Je=(n,h,b,f,w)=>{let C=new Uint8Array(w),O=C.byteLength,G=O>0?O:1,ne=m(b,h);if(ne!==-1){if(!D(n,G,"EnvelopeStaticHeaderPayload"))return!1;let Sr=ce(n,G);if(Sr===-1)return!1;if(n[i.Type]=f?L.EnvelopeStaticHeaderString:L.EnvelopeStaticHeader,n[i.PayloadLen]=ne,n[i.End]=O,O>0){let Lr=Z(C,n[i.Start]);if(Lr<0)return ae(n,Sr);_(Sr,Lr)}else _(Sr,0);return n.value=null,z(n,Sr),!0}let he=B(n,b,O,f?"EnvelopeDynamicHeaderString":"EnvelopeDynamicHeader");if(he<0)return!1;n[i.Type]=f?L.EnvelopeDynamicHeaderString:L.EnvelopeDynamicHeader;let Re=ce(n,he+O);if(Re===-1)return!1;let sr=n[i.Start],mr=X(b,sr,he);if(mr<0)return ae(n,Re);if(O>0){if(Z(C,sr+mr)<0)return ae(n,Re)}return n[i.PayloadLen]=mr,n[i.End]=O,_(Re,mr+O),n.value=null,z(n,Re),!0},ur=(n,h,b,f,w,C)=>{let O=Ha(w);if(O===void 0)return De({task:n,type:Le.Serializable,onPromise:d,detail:Na});if(C){if(S&&ft(O))return De({task:n,type:Le.Serializable,onPromise:d,detail:ct})}else if(Ua(O))return De({task:n,type:Le.Serializable,onPromise:d,detail:S&&ft(O)?ct:Wa});let G;try{G=ut([O,C?Ka(w):w.toMetadata()])}catch(ye){let cr=ye instanceof Error?ye.message:String(ye);return De({task:n,type:Le.Serializable,onPromise:d,detail:cr})}if(typeof G!=="string")return De({task:n,type:Le.Serializable,onPromise:d,detail:"Envelope body metadata must be JSON serializable."});let ne=Va.encode(G),he=ne.byteLength,Re=m(b,h);if(Re!==-1){if(!D(n,he,"EnvelopeStaticHeaderExternal"))return!1;let ye=ce(n,he);if(ye===-1)return!1;n[i.Type]=f?L.EnvelopeStaticHeaderStringExternal:L.EnvelopeStaticHeaderExternal,n[i.PayloadLen]=Re,n[i.End]=he;let cr=Z(ne,n[i.Start]);if(cr<0)return ae(n,ye);return _(ye,cr),Er(n,w),n.value=null,z(n,ye),!0}let sr=B(n,b,he,f?"EnvelopeDynamicHeaderStringExternal":"EnvelopeDynamicHeaderExternal");if(sr<0)return!1;n[i.Type]=f?L.EnvelopeDynamicHeaderStringExternal:L.EnvelopeDynamicHeaderExternal;let mr=ce(n,sr+he);if(mr===-1)return!1;let Sr=n[i.Start],Lr=X(b,Sr,sr);if(Lr<0)return ae(n,mr);if(Z(ne,Sr+Lr)<0)return ae(n,mr);return n[i.PayloadLen]=Lr,n[i.End]=he,_(mr,Lr+he),Er(n,w),n.value=null,z(n,mr),!0},R=(n,h,b)=>{let{header:f,payload:w}=b,C=typeof f==="string";if(w instanceof ArrayBuffer){let G=Ke(n,f,C);if(G===void 0)return!1;return Je(n,h,G,C,w)}let O=Xe(w);if(O!==void 0){let G=Ke(n,f,C);if(G===void 0)return!1;return ur(n,h,G,C,O.payload,O.trustedReservedCodec)}return De({task:n,type:Le.Serializable,onPromise:d,detail:Na})},M=(n,h)=>{if(Yt(n))h.then((b)=>{kt(n),n.value=b,d(n,!1,b)},(b)=>{kt(n),n.value=b,d(n,!0,b)});return!1};return(n,h)=>{let b=n.value;if(Ju(n))return!0;switch(typeof b){case"bigint":{let f=Ne(b),w=de.subarray(0,f);if(f<=J){let G=j(w,h);if(G!==-1)return n[i.Type]=L.StaticBigInt,n[i.PayloadLen]=G,Te(f),n.value=null,!0}if(n[i.Type]=L.BigInt,!D(n,f,"BigInt"))return Te(f),!1;let C=_e(n,f);if(C===-1)return Te(f),!1;let O=Z(w,n[i.Start]);if(O<0)return Te(f),ae(n,C);return n[i.PayloadLen]=O,_(C,O),Te(f),n.value=null,!0}case"function":return De({task:n,type:Le.Function,onPromise:d});case"object":we=-1;try{let f=b,w=Xa(f);if(w===Ja)return Ye(n,h,f);let C=Qn(f);if(C!==void 0)return pr(n,h,C,!0);if(Fu(f))return Me(n,h,f);if(cn(f)&&Jn(f))return gr(n,h,f);if(cn(f)||w===null)return Ye(n,h,f);if(Vr(f)||nn(f))return pr(n,h,f,!0);let O=f.constructor;if(Du(f))return be(n,h,f);switch(O){case ArrayBuffer:return xr(n,h,f);case Int32Array:{let G=f;return qe(n,h,new Uint8Array(G.buffer,G.byteOffset,G.byteLength),L.Int32Array,L.StaticInt32Array)}case Float64Array:return je(n,h,f);case BigInt64Array:{let G=f;return qe(n,h,new Uint8Array(G.buffer,G.byteOffset,G.byteLength),L.BigInt64Array,L.StaticBigInt64Array)}case BigUint64Array:{let G=f;return qe(n,h,new Uint8Array(G.buffer,G.byteOffset,G.byteLength),L.BigUint64Array,L.StaticBigUint64Array)}case DataView:{let G=f;return qe(n,h,new Uint8Array(G.buffer,G.byteOffset,G.byteLength),L.DataView,L.StaticDataView)}case Date:return ke(n,f);case Mr:return R(n,h,f);case Promise:return M(n,f);case Error:return or(n,f)}if(f instanceof Date)return ke(n,f);if(f instanceof Mr)return R(n,h,f);if(f instanceof Promise)return M(n,f);if(f instanceof Error)return or(n,f);if(ja(f))return pr(n,h,f);return De({task:n,type:Le.Serializable,onPromise:d,detail:Fa})}catch(f){Ve();let w=f instanceof Error?f.message:String(f);return De({task:n,type:Le.Serializable,onPromise:d,detail:w})}case"string":{let f=b;if(f.length<=J){let G=m(f,h);if(G!==-1)return n[i.Type]=L.StaticString,n[i.PayloadLen]=G,n.value=null,!0}n[i.Type]=L.String;let w=V(n,f,"String");if(w<0)return!1;let C=_e(n,w);if(C===-1)return!1;let O=X(f,n[i.Start],w);if(O<0)return ae(n,C);return n[i.PayloadLen]=O,_(C,O),n.value=null,!0}case"symbol":{let f=Hu(b);if(f===void 0)return De({task:n,type:Le.Symbol,onPromise:d});if(f.length*3<=J){let G=m(f,h);if(G!==-1)return n[i.Type]=L.StaticSymbol,n[i.PayloadLen]=G,n.value=null,!0}n[i.Type]=L.Symbol;let w=V(n,f,"Symbol");if(w<0)return!1;let C=_e(n,w);if(C===-1)return!1;let O=X(f,n[i.Start],w);if(O<0)return ae(n,C);return n[i.PayloadLen]=O,_(C,O),n.value=null,!0}}return!1}},nc=({lockSector:e,payload:r,sab:t,payloadConfig:o,headersBuffer:s,headerSlotStrideU32:c,textCompat:u,host:d,processBoundary:S=!1})=>{let x=r?.sab??t,I=_r({sab:x,options:r?.config??o}),{free:E}=Fn({lockSector:e}),P=(a)=>E(a[i.slotBuffer]&tt|a[i.End]>>>31<<5),{readUtf8:A,readBytesCopy:W,readBytesBufferCopy:N,readBufferCopy:k,readBytesArrayBufferCopy:_,readArrayBufferCopy:z,read8BytesFloatCopy:te,read8BytesFloatView:re,readBytesView:v,syncGrowth:Z}=zn({sab:x,payloadConfig:I,textCompat:u?.payload}),{readUtf8:se,readBytesBufferCopy:H,readBufferCopy:Y,readUint8ArrayCopy:X,readBytesArrayBufferCopy:me,readArrayBufferCopy:ie,read8BytesFloatCopy:pe,readU32Words:ue}=rs(s,c,u?.headers),J=new Uint32Array(fn),j=new Uint32Array(Rt),Q=[];for(let a=0;a<=Rt;a++)Q.push(j.subarray(0,a));let p=new Uint32Array(lt);return(a,g,l)=>{let m=a[i.Type];if(S&&(m===L.SharedArrayBuffer||m===L.BufferReference))throw TypeError(ct);switch(m){case nr.BigInt:Br[0]=a[i.Start],Br[1]=a[i.End],a.value=Ya[0];return;case nr.True:a.value=!0;return;case nr.False:a.value=!1;return;case nr.Float64:Br[0]=a[i.Start],Br[1]=a[i.End],a.value=sn[0];return;case nr.NaN:a.value=NaN;return;case nr.Null:a.value=null;return;case nr.Undefined:a.value=void 0;return;case L.String:a.value=A(a[i.Start],a[i.Start]+a[i.PayloadLen]),P(a);return;case L.StaticString:a.value=se(0,a[i.PayloadLen],g);return;case L.Json:a.value=Dr(A(a[i.Start],a[i.Start]+a[i.PayloadLen])),P(a);return;case L.StaticJson:a.value=Dr(se(0,a[i.PayloadLen],g));return;case L.EnvelopeStaticHeader:case L.EnvelopeStaticHeaderString:{let y=se(0,a[i.PayloadLen],g),K=a[i.Type]===L.EnvelopeStaticHeaderString?y:Dr(y),D=a[i.End]&2147483647,B=D>0?_(a[i.Start],a[i.Start]+D):new ArrayBuffer(0);a.value=new Mr(K,B),P(a);return}case L.EnvelopeDynamicHeader:case L.EnvelopeDynamicHeaderString:{let y=a[i.Start],K=y+a[i.PayloadLen],D=a[i.End]&2147483647,B=A(y,K),V=a[i.Type]===L.EnvelopeDynamicHeaderString?B:Dr(B),oe=D>0?_(K,K+D):new ArrayBuffer(0);a.value=new Mr(V,oe),P(a);return}case L.EnvelopeStaticHeaderExternal:case L.EnvelopeStaticHeaderStringExternal:{let y=se(0,a[i.PayloadLen],g),K=a[i.Type]===L.EnvelopeStaticHeaderStringExternal?y:Dr(y),D=a[i.Start],B=an(A(D,D+(a[i.End]&2147483647)),S);a.value=new Mr(K,B),P(a);return}case L.EnvelopeDynamicHeaderExternal:case L.EnvelopeDynamicHeaderStringExternal:{let y=a[i.Start],K=y+a[i.PayloadLen],D=A(y,K),B=a[i.Type]===L.EnvelopeDynamicHeaderStringExternal?D:Dr(D),V=an(A(K,K+(a[i.End]&2147483647)),S);a.value=new Mr(B,V),P(a);return}case L.BigInt:a.value=$a(N(a[i.Start],a[i.Start]+a[i.PayloadLen])),P(a);return;case L.StaticBigInt:a.value=$a(H(0,a[i.PayloadLen],g));return;case L.Symbol:a.value=ro(A(a[i.Start],a[i.Start]+a[i.PayloadLen])),P(a);return;case L.StaticSymbol:a.value=ro(se(0,a[i.PayloadLen],g));return;case L.Int32Array:{let y=N(a[i.Start],a[i.Start]+a[i.PayloadLen]);a.value=new Int32Array(y.buffer,y.byteOffset,y.byteLength>>>2),P(a);return}case L.StaticInt32Array:{let y=H(0,a[i.PayloadLen],g);a.value=new Int32Array(y.buffer,y.byteOffset,y.byteLength>>>2);return}case L.Float64Array:{a.value=te(a[i.Start],a[i.Start]+a[i.PayloadLen]),P(a);return}case L.StaticFloat64Array:a.value=pe(0,a[i.PayloadLen],g);return;case L.NumericArray:{a.value=Zn(re(a[i.Start],a[i.Start]+a[i.PayloadLen])),P(a);return}case L.StaticNumericArray:a.value=Zn(pe(0,a[i.PayloadLen],g));return;case L.BigInt64Array:{let y=N(a[i.Start],a[i.Start]+a[i.PayloadLen]);a.value=new BigInt64Array(y.buffer,y.byteOffset,y.byteLength>>>3),P(a);return}case L.StaticBigInt64Array:{let y=H(0,a[i.PayloadLen],g);a.value=new BigInt64Array(y.buffer,y.byteOffset,y.byteLength>>>3);return}case L.BigUint64Array:{let y=N(a[i.Start],a[i.Start]+a[i.PayloadLen]);a.value=new BigUint64Array(y.buffer,y.byteOffset,y.byteLength>>>3),P(a);return}case L.StaticBigUint64Array:{let y=H(0,a[i.PayloadLen],g);a.value=new BigUint64Array(y.buffer,y.byteOffset,y.byteLength>>>3);return}case L.DataView:{let y=N(a[i.Start],a[i.Start]+a[i.PayloadLen]);a.value=new DataView(y.buffer,y.byteOffset,y.byteLength),P(a);return}case L.StaticDataView:{let y=H(0,a[i.PayloadLen],g);a.value=new DataView(y.buffer,y.byteOffset,y.byteLength);return}case L.ExternalPayload:a.value=an(A(a[i.Start],a[i.Start]+a[i.PayloadLen]),S,e),P(a);return;case L.StaticExternalPayload:a.value=an(se(0,a[i.PayloadLen],g),S,e);return;case L.ProcessSharedBuffer:a.value=Qu(ue(J,fn,g));return;case L.SharedArrayBuffer:{let y=a[i.PayloadLen]>>>2;a.value=Xu(ue(Q[y]??j,y,g),e);return}case L.BufferReference:a.value=eo(ue(p,lt,g));return;case L.MovedBinary:{let y=eo(ue(p,lt,g));if(!Vr(y))throw TypeError("Invalid moved Uint8Array payload");a.value=y.toUint8Array();return}case L.MovedArrayBuffer:{let y=eo(ue(p,lt,g));if(!Vr(y))throw TypeError("Invalid moved ArrayBuffer payload");a.value=y.toArrayBuffer();return}case L.Date:Br[0]=a[i.Start],Br[1]=a[i.End],a.value=new Date(sn[0]);return;case L.Error:a.value=ec(A(a[i.Start],a[i.Start]+a[i.PayloadLen])),P(a);return;case L.ArenaBinary:Z(),a.value=v(a[i.Start],a[i.Start]+a[i.PayloadLen]);return;case L.Binary:{let y=N(a[i.Start],a[i.Start]+a[i.PayloadLen]);a.value=new Uint8Array(y.buffer,y.byteOffset,y.byteLength)}P(a);return;case L.StaticBinary:a.value=X(0,a[i.PayloadLen],g);return;case L.ArrayBuffer:a.value=z(a[i.Start],a[i.Start]+a[i.PayloadLen]),P(a);return;case L.StaticArrayBuffer:a.value=ie(0,a[i.PayloadLen],g);return;case L.Buffer:a.value=k(a[i.Start],a[i.Start]+a[i.PayloadLen]),P(a);return;case L.StaticBuffer:a.value=Y(0,a[i.PayloadLen],g);return}}};Jo(tc,nc);var oc,ts=(e)=>{oc=dn(e)};var dt=4096,pn=64,yn={op:0,rxStatus:pn,txStatus:pn*2,stop:pn*3},xt=pn*4,zr={running:0,requested:1,acknowledged:2},io=Atomics.store,mn=({sabObject:e,isMain:r,startTime:t})=>{let o=e?.size??dt,s=o+(dt-o%dt)%dt,c=tr(e?.sharedSab?e.sharedSab:rr(s,dt*dt)),u=c.sab,d=c.byteOffset,S=t??performance.now(),x=new Int32Array(u,d+yn.op,1);if(r)io(x,0,0);let I=new Int32Array(u,d+yn.rxStatus,1);io(I,0,1);let E=new Int32Array(u,d+yn.stop,1);if(r)io(E,0,zr.running);return{sab:c,op:x,startAt:S,opView:x,rxStatus:I,txStatus:new Int32Array(u,d+yn.txStatus,1),stopView:E}};var yt=Symbol.for("task");var ac=/^[A-Za-z]:[\\/]/,sc=/^\\\\[^\\/?]+\\[^\\/?]+/,uo=(e)=>encodeURI(e).replace(/\?/g,"%3F").replace(/#/g,"%23"),ic=()=>Ot("node:url")?.pathToFileURL,uc=(e)=>{let r=e.startsWith("/")?e:`/${e}`;return`file://${uo(r)}`},Fr=(e)=>{if(ac.test(e)){let r=e.replace(/\\/g,"/");return`file:///${uo(r)}`}if(sc.test(e)){let r=e.replace(/^\\\\+/,"").replace(/\\/g,"/");return`file://${uo(r)}`}try{return new URL(e).href}catch{let r=ic();return r?r(e).href:uc(e)}},ns=(e)=>{if(!Ur||!e.startsWith("file://"))return e;let r=e.slice(7),t=r.startsWith("/")?r:`/${r}`;try{return decodeURIComponent(t)}catch{return t}};var Lt={Reject:0,Resolve:1},cc=(e)=>{if(e==null)return;if(typeof e==="number"){let t=Math.floor(e);return t>=0?{ms:t,kind:Lt.Reject,value:Error("Task timeout")}:void 0}let r=Math.floor(e.time);if(!(r>=0))return;if("default"in e)return{ms:r,kind:Lt.Resolve,value:e.default};if(e.maybe===!0)return{ms:r,kind:Lt.Resolve,value:void 0};if("error"in e)return{ms:r,kind:Lt.Reject,value:e.error};return{ms:r,kind:Lt.Reject,value:Error("Task timeout")}},fc=(e,r)=>e.f,os=async({list:e,ids:r,names:t,at:o,permission:s})=>{let c=e.map((A)=>Fr(A)),u=new Set(t),S=(await Promise.all(c.map(async(A)=>{let W=await import(ns(A)),N=Object.entries(W).filter(([_,z])=>z!=null&&typeof z==="object"&&z?.[yt]===!0).map(([_,z])=>({...z,name:_})),k=Object.entries(W).filter(([_,z])=>u.has(_)&&typeof z==="function").map(([_,z])=>({f:z,id:-1,importedFrom:A,at:-1,name:_,[yt]:!0}));return[...N,...k]}))).flat(),x=c.length===1&&o.length>0,I=x?new Set(o):null,E=x?c[0]:null;return S.filter((A)=>x?A.importedFrom===E&&I.has(A.at):r.includes(A.id)).sort((A,W)=>A.name.localeCompare(W.name)).map((A)=>({...A,run:fc(A,s),timeout:cc(A.timeout)}))};var lc={thisIsAHint:0},dc=(()=>{let e=globalThis,r=typeof e.gc==="function"?()=>e.gc():void 0;if(r){try{delete e.gc}catch{e.gc=void 0}if(e.global)try{delete e.global.gc}catch{e.global.gc=void 0}}return r??(()=>{})})();var{load:yc,store:as}=Atomics,Pt=typeof Atomics.wait==="function"?Atomics.wait:void 0,ss=performance.now.bind(performance),is=Pt===void 0||typeof SharedArrayBuffer!=="function"?void 0:new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)),us="pause"in Atomics?Atomics.pause:void 0,pt=globalThis,pc=pt.process?.platform==="win32"&&typeof pt.process?.versions?.node==="string"&&pt.process?.versions?.bun===void 0&&pt.Deno===void 0,co=pt.process?.platform==="win32"&&typeof pt.process?.versions?.bun==="string";var cs=(e)=>co&&e<2?2:e,mc=(e)=>pc?1:Number.isFinite(e)?e:1/0,bc=(e)=>cs(Number.isFinite(e)?Math.min(Math.max(e,0),1):1),bn=({pauseInNanoseconds:e})=>{let r=e??250;if(!us||r<=0)return()=>{};return()=>us(r)},fo=bn({}),fs=({at:e,opView:r,pauseInNanoseconds:t,rxStatus:o,txStatus:s,enqueueLock:c,write:u,nativeWaitU32:d,useSharedMemoryWait:S=!0,flushBeforeClaim:x=!1})=>{let I=t===void 0?fo:bn({pauseInNanoseconds:t}),E=()=>{if(!u)return!1;let A=u();if(typeof A==="number")return A>0;return A===!0},P=x?()=>{let A=E();return c()||A}:()=>{let A=c();return E()||A};return(A,W,N)=>{let k=ss()+W/1000;dc();let _=0;while(!0){if(yc(r,e)!==A||s[lc.thisIsAHint]===1)return;if(P())return;if(I(),(_++&63)===0&&ss()>=k)break}if(P())return;if(as(o,0,0),d!==void 0)d(r.buffer,r.byteOffset+e*Int32Array.BYTES_PER_ELEMENT,A>>>0,mc(N));else if(S&&Pt&&r.buffer instanceof SharedArrayBuffer)Pt(r,e,A,cs(N??1/0));else if(Pt&&is)Pt(is,0,0,bc(N));as(o,0,1)}};var _t=(e)=>e instanceof Error?e.message:String(e),gn=(e,r,t)=>{let o=t===void 0?"":`: ${_t(t)}`;throw Error(`KNT_ERROR_PROCESS_GUARD_INSTALL: ${e} ${r}${o}`)},lo=()=>{let e=er();if(!e)return;if(e.__knittingTerminationGuard===!0)return;let r=(s)=>{throw Error(`KNT_ERROR_PROCESS_GUARD: ${s} is disabled in worker tasks`)},t=(s)=>{try{Object.defineProperty(e,s,{configurable:!1,writable:!1,value:(...c)=>r(`process.${s}`)})}catch(c){try{e[s]=(...u)=>r(`process.${s}`)}catch(u){gn(`process.${s}`,"install failed",[_t(c),_t(u)].join("; "))}}if(typeof e[s]!=="function")gn(`process.${s}`,"install verification failed")};t("exit"),t("kill"),t("abort"),t("reallyExit");let o=globalThis;if(o.Deno&&typeof o.Deno.exit==="function"){try{Object.defineProperty(o.Deno,"exit",{configurable:!1,writable:!1,value:(s)=>r("Deno.exit")})}catch(s){try{o.Deno.exit=(c)=>r("Deno.exit")}catch(c){gn("Deno.exit","install failed",[_t(s),_t(c)].join("; "))}}if(typeof o.Deno.exit!=="function")gn("Deno.exit","install verification failed")}e.__knittingTerminationGuard=!0},yo=()=>{let e=er();if(!e||typeof e.on!=="function")return;if(e.__knittingUnhandledRejectionSilencer===!0)return;e.__knittingUnhandledRejectionSilencer=!0,e.on("unhandledRejection",()=>{})};var po=()=>{let e=globalThis;if(e.__knittingPerformanceNowGuardInstalled===!0)return;e.__knittingPerformanceNowGuardInstalled=!0;let r=globalThis.performance;if(!r||typeof r.now!=="function")return;try{r.now()}catch{}};var mo=(e)=>{let r=e;try{r.sab=void 0,r.lock=void 0,r.returnLock=void 0,r.permission=void 0}catch{}try{delete r.sab}catch{}try{delete r.lock}catch{}try{delete r.returnLock}catch{}try{delete r.permission}catch{}try{Object.freeze(r)}catch{}};var ls=(e)=>br(e?.headers)&&br(e?.lockSector)&&br(e?.payload)&&br(e?.payloadSector)&&(e?.textCompat===void 0||jt(e.textCompat)),bo=({sab:e,lock:r,returnLock:t})=>{if(!br(e))throw Error("worker missing transport SAB");if(!ls(r))throw Error("worker missing lock SABs");if(!ls(t))throw Error("worker missing return lock SABs")},go=({list:e,ids:r,names:t,listOfFunctions:o})=>{if(o.length>0&&(t===void 0||o.length===t.length))return;if(console.log(e),console.log(r),t!==void 0)console.log(t);throw console.log(o),Error("No imports were found.")};var So=32,ho=So-1,ds=Symbol.for("knitting.abortSignal.poolExhausted");var vt=({sab:e,maxSignals:r})=>{let t=tr(e),o=new Uint32Array(t.sab,t.byteOffset,t.byteLength/Uint32Array.BYTES_PER_ELEMENT),s=o.length,c=new Uint32Array(s),u=s*So,d=(()=>{if(!Number.isFinite(r))return u;let k=Math.floor(r);if(k<=0)return u;return Math.min(k,u)})(),S=d+1,x=0,I=0;return{max:d,closeNow:S,getSignal:()=>{if(x>=d)return S;for(let k=0;k<s;k++){let _=(I+k)%s,z=_<<5,te=d-z;if(te<=0)continue;let re=te>=So?4294967295:(1<<te)-1>>>0,v=(~c[_]&re)>>>0;if(v===0)continue;let Z=(v&-v)>>>0;c[_]=(c[_]|Z)>>>0,x=x+1|0,I=(_+1)%s,Atomics.and(o,_,~Z);let se=31-Math.clz32(Z);return(_<<5)+se}return S},setSignal:(k)=>{if(k===S)return 0;if(!Number.isInteger(k))return-1;if(k<0||k>=d)return-1;let _=k>>>5,z=1<<(k&ho);return Atomics.or(o,_,z),1},abortAll:()=>{for(let k=0;k<s;k++)Atomics.store(o,k,c[k]);return x},hasAborted:(k)=>{if(k===S)return!0;if(!Number.isInteger(k))return!1;if(k<0||k>=d)return!1;let _=k>>>5,z=1<<(k&ho);return(Atomics.load(o,_)&z)!==0},resetSignal:(k)=>{if(k===S)return!1;if(!Number.isInteger(k))return!1;if(k<0||k>=d)return!1;let _=k>>>5,z=1<<(k&ho);if((c[_]&z)===0)return!1;if(c[_]=(c[_]&~z)>>>0,x>0)x=x-1|0;return I=_,Atomics.and(o,_,~z),!0},inUseCount:()=>x}};class Ao{#e=!1;constructor(e,r,t){let o=(s)=>(...c)=>{if(this.#e)return;this.#e=!0,r(),s(...c)};e.resolve=o(e.resolve),e.reject=o(e.reject),e.promise.reject=(s)=>{if(this.#e)return;if(s===void 0&&t!==void 0){t();return}e.reject(s)}}}var gc="default",hc=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return typeof r.href==="string"&&r.href.length>0&&(r.name===void 0||typeof r.name==="string"&&r.name.length>0)},Sc=(e)=>{try{return Gr.fromMetadata(e),!0}catch{return!1}},Bo=(e,r=new WeakMap)=>{if(Sc(e))return Gr.fromMetadata(e);if(e===null||typeof e!=="object")return e;let t=r.get(e);if(t!==void 0)return t;if(Array.isArray(e)){let c=[];r.set(e,c);for(let u of e)c.push(Bo(u,r));return c}let o=Object.getPrototypeOf(e);if(o!==Object.prototype&&o!==null)return e;let s={};r.set(e,s);for(let[c,u]of Object.entries(e))s[c]=Bo(u,r);return s},ys=async({bootstrap:e,thread:r,totalNumberOfThread:t})=>{if(e===void 0)return;if(!hc(e))throw TypeError("worker.bootstrap must include a non-empty href");let o=await import(Fr(e.href)),s=e.name??gc,c=o[s];if(typeof c!=="function"){let d=Object.keys(o).join(", ");throw TypeError(`worker.bootstrap expected export "${s}" from "${e.href}" to be a function. Available exports: ${d||"(none)"}`)}let u=Object.freeze({thread:r,totalNumberOfThread:t,runtime:ve});await c(Bo(e.data),u)};var ps=()=>{return},ms=()=>{};var Ac=(e)=>{let r=globalThis.Deno?.env;if(typeof r?.get==="function")try{return r.get(e)}catch{}try{return er()?.env?.[e]}catch{return}},Bc=Ac("KNITTING_DEBUG"),bs=new Set((Bc??"").split(",").map((e)=>e.trim()).filter((e)=>e.length>0)),gs=bs.size>0,hn=(e)=>{let r=new Set(bs);if(e===!0)r.add("*");else if(e!==void 0&&e!==!1){for(let[t,o]of Object.entries(e))if(o===!0)r.add(t)}return r};var kc="__knittingWorkerFatal",Sn=(e)=>{let r=String(e?.message??e),t={[kc]:r},o=!1;try{Ht?.postMessage?.(t),o=Ht!==void 0}catch{}if(!o)try{globalThis.postMessage(t),o=!0}catch{}if(!o){try{console.error(`Worker startup failed: ${r}`)}catch{}if(Ir)try{er()?.exit?.(1)}catch{}}},An=async(e)=>{lo(),yo(),po();let{debug:r,sab:t,thread:o,startAt:s,workerOptions:c,lock:u,returnLock:d,abortSignalSAB:S,abortSignalMax:x,payloadConfig:I,sharedReturn:E,permission:P,notifyOnHostPublish:A,processCompletionDoorbell:W,denoCompletionDoorbell:N,nodeCompletionDoorbell:k,totalNumberOfThread:_,list:z,ids:te,names:re,at:v,steal:Z}=e;mo(e),bo({sab:t,lock:u,returnLock:d});let se=hn(r),H=se.size>0?await Promise.resolve().then(() => (Bs(),As)).then((U)=>U.initDebug({name:`w${o}`,runtime:ve,namespaces:se})):void 0,Y={thisIsAHint:0},X=mn({sabObject:{sharedSab:t},isMain:!1,thread:o,startTime:s}),me=jr({headers:u.headers,headerSlotStrideU32:u.headerSlotStrideU32,LockBoundSector:u.lockSector,payload:u.payload,payloadSector:u.payloadSector,payloadConfig:I,textCompat:u.textCompat,processBoundary:Ir,consumers:Z?.consumers,consumerId:Z?.consumerId,regionLanes:Z?.regionLanes,stealClaim:Z?.claim}),ie=Vo(N),pe=Qo(k),ue=W===!0?Ht:void 0,J=!1,Q=ue===void 0?void 0:co?()=>{ue.postMessage(Ut),J=!0}:()=>ue.postMessage(Ut),p=jr({headers:d.headers,headerSlotStrideU32:d.headerSlotStrideU32,LockBoundSector:d.lockSector,payload:d.payload,payloadSector:d.payloadSector,payloadConfig:I,textCompat:d.textCompat,processBoundary:Ir,sharedReturn:E===!0,moveReturn:!Ir,notifyOnHostPublish:A||ie!==void 0||pe!==void 0||Q!==void 0,notifyHostPublish:ie!==void 0?()=>ie(o):pe!==void 0?pe:Q}),a=c?.timers,g=a?.spinMicroseconds??(_<=1?50:0),l=H!==void 0?Number.POSITIVE_INFINITY:a?.parkMs??1,m=(()=>{let U=typeof a?.pauseNanoseconds==="number"?bn({pauseInNanoseconds:a.pauseNanoseconds}):fo;return()=>U()})(),{opView:y,rxStatus:K,txStatus:D,stopView:B}=X,V=Atomics.store,oe=Atomics.load,He=ps();await ys({bootstrap:c?.bootstrap,thread:o,totalNumberOfThread:_}),H?.envPhase("bootstrap");let Ce=await os({list:z,isWorker:!0,ids:te,names:re,at:v,permission:P});H?.envPhase("tasks"),H?.log("imports",`${Ce.length} task(s) from ${z.map((U)=>U.split(/[\\/]/).pop()||U).join(", ")}`),go({list:z,ids:te,names:re,listOfFunctions:Ce});let Pe=S?vt({sab:S,maxSignals:x}):void 0,{enqueueLock:fe,serviceBatchImmediate:Fe,hasCompleted:ge,writeBatch:_e,getAwaiting:we,drainReturnReleases:ce,releaseDeferredReturns:Ve}=ma({listOfFunctions:Ce,workerOptions:c,lock:me,returnLock:p,hasAborted:Pe?.hasAborted,stealing:Z!==void 0});if(E===!0)ts(d.payload);V(K,0,1);let ae=64,de=fs({opView:y,at:0,rxStatus:K,txStatus:D,pauseInNanoseconds:a?.pauseNanoseconds,enqueueLock:fe,write:()=>ge()?_e(ae):0,flushBeforeClaim:Z!==void 0,nativeWaitU32:He,useSharedMemoryWait:!(Ir&&ve==="node"&&He===void 0)}),Ne=Xr(),Te=Ne.port1,or=Ne.port2,qe=(U)=>or.postMessage(U),Me=!1,be=0,je=0,yr=10,gr=oe(y,0),xr=()=>{if(Me)return;Me=!0,qe(null)},$e=(U)=>{if(Me)return;if(Me=!0,U<=0&&typeof St==="function"){St(R);return}if(U<=0){qe(null);return}if(typeof setTimeout==="function"){setTimeout(R,U);return}qe(null)},Be=H?.enabled("signals")===!0,Oe=ge,ar=we,hr=ce,wr=Ve,pr=m,Ye=Be?()=>{let U=fe();if(U)H.log("signals","work from=host");return U}:fe,ke=Be?(U)=>{let n=_e(U);if(n>0)H.log("signals",`result count=${n}`);return n}:_e,Ke=Be?()=>{let U=Fe();if(U>0)H.log("signals",`run count=${U}`);return U}:Fe,Xe=Be?(U,n,h)=>{H.log("signals",`idle token=${U}`),de(U,n,h)}:de,Je=Z!==void 0?()=>{let U=!1;if(Oe()&&ke(ae)>0)U=!0;return Ye()||U}:()=>{let U=Ye();return Oe()&&ke(ae)>0||U},ur=()=>{wr(),V(B,0,zr.acknowledged),V(K,0,0);try{Te.close?.(),or.close?.()}catch{}},R=()=>{Me=!1;let U=!0,n=0;while(!0){if(B[0]!==zr.running)return ur();if(U=Je(),hr(),Ke()>0)U=!0;if((n=ar())>0){if(U||n!==je)be=0;je=n,be++;let h=Math.min(yr,Math.max(0,be-1));$e(h);return}if(be=je=0,J){J=!1,$e(0);return}if(!U){if(D[Y.thisIsAHint]===1){do{if(pr(),B[0]!==zr.running)return ur();if(Je())break}while(D[Y.thisIsAHint]===1);continue}Xe(gr,g,l),gr=oe(y,0)}}},M=Te;if(typeof M.on==="function")M.on("message",R);else M.onmessage=R;M.start?.(),or.start?.(),H?.log("lifecycle",`ready: ${Ce.length} task(s) on thread ${o}/${_}, entering dispatch loop`),xr()},Ec=()=>{let e=globalThis.WorkerGlobalScope;if(typeof e==="function")try{if(globalThis instanceof e)return!0}catch{}if(Ur&&typeof globalThis.self<"u")return!0;return!1},ws=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return br(r.headers)&&br(r.lockSector)&&br(r.payload)&&br(r.payloadSector)&&(r.textCompat===void 0||jt(r.textCompat))},Ct=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return br(r.sab)&&Array.isArray(r.list)&&Array.isArray(r.ids)&&Array.isArray(r.names)&&Array.isArray(r.at)&&typeof r.thread==="number"&&typeof r.totalNumberOfThread==="number"&&typeof r.startAt==="number"&&(r.abortSignalSAB===void 0||br(r.abortSignalSAB))&&ws(r.lock)&&ws(r.returnLock)},Rc=()=>{let e=globalThis,r=(t)=>{if(!Ct(t))return;An(t).catch(Sn)};if(typeof e.addEventListener==="function"&&typeof e.removeEventListener==="function"){let t=(o)=>{let s=o?.data;if(!Ct(s))return;try{e.removeEventListener?.("message",t)}catch{}r(s)};e.addEventListener("message",t);return}e.onmessage=(t)=>{let o=t?.data;if(!Ct(o))return;e.onmessage=null,r(o)}};if(Hr===!1&&Ct(At))An(At).catch(Sn);else if(Ir)ms({isWorkerBootPayload:Ct,reportWorkerStartupFatal:Sn,startWorker:(e)=>{An(e).catch(Sn)}});else if(Ec())Rc();var Rs=((e)=>()=>e++)(0),xs=(e,r)=>{let t=2166136261;for(let o=0;o<e.length;o++)t=Math.imul(t^e.charCodeAt(o),16777619);return Math.imul(t^r,16777619)>>>0},xc=["/src/common/task-source.ts","/src/common/task-source.js","\\src\\common\\task-source.ts","\\src\\common\\task-source.js","/src/api.ts","/src/api.js","\\src\\api.ts","\\src\\api.js"],Ts=new Set(["collectStackFrames","resolveCallerHref","getCallerFilePath","buildTaskDefinition","buildTaskDefinitionFromCaller","task","importTask"]),Lc=(e)=>e!==void 0,Pc=(e)=>xc.some((r)=>e.includes(r)),Ls=(e)=>e.startsWith("node:")||e.startsWith("native:")||e.startsWith("bun:")||e.startsWith("internal/"),_c=(e,r)=>e!==void 0&&Ts.has(e)||r!==void 0&&Ts.has(r),vc=()=>{let e=Error,r=e.prepareStackTrace;try{e.prepareStackTrace=(s,c)=>c;let t=Error().stack;if(!Array.isArray(t))return[];return t.map((s)=>{try{let c=s?.getFileName?.();if(typeof c!=="string"||c.length===0)return;return{file:c,functionName:s?.getFunctionName?.()??void 0,methodName:s?.getMethodName?.()??void 0}}catch{return}}).filter(Lc)}finally{e.prepareStackTrace=r}},ks=(e)=>Ls(e.file)||Pc(e.file)||_c(e.functionName,e.methodName),To,Ps=(e)=>{To=typeof e==="string"&&e.length>0?Fr(e):void 0};var _s=(e)=>{if(To!==void 0)return To;let r=vc(),t=r[e],o=(t&&!ks(t)?t.file:void 0)??r.find((s)=>!ks(s))?.file??r.find((s)=>!Ls(s.file))?.file;if(!o)throw Error("Unable to determine caller file. This runtime exposes no stack traces (e.g. Andromeda); call setModuleUrl(import.meta.url) at the top of the module that defines your tasks before creating a pool.");return Fr(o)},Es=new Map,vs=(e=3)=>_s(e),ko=(e=3)=>{let r=_s(e),t=Es.get(r)??0;return Es.set(r,t+1),[r,t]};var Cs=(e,r)=>{let t=e;return t.reject=r,t},Bn=()=>{let e=Promise.withResolvers;if(typeof e==="function"){let s=e.call(Promise);return Cs(s.promise,s.reject),s}let r,t;return{promise:Cs(new Promise((s,c)=>{r=s,t=c}),t),resolve:r,reject:t}};var Cc=31,Ic=134217727,Mc=5,Oc=65535,Dc=65535,Fc=16,Nc=1;var Wc=performance.now.bind(performance);function Eo({max:e,lock:r,returnLock:t,extraReturnLocks:o,abortSignals:s,now:c}){let u=(B)=>{throw"UNREACHABLE FROM PLACE HOLDER (main)"},d=(B)=>{let V=fa();return V[i.ID]=B,V[i.FunctionID]=0,V.value=null,V.resolve=u,V.reject=u,V},S=e??10,x=Array.from({length:S},(B,V)=>d(V)),I=Array.from({length:S},(B,V)=>V),E=(B)=>I.push(B),P=()=>I.pop(),A=(B)=>x.push(B),{publish:W,flushPending:N,hasPendingFrames:k,getPendingFrameCount:_,getPendingPromiseCount:z,resetPendingState:te}=r,re=0,v=s?.resetSignal,Z=c??Wc,se=(B)=>{re=re-1|0,On(B),rt(B),B.value=null,B.resolve=u,B.reject=u,E(B[i.ID])},H=[t,...o??[]].map((B)=>B.resolveHost({queue:x,activeRejectPlaceholder:u,onResolved:se})),Y=[t,...o??[]].map((B)=>typeof B.waitForHostChange==="function"?B.waitForHostChange:()=>{return}),X=[t,...o??[]].map((B)=>typeof B.setHostWaiterArmed==="function"?B.setHostWaiterArmed:(V)=>{}),me=[t,...o??[]].map((B)=>typeof B.armHostNotifier==="function"?B.armHostNotifier:()=>!1),ie=H.length===1?H[0]:()=>{let B=0;for(let V=0;V<H.length;V++)B=B+H[V]()|0;return B},pe=new Uint8Array(Y.length),ue,J=0,j=new Int32Array(Y.length),Q=Y.map((B,V)=>()=>{if(pe[V]===0)return;let oe=j[V];if(pe[V]=0,X[V](!1),oe!==J)return;ue?.()}),p=(B)=>{for(let V of X)V(B)},a=(B,V)=>{ue=B;let oe=!0;for(let He=0;He<Y.length;He++){if(pe[He]!==0){if(!me[He]())return B(),!0;continue}let Ce;try{Ce=Y[He](V)}catch{Ce=void 0}if(Ce===void 0){oe=!1;break}pe[He]=1,j[He]=J;let Pe=Q[He];if(!Ce.async)return Pe(),!0;Promise.resolve(Ce.value).then(Pe,Pe)}if(!oe)ue=void 0,p(!1),J=J+1|0;return oe},g=()=>{for(let B of me){if(B())continue;return p(!1),!1}return!0},l=()=>(re-z()|0)>0,m=()=>_()===0&&!l(),y=(B)=>{for(let V=0;V<x.length;V++){let oe=x[V];if(oe.reject!==u){try{oe.reject(B)}catch{}rt(oe),oe.resolve=u,oe.reject=u,x[V]=d(V)}}te(),re=0},K=()=>N(),D=(B)=>W(B);return{rejectAll:y,hasPendingFrames:k,txIdle:m,completeFrame:ie,waitForCompletion:a,armCompletionNotifier:g,setCompletionWaiterArmed:p,enqueue:(B,V,oe)=>{let He=V!==void 0,Ce=B&Oc,Pe=oe!==void 0&&s!==void 0;return(fe)=>{if(re===x.length){let we=re+32,ce=x.length;while(we>ce)A(d(ce)),E(ce),ce++}let Fe=P(),ge=x[Fe],_e=Bn();if(ge[i.FunctionID]=Ce,Pe){let we=s.getSignal();if(we===s.closeNow)return Promise.reject(ds);new Ao(_e,()=>v(we),()=>{s.setSignal(we)});let ce=(we+Nc&Dc)>>>0;ge[i.FunctionID]=(ce<<Fc|Ce)>>>0}if(ge.value=fe,ge[i.ID]=Fe,ge.resolve=_e.resolve,ge.reject=_e.reject,He)ge[i.slotBuffer]=(ge[i.slotBuffer]&Cc|(Z()>>>0&Ic)<<Mc>>>0)>>>0;return W(ge),re=re+1|0,_e.promise}},flushToWorker:K,enqueueKnown:D,settlePromisePayload:(B,V,oe)=>{if(B.reject===u)return!1;if(V){try{B.reject(oe)}catch{}return On(B),rt(B),B.value=null,B.resolve=u,B.reject=u,re=re-1|0,E(B[i.ID]),!1}return B.value=oe,D(B)}}}var Is=()=>{return},Ms=()=>{return},Os=()=>{},Ds=()=>!1,$r=()=>{throw Error("process workers are unavailable in the browser build")},Fs=$r,Ns=$r,wn=$r,Ws=$r,Us=$r,Tn=$r,Hs=$r,js=$r;var Ks=(e)=>e.split("=",1)[0],Gs=new Set(["--permission","--experimental-permission","--allow-fs-read","--allow-fs-write","--allow-worker","--allow-child-process","--allow-net","--allow-addons","--allow-ffi","--allow-wasi"]),Uc=new Set(["--experimental-ffi","--experimental-transform-types","--expose-gc","--no-warnings",...Gs]),Hc=(e)=>Uc.has(Ks(e)),jc=(e)=>Gs.has(Ks(e)),xo=(e)=>{if(!e||e.length===0)return;let r=e.filter(Hc);if(r.length===0)return;let t=new Set,o=[];for(let s of r){if(t.has(s))continue;t.add(s),o.push(s)}return o},zs=(e)=>{let r=xo(e);if(!r||r.length===0)return;let t=r.filter((o)=>!jc(o));return t.length>0?t:void 0},Kc=(e)=>{if(e===null||typeof e!=="object")return!1;let r=Object.getPrototypeOf(e);return r===Object.prototype||r===null},Ro=(e,r=new WeakMap)=>{if(e instanceof Gr)return e.toMetadata();if(e===null||typeof e!=="object")return e;let t=r.get(e);if(t!==void 0)return t;if(Array.isArray(e)){let s=[];r.set(e,s);for(let c of e)s.push(Ro(c,r));return s}if(!Kc(e))return e;let o={};r.set(e,o);for(let[s,c]of Object.entries(e))o[s]=Ro(c,r);return o},$s=(e)=>{let r=e.bootstrap;if(r===void 0||r.data===void 0)return e;return{...e,bootstrap:{...r,data:Ro(r.data)}}},Gc=2000,Ys=(e,r=!1)=>{try{if(!r)e.unref?.();let t=Promise.resolve(e.terminate()).then(()=>{},()=>{});if(!r)return t;return new Promise((o)=>{let s=setTimeout(()=>{e.unref?.(),o()},Gc);t.then(()=>{clearTimeout(s),o()})})}catch{return Promise.resolve()}};var Vs=ve==="deno"||ve==="node"?St:void 0,qs=128,zc=1,kn=({signalBox:{opView:e,txStatus:r,rxStatus:t},queue:{completeFrame:o,hasPendingFrames:s,flushToWorker:c,txIdle:u,waitForCompletion:d,armCompletionNotifier:S,setCompletionWaiterArmed:x},channelHandler:I,dispatcherOptions:E,notifySignal:P,crossProcess:A,nativeCompletionDoorbell:W,processCompletionDoorbell:N})=>{let{load:k,store:_,notify:z}=Atomics,te=e.buffer instanceof SharedArrayBuffer,re=P??(()=>{if(te)z(e,0,1)}),v=()=>I.notify(),Z=(ve==="bun"||ve==="node")&&typeof Atomics.waitAsync==="function",se=(E?.doorbell??!0)&&(N===!0||A!==!0&&(Z||W===!0)),H=se,Y=!1,X=0,me=1000,ie=0,pe=E?.stallFreeLoops,ue=pe!==void 0?Math.max(0,pe|0):se?zc:qs,J=Math.max(0,(E?.maxBackoffMs??10)|0),j,Q=!1,p=()=>{if(!Y)return;X=X+1|0,Y=!1,x(!1)},a=()=>{if(!H||Y===!0){if(!H)v();return}let y=X+1|0;X=y,Y=!0;let K=!1,D=(V=!1)=>{if(!Y||X!==y||K)return;if(K=!0,Y=!1,X=X+1|0,x(!1),V){g.isRunning=!0,g();return}v()},B=!1;if(W===!0||N===!0){let V=!1,oe=!0;try{V=S()}catch{oe=!1}if(B=oe,oe&&!V)D(!0)}else try{B=d(D,me)}catch{B=!1}if(!B){if(H=!1,pe===void 0)ue=qs;if(Y=!1,X=X+1|0,x(!1),W!==!0&&N!==!0)v()}},g=()=>{if(Q){g.rerun=!0;return}if(p(),u()){g.isRunning=!1;return}if(Q=!0,j!==void 0)clearTimeout(j),j=void 0;do{if(g.rerun=!1,r[0]=1,k(t,0)===0)_(e,0,1),re();let y=!1,K=!0;while(K){if(K=!1,o()>0)K=!0,y=!0;while(s()){if(!c())break;K=!0}}if(r[0]=0,!u()){if(y)ie=0;else ie=ie+1|0;Q=!1,m();return}ie=0}while(g.rerun);g.isRunning=!1,Q=!1};g.isRunning=!1,g.rerun=!1;let l=()=>{if(Q||g.isRunning){g.rerun=!0;return}g.isRunning=!0,g()},m=()=>{if(ie<=ue){v();return}if(H){g.isRunning=!1,a();return}if(j!==void 0)return;let y=ie-ue-1|0;if(y<0)y=0;else if(y>J)y=J;g.isRunning=!1,j=setTimeout(()=>{if(j=void 0,!g.isRunning)g.isRunning=!0,g()},y)};return{check:g,wakeCompletion:l}};class mt{channel;port1;port2;#e;#r;#t=!1;#o=()=>{this.#t=!1,this.#e?.()};constructor(e="auto"){if(e==="auto"&&Vs!==void 0){let o=Vs,s=this.#o;this.#r=()=>{o(s)};return}let r=Xr(),t=r.port2;this.channel=r,this.port1=r.port1,this.port2=t,this.#r=()=>{t.postMessage(null)}}notify(){if(this.#t)return;this.#t=!0,this.#r()}open(e){this.#e=e;let r=this.port1;if(r===void 0)return;if(typeof r.on==="function")r.on("message",this.#o);else r.onmessage=this.#o;this.port1?.start?.(),this.port2?.start?.()}close(){if(this.#e=void 0,this.port1===void 0||this.port2===void 0)return;this.port1.onmessage=null,this.port2.onmessage=null,this.port1.close?.(),this.port2.close?.()}}var Qs=()=>{throw Error("compiled workers are unavailable in the browser build")};var Xs="__knittingWorkerFatal",$c=(e)=>!!e&&typeof e==="object"&&typeof e[Xs]==="string",Yc=50,Vc=ve==="deno"||ve==="node",qc=1,Qc=50,Xc=258,Js=(e)=>{if(!Number.isFinite(e))return;let r=Math.floor(e);return r>0?r:void 0},Zs=(e)=>Js(e)??Xc,Lo=(e)=>Math.max(1,Math.ceil(e/32))*Uint32Array.BYTES_PER_ELEMENT,Jc=(e,r)=>{let t=e?.timers?.parkMs??qc,o=e?.timers?.spinMicroseconds??(r<=1?Qc:0);if(e===void 0)return{timers:{parkMs:t,spinMicroseconds:o}};return{...e,timers:{...e.timers,parkMs:t,spinMicroseconds:o}}},ei=(e)=>({...e,mode:"fixed",payloadInitialBytes:e.payloadMaxByteLength}),ri=(e)=>{for(let r=Ee.slots;r>=1;r>>=1)if(Ee.slots/r>=e+1)return r;throw RangeError(`${e} stealing workers need more than ${Ee.slots} lanes`)},Zc=(e,r)=>r!==void 0&&r!=="dekker"?Ee.slots:ri(e),ti=Ee.slots-1,ni=({threads:e,payload:r,sharedArgs:t,regionLanes:o,stealClaim:s,abortSignalCapacity:c,usesAbortSignal:u,processWorker:d})=>{let S=_r({options:r}),x=d===void 0?S:ei(S),I=()=>x.mode==="growable"?rr(x.payloadInitialBytes,x.payloadMaxByteLength):rr(x.payloadInitialBytes),E=()=>jn({signalBytes:0,abortBytes:0,lockSectorBytes:nt,headerSlotStrideU32:vr,slotCount:Ee.slots,headerLayout:"split"}),P=(H,Y)=>({...H,payload:Y,textCompat:Jr({headers:H.headers,payload:Y})}),A=Zc(e,s),W=o===void 0?ri(e):Math.min(Math.max(1,o|0),A),N=Zs(c),k=d===void 0?void 0:Ns({threads:e,signalBytes:d.signalBytes,abortBytes:u===!0?Lo(N):0,abortSignalMax:u===!0?N:void 0,payloadBytes:x.payloadMaxByteLength,sharedMemory:d.sharedMemory}),_=k===void 0?(()=>{let H=E();return P(H.lock,I())})():P(k.workers[0].controlLayout.lock,k.workers[0].lockPayload),z=jr({headers:_.headers,headerSlotStrideU32:_.headerSlotStrideU32,LockBoundSector:_.lockSector,payload:_.payload,payloadSector:_.payloadSector,payloadConfig:x,textCompat:_.textCompat,consumers:e,regionLanes:W,stealClaim:s,processBoundary:k!==void 0,sharedReturn:t===!0}),te=[],re=[];for(let H=0;H<e;H++){let Y=k===void 0?P(E().returnLock,I()):P(k.workers[H].controlLayout.returnLock,k.workers[H].returnPayload);te.push(Y),re.push(jr({headers:Y.headers,headerSlotStrideU32:Y.headerSlotStrideU32,LockBoundSector:Y.lockSector,payload:Y.payload,payloadSector:Y.payloadSector,payloadConfig:x,textCompat:Y.textCompat,processBoundary:k!==void 0}))}let v=u===!0?k?.workers[0]?.controlLayout.abortSignals??rr(Lo(N)):void 0,Z=v===void 0?void 0:vt({sab:v,maxSignals:N}),se=Eo({lock:z,returnLock:re[0],extraReturnLocks:re.slice(1),abortSignals:Z});return{submitBuffers:_,returnBuffers:te,hostSubmitLock:z,hostReturnLocks:re,sharedQueue:se,regionLanes:W,stealClaim:s,processMemory:k,abortSignalSAB:v,abortSignalMax:k?.abortSignalMax??(v===void 0?void 0:N)}},oi=({list:e,ids:r,names:t,sab:o,thread:s,debug:c,hostDebug:u,totalNumberOfThread:d,workerCount:S,source:x,at:I,workerOptions:E,workerExecArgv:P,permission:A,host:W,payload:N,sharedBytesEnabled:k,abortSignalCapacity:_,usesAbortSignal:z,sharedChannelHandler:te,denoCompletionDoorbell:re,stealPool:v})=>{if(E?.runtime==="compiled")return Qs({list:e,names:t,workerOptions:E,hostDebug:u,abortSignalCapacity:_,usesAbortSignal:z});let Z=new URL(import.meta.url),se=Ho,H=$s(Jc(E,S??d)),Y=H.runtime==="process",X=!Y&&re!==void 0,me=Y?Tn(H):void 0,ie=Y?Ws(H):void 0,pe=Y&&W?.doorbell!==!1&&Ds({processRuntime:me,commandPrefix:ie}),ue=Y?wn(H):void 0;if(!Y&&typeof se!=="function")throw Error("Worker is not available in this runtime");if(Rn&&typeof SharedArrayBuffer!=="function")throw Error("SharedArrayBuffer is unavailable: serve the page cross-origin isolated (Cross-Origin-Opener-Policy: same-origin, Cross-Origin-Embedder-Policy: require-corp).");let J=se,j=Js,Q=_r({options:N}),p=Y?ei(Q):Q,a=Zs(_),g=j(o?.size),l=o?.sharedSab;if(Y&&l!=null)throw Error("process worker runtime cannot use an external signal buffer");let m=Math.max(xt,g??xt),y=v===void 0&&z===!0?Lo(a):0,K=v?.processMemory,D=!Y?void 0:K===void 0?Fs({signalBytes:m,abortBytes:y,payloadBytes:p.payloadMaxByteLength,thread:s,sharedMemory:ue}):K.workers[s]??(()=>{throw RangeError(`stealing process pool has no shared-memory slice for worker ${s}`)})(),B=D===void 0?Is(c):void 0,V=B?.createBuffer??Yr,oe=B?.createBuffer,He=()=>oe?oe(p.payloadMaxByteLength):p.mode==="growable"?rr(p.payloadInitialBytes,p.payloadMaxByteLength):rr(p.payloadInitialBytes),Ce=()=>jn({signalBytes:m,abortBytes:y,lockSectorBytes:nt,headerSlotStrideU32:vr,slotCount:Ee.slots,headerLayout:"split",createBuffer:V}),Pe=D?.controlLayout??Ce(),fe=D?.lockPayload??He(),Fe=v?.submitBuffers??{...Pe.lock,payload:fe,textCompat:Jr({headers:Pe.lock.headers,payload:fe})},ge=D?.returnPayload??He(),_e=v?.returnBuffers??{...Pe.returnLock,payload:ge,textCompat:Jr({headers:Pe.returnLock.headers,payload:ge})},we=v?.hostSubmitLock??jr({headers:Fe.headers,headerSlotStrideU32:Fe.headerSlotStrideU32,LockBoundSector:Fe.lockSector,payload:Fe.payload,payloadSector:Fe.payloadSector,payloadConfig:p,textCompat:Fe.textCompat,processBoundary:Y}),ce=v?.hostReturnLock??jr({headers:_e.headers,headerSlotStrideU32:_e.headerSlotStrideU32,LockBoundSector:_e.lockSector,payload:_e.payload,payloadSector:_e.payloadSector,payloadConfig:p,textCompat:_e.textCompat,processBoundary:Y}),Ve=v?.abortSignalSAB??(z===!0?Pe.abortSignals:void 0),ae=Ve&&v===void 0?vt({sab:Ve,maxSignals:a}):void 0,de=mn({sabObject:l==null?{size:g,sharedSab:Pe.signals}:o,isMain:!0,thread:s}),Ne=de,Te=Ms({processRuntime:me,signal:Ne.opView}),or=v?.sharedQueue??Eo({lock:we,returnLock:ce,abortSignals:ae}),{enqueue:qe,rejectAll:Me,txIdle:be}=or,je=Ne.opView,yr=Atomics.add,gr=Atomics.load,xr=Atomics.notify,$e=je.buffer instanceof SharedArrayBuffer,Be=Te??($e?()=>xr(je,0,1):void 0),Oe=()=>{if(gr(Ne.rxStatus,0)===0)yr(je,0,1),Be?.()},ar=()=>{},hr=()=>ar(),wr,pr=te===void 0&&v===void 0,Ye=te??new mt,ke,Ke=!Y&&W?.doorbell!==!1&&W?.nativeDoorbell===!0?qo(()=>ke?.()):void 0,Xe=Ke!==void 0,{check:Je,wakeCompletion:ur}=v!==void 0?{check:void 0,wakeCompletion:void 0}:kn({signalBox:Ne,queue:or,channelHandler:Ye,dispatcherOptions:W,notifySignal:Te,crossProcess:Y,nativeCompletionDoorbell:X||Xe,processCompletionDoorbell:pe});if(X&&Je!==void 0)re.listen(s,ur);ke=ur;let R=ur;if(pr&&Je!==void 0)Ye.open(Je),wr=Ye,ar=()=>{if(Je.isRunning===!0)return;Je.isRunning=!0,queueMicrotask(Je),Oe()};let M,U=x??Z;u?.(`worker thread=${s} mode=${Y?"process":_n?"worker_threads":"worker"}${me?` runtime=${me}`:""} url=${String(U)}`);let h={sab:de.sab,abortSignalSAB:Ve,abortSignalMax:v?.abortSignalMax??(z===!0?a:void 0),list:e,ids:r,names:t,at:I,thread:s,debug:c,workerOptions:H,totalNumberOfThread:d,startAt:Ne.startAt,lock:Fe,returnLock:_e,payloadConfig:p,sharedReturn:k===!0,permission:A,notifyOnHostPublish:W?.doorbell!==!1&&(pe||Xe||!Y&&(ve==="bun"||ve==="node")&&typeof Atomics.waitAsync==="function"),processCompletionDoorbell:pe,denoCompletionDoorbell:X?re.pointer:void 0,nodeCompletionDoorbell:Xe?Ke.pointer:void 0,steal:v===void 0?void 0:{consumers:v.consumers,consumerId:v.consumerId,regionLanes:v.regionLanes,claim:v.stealClaim}},b={type:"module",workerData:h},f=P&&P.length>0?{...b,execArgv:P}:b;if(D!==void 0)M=Hs({workerUrl:U,bootPayload:js(h,D),memory:D,processRuntime:me,commandPrefix:ie,permission:A});else if(_n)try{M=new J(U,f)}catch(le){if(le?.code==="ERR_WORKER_INVALID_EXEC_ARGV"){let ye=xo(f.execArgv);if(ye&&ye.length>0)try{M=new J(U,{...b,execArgv:ye})}catch(cr){if(cr?.code==="ERR_WORKER_INVALID_EXEC_ARGV"){let qr=zs(ye);if(qr&&qr.length>0)try{M=new J(U,{...b,execArgv:qr})}catch{M=new J(U,b)}else M=new J(U,b)}else throw cr}else M=new J(U,b)}else throw le}else M=new J(U,{type:"module"}),M.postMessage?.(h);let w,C=!1,O=()=>{v?.hostSubmitLock.deactivateStealConsumer(v.consumerId)},G=()=>{try{M.unref?.(),Promise.resolve(M.terminate()).catch(()=>{}).finally(O)}catch{O()}},ne=(le)=>{if(w)return;w=le,Me(le),wr?.close()},he=(le)=>{if(Uo(le)){R?.();return}if(!$c(le))return;ne(`Worker startup failed: ${le[Xs]}`),G()},Re=(le)=>{let ye=String(le?.message??le);ne(`Worker crashed: ${ye}`),G()},sr=M;if(typeof sr.on==="function")sr.on("message",he),sr.on("error",Re),sr.on("exit",(le)=>{if(O(),Ke?.close(),w!==void 0)return;if(C){ne("Thread closed");return}ne(`Worker exited with code ${typeof le==="number"?le:-1}`)});else{let le=M;if(typeof le.addEventListener==="function")le.addEventListener("message",(ye)=>{he(ye?.data)}),le.addEventListener("error",(ye)=>{Re(ye?.error??ye?.message??ye)});else le.onmessage=(ye)=>{he(ye?.data)},le.onerror=(ye)=>{Re(ye)}}return we.setPromiseHandler((le,ye,cr)=>{or.settlePromisePayload(le,ye,cr),hr()}),{txIdle:be,call:({fnNumber:le,timeout:ye,abortSignal:cr})=>{let qr=qe(le,ye,cr);return(vo)=>{let Co=qr(vo);return hr(),Co}},requestStop:async()=>{C=!0;let le=Ne.stopView;if(le===void 0)return!0;try{Atomics.store(le,0,zr.requested),Oe(),Be?.()}catch{return!1}if(!Vc)return!0;let ye=Date.now()+Yc;while(Atomics.load(le,0)!==zr.acknowledged){if(Date.now()>=ye)return!1;await new Promise((cr)=>setTimeout(cr,1))}return!0},kills:async()=>{ne("Thread closed");let le=D!==void 0,ye=Ys(M,le);if(le)await ye;Os(D)},lock:we,processSharedMemoryBackings:B?.backings,dispatcherCheck:Je,laneWake:te!==void 0||v!==void 0?Oe:void 0,bindSend:te!==void 0||v!==void 0?(le)=>void(ar=le):void 0,bindCompletionWake:(pe||Xe)&&v!==void 0?(le)=>{R=le,ke=le}:void 0,processCompletionDoorbell:pe,nodeCompletionDoorbell:Xe}};var ai=()=>{return},si=()=>[],ii=()=>{throw Error("process workers are unavailable in the browser build")},ui=ii,ci=ii;var fi=(e,r,t)=>{switch(t??"roundRobin"){case"roundRobin":case"robinRound":return ef(e)(r)(r.length);case"firstIdle":return rf(e)(r)(r.length);case"randomLane":return tf(e)(r)(r.length);case"firstIdleOrRandom":return nf(e)(r)(r.length)}throw Error(`Unknown balancer: ${t}`)},Po=({contexts:e,balancer:r,handlers:t,inlinerGate:o})=>{let s=typeof r==="object"&&r!=null?r.strategy:r;if(e.length<2)throw Error(e.length===0?"No threads available.":"Cannot rotate with a single thread.");if(t.length===0)throw Error("No handlers provided.");let c=fi(e,t,s);if(!o)return c;let u=o.index|0,d=Number.isFinite(o.threshold)?Math.max(1,Math.floor(o.threshold)):1;if(d<=1||u<0||u>=t.length)return c;let S=t.length-1;if(S<=0)return c;let x=Array(S),I=Array(S);for(let N=0,k=0;N<t.length;N+=1){if(N===u)continue;x[k]=t[N],I[k]=e[N],k+=1}let E=fi(I,x,s),P=0,A=(N)=>(P-=1,N),W=(N)=>{throw P-=1,N};return(N)=>{P+=1;let k=P>=d?c:E;try{return k(N).then(A,W)}catch(_){throw P-=1,_}}};function ef(e){return(r)=>(t)=>{let o=Math.min(t,r.length);if(o<=1)return(c)=>r[0](c);let s=0;return(c)=>{let u=s;if(s+=1,s===o)s=0;return r[u](c)}}}function rf(e){let r=e.map((t)=>t.txIdle);return(t)=>(o)=>{let s=Math.min(o,t.length);if(s<=1)return(u)=>t[0](u);let c=0;return(u)=>{for(let S=0;S<s;S+=1)if(r[S]())return t[S](u);let d=c;if(c+=1,c===s)c=0;return t[d](u)}}}var tf=(e)=>(r)=>(t)=>{let o=Math.min(t,r.length);if(o<=1)return(s)=>r[0](s);return(s)=>{let c=Math.random()*o|0;return r[c](s)}};function nf(e){let r=e.map((t)=>t.txIdle);return(t)=>(o)=>{let s=Math.min(o,t.length);if(s<=1)return(c)=>t[0](c);return(c)=>{for(let d=0;d<s;d+=1)if(r[d]())return t[d](c);let u=Math.random()*s|0;return t[u](c)}}}var Nr={Free:-1,Pending:0},bt={Reject:0,Resolve:1},of=(e)=>{if(e==null)return;if(typeof e==="number")return e>=0?{ms:e,kind:bt.Reject,value:Error("Task timeout")}:void 0;let r=e.time;if(!(r>=0))return;if("default"in e)return{ms:r,kind:bt.Resolve,value:e.default};if(e.maybe===!0)return{ms:r,kind:bt.Resolve,value:void 0};if("error"in e)return{ms:r,kind:bt.Reject,value:e.error};return{ms:r,kind:bt.Reject,value:Error("Task timeout")}},af=(e,r)=>new Promise((t,o)=>{let s=!1,c=setTimeout(()=>{if(s)return;if(s=!0,r.kind===bt.Resolve)t(r.value);else o(r.value)},r.ms);e.then((u)=>{if(s)return;s=!0,clearTimeout(c),t(u)},(u)=>{if(s)return;s=!0,clearTimeout(c),o(u)})}),sf=(()=>({hasAborted:()=>!1,now:()=>performance.now()}))(),uf=(e,r,t=!1)=>{let o=of(r),s=t?(c)=>e(c,sf):e;if(!o)return s;return(c)=>{let u=s(c);return u instanceof Promise?af(u,o):u}},li=({tasks:e,genTaskID:r,batchSize:t})=>{let s=(Array.isArray(e)?e:Object.values(e).sort((p,a)=>p.name.localeCompare(a.name))).map((p)=>{if(p.imported===!0)return()=>{throw Error("Imported task cannot run on the host inline lane")};return uf(p.f,p.timeout,p.abortSignal!==void 0)}),c=16,u=new Int32Array(16),d=new Int8Array(16).fill(Nr.Free),S=Array(16),x=Array(16).fill(-1),I=Array(16),E=Array(16),P=16;for(let p=0;p<16;p++)E[p]=15-p;let A=new kr(16),W=0,N=!1,k=!1,_=Number.isFinite(t)?Math.max(1,Math.floor(t??1)):Number.POSITIVE_INFINITY,z=Xr(),te=z.port1,re=z.port2,v=(p)=>re.postMessage(p),Z=()=>A.isEmpty===!1,se=typeof queueMicrotask==="function"?queueMicrotask:(p)=>Promise.resolve().then(p),H=()=>{if(W===0||N)return;N=!0,v(null)},Y=()=>{if(W===0||N||k)return;k=!0,se(J)},X=(p)=>{A.push(p),Y()},me=(p,a)=>{if(d[p]!==Nr.Pending||x[p]!==a)return;X(p)},ie=(p,a,g,l)=>{if(d[p]!==Nr.Pending||x[p]!==a)return;let m=I[p];if(m)if(g)m.reject(l);else m.resolve(l);j(p)};function pe(){if(P>0)return E[--P];let p=u.length,a=p<<1,g=new Int32Array(a);g.set(u),u=g;let l=new Int8Array(a);l.fill(Nr.Free),l.set(d),d=l,S.length=a,x.length=a,x.fill(-1,p),I.length=a;for(let m=a-1;m>=p;--m)E[P++]=m;return E[--P]}function ue(p=!1){let a=0;while(a<_){let g=A.shiftNoClear();if(g===void 0)break;let l=g|0;if(d[l]!==Nr.Pending)continue;let m=x[l];try{let y=S[l],K=u[l],D=s[K](y);if(!(D instanceof Promise)){ie(l,m,!1,D),a++;continue}D.then((B)=>ie(l,m,!1,B),(B)=>ie(l,m,!0,B)),a++}catch(y){ie(l,m,!0,y),a++}}if(Z()){if(p)H();else v(null);return}if(!p)N=!1}function J(){if(!k)return;ue(!0),k=!1}function j(p){if(W--,d[p]=Nr.Free,u[p]=0,x[p]=-1,S[p]=void 0,I[p]=void 0,E[P++]=p,W===0)N=!1}let Q=({fnNumber:p})=>(a)=>{let g=r(),l=Bn(),m=pe();if(x[m]=g,S[m]=a,u[m]=p|0,I[m]=l,d[m]=Nr.Pending,W++,a instanceof Promise)a.then((y)=>{if(x[m]!==g)return;S[m]=y,me(m,g)},(y)=>ie(m,g,!0,y));else X(m);return l.promise};return te.onmessage=()=>ue(!1),{kills:async()=>{for(let p=0;p<d.length;p++){if(d[p]!==Nr.Pending)continue;try{I[p]?.reject("Thread closed")}catch{}}te.onmessage=null,te.close?.(),re.onmessage=null,re.close?.(),A.clear(),P=0,E.length=0,S.fill(void 0),x.fill(-1),I.fill(void 0),u.fill(0),d.fill(Nr.Free),W=0,N=!1,k=!1},call:Q,txIdle:()=>W===0}};var di=(e)=>{let r=e===void 0?void 0:dn(e);if(r===void 0)return(t)=>new Uint8Array(t);return(t)=>{if(!Number.isInteger(t)||t<0)throw RangeError("sharedArgBytes(byteLength) requires a non-negative integer");return r(t,!1)??new Uint8Array(t)}};var bi=(e,r)=>e.has("*")||e.has(r),cf=(e)=>{if(!((c)=>bi(e,c))("host"))return;let t=performance.now(),o=`host·${ve}`;return{log:(c)=>{let u=(performance.now()-t).toFixed(1);console.error(`[${o}·+${u}ms] host: ${c}`)}}},ff=()=>{let e=globalThis.Deno?.cwd;if(typeof e==="function")try{return e()}catch{}let r=er();if(typeof r?.cwd==="function")try{return r.cwd()}catch{return}return},yi=(e,r="(none)")=>e&&e.length>0?e.join(","):r,gi=65535,pi=gi+1,_o="default",lf=Hr;var df=(e)=>{let r=e.reduce((t,o)=>(t[0].add(o.importedFrom),t[1].add(o.id),t[2].add(o.at),t[3].push(o.name),t),[new Set,new Set,new Set,[]]);return{list:[...r[0]],ids:[...r[1]],at:[...r[2]],names:r[3]}},It=(e,r)=>{try{return new URL(e,r).href}catch{return Fr(e)}},yf=(e,r)=>{if(e===void 0)return;let t=e.processRuntime==="porffor";if(t&&e.runtime!==void 0&&e.runtime!=="compiled")throw Error('worker.processRuntime "porffor" requires worker.runtime to be compiled or omitted');let o=t&&e.runtime===void 0,s=t?{...e,runtime:"compiled",processRuntime:void 0,compiled:o?{...e.compiled,build:"always"}:e.compiled}:e,c=s.bootstrap;if(c!==void 0){let d=c.name??_o;if(typeof c.href!=="string"||c.href.length===0)throw TypeError("worker.bootstrap.href must be a non-empty string");if(typeof d!=="string"||d.length===0)throw TypeError("worker.bootstrap.name must be a non-empty string");s={...s,bootstrap:{...c,href:It(c.href,r),name:d}}}let u=s.compiled;if(u!==void 0){if(u.build!==void 0&&typeof u.build!=="boolean"&&u.build!=="always")throw TypeError('worker.compiled.build must be a boolean or "always"');for(let[d,S]of Object.entries({artifact:u.artifact,manifest:u.manifest,compiler:u.compiler}))if(S!==void 0&&(typeof S!=="string"||S.length===0))throw TypeError("worker.compiled."+d+" must be a non-empty string");s={...s,compiled:{build:u.build,compiler:u.compiler===void 0?void 0:u.compiler.startsWith(".")||u.compiler.startsWith("/")||u.compiler.startsWith("file:")||/^[A-Za-z]:[\\/]/.test(u.compiler)?It(u.compiler,r):u.compiler,artifact:u.artifact===void 0?void 0:It(u.artifact,r),manifest:u.manifest===void 0?void 0:It(u.manifest,r)}}}return s};var pf=(e)=>e!=null&&typeof e==="object"&&typeof e.f==="function",mf=(e,r)=>Object.entries(e).map(([t,o])=>{if(pf(o))return{...o,name:t};if(typeof o==="function")return{f:o,id:-1,importedFrom:new URL(r).href,at:-1,name:t,[yt]:!0};throw TypeError(`createPool task "${t}" must be a task definition or exported function`)}),hi=({threads:e,debug:r,inliner:t,balancer:o,payload:s,unsafe:c,abortSignalCapacity:u,source:d,worker:S,workerExecArgv:x,permission:I,host:E})=>(P)=>{let A=c?.SharedBytes===!0,W=c?.SharedArgs===!0,N=gs||r!==void 0&&r!==!1,k,_=()=>k??=hn(r),z=N?cf(_()):void 0,te=(R)=>N&&bi(_(),R);if(Hr===!1){if(te("lifecycle"))console.warn("createPool has been called with : "+JSON.stringify(At));let R=()=>{throw Error("createPool can only be called in the main thread.")},n=new Proxy(function(){return R()},{get:function(){return R}});return{shutdown:n,[Symbol.dispose]:()=>{},call:n}}let re=vs(3),v=mf(P,re).sort((R,M)=>R.name.localeCompare(M.name)),{list:Z,ids:se,names:H,at:Y}=df(v);if(z?.log(`cwd=${ff()??"(unknown)"} caller=${re}`),v.forEach((R)=>{z?.log(`task name=${R.name} id=${R.id} from=${R.importedFrom}`)}),v.length>pi)throw RangeError(`Too many tasks: received ${v.length}. Maximum is ${pi} (Uint16 function IDs: 0..${gi}).`);let X=typeof t==="object"&&t!=null,me=(e??1)+(X?1:0),ie=ai({permission:I??{mode:"strict",allowImport:!0},modules:Z}),pe=si(ie),ue=er(),J=ue?.allowedNodeEnvironmentFlags??null,j=(R)=>{let M=R.split("=",1)[0];return M==="--permission"||M==="--experimental-permission"||M==="--allow-fs-read"||M==="--allow-fs-write"||M==="--allow-worker"||M==="--allow-child-process"||M==="--allow-net"||M==="--allow-addons"||M==="--allow-ffi"||M==="--allow-wasi"},Q=(R)=>R?.filter((M)=>!j(M)),p=(R)=>{let M=[],U=new Set;for(let n of R){if(U.has(n))continue;U.add(n),M.push(n)}return M},a=(R)=>{if(!R||R.length===0)return;if(!J)return R;let M=R.filter((U)=>{let n=U.split("=",1)[0];return J.has(n)});return M.length>0?M:void 0},g=Array.isArray(ue?.execArgv)?ue.execArgv:void 0,l=x??(g?J?.has("--expose-gc")===!0?g.includes("--expose-gc")?g:[...g,"--expose-gc"]:g:void 0),m=ie?.unsafe===!0?Q(l):l,y=p([...pe,...m??[]]),K=a(y.length>0?y:void 0);z?.log(`pool runtime=${ve} workers=${e??1} lanes=${me} inliner=${X?"on":"off"}`),z?.log(`modules=${yi(Z)}`),z?.log(`permission=${ie?.mode??"off"} execArgv=${yi(K)}`);let D=v.some((R)=>R.abortSignal!==void 0),B=yf(S,re),V=ue?.env?.KNITTING_DISPATCHER,oe=ue?.env?.KNITTING_STEAL?.trim().toLowerCase(),He=oe==="1"||oe==="true"?!0:oe==="0"||oe==="false"?!1:void 0,Ce=E?.dispatcher!==void 0||V==="serial-channel"||V==="per-thread",Pe=o===void 0&&!Ce&&(e??1)<=ti,fe=E?.steal??He??Pe,Fe=ue?.env?.KNITTING_STEAL_CLAIM?.trim().toLowerCase(),ge=Fe==="cas-mask"||Fe==="dekker"?Fe:void 0,_e=E?.stealClaim??ge??"dekker",we=B?.runtime==="compiled";if(B?.compiled!==void 0&&!we)throw Error("worker.compiled requires worker.runtime to be compiled");if(we){let R=[];if(X)R.push("inliner");if(s!==void 0)R.push("payload");if(c!==void 0)R.push("unsafe");if(d!==void 0)R.push("source");if(x!==void 0)R.push("workerExecArgv");if(I!==void 0)R.push("permission");if(E!==void 0)R.push("host");if(B.bootstrap!==void 0)R.push("worker.bootstrap");if(B.timers!==void 0)R.push("worker.timers");if(B.processRuntime!==void 0)R.push("worker.processRuntime");if(B.processCommandPrefix!==void 0)R.push("worker.processCommandPrefix");if(B.processSharedMemory!==void 0)R.push("worker.processSharedMemory");if(B.resolveAfterFinishingAll!==void 0)R.push("worker.resolveAfterFinishingAll");if(v.some((M)=>M.timeout!==void 0))R.push("task timeout");if(v.some((M)=>M.imported===!0))R.push("importTask");if(R.length>0)throw Error("Compiled workers do not support: "+R.join(", "))}if(B?.bootstrap!==void 0)z?.log(`bootstrap href=${B.bootstrap.href} name=${B.bootstrap.name}`);if(X&&B?.bootstrap!==void 0)throw Error("worker.bootstrap cannot be used with the inliner");if(B?.runtime==="process"){let R=Tn(B);ci(ui({permission:I,resolved:ie,target:{runtime:R,nodeMajor:R==="node"?Us(B):void 0}}))}let ce=Number.isFinite(B?.hardTimeoutMs)?Math.max(1,Math.floor(B?.hardTimeoutMs)):void 0;if(Pn>=1)throw Error(`createPool() tried to spawn workers from inside a worker process (pool depth ${Pn}). This usually means a pool is created at module scope in a module your workers import, so every worker spawns its own pool recursively. Is your createPool protected by isMain? Guard pool creation behind \`if (isMain) { ... }\` (import { isMain } from "knitting") so only the main program starts the pool.`);let Ve=E?.dispatcher??(V==="serial-channel"||V==="per-thread"?V:void 0),ae=(()=>{if(ve==="bun")return"per-thread";if((e??1)<=1)return"per-thread";return"serial-channel"})(),de=Ve??ae,Ne=fe&&!we&&(e??1)>1&&!X,Te=Ne?ni({threads:e??1,payload:s,sharedArgs:W,regionLanes:E?.stealRegionLanes,stealClaim:_e,abortSignalCapacity:u,usesAbortSignal:D,processWorker:B?.runtime==="process"?{signalBytes:xt,sharedMemory:wn(B)}:void 0}):void 0,or=!we&&!Ne&&de==="serial-channel",qe=or?new mt("channel"):void 0,Me=!we&&B?.runtime!=="process"&&E?.doorbell!==!1?Yo():void 0,be=Array.from({length:e??1}).map((R,M)=>oi({list:Z,ids:se,names:H,at:Y,thread:M,debug:r,hostDebug:z?.log,totalNumberOfThread:me,workerCount:e??1,source:d,workerOptions:B,workerExecArgv:K,host:E,payload:s,sharedBytesEnabled:A,abortSignalCapacity:u,usesAbortSignal:D,permission:ie,sharedChannelHandler:qe,denoCompletionDoorbell:Me,stealPool:Te===void 0?void 0:{submitBuffers:Te.submitBuffers,returnBuffers:Te.returnBuffers[M],hostSubmitLock:Te.hostSubmitLock,hostReturnLock:Te.hostReturnLocks[M],sharedQueue:Te.sharedQueue,consumers:e??1,consumerId:M,regionLanes:Te.regionLanes,stealClaim:Te.stealClaim,abortSignalSAB:Te.abortSignalSAB,abortSignalMax:Te.abortSignalMax,processMemory:Te.processMemory}})),je=Ne?new mt:void 0;if(Ne){let R=je,M=Te.sharedQueue,U=0,n=()=>{let w=be.length;if(w===0)return;let C=U;U=U+1<w?U+1:0,be[C].laneWake?.()},h=new Int32Array(rr(3*Int32Array.BYTES_PER_ELEMENT)),{check:b,wakeCompletion:f}=kn({signalBox:{opView:h.subarray(0,1),txStatus:h.subarray(1,2),rxStatus:h.subarray(2,3)},queue:M,channelHandler:R,dispatcherOptions:E,notifySignal:n,crossProcess:B?.runtime==="process",nativeCompletionDoorbell:Me!==void 0||be.some((w)=>w.nodeCompletionDoorbell===!0),processCompletionDoorbell:be.some((w)=>w.processCompletionDoorbell===!0)});if(R.open(b),Me!==void 0)be.forEach((w,C)=>{Me.listen(C,f)});be.forEach((w)=>{w.bindCompletionWake?.(f)}),be.forEach((w)=>{w.bindSend(()=>{if(b.isRunning!==!0)b.isRunning=!0,queueMicrotask(b);n()})}),z?.log(`dispatcher=steal lanes=${be.length} g=${Te.regionLanes} claim=${_e}`)}let yr=qe;if(or){let R=qe,M=be.map((ne)=>ne.dispatcherCheck),U=be.map((ne)=>ne.txIdle),n=!1,h=!1,b=!1,f=[],w=new Uint8Array(M.length),C=(ne)=>{if(w[ne]===1)return;w[ne]=1,f.push(ne)},O=()=>{if(h){b=!0;return}h=!0;do{b=!1,n=!1;for(let ne=f.length-1;ne>=0;ne--){let he=f[ne],Re=M[he];if(Re.isRunning!==!0)Re.isRunning=!0;if(Re(),U[he]()){w[he]=0;let sr=f.pop();if(ne<f.length)f[ne]=sr}}}while(b);h=!1},G=()=>{if(h){b=!0;return}if(n)return;n=!0,queueMicrotask(O)};R.open(O),be.forEach((ne,he)=>{let Re=ne.laneWake;ne.bindSend(()=>{C(he),G(),Re()})}),z?.log(`dispatcher=serial-channel lanes=${M.length}`)}else z?.log(`dispatcher=per-thread lanes=${be.length}`);if(X){let R=li({tasks:v,genTaskID:Rs,batchSize:t?.batchSize??1});if(t?.position==="first")be=[R,...be];else be.push(R)}let gr=X?t?.position==="first"?0:be.length-1:-1,xr=Number.isFinite(t?.dispatchThreshold)?Math.max(1,Math.floor(t?.dispatchThreshold??1)):1,$e=!1,Be,Oe,ar=()=>{if(Be)return Be;$e=!0;let R=Me===void 0;return Be=Promise.allSettled(be.map((M)=>M.requestStop?.())).then((M)=>{if(Me!==void 0)R=M.every((U,n)=>{if(be[n].requestStop===void 0)return!0;return U.status==="fulfilled"&&U.value===!0});return Promise.allSettled(be.map((U)=>U.kills()))}).then(()=>{yr?.close(),je?.close()}).finally(()=>{if(R){Me?.close();return}Me?.unref()}),Be},hr=({invoke:R,taskName:M})=>(U)=>{if($e)return Promise.reject(Error("Pool is shut down"));let n=R(U);if(!ce)return n;return new Promise((h,b)=>{let f=!1,w=setTimeout(()=>{if(f)return;f=!0,b(Error(`Task hard timeout after ${ce}ms (${M}); pool force-shutdown`)),ar()},ce);n.then((C)=>{if(f)return;f=!0,clearTimeout(w),h(C)},(C)=>{if(f)return;f=!0,clearTimeout(w),b(C)})})},wr=(R)=>{if(Be)return Be;if(Oe)return Oe;let M=Number.isFinite(R)?Math.max(0,Math.floor(R)):0;return Oe=(async()=>{if(Be)return await Be;if(M>0)await new Promise((U)=>setTimeout(U,M));if(Be)return await Be;await ar()})(),Oe},pr=()=>{wr()},Ye=v.map((R,M)=>({name:R.name,index:M,timeout:R.timeout,abortSignal:R.abortSignal,imported:R.imported===!0})),ke=new Map;for(let{name:R}of Ye)ke.set(R,[]);if(Ne){let R=be[0];for(let{name:M,index:U,timeout:n,abortSignal:h}of Ye)ke.set(M,[hr({taskName:M,invoke:R.call({fnNumber:U,timeout:n,abortSignal:h})})])}else for(let R of be)for(let{name:M,index:U,timeout:n,abortSignal:h}of Ye)ke.get(M).push(hr({taskName:M,invoke:R.call({fnNumber:U,timeout:n,abortSignal:h})}));let Ke=(e??1)===1&&!X,Xe=(R)=>{let M=[],U=[];for(let n=0;n<R.length;n+=1){if(n===gr)continue;M.push(R[n]),U.push(be[n])}if(M.length===0)throw Error("Imported task has no worker lane to run on: the pool only has the host inliner. Imported tasks are never inlined on the host; add at least one worker thread.");if(M.length===1)return M[0];return Po({contexts:U,balancer:o,handlers:M})},Je=(R,M)=>{if(Ne)return R[0];if(M&&X)return Xe(R);return Ke?R[0]:Po({contexts:be,balancer:o,handlers:R,inlinerGate:X?{index:gr,threshold:xr}:void 0})},ur;try{ur=Ye.map(({name:R,imported:M})=>[R,Je(ke.get(R),M)])}catch(R){throw ar(),R}return{shutdown:wr,[Symbol.dispose]:pr,call:Object.fromEntries(ur),sharedArgBytes:di(W?Te?.submitBuffers.payload:void 0)}},mi="__task__",bf=(e,r)=>{let t=hi(r??{})({[mi]:e});return{call:t.call[mi],shutdown:t.shutdown,[Symbol.dispose]:t[Symbol.dispose]}},Si=(e,r,t,o=!1)=>{let s=new URL(r).href,c={...e,id:xs(s,t),importedFrom:s,at:t,imported:o,[yt]:!0};return c.createPool=(u)=>{if(Hr===!1)return c;return bf(c,u)},c},gf=(e,r)=>{let[t,o]=ko(r);return Si(e,t,o)},hf=(e,r)=>{let t,o,s=async()=>{if(t)return t;if(!o)o=import(e).then((c)=>{let u=c,d=r===_o?u.default:u[r];if(typeof d!=="function"){let S=Object.keys(u).join(", ");throw TypeError(`importTask expected export "${r}" from "${e}" to be a function. Available exports: ${S||"(none)"}`)}return t=d,t});return o};return async(...c)=>(await s())(...c)};function Sf(e){return gf(e,4)}function Af(e){let[r,t]=ko(3),{href:o,name:s=_o,...c}=e,u=It(o,r);return Si({...c,f:hf(u,s)},r,t,!0)}export{Mr as Envelope,on as NumericArray,hi as createPool,Af as importTask,lf as isMain,Jn as isNumericArray,Ps as setModuleUrl,Sf as task,An as workerMainLoop};
|
|
1
|
+
var Qi=Object.defineProperty;var Xi=(e)=>e;function Ji(e,r){this[e]=Xi.bind(null,r)}var Zi=(e,r)=>{for(var t in r)Qi(e,t,{get:r[t],enumerable:!0,configurable:!0,set:Ji.bind(r,t)})};var eu=(e,r)=>()=>(e&&(r=e(e=0)),r);var Fo=()=>({keys:new Set(Reflect.ownKeys(globalThis))}),Fs=(e,r)=>{let t=[],o=[];for(let a of r.keys)if(!e.keys.has(a))t.push(a);for(let a of e.keys)if(!r.keys.has(a))o.push(a);return{added:t,removed:o}},Ws=(e)=>{let r=typeof e==="symbol"?e.toString():e,t;try{t=Object.getOwnPropertyDescriptor(globalThis,e)}catch{return r}if(t===void 0)return r;let o=t.get!==void 0||t.set!==void 0?"accessor":typeof t.value,a=`${t.writable===!1?"":"w"}${t.configurable?"c":""}${t.enumerable?"e":""}`;return a.length>0?`${r} (${o} ${a})`:`${r} (${o})`};var Us={};Zi(Us,{initDebug:()=>rf});var rf=({name:e,runtime:r,namespaces:t,epoch:o})=>{let a=t.has("*"),c=(E)=>a||t.has(E),u=o===void 0?performance.now():o-performance.timeOrigin,d=`${e}·${r}`,m=(E,P)=>{if(!c(E))return;let A=(performance.now()-u).toFixed(1);console.error(`[${d}·+${A}ms] ${E}: ${P}`)},R=c("globals")?Fo():void 0;return{enabled:c,log:m,envPhase:(E)=>{if(R===void 0)return;let P=Fo(),{added:A,removed:H}=Fs(R,P);if(R=P,A.length===0&&H.length===0){m("globals",`${E}: no new globals`);return}if(A.length>0)m("globals",`${E} +${A.length}: ${A.map(Ws).join(" ")}`);if(H.length>0)m("globals",`${E} -${H.length}: ${H.map(String).join(" ")}`)}}};var Hs=()=>{};var $t=(()=>{let e=globalThis.process;return typeof e?.versions?.node==="string"?e:void 0})(),tr=()=>$t,Gt=(e)=>{let r=$t?.getBuiltinModule;if(typeof r!=="function")return;try{return r.call($t,e)}catch{}if(!e.startsWith("node:"))return;try{return r.call($t,e.slice(5))}catch{return}};var Kr=globalThis,ru=tr(),Vo=typeof Kr.Deno?.version?.deno==="string",Bt=typeof Kr.Bun?.version==="string",qo=typeof ru?.versions?.node==="string",$r=typeof Kr.__andromeda__<"u",Wn=!Vo&&!Bt&&!qo&&!$r&&(typeof Kr.document<"u"||typeof Kr.WorkerGlobalScope==="function"),Le=Vo?"deno":Bt?"bun":qo?"node":$r?"andromeda":Wn?"browser":"unknown",Fn=Kr.WebAssembly,kt=typeof Kr.setImmediate==="function"?Kr.setImmediate:void 0,tu=65536,zt=new WeakMap,Yt=new WeakMap,Un=(()=>{if(typeof Fn?.Memory!=="function")return!1;try{return new Fn.Memory({initial:0,maximum:1,shared:!0}),!0}catch{return!1}})();var Tt=(e)=>Math.ceil(Math.max(0,e)/tu),Qo=(e,r)=>{let t=new Fn.Memory({initial:Tt(e),maximum:Math.max(Tt(e),Tt(r)),shared:!0}),o=t.buffer;return zt.set(o,t),Yt.set(o,r),o},Jr=(e,r=e)=>{if(Un)return Qo(e,r);return new SharedArrayBuffer(e)},Hn=typeof SharedArrayBuffer==="function"&&typeof SharedArrayBuffer.prototype.grow==="function",Vt=Hn||Un,nr=(e,r)=>{if(Hn&&typeof r==="number")return new SharedArrayBuffer(e,{maxByteLength:r});if(Un&&typeof r==="number")return Qo(e,r);return new SharedArrayBuffer(e)};var Xo=(e)=>{let r=e;return Hn&&typeof r.grow==="function"&&r.growable===!0||zt.has(e)},Jo=(e)=>{let r=e;if(typeof r.maxByteLength==="number")return r.maxByteLength;return Yt.get(e)??e.byteLength},Zo=(e,r)=>{let t=e;if(typeof t.grow==="function")return t.grow(r),e;let o=zt.get(e);if(o==null)throw TypeError("SharedArrayBuffer is not growable");let a=o.buffer;if(a.byteLength>=r)return a;let c=Tt(r),u=Tt(a.byteLength);o.grow(c-u);let d=o.buffer,m=Yt.get(e)??a.byteLength;return zt.set(d,o),Yt.set(d,m),d};var nu="KNITTING_PROCESS_WORKER";var ou="KNITTING_POOL_DEPTH",Qt="__knittingCompletionDoorbell",ra=(e)=>e===Qt,qt=tr(),Dr=qt?.env?.[nu]==="1",au=()=>{let e=qt?.env?.[ou];if(typeof e!=="string")return 0;let r=Number.parseInt(e,10);return Number.isFinite(r)&&r>0?r:0},jn=au(),rt=Gt("node:worker_threads"),su=()=>{let e=globalThis.WorkerGlobalScope;if(typeof e==="function")try{if(globalThis instanceof e)return!0}catch{}if($r&&typeof globalThis.self<"u")return!0;return!1},ta=rt?.Worker??globalThis.Worker,ea=rt?.MessageChannel??globalThis.MessageChannel,Kn=rt!=null,Gr=Dr?!1:rt?.isMainThread??!su(),Et=rt?.workerData,Xt=rt?.parentPort??(Dr&&typeof qt?.send==="function"?{postMessage:(e)=>qt.send(e)}:void 0),tt=()=>{if(typeof ea!=="function")throw Error("MessageChannel is not available in this runtime");return new ea};var Rt=(e)=>e instanceof SharedArrayBuffer||e instanceof ArrayBuffer,iu=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return Rt(r.sab)&&typeof r.byteOffset==="number"&&Number.isInteger(r.byteOffset)&&r.byteOffset>=0&&typeof r.byteLength==="number"&&Number.isInteger(r.byteLength)&&r.byteLength>=0},Tr=(e)=>Rt(e)||iu(e),or=(e)=>Rt(e)?{sab:e,byteOffset:0,byteLength:e.byteLength}:e;var na=new TextEncoder,uu=new TextDecoder,oa=(e)=>e instanceof TypeError,cu=(e)=>{let r=or(e),t=Math.min(1,r.byteLength);return new Uint8Array(r.sab,r.byteOffset,t)},aa=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return typeof r.encodeInto==="boolean"&&typeof r.decode==="boolean"},Jt=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return aa(r.headers)&&aa(r.payload)},sa=(e)=>{let r=cu(e),t=(()=>{if(typeof na.encodeInto!=="function")return!1;let a=r.byteLength>0?r:r.subarray(0,0),c=a.byteLength>0?a[0]:void 0;try{return na.encodeInto(a.byteLength>0?"a":"",a),!0}catch(u){if(!oa(u))throw u;return!1}finally{if(c!==void 0)a[0]=c}})(),o=(()=>{try{return uu.decode(r),!0}catch(a){if(!oa(a))throw a;return!1}})();return{encodeInto:t,decode:o}},nt=({headers:e,payload:r})=>({headers:sa(e),payload:sa(r)});var ia=()=>globalThis.Deno,ua=()=>{if(Le!=="deno")return;let e=ia(),r=e?.permissions?.querySync,t=e?.permissions?.requestSync,o=e?.UnsafeCallback,a=e?.UnsafePointer?.value;if(typeof r!=="function"||typeof o?.threadSafe!=="function"||typeof a!=="function")return;try{let m=r({name:"ffi"}).state;if(m==="prompt"&&typeof t==="function")m=t({name:"ffi"}).state;if(m!=="granted")return}catch{return}let c=new Map,u=!1,d;try{d=o.threadSafe({parameters:["i32"],result:"void"},(R)=>{if(u)return;try{c.get(R)?.()}catch{}});let m=a(d.pointer);if(typeof m!=="bigint"||m===0n){d.close();return}return{pointer:m,listen:(R,W)=>{if(!u)c.set(R,W)},unref:()=>{try{d.unref?.()}catch{}},close:()=>{if(u)return;u=!0,c.clear(),d.close()}}}catch{try{d?.close()}catch{}return}},ca=(e)=>{if(Le!=="deno"||e===void 0||e===0n)return;let r=ia(),t=r?.UnsafeFnPointer,o=r?.UnsafePointer?.create;if(typeof t!=="function"||typeof o!=="function")return;try{let a=new t(o(e),{parameters:["i32"],result:"void"});return(c)=>a.call(c)}catch{return}};var fa=()=>{return},la=()=>{return};class Lr{#e;#r;#t=0;#o=0;#n=0;constructor(e=512){let r=2;while(r<e)r<<=1;this.#e=Array(r).fill(null),this.#r=r-1}get size(){return this.#n}get isEmpty(){return this.#n===0}get capacity(){return this.#r+1}clear(){this.#t=0,this.#o=0,this.#n=0}peek(){return this.#n===0?void 0:this.#e[this.#t]}reserve(e){if(e<=this.capacity)return;let r=this.capacity;while(r<e)r<<=1;this.#s(r)}#a(){if(this.#n!==this.#r+1)return;this.#s(this.#r+1<<1)}#s(e){let r=this.#e,t=this.#r+1,o=this.#n,a=Array(e).fill(null),c=this.#t,u=Math.min(o,t-c);for(let d=0;d<u;d++)a[d]=r[c+d];for(let d=u;d<o;d++)a[d]=r[d-u];this.#e=a,this.#r=e-1,this.#t=0,this.#o=o}push(e){this.#a();let r=this.#e,t=this.#r,o=this.#o;return r[o]=e,this.#o=o+1&t,this.#n++,!0}unshift(e){this.#a();let r=this.#e,t=this.#r,o=this.#t-1&t;return this.#t=o,r[o]=e,this.#n++,!0}shift(){let e=this.#n;if(e===0)return;let r=this.#t,t=this.#e,o=t[r];return t[r]=null,this.#t=r+1&this.#r,this.#n=e-1,o}shiftNoClear(){let e=this.#n;if(e===0)return;let r=this.#t,t=this.#e[r];return this.#t=r+1&this.#r,this.#n=e-1,t}*[Symbol.iterator](){let e=this.#e,r=this.#r,t=this.#t,o=0,a=this.#n;while(o<a){let c=e[t];if(c!==null)yield c;t=t+1&r,o++}}toArray(){let e=Array(this.#n),r=this.#e,t=this.#r,o=this.#t;for(let a=0;a<e.length;a++)e[a]=r[o],o=o+1&t;return e}get[Symbol.toStringTag](){return`RingQueue(size=${this.#n}, cap=${this.capacity})`}}var fu=67108864,lu=4194304,ot=(e)=>{if(!Number.isFinite(e))return;let r=Math.floor(e);return r>0?r:void 0},du=(e)=>{if(e==null)return!1;return e instanceof SharedArrayBuffer&&Vt&&Xo(e)},pu=(e)=>{if(e==null)return;if(e instanceof SharedArrayBuffer)return ot(Jo(e));return ot(e.byteLength)},Ir=({options:e,sab:r})=>{let t=r===void 0?void 0:or(r),o=t?.sab,u=e?.mode??(Vt?"growable":"fixed");if(u==="growable"&&o!=null&&!du(o))u="fixed";if(u==="growable"&&!Vt)u="fixed";let d=ot(e?.payloadMaxByteLength)??ot(t?.byteLength)??pu(o)??fu,m=ot(e?.payloadInitialBytes),R=u==="fixed"?d:Math.min(m??lu,d),W=d>>3;if(W<=0)throw RangeError("payloadMaxByteLength is too small; must be at least 8 bytes.");let E=e?.maxPayloadBytes;if(E!==void 0){let A=Math.floor(E);if(!Number.isFinite(A)||A<=0)throw RangeError(`maxPayloadBytes must be > 0 and <= ${W}.`)}let P=ot(E)??W;if(P<=0||P>W)throw RangeError(`maxPayloadBytes must be > 0 and <= ${W}.`);return{mode:u,payloadInitialBytes:R,payloadMaxByteLength:d,maxPayloadBytes:P}};var Gn,zn,ga=(e,r)=>{Gn=e,zn=r},ar={UNREACHABLE:0,BigInt:2,True:3,False:4,Undefined:5,NaN:6,Float64:9,Null:10},_={BORDER_SIGNAL_BUFFER:11,String:11,Json:12,StaticString:15,StaticJson:16,Binary:17,StaticBinary:18,Int32Array:19,Float64Array:20,BigInt64Array:21,BigUint64Array:22,DataView:23,Error:24,Date:25,Symbol:26,StaticSymbol:27,BigInt:28,StaticBigInt:29,StaticInt32Array:31,StaticFloat64Array:32,StaticBigInt64Array:33,StaticBigUint64Array:34,StaticDataView:35,ArrayBuffer:36,StaticArrayBuffer:37,Buffer:38,StaticBuffer:39,EnvelopeStaticHeader:40,EnvelopeDynamicHeader:41,EnvelopeStaticHeaderString:42,EnvelopeDynamicHeaderString:43,ExternalPayload:44,StaticExternalPayload:45,ProcessSharedBuffer:46,BufferReference:47,SharedArrayBuffer:48,EnvelopeStaticHeaderExternal:49,EnvelopeDynamicHeaderExternal:50,EnvelopeStaticHeaderStringExternal:51,EnvelopeDynamicHeaderStringExternal:52,NumericArray:53,StaticNumericArray:54,ArenaBinary:55,MovedBinary:56,MovedArrayBuffer:57},ha={};for(let e of Object.keys(_))ha[_[e]]=e;var Sa=(e)=>ha[e]??String(e),we={paddingLock:0,padding:0,slots:32,header:0},nn=64,yu=256,mu=Symbol.for("knitting.payloadCodec.transportFinalizer");var Sr=7,tn=1,Zt=2,on=(e)=>{let r=e[Sr];if((r&tn)!==0)return!1;return e[Sr]=(r|tn)>>>0,!0},Pt=(e)=>{e[Sr]=(e[Sr]&~tn)>>>0},$n=(e)=>(e[Sr]&tn)!==0,Vn=(e)=>{e[Sr]=0},bu=(e,r)=>{let t=e.finalize;e.finalize=t===void 0?r:()=>{try{t()}finally{r()}}};var _r=(e,r)=>{if(e.finalize!==void 0||r===null||typeof r!=="object")return;let t=r[mu]?.();if(typeof t==="function")bu(e,t)},st=(e)=>{let r=e.finalize;if(e.finalize=void 0,r!==void 0)try{r()}catch{}},i={FlagsToHost:0,FunctionID:0,ID:1,Type:2,Start:3,End:4,PayloadLen:5,slotBuffer:6,Size:8,TotalBuff:144},an=5,it=(1<<an)-1,Tl=32-an,sn=4294967295>>>an,Bl=~it>>>0,un=16,gu=(1<<un)-1,kl=32-un,hu=4294967295>>>un,El=~gu>>>0;var Aa=(e)=>e[i.FunctionID]>>>un&hu;var wa=(e)=>e[i.slotBuffer]>>>an&sn;var cn={Reject:1},Rl=Int32Array.BYTES_PER_ELEMENT,Su=we.paddingLock,Au=nn,ut=yu,Ta=nn*2,Ba=nn*3;var Or=we.header+i.TotalBuff,Ll=Or*Uint32Array.BYTES_PER_ELEMENT,wu=nn/Uint32Array.BYTES_PER_ELEMENT,vt=i.TotalBuff-wu,ka=vt,qn=ka+i.Size,Tu=qn+1,Bu=qn+2,Ea=Bu+1,Ra=Ea+1,da=Ra+2,Lt=-1n,ku=(1n<<63n)-1n,pa=0xffffffffn,Eu=qn,en=we.slots-1|0,Ru=2,_t=0,at=1,ya=2,Lu=we.header+Or*we.slots,Qn=Lu*Uint32Array.BYTES_PER_ELEMENT,_u=0,_l=ar.UNREACHABLE,xt=(e)=>{},La=()=>{let e=new Uint32Array(i.Size);return e.value=null,e.finalize=void 0,e.resolve=xt,e.reject=xt,e[Sr]=0,e},_a=()=>{let e=La();return e[i.ID]=_u++,e},Yn=(e,r,t)=>{e[0]=r[t],e[1]=r[t+1],e[2]=r[t+2],e[3]=r[t+3],e[4]=r[t+4],e[5]=r[t+5],e[6]=r[t+6],e[Sr]=0},xu=(e,r)=>{let t=La();return Yn(t,e,r),t},rn=(e)=>{if(e[i.FlagsToHost]===0)e.resolve(e.value);else e.reject(e.value),e[i.FlagsToHost]=0},ma=["dekker","ticket"],ba={"cas-mask":"cas-mask was removed; use ticket"},fn=(e,r)=>{if(typeof e==="string"&&ma.includes(e))return e;let t=typeof e==="string"&&ba[e]!==void 0?` (${ba[e]})`:"";throw RangeError(`${r} must be one of ${ma.join(", ")}; got ${JSON.stringify(e)}${t}`)},Ct="ticket",zr=({headers:e,headerSlotStrideU32:r,LockBoundSector:t,payload:o,payloadConfig:a,payloadSector:c,textCompat:u,resultList:d,toSentList:m,recycleList:R,processBoundary:W,sharedReturn:E,moveReturn:P,consumers:A,consumerId:H,regionLanes:O,stealClaim:w,notifyOnHostPublish:C,notifyHostPublish:V,traceClaim:X})=>{let Z=or(t??Jr(ut)),ee=Z.sab,q=new Int32Array(ee,Z.byteOffset+Su,1),D=new Int32Array(ee,Z.byteOffset+Au,1),J=or(e??Jr(Qn)),G=new Uint32Array(J.sab,J.byteOffset,J.byteLength>>>2),oe=r??Or,Q=new Int32Array(J.sab,J.byteOffset+Ra*Uint32Array.BYTES_PER_ELEMENT,1),ue=Ir({sab:o,options:a}),le=o??(ue.mode==="growable"?nr(ue.payloadInitialBytes,ue.payloadMaxByteLength):nr(ue.payloadInitialBytes)),ye=or(c??Z),te=u??nt({headers:J,payload:le}),I=Math.max(1,(A??1)|0),z=I>1,h=H===void 0,s=(H??0)|0,g=(O??8)|0,l=we.slots/g|0,p=(w===void 0?Ct:fn(w,"stealClaim"))==="ticket";if(z){if(p&&oe%2!==0)throw RangeError("ticket headers must have an 8-byte aligned slot stride");if(g<1||(g&g-1)!==0)throw RangeError("regionLanes must be a power of two");if(!p&&l<I)throw RangeError(`regionLanes=${g} yields ${l} regions, too few for ${I} consumers`);if(s<0||s>=I)throw RangeError(`consumerId ${s} out of range`)}let N=new Int32Array(J.sab,J.byteOffset,J.byteLength>>>2),j=new Int32Array(I);for(let B=0;B<I;B++)j[B]=B*oe+we.header+Tu;let K=we.header+Ea,de=we.header+da,v=oe+we.header+da,ne=z&&p?new Int32Array(J.sab,J.byteOffset+v*Int32Array.BYTES_PER_ELEMENT,1):void 0,me=z&&p?new BigInt64Array(J.sab,J.byteOffset,J.byteLength>>>3):void 0,Se=de>>>1,Ke=new Int32Array(we.slots);for(let B=0;B<we.slots;B++)Ke[B]=B*oe+we.header+Eu;let Ie=g,sr=new Int32Array(Ie),Ne=z&&h&&p,be=0,Ae=0,Ge=I===32?-1:(1<<I)-1|0;if(z&&h){if(Atomics.store(N,K,Ge),p)Atomics.store(me,Se,0n),Atomics.store(ne,0,0)}let he=(B,M)=>(B&1<<M)!==0,He;if(Gn===void 0||zn===void 0)throw Error('Payload codec not registered before lock2(). Ensure the module that builds locks imports "./payloadCodec.ts" (it self-registers on load).');let ir=Gn({payload:{sab:le,config:ue},headersBuffer:G,headerSlotStrideU32:oe,lockSector:ye,textCompat:te,processBoundary:W,sharedReturn:E,moveReturn:P,onPromise:(B,M,Y)=>{if((B[Sr]&Zt)!==0&&Qe>0)B[Sr]=(B[Sr]&~Zt)>>>0,Qe=Qe-1|0;He(B,M,Y)}}),Te=zn({payload:{sab:le,config:ue},headersBuffer:G,headerSlotStrideU32:oe,lockSector:ye,textCompat:te,processBoundary:W}),xe=0,ie=0,Fe=32,ae=m??new Lr,pr=R??new Lr,ur=d??new Lr,Oe=0,Qe=0,ge=Atomics.load,ce=Atomics.store,Xe=Atomics.compareExchange,yr=Atomics.notify,cr=C===!0,mr=typeof Atomics.waitAsync==="function"?Atomics.waitAsync.bind(Atomics):void 0,Je=0,fr=()=>Je=ge(D,0)|0;fr();let je=(B)=>~B!==0?B:xe^fr()|0,br=(B)=>ae.push(B),Rr=()=>ae.shiftNoClear(),Pr=(B)=>ae.unshift(B),Ar=()=>pr.shiftNoClear(),L=(B)=>ur.push(B),F=Math.clz32,fe=we.header+ka,n=({queue:B})=>(M)=>{let Y=M*oe+fe,re=B[G[Y+i.ID]];return Yn(re,G,Y),re},b=(B)=>br(B),y=(B)=>{let M=B[Sr];if((M&Zt)!==0)return;B[Sr]=(M|Zt)>>>0,Qe=Qe+1|0},f=(B,M)=>ir(B,M),T=0,x=0,k=(B,M)=>{let Y=~M;if(Y===0)return 0;if(!f(B,T=31-F(Y)))return 0;return jr(B,T,x=1<<T),x},U=(B)=>{let M=je(xe^Je|0),Y=0;try{if(B===ae)while(!0){let re=Rr();if(!re)break;M=je(M);let ke=k(re,M)|0;if(ke===0){Pr(re);break}M=M^ke|0,Y=Y+1|0}else while(!0){let re=B.shiftNoClear();if(!re)break;M=je(M);let ke=k(re,M)|0;if(ke===0){B.unshift(re);break}M=M^ke|0,Y=Y+1|0}return Y}finally{ze()}},se=(B)=>{let M=je(xe^Je|0),Y=0;Oe=0;try{if(B===ae)while(!0){let re=Rr();if(!re)break;M=je(M);let ke=k(re,M)|0;if(ke===0){if($n(re)){Oe=Oe+1|0,y(re);continue}Pr(re);break}M=M^ke|0,Y=Y+1|0}else while(!0){let re=B.shiftNoClear();if(!re)break;M=je(M);let ke=k(re,M)|0;if(ke===0){if($n(re)){Oe=Oe+1|0,y(re);continue}B.unshift(re);break}M=M^ke|0,Y=Y+1|0}return Y}finally{ze()}},Re=()=>{if(ae.isEmpty)return!0;return se(ae),Oe=0,ae.isEmpty},We=()=>{if(Xe(Q,0,at,ya)===at)if(V!==void 0)try{V()}catch{Xe(Q,0,ya,at)}else yr(q,0,1)},gr=(B)=>{if(ce(q,0,xe=xe^B|0),cr)We()},lr=(B)=>ce(D,0,ie=ie^B|0),Ye=(B,M=xe^Je|0)=>{M=je(M);let Y=~M;if(Y===0)return!1;if(!f(B,T=31-F(Y)))return!1;try{return jr(B,T,x=1<<T)}finally{ze()}},wr=(B,M=xe^Je|0)=>{Oe=0,M=je(M);let Y=~M;if(Y===0)return!1;if(!f(B,T=31-F(Y))){if($n(B))Oe=1,y(B);return!1}try{return jr(B,T,x=1<<T)}finally{ze()}},jr=(B,M,Y)=>{let re=M*oe+fe;if(G[re]=B[0],G[re+1]=B[1],G[re+2]=B[2],G[re+3]=B[3],G[re+4]=B[4],G[re+5]=B[5],G[re+6]=B[6],G[re+Sr]=0,Ne){if(N[Ke[be&en]]=M,be=be+1|0,cr)ce(q,0,xe=xe^Y|0);else q[0]=xe=xe^Y|0;return!0}return gr(Y),!0},ze=()=>{if(Ae===be)return;if(Ae=be,ce(ne,0,be),cr)We()},Xr=()=>(q[0]^ie)!==0,zo=()=>{let B=ge(q,0)^ie|0;if(B===0)return!1;let M=Fe,Y=0;try{if(M===32)Kt(T=31-F(B)),x=1<<(M=T),B^=x,Y=Y^x|0;while(B!==0){let re=B&(1<<M)-1;if(re===0)re=B;Kt(T=31-F(re)),x=1<<(M=T),B^=x,Y=Y^x|0}}finally{if(Y!==0)lr(Y)}return Fe=M,!0},Nn=(B)=>g===32?-1:(1<<g)-1<<B*g|0,pe=g===32?-1:(1<<g)-1|0,Pe=(B,M)=>{let Y=B*g|0,re=M>>>Y&pe|0,ke=(re>>>1|re<<g-1)&pe,Ve=re&~ke|0;return Y+(Ve===0?g-1:31-F(Ve>>>0))},dr=(B)=>{let M=ge(N,K)|0;for(let Y=s+1;Y<I;Y++){if(!he(M,Y))continue;if((ge(N,j[Y])&B)!==0)return!0}return!1},Br=l*s/I|0,vr=Br,jt=()=>{let B=ge(q,0)^ge(D,0)|0;if(B===0)return!1;let M=0;if(l===1)M=1;else for(let Ee=0;Ee<l;Ee++)if((B&Nn(Ee))!==0)M|=1<<Ee;let Y=ge(N,K)|0,re=0,ke=0;for(let Ee=0;Ee<I;Ee++){if(Ee===s||!he(Y,Ee))continue;let hr=ge(N,j[Ee])|0;if(re|=hr,Ee<s)ke|=hr}let Ve=M&~ke;if(Ve===0)return!1;let Cr=M&~re,Ze=Cr!==0?Cr:Ve,Ce=-1;for(let Ee=0;Ee<l;Ee++){let hr=(vr+Ee)%l;if((Ze&1<<hr)!==0){Ce=hr;break}}if(Ce<0)return!1;let _e=1<<Ce|0;ce(N,j[s],_e);let qe=!1;for(let Ee=0;Ee<s;Ee++){if(!he(Y,Ee))continue;if((ge(N,j[Ee])&_e)!==0){qe=!0;break}}if(qe)return ce(N,j[s],0),!1;let Be=!1;for(let Ee=s+1;Ee<I;Ee++){if(!he(Y,Ee))continue;if((ge(N,j[Ee])&_e)!==0){Be=!0;break}}if(Be)while(dr(_e));let er=(ge(q,0)^ge(D,0))&Nn(Ce)|0;if(er===0)return ce(N,j[s],0),!1;let Me=er,$e=0,Ue=Pe(Ce,er),kr=Ce*g|0,rr=kr+g-1|0;try{for(let Ee=0;Ee<g;Ee++){let hr=1<<Ue|0;if((Me&hr)!==0){if(Kt(Ue),Me=Me^hr|0,$e=$e^hr|0,Me===0)break}Ue=Ue===kr?rr:Ue-1}}finally{if(ie=ie^$e|0,$e!==0)Atomics.xor(D,0,$e);ce(N,j[s],0),vr=Br}return!0},Yo=()=>{for(let B=0;B<Ru;B++){let M=Atomics.load(me,Se);if(M===Lt)return!1;let Y=Number(M&pa),re=ge(ne,0)-Y>>>0;if(re===0)return!1;if(re>we.slots)continue;let ke=Math.min(re,Ie),Ve=M+BigInt(ke);if(Ve>ku)throw Atomics.store(me,Se,Lt),RangeError("ticket queue exhausted its 64-bit sequence");let Cr=Y&en;for(let Ce=0;Ce<ke;Ce++)sr[Ce]=N[Ke[Cr+Ce&en]]&en;if(Atomics.compareExchange(me,Se,M,Ve)!==M)continue;let Ze=0;try{for(let Ce=0;Ce<ke;Ce++){let _e=sr[Ce];Kt(_e),Ze=Ze^1<<_e|0}}catch(Ce){throw Atomics.store(me,Se,Lt),Ce}finally{if(ie=ie^Ze|0,Ze!==0)Atomics.xor(D,0,Ze)}return!0}return!1},ji=(B,M)=>{let Y=0;return()=>{let re=ie,ke=0n,Ve=0;if(p){if(ke=Atomics.load(me,Se),ke!==Lt)Ve=ge(ne,0)-Number(ke&pa)>>>0}else Ve=ge(q,0)^ge(D,0)|0;if(!B()){if(Ve!==0)Y++;return!1}let Cr=ie^re|0,Ze=0;for(let _e=Cr;_e!==0;_e&=_e-1)Ze++;let Ce;if(p){let _e=Atomics.load(me,Se),qe=[];for(let Be=0;Be<Ze;Be++)qe.push(sr[Be]);Ce=`claim count=${Ze} lanes=${qe.join(",")} head=${ke}→${_e} peers=${Number(_e-ke)-Ze}`}else{let _e=[];for(let Be=0;Be<we.slots;Be++)if((Cr&1<<Be)!==0)_e.push(Be);let qe=_e[0]/g|0;Ce=`claim count=${Ze} lanes=${_e.join(",")} region=${qe} home=${Br}`+(qe===Br?"":" steal")}return M(`${Ce} lost=${Y}`),Y=0,!0}},Ki=({queue:B,onResolved:M,shouldSettle:Y,activeRejectPlaceholder:re})=>{let ke=n({queue:B}),Ve=32;if(re!==void 0&&M){let _e=M,qe=re;return()=>{let Be=ge(q,0)^ie|0;if(Be===0)return 0;let er=0,Me=0,$e=Ve;if($e===32){let Ue=31-F(Be),kr=1<<Ue,rr=ke(Ue);if(Te(rr,Ue),Me=Me^kr|0,rr.reject!==qe)rn(rr),_e(rr);if(Be^=kr,er++,(er&7)===0&&Me!==0)ie=ie^Me|0,ce(D,0,ie),Me=0;$e=Ue}while(Be!==0){let Ue=$e===31?2147483647:(1<<$e)-1,kr=Be&Ue;if(kr===0)kr=Be;let rr=31-F(kr),Ee=1<<rr,hr=ke(rr);if(Te(hr,rr),Me=Me^Ee|0,hr.reject!==qe)rn(hr),_e(hr);if(Be^=Ee,er++,(er&7)===0&&Me!==0)ie=ie^Me|0,ce(D,0,ie),Me=0;$e=rr}if(Me!==0)ie=ie^Me|0,ce(D,0,ie);return Ve=$e,er}}let Cr=M!==void 0,Ze=M??xt,Ce=Y;return()=>{let _e=ge(q,0)^ie|0;if(_e===0)return 0;let qe=0,Be=0,er=Ve;if(er===32){let Me=31-F(_e),$e=1<<Me,Ue=ke(Me);if(Te(Ue,Me),Be=Be^$e|0,Ce===void 0||Ce(Ue)){if(rn(Ue),Cr)Ze(Ue)}if(_e^=$e,qe++,(qe&7)===0&&Be!==0)ie=ie^Be|0,ce(D,0,ie),Be=0;er=Me}while(_e!==0){let Me=er===31?2147483647:(1<<er)-1,$e=_e&Me;if($e===0)$e=_e;let Ue=31-F($e),kr=1<<Ue,rr=ke(Ue);if(Te(rr,Ue),Be=Be^kr|0,Ce===void 0||Ce(rr)){if(rn(rr),Cr)Ze(rr)}if(_e^=kr,qe++,(qe&7)===0&&Be!==0)ie=ie^Be|0,ce(D,0,ie),Be=0;er=Ue}if(Be!==0)ie=ie^Be|0,ce(D,0,ie);return Ve=er,qe}},$i=(B)=>{if(mr===void 0){ce(Q,0,_t);return}ce(Q,0,at);try{let M=mr(q,0,ie|0,B);if(!M.async)ce(Q,0,_t);return M}catch{ce(Q,0,_t);return}},Gi=()=>{if(ce(Q,0,at),ge(q,0)===(ie|0))return!0;return ce(Q,0,_t),!1},Kt=(B)=>{let M=B*oe+fe,Y=Ar(),re;if(Y)Yn(Y,G,M),Y.value=null,Y.finalize=void 0,Y.resolve=xt,Y.reject=xt,re=Y;else re=xu(G,M);return Te(re,B),L(re),!0},zi=(B)=>{if(wr(B))return!0;if((Oe|0)!==0)return Oe=0,!1;return br(B),!1},Yi=()=>{if(ae.isEmpty)return!1;let B=se(ae)|0;return Oe=0,B!==0},Vi=()=>{ae.clear(),Oe=0,Qe=0},qi=(B)=>{if(!z||!h)return!1;if(!Number.isInteger(B)||B<0||B>=I)throw RangeError(`consumerId ${B} out of range`);let M=1<<B,Y=Atomics.and(N,K,~M);if(p)Atomics.store(me,Se,Lt);return(Y&M)!==0};return{enlist:b,encode:Ye,encodeManyFrom:U,encodeAll:Re,publish:zi,flushPending:Yi,decode:z?X===void 0?p?Yo:jt:ji(p?Yo:jt,X):zo,hasSpace:Xr,resolved:ur,hostBits:q,workerBits:D,recyclecList:pr,resolveHost:Ki,waitForHostChange:$i,armHostNotifier:Gi,setHostWaiterArmed:(B)=>{ce(Q,0,B?at:_t)},hasPendingFrames:()=>ae.size!==0,getPendingFrameCount:()=>ae.size|0,getPendingPromiseCount:()=>Qe|0,resetPendingState:Vi,deactivateStealConsumer:qi,takeDeferredCount:()=>{let B=Oe|0;return Oe=0,B},setPromiseHandler:(B)=>{He=B}}};var Pu=1,xa=1,vu=performance.now.bind(performance),Cu=(e,r,t,o)=>new Promise((a,c)=>{let u=!1,d=setTimeout(()=>{if(u)return;if(u=!0,t)a(o);else c(o)},r);e.then((m)=>{if(u)return;u=!0,clearTimeout(d),a(m)},(m)=>{if(u)return;u=!0,clearTimeout(d),c(m)})}),Iu=(e)=>(Math.floor(e())&sn)>>>0,Pa=(e,r,t,o)=>{let a=Iu(o)-wa(r)&sn,c=t.ms-a;if(!(c>0))return e.then(()=>{},()=>{}),t.kind===xa?Promise.resolve(t.value):Promise.reject(t.value);let u=Math.max(1,Math.floor(c));return Cu(e,u,t.kind===xa,t.value)},ln=-1,va=(e)=>{let r=Aa(e);if(r===0)return ln;let t=r-Pu|0;return t>=0?t:ln},Ou=(e,r)=>{let t=[];return(o)=>{let a=t[o];if(a)return a;return a={hasAborted:()=>e(o),now:r},t[o]=a,a}},Ca=({job:e,timeout:r,hasAborted:t,now:o})=>{let a=o??vu;if(!t){if(!r)return(u)=>e(u.value);return(u)=>{let d=e(u.value);if(!(d instanceof Promise))return d;return Pa(d,u,r,a)}}let c=Ou(t,a);if(!r)return(u)=>{let d=va(u);if(d===ln)return e(u.value);return e(u.value,c(d))};return(u)=>{let d=va(u),m=d===ln?e(u.value):e(u.value,c(d));if(!(m instanceof Promise))return m;return Pa(m,u,r,a)}};var Mu=32,Ia=({listOfFunctions:e,workerOptions:r,lock:t,returnLock:o,hasAborted:a,now:c,stealing:u})=>{let d=(l)=>{throw"UNREACHABLE FROM PLACE HOLDER (thread)"},m=0,R=e.reduce((l,S)=>(l.push(S.run),l),[]),W=new Lr,E=new Lr,P=(l)=>W.push(l),A=()=>W.shiftNoClear(),H=()=>E.shiftNoClear(),O=(l)=>E.unshift(l),w=(l)=>E.push(l),C=(l)=>t.recyclecList.push(l),V=65535,X=i.FlagsToHost,Z=cn.Reject,ee=Atomics.load,q=o.hostBits,D=o.workerBits,J=[],G=()=>{for(let l=0;l<J.length;l++)try{J[l]()}catch{}J.length=0},oe=()=>{if(J.length===0)return;if((q[0]^ee(D,0))!==0)return;G()},Q=e.reduce((l,S,p)=>{let N=R[p];return l.push(Ca({job:N,timeout:S.timeout,hasAborted:a,now:c})),l},[]),ue=r?.resolveAfterFinishingAll===!0?()=>E.size!==0&&W.size===0:()=>E.size!==0,{decode:le,resolved:ye}=t,te=()=>ye.shiftNoClear(),I=()=>{if(u&&W.size!==0)return!1;if(!le())return!1;let l=te();while(l)l.resolve=d,l.reject=d,_r(l,l.value),P(l),l=te();return!0},z=o.encode,h=(l,S)=>{if(l[X]=S?Z:0,!z(l))return!1;if(l.finalize!==void 0)J.push(l.finalize),l.finalize=void 0;return C(l),!0},s=(l,S,p,N)=>{if(st(l),l.value=p,N&&m>0)m--;let j=S||l[X]===Z;if(!h(l,j))w(l)},g=()=>{let l=H();if(!l)return!1;if(!h(l,l[X]===Z))return O(l),!1;return!0};return{hasCompleted:ue,hasPending:()=>W.size!==0,writeBatch:(l)=>{let S=0;while(S<l){if(!g())break;S++}return S},serviceBatchImmediate:()=>{let l=0;while(l<Mu&&W.size!==0){let S=A();try{let p=S[i.FunctionID]&V,N=Q[p](S);if(S[X]=0,N instanceof Promise)S.value=null,m++,N.then((j)=>s(S,!1,j,!0),(j)=>s(S,!0,j,!0));else s(S,!1,N,!1)}catch(p){s(S,!0,p,!1)}if(++l,E.size!==0)break}return l},enqueueLock:I,drainReturnReleases:oe,releaseDeferredReturns:G,hasAwaiting:()=>m>0,getAwaiting:()=>m}};var ct=64,Du=ct-1,Oa=ct/32,Ma=4294967231,Nu=~it>>>0,Xn=({lockSector:e})=>{let r=or(e??Jr(ut)),t=r.sab,o=new Int32Array(t,r.byteOffset+Ta,Oa),a=new Int32Array(t,r.byteOffset+Ba,Oa),c=new Uint32Array(ct),u=new Uint32Array(ct),d=new Uint32Array(ct),m=Atomics.load,R=Atomics.store,W=Atomics.xor,E=Du,P=~E>>>0;c.fill(Ma);let A=0,H=0,O=0,w=0,C=0,V=(I)=>c.slice(0,I),X=(I)=>I>>>5,Z=(I)=>1<<(I&31),ee=(I,z)=>{let h=c,s=0;for(let g=0;g<A;g++){let l=h[g],S=l&E;if(((S<32?I:z)&Z(S))!==0)continue;if(s!==g)h[s]=l;s++}for(let g=s;g<A;g++)h[g]=Ma;A=s},q=()=>{let I=~H;if(I!==0)return 31-Math.clz32((I&-I)>>>0);return I=~O,I===0?-1:63-Math.clz32((I&-I)>>>0)},D=(I,z)=>{I[i.End]=(I[i.End]&2147483647|(z&32)<<26)>>>0},J=(I)=>{let z=Z(I);if(I<32)H=H|z|0,w=w^z|0,R(o,0,w);else O=O|z|0,C=C^z|0,R(o,1,C)},G=()=>{if(A===0)return;let I=H===0?0:~(w^m(a,0))&H|0,z=O===0?0:~(C^m(a,1))&O|0;if((I|z)===0)return;if(I===H&&z===O){A=0,H=0,O=0;return}H=H&~I|0,O=O&~z|0,ee(I,z)},oe=(I)=>{if(G(),A>=ct)return-1;let z=q();if(z===-1)return-1;let h=0,s=A;for(let g=0;g<A;g++){let l=c[g],S=l&P;if(S-h>>>0>=I>>>0){s=g;break}h=S+(u[l&E]>>>0)>>>0}for(let g=A;g>s;g--)c[g]=c[g-1];return c[s]=(h|z)>>>0,u[z]=I>>>0,d[z]=h>>>0,A++,J(z),z};return{allocTask:(I)=>{let z=oe((I[i.PayloadLen]|0)+63&-64);if(z===-1)return-1;return I[i.Start]=d[z],I[i.slotBuffer]=(I[i.slotBuffer]&Nu|z&it)>>>0,D(I,z),z},allocRegion:(I)=>oe((I|0)+63&-64),regionStart:(I)=>d[I&E],setSlotLength:(I,z)=>{let h=I&E;return u[h]=((z|0)+63&-64)>>>0,!0},tagTaskSlot:D,lockSAB:t,free:(I)=>{let z=I&E;W(a,X(z),Z(z))},hostBits:o,workerBits:a,updateTable:G,startAndIndexToArray:V}};var dn=Uint32Array.BYTES_PER_ELEMENT,Mr=(e,r)=>{if(!Number.isInteger(e)||e<0)throw RangeError(`${r} must be a non-negative integer`);return e},Zn=(e,r=64)=>{let t=Mr(e,"value"),o=Mr(r,"alignment");if(o===0)throw RangeError("alignment must be greater than zero");return Math.ceil(t/o)*o},eo=(e,r,t)=>({sab:e,byteOffset:Mr(r,"byteOffset"),byteLength:Mr(t,"byteLength")}),Fu=({alignTo:e=64,startByteOffset:r=0}={})=>{let t=Mr(e,"alignTo");if(t===0)throw RangeError("alignTo must be greater than zero");let o=Mr(r,"startByteOffset"),a=[];return{slices:a,take:(u,d,{alignTo:m=t,reserveByteLength:R}={})=>{let W=Mr(d,`${u} byteLength`),E=Mr(m,`${u} alignTo`);if(E===0)throw RangeError(`${u} alignTo must be greater than zero`);let P=R==null?Zn(W,E):Mr(R,`${u} reserveByteLength`);if(P<W)throw RangeError(`${u} reserveByteLength must cover byteLength`);let A=Zn(o,E),H={name:u,byteOffset:A,byteLength:W,reservedByteLength:P};return a.push(H),o=A+P,H},byteLength:()=>o,bind:(u,d)=>eo(u,d.byteOffset,d.byteLength)}},Da=({slotIndex:e,slotStrideU32:r,baseU32:t=0,extraU32:o=0})=>e*r+t+o,Na=({slotIndex:e,slotStrideU32:r,baseByteOffset:t=0,baseU32:o=0,extraU32:a=0})=>t+Da({slotIndex:e,slotStrideU32:r,baseU32:o,extraU32:a})*dn,ro=({slotCount:e,slotStrideU32:r,slotLengthU32:t,baseU32:o=0})=>{let a=Mr(e,"slotCount");if(a===0)return 0;return(Da({slotIndex:a-1,slotStrideU32:r,baseU32:o})+t)*dn},Wu=(e)=>e*2,Jn=({slotCount:e,slotStrideU32:r,queues:t=1,alignTo:o=64})=>Zn(e*r*dn*t,o),Uu=({sab:e,byteOffset:r,slotCount:t,slotStrideU32:o})=>{let a=Wu(o),c=o*dn,u=ro({slotCount:t,slotStrideU32:a,slotLengthU32:o});return{headerSlotStrideU32:a,requestHeaders:eo(e,r,u),returnHeaders:eo(e,r+c,u)}},to=({signalBytes:e,abortBytes:r,lockSectorBytes:t,headerSlotStrideU32:o,slotCount:a,headerLayout:c="interleaved",alignTo:u=64,createBuffer:d=(m)=>new SharedArrayBuffer(m)})=>{let m=Fu({alignTo:u}),R=m.take("signals",e),W=m.take("requestLockSector",t),E=m.take("returnLockSector",t),P,A,H;if(c==="interleaved")H=m.take("interleavedHeaders",Jn({slotCount:a,slotStrideU32:o,queues:2,alignTo:u}));else P=m.take("requestHeaders",Jn({slotCount:a,slotStrideU32:o,alignTo:u})),A=m.take("returnHeaders",Jn({slotCount:a,slotStrideU32:o,alignTo:u}));let O=m.take("abortSignals",r),w=d(m.byteLength()),C=m.bind(w,R),V=m.bind(w,O),X=m.bind(w,W),Z=m.bind(w,E),ee=c==="interleaved"?Uu({sab:w,byteOffset:H.byteOffset,slotCount:a,slotStrideU32:o}):{headerSlotStrideU32:o,requestHeaders:m.bind(w,P),returnHeaders:m.bind(w,A)};return{controlSAB:w,signals:C,abortSignals:V,lock:{headers:ee.requestHeaders,headerSlotStrideU32:ee.headerSlotStrideU32,lockSector:X,payloadSector:X},returnLock:{headers:ee.returnHeaders,headerSlotStrideU32:ee.headerSlotStrideU32,lockSector:Z,payloadSector:Z},slices:m.slices}};var Hu=4096,Yr=new TextEncoder,oo=new TextDecoder,xr=64,ju=Hu,Ku=(e)=>e+63&-64,Wa=(e)=>e.constructor===Uint8Array,$u=(e)=>Wa(e)?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),Gu=(e)=>e instanceof TypeError,zu=(e)=>e instanceof TypeError,Ua=()=>{let e=globalThis.Buffer;if(typeof e?.from!=="function"||typeof e?.allocUnsafe!=="function"||typeof e?.allocUnsafeSlow!=="function")return;return e},Yu=(e,r)=>{let t=0,o=0;for(let a of e){let c=Yr.encode(a);if(o+c.byteLength>r.byteLength)break;r.set(c,o),o+=c.byteLength,t+=a.length}return{read:t,written:o}},no=(e,r)=>{let t=new Uint8Array(r.byteLength),o=typeof Yr.encodeInto==="function"?Yr.encodeInto(e,t):Yu(e,t);if(o.written>0)r.set(t.subarray(0,o.written),0);return o},Fa=(e)=>oo.decode(e.slice()),Ha=(e,r,t)=>{if(typeof Yr.encodeInto!=="function")return no(e,r);if(t?.encodeInto===!0)return Yr.encodeInto(e,r);if(t?.encodeInto===!1)return no(e,r);try{return Yr.encodeInto(e,r)}catch(o){if(!Gu(o))throw o;return no(e,r)}},ja=(e,r)=>{if(r?.decode===!0)return oo.decode(e);if(r?.decode===!1)return Fa(e);try{return oo.decode(e)}catch(t){if(!zu(t))throw t;return Fa(e)}},ao=({sab:e,payloadConfig:r,textCompat:t})=>{let o=e===void 0?void 0:or(e),a=e!==void 0&&!Rt(e),c=o?.sab instanceof ArrayBuffer&&!(o.sab instanceof SharedArrayBuffer),u=a||c,d=o?.byteLength,m=Bt&&o?.sab instanceof ArrayBuffer&&!(o.sab instanceof SharedArrayBuffer)?void 0:Ua(),R=Ir({sab:o?.sab,options:!u||d===void 0?r:{...r,mode:"fixed",payloadInitialBytes:r?.payloadInitialBytes??d,payloadMaxByteLength:r?.payloadMaxByteLength??d}}),W=R.mode==="growable",E=o?.sab??(W?nr(R.payloadInitialBytes,R.payloadMaxByteLength):nr(R.payloadInitialBytes)),P=o?.byteOffset??0,A=o?.byteLength??E.byteLength,H=new Uint8Array(E,P+xr,Math.max(0,A-xr)),O=m?(h,s)=>{let g=m.from(h,s+xr);if(g.buffer!==h)throw Error("Buffer view does not alias shared buffer");return g}:void 0,w=O?.(E,P),C=new Float64Array(E,P+xr,Math.max(0,A-xr)>>>3),V=()=>A-xr,X=()=>{P=0,A=E.byteLength,H=new Uint8Array(E,P+xr,A-xr),w=O?.(E,P),C=new Float64Array(E,P+xr,A-xr>>>3)},Z=()=>{if(!W)return;if(E.byteLength===A)return;X()},ee=(h)=>{if(V()>=h)return!0;if(!W)return!1;if(Z(),V()>=h)return!0;try{if(!(E instanceof SharedArrayBuffer))return!1;E=Zo(E,Ku(xr+h+ju))}catch{return!1}return X(),!0},q=(h,s)=>{if(!w)return ja(H.subarray(h,s),t);return w.toString("utf8",h,s)},D=(h,s=0)=>{let g=$u(h);if(!ee(s+g.byteLength))return-1;return H.set(g,s),g.byteLength},J=(h,s=0)=>{let g=h.byteLength;if(!ee(s+g))return-1;return H.set(h,s),g},G=(h,s=0)=>{let g=h.byteLength;if(!ee(s+g))return-1;return H.set(new Uint8Array(h),s),g},oe=(h,s=0)=>{let g=h.byteLength;if(!ee(s+g))return-1;return C.set(h,s>>>3),g},Q=(h,s)=>H.slice(h,s),ue=(h,s)=>H.subarray(h,s),le=(h,s)=>{if(!m||!w)return Q(h,s);let g=Math.max(0,s-h|0),l=m.allocUnsafe(g);if(g===0)return l;return w.copy(l,0,h,s),l},ye=(h,s)=>{if(!m||!w)return Q(h,s).buffer;let g=Math.max(0,s-h|0);if(g===0)return new ArrayBuffer(0);let l=m.allocUnsafeSlow(g);return w.copy(l,0,h,s),l.buffer};return{ensureCapacity:ee,syncGrowth:Z,capacityBytes:V,currentBuffer:()=>E,regionBase:()=>H.byteOffset,readUtf8:q,writeBinary:D,writeBuffer:J,writeArrayBuffer:G,write8Binary:oe,readBytesCopy:Q,readBytesView:ue,readBytesBufferCopy:le,readBufferCopy:le,readBytesArrayBufferCopy:ye,readArrayBufferCopy:ye,read8BytesFloatCopy:(h,s)=>C.slice(h>>>3,s>>>3),read8BytesFloatView:(h,s)=>C.subarray(h>>>3,s>>>3),writeUtf8:(h,s,g=h.length*3)=>{if(!ee(s+g))return-1;let l=H.subarray(s,s+g);if(!w){let{read:N,written:j}=Ha(h,l,t);if(N!==h.length)return-1;return j}let{read:S,written:p}=Yr.encodeInto(h,l);if(S!==h.length)return-1;return p}}},Ka=({headersBuffer:e,slotStrideU32:r,textCompat:t})=>{let o=Ua(),a=e instanceof Uint32Array?e.buffer:e,c=e instanceof Uint32Array?e.byteOffset:0,u=Uint32Array.BYTES_PER_ELEMENT,d=r??Or,m=vt*u,R=new Uint8Array(a,c),W=o?.from(a,c),E=new Float64Array(a,c,a.byteLength-c>>>3),P=(l)=>Na({slotIndex:l,slotStrideU32:d,baseByteOffset:c,baseU32:we.header}),A=new Uint32Array(we.slots);for(let l=0;l<we.slots;l++)A[l]=P(l)-c;let H=new Uint32Array(a,c,a.byteLength-c>>>2),O=new Uint32Array(we.slots);for(let l=0;l<we.slots;l++)O[l]=A[l]>>>2;let w=(l,S,p)=>{let N=O[p];for(let j=0;j<S;j++)H[N+j]=l[j];return S*u},C=(l,S,p)=>{let N=O[p];for(let j=0;j<S;j++)l[j]=H[N+j];return l},V=(l,S)=>(l|0)>=0&&l+S<=m,X=Array(we.slots);for(let l=0;l<we.slots;l++){let S=A[l];X[l]=R.subarray(S,S+m)}let Z=(l,S)=>{let p=X[S];if(!W){let{read:K,written:de}=Ha(l,p,t);if(K!==l.length)return-1;return de}let{read:N,written:j}=Yr.encodeInto(l,p);if(N!==l.length)return-1;return j},ee=(l,S,p)=>{let N=A[p];if(!W)return ja(R.subarray(N+l,N+S),t);return W.toString("utf8",N+l,N+S)},q=(l,S,p=0)=>(R.set(l,A[S]+p),l.byteLength),D=(l,S,p=0)=>(R.set(l,A[S]+p),l.byteLength),J=(l,S,p=0)=>{let N=l.byteLength;return R.set(new Uint8Array(l),A[S]+p),N},G=(l,S,p=0)=>(R.set(l,A[S]+p),l.byteLength),oe=(l,S,p=0)=>{if(!Wa(l))return-1;return G(l,S,p)},Q=(l,S,p=0)=>{let N=l.byteLength;if(!V(p,N))return-1;return E.set(l,A[S]+p>>>3),N},ue=(l,S,p)=>R.slice(A[p]+l,A[p]+S),le=(l,S,p)=>R.subarray(A[p]+l,A[p]+S),ye=(l,S,p)=>{if(!o||!W)return ue(l,S,p);let N=S-l,j=o.allocUnsafe(N),K=A[p];return W.copy(j,0,K+l,K+S),j},te=(l,S,p)=>{if(!o)return ue(l,S,p);let N=ye(l,S,p);return new Uint8Array(N.buffer,N.byteOffset,N.byteLength)},z=Bt?(l,S,p)=>ue(l,S,p):te,h=(l,S,p)=>{if(!o||!W)return ue(l,S,p).buffer;let N=Math.max(0,S-l|0);if(N===0)return new ArrayBuffer(0);let j=o.allocUnsafeSlow(N),K=A[p];return W.copy(j,0,K+l,K+S),j.buffer};return{writeUtf8:Z,readUtf8:ee,writeBinary:q,writeBuffer:D,writeArrayBuffer:J,writeExactUint8Array:G,writeUint8Array:oe,writeU32Words:w,readU32Words:C,write8Binary:Q,readBytesCopy:ue,readBytesView:le,readBytesBufferCopy:ye,readBufferCopy:ye,readUint8ArrayCopy:z,readUint8ArrayBufferCopy:te,readBytesArrayBufferCopy:h,readArrayBufferCopy:h,read8BytesFloatCopy:(l,S,p)=>E.slice(A[p]+l>>>3,A[p]+S>>>3),read8BytesFloatView:(l,S,p)=>E.subarray(A[p]+l>>>3,A[p]+S>>>3),maxBytes:m}};var ve={Function:0,Symbol:1,Json:2,Serializable:3};class Zr extends Error{code;constructor(e,r,t){super(r,t===void 0?void 0:{cause:t});this.name="KnittingError",this.code=e}}var Vu=(e,r,t)=>{switch(r){case ve.Function:return`KNT_ERROR_0: Function is not a valid type; name: ${typeof e.value==="function"?e.value.name||"<anonymous>":"<unknown>"}`;case ve.Symbol:return"KNT_ERROR_1: Symbol must use Symbol.for(...) keys";case ve.Json:return t==null||t.length===0?"KNT_ERROR_2: JSON stringify failed; payload must be JSON-safe":`KNT_ERROR_2: JSON stringify failed; ${t}`;case ve.Serializable:return t==null||t.length===0?"KNT_ERROR_3: Unsupported payload type; serialize it yourself":`KNT_ERROR_3: Unsupported payload type; ${t}`}},De=({task:e,type:r,onPromise:t,detail:o})=>{let a=Vu(e,r,o);if(!Gr)return e.value=a,e[i.FlagsToHost]=cn.Reject,!1;if(t==null)throw TypeError(a);if(!on(e))return!1;let c=new Zr(`KNT_ERROR_${r}`,a);return queueMicrotask(()=>{Pt(e),e.value=c,t(e,!0,c)}),!1};var $a=Symbol.for("knitting.payloadCodec.transportFinalizer");class Nr{header;payload;constructor(e,r){this.header=e,this.payload=r}[Symbol.dispose](){let e=this.payload;if(e!==null&&typeof e==="object")e[Symbol.dispose]?.()}[$a](){let e=this.payload;if(e===null||typeof e!=="object")return;let r=e[$a];return typeof r==="function"?r.call(e):void 0}}var ft=()=>{throw Error('BufferReference cannot run in runtime "browser"')};var Fr="knitting.sharedArrayBuffer",co=Symbol.for("knitting.sharedArrayBuffer.numericTransfer"),It=8,qu=2,Qu=Symbol.for("knitting.payloadCodec"),Va=()=>{let e=tr();if(e!==void 0&&typeof e.pid==="number")return e.pid;let r=globalThis.Deno;if(typeof r?.pid==="number")return r.pid;return 0},io=`${Le}:${Va()}`,Xu=typeof SharedArrayBuffer==="function",Ju=(e)=>Xu&&e instanceof SharedArrayBuffer,Ga=new WeakMap,pn=new WeakMap,za=new WeakMap,Ya=new WeakMap,Zu=new Map,qa=(e)=>{if(e===void 0)return Zu;let r=Ya.get(e);if(r===void 0)r=new Map,Ya.set(e,r);return r},ec=typeof FinalizationRegistry==="function"?new FinalizationRegistry((e)=>{try{ft().releaseShared(e)}catch{}}):void 0,uo=(e)=>[Number(e&0xffffffffn)>>>0,Number(e>>32n&0xffffffffn)>>>0],so=(e,r)=>BigInt(r>>>0)<<32n|BigInt(e>>>0),rc=(e)=>{switch(e){case"node":return 1;case"deno":return 2;case"bun":return 3;default:return 0}},tc=(e)=>{switch(e){case 1:return"node";case 2:return"deno";case 3:return"bun";default:return}},nc=(e)=>{if(e===void 0)return;let r=za.get(e);if(r===void 0)r=new Set,za.set(e,r);return r},oc=(e)=>{let r=Ga.get(e);if(r===void 0){let t=ft().produceShared(e);r={token:t.token,pointer:t.pointer,byteLength:t.byteLength},Ga.set(e,r),ec?.register(e,r.token)}return r};var ac=(e)=>({kind:Fr,origin:io,runtime:Le,pointer:e.pointer.toString(),token:e.token.toString(),byteLength:e.byteLength}),sc=(e)=>{if(e.byteLength>4294967295)return;let[r,t]=uo(e.token),[o,a]=uo(e.pointer);return[r,t,o,a,e.byteLength>>>0,rc(Le),Va()>>>0,0]},ic=(e)=>{let[r,t]=uo(e.token);return[r,t]},uc=(e)=>{let r=pn.get(e);if(r!==void 0)return r;let t=oc(e);return r=Qa(e,t,ac(t)),r},Qa=(e,r,t)=>{let o=pn.get(e);if(o!==void 0)return o;let a=sc(r),c=ic(r);return o={[Qu]:Fr,toMetadata:()=>t,[co]:(u)=>{if(a===void 0)return;let d=nc(u);if(d===void 0)return a;if(d.has(r.token))return c;return d.add(r.token),a}},pn.set(e,o),o},fo=(e)=>{if(Ju(e))return uc(e);return pn.get(e)},cc=(e)=>{if(e===null||typeof e!=="object")return!1;let r=e;return r.kind===Fr&&typeof r.origin==="string"&&typeof r.runtime==="string"&&typeof r.pointer==="string"&&typeof r.token==="string"&&typeof r.byteLength==="number"&&Number.isInteger(r.byteLength)&&r.byteLength>=0},Xa=(e,r,t)=>{if(e.origin!==io)throw Error(`SharedArrayBuffer cannot cross a process boundary (origin ${e.origin} != ${io}); it is shared by reference to thread workers only.`);let o=BigInt(e.token),a=qa(t),c=a.get(o);if(c!==void 0)return c;if(r)throw TypeError("SharedArrayBuffer cache miss for warm token payload");let u=ft().adoptShared({token:o,pointer:BigInt(e.pointer),byteOffset:0,byteLength:e.byteLength});return a.set(o,u.buffer),Qa(u.buffer,{token:o,pointer:BigInt(e.pointer),byteLength:e.byteLength},e),u.buffer},fc=(e,r)=>{if(!cc(e))throw TypeError("Invalid SharedArrayBuffer payload metadata");return Xa(e,!1,r)},lc=(e,r)=>{if(e.length===qu){let c=so(e[0]??0,e[1]??0),u=qa(r).get(c);if(u!==void 0)return u;throw TypeError("SharedArrayBuffer cache miss for warm token payload")}let t=tc(e[5]??0);if(t===void 0)throw TypeError("Invalid SharedArrayBuffer numeric runtime");let o=e[6];if(o===void 0||!Number.isInteger(o)||o<0)throw TypeError("Invalid SharedArrayBuffer numeric origin");if(e.length!==It)throw TypeError("Invalid SharedArrayBuffer numeric word count");let a={kind:Fr,origin:`${t}:${o>>>0}`,runtime:t,pointer:so(e[2]??0,e[3]??0).toString(),token:so(e[0]??0,e[1]??0).toString(),byteLength:e[4]??0};return Xa(a,!1,r)},dc=globalThis,pc=dc.__KNITTING_PAYLOAD_CODECS__??=Object.create(null);pc[Fr]={decode:fc,decodeNumeric:lc};var yn=Symbol.for("knitting.bufferReference.numericTransfer"),Ja=()=>{throw Error('BufferReference cannot run in runtime "browser"')};class lt{constructor(){Ja()}static fromMetadata=Ja}var et=(e)=>!1;var lo=(e)=>e.byteLength===0;var bn=(e)=>!1,mn=()=>{throw Error("ProcessSharedBuffer is unavailable in the browser build")};class Vr{constructor(){mn()}static create=mn;static fromMetadata=mn;toMetadata=mn}var Za=Symbol.for("knitting.numericArray");class gn extends Array{}Object.defineProperty(gn.prototype,Za,{value:!0,enumerable:!1,writable:!1,configurable:!1});var po=(e)=>e[Za]===!0,yo=(e)=>{let r=e.length,t=new gn(r);for(let o=0;o<r;o++)t[o]=e[o];return t};var ho=new ArrayBuffer(8),Sn=new Float64Array(ho),ls=new BigInt64Array(ho),Er=new Uint32Array(ho),ds=new TextEncoder,An=globalThis.Buffer,es=typeof An?.byteLength==="function"?(e,r)=>An.byteLength(e,r):void 0,yc=(e)=>typeof An?.isBuffer==="function"&&An.isBuffer(e),mc=(e)=>e!=null&&typeof e==="object"&&Object.getPrototypeOf(e)===Uint8Array.prototype,bc=!es?(e)=>ds.encode(e).byteLength:(e)=>es(e,"utf8"),gc=-(1n<<63n),hc=(1n<<63n)-1n,{parse:Wr,stringify:pt}=JSON,{for:bo,keyFor:Sc}=Symbol,ps=bo("knitting.payloadCodec"),So="knitting.bufferReference",Ao="knitting.processSharedBuffer",ys=globalThis,ms=Object.getPrototypeOf,Bn=Object.prototype.hasOwnProperty,wn=Array.isArray,bs=Object.prototype,rs="Unsupported object type. Allowed: plain object, array, Error, Date, Envelope, Buffer, ArrayBuffer, DataView, Uint8Array, Int32Array, Float64Array, BigInt64Array, BigUint64Array, and registered external payloads. Serialize it yourself.",ts="Envelope payload must be an ArrayBuffer, SharedArrayBuffer, ProcessSharedBuffer, or BufferReference.",Ac="Envelope header must be a JSON-like value or string.",wc="Envelope header cannot contain Promise values.",Tc="Dynamic payload exceeds maxPayloadBytes.",Bc="Dynamic payload buffer capacity exceeded.",yt="SharedArrayBuffer and BufferReference are process-local pointer payloads and cannot cross a process-worker boundary; use ProcessSharedBuffer instead.",ns="Reserved Knitting external payload codec cannot be forged.",mt=(e)=>e===Fr||e===So,os=(e)=>mt(e)||e===Ao,kc=(e)=>{let r=ms(e);return r===bs||r===null},as=(e)=>{let r=e[ps];return typeof r==="string"?r:void 0},Ec=(e)=>{switch(e){case"node":return 1;case"deno":return 2;case"bun":return 3;default:return 0}},Rc=(e)=>{switch(e){case"shared-array-buffer":return 1;case"external-array-buffer":return 2;default:return 0}},dt=(e)=>typeof e==="number"&&Number.isInteger(e)&&e>=0&&e<=4294967295,ss=(e)=>typeof e.toMetadata==="function"&&typeof e[ps]==="string",is=(e)=>{if(et(e))return lt.prototype.toMetadata.call(e);if(bn(e))return Vr.prototype.toMetadata.call(e);return e.toMetadata()},hn=(e,r,t)=>{let o=Wr(e);if(!wn(o)||o.length!==2)return o;let a=o[0],c=o[1];if(typeof a!=="string")return{codec:a,metadata:c};if(r&&mt(a))throw TypeError(yt);let u=ys.__KNITTING_PAYLOAD_CODECS__?.[a];return typeof u?.decode==="function"?u.decode(c,t):{codec:a,metadata:c}},Tn=8,bt=8,Lc=4294967295,us=262144,cs=32,gs=new WeakMap,kn=(e)=>gs.get(e),wo=(e,r,t)=>{let o=ys.__KNITTING_PAYLOAD_CODECS__?.[e];if(typeof o?.decodeNumeric==="function")return o.decodeNumeric(r,t);return{codec:e,metadata:Array.from(r)}},_c=(e)=>wo(Ao,e),mo=(e)=>wo(So,e),xc=(e,r)=>wo(Fr,e,r),Pc=(e)=>{let r=e.value;switch(typeof r){case"number":if(r!==r)return e[i.Type]=ar.NaN,!0;return Sn[0]=r,e[i.Type]=ar.Float64,e[i.Start]=Er[0],e[i.End]=Er[1],!0;case"boolean":return e[i.Type]=r?ar.True:ar.False,!0;case"undefined":return e[i.Type]=ar.Undefined,!0;case"bigint":if(r<gc||r>hc)return!1;return ls[0]=r,e[i.Type]=ar.BigInt,e[i.Start]=Er[0],e[i.End]=Er[1],!0;case"object":if(r===null)return e[i.Type]=ar.Null,!0;return!1;default:return!1}},go=(e,r)=>{if(e instanceof Promise)return!0;if(e===null||typeof e!=="object")return!1;let t=e,o=r??new Set;if(o.has(t))return!1;if(o.add(t),wn(t)){let c=t;for(let u=0;u<c.length;u++)if(go(c[u],o))return!0;return!1}if(!kc(t))return!1;let a=t;for(let c in a){if(!Bn.call(a,c))continue;if(go(a[c],o))return!0}return!1},hs=(e)=>{if(e===null||e===void 0)return e;switch(typeof e){case"string":case"number":case"boolean":return e;case"bigint":return e.toString();case"symbol":case"function":return String(e)}if(e instanceof Error){let r={name:e.name,message:e.message};if(typeof e.stack==="string")r.stack=e.stack;if(Bn.call(e,"cause"))r.cause=hs(e.cause);return r}try{return Wr(pt(e))}catch{return String(e)}},vc=(e)=>{let r={name:e.name,message:e.message};if(typeof e.stack==="string")r.stack=e.stack;if(Bn.call(e,"cause"))r.cause=hs(e.cause);return r},Cc=(e)=>{if(e===null||typeof e!=="object"||Array.isArray(e))return!1;let r=e;if(typeof r.name!=="string"||typeof r.message!=="string")return!1;for(let t in r)if(t!=="name"&&t!=="message"&&t!=="stack"&&t!=="cause")return!1;return!0},Ss=(e)=>{let r=Error(typeof e.message==="string"?e.message:"");if(typeof e.name==="string"&&e.name.length>0)r.name=e.name;if(typeof e.stack==="string")try{r.stack=e.stack}catch{}if(Bn.call(e,"cause"))r.cause=Cc(e.cause)?Ss(e.cause):e.cause;return r},Ic=(e)=>{let r;try{r=Wr(e)}catch{return Error(e)}if(r==null||typeof r!=="object")return Error(String(r));return Ss(r)},fs=(e)=>{let r=e[0],t=0n;for(let o=e.length-1;o>=1;o--)t=t<<8n|BigInt(e[o]);return r===1?-t:t},Oc=(e,r,t)=>{let o=r??Or,a=ro({slotCount:we.slots,slotStrideU32:o,slotLengthU32:vt,baseU32:we.header});if(e.byteLength<Math.max(a,Qn))return null;return Ka({headersBuffer:e,slotStrideU32:o,textCompat:t})},As=(e,r,t)=>{let o=Oc(e,r,t);if(o===null)throw RangeError("headersBuffer is too small for static payload IO");return o},Mc=({lockSector:e,payload:r,sab:t,payloadConfig:o,headersBuffer:a,headerSlotStrideU32:c,textCompat:u,onPromise:d,processBoundary:m=!1,sharedReturn:R=!1,moveReturn:W=!1})=>{let E=r?.sab??t,P=Ir({sab:E,options:r?.config??o}),A=P.maxPayloadBytes,H=W&&(()=>{try{return ft(),!0}catch{return!1}})(),O=Xn({lockSector:e}),{allocTask:w,setSlotLength:C,tagTaskSlot:V,free:X}=O,{allocRegion:Z,regionStart:ee}=O,{writeBinary:q,writeBuffer:D,writeArrayBuffer:J,write8Binary:G,writeUtf8:oe,readBytesView:Q,ensureCapacity:ue,currentBuffer:le,regionBase:ye}=ao({sab:E,payloadConfig:P,textCompat:u?.payload}),{maxBytes:te,writeBinary:I,writeBuffer:z,writeArrayBuffer:h,writeExactUint8Array:s,writeU32Words:g,write8Binary:l,writeUtf8:S}=As(a,c,u?.headers),p=(n,b,y)=>De({task:n,type:ve.Serializable,onPromise:d,detail:`${Tc} limit=${A}; actual=${b}; type=${y}.`}),N=(n)=>De({task:n,type:ve.Serializable,onPromise:d,detail:Bc}),j=(n,b,y)=>{if(b<=A)return!0;return p(n,b,y)},K=(n,b,y,f)=>{let T=b.length*3;if(T+y<=A)return T;let k=bc(b),U=k+y;if(U>A)return p(n,U,f),-1;return k},de=(n,b,y)=>K(n,b,0,y),v=[],ne=3,me=(P.payloadMaxByteLength>>1)/cs|0,Se=(n)=>{if(n>me)return-1;let b=Z(n);if(b===-1)return-1;let y=ee(b);if(!ue(y+n))return X(b),-1;if(v.push(b,y,y+n),v.length>cs*3)X(v[0]),v.splice(0,3);return b},Ke=(n)=>{for(let b=0;b<v.length;b+=3)if(v[b]===n){v.splice(b,3);break}X(n)},Ie=(n)=>{if(v.length===0)return-1;if(n.buffer!==le())return-1;let b=n.byteOffset-ye(),y=b+n.byteLength;for(let f=v.length-3;f>=0;f-=3)if(b>=v[f+1]&&y<=v[f+2])return b;return-1},sr=(n,b=!1)=>{let y=Se(n);if(y===-1)return;let f=ee(y),T=Q(f,f+n);if(b)T.fill(0);return T};if(R&&E!==void 0)gs.set(E,sr);let Ne=(n,b)=>(n[i.PayloadLen]=b,w(n)),be=-1,Ae=(n,b)=>{n[i.PayloadLen]=b;let y=w(n);return be=y,y},Ge=()=>{if(be!==-1)X(be),be=-1},he=(n,b)=>{if(X(b),be===b)be=-1;return N(n)},He=new Uint8Array(16),ir=(n)=>{let b=0,y=n;if(n<0n)b=1,y=-n;let f=1;while(y>0n){if(f>=He.byteLength){let T=new Uint8Array(He.byteLength<<1);T.set(He,0),He=T}He[f++]=Number(y&0xffn),y>>=8n}return He[0]=b,f},Te=(n)=>{He.fill(0,0,n)},xe=(n,b)=>{let y;try{y=pt(vc(b))}catch(k){let U=k instanceof Error?k.message:String(k);return De({task:n,type:ve.Serializable,onPromise:d,detail:U})}let f=de(n,y,"Error");if(f<0)return!1;n[i.Type]=_.Error;let T=Ae(n,f);if(T===-1)return!1;let x=oe(y,n[i.Start],f);if(x<0)return he(n,T);return n[i.PayloadLen]=x,C(T,x),n.value=null,!0},ie=(n,b,y,f,T)=>{let x=y.byteLength;if(x<=te){let se=I(y,b);if(se!==-1)return n[i.Type]=T,n[i.PayloadLen]=se,n.value=null,!0}if(n[i.Type]=f,!j(n,x,Sa(f)))return!1;let k=Ae(n,x);if(k===-1)return!1;let U=q(y,n[i.Start]);if(U<0)return he(n,k);return n[i.PayloadLen]=U,C(k,U),n.value=null,!0},Fe=(n,b,y)=>{let f=y.byteLength,T=Ie(y);if(T!==-1)return n[i.Type]=_.ArenaBinary,n[i.Start]=T,n[i.PayloadLen]=f,n.value=null,!0;if(f<=te)return s(y,b),n[i.Type]=_.StaticBinary,n[i.PayloadLen]=f,n.value=null,!0;if(H&&f>=us&&cr(n,b,y,_.MovedBinary))return!0;if(n[i.Type]=_.Binary,!j(n,f,"Binary"))return!1;let x=Ae(n,f);if(x===-1)return!1;let k=q(y,n[i.Start]);if(k<0)return he(n,x);return n[i.PayloadLen]=k,C(x,k),n.value=null,!0},ae=(n,b,y)=>{let f=y.byteLength;if(f<=te){let k=z(y,b);if(k!==-1)return n[i.Type]=_.StaticBuffer,n[i.PayloadLen]=k,n.value=null,!0}if(n[i.Type]=_.Buffer,!j(n,f,"Buffer"))return!1;let T=Ae(n,f);if(T===-1)return!1;let x=D(y,n[i.Start]);if(x<0)return he(n,T);return n[i.PayloadLen]=x,C(T,x),n.value=null,!0},pr=(n,b,y)=>{let f=y.byteLength;if(f<=te){let k=l(y,b);if(k!==-1)return n[i.Type]=_.StaticFloat64Array,n[i.PayloadLen]=k,n.value=null,!0}if(n[i.Type]=_.Float64Array,!j(n,f,"Float64Array"))return!1;let T=Ae(n,f);if(T===-1)return!1;let x=G(y,n[i.Start]);if(x<0)return he(n,T);return n[i.PayloadLen]=x,C(T,x),n.value=null,!0},ur=new Float64Array(0),Oe=(n,b,y)=>{let f=y.length;if(ur.length<f)ur=new Float64Array(f);for(let se=0;se<f;se++)ur[se]=y[se];let T=ur.subarray(0,f),x=T.byteLength;if(x<=te){let se=l(T,b);if(se!==-1)return n[i.Type]=_.StaticNumericArray,n[i.PayloadLen]=se,n.value=null,!0}if(n[i.Type]=_.NumericArray,!j(n,x,"NumericArray"))return!1;let k=Ae(n,x);if(k===-1)return!1;let U=G(T,n[i.Start]);if(U<0)return he(n,k);return n[i.PayloadLen]=U,C(k,U),n.value=null,!0},Qe=(n,b,y)=>{let f=y.byteLength;if(f<=te){let k=h(y,b);if(k!==-1)return n[i.Type]=_.StaticArrayBuffer,n[i.PayloadLen]=k,n.value=null,!0}if(H&&f>=us&&cr(n,b,y,_.MovedArrayBuffer))return!0;if(n[i.Type]=_.ArrayBuffer,!j(n,f,"ArrayBuffer"))return!1;let T=Ae(n,f);if(T===-1)return!1;let x=J(y,n[i.Start]);if(x<0)return he(n,T);return n[i.PayloadLen]=x,C(T,x),n.value=null,!0},ge=new Uint32Array(Tn),ce=new Uint32Array(It),Xe=(n,b,y)=>{let f=y.descriptor;if(f===void 0||f.name!==void 0||!dt(f.fd)||!dt(f.size)||!dt(f.byteLength)||!dt(y.byteOffset)||!dt(y.byteLength))return!1;let T=f.baseAddressMod64;if(T!==void 0&&!dt(T))return!1;return ge[0]=f.fd,ge[1]=f.size,ge[2]=f.byteLength,ge[3]=y.byteOffset,ge[4]=y.byteLength,ge[5]=Ec(f.runtime),ge[6]=Rc(f.kind),ge[7]=T===void 0?Lc:T,n[i.Type]=_.ProcessSharedBuffer,n[i.PayloadLen]=g(ge,Tn,b),n.value=null,!0},yr=(n,b,y)=>{let f=et(y)?lt.prototype[yn].call(y):y[yn]?.();if(f===void 0)return!1;return n[i.Type]=_.BufferReference,n[i.PayloadLen]=g(f,bt,b),_r(n,y),n.value=null,!0},cr=(n,b,y,f)=>{if(y.byteLength>4294967295)return!1;let T=ArrayBuffer.isView(y)?y.buffer:y;if(typeof SharedArrayBuffer==="function"&&T instanceof SharedArrayBuffer)return!1;let x=T;if(ArrayBuffer.isView(y)&&(y.byteOffset!==0||y.byteLength!==x.byteLength))return!1;let k;try{k=new lt(y)}catch(se){if(lo(x))throw se;return!1}if(!lo(x))return k.release(),!1;let U=lt.prototype[yn].call(k);if(U===void 0)throw k.release(),Error("Moved BufferReference has no numeric transport form");return n[i.Type]=f,n[i.PayloadLen]=g(U,bt,b),_r(n,k),n.value=null,!0},mr=(n,b,y)=>{let f=y[co]?.(e);if(f===void 0)return!1;return ce[0]=f[0]??0,ce[1]=f[1]??0,ce[2]=f[2]??0,ce[3]=f[3]??0,ce[4]=f[4]??0,ce[5]=f[5]??0,ce[6]=f[6]??0,ce[7]=f[7]??0,n[i.Type]=_.SharedArrayBuffer,n[i.PayloadLen]=g(ce,f.length,b),n.value=null,!0},Je=(n,b,y,f=!1)=>{let T=as(y);if(T===void 0)return De({task:n,type:ve.Serializable,onPromise:d,detail:rs});if(f){if(m&&mt(T))return De({task:n,type:ve.Serializable,onPromise:d,detail:yt});if(T===Fr&&mr(n,b,y))return!0;if(T===So&&yr(n,b,y))return!0;if(T===Ao&&Xe(n,b,y))return!0}else if(os(T))return De({task:n,type:ve.Serializable,onPromise:d,detail:m&&mt(T)?yt:ns});let x;try{x=pt([T,f?is(y):y.toMetadata()])}catch(Re){let We=Re instanceof Error?Re.message:String(Re);return De({task:n,type:ve.Serializable,onPromise:d,detail:We})}if(typeof x!=="string")return De({task:n,type:ve.Serializable,onPromise:d,detail:"External payload metadata must be JSON serializable."});if(x.length<=te){let Re=S(x,b);if(Re!==-1)return n[i.Type]=_.StaticExternalPayload,n[i.PayloadLen]=Re,_r(n,y),n.value=null,!0}n[i.Type]=_.ExternalPayload;let k=de(n,x,"ExternalPayload");if(k<0)return!1;let U=Ae(n,k);if(U===-1)return!1;let se=oe(x,n[i.Start],k);if(se<0)return he(n,U);return n[i.PayloadLen]=se,C(U,se),_r(n,y),n.value=null,!0},fr=(n,b,y)=>{let f;try{f=pt(y)}catch(U){let se=U instanceof Error?U.message:String(U);return De({task:n,type:ve.Json,onPromise:d,detail:se})}if(f.length<=te){let U=S(f,b);if(U!==-1)return n[i.Type]=_.StaticJson,n[i.PayloadLen]=U,_r(n,y),n.value=null,!0}n[i.Type]=_.Json;let T=de(n,f,"Json");if(T<0)return!1;let x=Ae(n,T);if(x===-1)return!1;let k=oe(f,n[i.Start],T);if(k<0)return he(n,x);return n[i.PayloadLen]=k,C(x,k),_r(n,y),n.value=null,!0},je=(n,b)=>(Sn[0]=b.getTime(),n[i.Type]=_.Date,n[i.Start]=Er[0],n[i.End]=Er[1],n.value=null,!0),br=(n,b,y)=>{if(go(b)){De({task:n,type:ve.Serializable,onPromise:d,detail:wc});return}if(y)return b;let f;try{f=pt(b)}catch(T){let x=T instanceof Error?T.message:String(T);De({task:n,type:ve.Json,onPromise:d,detail:x});return}if(typeof f!=="string"){De({task:n,type:ve.Serializable,onPromise:d,detail:Ac});return}return f},Rr=(n)=>{if(n===null||typeof n!=="object")return;let b=fo(n);if(b!==void 0)return{payload:b,trustedReservedCodec:!0};if(et(n)||bn(n))return{payload:n,trustedReservedCodec:!0};if(ss(n))return{payload:n,trustedReservedCodec:!1};return},Pr=(n,b,y,f,T)=>{let x=new Uint8Array(T),k=x.byteLength,U=k>0?k:1,se=S(y,b);if(se!==-1){if(!j(n,U,"EnvelopeStaticHeaderPayload"))return!1;let Ye=Ae(n,U);if(Ye===-1)return!1;if(n[i.Type]=f?_.EnvelopeStaticHeaderString:_.EnvelopeStaticHeader,n[i.PayloadLen]=se,n[i.End]=k,k>0){let wr=q(x,n[i.Start]);if(wr<0)return he(n,Ye);C(Ye,wr)}else C(Ye,0);return n.value=null,V(n,Ye),!0}let Re=K(n,y,k,f?"EnvelopeDynamicHeaderString":"EnvelopeDynamicHeader");if(Re<0)return!1;n[i.Type]=f?_.EnvelopeDynamicHeaderString:_.EnvelopeDynamicHeader;let We=Ae(n,Re+k);if(We===-1)return!1;let gr=n[i.Start],lr=oe(y,gr,Re);if(lr<0)return he(n,We);if(k>0){if(q(x,gr+lr)<0)return he(n,We)}return n[i.PayloadLen]=lr,n[i.End]=k,C(We,lr+k),n.value=null,V(n,We),!0},Ar=(n,b,y,f,T,x)=>{let k=as(T);if(k===void 0)return De({task:n,type:ve.Serializable,onPromise:d,detail:ts});if(x){if(m&&mt(k))return De({task:n,type:ve.Serializable,onPromise:d,detail:yt})}else if(os(k))return De({task:n,type:ve.Serializable,onPromise:d,detail:m&&mt(k)?yt:ns});let U;try{U=pt([k,x?is(T):T.toMetadata()])}catch(ze){let Xr=ze instanceof Error?ze.message:String(ze);return De({task:n,type:ve.Serializable,onPromise:d,detail:Xr})}if(typeof U!=="string")return De({task:n,type:ve.Serializable,onPromise:d,detail:"Envelope body metadata must be JSON serializable."});let se=ds.encode(U),Re=se.byteLength,We=S(y,b);if(We!==-1){if(!j(n,Re,"EnvelopeStaticHeaderExternal"))return!1;let ze=Ae(n,Re);if(ze===-1)return!1;n[i.Type]=f?_.EnvelopeStaticHeaderStringExternal:_.EnvelopeStaticHeaderExternal,n[i.PayloadLen]=We,n[i.End]=Re;let Xr=q(se,n[i.Start]);if(Xr<0)return he(n,ze);return C(ze,Xr),_r(n,T),n.value=null,V(n,ze),!0}let gr=K(n,y,Re,f?"EnvelopeDynamicHeaderStringExternal":"EnvelopeDynamicHeaderExternal");if(gr<0)return!1;n[i.Type]=f?_.EnvelopeDynamicHeaderStringExternal:_.EnvelopeDynamicHeaderExternal;let lr=Ae(n,gr+Re);if(lr===-1)return!1;let Ye=n[i.Start],wr=oe(y,Ye,gr);if(wr<0)return he(n,lr);if(q(se,Ye+wr)<0)return he(n,lr);return n[i.PayloadLen]=wr,n[i.End]=Re,C(lr,wr+Re),_r(n,T),n.value=null,V(n,lr),!0},L=(n,b,y)=>{let{header:f,payload:T}=y,x=typeof f==="string";if(T instanceof ArrayBuffer){let U=br(n,f,x);if(U===void 0)return!1;return Pr(n,b,U,x,T)}let k=Rr(T);if(k!==void 0){let U=br(n,f,x);if(U===void 0)return!1;return Ar(n,b,U,x,k.payload,k.trustedReservedCodec)}return De({task:n,type:ve.Serializable,onPromise:d,detail:ts})},F=(n,b)=>{if(on(n))b.then((y)=>{Pt(n),n.value=y,d(n,!1,y)},(y)=>{Pt(n),n.value=y,d(n,!0,y)});return!1};return(n,b)=>{let y=n.value;if(Pc(n))return!0;switch(typeof y){case"bigint":{let f=ir(y),T=He.subarray(0,f);if(f<=te){let U=I(T,b);if(U!==-1)return n[i.Type]=_.StaticBigInt,n[i.PayloadLen]=U,Te(f),n.value=null,!0}if(n[i.Type]=_.BigInt,!j(n,f,"BigInt"))return Te(f),!1;let x=Ne(n,f);if(x===-1)return Te(f),!1;let k=q(T,n[i.Start]);if(k<0)return Te(f),he(n,x);return n[i.PayloadLen]=k,C(x,k),Te(f),n.value=null,!0}case"function":return De({task:n,type:ve.Function,onPromise:d});case"object":be=-1;try{let f=y,T=ms(f);if(T===bs)return fr(n,b,f);let x=fo(f);if(x!==void 0)return Je(n,b,x,!0);if(mc(f))return Fe(n,b,f);if(wn(f)&&po(f))return Oe(n,b,f);if(wn(f)||T===null)return fr(n,b,f);if(et(f)||bn(f))return Je(n,b,f,!0);let k=f.constructor;if(yc(f))return ae(n,b,f);switch(k){case ArrayBuffer:return Qe(n,b,f);case Int32Array:{let U=f;return ie(n,b,new Uint8Array(U.buffer,U.byteOffset,U.byteLength),_.Int32Array,_.StaticInt32Array)}case Float64Array:return pr(n,b,f);case BigInt64Array:{let U=f;return ie(n,b,new Uint8Array(U.buffer,U.byteOffset,U.byteLength),_.BigInt64Array,_.StaticBigInt64Array)}case BigUint64Array:{let U=f;return ie(n,b,new Uint8Array(U.buffer,U.byteOffset,U.byteLength),_.BigUint64Array,_.StaticBigUint64Array)}case DataView:{let U=f;return ie(n,b,new Uint8Array(U.buffer,U.byteOffset,U.byteLength),_.DataView,_.StaticDataView)}case Date:return je(n,f);case Nr:return L(n,b,f);case Promise:return F(n,f);case Error:return xe(n,f)}if(f instanceof Date)return je(n,f);if(f instanceof Nr)return L(n,b,f);if(f instanceof Promise)return F(n,f);if(f instanceof Error)return xe(n,f);if(ss(f))return Je(n,b,f);return De({task:n,type:ve.Serializable,onPromise:d,detail:rs})}catch(f){Ge();let T=f instanceof Error?f.message:String(f);return De({task:n,type:ve.Serializable,onPromise:d,detail:T})}case"string":{let f=y;if(f.length<=te){let U=S(f,b);if(U!==-1)return n[i.Type]=_.StaticString,n[i.PayloadLen]=U,n.value=null,!0}n[i.Type]=_.String;let T=de(n,f,"String");if(T<0)return!1;let x=Ne(n,T);if(x===-1)return!1;let k=oe(f,n[i.Start],T);if(k<0)return he(n,x);return n[i.PayloadLen]=k,C(x,k),n.value=null,!0}case"symbol":{let f=Sc(y);if(f===void 0)return De({task:n,type:ve.Symbol,onPromise:d});if(f.length*3<=te){let U=S(f,b);if(U!==-1)return n[i.Type]=_.StaticSymbol,n[i.PayloadLen]=U,n.value=null,!0}n[i.Type]=_.Symbol;let T=de(n,f,"Symbol");if(T<0)return!1;let x=Ne(n,T);if(x===-1)return!1;let k=oe(f,n[i.Start],T);if(k<0)return he(n,x);return n[i.PayloadLen]=k,C(x,k),n.value=null,!0}}return!1}},Dc=({lockSector:e,payload:r,sab:t,payloadConfig:o,headersBuffer:a,headerSlotStrideU32:c,textCompat:u,host:d,processBoundary:m=!1})=>{let R=r?.sab??t,W=Ir({sab:R,options:r?.config??o}),{free:E}=Xn({lockSector:e}),P=(s)=>E(s[i.slotBuffer]&it|s[i.End]>>>31<<5),{readUtf8:A,readBytesCopy:H,readBytesBufferCopy:O,readBufferCopy:w,readBytesArrayBufferCopy:C,readArrayBufferCopy:V,read8BytesFloatCopy:X,read8BytesFloatView:Z,readBytesView:ee,syncGrowth:q}=ao({sab:R,payloadConfig:W,textCompat:u?.payload}),{readUtf8:D,readBytesBufferCopy:J,readBufferCopy:G,readUint8ArrayCopy:oe,readBytesArrayBufferCopy:Q,readArrayBufferCopy:ue,read8BytesFloatCopy:le,readU32Words:ye}=As(a,c,u?.headers),te=new Uint32Array(Tn),I=new Uint32Array(It),z=[];for(let s=0;s<=It;s++)z.push(I.subarray(0,s));let h=new Uint32Array(bt);return(s,g,l)=>{let S=s[i.Type];if(m&&(S===_.SharedArrayBuffer||S===_.BufferReference))throw TypeError(yt);switch(S){case ar.BigInt:Er[0]=s[i.Start],Er[1]=s[i.End],s.value=ls[0];return;case ar.True:s.value=!0;return;case ar.False:s.value=!1;return;case ar.Float64:Er[0]=s[i.Start],Er[1]=s[i.End],s.value=Sn[0];return;case ar.NaN:s.value=NaN;return;case ar.Null:s.value=null;return;case ar.Undefined:s.value=void 0;return;case _.String:s.value=A(s[i.Start],s[i.Start]+s[i.PayloadLen]),P(s);return;case _.StaticString:s.value=D(0,s[i.PayloadLen],g);return;case _.Json:s.value=Wr(A(s[i.Start],s[i.Start]+s[i.PayloadLen])),P(s);return;case _.StaticJson:s.value=Wr(D(0,s[i.PayloadLen],g));return;case _.EnvelopeStaticHeader:case _.EnvelopeStaticHeaderString:{let p=D(0,s[i.PayloadLen],g),N=s[i.Type]===_.EnvelopeStaticHeaderString?p:Wr(p),j=s[i.End]&2147483647,K=j>0?C(s[i.Start],s[i.Start]+j):new ArrayBuffer(0);s.value=new Nr(N,K),P(s);return}case _.EnvelopeDynamicHeader:case _.EnvelopeDynamicHeaderString:{let p=s[i.Start],N=p+s[i.PayloadLen],j=s[i.End]&2147483647,K=A(p,N),de=s[i.Type]===_.EnvelopeDynamicHeaderString?K:Wr(K),v=j>0?C(N,N+j):new ArrayBuffer(0);s.value=new Nr(de,v),P(s);return}case _.EnvelopeStaticHeaderExternal:case _.EnvelopeStaticHeaderStringExternal:{let p=D(0,s[i.PayloadLen],g),N=s[i.Type]===_.EnvelopeStaticHeaderStringExternal?p:Wr(p),j=s[i.Start],K=hn(A(j,j+(s[i.End]&2147483647)),m);s.value=new Nr(N,K),P(s);return}case _.EnvelopeDynamicHeaderExternal:case _.EnvelopeDynamicHeaderStringExternal:{let p=s[i.Start],N=p+s[i.PayloadLen],j=A(p,N),K=s[i.Type]===_.EnvelopeDynamicHeaderStringExternal?j:Wr(j),de=hn(A(N,N+(s[i.End]&2147483647)),m);s.value=new Nr(K,de),P(s);return}case _.BigInt:s.value=fs(O(s[i.Start],s[i.Start]+s[i.PayloadLen])),P(s);return;case _.StaticBigInt:s.value=fs(J(0,s[i.PayloadLen],g));return;case _.Symbol:s.value=bo(A(s[i.Start],s[i.Start]+s[i.PayloadLen])),P(s);return;case _.StaticSymbol:s.value=bo(D(0,s[i.PayloadLen],g));return;case _.Int32Array:{let p=O(s[i.Start],s[i.Start]+s[i.PayloadLen]);s.value=new Int32Array(p.buffer,p.byteOffset,p.byteLength>>>2),P(s);return}case _.StaticInt32Array:{let p=J(0,s[i.PayloadLen],g);s.value=new Int32Array(p.buffer,p.byteOffset,p.byteLength>>>2);return}case _.Float64Array:{s.value=X(s[i.Start],s[i.Start]+s[i.PayloadLen]),P(s);return}case _.StaticFloat64Array:s.value=le(0,s[i.PayloadLen],g);return;case _.NumericArray:{s.value=yo(Z(s[i.Start],s[i.Start]+s[i.PayloadLen])),P(s);return}case _.StaticNumericArray:s.value=yo(le(0,s[i.PayloadLen],g));return;case _.BigInt64Array:{let p=O(s[i.Start],s[i.Start]+s[i.PayloadLen]);s.value=new BigInt64Array(p.buffer,p.byteOffset,p.byteLength>>>3),P(s);return}case _.StaticBigInt64Array:{let p=J(0,s[i.PayloadLen],g);s.value=new BigInt64Array(p.buffer,p.byteOffset,p.byteLength>>>3);return}case _.BigUint64Array:{let p=O(s[i.Start],s[i.Start]+s[i.PayloadLen]);s.value=new BigUint64Array(p.buffer,p.byteOffset,p.byteLength>>>3),P(s);return}case _.StaticBigUint64Array:{let p=J(0,s[i.PayloadLen],g);s.value=new BigUint64Array(p.buffer,p.byteOffset,p.byteLength>>>3);return}case _.DataView:{let p=O(s[i.Start],s[i.Start]+s[i.PayloadLen]);s.value=new DataView(p.buffer,p.byteOffset,p.byteLength),P(s);return}case _.StaticDataView:{let p=J(0,s[i.PayloadLen],g);s.value=new DataView(p.buffer,p.byteOffset,p.byteLength);return}case _.ExternalPayload:s.value=hn(A(s[i.Start],s[i.Start]+s[i.PayloadLen]),m,e),P(s);return;case _.StaticExternalPayload:s.value=hn(D(0,s[i.PayloadLen],g),m,e);return;case _.ProcessSharedBuffer:s.value=_c(ye(te,Tn,g));return;case _.SharedArrayBuffer:{let p=s[i.PayloadLen]>>>2;s.value=xc(ye(z[p]??I,p,g),e);return}case _.BufferReference:s.value=mo(ye(h,bt,g));return;case _.MovedBinary:{let p=mo(ye(h,bt,g));if(!et(p))throw TypeError("Invalid moved Uint8Array payload");s.value=p.toUint8Array();return}case _.MovedArrayBuffer:{let p=mo(ye(h,bt,g));if(!et(p))throw TypeError("Invalid moved ArrayBuffer payload");s.value=p.toArrayBuffer();return}case _.Date:Er[0]=s[i.Start],Er[1]=s[i.End],s.value=new Date(Sn[0]);return;case _.Error:s.value=Ic(A(s[i.Start],s[i.Start]+s[i.PayloadLen])),P(s);return;case _.ArenaBinary:q(),s.value=ee(s[i.Start],s[i.Start]+s[i.PayloadLen]);return;case _.Binary:{let p=O(s[i.Start],s[i.Start]+s[i.PayloadLen]);s.value=new Uint8Array(p.buffer,p.byteOffset,p.byteLength)}P(s);return;case _.StaticBinary:s.value=oe(0,s[i.PayloadLen],g);return;case _.ArrayBuffer:s.value=V(s[i.Start],s[i.Start]+s[i.PayloadLen]),P(s);return;case _.StaticArrayBuffer:s.value=ue(0,s[i.PayloadLen],g);return;case _.Buffer:s.value=w(s[i.Start],s[i.Start]+s[i.PayloadLen]),P(s);return;case _.StaticBuffer:s.value=G(0,s[i.PayloadLen],g);return}}};ga(Mc,Dc);var Nc,ws=(e)=>{Nc=kn(e)};var gt=4096,Rn=64,En={op:0,rxStatus:Rn,txStatus:Rn*2,stop:Rn*3},Ot=Rn*4,qr={running:0,requested:1,acknowledged:2},To=Atomics.store,Ln=({sabObject:e,isMain:r,startTime:t})=>{let o=e?.size??gt,a=o+(gt-o%gt)%gt,c=or(e?.sharedSab?e.sharedSab:nr(a,gt*gt)),u=c.sab,d=c.byteOffset,m=t??performance.now(),R=new Int32Array(u,d+En.op,1);if(r)To(R,0,0);let W=new Int32Array(u,d+En.rxStatus,1);To(W,0,1);let E=new Int32Array(u,d+En.stop,1);if(r)To(E,0,qr.running);return{sab:c,op:R,startAt:m,opView:R,rxStatus:W,txStatus:new Int32Array(u,d+En.txStatus,1),stopView:E}};var ht=Symbol.for("task");var Fc=/^[A-Za-z]:[\\/]/,Wc=/^\\\\[^\\/?]+\\[^\\/?]+/,Bo=(e)=>encodeURI(e).replace(/\?/g,"%3F").replace(/#/g,"%23"),Uc=()=>Gt("node:url")?.pathToFileURL,Hc=(e)=>{let r=e.startsWith("/")?e:`/${e}`;return`file://${Bo(r)}`},Ur=(e)=>{if(Fc.test(e)){let r=e.replace(/\\/g,"/");return`file:///${Bo(r)}`}if(Wc.test(e)){let r=e.replace(/^\\\\+/,"").replace(/\\/g,"/");return`file://${Bo(r)}`}try{return new URL(e).href}catch{let r=Uc();return r?r(e).href:Hc(e)}},Ts=(e)=>{if(!$r||!e.startsWith("file://"))return e;let r=e.slice(7),t=r.startsWith("/")?r:`/${r}`;try{return decodeURIComponent(t)}catch{return t}};var Mt={Reject:0,Resolve:1},jc=(e)=>{if(e==null)return;if(typeof e==="number"){let t=Math.floor(e);return t>=0?{ms:t,kind:Mt.Reject,value:Error("Task timeout")}:void 0}let r=Math.floor(e.time);if(!(r>=0))return;if("default"in e)return{ms:r,kind:Mt.Resolve,value:e.default};if(e.maybe===!0)return{ms:r,kind:Mt.Resolve,value:void 0};if("error"in e)return{ms:r,kind:Mt.Reject,value:e.error};return{ms:r,kind:Mt.Reject,value:Error("Task timeout")}},Kc=(e,r)=>e.f,Bs=async({list:e,ids:r,names:t,at:o,permission:a})=>{let c=e.map((A)=>Ur(A)),u=new Set(t),m=(await Promise.all(c.map(async(A)=>{let H=await import(Ts(A)),O=Object.entries(H).filter(([C,V])=>V!=null&&typeof V==="object"&&V?.[ht]===!0).map(([C,V])=>({...V,name:C})),w=Object.entries(H).filter(([C,V])=>u.has(C)&&typeof V==="function").map(([C,V])=>({f:V,id:-1,importedFrom:A,at:-1,name:C,[ht]:!0}));return[...O,...w]}))).flat(),R=c.length===1&&o.length>0,W=R?new Set(o):null,E=R?c[0]:null;return m.filter((A)=>R?A.importedFrom===E&&W.has(A.at):r.includes(A.id)).sort((A,H)=>A.name.localeCompare(H.name)).map((A)=>({...A,run:Kc(A,a),timeout:jc(A.timeout)}))};var $c={thisIsAHint:0};var Gc=(()=>{let e=globalThis,r=e.gc,t=-1/0,o=typeof r==="function"?()=>{let a=performance.now();if(a-t<1000)return;t=a,r()}:void 0;if(o){try{delete e.gc}catch{e.gc=void 0}if(e.global)try{delete e.global.gc}catch{e.global.gc=void 0}}return o??(()=>{})})();var{load:ks,store:ko}=Atomics,Dt=typeof Atomics.wait==="function"?Atomics.wait:void 0,Es=performance.now.bind(performance),Rs=Dt===void 0||typeof SharedArrayBuffer!=="function"?void 0:new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT)),Ls="pause"in Atomics?Atomics.pause:void 0,St=globalThis,zc=St.process?.platform==="win32"&&typeof St.process?.versions?.node==="string"&&St.process?.versions?.bun===void 0&&St.Deno===void 0,Eo=St.process?.platform==="win32"&&typeof St.process?.versions?.bun==="string";var _s=(e)=>Eo&&e<2?2:e,Yc=(e)=>zc?1:Number.isFinite(e)?e:1/0,Vc=(e)=>_s(Number.isFinite(e)?Math.min(Math.max(e,0),1):1),_n=({pauseInNanoseconds:e})=>{let r=e??250;if(!Ls||r<=0)return()=>{};return()=>Ls(r)},Ro=_n({}),xs=({at:e,opView:r,pauseInNanoseconds:t,rxStatus:o,txStatus:a,enqueueLock:c,write:u,nativeWaitU32:d,useSharedMemoryWait:m=!0,flushBeforeClaim:R=!1})=>{let W=t===void 0?Ro:_n({pauseInNanoseconds:t}),E=()=>{if(!u)return!1;let A=u();if(typeof A==="number")return A>0;return A===!0},P=R?()=>{let A=E();return c()||A}:()=>{let A=c();return E()||A};return(A,H,O)=>{let w=Es()+H/1000,C=0;while(!0){if(ks(r,e)!==A||a[$c.thisIsAHint]===1)return;if(P())return;if(W(),(C++&63)===0&&Es()>=w)break}if(Gc(),P())return;if(ko(o,0,0),ks(r,e)!==A||P()){ko(o,0,1);return}if(d!==void 0)d(r.buffer,r.byteOffset+e*Int32Array.BYTES_PER_ELEMENT,A>>>0,Yc(O));else if(m&&Dt&&r.buffer instanceof SharedArrayBuffer)Dt(r,e,A,_s(O??1/0));else if(Dt&&Rs)Dt(Rs,0,0,Vc(O));ko(o,0,1)}};var Nt=(e)=>e instanceof Error?e.message:String(e),xn=(e,r,t)=>{let o=t===void 0?"":`: ${Nt(t)}`;throw Error(`KNT_ERROR_PROCESS_GUARD_INSTALL: ${e} ${r}${o}`)},Lo=()=>{let e=tr();if(!e)return;if(e.__knittingTerminationGuard===!0)return;let r=(a)=>{throw Error(`KNT_ERROR_PROCESS_GUARD: ${a} is disabled in worker tasks`)},t=(a)=>{try{Object.defineProperty(e,a,{configurable:!1,writable:!1,value:(...c)=>r(`process.${a}`)})}catch(c){try{e[a]=(...u)=>r(`process.${a}`)}catch(u){xn(`process.${a}`,"install failed",[Nt(c),Nt(u)].join("; "))}}if(typeof e[a]!=="function")xn(`process.${a}`,"install verification failed")};t("exit"),t("kill"),t("abort"),t("reallyExit");let o=globalThis;if(o.Deno&&typeof o.Deno.exit==="function"){try{Object.defineProperty(o.Deno,"exit",{configurable:!1,writable:!1,value:(a)=>r("Deno.exit")})}catch(a){try{o.Deno.exit=(c)=>r("Deno.exit")}catch(c){xn("Deno.exit","install failed",[Nt(a),Nt(c)].join("; "))}}if(typeof o.Deno.exit!=="function")xn("Deno.exit","install verification failed")}e.__knittingTerminationGuard=!0},Ps,_o=(e)=>{Ps=e},xo=()=>{let e=tr();if(!e||typeof e.on!=="function")return;if(e.__knittingUnhandledRejectionSilencer===!0)return;e.__knittingUnhandledRejectionSilencer=!0,e.on("unhandledRejection",(r)=>{Ps?.(r)})};var Po=()=>{let e=globalThis;if(e.__knittingPerformanceNowGuardInstalled===!0)return;e.__knittingPerformanceNowGuardInstalled=!0;let r=globalThis.performance;if(!r||typeof r.now!=="function")return;try{r.now()}catch{}};var vo=(e)=>{let r=e;try{r.sab=void 0,r.lock=void 0,r.returnLock=void 0,r.permission=void 0}catch{}try{delete r.sab}catch{}try{delete r.lock}catch{}try{delete r.returnLock}catch{}try{delete r.permission}catch{}try{Object.freeze(r)}catch{}};var vs=(e)=>Tr(e?.headers)&&Tr(e?.lockSector)&&Tr(e?.payload)&&Tr(e?.payloadSector)&&(e?.textCompat===void 0||Jt(e.textCompat)),Co=({sab:e,lock:r,returnLock:t})=>{if(!Tr(e))throw Error("worker missing transport SAB");if(!vs(r))throw Error("worker missing lock SABs");if(!vs(t))throw Error("worker missing return lock SABs")},Io=({list:e,ids:r,names:t,listOfFunctions:o})=>{if(o.length>0&&(t===void 0||o.length===t.length))return;let a=new Set(o.map((m)=>m?.name)),c=(t??[]).filter((m)=>!a.has(m)),u=c.length>0?` Missing task export(s): ${c.join(", ")}.`:"",d=e.length>0?` Looked in: ${e.join(", ")}.`:"";throw Error(`No imports were found.${u}${d} Workers re-import each listed module and look tasks up by export name: a bare function must be exported from the module that calls createPool, and a bundle that inlines task modules drops their exports.`)};var Mo=32,Oo=Mo-1,Cs=Symbol.for("knitting.abortSignal.poolExhausted");var Ft=({sab:e,maxSignals:r})=>{let t=or(e),o=new Uint32Array(t.sab,t.byteOffset,t.byteLength/Uint32Array.BYTES_PER_ELEMENT),a=o.length,c=new Uint32Array(a),u=a*Mo,d=(()=>{if(!Number.isFinite(r))return u;let w=Math.floor(r);if(w<=0)return u;return Math.min(w,u)})(),m=d+1,R=0,W=0;return{max:d,closeNow:m,getSignal:()=>{if(R>=d)return m;for(let w=0;w<a;w++){let C=(W+w)%a,V=C<<5,X=d-V;if(X<=0)continue;let Z=X>=Mo?4294967295:(1<<X)-1>>>0,ee=(~c[C]&Z)>>>0;if(ee===0)continue;let q=(ee&-ee)>>>0;c[C]=(c[C]|q)>>>0,R=R+1|0,W=(C+1)%a,Atomics.and(o,C,~q);let D=31-Math.clz32(q);return(C<<5)+D}return m},setSignal:(w)=>{if(w===m)return 0;if(!Number.isInteger(w))return-1;if(w<0||w>=d)return-1;let C=w>>>5,V=1<<(w&Oo);return Atomics.or(o,C,V),1},abortAll:()=>{for(let w=0;w<a;w++)Atomics.store(o,w,c[w]);return R},hasAborted:(w)=>{if(w===m)return!0;if(!Number.isInteger(w))return!1;if(w<0||w>=d)return!1;let C=w>>>5,V=1<<(w&Oo);return(Atomics.load(o,C)&V)!==0},resetSignal:(w)=>{if(w===m)return!1;if(!Number.isInteger(w))return!1;if(w<0||w>=d)return!1;let C=w>>>5,V=1<<(w&Oo);if((c[C]&V)===0)return!1;if(c[C]=(c[C]&~V)>>>0,R>0)R=R-1|0;return W=C,Atomics.and(o,C,~V),!0},inUseCount:()=>R}};class Do{#e=!1;constructor(e,r,t){let o=(a)=>(...c)=>{if(this.#e)return;this.#e=!0,r(),a(...c)};e.resolve=o(e.resolve),e.reject=o(e.reject),e.promise.reject=(a)=>{if(this.#e)return;if(a===void 0&&t!==void 0){t();return}e.reject(a)}}}var qc="default",Qc=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return typeof r.href==="string"&&r.href.length>0&&(r.name===void 0||typeof r.name==="string"&&r.name.length>0)},Xc=(e)=>{try{return Vr.fromMetadata(e),!0}catch{return!1}},No=(e,r=new WeakMap)=>{if(Xc(e))return Vr.fromMetadata(e);if(e===null||typeof e!=="object")return e;let t=r.get(e);if(t!==void 0)return t;if(Array.isArray(e)){let c=[];r.set(e,c);for(let u of e)c.push(No(u,r));return c}let o=Object.getPrototypeOf(e);if(o!==Object.prototype&&o!==null)return e;let a={};r.set(e,a);for(let[c,u]of Object.entries(e))a[c]=No(u,r);return a},Is=async({bootstrap:e,thread:r,totalNumberOfThread:t})=>{if(e===void 0)return;if(!Qc(e))throw TypeError("worker.bootstrap must include a non-empty href");let o=await import(Ur(e.href)),a=e.name??qc,c=o[a];if(typeof c!=="function"){let d=Object.keys(o).join(", ");throw TypeError(`worker.bootstrap expected export "${a}" from "${e.href}" to be a function. Available exports: ${d||"(none)"}`)}let u=Object.freeze({thread:r,totalNumberOfThread:t,runtime:Le});await c(No(e.data),u)};var Os=()=>{return},Ms=()=>{};var Jc=(e)=>{let r=globalThis.Deno?.env;if(typeof r?.get==="function")try{return r.get(e)}catch{}try{return tr()?.env?.[e]}catch{return}},Zc=Jc("KNITTING_DEBUG"),Ds=new Set((Zc??"").split(",").map((e)=>e.trim()).filter((e)=>e.length>0)),Ns=Ds.size>0,Pn=(e)=>{let r=new Set(Ds);if(e===!0)r.add("*");else if(e!==void 0&&e!==!1){for(let[t,o]of Object.entries(e))if(o===!0)r.add(t)}return r};var tf="__knittingWorkerFatal",nf=1,vn=(e)=>{let r=String(e?.message??e),t={[tf]:r},o=!1;try{Xt?.postMessage?.(t),o=Xt!==void 0}catch{}if(!o)try{globalThis.postMessage(t),o=!0}catch{}if(!o){try{console.error(`Worker startup failed: ${r}`)}catch{}if(Dr)try{tr()?.exit?.(1)}catch{}}},Cn=async(e)=>{Lo(),xo(),Po();let{debug:r,debugEpoch:t,sab:o,thread:a,startAt:c,workerOptions:u,lock:d,returnLock:m,abortSignalSAB:R,abortSignalMax:W,payloadConfig:E,sharedReturn:P,permission:A,notifyOnHostPublish:H,processCompletionDoorbell:O,denoCompletionDoorbell:w,nodeCompletionDoorbell:C,totalNumberOfThread:V,list:X,ids:Z,names:ee,at:q,steal:D}=e;vo(e),Co({sab:o,lock:d,returnLock:m});let J=Pn(r),G=J.size>0?await Promise.resolve().then(() => (Hs(),Us)).then((n)=>n.initDebug({name:`w${a}`,runtime:Le,namespaces:J,epoch:t})):void 0;if(G?.enabled("lifecycle")===!0)_o((n)=>G.log("lifecycle",`unhandled rejection silenced: ${n instanceof Error?n.stack??n.message:String(n)}`));let oe={thisIsAHint:0},Q=Ln({sabObject:{sharedSab:o},isMain:!1,thread:a,startTime:c}),ue=zr({headers:d.headers,headerSlotStrideU32:d.headerSlotStrideU32,LockBoundSector:d.lockSector,payload:d.payload,payloadSector:d.payloadSector,payloadConfig:E,textCompat:d.textCompat,processBoundary:Dr,consumers:D?.consumers,consumerId:D?.consumerId,regionLanes:D?.regionLanes,stealClaim:D?.claim,traceClaim:D!==void 0&&G?.enabled("steal")===!0?(n)=>G.log("steal",n):void 0}),le=ca(w),ye=la(C),te=O===!0?Xt:void 0,I=!1,h=te===void 0?void 0:Eo?()=>{te.postMessage(Qt),I=!0}:()=>te.postMessage(Qt),s=zr({headers:m.headers,headerSlotStrideU32:m.headerSlotStrideU32,LockBoundSector:m.lockSector,payload:m.payload,payloadSector:m.payloadSector,payloadConfig:E,textCompat:m.textCompat,processBoundary:Dr,sharedReturn:P===!0,moveReturn:!Dr,notifyOnHostPublish:H||le!==void 0||ye!==void 0||h!==void 0,notifyHostPublish:le!==void 0?()=>le(a):ye!==void 0?ye:h}),g=u?.timers,l=g?.spinMicroseconds??(V<=1?50:0),S=G!==void 0?Number.POSITIVE_INFINITY:g?.parkMs??1,p=(()=>{let n=typeof g?.pauseNanoseconds==="number"?_n({pauseInNanoseconds:g.pauseNanoseconds}):Ro;return()=>n()})(),{opView:N,rxStatus:j,txStatus:K,stopView:de}=Q,v=Atomics.store,ne=Atomics.load,me=Os();await Is({bootstrap:u?.bootstrap,thread:a,totalNumberOfThread:V}),G?.envPhase("bootstrap");let Se=await Bs({list:X,isWorker:!0,ids:Z,names:ee,at:q,permission:A});G?.envPhase("tasks"),G?.log("imports",`${Se.length} task(s) from ${X.map((n)=>n.split(/[\\/]/).pop()||n).join(", ")}`),Io({list:X,ids:Z,names:ee,listOfFunctions:Se});let Ke=R?Ft({sab:R,maxSignals:W}):void 0,{enqueueLock:Ie,serviceBatchImmediate:sr,hasCompleted:Ne,writeBatch:be,getAwaiting:Ae,drainReturnReleases:Ge,releaseDeferredReturns:he}=Ia({listOfFunctions:Se,workerOptions:u,lock:ue,returnLock:s,hasAborted:Ke?.hasAborted,stealing:D!==void 0});if(P===!0)ws(m.payload);v(j,0,1);let He=64,ir=xs({opView:N,at:0,rxStatus:j,txStatus:K,pauseInNanoseconds:g?.pauseNanoseconds,enqueueLock:Ie,write:()=>Ne()?be(He):0,flushBeforeClaim:D!==void 0,nativeWaitU32:me,useSharedMemoryWait:!(Dr&&Le==="node"&&me===void 0)}),Te=tt(),xe=Te.port1,ie=Te.port2,Fe=(n)=>ie.postMessage(n),ae=!1,pr=0,ur=0,Oe=10,Qe=ne(N,0),ge=()=>{if(ae)return;ae=!0,Fe(null)},ce=(n)=>{if(ae)return;if(ae=!0,n<=0&&typeof kt==="function"){kt(F);return}if(n<=0){Fe(null);return}if(typeof setTimeout==="function"){setTimeout(F,n);return}Fe(null)},Xe=G?.enabled("signals")===!0,yr=Ne,cr=Ae,mr=Ge,Je=he,fr=p,je=Xe?()=>{let n=Ie();if(n)G.log("signals","work from=host");return n}:Ie,br=Xe?(n)=>{let b=be(n);if(b>0)G.log("signals",`result count=${b}`);return b}:be,Rr=Xe?()=>{let n=sr();if(n>0)G.log("signals",`run count=${n}`);return n}:sr,Pr=Xe?(n,b,y)=>{G.log("signals",`idle token=${n}`),ir(n,b,y)}:ir,Ar=D!==void 0?()=>{let n=!1;if(yr()&&br(He)>0)n=!0;return je()||n}:()=>{let n=je();return yr()&&br(He)>0||n},L=()=>{Je(),v(de,0,qr.acknowledged),v(j,0,0);try{xe.close?.(),ie.close?.()}catch{}},F=()=>{ae=!1;let n=!0,b=0;while(!0){if(de[0]!==qr.running)return L();if(n=Ar(),mr(),Rr()>0)n=!0;if((b=cr())>0){if(n||b!==ur)pr=0;ur=b,pr++;let y=Math.min(Oe,Math.max(0,pr-1));ce(y);return}if(pr=ur=0,I){I=!1,ce(0);return}if(!n){if(K[oe.thisIsAHint]===1){do{if(fr(),de[0]!==qr.running)return L();if(Ar())break}while(K[oe.thisIsAHint]===1);continue}Pr(Qe,l,yr()?Math.min(S,nf):S),Qe=ne(N,0)}}},fe=xe;if(typeof fe.on==="function")fe.on("message",F);else fe.onmessage=F;fe.start?.(),ie.start?.(),G?.log("lifecycle",`ready: ${Se.length} task(s) on thread ${a}/${V}, entering dispatch loop`),ge()},of=()=>{let e=globalThis.WorkerGlobalScope;if(typeof e==="function")try{if(globalThis instanceof e)return!0}catch{}if($r&&typeof globalThis.self<"u")return!0;return!1},js=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return Tr(r.headers)&&Tr(r.lockSector)&&Tr(r.payload)&&Tr(r.payloadSector)&&(r.textCompat===void 0||Jt(r.textCompat))},Wt=(e)=>{if(!e||typeof e!=="object")return!1;let r=e;return Tr(r.sab)&&Array.isArray(r.list)&&Array.isArray(r.ids)&&Array.isArray(r.names)&&Array.isArray(r.at)&&typeof r.thread==="number"&&typeof r.totalNumberOfThread==="number"&&typeof r.startAt==="number"&&(r.abortSignalSAB===void 0||Tr(r.abortSignalSAB))&&js(r.lock)&&js(r.returnLock)},af=()=>{let e=globalThis,r=(t)=>{if(!Wt(t))return;Cn(t).catch(vn)};if(typeof e.addEventListener==="function"&&typeof e.removeEventListener==="function"){let t=(o)=>{let a=o?.data;if(!Wt(a))return;try{e.removeEventListener?.("message",t)}catch{}r(a)};e.addEventListener("message",t);return}e.onmessage=(t)=>{let o=t?.data;if(!Wt(o))return;e.onmessage=null,r(o)}};if(Gr===!1&&Wt(Et))Cn(Et).catch(vn);else if(Dr)Ms({isWorkerBootPayload:Wt,reportWorkerStartupFatal:vn,startWorker:(e)=>{Cn(e).catch(vn)}});else if(of())af();var zs=((e)=>()=>e++)(0),Ys=(e,r)=>{let t=2166136261;for(let o=0;o<e.length;o++)t=Math.imul(t^e.charCodeAt(o),16777619);return Math.imul(t^r,16777619)>>>0},sf=["/src/common/task-source.ts","/src/common/task-source.js","\\src\\common\\task-source.ts","\\src\\common\\task-source.js","/src/api.ts","/src/api.js","\\src\\api.ts","\\src\\api.js"],Ks=new Set(["collectStackFrames","resolveCallerHref","getCallerFilePath","buildTaskDefinition","buildTaskDefinitionFromCaller","task","importTask"]),uf=(e)=>e!==void 0,cf=(e)=>sf.some((r)=>e.includes(r)),Vs=(e)=>e.startsWith("node:")||e.startsWith("native:")||e.startsWith("bun:")||e.startsWith("internal/"),ff=(e,r)=>e!==void 0&&Ks.has(e)||r!==void 0&&Ks.has(r),lf=()=>{let e=Error,r=e.prepareStackTrace;try{e.prepareStackTrace=(a,c)=>c;let t=Error().stack;if(!Array.isArray(t))return[];return t.map((a)=>{try{let c=a?.getFileName?.();if(typeof c!=="string"||c.length===0)return;return{file:c,functionName:a?.getFunctionName?.()??void 0,methodName:a?.getMethodName?.()??void 0}}catch{return}}).filter(uf)}finally{e.prepareStackTrace=r}},$s=(e)=>Vs(e.file)||cf(e.file)||ff(e.functionName,e.methodName),Wo,qs=(e)=>{Wo=typeof e==="string"&&e.length>0?Ur(e):void 0};var Qs=(e)=>{if(Wo!==void 0)return Wo;let r=lf(),t=r[e],o=(t&&!$s(t)?t.file:void 0)??r.find((a)=>!$s(a))?.file??r.find((a)=>!Vs(a.file))?.file;if(!o)throw Error("Unable to determine caller file. This runtime exposes no stack traces (e.g. Andromeda); call setModuleUrl(import.meta.url) at the top of the module that defines your tasks before creating a pool.");return Ur(o)},Gs=new Map,Xs=(e=3)=>Qs(e),Uo=(e=3)=>{let r=Qs(e),t=Gs.get(r)??0;return Gs.set(r,t+1),[r,t]};var Js=(e,r)=>{let t=e;return t.reject=r,t},In=()=>{let e=Promise.withResolvers;if(typeof e==="function"){let a=e.call(Promise);return Js(a.promise,a.reject),a}let r,t;return{promise:Js(new Promise((a,c)=>{r=a,t=c}),t),resolve:r,reject:t}};var df=31,pf=134217727,yf=5,mf=65535,bf=65535,gf=16,hf=1;var Sf=performance.now.bind(performance);function Ho({max:e,lock:r,returnLock:t,extraReturnLocks:o,abortSignals:a,now:c}){let u=(v)=>{throw"UNREACHABLE FROM PLACE HOLDER (main)"},d=(v)=>{let ne=_a();return ne[i.ID]=v,ne[i.FunctionID]=0,ne.value=null,ne.resolve=u,ne.reject=u,ne},m=e??10,R=Array.from({length:m},(v,ne)=>d(ne)),W=Array.from({length:m},(v,ne)=>ne),E=(v)=>W.push(v),P=()=>W.pop(),A=(v)=>R.push(v),{publish:H,flushPending:O,hasPendingFrames:w,getPendingFrameCount:C,getPendingPromiseCount:V,resetPendingState:X}=r,Z=0,ee,q=a?.resetSignal,D=c??Sf,J=(v)=>{Z=Z-1|0,Vn(v),st(v),v.value=null,v.resolve=u,v.reject=u,E(v[i.ID])},G=[t,...o??[]].map((v)=>v.resolveHost({queue:R,activeRejectPlaceholder:u,onResolved:J})),oe=[t,...o??[]].map((v)=>typeof v.waitForHostChange==="function"?v.waitForHostChange:()=>{return}),Q=[t,...o??[]].map((v)=>typeof v.setHostWaiterArmed==="function"?v.setHostWaiterArmed:(ne)=>{}),ue=[t,...o??[]].map((v)=>typeof v.armHostNotifier==="function"?v.armHostNotifier:()=>!1),le=G.length===1?G[0]:()=>{let v=0;for(let ne=0;ne<G.length;ne++)v=v+G[ne]()|0;return v},ye=new Uint8Array(oe.length),te,I=0,z=new Int32Array(oe.length),h=oe.map((v,ne)=>()=>{if(ye[ne]===0)return;let me=z[ne];if(ye[ne]=0,Q[ne](!1),me!==I)return;te?.()}),s=(v)=>{for(let ne of Q)ne(v)},g=(v,ne)=>{te=v;let me=!0;for(let Se=0;Se<oe.length;Se++){if(ye[Se]!==0){if(!ue[Se]())return v(),!0;continue}let Ke;try{Ke=oe[Se](ne)}catch{Ke=void 0}if(Ke===void 0){me=!1;break}ye[Se]=1,z[Se]=I;let Ie=h[Se];if(!Ke.async)return Ie(),!0;Promise.resolve(Ke.value).then(Ie,Ie)}if(!me)te=void 0,s(!1),I=I+1|0;return me},l=()=>{for(let v of ue){if(v())continue;return s(!1),!1}return!0},S=()=>(Z-V()|0)>0,p=()=>C()===0&&!S(),N=(v)=>{for(let ne=0;ne<R.length;ne++){let me=R[ne];if(me.reject!==u){try{me.reject(v)}catch{}st(me),me.resolve=u,me.reject=u,R[ne]=d(ne)}}X(),Z=0},j=(v)=>{if(ee!==void 0)return;ee=v,N(v)},K=()=>O(),de=(v)=>H(v);return{close:j,rejectAll:N,hasPendingFrames:w,txIdle:p,completeFrame:le,waitForCompletion:g,armCompletionNotifier:l,setCompletionWaiterArmed:s,enqueue:(v,ne,me)=>{let Se=ne!==void 0,Ke=v&mf,Ie=me!==void 0&&a!==void 0;return(sr)=>{if(ee!==void 0)return Promise.reject(ee);if(Z===R.length){let Ge=Z+32,he=R.length;while(Ge>he)A(d(he)),E(he),he++}let Ne=P(),be=R[Ne],Ae=In();if(be[i.FunctionID]=Ke,Ie){let Ge=a.getSignal();if(Ge===a.closeNow)return Promise.reject(Cs);new Do(Ae,()=>q(Ge),()=>{a.setSignal(Ge)});let he=(Ge+hf&bf)>>>0;be[i.FunctionID]=(he<<gf|Ke)>>>0}if(be.value=sr,be[i.ID]=Ne,be.resolve=Ae.resolve,be.reject=Ae.reject,Se)be[i.slotBuffer]=(be[i.slotBuffer]&df|(D()>>>0&pf)<<yf>>>0)>>>0;return H(be),Z=Z+1|0,Ae.promise}},flushToWorker:K,enqueueKnown:de,settlePromisePayload:(v,ne,me)=>{if(v.reject===u)return!1;if(ne){try{v.reject(me)}catch{}return Vn(v),st(v),v.value=null,v.resolve=u,v.reject=u,Z=Z-1|0,E(v[i.ID]),!1}return v.value=me,de(v)}}}var Zs=()=>{return},ei=()=>{return},ri=()=>{},ti=()=>!1,Qr=()=>{throw Error("process workers are unavailable in the browser build")},ni=Qr,oi=Qr,On=Qr,ai=Qr,si=Qr,Mn=Qr,ii=Qr,ui=Qr;var fi=(e)=>e.split("=",1)[0],li=new Set(["--permission","--experimental-permission","--experimental-config-file","--experimental-default-config-file","--allow-fs-read","--allow-fs-write","--allow-fs-vfs","--allow-worker","--allow-child-process","--allow-env","--allow-net","--allow-addons","--allow-ffi","--allow-wasi","--allow-inspector","--allow-openssl-store"]),Af=new Set(["--experimental-ffi","--experimental-transform-types","--no-warnings",...li]),wf=(e)=>Af.has(fi(e)),Ut=(e)=>li.has(fi(e)),di=(e)=>{if(!e||e.length===0)return;let r=e.filter(wf);if(r.length===0)return;let t=new Set,o=[];for(let a of r){if(t.has(a))continue;t.add(a),o.push(a)}return o};var ci=new Set,pi=(e,r)=>{if(!e||e.length===0)return;let t=new Set(r??[]),o=e.filter((c)=>!t.has(c));if(o.length===0)return;let a=o.join(" ");if(ci.has(a))return;ci.add(a),console.warn(`knitting: workerExecArgv ${o.join(", ")} cannot be applied to a worker thread and was dropped. V8 and process-wide flags must be passed to the host process instead.`)},Tf=(e)=>{if(e===null||typeof e!=="object")return!1;let r=Object.getPrototypeOf(e);return r===Object.prototype||r===null},jo=(e,r=new WeakMap)=>{if(e instanceof Vr)return e.toMetadata();if(e===null||typeof e!=="object")return e;let t=r.get(e);if(t!==void 0)return t;if(Array.isArray(e)){let a=[];r.set(e,a);for(let c of e)a.push(jo(c,r));return a}if(!Tf(e))return e;let o={};r.set(e,o);for(let[a,c]of Object.entries(e))o[a]=jo(c,r);return o},yi=(e)=>{let r=e.bootstrap;if(r===void 0||r.data===void 0)return e;return{...e,bootstrap:{...r,data:jo(r.data)}}},Bf=2000,mi=(e,r=!1)=>{try{if(!r)e.unref?.();let t=Promise.resolve(e.terminate()).then(()=>{},()=>{});if(!r)return t;return new Promise((o)=>{let a=setTimeout(()=>{e.unref?.(),o()},Bf);t.then(()=>{clearTimeout(a),o()})})}catch{return Promise.resolve()}};var bi=Le==="deno"||Le==="node"?kt:void 0,gi=128,kf=1,Dn=({signalBox:{opView:e,txStatus:r,rxStatus:t},queue:{completeFrame:o,hasPendingFrames:a,flushToWorker:c,txIdle:u,waitForCompletion:d,armCompletionNotifier:m,setCompletionWaiterArmed:R},channelHandler:W,dispatcherOptions:E,notifySignal:P,wakeAfterPass:A,crossProcess:H,nativeCompletionDoorbell:O,processCompletionDoorbell:w})=>{let{add:C,load:V,notify:X}=Atomics,Z=e.buffer instanceof SharedArrayBuffer,ee=P??(()=>{if(Z)X(e,0,1)}),q=()=>{C(e,0,1),ee()},D=A??(()=>{if(V(t,0)===0)q()}),J=()=>W.notify(),G=(Le==="bun"||Le==="node")&&typeof Atomics.waitAsync==="function",oe=(E?.doorbell??!0)&&(w===!0||H!==!0&&(G||O===!0)),Q=oe,ue=!1,le=0,ye=1000,te=0,I=E?.stallFreeLoops,z=I!==void 0?Math.max(0,I|0):oe?kf:gi,h=Math.max(0,(E?.maxBackoffMs??10)|0),s,g=!1,l=()=>{if(!ue)return;le=le+1|0,ue=!1,R(!1)},S=()=>{if(!Q||ue===!0){if(!Q)J();return}let K=le+1|0;le=K,ue=!0;let de=!1,v=(me=!1)=>{if(!ue||le!==K||de)return;if(de=!0,ue=!1,le=le+1|0,R(!1),me){p.isRunning=!0,p();return}J()},ne=!1;if(O===!0||w===!0){let me=!1,Se=!0;try{me=m()}catch{Se=!1}if(ne=Se,Se&&!me)v(!0)}else try{ne=d(v,ye)}catch{ne=!1}if(!ne){if(Q=!1,I===void 0)z=gi;if(ue=!1,le=le+1|0,R(!1),O!==!0&&w!==!0)J()}},p=()=>{if(g){p.rerun=!0;return}if(l(),u()){p.isRunning=!1;return}if(g=!0,s!==void 0)clearTimeout(s),s=void 0;do{if(p.rerun=!1,r[0]=1,V(t,0)===0)q();let K=!1,de=!0;while(de){if(de=!1,o()>0)de=!0,K=!0;while(a()){if(!c())break;de=!0}}if(D(),r[0]=0,!u()){if(K)te=0;else te=te+1|0;g=!1,j();return}te=0}while(p.rerun);p.isRunning=!1,g=!1};p.isRunning=!1,p.rerun=!1;let N=()=>{if(g||p.isRunning){p.rerun=!0;return}p.isRunning=!0,p()},j=()=>{if(te<=z){J();return}if(Q){p.isRunning=!1,S();return}if(s!==void 0)return;let K=te-z-1|0;if(K<0)K=0;else if(K>h)K=h;p.isRunning=!1,s=setTimeout(()=>{if(s=void 0,!p.isRunning)p.isRunning=!0,p()},K)};return{check:p,wakeCompletion:N}};class At{channel;port1;port2;#e;#r;#t=!1;#o=()=>{this.#t=!1,this.#e?.()};constructor(e="auto"){if(e==="auto"&&bi!==void 0){let o=bi,a=this.#o;this.#r=()=>{o(a)};return}let r=tt(),t=r.port2;this.channel=r,this.port1=r.port1,this.port2=t,this.#r=()=>{t.postMessage(null)}}notify(){if(this.#t)return;this.#t=!0,this.#r()}open(e){this.#e=e;let r=this.port1;if(r===void 0)return;if(typeof r.on==="function")r.on("message",this.#o);else r.onmessage=this.#o;this.port1?.start?.(),this.port2?.start?.()}close(){if(this.#e=void 0,this.port1===void 0||this.port2===void 0)return;this.port1.onmessage=null,this.port2.onmessage=null,this.port1.close?.(),this.port2.close?.()}}var hi=()=>{throw Error("compiled workers are unavailable in the browser build")};var Si="__knittingWorkerFatal",Ef=(e)=>!!e&&typeof e==="object"&&typeof e[Si]==="string",Rf=50,Lf=Le==="deno"||Le==="node",_f=1000,xf=1,Pf=50,vf=258,Ai=(e)=>{if(!Number.isFinite(e))return;let r=Math.floor(e);return r>0?r:void 0},wi=(e)=>Ai(e)??vf,Ko=(e)=>Math.max(1,Math.ceil(e/32))*Uint32Array.BYTES_PER_ELEMENT,Cf=(e,r)=>{let t=e?.timers?.parkMs??(e?.runtime==="process"?xf:_f),o=e?.timers?.spinMicroseconds??(r<=1?Pf:0);if(e===void 0)return{timers:{parkMs:t,spinMicroseconds:o}};return{...e,timers:{...e.timers,parkMs:t,spinMicroseconds:o}}},Ti=(e)=>({...e,mode:"fixed",payloadInitialBytes:e.payloadMaxByteLength}),Bi=(e)=>{for(let r=we.slots;r>=1;r>>=1)if(we.slots/r>=e+1)return r;throw RangeError(`${e} stealing workers need more than ${we.slots} lanes`)},If=(e,r=Ct)=>r==="dekker"?Bi(e):we.slots,ki=we.slots-1,Ei=({threads:e,payload:r,sharedArgs:t,regionLanes:o,stealClaim:a,abortSignalCapacity:c,usesAbortSignal:u,processWorker:d})=>{let m=Ir({options:r}),R=d===void 0?m:Ti(m),W=()=>R.mode==="growable"?nr(R.payloadInitialBytes,R.payloadMaxByteLength):nr(R.payloadInitialBytes),E=()=>to({signalBytes:0,abortBytes:0,lockSectorBytes:ut,headerSlotStrideU32:Or,slotCount:we.slots,headerLayout:"split"}),P=(J,G)=>({...J,payload:G,textCompat:nt({headers:J.headers,payload:G})}),A=If(e,a),H=o===void 0?Bi(e):Math.min(Math.max(1,o|0),A),O=wi(c),w=d===void 0?void 0:oi({threads:e,signalBytes:d.signalBytes,abortBytes:u===!0?Ko(O):0,abortSignalMax:u===!0?O:void 0,payloadBytes:R.payloadMaxByteLength,sharedMemory:d.sharedMemory}),C=w===void 0?(()=>{let J=E();return P(J.lock,W())})():P(w.workers[0].controlLayout.lock,w.workers[0].lockPayload),V=zr({headers:C.headers,headerSlotStrideU32:C.headerSlotStrideU32,LockBoundSector:C.lockSector,payload:C.payload,payloadSector:C.payloadSector,payloadConfig:R,textCompat:C.textCompat,consumers:e,regionLanes:H,stealClaim:a,processBoundary:w!==void 0,sharedReturn:t===!0}),X=[],Z=[];for(let J=0;J<e;J++){let G=w===void 0?P(E().returnLock,W()):P(w.workers[J].controlLayout.returnLock,w.workers[J].returnPayload);X.push(G),Z.push(zr({headers:G.headers,headerSlotStrideU32:G.headerSlotStrideU32,LockBoundSector:G.lockSector,payload:G.payload,payloadSector:G.payloadSector,payloadConfig:R,textCompat:G.textCompat,processBoundary:w!==void 0}))}let ee=u===!0?w?.workers[0]?.controlLayout.abortSignals??nr(Ko(O)):void 0,q=ee===void 0?void 0:Ft({sab:ee,maxSignals:O}),D=Ho({lock:V,returnLock:Z[0],extraReturnLocks:Z.slice(1),abortSignals:q});return{submitBuffers:C,returnBuffers:X,hostSubmitLock:V,hostReturnLocks:Z,sharedQueue:D,regionLanes:H,stealClaim:a,processMemory:w,abortSignalSAB:ee,abortSignalMax:w?.abortSignalMax??(ee===void 0?void 0:O)}},Ri=({list:e,ids:r,names:t,sab:o,thread:a,debug:c,debugEpoch:u,hostDebug:d,totalNumberOfThread:m,workerCount:R,source:W,at:E,workerOptions:P,workerExecArgv:A,requestedExecArgv:H,permission:O,host:w,payload:C,sharedBytesEnabled:V,abortSignalCapacity:X,usesAbortSignal:Z,sharedChannelHandler:ee,denoCompletionDoorbell:q,stealPool:D})=>{if(P?.runtime==="compiled")return hi({list:e,names:t,workerOptions:P,hostDebug:d,abortSignalCapacity:X,usesAbortSignal:Z});let J=new URL(import.meta.url),G=ta,oe=yi(Cf(P,R??m)),Q=oe.runtime==="process",ue=!Q&&q!==void 0,le=Q?Mn(oe):void 0,ye=Q?ai(oe):void 0,te=Q&&w?.doorbell!==!1&&ti({processRuntime:le,commandPrefix:ye}),I=Q?On(oe):void 0;if(!Q&&typeof G!=="function")throw Error("Worker is not available in this runtime");if(Wn&&typeof SharedArrayBuffer!=="function")throw Error("SharedArrayBuffer is unavailable: serve the page cross-origin isolated (Cross-Origin-Opener-Policy: same-origin, Cross-Origin-Embedder-Policy: require-corp).");let z=G,h=Ai,s=Ir({options:C}),g=Q?Ti(s):s,l=wi(X),S=h(o?.size),p=o?.sharedSab;if(Q&&p!=null)throw Error("process worker runtime cannot use an external signal buffer");let N=Math.max(Ot,S??Ot),j=D===void 0&&Z===!0?Ko(l):0,K=D?.processMemory,de=!Q?void 0:K===void 0?ni({signalBytes:N,abortBytes:j,payloadBytes:g.payloadMaxByteLength,thread:a,sharedMemory:I}):K.workers[a]??(()=>{throw RangeError(`stealing process pool has no shared-memory slice for worker ${a}`)})(),v=de===void 0?Zs(c):void 0,ne=v?.createBuffer??Jr,me=v?.createBuffer,Se=()=>me?me(g.payloadMaxByteLength):g.mode==="growable"?nr(g.payloadInitialBytes,g.payloadMaxByteLength):nr(g.payloadInitialBytes),Ke=()=>to({signalBytes:N,abortBytes:j,lockSectorBytes:ut,headerSlotStrideU32:Or,slotCount:we.slots,headerLayout:"split",createBuffer:ne}),Ie=de?.controlLayout??Ke(),sr=de?.lockPayload??Se(),Ne=D?.submitBuffers??{...Ie.lock,payload:sr,textCompat:nt({headers:Ie.lock.headers,payload:sr})},be=de?.returnPayload??Se(),Ae=D?.returnBuffers??{...Ie.returnLock,payload:be,textCompat:nt({headers:Ie.returnLock.headers,payload:be})},Ge=D?.hostSubmitLock??zr({headers:Ne.headers,headerSlotStrideU32:Ne.headerSlotStrideU32,LockBoundSector:Ne.lockSector,payload:Ne.payload,payloadSector:Ne.payloadSector,payloadConfig:g,textCompat:Ne.textCompat,processBoundary:Q}),he=D?.hostReturnLock??zr({headers:Ae.headers,headerSlotStrideU32:Ae.headerSlotStrideU32,LockBoundSector:Ae.lockSector,payload:Ae.payload,payloadSector:Ae.payloadSector,payloadConfig:g,textCompat:Ae.textCompat,processBoundary:Q}),He=D?.abortSignalSAB??(Z===!0?Ie.abortSignals:void 0),ir=He&&D===void 0?Ft({sab:He,maxSignals:l}):void 0,Te=Ln({sabObject:p==null?{size:S,sharedSab:Ie.signals}:o,isMain:!0,thread:a}),xe=Te,ie=ei({processRuntime:le,signal:xe.opView}),Fe=D?.sharedQueue??Ho({lock:Ge,returnLock:he,abortSignals:ir}),{enqueue:ae,rejectAll:pr,txIdle:ur}=Fe,Oe=xe.opView,Qe=Atomics.add,ge=Atomics.load,ce=Atomics.notify,Xe=Oe.buffer instanceof SharedArrayBuffer,yr=ie??(Xe?()=>ce(Oe,0,1):void 0),cr=()=>{if(ge(xe.rxStatus,0)===0)Qe(Oe,0,1),yr?.()},mr=()=>{},Je=()=>mr(),fr,je=ee===void 0&&D===void 0,br=ee??new At,Rr=O?.enabled!==!0||O.unsafe===!0||O.node.allowAddons===!0,Pr=Le==="node"&&!Q&&w?.doorbell!==!1&&w?.nativeDoorbell===!0&&Rr;if(Le==="node"&&!Q&&w?.doorbell!==!1&&w?.nativeDoorbell===!0&&!Rr)d?.("native Node doorbell disabled by worker permissions; using the portable wake path (set permission.node.allowAddons=true to enable)");let Ar,L=Pr?fa(()=>Ar?.()):void 0,F=L!==void 0,{check:fe,wakeCompletion:n}=D!==void 0?{check:void 0,wakeCompletion:void 0}:Dn({signalBox:xe,queue:Fe,channelHandler:br,dispatcherOptions:w,notifySignal:ie,crossProcess:Q,nativeCompletionDoorbell:ue||F,processCompletionDoorbell:te});if(ue&&fe!==void 0)q.listen(a,n);Ar=n;let b=n;if(je&&fe!==void 0)br.open(fe),fr=br,mr=()=>{if(fe.isRunning===!0)return;fe.isRunning=!0,queueMicrotask(fe),cr()};let y,f=W??J;d?.(`worker thread=${a} mode=${Q?"process":Kn?"worker_threads":"worker"}${le?` runtime=${le}`:""} url=${String(f)}`);let x={sab:Te.sab,abortSignalSAB:He,abortSignalMax:D?.abortSignalMax??(Z===!0?l:void 0),list:e,ids:r,names:t,at:E,thread:a,debug:c,debugEpoch:u,workerOptions:oe,totalNumberOfThread:m,startAt:xe.startAt,lock:Ne,returnLock:Ae,payloadConfig:g,sharedReturn:V===!0,permission:O,notifyOnHostPublish:w?.doorbell!==!1&&(te||F||!Q&&(Le==="bun"||Le==="node")&&typeof Atomics.waitAsync==="function"),processCompletionDoorbell:te,denoCompletionDoorbell:ue?q.pointer:void 0,nodeCompletionDoorbell:F?L.pointer:void 0,steal:D===void 0?void 0:{consumers:D.consumers,consumerId:D.consumerId,regionLanes:D.regionLanes,claim:D.stealClaim}},k={type:"module",workerData:x},U=A&&A.length>0?{...k,execArgv:A}:k,se=Le==="node"&&O?.enabled===!0&&O.unsafe!==!0?O.node.flags.filter(Ut):[];if(de!==void 0)y=ii({workerUrl:f,bootPayload:ui(x,de),memory:de,processRuntime:le,commandPrefix:ye,permission:O});else if(Kn)try{let pe;try{y=new z(f,U),pe=U.execArgv}catch(Pe){if(Pe?.code==="ERR_WORKER_INVALID_EXEC_ARGV"){let dr=di(U.execArgv),Br=se.filter((vr)=>!dr?.includes(vr));if(Br.length>0)throw Error(`Node rejected the permission flags required by Knitting's thread worker policy (${Br.join(", ")}). Refusing to retry without them.`);if(dr&&dr.length>0)try{y=new z(f,{...k,execArgv:dr}),pe=dr}catch(vr){if(se.length>0)throw Error(`Node could not start a thread worker with Knitting's permission policy. Refusing to start it without those permissions. ${String(vr)}`);if(vr?.code==="ERR_WORKER_INVALID_EXEC_ARGV")y=new z(f,k);else throw vr}else if(se.length>0)throw Error("Node rejected the permission flags required by Knitting's thread worker policy. Refusing to start the worker without those permissions.");else y=new z(f,k)}else throw Pe}pi(H,pe)}catch(pe){throw L?.close(),pe}else y=new z(f,{type:"module"}),y.postMessage?.(x);let Re,We=!1,gr=()=>{D?.hostSubmitLock.deactivateStealConsumer(D.consumerId)},lr=()=>{try{y.unref?.(),Promise.resolve(y.terminate()).catch(()=>{}).finally(gr)}catch{gr()}},Ye=(pe,Pe,dr)=>{if(Re)return;Re=Pe;let Br=new Zr(pe,Pe,dr);if(D!==void 0&&D.stealClaim!=="ticket")pr(Br);else Fe.close(Br);fr?.close()},wr=(pe)=>{if(ra(pe)){b?.();return}if(!Ef(pe))return;Ye("WORKER_STARTUP_FAILED",`Worker startup failed: ${pe[Si]}`),lr()},jr=(pe)=>{let Pe=String(pe?.message??pe);Ye("WORKER_CRASHED",`Worker crashed: ${Pe}`,pe),lr()},ze=y;if(typeof ze.on==="function")ze.on("message",wr),ze.on("error",jr),ze.on("exit",(pe)=>{if(gr(),L?.close(),Re!==void 0)return;if(We){Ye("THREAD_CLOSED","Thread closed");return}Ye("WORKER_EXITED",`Worker exited with code ${typeof pe==="number"?pe:-1}`)});else{let pe=y;if(typeof pe.addEventListener==="function")pe.addEventListener("message",(Pe)=>{wr(Pe?.data)}),pe.addEventListener("error",(Pe)=>{jr(Pe?.error??Pe?.message??Pe)});else pe.onmessage=(Pe)=>{wr(Pe?.data)},pe.onerror=(Pe)=>{jr(Pe)}}return Ge.setPromiseHandler((pe,Pe,dr)=>{Fe.settlePromisePayload(pe,Pe,dr),Je()}),{txIdle:ur,call:({fnNumber:pe,timeout:Pe,abortSignal:dr})=>{let Br=ae(pe,Pe,dr);return(vr)=>{let jt=Br(vr);return Je(),jt}},requestStop:async()=>{We=!0;let pe=xe.stopView;if(pe===void 0)return!0;try{Atomics.store(pe,0,qr.requested),cr(),yr?.()}catch{return!1}if(!Lf)return!0;let Pe=Date.now()+Rf;while(Atomics.load(pe,0)!==qr.acknowledged){if(Date.now()>=Pe)return!1;await new Promise((dr)=>setTimeout(dr,1))}return!0},kills:async()=>{Ye("THREAD_CLOSED","Thread closed");let pe=de!==void 0,Pe=mi(y,pe);if(pe)await Pe;ri(de)},lock:Ge,processSharedMemoryBackings:v?.backings,dispatcherCheck:fe,laneWake:ee!==void 0||D!==void 0?cr:void 0,laneAwake:D!==void 0?()=>ge(xe.rxStatus,0)!==0:void 0,bindSend:ee!==void 0||D!==void 0?(pe)=>void(mr=pe):void 0,bindCompletionWake:(te||F)&&D!==void 0?(pe)=>{b=pe,Ar=pe}:void 0,processCompletionDoorbell:te,nodeCompletionDoorbell:F}};var Li=()=>{return},_i=()=>[],xi=()=>{throw Error("process workers are unavailable in the browser build")},Pi=xi,vi=xi;var Ci=(e,r,t)=>{switch(t??"roundRobin"){case"roundRobin":case"robinRound":return Of(e)(r)(r.length);case"firstIdle":return Mf(e)(r)(r.length);case"randomLane":return Df(e)(r)(r.length);case"firstIdleOrRandom":return Nf(e)(r)(r.length)}throw Error(`Unknown balancer: ${t}`)},$o=({contexts:e,balancer:r,handlers:t,inlinerGate:o})=>{let a=typeof r==="object"&&r!=null?r.strategy:r;if(e.length<2)throw Error(e.length===0?"No threads available.":"Cannot rotate with a single thread.");if(t.length===0)throw Error("No handlers provided.");let c=Ci(e,t,a);if(!o)return c;let u=o.index|0,d=Number.isFinite(o.threshold)?Math.max(1,Math.floor(o.threshold)):1;if(d<=1||u<0||u>=t.length)return c;let m=t.length-1;if(m<=0)return c;let R=Array(m),W=Array(m);for(let O=0,w=0;O<t.length;O+=1){if(O===u)continue;R[w]=t[O],W[w]=e[O],w+=1}let E=Ci(W,R,a),P=0,A=(O)=>(P-=1,O),H=(O)=>{throw P-=1,O};return(O)=>{P+=1;let w=P>=d?c:E;try{return w(O).then(A,H)}catch(C){throw P-=1,C}}};function Of(e){return(r)=>(t)=>{let o=Math.min(t,r.length);if(o<=1)return(c)=>r[0](c);let a=0;return(c)=>{let u=a;if(a+=1,a===o)a=0;return r[u](c)}}}function Mf(e){let r=e.map((t)=>t.txIdle);return(t)=>(o)=>{let a=Math.min(o,t.length);if(a<=1)return(u)=>t[0](u);let c=0;return(u)=>{for(let m=0;m<a;m+=1)if(r[m]())return t[m](u);let d=c;if(c+=1,c===a)c=0;return t[d](u)}}}var Df=(e)=>(r)=>(t)=>{let o=Math.min(t,r.length);if(o<=1)return(a)=>r[0](a);return(a)=>{let c=Math.random()*o|0;return r[c](a)}};function Nf(e){let r=e.map((t)=>t.txIdle);return(t)=>(o)=>{let a=Math.min(o,t.length);if(a<=1)return(c)=>t[0](c);return(c)=>{for(let d=0;d<a;d+=1)if(r[d]())return t[d](c);let u=Math.random()*a|0;return t[u](c)}}}var Hr={Free:-1,Pending:0},wt={Reject:0,Resolve:1},Ff=(e)=>{if(e==null)return;if(typeof e==="number")return e>=0?{ms:e,kind:wt.Reject,value:Error("Task timeout")}:void 0;let r=e.time;if(!(r>=0))return;if("default"in e)return{ms:r,kind:wt.Resolve,value:e.default};if(e.maybe===!0)return{ms:r,kind:wt.Resolve,value:void 0};if("error"in e)return{ms:r,kind:wt.Reject,value:e.error};return{ms:r,kind:wt.Reject,value:Error("Task timeout")}},Wf=(e,r)=>new Promise((t,o)=>{let a=!1,c=setTimeout(()=>{if(a)return;if(a=!0,r.kind===wt.Resolve)t(r.value);else o(r.value)},r.ms);e.then((u)=>{if(a)return;a=!0,clearTimeout(c),t(u)},(u)=>{if(a)return;a=!0,clearTimeout(c),o(u)})}),Uf=(()=>({hasAborted:()=>!1,now:()=>performance.now()}))(),Hf=(e,r,t=!1)=>{let o=Ff(r),a=t?(c)=>e(c,Uf):e;if(!o)return a;return(c)=>{let u=a(c);return u instanceof Promise?Wf(u,o):u}},Ii=({tasks:e,genTaskID:r,batchSize:t})=>{let a=(Array.isArray(e)?e:Object.values(e).sort((h,s)=>h.name.localeCompare(s.name))).map((h)=>{if(h.imported===!0)return()=>{throw Error("Imported task cannot run on the host inline lane")};return Hf(h.f,h.timeout,h.abortSignal!==void 0)}),c=16,u=new Int32Array(16),d=new Int8Array(16).fill(Hr.Free),m=Array(16),R=Array(16).fill(-1),W=Array(16),E=Array(16),P=16;for(let h=0;h<16;h++)E[h]=15-h;let A=new Lr(16),H=0,O=!1,w=!1,C=Number.isFinite(t)?Math.max(1,Math.floor(t??1)):Number.POSITIVE_INFINITY,V=tt(),X=V.port1,Z=V.port2,ee=(h)=>Z.postMessage(h),q=()=>A.isEmpty===!1,D=typeof queueMicrotask==="function"?queueMicrotask:(h)=>Promise.resolve().then(h),J=()=>{if(H===0||O)return;O=!0,ee(null)},G=()=>{if(H===0||O||w)return;w=!0,D(te)},oe=(h)=>{A.push(h),G()},Q=(h,s)=>{if(d[h]!==Hr.Pending||R[h]!==s)return;oe(h)},ue=(h,s,g,l)=>{if(d[h]!==Hr.Pending||R[h]!==s)return;let S=W[h];if(S)if(g)S.reject(l);else S.resolve(l);I(h)};function le(){if(P>0)return E[--P];let h=u.length,s=h<<1,g=new Int32Array(s);g.set(u),u=g;let l=new Int8Array(s);l.fill(Hr.Free),l.set(d),d=l,m.length=s,R.length=s,R.fill(-1,h),W.length=s;for(let S=s-1;S>=h;--S)E[P++]=S;return E[--P]}function ye(h=!1){let s=0;while(s<C){let g=A.shiftNoClear();if(g===void 0)break;let l=g|0;if(d[l]!==Hr.Pending)continue;let S=R[l];try{let p=m[l],N=u[l],j=a[N](p);if(!(j instanceof Promise)){ue(l,S,!1,j),s++;continue}j.then((K)=>ue(l,S,!1,K),(K)=>ue(l,S,!0,K)),s++}catch(p){ue(l,S,!0,p),s++}}if(q()){if(h)J();else ee(null);return}if(!h)O=!1}function te(){if(!w)return;ye(!0),w=!1}function I(h){if(H--,d[h]=Hr.Free,u[h]=0,R[h]=-1,m[h]=void 0,W[h]=void 0,E[P++]=h,H===0)O=!1}let z=({fnNumber:h})=>(s)=>{let g=r(),l=In(),S=le();if(R[S]=g,m[S]=s,u[S]=h|0,W[S]=l,d[S]=Hr.Pending,H++,s instanceof Promise)s.then((p)=>{if(R[S]!==g)return;m[S]=p,Q(S,g)},(p)=>ue(S,g,!0,p));else oe(S);return l.promise};return X.onmessage=()=>ye(!1),{kills:async()=>{for(let h=0;h<d.length;h++){if(d[h]!==Hr.Pending)continue;try{W[h]?.reject(new Zr("THREAD_CLOSED","Thread closed"))}catch{}}X.onmessage=null,X.close?.(),Z.onmessage=null,Z.close?.(),A.clear(),P=0,E.length=0,m.fill(void 0),R.fill(-1),W.fill(void 0),u.fill(0),d.fill(Hr.Free),H=0,O=!1,w=!1},call:z,txIdle:()=>H===0}};var Oi=(e)=>{let r=e===void 0?void 0:kn(e);if(r===void 0)return(t)=>new Uint8Array(t);return(t)=>{if(!Number.isInteger(t)||t<0)throw RangeError("sharedArgBytes(byteLength) requires a non-negative integer");return r(t,!1)??new Uint8Array(t)}};var Fi=(e,r)=>e.has("*")||e.has(r),jf=(e,r)=>{if(!((u)=>Fi(e,u))("host"))return;let o=r-performance.timeOrigin,a=`host·${Le}`;return{log:(u)=>{let d=(performance.now()-o).toFixed(1);console.error(`[${a}·+${d}ms] host: ${u}`)}}},Kf=()=>{let e=globalThis.Deno?.cwd;if(typeof e==="function")try{return e()}catch{}let r=tr();if(typeof r?.cwd==="function")try{return r.cwd()}catch{return}return},Mi=(e,r="(none)")=>e&&e.length>0?e.join(","):r,Wi=65535,Di=Wi+1,Go="default",$f=Gr;var Gf=(e)=>{let r=e.reduce((t,o)=>(t[0].add(o.importedFrom),t[1].add(o.id),t[2].add(o.at),t[3].push(o.name),t),[new Set,new Set,new Set,[]]);return{list:[...r[0]],ids:[...r[1]],at:[...r[2]],names:r[3]}},Ht=(e,r)=>{try{return new URL(e,r).href}catch{return Ur(e)}},zf=(e,r)=>{if(e===void 0)return;let t=e.processRuntime==="porffor";if(t&&e.runtime!==void 0&&e.runtime!=="compiled")throw Error('worker.processRuntime "porffor" requires worker.runtime to be compiled or omitted');let o=t&&e.runtime===void 0,a=t?{...e,runtime:"compiled",processRuntime:void 0,compiled:o?{...e.compiled,build:"always"}:e.compiled}:e,c=a.bootstrap;if(c!==void 0){let d=c.name??Go;if(typeof c.href!=="string"||c.href.length===0)throw TypeError("worker.bootstrap.href must be a non-empty string");if(typeof d!=="string"||d.length===0)throw TypeError("worker.bootstrap.name must be a non-empty string");a={...a,bootstrap:{...c,href:Ht(c.href,r),name:d}}}let u=a.compiled;if(u!==void 0){if(u.build!==void 0&&typeof u.build!=="boolean"&&u.build!=="always")throw TypeError('worker.compiled.build must be a boolean or "always"');for(let[d,m]of Object.entries({artifact:u.artifact,manifest:u.manifest,compiler:u.compiler}))if(m!==void 0&&(typeof m!=="string"||m.length===0))throw TypeError("worker.compiled."+d+" must be a non-empty string");a={...a,compiled:{build:u.build,compiler:u.compiler===void 0?void 0:u.compiler.startsWith(".")||u.compiler.startsWith("/")||u.compiler.startsWith("file:")||/^[A-Za-z]:[\\/]/.test(u.compiler)?Ht(u.compiler,r):u.compiler,artifact:u.artifact===void 0?void 0:Ht(u.artifact,r),manifest:u.manifest===void 0?void 0:Ht(u.manifest,r)}}}return a};var Yf=(e)=>e!=null&&typeof e==="object"&&typeof e.f==="function",Vf=(e,r)=>Object.entries(e).map(([t,o])=>{if(Yf(o))return{...o,name:t};if(typeof o==="function")return{f:o,id:-1,importedFrom:new URL(r).href,at:-1,name:t,[ht]:!0};throw TypeError(`createPool task "${t}" must be a task definition or exported function`)}),Ui=({threads:e,debug:r,inliner:t,balancer:o,payload:a,unsafe:c,abortSignalCapacity:u,source:d,worker:m,workerExecArgv:R,permission:W,host:E})=>(P)=>{let A=c?.SharedBytes===!0,H=c?.SharedArgs===!0,O=Ns||r!==void 0&&r!==!1,w,C=()=>w??=Pn(r),V=O?performance.timeOrigin+performance.now():void 0,X=V!==void 0?jf(C(),V):void 0,Z=(L)=>O&&Fi(C(),L);if(Gr===!1){if(Z("lifecycle"))console.warn("createPool has been called with : "+JSON.stringify(Et));let L=()=>{throw Error("createPool can only be called in the main thread.")},n=new Proxy(function(){return L()},{get:function(){return L}});return{shutdown:n,[Symbol.dispose]:()=>{},[Symbol.asyncDispose]:async()=>{},call:n}}let ee=Xs(3),q=Vf(P,ee).sort((L,F)=>L.name.localeCompare(F.name)),{list:D,ids:J,names:G,at:oe}=Gf(q);if(X?.log(`cwd=${Kf()??"(unknown)"} caller=${ee}`),q.forEach((L)=>{X?.log(`task name=${L.name} id=${L.id} from=${L.importedFrom}`)}),q.length>Di)throw RangeError(`Too many tasks: received ${q.length}. Maximum is ${Di} (Uint16 function IDs: 0..${Wi}).`);let Q=typeof t==="object"&&t!=null,ue=(e??1)+(Q?1:0),le=Li({permission:W??{mode:"strict",allowImport:!0},modules:D}),ye=_i(le),te=tr(),I=te?.allowedNodeEnvironmentFlags??null,z=(L)=>L?.filter((F)=>!Ut(F)),h=(L)=>{let F=[],fe=new Set;for(let n of L){if(fe.has(n))continue;fe.add(n),F.push(n)}return F},s=(L)=>{if(!L||L.length===0)return;if(!I)return L;let F=L.filter((fe)=>{let n=fe.split("=",1)[0];return I.has(n)});return F.length>0?F:void 0},g=Array.isArray(te?.execArgv)?te.execArgv:void 0,S=z(R??g),p=h([...ye,...S??[]]),N=s(p.length>0?p:void 0);X?.log(`pool runtime=${Le} workers=${e??1} lanes=${ue} inliner=${Q?"on":"off"}`),X?.log(`modules=${Mi(D)}`),X?.log(`permission=${le?.mode??"off"} execArgv=${Mi(N)}`);let j=q.some((L)=>L.abortSignal!==void 0),K=zf(m,ee);if(Le==="node"&&K?.runtime!=="process"&&K?.runtime!=="compiled"){let L=ye.filter((F)=>Ut(F)&&!N?.includes(F));if(L.length>0)throw Error(`Node cannot apply the resolved permission policy to this thread worker (unsupported flags: ${L.join(", ")}). Refusing to start the worker without those permissions.`)}let de=te?.env?.KNITTING_DISPATCHER,v=te?.env?.KNITTING_STEAL?.trim().toLowerCase(),ne=v==="1"||v==="true"?!0:v==="0"||v==="false"?!1:void 0,me=E?.dispatcher!==void 0||de==="serial-channel"||de==="per-thread",Se=o===void 0&&!me&&(e??1)<=ki,Ke=E?.steal??ne??Se,Ie=te?.env?.KNITTING_STEAL_CLAIM?.trim().toLowerCase(),sr=Ie===void 0||Ie===""?void 0:fn(Ie,"KNITTING_STEAL_CLAIM"),Ne=E?.stealClaim===void 0?sr??Ct:fn(E.stealClaim,"host.stealClaim"),be=K?.runtime==="compiled";if(K?.compiled!==void 0&&!be)throw Error("worker.compiled requires worker.runtime to be compiled");if(be){let L=[];if(Q)L.push("inliner");if(a!==void 0)L.push("payload");if(c!==void 0)L.push("unsafe");if(d!==void 0)L.push("source");if(R!==void 0)L.push("workerExecArgv");if(W!==void 0)L.push("permission");if(E!==void 0)L.push("host");if(K.bootstrap!==void 0)L.push("worker.bootstrap");if(K.timers!==void 0)L.push("worker.timers");if(K.processRuntime!==void 0)L.push("worker.processRuntime");if(K.processCommandPrefix!==void 0)L.push("worker.processCommandPrefix");if(K.processSharedMemory!==void 0)L.push("worker.processSharedMemory");if(K.resolveAfterFinishingAll!==void 0)L.push("worker.resolveAfterFinishingAll");if(q.some((F)=>F.timeout!==void 0))L.push("task timeout");if(q.some((F)=>F.imported===!0))L.push("importTask");if(L.length>0)throw Error("Compiled workers do not support: "+L.join(", "))}if(K?.bootstrap!==void 0)X?.log(`bootstrap href=${K.bootstrap.href} name=${K.bootstrap.name}`);if(Q&&K?.bootstrap!==void 0)throw Error("worker.bootstrap cannot be used with the inliner");if(K?.runtime==="process"){let L=Mn(K);vi(Pi({permission:W,resolved:le,target:{runtime:L,nodeMajor:L==="node"?si(K):void 0}}))}let Ae=Number.isFinite(K?.hardTimeoutMs)?Math.max(1,Math.floor(K?.hardTimeoutMs)):void 0;if(jn>=1)throw Error(`createPool() tried to spawn workers from inside a worker process (pool depth ${jn}). This usually means a pool is created at module scope in a module your workers import, so every worker spawns its own pool recursively. Is your createPool protected by isMain? Guard pool creation behind \`if (isMain) { ... }\` (import { isMain } from "knitting") so only the main program starts the pool.`);let Ge=E?.dispatcher??(de==="serial-channel"||de==="per-thread"?de:void 0),he=(()=>{if(Le==="bun")return"per-thread";if((e??1)<=1)return"per-thread";return"serial-channel"})(),He=Ge??he,ir=Ke&&!be&&(e??1)>1&&!Q,Te=ir?Ei({threads:e??1,payload:a,sharedArgs:H,regionLanes:E?.stealRegionLanes,stealClaim:Ne,abortSignalCapacity:u,usesAbortSignal:j,processWorker:K?.runtime==="process"?{signalBytes:Ot,sharedMemory:On(K)}:void 0}):void 0,xe=!be&&!ir&&He==="serial-channel",ie=xe?new At("channel"):void 0,Fe=!be&&K?.runtime!=="process"&&E?.doorbell!==!1?ua():void 0,ae=Array.from({length:e??1}).map((L,F)=>Ri({list:D,ids:J,names:G,at:oe,thread:F,debug:r,debugEpoch:V,hostDebug:X?.log,totalNumberOfThread:ue,workerCount:e??1,source:d,workerOptions:K,workerExecArgv:N,requestedExecArgv:R,host:E,payload:a,sharedBytesEnabled:A,abortSignalCapacity:u,usesAbortSignal:j,permission:le,sharedChannelHandler:ie,denoCompletionDoorbell:Fe,stealPool:Te===void 0?void 0:{submitBuffers:Te.submitBuffers,returnBuffers:Te.returnBuffers[F],hostSubmitLock:Te.hostSubmitLock,hostReturnLock:Te.hostReturnLocks[F],sharedQueue:Te.sharedQueue,consumers:e??1,consumerId:F,regionLanes:Te.regionLanes,stealClaim:Te.stealClaim,abortSignalSAB:Te.abortSignalSAB,abortSignalMax:Te.abortSignalMax,processMemory:Te.processMemory}})),pr=ir?new At:void 0;if(ir){let L=pr,F=Te.sharedQueue,fe=0,n=0,b=()=>{let k=ae.length;if(k===0)return;let U=n=fe;fe=fe+1<k?fe+1:0,ae[U].laneWake?.()},y=()=>{for(let k=0;k<ae.length;k++)if(ae[k].laneAwake?.()!==!1)return;ae[n]?.laneWake?.()},f=new Int32Array(nr(3*Int32Array.BYTES_PER_ELEMENT)),{check:T,wakeCompletion:x}=Dn({signalBox:{opView:f.subarray(0,1),txStatus:f.subarray(1,2),rxStatus:f.subarray(2,3)},queue:F,channelHandler:L,dispatcherOptions:E,notifySignal:b,wakeAfterPass:y,crossProcess:K?.runtime==="process",nativeCompletionDoorbell:Fe!==void 0||ae.some((k)=>k.nodeCompletionDoorbell===!0),processCompletionDoorbell:ae.some((k)=>k.processCompletionDoorbell===!0)});if(L.open(T),Fe!==void 0)ae.forEach((k,U)=>{Fe.listen(U,x)});ae.forEach((k)=>{k.bindCompletionWake?.(x)}),ae.forEach((k)=>{k.bindSend(()=>{if(T.isRunning!==!0)T.isRunning=!0,queueMicrotask(T);b()})}),X?.log(`dispatcher=steal lanes=${ae.length} g=${Te.regionLanes} claim=${Ne}`)}let ur=ie;if(xe){let L=ie,F=ae.map((se)=>se.dispatcherCheck),fe=ae.map((se)=>se.txIdle),n=!1,b=!1,y=!1,f=[],T=new Uint8Array(F.length),x=(se)=>{if(T[se]===1)return;T[se]=1,f.push(se)},k=()=>{if(b){y=!0;return}b=!0;do{y=!1,n=!1;for(let se=f.length-1;se>=0;se--){let Re=f[se],We=F[Re];if(We.isRunning!==!0)We.isRunning=!0;if(We(),fe[Re]()){T[Re]=0;let gr=f.pop();if(se<f.length)f[se]=gr}}}while(y);b=!1},U=()=>{if(b){y=!0;return}if(n)return;n=!0,queueMicrotask(k)};L.open(k),ae.forEach((se,Re)=>{let We=se.laneWake;se.bindSend(()=>{x(Re),U(),We()})}),X?.log(`dispatcher=serial-channel lanes=${F.length}`)}else X?.log(`dispatcher=per-thread lanes=${ae.length}`);if(Q){let L=Ii({tasks:q,genTaskID:zs,batchSize:t?.batchSize??1});if(t?.position==="first")ae=[L,...ae];else ae.push(L)}let Oe=Q?t?.position==="first"?0:ae.length-1:-1,Qe=Number.isFinite(t?.dispatchThreshold)?Math.max(1,Math.floor(t?.dispatchThreshold??1)):1,ge=!1,ce,Xe,yr=()=>{if(ce)return ce;ge=!0;let L=Fe===void 0;return ce=Promise.allSettled(ae.map((F)=>F.requestStop?.())).then((F)=>{if(Fe!==void 0)L=F.every((fe,n)=>{if(ae[n].requestStop===void 0)return!0;return fe.status==="fulfilled"&&fe.value===!0});return Promise.allSettled(ae.map((fe)=>fe.kills()))}).then(()=>{ur?.close(),pr?.close()}).finally(()=>{if(L){Fe?.close();return}Fe?.unref()}),ce},cr=({invoke:L,taskName:F})=>(fe)=>{if(ge)return Promise.reject(Error("Pool is shut down"));let n=L(fe);if(!Ae)return n;return new Promise((b,y)=>{let f=!1,T=setTimeout(()=>{if(f)return;f=!0,y(Error(`Task hard timeout after ${Ae}ms (${F}); pool force-shutdown`)),yr()},Ae);n.then((x)=>{if(f)return;f=!0,clearTimeout(T),b(x)},(x)=>{if(f)return;f=!0,clearTimeout(T),y(x)})})},mr=(L)=>{if(ce)return ce;if(Xe)return Xe;let F=Number.isFinite(L)?Math.max(0,Math.floor(L)):0;return Xe=(async()=>{if(ce)return await ce;if(F>0)await new Promise((fe)=>setTimeout(fe,F));if(ce)return await ce;await yr()})(),Xe},Je=()=>{mr()},fr=q.map((L,F)=>({name:L.name,index:F,timeout:L.timeout,abortSignal:L.abortSignal,imported:L.imported===!0})),je=new Map;for(let{name:L}of fr)je.set(L,[]);if(ir){let L=ae[0];for(let{name:F,index:fe,timeout:n,abortSignal:b}of fr)je.set(F,[cr({taskName:F,invoke:L.call({fnNumber:fe,timeout:n,abortSignal:b})})])}else for(let L of ae)for(let{name:F,index:fe,timeout:n,abortSignal:b}of fr)je.get(F).push(cr({taskName:F,invoke:L.call({fnNumber:fe,timeout:n,abortSignal:b})}));let br=(e??1)===1&&!Q,Rr=(L)=>{let F=[],fe=[];for(let n=0;n<L.length;n+=1){if(n===Oe)continue;F.push(L[n]),fe.push(ae[n])}if(F.length===0)throw Error("Imported task has no worker lane to run on: the pool only has the host inliner. Imported tasks are never inlined on the host; add at least one worker thread.");if(F.length===1)return F[0];return $o({contexts:fe,balancer:o,handlers:F})},Pr=(L,F)=>{if(ir)return L[0];if(F&&Q)return Rr(L);return br?L[0]:$o({contexts:ae,balancer:o,handlers:L,inlinerGate:Q?{index:Oe,threshold:Qe}:void 0})},Ar;try{Ar=fr.map(({name:L,imported:F})=>[L,Pr(je.get(L),F)])}catch(L){throw yr(),L}return{shutdown:mr,[Symbol.dispose]:Je,[Symbol.asyncDispose]:()=>mr(),call:Object.fromEntries(Ar),sharedArgBytes:Oi(H?Te?.submitBuffers.payload:void 0)}},Ni="__task__",qf=(e,r)=>{let t=Ui(r??{})({[Ni]:e});return{call:t.call[Ni],shutdown:t.shutdown,[Symbol.dispose]:t[Symbol.dispose],[Symbol.asyncDispose]:t[Symbol.asyncDispose]}},Hi=(e,r,t,o=!1)=>{let a=new URL(r).href,c={...e,id:Ys(a,t),importedFrom:a,at:t,imported:o,[ht]:!0};return c.createPool=(u)=>{if(Gr===!1)return c;return qf(c,u)},c},Qf=(e,r)=>{let[t,o]=Uo(r);return Hi(e,t,o)},Xf=(e,r)=>{let t,o,a=async()=>{if(t)return t;if(!o)o=import(e).then((c)=>{let u=c,d=r===Go?u.default:u[r];if(typeof d!=="function"){let m=Object.keys(u).join(", ");throw TypeError(`importTask expected export "${r}" from "${e}" to be a function. Available exports: ${m||"(none)"}`)}return t=d,t});return o};return async(...c)=>(await a())(...c)};function Jf(e){return Qf(e,4)}function Zf(e){let[r,t]=Uo(3),{href:o,name:a=Go,...c}=e,u=Ht(o,r);return Hi({...c,f:Xf(u,a)},r,t,!0)}export{Nr as Envelope,Zr as KnittingError,gn as NumericArray,Ui as createPool,Zf as importTask,$f as isMain,po as isNumericArray,qs as setModuleUrl,Jf as task,Cn as workerMainLoop};
|