@elysiumjs/argus 0.1.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,35 +1,36 @@
1
1
  // @bun
2
- var WJ=Object.create;var{getPrototypeOf:JJ,defineProperty:MQ,getOwnPropertyNames:MJ}=Object;var GJ=Object.prototype.hasOwnProperty;var zJ=(Y,Z,X)=>{X=Y!=null?WJ(JJ(Y)):{};let $=Z||!Y||!Y.__esModule?MQ(X,"default",{value:Y,enumerable:!0}):X;for(let Q of MJ(Y))if(!GJ.call($,Q))MQ($,Q,{get:()=>Y[Q],enumerable:!0});return $};var iZ=(Y,Z)=>()=>(Z||Y((Z={exports:{}}).exports,Z),Z.exports);var z8=(Y,Z)=>{for(var X in Z)MQ(Y,X,{get:Z[X],enumerable:!0,configurable:!0,set:($)=>Z[X]=()=>$})};var F1=(Y,Z)=>()=>(Y&&(Z=Y(Y=0)),Z);var GQ=import.meta.require;var _1,u8;var qX=F1(()=>{_1=class _1 extends Error{constructor(){super("End-Of-Stream");this.name="EndOfStreamError"}};u8=class u8 extends Error{constructor(Y="The operation was aborted"){super(Y);this.name="AbortError"}}});class aQ{constructor(){this.resolve=()=>null,this.reject=()=>null,this.promise=new Promise((Y,Z)=>{this.reject=Z,this.resolve=Y})}}class p8{constructor(){this.endOfStream=!1,this.interrupted=!1,this.peekQueue=[]}async peek(Y,Z=!1){let X=await this.read(Y,Z);return this.peekQueue.push(Y.subarray(0,X)),X}async read(Y,Z=!1){if(Y.length===0)return 0;let X=this.readFromPeekBuffer(Y);if(!this.endOfStream)X+=await this.readRemainderFromStream(Y.subarray(X),Z);if(X===0&&!Z)throw new _1;return X}readFromPeekBuffer(Y){let Z=Y.length,X=0;while(this.peekQueue.length>0&&Z>0){let $=this.peekQueue.pop();if(!$)throw Error("peekData should be defined");let Q=Math.min($.length,Z);if(Y.set($.subarray(0,Q),X),X+=Q,Z-=Q,Q<$.length)this.peekQueue.push($.subarray(Q))}return X}async readRemainderFromStream(Y,Z){let X=0;while(X<Y.length&&!this.endOfStream){if(this.interrupted)throw new u8;let $=await this.readFromStream(Y.subarray(X),Z);if($===0)break;X+=$}if(!Z&&X<Y.length)throw new _1;return X}}var R$=F1(()=>{qX()});var E$;var o7=F1(()=>{qX();R$();E$=class E$ extends p8{constructor(Y){super();if(this.s=Y,this.deferred=null,!Y.read||!Y.once)throw Error("Expected an instance of stream.Readable");this.s.once("end",()=>{if(this.endOfStream=!0,this.deferred)this.deferred.resolve(0)}),this.s.once("error",(Z)=>this.reject(Z)),this.s.once("close",()=>this.abort())}async readFromStream(Y,Z){if(Y.length===0)return 0;let X=this.s.read(Y.length);if(X)return Y.set(X),X.length;let $={buffer:Y,mayBeLess:Z,deferred:new aQ};return this.deferred=$.deferred,this.s.once("readable",()=>{this.readDeferred($)}),$.deferred.promise}readDeferred(Y){let Z=this.s.read(Y.buffer.length);if(Z)Y.buffer.set(Z),Y.deferred.resolve(Z.length),this.deferred=null;else this.s.once("readable",()=>{this.readDeferred(Y)})}reject(Y){if(this.interrupted=!0,this.deferred)this.deferred.reject(Y),this.deferred=null}async abort(){this.reject(new u8)}async close(){return this.abort()}}});var eQ;var t7=F1(()=>{R$();eQ=class eQ extends p8{constructor(Y){super();this.reader=Y}async abort(){return this.close()}async close(){this.reader.releaseLock()}}});var V$;var Y6=F1(()=>{t7();V$=class V$ extends eQ{async readFromStream(Y,Z){if(Y.length===0)return 0;let X=await this.reader.read(new Uint8Array(Y.length),{min:Z?void 0:Y.length});if(X.done)this.endOfStream=X.done;if(X.value)return Y.set(X.value),X.value.length;return 0}}});var HX;var Z6=F1(()=>{qX();R$();HX=class HX extends p8{constructor(Y){super();this.reader=Y,this.buffer=null}writeChunk(Y,Z){let X=Math.min(Z.length,Y.length);if(Y.set(Z.subarray(0,X)),X<Z.length)this.buffer=Z.subarray(X);else this.buffer=null;return X}async readFromStream(Y,Z){if(Y.length===0)return 0;let X=0;if(this.buffer)X+=this.writeChunk(Y,this.buffer);while(X<Y.length&&!this.endOfStream){let $=await this.reader.read();if($.done){this.endOfStream=!0;break}if($.value)X+=this.writeChunk(Y.subarray(X),$.value)}if(!Z&&X===0&&this.endOfStream)throw new _1;return X}abort(){return this.interrupted=!0,this.reader.cancel()}async close(){await this.abort(),this.reader.releaseLock()}}});function X6(Y){try{let Z=Y.getReader({mode:"byob"});if(Z instanceof ReadableStreamDefaultReader)return new HX(Z);return new V$(Z)}catch(Z){if(Z instanceof TypeError)return new HX(Y.getReader());throw Z}}var s7=F1(()=>{Y6();Z6()});var _8=F1(()=>{qX();o7();Y6();Z6();s7()});class bY{constructor(Y){if(this.numBuffer=new Uint8Array(8),this.position=0,this.onClose=Y?.onClose,Y?.abortSignal)Y.abortSignal.addEventListener("abort",()=>{this.abort()})}async readToken(Y,Z=this.position){let X=new Uint8Array(Y.len);if(await this.readBuffer(X,{position:Z})<Y.len)throw new _1;return Y.get(X,0)}async peekToken(Y,Z=this.position){let X=new Uint8Array(Y.len);if(await this.peekBuffer(X,{position:Z})<Y.len)throw new _1;return Y.get(X,0)}async readNumber(Y){if(await this.readBuffer(this.numBuffer,{length:Y.len})<Y.len)throw new _1;return Y.get(this.numBuffer,0)}async peekNumber(Y){if(await this.peekBuffer(this.numBuffer,{length:Y.len})<Y.len)throw new _1;return Y.get(this.numBuffer,0)}async ignore(Y){if(this.fileInfo.size!==void 0){let Z=this.fileInfo.size-this.position;if(Y>Z)return this.position+=Z,Z}return this.position+=Y,Y}async close(){await this.abort(),await this.onClose?.()}normalizeOptions(Y,Z){if(!this.supportsRandomAccess()&&Z&&Z.position!==void 0&&Z.position<this.position)throw Error("`options.position` must be equal or greater than `tokenizer.position`");return{...{mayBeLess:!1,offset:0,length:Y.length,position:this.position},...Z}}abort(){return Promise.resolve()}}var CZ=F1(()=>{_8()});var YA=256000,I$;var r7=F1(()=>{CZ();_8();I$=class I$ extends bY{constructor(Y,Z){super(Z);this.streamReader=Y,this.fileInfo=Z?.fileInfo??{}}async readBuffer(Y,Z){let X=this.normalizeOptions(Y,Z),$=X.position-this.position;if($>0)return await this.ignore($),this.readBuffer(Y,Z);if($<0)throw Error("`options.position` must be equal or greater than `tokenizer.position`");if(X.length===0)return 0;let Q=await this.streamReader.read(Y.subarray(0,X.length),X.mayBeLess);if(this.position+=Q,(!Z||!Z.mayBeLess)&&Q<X.length)throw new _1;return Q}async peekBuffer(Y,Z){let X=this.normalizeOptions(Y,Z),$=0;if(X.position){let Q=X.position-this.position;if(Q>0){let W=new Uint8Array(X.length+Q);return $=await this.peekBuffer(W,{mayBeLess:X.mayBeLess}),Y.set(W.subarray(Q)),$-Q}if(Q<0)throw Error("Cannot peek from a negative offset in a stream")}if(X.length>0){try{$=await this.streamReader.peek(Y.subarray(0,X.length),X.mayBeLess)}catch(Q){if(Z?.mayBeLess&&Q instanceof _1)return 0;throw Q}if(!X.mayBeLess&&$<X.length)throw new _1}return $}async ignore(Y){let Z=Math.min(YA,Y),X=new Uint8Array(Z),$=0;while($<Y){let Q=Y-$,W=await this.readBuffer(X,{length:Math.min(Z,Q)});if(W<0)return W;$+=W}return $}abort(){return this.streamReader.abort()}async close(){return this.streamReader.close()}supportsRandomAccess(){return!1}}});var $6;var a7=F1(()=>{_8();CZ();$6=class $6 extends bY{constructor(Y,Z){super(Z);this.uint8Array=Y,this.fileInfo={...Z?.fileInfo??{},...{size:Y.length}}}async readBuffer(Y,Z){if(Z?.position)this.position=Z.position;let X=await this.peekBuffer(Y,Z);return this.position+=X,X}async peekBuffer(Y,Z){let X=this.normalizeOptions(Y,Z),$=Math.min(this.uint8Array.length-X.position,X.length);if(!X.mayBeLess&&$<X.length)throw new _1;return Y.set(this.uint8Array.subarray(X.position,X.position+$)),$}close(){return super.close()}supportsRandomAccess(){return!0}setPosition(Y){this.position=Y}}});var Q6;var e7=F1(()=>{_8();CZ();Q6=class Q6 extends bY{constructor(Y,Z){super(Z);this.blob=Y,this.fileInfo={...Z?.fileInfo??{},...{size:Y.size,mimeType:Y.type}}}async readBuffer(Y,Z){if(Z?.position)this.position=Z.position;let X=await this.peekBuffer(Y,Z);return this.position+=X,X}async peekBuffer(Y,Z){let X=this.normalizeOptions(Y,Z),$=Math.min(this.blob.size-X.position,X.length);if(!X.mayBeLess&&$<X.length)throw new _1;let Q=await this.blob.slice(X.position,X.position+$).arrayBuffer();return Y.set(new Uint8Array(Q)),$}close(){return super.close()}supportsRandomAccess(){return!0}setPosition(Y){this.position=Y}}});function Y5(Y,Z){let X=new E$(Y),$=Z??{},Q=$.onClose;return $.onClose=async()=>{if(await X.close(),Q)return Q()},new I$(X,$)}function b$(Y,Z){let X=X6(Y),$=Z??{},Q=$.onClose;return $.onClose=async()=>{if(await X.close(),Q)return Q()},new I$(X,$)}function Z5(Y,Z){return new $6(Y,Z)}function X5(Y,Z){return new Q6(Y,Z)}var T$=F1(()=>{_8();r7();a7();e7();_8();CZ()});import{open as XA}from"fs/promises";var AX;var W6=F1(()=>{CZ();_8();AX=class AX extends bY{static async fromFile(Y){let Z=await XA(Y,"r"),X=await Z.stat();return new AX(Z,{fileInfo:{path:Y,size:X.size}})}constructor(Y,Z){super(Z);this.fileHandle=Y,this.fileInfo=Z.fileInfo}async readBuffer(Y,Z){let X=this.normalizeOptions(Y,Z);if(this.position=X.position,X.length===0)return 0;let $=await this.fileHandle.read(Y,0,X.length,X.position);if(this.position+=$.bytesRead,$.bytesRead<X.length&&(!Z||!Z.mayBeLess))throw new _1;return $.bytesRead}async peekBuffer(Y,Z){let X=this.normalizeOptions(Y,Z),$=await this.fileHandle.read(Y,0,X.length,X.position);if(!X.mayBeLess&&$.bytesRead<X.length)throw new _1;return $.bytesRead}async close(){return await this.fileHandle.close(),super.close()}setPosition(Y){this.position=Y}supportsRandomAccess(){return!0}}});import{stat as $A}from"fs/promises";async function $5(Y,Z){let X=Y5(Y,Z);if(Y.path){let $=await $A(Y.path);X.fileInfo.path=Y.path,X.fileInfo.size=$.size}return X}var Q5;var W5=F1(()=>{T$();W6();W6();T$();Q5=AX.fromFile});var J5=F1(()=>{/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */});function MA(){if(typeof globalThis.TextDecoder>"u")return;return x$!==null&&x$!==void 0?x$:x$=new globalThis.TextDecoder("utf-8")}function G5(Y,Z="utf-8"){switch(Z.toLowerCase()){case"utf-8":case"utf8":{let X=MA();return X?X.decode(Y):GA(Y)}case"utf-16le":return zA(Y);case"us-ascii":case"ascii":return BA(Y);case"latin1":case"iso-8859-1":return NA(Y);case"windows-1252":return UA(Y);default:throw RangeError(`Encoding '${Z}' not supported`)}}function GA(Y){let Z=[],X="",$=0;while($<Y.length){let Q=Y[$++];if(Q<128)X+=String.fromCharCode(Q);else if(Q<224){let W=Y[$++]&63;X+=String.fromCharCode((Q&31)<<6|W)}else if(Q<240){let W=Y[$++]&63,J=Y[$++]&63;X+=String.fromCharCode((Q&15)<<12|W<<6|J)}else{let W=Y[$++]&63,J=Y[$++]&63,M=Y[$++]&63,G=(Q&7)<<18|W<<12|J<<6|M;G-=65536,X+=String.fromCharCode(55296+(G>>10&1023),56320+(G&1023))}if(X.length>=i8)Z.push(X),X=""}if(X)Z.push(X);return Z.join("")}function zA(Y){let Z=Y.length&-2;if(Z===0)return"";let X=[],$=i8;for(let Q=0;Q<Z;){let W=Math.min($,Z-Q>>1),J=Array(W);for(let M=0;M<W;M++,Q+=2)J[M]=Y[Q]|Y[Q+1]<<8;X.push(String.fromCharCode.apply(null,J))}return X.join("")}function BA(Y){let Z=[];for(let X=0;X<Y.length;X+=i8){let $=Math.min(Y.length,X+i8),Q=Array($-X);for(let W=X,J=0;W<$;W++,J++)Q[J]=Y[W]&127;Z.push(String.fromCharCode.apply(null,Q))}return Z.join("")}function NA(Y){let Z=[];for(let X=0;X<Y.length;X+=i8){let $=Math.min(Y.length,X+i8),Q=Array($-X);for(let W=X,J=0;W<$;W++,J++)Q[J]=Y[W];Z.push(String.fromCharCode.apply(null,Q))}return Z.join("")}function UA(Y){let Z=[],X="";for(let $=0;$<Y.length;$++){let Q=Y[$],W=Q>=128&&Q<=159?M5[Q]:void 0;if(X+=W!==null&&W!==void 0?W:String.fromCharCode(Q),X.length>=i8)Z.push(X),X=""}if(X)Z.push(X);return Z.join("")}var M5,JA,x$,i8=32768;var z5=F1(()=>{M5={128:"\u20AC",130:"\u201A",131:"\u0192",132:"\u201E",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02C6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017D",145:"\u2018",146:"\u2019",147:"\u201C",148:"\u201D",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02DC",153:"\u2122",154:"\u0161",155:"\u203A",156:"\u0153",158:"\u017E",159:"\u0178"},JA={};for(let[Y,Z]of Object.entries(M5))JA[Z]=Number.parseInt(Y,10)});function T0(Y){return new DataView(Y.buffer,Y.byteOffset)}class i0{constructor(Y,Z){this.len=Y,this.encoding=Z}get(Y,Z=0){let X=Y.subarray(Z,Z+this.len);return G5(X,this.encoding)}}var B5,d1,l8,o1,J6,N5,U5;var DX=F1(()=>{J5();z5();B5={len:1,get(Y,Z){return T0(Y).getUint8(Z)},put(Y,Z,X){return T0(Y).setUint8(Z,X),Z+1}},d1={len:2,get(Y,Z){return T0(Y).getUint16(Z,!0)},put(Y,Z,X){return T0(Y).setUint16(Z,X,!0),Z+2}},l8={len:2,get(Y,Z){return T0(Y).getUint16(Z)},put(Y,Z,X){return T0(Y).setUint16(Z,X),Z+2}},o1={len:4,get(Y,Z){return T0(Y).getUint32(Z,!0)},put(Y,Z,X){return T0(Y).setUint32(Z,X,!0),Z+4}},J6={len:4,get(Y,Z){return T0(Y).getUint32(Z)},put(Y,Z,X){return T0(Y).setUint32(Z,X),Z+4}},N5={len:4,get(Y,Z){return T0(Y).getInt32(Z)},put(Y,Z,X){return T0(Y).setInt32(Z,X),Z+4}},U5={len:8,get(Y,Z){return T0(Y).getBigUint64(Z,!0)},put(Y,Z,X){return T0(Y).setBigUint64(Z,X,!0),Z+8}}});var H5=iZ(($T,q5)=>{var RZ=1000,EZ=RZ*60,VZ=EZ*60,n8=VZ*24,HA=n8*7,AA=n8*365.25;q5.exports=function(Y,Z){Z=Z||{};var X=typeof Y;if(X==="string"&&Y.length>0)return DA(Y);else if(X==="number"&&isFinite(Y))return Z.long?LA(Y):wA(Y);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(Y))};function DA(Y){if(Y=String(Y),Y.length>100)return;var Z=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(Y);if(!Z)return;var X=parseFloat(Z[1]),$=(Z[2]||"ms").toLowerCase();switch($){case"years":case"year":case"yrs":case"yr":case"y":return X*AA;case"weeks":case"week":case"w":return X*HA;case"days":case"day":case"d":return X*n8;case"hours":case"hour":case"hrs":case"hr":case"h":return X*VZ;case"minutes":case"minute":case"mins":case"min":case"m":return X*EZ;case"seconds":case"second":case"secs":case"sec":case"s":return X*RZ;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return X;default:return}}function wA(Y){var Z=Math.abs(Y);if(Z>=n8)return Math.round(Y/n8)+"d";if(Z>=VZ)return Math.round(Y/VZ)+"h";if(Z>=EZ)return Math.round(Y/EZ)+"m";if(Z>=RZ)return Math.round(Y/RZ)+"s";return Y+"ms"}function LA(Y){var Z=Math.abs(Y);if(Z>=n8)return k$(Y,Z,n8,"day");if(Z>=VZ)return k$(Y,Z,VZ,"hour");if(Z>=EZ)return k$(Y,Z,EZ,"minute");if(Z>=RZ)return k$(Y,Z,RZ,"second");return Y+" ms"}function k$(Y,Z,X,$){var Q=Z>=X*1.5;return Math.round(Y/X)+" "+$+(Q?"s":"")}});var M6=iZ((QT,A5)=>{function OA(Y){X.debug=X,X.default=X,X.coerce=G,X.disable=J,X.enable=Q,X.enabled=M,X.humanize=H5(),X.destroy=B,Object.keys(Y).forEach((z)=>{X[z]=Y[z]}),X.names=[],X.skips=[],X.formatters={};function Z(z){let q=0;for(let A=0;A<z.length;A++)q=(q<<5)-q+z.charCodeAt(A),q|=0;return X.colors[Math.abs(q)%X.colors.length]}X.selectColor=Z;function X(z){let q,A=null,N,D;function P(...I){if(!P.enabled)return;let O=P,j=Number(new Date),m=j-(q||j);if(O.diff=m,O.prev=q,O.curr=j,q=j,I[0]=X.coerce(I[0]),typeof I[0]!=="string")I.unshift("%O");let k=0;I[0]=I[0].replace(/%([a-zA-Z%])/g,(g,v)=>{if(g==="%%")return"%";k++;let b=X.formatters[v];if(typeof b==="function"){let x=I[k];g=b.call(O,x),I.splice(k,1),k--}return g}),X.formatArgs.call(O,I),(O.log||X.log).apply(O,I)}if(P.namespace=z,P.useColors=X.useColors(),P.color=X.selectColor(z),P.extend=$,P.destroy=X.destroy,Object.defineProperty(P,"enabled",{enumerable:!0,configurable:!1,get:()=>{if(A!==null)return A;if(N!==X.namespaces)N=X.namespaces,D=X.enabled(z);return D},set:(I)=>{A=I}}),typeof X.init==="function")X.init(P);return P}function $(z,q){let A=X(this.namespace+(typeof q>"u"?":":q)+z);return A.log=this.log,A}function Q(z){X.save(z),X.namespaces=z,X.names=[],X.skips=[];let q=(typeof z==="string"?z:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let A of q)if(A[0]==="-")X.skips.push(A.slice(1));else X.names.push(A)}function W(z,q){let A=0,N=0,D=-1,P=0;while(A<z.length)if(N<q.length&&(q[N]===z[A]||q[N]==="*"))if(q[N]==="*")D=N,P=A,N++;else A++,N++;else if(D!==-1)N=D+1,P++,A=P;else return!1;while(N<q.length&&q[N]==="*")N++;return N===q.length}function J(){let z=[...X.names,...X.skips.map((q)=>"-"+q)].join(",");return X.enable(""),z}function M(z){for(let q of X.skips)if(W(z,q))return!1;for(let q of X.names)if(W(z,q))return!0;return!1}function G(z){if(z instanceof Error)return z.stack||z.message;return z}function B(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return X.enable(X.load()),X}A5.exports=OA});var w5=iZ((D5,g$)=>{D5.formatArgs=_A;D5.save=jA;D5.load=KA;D5.useColors=PA;D5.storage=FA();D5.destroy=(()=>{let Y=!1;return()=>{if(!Y)Y=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}})();D5.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function PA(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let Y;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(Y=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(Y[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function _A(Y){if(Y[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+Y[0]+(this.useColors?"%c ":" ")+"+"+g$.exports.humanize(this.diff),!this.useColors)return;let Z="color: "+this.color;Y.splice(1,0,Z,"color: inherit");let X=0,$=0;Y[0].replace(/%[a-zA-Z%]/g,(Q)=>{if(Q==="%%")return;if(X++,Q==="%c")$=X}),Y.splice($,0,Z)}D5.log=console.debug||console.log||(()=>{});function jA(Y){try{if(Y)D5.storage.setItem("debug",Y);else D5.storage.removeItem("debug")}catch(Z){}}function KA(){let Y;try{Y=D5.storage.getItem("debug")||D5.storage.getItem("DEBUG")}catch(Z){}if(!Y&&typeof process<"u"&&"env"in process)Y=process.env.DEBUG;return Y}function FA(){try{return localStorage}catch(Y){}}g$.exports=M6()(D5);var{formatters:SA}=g$.exports;SA.j=function(Y){try{return JSON.stringify(Y)}catch(Z){return"[UnexpectedJSONParseError]: "+Z.message}}});var _5=iZ((O5,y$)=>{var xA=GQ("tty"),f$=GQ("util");O5.init=hA;O5.log=yA;O5.formatArgs=gA;O5.save=vA;O5.load=dA;O5.useColors=kA;O5.destroy=f$.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");O5.colors=[6,2,3,4,5,1];try{let Y=(()=>{throw new Error("Cannot require module "+"supports-color");})();if(Y&&(Y.stderr||Y).level>=2)O5.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}catch(Y){}O5.inspectOpts=Object.keys(process.env).filter((Y)=>{return/^debug_/i.test(Y)}).reduce((Y,Z)=>{let X=Z.substring(6).toLowerCase().replace(/_([a-z])/g,(Q,W)=>{return W.toUpperCase()}),$=process.env[Z];if(/^(yes|on|true|enabled)$/i.test($))$=!0;else if(/^(no|off|false|disabled)$/i.test($))$=!1;else if($==="null")$=null;else $=Number($);return Y[X]=$,Y},{});function kA(){return"colors"in O5.inspectOpts?Boolean(O5.inspectOpts.colors):xA.isatty(process.stderr.fd)}function gA(Y){let{namespace:Z,useColors:X}=this;if(X){let $=this.color,Q="\x1B[3"+($<8?$:"8;5;"+$),W=` ${Q};1m${Z} \x1B[0m`;Y[0]=W+Y[0].split(`
2
+ var __create=Object.create;var{getPrototypeOf:__getProtoOf,defineProperty:__defProp,getOwnPropertyNames:__getOwnPropNames}=Object;var __hasOwnProp=Object.prototype.hasOwnProperty;function __accessProp(key){return this[key]}var __toESMCache_node,__toESMCache_esm,__toESM=(mod,isNodeMode,target)=>{var canCache=mod!=null&&typeof mod==="object";if(canCache){var cache=isNodeMode?__toESMCache_node??=new WeakMap:__toESMCache_esm??=new WeakMap,cached=cache.get(mod);if(cached)return cached}target=mod!=null?__create(__getProtoOf(mod)):{};let to=isNodeMode||!mod||!mod.__esModule||!__hasOwnProp.call(mod,"default")?__defProp(target,"default",{value:mod,enumerable:!0}):target;if(mod&&typeof mod==="object"||typeof mod==="function"){for(let key of __getOwnPropNames(mod))if(!__hasOwnProp.call(to,key))__defProp(to,key,{get:__accessProp.bind(mod,key),enumerable:!0})}if(canCache)cache.set(mod,to);return to};var __commonJS=(cb,mod)=>()=>(mod||cb((mod={exports:{}}).exports,mod),mod.exports);var __returnValue=(v)=>v;function __exportSetter(name,newValue){this[name]=__returnValue.bind(null,newValue)}var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0,configurable:!0,set:__exportSetter.bind(all,name)})};var __legacyDecorateClassTS=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __esm=(fn,res,err)=>()=>{if(fn)try{res=fn(fn=0)}catch(e){err=[e]}if(err)throw err[0];return res};var __require=import.meta.require;var require_fast_decode_uri_component=__commonJS(function(exports,module){var UTF8_ACCEPT=12,UTF8_REJECT=0,UTF8_DATA=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,10,9,9,9,11,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,24,36,48,60,72,84,96,0,12,12,12,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,24,24,24,0,0,0,0,0,0,0,0,0,24,24,0,0,0,0,0,0,0,0,0,0,48,48,48,0,0,0,0,0,0,0,0,0,0,48,48,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,127,63,63,63,0,31,15,15,15,7,7,7];function decodeURIComponent2(uri){var percentPosition=uri.indexOf("%");if(percentPosition===-1)return uri;var length=uri.length,decoded="",last=0,codepoint=0,startOfOctets=percentPosition,state=UTF8_ACCEPT;while(percentPosition>-1&&percentPosition<length){var high=hexCodeToInt(uri[percentPosition+1],4),low=hexCodeToInt(uri[percentPosition+2],0),byte=high|low,type=UTF8_DATA[byte];if(state=UTF8_DATA[256+state+type],codepoint=codepoint<<6|byte&UTF8_DATA[364+type],state===UTF8_ACCEPT)decoded+=uri.slice(last,startOfOctets),decoded+=codepoint<=65535?String.fromCharCode(codepoint):String.fromCharCode(55232+(codepoint>>10),56320+(codepoint&1023)),codepoint=0,last=percentPosition+3,percentPosition=startOfOctets=uri.indexOf("%",last);else if(state===UTF8_REJECT)return null;else{if(percentPosition+=3,percentPosition<length&&uri.charCodeAt(percentPosition)===37)continue;return null}}return decoded+uri.slice(last)}var HEX={"0":0,"1":1,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7,"8":8,"9":9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};function hexCodeToInt(c,shift){var i=HEX[c];return i===void 0?255:i<<shift}module.exports=decodeURIComponent2});var init_ieee754=__esm(()=>{/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */});function utf8Decoder(){if(typeof globalThis.TextDecoder>"u")return;return _utf8Decoder!==null&&_utf8Decoder!==void 0?_utf8Decoder:_utf8Decoder=new globalThis.TextDecoder("utf-8")}function textDecode(bytes,encoding="utf-8"){switch(encoding.toLowerCase()){case"utf-8":case"utf8":{let dec=utf8Decoder();return dec?dec.decode(bytes):decodeUTF8(bytes)}case"utf-16le":return decodeUTF16LE(bytes);case"us-ascii":case"ascii":return decodeASCII(bytes);case"latin1":case"iso-8859-1":return decodeLatin1(bytes);case"windows-1252":return decodeWindows1252(bytes);default:throw RangeError(`Encoding '${encoding}' not supported`)}}function flushChunk(parts,chunk){if(chunk.length===0)return;parts.push(String.fromCharCode.apply(null,chunk)),chunk.length=0}function pushCodeUnit(parts,chunk,codeUnit){if(chunk.push(codeUnit),chunk.length>=CHUNK)flushChunk(parts,chunk)}function pushCodePoint(parts,chunk,cp){if(cp<=65535){pushCodeUnit(parts,chunk,cp);return}cp-=65536,pushCodeUnit(parts,chunk,55296+(cp>>10)),pushCodeUnit(parts,chunk,56320+(cp&1023))}function decodeUTF8(bytes){let parts=[],chunk=[],i=0;if(bytes.length>=3&&bytes[0]===239&&bytes[1]===187&&bytes[2]===191)i=3;while(i<bytes.length){let b1=bytes[i];if(b1<=127){pushCodeUnit(parts,chunk,b1),i++;continue}if(b1<194||b1>244){pushCodeUnit(parts,chunk,REPLACEMENT),i++;continue}if(b1<=223){if(i+1>=bytes.length){pushCodeUnit(parts,chunk,REPLACEMENT),i++;continue}let b2=bytes[i+1];if((b2&192)!==128){pushCodeUnit(parts,chunk,REPLACEMENT),i++;continue}let cp=(b1&31)<<6|b2&63;pushCodeUnit(parts,chunk,cp),i+=2;continue}if(b1<=239){if(i+2>=bytes.length){pushCodeUnit(parts,chunk,REPLACEMENT),i++;continue}let b2=bytes[i+1],b3=bytes[i+2];if(!((b2&192)===128&&(b3&192)===128&&!(b1===224&&b2<160)&&!(b1===237&&b2>=160))){pushCodeUnit(parts,chunk,REPLACEMENT),i++;continue}let cp=(b1&15)<<12|(b2&63)<<6|b3&63;pushCodeUnit(parts,chunk,cp),i+=3;continue}if(i+3>=bytes.length){pushCodeUnit(parts,chunk,REPLACEMENT),i++;continue}let b2=bytes[i+1],b3=bytes[i+2],b4=bytes[i+3];if(!((b2&192)===128&&(b3&192)===128&&(b4&192)===128&&!(b1===240&&b2<144)&&!(b1===244&&b2>143))){pushCodeUnit(parts,chunk,REPLACEMENT),i++;continue}let cp=(b1&7)<<18|(b2&63)<<12|(b3&63)<<6|b4&63;pushCodePoint(parts,chunk,cp),i+=4}return flushChunk(parts,chunk),parts.join("")}function decodeUTF16LE(bytes){let parts=[],chunk=[],len=bytes.length,i=0;while(i+1<len){let u1=bytes[i]|bytes[i+1]<<8;if(i+=2,u1>=55296&&u1<=56319){if(i+1<len){let u2=bytes[i]|bytes[i+1]<<8;if(u2>=56320&&u2<=57343)pushCodeUnit(parts,chunk,u1),pushCodeUnit(parts,chunk,u2),i+=2;else pushCodeUnit(parts,chunk,REPLACEMENT)}else pushCodeUnit(parts,chunk,REPLACEMENT);continue}if(u1>=56320&&u1<=57343){pushCodeUnit(parts,chunk,REPLACEMENT);continue}pushCodeUnit(parts,chunk,u1)}if(i<len)pushCodeUnit(parts,chunk,REPLACEMENT);return flushChunk(parts,chunk),parts.join("")}function decodeASCII(bytes){let parts=[];for(let i=0;i<bytes.length;i+=CHUNK){let end=Math.min(bytes.length,i+CHUNK),codes=Array(end-i);for(let j=i,k=0;j<end;j++,k++)codes[k]=bytes[j]&127;parts.push(String.fromCharCode.apply(null,codes))}return parts.join("")}function decodeLatin1(bytes){let parts=[];for(let i=0;i<bytes.length;i+=CHUNK){let end=Math.min(bytes.length,i+CHUNK),codes=Array(end-i);for(let j=i,k=0;j<end;j++,k++)codes[k]=bytes[j];parts.push(String.fromCharCode.apply(null,codes))}return parts.join("")}function decodeWindows1252(bytes){let parts=[],out="";for(let i=0;i<bytes.length;i++){let b=bytes[i],extra=b>=128&&b<=159?WINDOWS_1252_EXTRA[b]:void 0;if(out+=extra!==null&&extra!==void 0?extra:String.fromCharCode(b),out.length>=CHUNK)parts.push(out),out=""}if(out)parts.push(out);return parts.join("")}var WINDOWS_1252_EXTRA,WINDOWS_1252_REVERSE,_utf8Decoder,CHUNK=32768,REPLACEMENT=65533;var init_lib=__esm(()=>{WINDOWS_1252_EXTRA={128:"\u20AC",130:"\u201A",131:"\u0192",132:"\u201E",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02C6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017D",145:"\u2018",146:"\u2019",147:"\u201C",148:"\u201D",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02DC",153:"\u2122",154:"\u0161",155:"\u203A",156:"\u0153",158:"\u017E",159:"\u0178"},WINDOWS_1252_REVERSE={};for(let[code,char]of Object.entries(WINDOWS_1252_EXTRA))WINDOWS_1252_REVERSE[char]=Number.parseInt(code,10)});function dv(array){return new DataView(array.buffer,array.byteOffset)}class StringType2{constructor(len,encoding){this.len=len,this.encoding=encoding}get(data,offset=0){let bytes=data.subarray(offset,offset+this.len);return textDecode(bytes,this.encoding)}}var UINT8,UINT16_LE,UINT16_BE,UINT32_LE,UINT32_BE,INT32_BE,UINT64_LE;var init_lib2=__esm(()=>{init_ieee754();init_lib();UINT8={len:1,get(array,offset){return dv(array).getUint8(offset)},put(array,offset,value){return dv(array).setUint8(offset,value),offset+1}},UINT16_LE={len:2,get(array,offset){return dv(array).getUint16(offset,!0)},put(array,offset,value){return dv(array).setUint16(offset,value,!0),offset+2}},UINT16_BE={len:2,get(array,offset){return dv(array).getUint16(offset)},put(array,offset,value){return dv(array).setUint16(offset,value),offset+2}},UINT32_LE={len:4,get(array,offset){return dv(array).getUint32(offset,!0)},put(array,offset,value){return dv(array).setUint32(offset,value,!0),offset+4}},UINT32_BE={len:4,get(array,offset){return dv(array).getUint32(offset)},put(array,offset,value){return dv(array).setUint32(offset,value),offset+4}},INT32_BE={len:4,get(array,offset){return dv(array).getInt32(offset)},put(array,offset,value){return dv(array).setInt32(offset,value),offset+4}},UINT64_LE={len:8,get(array,offset){return dv(array).getBigUint64(offset,!0)},put(array,offset,value){return dv(array).setBigUint64(offset,value,!0),offset+8}}});var EndOfStreamError,AbortError;var init_Errors=__esm(()=>{EndOfStreamError=class EndOfStreamError extends Error{constructor(){super("End-Of-Stream");this.name="EndOfStreamError"}};AbortError=class AbortError extends Error{constructor(message="The operation was aborted"){super(message);this.name="AbortError"}}});function throwIfAborted(signal){if(signal?.aborted)throw new AbortError}var init_AbortSignal=__esm(()=>{init_Errors()});function getMaxBufferSize(options){let limit=options?.maxBufferSize??Number.POSITIVE_INFINITY;if(limit!==Number.POSITIVE_INFINITY&&(!Number.isSafeInteger(limit)||limit<=0))throw RangeError("maxBufferSize must be a positive safe integer or Infinity");return limit}var BufferSizeError;var init_BufferSizeError=__esm(()=>{BufferSizeError=class BufferSizeError extends RangeError{constructor(requestedSize,maxBufferSize){super(`Requested buffer size ${requestedSize} exceeds maxBufferSize ${maxBufferSize}`);this.requestedSize=requestedSize,this.maxBufferSize=maxBufferSize,this.name="BufferSizeError"}}});class AbstractStreamReader{constructor(){this.endOfStream=!1,this.interrupted=!1,this.peekQueue=[]}async peek(uint8Array,mayBeLess=!1){let bytesRead=await this.read(uint8Array,mayBeLess);return this.peekQueue.push(uint8Array.subarray(0,bytesRead)),bytesRead}async read(buffer,mayBeLess=!1){if(buffer.length===0)return 0;let bytesRead=this.readFromPeekBuffer(buffer);if(!this.endOfStream)bytesRead+=await this.readRemainderFromStream(buffer.subarray(bytesRead),mayBeLess);if(bytesRead===0&&!mayBeLess)throw new EndOfStreamError;return bytesRead}readFromPeekBuffer(buffer){let remaining=buffer.length,bytesRead=0;while(this.peekQueue.length>0&&remaining>0){let peekData=this.peekQueue.pop();if(!peekData)throw Error("peekData should be defined");let lenCopy=Math.min(peekData.length,remaining);if(buffer.set(peekData.subarray(0,lenCopy),bytesRead),bytesRead+=lenCopy,remaining-=lenCopy,lenCopy<peekData.length)this.peekQueue.push(peekData.subarray(lenCopy))}return bytesRead}async readRemainderFromStream(buffer,mayBeLess){let bytesRead=0;while(bytesRead<buffer.length&&!this.endOfStream){if(this.interrupted)throw new AbortError;let chunkLen=await this.readFromStream(buffer.subarray(bytesRead),mayBeLess);if(chunkLen===0)break;bytesRead+=chunkLen}if(!mayBeLess&&bytesRead<buffer.length)throw new EndOfStreamError;return bytesRead}}var init_AbstractStreamReader=__esm(()=>{init_Errors()});var init_StreamReader=__esm(()=>{init_AbstractStreamReader();init_Errors()});var WebStreamReader;var init_WebStreamReader=__esm(()=>{init_AbstractStreamReader();WebStreamReader=class WebStreamReader extends AbstractStreamReader{constructor(reader){super();this.reader=reader}async abort(){return this.close()}async close(){this.reader.releaseLock()}}});var WebStreamByobReader;var init_WebStreamByobReader=__esm(()=>{init_WebStreamReader();WebStreamByobReader=class WebStreamByobReader extends WebStreamReader{async readFromStream(buffer,mayBeLess){if(buffer.length===0)return 0;let result=await this.reader.read(new Uint8Array(buffer.length),{min:mayBeLess?void 0:buffer.length});if(result.done)this.endOfStream=result.done;if(result.value)return buffer.set(result.value),result.value.length;return 0}}});var WebStreamDefaultReader;var init_WebStreamDefaultReader=__esm(()=>{init_AbstractStreamReader();init_Errors();WebStreamDefaultReader=class WebStreamDefaultReader extends AbstractStreamReader{constructor(reader){super();this.reader=reader,this.buffer=null}writeChunk(target,chunk){let written=Math.min(chunk.length,target.length);if(target.set(chunk.subarray(0,written)),written<chunk.length)this.buffer=chunk.subarray(written);else this.buffer=null;return written}async readFromStream(buffer,mayBeLess){if(buffer.length===0)return 0;let totalBytesRead=0;if(this.buffer)totalBytesRead+=this.writeChunk(buffer,this.buffer);while(totalBytesRead<buffer.length&&!this.endOfStream){let result=await this.reader.read();if(result.done){this.endOfStream=!0;break}if(result.value)totalBytesRead+=this.writeChunk(buffer.subarray(totalBytesRead),result.value)}if(!mayBeLess&&totalBytesRead===0&&this.endOfStream)throw new EndOfStreamError;return totalBytesRead}abort(){return this.interrupted=!0,this.reader.cancel()}async close(){try{await this.abort()}finally{this.reader.releaseLock()}}}});function makeWebStreamReader(stream){try{let reader=stream.getReader({mode:"byob"});if(reader instanceof ReadableStreamDefaultReader)return new WebStreamDefaultReader(reader);return new WebStreamByobReader(reader)}catch(error){if(error instanceof TypeError)return new WebStreamDefaultReader(stream.getReader());throw error}}var init_WebStreamReaderFactory=__esm(()=>{init_WebStreamByobReader();init_WebStreamDefaultReader()});var init_stream=__esm(()=>{init_Errors();init_StreamReader();init_WebStreamByobReader();init_WebStreamDefaultReader();init_WebStreamReaderFactory()});class AbstractTokenizer{constructor(options){if(this.numBuffer=new Uint8Array(8),this.position=0,this.maxBufferSize=getMaxBufferSize(options),throwIfAborted(options?.abortSignal),this.onClose=options?.onClose,options?.abortSignal)this.addAbortListener(options.abortSignal,()=>{this.abort().catch(()=>{})})}addAbortListener(signal,listener){this.abortSignal=signal,this.abortListener=listener,signal.addEventListener("abort",listener,{once:!0})}removeAbortListener(){if(this.abortListener)this.abortSignal?.removeEventListener("abort",this.abortListener);this.abortSignal=void 0,this.abortListener=void 0}async readToken(token,position=this.position){this.validateTokenRead(token.len,position);let uint8Array=new Uint8Array(token.len);if(await this.readBuffer(uint8Array,{position})<token.len)throw new EndOfStreamError;return token.get(uint8Array,0)}async peekToken(token,position=this.position){let peekPosition=position??this.position;this.validateTokenRead(token.len,peekPosition,!0);let uint8Array=new Uint8Array(token.len);if(await this.peekBuffer(uint8Array,{position:peekPosition})<token.len)throw new EndOfStreamError;return token.get(uint8Array,0)}async readNumber(token){if(await this.readBuffer(this.numBuffer,{length:token.len})<token.len)throw new EndOfStreamError;return token.get(this.numBuffer,0)}async peekNumber(token){if(await this.peekBuffer(this.numBuffer,{length:token.len})<token.len)throw new EndOfStreamError;return token.get(this.numBuffer,0)}async ignore(length){if(length<0)throw RangeError("ignore length must be \u2265 0 bytes");if(this.validateLength(length,"ignore length"),this.validateLength(this.position+length,"end position"),this.fileInfo.size!==void 0){let bytesLeft=this.fileInfo.size-this.position;if(length>bytesLeft)return this.position+=bytesLeft,bytesLeft}return this.position+=length,length}async close(){this.removeAbortListener(),await this.abort(),await this.onClose?.()}validateLength(value,name){if(!Number.isSafeInteger(value)||value<0)throw RangeError(`${name} must be a non-negative safe integer`)}validateBufferSize(length){if(this.validateLength(length,"buffer length"),length>this.maxBufferSize)throw new BufferSizeError(length,this.maxBufferSize)}validateTokenRead(length,position,peek=!1){if(this.validateBufferSize(length),this.validateLength(position,"position"),this.validateLength(position+length,"end position"),!this.supportsRandomAccess()&&position<this.position)throw Error("`options.position` must be equal or greater than `tokenizer.position`");if(peek&&!this.supportsRandomAccess())this.validateBufferSize(length+position-this.position);if(this.fileInfo.size!==void 0&&length>this.fileInfo.size-position)throw new EndOfStreamError}normalizeOptions(uint8Array,options){let length=options?.length??uint8Array.length,position=options?.position??this.position;if(this.validateLength(length,"length"),this.validateLength(position,"position"),this.validateLength(position+length,"end position"),length>uint8Array.length)throw RangeError("length must not exceed the target buffer length");if(!this.supportsRandomAccess()&&position<this.position)throw Error("`options.position` must be equal or greater than `tokenizer.position`");return{length,position,mayBeLess:options?.mayBeLess??!1}}abort(){return this.removeAbortListener(),Promise.resolve()}}var init_AbstractTokenizer=__esm(()=>{init_AbortSignal();init_BufferSizeError();init_stream()});var BlobTokenizer;var init_BlobTokenizer=__esm(()=>{init_AbstractTokenizer();init_stream();BlobTokenizer=class BlobTokenizer extends AbstractTokenizer{constructor(blob,options){super(options);this.blob=blob,this.fileInfo={...options?.fileInfo??{},...{size:blob.size,mimeType:blob.type}}}async readBuffer(uint8Array,options){let normOptions=this.normalizeOptions(uint8Array,options),bytesRead=await this.peekBuffer(uint8Array,normOptions);return this.position=normOptions.position+bytesRead,bytesRead}async peekBuffer(buffer,options){let normOptions=this.normalizeOptions(buffer,options),bytes2read=Math.max(0,Math.min(this.blob.size-normOptions.position,normOptions.length));if(!normOptions.mayBeLess&&bytes2read<normOptions.length)throw new EndOfStreamError;for(let offset=0;offset<bytes2read;){let chunkLength=Math.min(this.maxBufferSize,bytes2read-offset),position=normOptions.position+offset,arrayBuffer=await this.blob.slice(position,position+chunkLength).arrayBuffer();buffer.set(new Uint8Array(arrayBuffer),offset),offset+=chunkLength}return bytes2read}close(){return super.close()}supportsRandomAccess(){return!0}setPosition(position){this.position=position}}});var BufferTokenizer;var init_BufferTokenizer=__esm(()=>{init_AbstractTokenizer();init_stream();BufferTokenizer=class BufferTokenizer extends AbstractTokenizer{constructor(uint8Array,options){super(options);this.uint8Array=uint8Array,this.fileInfo={...options?.fileInfo??{},...{size:uint8Array.length}}}async readBuffer(uint8Array,options){let normOptions=this.normalizeOptions(uint8Array,options),bytesRead=await this.peekBuffer(uint8Array,normOptions);return this.position=normOptions.position+bytesRead,bytesRead}async peekBuffer(uint8Array,options){let normOptions=this.normalizeOptions(uint8Array,options),bytes2read=Math.max(0,Math.min(this.uint8Array.length-normOptions.position,normOptions.length));if(!normOptions.mayBeLess&&bytes2read<normOptions.length)throw new EndOfStreamError;return uint8Array.set(this.uint8Array.subarray(normOptions.position,normOptions.position+bytes2read)),bytes2read}close(){return super.close()}supportsRandomAccess(){return!0}setPosition(position){this.position=position}}});var ignoreChunkSize=256000,ReadStreamTokenizer;var init_ReadStreamTokenizer=__esm(()=>{init_AbstractTokenizer();init_stream();ReadStreamTokenizer=class ReadStreamTokenizer extends AbstractTokenizer{constructor(streamReader,options){super(options);this.streamReader=streamReader,this.fileInfo=options?.fileInfo??{}}async readBuffer(uint8Array,options){let normOptions=this.normalizeOptions(uint8Array,options),skipBytes=normOptions.position-this.position;if(skipBytes>0)return await this.ignore(skipBytes),this.readBuffer(uint8Array,options);if(skipBytes<0)throw Error("`options.position` must be equal or greater than `tokenizer.position`");if(normOptions.length===0)return 0;let bytesRead=0;while(bytesRead<normOptions.length){let chunkLength=Math.min(this.maxBufferSize,normOptions.length-bytesRead),count=await this.streamReader.read(uint8Array.subarray(bytesRead,bytesRead+chunkLength),!0);if(bytesRead+=count,this.position+=count,count<chunkLength)break}if(!normOptions.mayBeLess&&bytesRead<normOptions.length)throw new EndOfStreamError;return bytesRead}async peekBuffer(uint8Array,options){let normOptions=this.normalizeOptions(uint8Array,options);if(normOptions.length===0)return 0;let lookaheadSize=normOptions.length+normOptions.position-this.position;this.validateBufferSize(lookaheadSize);let bytesRead=0;if(normOptions.position){let skipBytes=normOptions.position-this.position;if(skipBytes>0){let skipBuffer=new Uint8Array(normOptions.length+skipBytes);bytesRead=await this.peekBuffer(skipBuffer,{mayBeLess:normOptions.mayBeLess});let bytesPeeked=Math.max(0,bytesRead-skipBytes);return uint8Array.set(skipBuffer.subarray(skipBytes,skipBytes+bytesPeeked)),bytesPeeked}if(skipBytes<0)throw Error("Cannot peek from a negative offset in a stream")}if(normOptions.length>0){try{let peekBuffer=new Uint8Array(normOptions.length);bytesRead=await this.streamReader.peek(peekBuffer,!0),uint8Array.set(peekBuffer.subarray(0,bytesRead))}catch(err){if(options?.mayBeLess&&err instanceof EndOfStreamError)return 0;throw err}if(!normOptions.mayBeLess&&bytesRead<normOptions.length)throw new EndOfStreamError}return bytesRead}async ignore(length){if(length<0)throw RangeError("ignore length must be \u2265 0 bytes");this.validateLength(length,"ignore length"),this.validateLength(this.position+length,"end position");let bufSize=Math.min(ignoreChunkSize,this.maxBufferSize,length),buf=new Uint8Array(bufSize),totBytesRead=0;while(totBytesRead<length){let remaining=length-totBytesRead,bytesRead=await this.readBuffer(buf,{length:Math.min(bufSize,remaining)});if(bytesRead<0)return bytesRead;totBytesRead+=bytesRead}return totBytesRead}abort(){return this.removeAbortListener(),this.streamReader.abort()}async close(){return this.removeAbortListener(),this.streamReader.close()}supportsRandomAccess(){return!1}}});function isRandomAccessTokenizer(tokenizer){return tokenizer.supportsRandomAccess()&&"setPosition"in tokenizer&&typeof tokenizer.setPosition==="function"&&typeof tokenizer.fileInfo.size==="number"}var TokenizerBoundaryError;var init_TokenizerBoundaryError=__esm(()=>{TokenizerBoundaryError=class TokenizerBoundaryError extends RangeError{constructor(position,length,size){super(`Range at position ${position} with length ${length} exceeds tokenizer view size ${size}`);this.position=position,this.length=length,this.size=size,this.name="TokenizerBoundaryError"}}});function validateOffset(value,name){if(!Number.isSafeInteger(value)||value<0)throw RangeError(`${name} must be a non-negative safe integer`)}function createTokenizerView(source,length){return isRandomAccessTokenizer(source)?new RandomAccessTokenizerView(source,length):new TokenizerView(source,length)}class TokenizerView{constructor(source,size){if(this.source=source,this.size=size,this.closed=!1,this.closedPosition=0,this.busy=!1,validateOffset(size,"length"),validateOffset(source.position,"source position"),validateOffset(source.position+size,"end position"),source instanceof TokenizerView)source.assertAvailable(),source.translateRange(size,source.position);this.start=source.position,this.fileInfo={size}}get position(){return this.closed?this.closedPosition:this.source.position-this.start}get remaining(){return this.size-this.position}supportsRandomAccess(){return!1}createView(length){return this.assertAvailable(),createTokenizerView(this,length)}async readBuffer(buffer,options){return this.bufferOperation("readBuffer",buffer,options)}async peekBuffer(buffer,options){return this.bufferOperation("peekBuffer",buffer,options)}async bufferOperation(method,buffer,options){this.assertAvailable();let length=options?.length??buffer.length,position=options?.position??this.position,absolutePosition=this.translateRange(length,position);if(length>buffer.length)throw RangeError("length must not exceed the target buffer length");return this.run(()=>this.source[method](buffer,{...options,length,position:absolutePosition}))}async readToken(token,position=this.position){this.assertAvailable();let absolutePosition=this.translateRange(token.len,position);return this.run(()=>this.source.readToken(token,absolutePosition))}async peekToken(token,position=this.position){this.assertAvailable();let absolutePosition=this.translateRange(token.len,position??this.position);return this.run(()=>this.source.peekToken(token,absolutePosition))}async readNumber(token){return this.assertAvailable(),this.translateRange(token.len,this.position),this.run(()=>this.source.readNumber(token))}async peekNumber(token){return this.assertAvailable(),this.translateRange(token.len,this.position),this.run(()=>this.source.peekNumber(token))}async ignore(length){return this.assertAvailable(),this.translateRange(length,this.position),this.run(()=>this.source.ignore(length))}async consumeRemainder(){this.assertAvailable();let length=this.remaining,end=this.translateRange(length,this.position)+length;return this.run(async()=>{if(length===0)return 0;if(isRandomAccessTokenizer(this.source)){if(await this.source.peekBuffer(new Uint8Array(1),{position:end-1})!==1)throw new EndOfStreamError;this.source.setPosition(end)}else if(await this.source.ignore(length)!==length)throw new EndOfStreamError;return length})}async close(){if(this.closed)return;if(this.busy)throw Error("Cannot close a tokenizer view during an active operation");this.closedPosition=this.position,this.closed=!0}async abort(){if(this.closed)return;try{await this.source.abort()}finally{this.closedPosition=this.position,this.closed=!0}}assertAvailable(){if(this.closed)throw Error("Tokenizer view is closed");if(this.busy)throw Error("Tokenizer views require sequential operations");if(this.source instanceof TokenizerView)this.source.assertAvailable()}translateRange(length,position){if(validateOffset(length,"length"),validateOffset(position,"position"),validateOffset(position+length,"end position"),position>this.size||length>this.size-position)throw new TokenizerBoundaryError(position,length,this.size);if(!this.supportsRandomAccess()&&position<this.position)throw Error("`options.position` must be equal or greater than `tokenizer.position`");return this.start+position}async run(operation){this.busy=!0;try{return await operation()}finally{this.busy=!1}}}var RandomAccessTokenizerView;var init_TokenizerView=__esm(()=>{init_stream();init_TokenizerBoundaryError();RandomAccessTokenizerView=class RandomAccessTokenizerView extends TokenizerView{constructor(source,size){super(source,size)}supportsRandomAccess(){return!0}setPosition(position){this.assertAvailable(),this.source.setPosition(this.translateRange(0,position))}createView(length){return this.assertAvailable(),createTokenizerView(this,length)}}});function fromWebStream(webStream,options){getMaxBufferSize(options),throwIfAborted(options?.abortSignal);let webStreamReader=makeWebStreamReader(webStream);return new ReadStreamTokenizer(webStreamReader,options)}function fromBuffer(uint8Array,options){return new BufferTokenizer(uint8Array,options)}function fromBlob(blob,options){return new BlobTokenizer(blob,options)}var init_core=__esm(()=>{init_AbortSignal();init_BlobTokenizer();init_BufferSizeError();init_BufferTokenizer();init_ReadStreamTokenizer();init_stream();init_AbstractTokenizer();init_BufferSizeError();init_stream();init_TokenizerBoundaryError();init_TokenizerView()});class GzipHandler{constructor(tokenizer){this.tokenizer=tokenizer}inflate(){let tokenizer=this.tokenizer;return new ReadableStream({async pull(controller){let buffer=new Uint8Array(1024),size=await tokenizer.readBuffer(buffer,{mayBeLess:!0});if(size===0){controller.close();return}controller.enqueue(buffer.subarray(0,size))}}).pipeThrough(new DecompressionStream("gzip"))}}var require_ms=__commonJS(function(exports,module){var s=1000,m=s*60,h=m*60,d=h*24,w=d*7,y=d*365.25;module.exports=function(val,options){options=options||{};var type=typeof val;if(type==="string"&&val.length>0)return parse(val);else if(type==="number"&&isFinite(val))return options.long?fmtLong(val):fmtShort(val);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(val))};function parse(str){if(str=String(str),str.length>100)return;var match=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);if(!match)return;var n=parseFloat(match[1]),type=(match[2]||"ms").toLowerCase();switch(type){case"years":case"year":case"yrs":case"yr":case"y":return n*y;case"weeks":case"week":case"w":return n*w;case"days":case"day":case"d":return n*d;case"hours":case"hour":case"hrs":case"hr":case"h":return n*h;case"minutes":case"minute":case"mins":case"min":case"m":return n*m;case"seconds":case"second":case"secs":case"sec":case"s":return n*s;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}function fmtShort(ms){var msAbs=Math.abs(ms);if(msAbs>=d)return Math.round(ms/d)+"d";if(msAbs>=h)return Math.round(ms/h)+"h";if(msAbs>=m)return Math.round(ms/m)+"m";if(msAbs>=s)return Math.round(ms/s)+"s";return ms+"ms"}function fmtLong(ms){var msAbs=Math.abs(ms);if(msAbs>=d)return plural(ms,msAbs,d,"day");if(msAbs>=h)return plural(ms,msAbs,h,"hour");if(msAbs>=m)return plural(ms,msAbs,m,"minute");if(msAbs>=s)return plural(ms,msAbs,s,"second");return ms+" ms"}function plural(ms,msAbs,n,name){var isPlural=msAbs>=n*1.5;return Math.round(ms/n)+" "+name+(isPlural?"s":"")}});var require_common=__commonJS(function(exports,module){function setup(env){createDebug.debug=createDebug,createDebug.default=createDebug,createDebug.coerce=coerce,createDebug.disable=disable,createDebug.enable=enable,createDebug.enabled=enabled,createDebug.humanize=require_ms(),createDebug.destroy=destroy,Object.keys(env).forEach((key)=>{createDebug[key]=env[key]}),createDebug.names=[],createDebug.skips=[],createDebug.formatters={};function selectColor(namespace){let hash=0;for(let i=0;i<namespace.length;i++)hash=(hash<<5)-hash+namespace.charCodeAt(i),hash|=0;return createDebug.colors[Math.abs(hash)%createDebug.colors.length]}createDebug.selectColor=selectColor;function createDebug(namespace){let prevTime,enableOverride=null,namespacesCache,enabledCache;function debug(...args){if(!debug.enabled)return;let self=debug,curr=Number(new Date),ms=curr-(prevTime||curr);if(self.diff=ms,self.prev=prevTime,self.curr=curr,prevTime=curr,args[0]=createDebug.coerce(args[0]),typeof args[0]!=="string")args.unshift("%O");let index=0;args[0]=args[0].replace(/%([a-zA-Z%])/g,(match,format)=>{if(match==="%%")return"%";index++;let formatter=createDebug.formatters[format];if(typeof formatter==="function"){let val=args[index];match=formatter.call(self,val),args.splice(index,1),index--}return match}),createDebug.formatArgs.call(self,args),(self.log||createDebug.log).apply(self,args)}if(debug.namespace=namespace,debug.useColors=createDebug.useColors(),debug.color=createDebug.selectColor(namespace),debug.extend=extend,debug.destroy=createDebug.destroy,Object.defineProperty(debug,"enabled",{enumerable:!0,configurable:!1,get:()=>{if(enableOverride!==null)return enableOverride;if(namespacesCache!==createDebug.namespaces)namespacesCache=createDebug.namespaces,enabledCache=createDebug.enabled(namespace);return enabledCache},set:(v)=>{enableOverride=v}}),typeof createDebug.init==="function")createDebug.init(debug);return debug}function extend(namespace,delimiter){let newDebug=createDebug(this.namespace+(typeof delimiter>"u"?":":delimiter)+namespace);return newDebug.log=this.log,newDebug}function enable(namespaces){createDebug.save(namespaces),createDebug.namespaces=namespaces,createDebug.names=[],createDebug.skips=[];let split=(typeof namespaces==="string"?namespaces:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let ns of split)if(ns[0]==="-")createDebug.skips.push(ns.slice(1));else createDebug.names.push(ns)}function matchesTemplate(search,template){let searchIndex=0,templateIndex=0,starIndex=-1,matchIndex=0;while(searchIndex<search.length)if(templateIndex<template.length&&(template[templateIndex]===search[searchIndex]||template[templateIndex]==="*"))if(template[templateIndex]==="*")starIndex=templateIndex,matchIndex=searchIndex,templateIndex++;else searchIndex++,templateIndex++;else if(starIndex!==-1)templateIndex=starIndex+1,matchIndex++,searchIndex=matchIndex;else return!1;while(templateIndex<template.length&&template[templateIndex]==="*")templateIndex++;return templateIndex===template.length}function disable(){let namespaces=[...createDebug.names,...createDebug.skips.map((namespace)=>"-"+namespace)].join(",");return createDebug.enable(""),namespaces}function enabled(name){for(let skip of createDebug.skips)if(matchesTemplate(name,skip))return!1;for(let ns of createDebug.names)if(matchesTemplate(name,ns))return!0;return!1}function coerce(val){if(val instanceof Error)return val.stack||val.message;return val}function destroy(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return createDebug.enable(createDebug.load()),createDebug}module.exports=setup});var require_browser=__commonJS(function(exports,module){exports.formatArgs=formatArgs;exports.save=save;exports.load=load;exports.useColors=useColors;exports.storage=localstorage();exports.destroy=(()=>{let warned=!1;return()=>{if(!warned)warned=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}})();exports.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function useColors(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let m;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(m=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(m[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(args){if(args[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+args[0]+(this.useColors?"%c ":" ")+"+"+module.exports.humanize(this.diff),!this.useColors)return;let c="color: "+this.color;args.splice(1,0,c,"color: inherit");let index=0,lastC=0;args[0].replace(/%[a-zA-Z%]/g,(match)=>{if(match==="%%")return;if(index++,match==="%c")lastC=index}),args.splice(lastC,0,c)}exports.log=console.debug||console.log||(()=>{});function save(namespaces){try{if(namespaces)exports.storage.setItem("debug",namespaces);else exports.storage.removeItem("debug")}catch(error){}}function load(){let r;try{r=exports.storage.getItem("debug")||exports.storage.getItem("DEBUG")}catch(error){}if(!r&&typeof process<"u"&&"env"in process)r=process.env.DEBUG;return r}function localstorage(){try{return localStorage}catch(error){}}module.exports=require_common()(exports);var{formatters}=module.exports;formatters.j=function(v){try{return JSON.stringify(v)}catch(error){return"[UnexpectedJSONParseError]: "+error.message}}});var require_has_flag=__commonJS(function(exports,module){module.exports=(flag,argv=process.argv)=>{let prefix=flag.startsWith("-")?"":flag.length===1?"-":"--",position=argv.indexOf(prefix+flag),terminatorPosition=argv.indexOf("--");return position!==-1&&(terminatorPosition===-1||position<terminatorPosition)}});var require_supports_color=__commonJS(function(exports,module){var os=__require("os"),tty=__require("tty"),hasFlag=require_has_flag(),{env}=process,flagForceColor;if(hasFlag("no-color")||hasFlag("no-colors")||hasFlag("color=false")||hasFlag("color=never"))flagForceColor=0;else if(hasFlag("color")||hasFlag("colors")||hasFlag("color=true")||hasFlag("color=always"))flagForceColor=1;function envForceColor(){if("FORCE_COLOR"in env){if(env.FORCE_COLOR==="true")return 1;if(env.FORCE_COLOR==="false")return 0;return env.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(env.FORCE_COLOR,10),3)}}function translateLevel(level){if(level===0)return!1;return{level,hasBasic:!0,has256:level>=2,has16m:level>=3}}function supportsColor(haveStream,{streamIsTTY,sniffFlags=!0}={}){let noFlagForceColor=envForceColor();if(noFlagForceColor!==void 0)flagForceColor=noFlagForceColor;let forceColor=sniffFlags?flagForceColor:noFlagForceColor;if(forceColor===0)return 0;if(sniffFlags){if(hasFlag("color=16m")||hasFlag("color=full")||hasFlag("color=truecolor"))return 3;if(hasFlag("color=256"))return 2}if(haveStream&&!streamIsTTY&&forceColor===void 0)return 0;let min=forceColor||0;if(env.TERM==="dumb")return min;if(process.platform==="win32"){let osRelease=os.release().split(".");if(Number(osRelease[0])>=10&&Number(osRelease[2])>=10586)return Number(osRelease[2])>=14931?3:2;return 1}if("CI"in env){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some((sign)=>(sign in env))||env.CI_NAME==="codeship")return 1;return min}if("TEAMCITY_VERSION"in env)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION)?1:0;if(env.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in env){let version=Number.parseInt((env.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(env.TERM_PROGRAM){case"iTerm.app":return version>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(env.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM))return 1;if("COLORTERM"in env)return 1;return min}function getSupportLevel(stream,options={}){let level=supportsColor(stream,{streamIsTTY:stream&&stream.isTTY,...options});return translateLevel(level)}module.exports={supportsColor:getSupportLevel,stdout:getSupportLevel({isTTY:tty.isatty(1)}),stderr:getSupportLevel({isTTY:tty.isatty(2)})}});var require_node=__commonJS(function(exports,module){var tty=__require("tty"),util=__require("util");exports.init=init;exports.log=log;exports.formatArgs=formatArgs;exports.save=save;exports.load=load;exports.useColors=useColors;exports.destroy=util.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");exports.colors=[6,2,3,4,5,1];try{let supportsColor=require_supports_color();if(supportsColor&&(supportsColor.stderr||supportsColor).level>=2)exports.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}catch(error){}exports.inspectOpts=Object.keys(process.env).filter((key)=>/^debug_/i.test(key)).reduce((obj,key)=>{let prop=key.substring(6).toLowerCase().replace(/_([a-z])/g,(_,k)=>k.toUpperCase()),val=process.env[key];if(/^(yes|on|true|enabled)$/i.test(val))val=!0;else if(/^(no|off|false|disabled)$/i.test(val))val=!1;else if(val==="null")val=null;else val=Number(val);return obj[prop]=val,obj},{});function useColors(){return"colors"in exports.inspectOpts?Boolean(exports.inspectOpts.colors):tty.isatty(process.stderr.fd)}function formatArgs(args){let{namespace:name,useColors}=this;if(useColors){let c=this.color,colorCode="\x1B[3"+(c<8?c:"8;5;"+c),prefix=` ${colorCode};1m${name} \x1B[0m`;args[0]=prefix+args[0].split(`
3
3
  `).join(`
4
- `+W),Y.push(Q+"m+"+y$.exports.humanize(this.diff)+"\x1B[0m")}else Y[0]=fA()+Z+" "+Y[0]}function fA(){if(O5.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function yA(...Y){return process.stderr.write(f$.formatWithOptions(O5.inspectOpts,...Y)+`
5
- `)}function vA(Y){if(Y)process.env.DEBUG=Y;else delete process.env.DEBUG}function dA(){return process.env.DEBUG}function hA(Y){Y.inspectOpts={};let Z=Object.keys(O5.inspectOpts);for(let X=0;X<Z.length;X++)Y.inspectOpts[Z[X]]=O5.inspectOpts[Z[X]]}y$.exports=M6()(O5);var{formatters:L5}=y$.exports;L5.o=function(Y){return this.inspectOpts.colors=this.useColors,f$.inspect(Y,this.inspectOpts).split(`
6
- `).map((Z)=>Z.trim()).join(" ")};L5.O=function(Y){return this.inspectOpts.colors=this.useColors,f$.inspect(Y,this.inspectOpts)}});var j5=iZ((MT,G6)=>{if(typeof process>"u"||process.type==="renderer"||!1||process.__nwjs)G6.exports=w5();else G6.exports=_5()});var t8,z6,K5,F5,S5;var C5=F1(()=>{DX();t8={LocalFileHeader:67324752,DataDescriptor:134695760,CentralFileHeader:33639248,EndOfCentralDirectory:101010256},z6={get(Y){return{signature:o1.get(Y,0),compressedSize:o1.get(Y,8),uncompressedSize:o1.get(Y,12)}},len:16},K5={get(Y){let Z=d1.get(Y,6);return{signature:o1.get(Y,0),minVersion:d1.get(Y,4),dataDescriptor:!!(Z&8),compressedMethod:d1.get(Y,8),compressedSize:o1.get(Y,18),uncompressedSize:o1.get(Y,22),filenameLength:d1.get(Y,26),extraFieldLength:d1.get(Y,28),filename:null}},len:30},F5={get(Y){return{signature:o1.get(Y,0),nrOfThisDisk:d1.get(Y,4),nrOfThisDiskWithTheStart:d1.get(Y,6),nrOfEntriesOnThisDisk:d1.get(Y,8),nrOfEntriesOfSize:d1.get(Y,10),sizeOfCd:o1.get(Y,12),offsetOfStartOfCd:o1.get(Y,16),zipFileCommentLength:d1.get(Y,20)}},len:22},S5={get(Y){let Z=d1.get(Y,8);return{signature:o1.get(Y,0),minVersion:d1.get(Y,6),dataDescriptor:!!(Z&8),compressedMethod:d1.get(Y,10),compressedSize:o1.get(Y,20),uncompressedSize:o1.get(Y,24),filenameLength:d1.get(Y,28),extraFieldLength:d1.get(Y,30),fileCommentLength:d1.get(Y,32),relativeOffsetOfLocalHeader:o1.get(Y,42),filename:null}},len:46}});function E5(Y){let Z=new Uint8Array(o1.len);return o1.put(Z,0,Y),Z}class LX{constructor(Y){this.tokenizer=Y,this.syncBuffer=new Uint8Array(B6)}async isZip(){return await this.peekSignature()===t8.LocalFileHeader}peekSignature(){return this.tokenizer.peekToken(o1)}async findEndOfCentralDirectoryLocator(){let Y=this.tokenizer,Z=Math.min(16384,Y.fileInfo.size),X=this.syncBuffer.subarray(0,Z);await this.tokenizer.readBuffer(X,{position:Y.fileInfo.size-Z});for(let $=X.length-4;$>=0;$--)if(X[$]===v$[0]&&X[$+1]===v$[1]&&X[$+2]===v$[2]&&X[$+3]===v$[3])return Y.fileInfo.size-Z+$;return-1}async readCentralDirectory(){if(!this.tokenizer.supportsRandomAccess()){TY("Cannot reading central-directory without random-read support");return}TY("Reading central-directory...");let Y=this.tokenizer.position,Z=await this.findEndOfCentralDirectoryLocator();if(Z>0){TY("Central-directory 32-bit signature found");let X=await this.tokenizer.readToken(F5,Z),$=[];this.tokenizer.setPosition(X.offsetOfStartOfCd);for(let Q=0;Q<X.nrOfEntriesOfSize;++Q){let W=await this.tokenizer.readToken(S5);if(W.signature!==t8.CentralFileHeader)throw Error("Expected Central-File-Header signature");W.filename=await this.tokenizer.readToken(new i0(W.filenameLength,"utf-8")),await this.tokenizer.ignore(W.extraFieldLength),await this.tokenizer.ignore(W.fileCommentLength),$.push(W),TY(`Add central-directory file-entry: n=${Q+1}/${$.length}: filename=${$[Q].filename}`)}return this.tokenizer.setPosition(Y),$}this.tokenizer.setPosition(Y)}async unzip(Y){let Z=await this.readCentralDirectory();if(Z)return this.iterateOverCentralDirectory(Z,Y);let X=!1;do{let $=await this.readLocalFileHeader();if(!$)break;let Q=Y($);X=!!Q.stop;let W;if(await this.tokenizer.ignore($.extraFieldLength),$.dataDescriptor&&$.compressedSize===0){let J=[],M=B6;TY("Compressed-file-size unknown, scanning for next data-descriptor-signature....");let G=-1;while(G<0&&M===B6){M=await this.tokenizer.peekBuffer(this.syncBuffer,{mayBeLess:!0}),G=tA(this.syncBuffer.subarray(0,M),oA);let B=G>=0?G:M;if(Q.handler){let z=new Uint8Array(B);await this.tokenizer.readBuffer(z),J.push(z)}else await this.tokenizer.ignore(B)}if(TY(`Found data-descriptor-signature at pos=${this.tokenizer.position}`),Q.handler)await this.inflate($,sA(J),Q.handler)}else if(Q.handler)TY(`Reading compressed-file-data: ${$.compressedSize} bytes`),W=new Uint8Array($.compressedSize),await this.tokenizer.readBuffer(W),await this.inflate($,W,Q.handler);else TY(`Ignoring compressed-file-data: ${$.compressedSize} bytes`),await this.tokenizer.ignore($.compressedSize);if(TY(`Reading data-descriptor at pos=${this.tokenizer.position}`),$.dataDescriptor){if((await this.tokenizer.readToken(z6)).signature!==134695760)throw Error(`Expected data-descriptor-signature at position ${this.tokenizer.position-z6.len}`)}}while(!X)}async iterateOverCentralDirectory(Y,Z){for(let X of Y){let $=Z(X);if($.handler){this.tokenizer.setPosition(X.relativeOffsetOfLocalHeader);let Q=await this.readLocalFileHeader();if(Q){await this.tokenizer.ignore(Q.extraFieldLength);let W=new Uint8Array(X.compressedSize);await this.tokenizer.readBuffer(W),await this.inflate(Q,W,$.handler)}}if($.stop)break}}async inflate(Y,Z,X){if(Y.compressedMethod===0)return X(Z);if(Y.compressedMethod!==8)throw Error(`Unsupported ZIP compression method: ${Y.compressedMethod}`);TY(`Decompress filename=${Y.filename}, compressed-size=${Z.length}`);let $=await LX.decompressDeflateRaw(Z);return X($)}static async decompressDeflateRaw(Y){let Z=new ReadableStream({start(Q){Q.enqueue(Y),Q.close()}}),X=new DecompressionStream("deflate-raw"),$=Z.pipeThrough(X);try{let W=await new Response($).arrayBuffer();return new Uint8Array(W)}catch(Q){let W=Q instanceof Error?`Failed to deflate ZIP entry: ${Q.message}`:"Unknown decompression error in ZIP entry";throw TypeError(W)}}async readLocalFileHeader(){let Y=await this.tokenizer.peekToken(o1);if(Y===t8.LocalFileHeader){let Z=await this.tokenizer.readToken(K5);return Z.filename=await this.tokenizer.readToken(new i0(Z.filenameLength,"utf-8")),Z}if(Y===t8.CentralFileHeader)return!1;if(Y===3759263696)throw Error("Encrypted ZIP");throw Error("Unexpected signature")}}function tA(Y,Z){let X=Y.length,$=Z.length;if($>X)return-1;for(let Q=0;Q<=X-$;Q++){let W=!0;for(let J=0;J<$;J++)if(Y[Q+J]!==Z[J]){W=!1;break}if(W)return Q}return-1}function sA(Y){let Z=Y.reduce((Q,W)=>Q+W.length,0),X=new Uint8Array(Z),$=0;for(let Q of Y)X.set(Q,$),$+=Q.length;return X}var R5,TY,B6=262144,oA,v$;var V5=F1(()=>{DX();C5();R5=zJ(j5(),1);TY=R5.default("tokenizer:inflate"),oA=E5(t8.DataDescriptor),v$=E5(t8.EndOfCentralDirectory)});class d${constructor(Y){this.tokenizer=Y}inflate(){let Y=this.tokenizer;return new ReadableStream({async pull(Z){let X=new Uint8Array(1024),$=await Y.readBuffer(X,{mayBeLess:!0});if($===0){Z.close();return}Z.enqueue(X.subarray(0,$))}}).pipeThrough(new DecompressionStream("gzip"))}}var I5=F1(()=>{V5()});function N6(Y){let{byteLength:Z}=Y;if(Z===6)return Y.getUint16(0)*4294967296+Y.getUint32(2);if(Z===5)return Y.getUint8(0)*4294967296+Y.getUint32(1);if(Z===4)return Y.getUint32(0);if(Z===3)return Y.getUint8(0)*65536+Y.getUint16(1);if(Z===2)return Y.getUint16(0);if(Z===1)return Y.getUint8(0)}var wT,LT,OT;var b5=F1(()=>{wT={utf8:new globalThis.TextDecoder("utf8")},LT=new globalThis.TextEncoder,OT=Array.from({length:256},(Y,Z)=>Z.toString(16).padStart(2,"0"))});function T5(Y,Z){if(Z==="utf-16le"){let X=[];for(let $=0;$<Y.length;$++){let Q=Y.charCodeAt($);X.push(Q&255,Q>>8&255)}return X}if(Z==="utf-16be"){let X=[];for(let $=0;$<Y.length;$++){let Q=Y.charCodeAt($);X.push(Q>>8&255,Q&255)}return X}return[...Y].map((X)=>X.charCodeAt(0))}function x5(Y,Z=0){let X=Number.parseInt(new i0(6).get(Y,148).replace(/\0.*$/,"").trim(),8);if(Number.isNaN(X))return!1;let $=256;for(let Q=Z;Q<Z+148;Q++)$+=Y[Q];for(let Q=Z+156;Q<Z+512;Q++)$+=Y[Q];return X===$}var k5;var g5=F1(()=>{DX();k5={get:(Y,Z)=>Y[Z+3]&127|Y[Z+2]<<7|Y[Z+1]<<14|Y[Z]<<21,len:4}});var f5,y5;var v5=F1(()=>{f5=["jpg","png","apng","gif","webp","flif","xcf","cr2","cr3","orf","arw","dng","nef","rw2","raf","tif","bmp","icns","jxr","psd","indd","zip","tar","rar","gz","bz2","7z","dmg","mp4","mid","mkv","webm","mov","avi","mpg","mp2","mp3","m4a","oga","ogg","ogv","opus","flac","wav","spx","amr","pdf","epub","elf","macho","exe","swf","rtf","wasm","woff","woff2","eot","ttf","otf","ttc","ico","flv","ps","xz","sqlite","nes","crx","xpi","cab","deb","ar","rpm","Z","lz","cfb","mxf","mts","blend","bpg","docx","pptx","xlsx","3gp","3g2","j2c","jp2","jpm","jpx","mj2","aif","qcp","odt","ods","odp","xml","mobi","heic","cur","ktx","ape","wv","dcm","ics","glb","pcap","dsf","lnk","alias","voc","ac3","m4v","m4p","m4b","f4v","f4p","f4b","f4a","mie","asf","ogm","ogx","mpc","arrow","shp","aac","mp1","it","s3m","xm","skp","avif","eps","lzh","pgp","asar","stl","chm","3mf","zst","jxl","vcf","jls","pst","dwg","parquet","class","arj","cpio","ace","avro","icc","fbx","vsdx","vtt","apk","drc","lz4","potx","xltx","dotx","xltm","ott","ots","otp","odg","otg","xlsm","docm","dotm","potm","pptm","jar","jmp","rm","sav","ppsm","ppsx","tar.gz","reg","dat"],y5=["image/jpeg","image/png","image/gif","image/webp","image/flif","image/x-xcf","image/x-canon-cr2","image/x-canon-cr3","image/tiff","image/bmp","image/vnd.ms-photo","image/vnd.adobe.photoshop","application/x-indesign","application/epub+zip","application/x-xpinstall","application/vnd.ms-powerpoint.slideshow.macroenabled.12","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.openxmlformats-officedocument.presentationml.slideshow","application/zip","application/x-tar","application/x-rar-compressed","application/gzip","application/x-bzip2","application/x-7z-compressed","application/x-apple-diskimage","application/vnd.apache.arrow.file","video/mp4","audio/midi","video/matroska","video/webm","video/quicktime","video/vnd.avi","audio/wav","audio/qcelp","audio/x-ms-asf","video/x-ms-asf","application/vnd.ms-asf","video/mpeg","video/3gpp","audio/mpeg","audio/mp4","video/ogg","audio/ogg","audio/ogg; codecs=opus","application/ogg","audio/flac","audio/ape","audio/wavpack","audio/amr","application/pdf","application/x-elf","application/x-mach-binary","application/x-msdownload","application/x-shockwave-flash","application/rtf","application/wasm","font/woff","font/woff2","application/vnd.ms-fontobject","font/ttf","font/otf","font/collection","image/x-icon","video/x-flv","application/postscript","application/eps","application/x-xz","application/x-sqlite3","application/x-nintendo-nes-rom","application/x-google-chrome-extension","application/vnd.ms-cab-compressed","application/x-deb","application/x-unix-archive","application/x-rpm","application/x-compress","application/x-lzip","application/x-cfb","application/x-mie","application/mxf","video/mp2t","application/x-blender","image/bpg","image/j2c","image/jp2","image/jpx","image/jpm","image/mj2","audio/aiff","application/xml","application/x-mobipocket-ebook","image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/icns","image/ktx","application/dicom","audio/x-musepack","text/calendar","text/vcard","text/vtt","model/gltf-binary","application/vnd.tcpdump.pcap","audio/x-dsf","application/x.ms.shortcut","application/x.apple.alias","audio/x-voc","audio/vnd.dolby.dd-raw","audio/x-m4a","image/apng","image/x-olympus-orf","image/x-sony-arw","image/x-adobe-dng","image/x-nikon-nef","image/x-panasonic-rw2","image/x-fujifilm-raf","video/x-m4v","video/3gpp2","application/x-esri-shape","audio/aac","audio/x-it","audio/x-s3m","audio/x-xm","video/MP1S","video/MP2P","application/vnd.sketchup.skp","image/avif","application/x-lzh-compressed","application/pgp-encrypted","application/x-asar","model/stl","application/vnd.ms-htmlhelp","model/3mf","image/jxl","application/zstd","image/jls","application/vnd.ms-outlook","image/vnd.dwg","application/vnd.apache.parquet","application/java-vm","application/x-arj","application/x-cpio","application/x-ace-compressed","application/avro","application/vnd.iccprofile","application/x.autodesk.fbx","application/vnd.visio","application/vnd.android.package-archive","application/vnd.google.draco","application/x-lz4","application/vnd.openxmlformats-officedocument.presentationml.template","application/vnd.openxmlformats-officedocument.spreadsheetml.template","application/vnd.openxmlformats-officedocument.wordprocessingml.template","application/vnd.ms-excel.template.macroenabled.12","application/vnd.oasis.opendocument.text-template","application/vnd.oasis.opendocument.spreadsheet-template","application/vnd.oasis.opendocument.presentation-template","application/vnd.oasis.opendocument.graphics","application/vnd.oasis.opendocument.graphics-template","application/vnd.ms-excel.sheet.macroenabled.12","application/vnd.ms-word.document.macroenabled.12","application/vnd.ms-word.template.macroenabled.12","application/vnd.ms-powerpoint.template.macroenabled.12","application/vnd.ms-powerpoint.presentation.macroenabled.12","application/java-archive","application/vnd.rn-realmedia","application/x-spss-sav","application/x-ms-regedit","application/x-ft-windows-registry-hive","application/x-jmp-data"]});async function d5(Y,Z){return new IZ(Z).fromBuffer(Y)}async function h5(Y,Z){return new IZ(Z).fromBlob(Y)}function U6(Y){switch(Y=Y.toLowerCase(),Y){case"application/epub+zip":return{ext:"epub",mime:Y};case"application/vnd.oasis.opendocument.text":return{ext:"odt",mime:Y};case"application/vnd.oasis.opendocument.text-template":return{ext:"ott",mime:Y};case"application/vnd.oasis.opendocument.spreadsheet":return{ext:"ods",mime:Y};case"application/vnd.oasis.opendocument.spreadsheet-template":return{ext:"ots",mime:Y};case"application/vnd.oasis.opendocument.presentation":return{ext:"odp",mime:Y};case"application/vnd.oasis.opendocument.presentation-template":return{ext:"otp",mime:Y};case"application/vnd.oasis.opendocument.graphics":return{ext:"odg",mime:Y};case"application/vnd.oasis.opendocument.graphics-template":return{ext:"otg",mime:Y};case"application/vnd.openxmlformats-officedocument.presentationml.slideshow":return{ext:"ppsx",mime:Y};case"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":return{ext:"xlsx",mime:Y};case"application/vnd.ms-excel.sheet.macroenabled":return{ext:"xlsm",mime:"application/vnd.ms-excel.sheet.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.spreadsheetml.template":return{ext:"xltx",mime:Y};case"application/vnd.ms-excel.template.macroenabled":return{ext:"xltm",mime:"application/vnd.ms-excel.template.macroenabled.12"};case"application/vnd.ms-powerpoint.slideshow.macroenabled":return{ext:"ppsm",mime:"application/vnd.ms-powerpoint.slideshow.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.wordprocessingml.document":return{ext:"docx",mime:Y};case"application/vnd.ms-word.document.macroenabled":return{ext:"docm",mime:"application/vnd.ms-word.document.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.wordprocessingml.template":return{ext:"dotx",mime:Y};case"application/vnd.ms-word.template.macroenabledtemplate":return{ext:"dotm",mime:"application/vnd.ms-word.template.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.presentationml.template":return{ext:"potx",mime:Y};case"application/vnd.ms-powerpoint.template.macroenabled":return{ext:"potm",mime:"application/vnd.ms-powerpoint.template.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.presentationml.presentation":return{ext:"pptx",mime:Y};case"application/vnd.ms-powerpoint.presentation.macroenabled":return{ext:"pptm",mime:"application/vnd.ms-powerpoint.presentation.macroenabled.12"};case"application/vnd.ms-visio.drawing":return{ext:"vsdx",mime:"application/vnd.visio"};case"application/vnd.ms-package.3dmanufacturing-3dmodel+xml":return{ext:"3mf",mime:"model/3mf"};default:}}function xY(Y,Z,X){X={offset:0,...X};for(let[$,Q]of Z.entries())if(X.mask){if(Q!==(X.mask[$]&Y[$+X.offset]))return!1}else if(Q!==Y[$+X.offset])return!1;return!0}async function m5(Y,Z){return new IZ(Z).fromTokenizer(Y)}class IZ{constructor(Y){this.options={mpegOffsetTolerance:0,...Y},this.detectors=[...Y?.customDetectors??[],{id:"core",detect:this.detectConfident},{id:"core.imprecise",detect:this.detectImprecise}],this.tokenizerOptions={abortSignal:Y?.signal}}async fromTokenizer(Y){let Z=Y.position;for(let X of this.detectors){let $=await X.detect(Y);if($)return $;if(Z!==Y.position)return}}async fromBuffer(Y){if(!(Y instanceof Uint8Array||Y instanceof ArrayBuffer))throw TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof Y}\``);let Z=Y instanceof Uint8Array?Y:new Uint8Array(Y);if(!(Z?.length>1))return;return this.fromTokenizer(Z5(Z,this.tokenizerOptions))}async fromBlob(Y){let Z=X5(Y,this.tokenizerOptions);try{return await this.fromTokenizer(Z)}finally{await Z.close()}}async fromStream(Y){let Z=b$(Y,this.tokenizerOptions);try{return await this.fromTokenizer(Z)}finally{await Z.close()}}async toDetectionStream(Y,Z){let{sampleSize:X=OX}=Z,$,Q,W=Y.getReader({mode:"byob"});try{let{value:G,done:B}=await W.read(new Uint8Array(X));if(Q=G,!B&&G)try{$=await this.fromBuffer(G.subarray(0,X))}catch(z){if(!(z instanceof _1))throw z;$=void 0}Q=G}finally{W.releaseLock()}let J=new TransformStream({async start(G){G.enqueue(Q)},transform(G,B){B.enqueue(G)}}),M=Y.pipeThrough(J);return M.fileType=$,M}check(Y,Z){return xY(this.buffer,Y,Z)}checkString(Y,Z){return this.check(T5(Y,Z?.encoding),Z)}detectConfident=async(Y)=>{if(this.buffer=new Uint8Array(OX),Y.fileInfo.size===void 0)Y.fileInfo.size=Number.MAX_SAFE_INTEGER;if(this.tokenizer=Y,await Y.peekBuffer(this.buffer,{length:32,mayBeLess:!0}),this.check([66,77]))return{ext:"bmp",mime:"image/bmp"};if(this.check([11,119]))return{ext:"ac3",mime:"audio/vnd.dolby.dd-raw"};if(this.check([120,1]))return{ext:"dmg",mime:"application/x-apple-diskimage"};if(this.check([77,90]))return{ext:"exe",mime:"application/x-msdownload"};if(this.check([37,33])){if(await Y.peekBuffer(this.buffer,{length:24,mayBeLess:!0}),this.checkString("PS-Adobe-",{offset:2})&&this.checkString(" EPSF-",{offset:14}))return{ext:"eps",mime:"application/eps"};return{ext:"ps",mime:"application/postscript"}}if(this.check([31,160])||this.check([31,157]))return{ext:"Z",mime:"application/x-compress"};if(this.check([199,113]))return{ext:"cpio",mime:"application/x-cpio"};if(this.check([96,234]))return{ext:"arj",mime:"application/x-arj"};if(this.check([239,187,191]))return this.tokenizer.ignore(3),this.detectConfident(Y);if(this.check([71,73,70]))return{ext:"gif",mime:"image/gif"};if(this.check([73,73,188]))return{ext:"jxr",mime:"image/vnd.ms-photo"};if(this.check([31,139,8])){let X=new d$(Y).inflate(),$=!0;try{let Q;try{Q=await this.fromStream(X)}catch{$=!1}if(Q&&Q.ext==="tar")return{ext:"tar.gz",mime:"application/gzip"}}finally{if($)await X.cancel()}return{ext:"gz",mime:"application/gzip"}}if(this.check([66,90,104]))return{ext:"bz2",mime:"application/x-bzip2"};if(this.checkString("ID3")){await Y.ignore(6);let Z=await Y.readToken(k5);if(Y.position+Z>Y.fileInfo.size)return{ext:"mp3",mime:"audio/mpeg"};return await Y.ignore(Z),this.fromTokenizer(Y)}if(this.checkString("MP+"))return{ext:"mpc",mime:"audio/x-musepack"};if((this.buffer[0]===67||this.buffer[0]===70)&&this.check([87,83],{offset:1}))return{ext:"swf",mime:"application/x-shockwave-flash"};if(this.check([255,216,255])){if(this.check([247],{offset:3}))return{ext:"jls",mime:"image/jls"};return{ext:"jpg",mime:"image/jpeg"}}if(this.check([79,98,106,1]))return{ext:"avro",mime:"application/avro"};if(this.checkString("FLIF"))return{ext:"flif",mime:"image/flif"};if(this.checkString("8BPS"))return{ext:"psd",mime:"image/vnd.adobe.photoshop"};if(this.checkString("MPCK"))return{ext:"mpc",mime:"audio/x-musepack"};if(this.checkString("FORM"))return{ext:"aif",mime:"audio/aiff"};if(this.checkString("icns",{offset:0}))return{ext:"icns",mime:"image/icns"};if(this.check([80,75,3,4])){let Z;return await new LX(Y).unzip((X)=>{switch(X.filename){case"META-INF/mozilla.rsa":return Z={ext:"xpi",mime:"application/x-xpinstall"},{stop:!0};case"META-INF/MANIFEST.MF":return Z={ext:"jar",mime:"application/java-archive"},{stop:!0};case"mimetype":return{async handler($){let Q=new TextDecoder("utf-8").decode($).trim();Z=U6(Q)},stop:!0};case"[Content_Types].xml":return{async handler($){let Q=new TextDecoder("utf-8").decode($),W=Q.indexOf('.main+xml"');if(W===-1){if(Q.includes('ContentType="application/vnd.ms-package.3dmanufacturing-3dmodel+xml"'))Z=U6("application/vnd.ms-package.3dmanufacturing-3dmodel+xml")}else{Q=Q.slice(0,Math.max(0,W));let J=Q.lastIndexOf('"'),M=Q.slice(Math.max(0,J+1));Z=U6(M)}},stop:!0};default:if(/classes\d*\.dex/.test(X.filename))return Z={ext:"apk",mime:"application/vnd.android.package-archive"},{stop:!0};return{}}}).catch((X)=>{if(!(X instanceof _1))throw X}),Z??{ext:"zip",mime:"application/zip"}}if(this.checkString("OggS")){await Y.ignore(28);let Z=new Uint8Array(8);if(await Y.readBuffer(Z),xY(Z,[79,112,117,115,72,101,97,100]))return{ext:"opus",mime:"audio/ogg; codecs=opus"};if(xY(Z,[128,116,104,101,111,114,97]))return{ext:"ogv",mime:"video/ogg"};if(xY(Z,[1,118,105,100,101,111,0]))return{ext:"ogm",mime:"video/ogg"};if(xY(Z,[127,70,76,65,67]))return{ext:"oga",mime:"audio/ogg"};if(xY(Z,[83,112,101,101,120,32,32]))return{ext:"spx",mime:"audio/ogg"};if(xY(Z,[1,118,111,114,98,105,115]))return{ext:"ogg",mime:"audio/ogg"};return{ext:"ogx",mime:"application/ogg"}}if(this.check([80,75])&&(this.buffer[2]===3||this.buffer[2]===5||this.buffer[2]===7)&&(this.buffer[3]===4||this.buffer[3]===6||this.buffer[3]===8))return{ext:"zip",mime:"application/zip"};if(this.checkString("MThd"))return{ext:"mid",mime:"audio/midi"};if(this.checkString("wOFF")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff",mime:"font/woff"};if(this.checkString("wOF2")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff2",mime:"font/woff2"};if(this.check([212,195,178,161])||this.check([161,178,195,212]))return{ext:"pcap",mime:"application/vnd.tcpdump.pcap"};if(this.checkString("DSD "))return{ext:"dsf",mime:"audio/x-dsf"};if(this.checkString("LZIP"))return{ext:"lz",mime:"application/x-lzip"};if(this.checkString("fLaC"))return{ext:"flac",mime:"audio/flac"};if(this.check([66,80,71,251]))return{ext:"bpg",mime:"image/bpg"};if(this.checkString("wvpk"))return{ext:"wv",mime:"audio/wavpack"};if(this.checkString("%PDF"))return{ext:"pdf",mime:"application/pdf"};if(this.check([0,97,115,109]))return{ext:"wasm",mime:"application/wasm"};if(this.check([73,73])){let Z=await this.readTiffHeader(!1);if(Z)return Z}if(this.check([77,77])){let Z=await this.readTiffHeader(!0);if(Z)return Z}if(this.checkString("MAC "))return{ext:"ape",mime:"audio/ape"};if(this.check([26,69,223,163])){async function Z(){let J=await Y.peekNumber(B5),M=128,G=0;while((J&M)===0&&M!==0)++G,M>>=1;let B=new Uint8Array(G+1);return await Y.readBuffer(B),B}async function X(){let J=await Z(),M=await Z();M[0]^=128>>M.length-1;let G=Math.min(6,M.length),B=new DataView(J.buffer),z=new DataView(M.buffer,M.length-G,G);return{id:N6(B),len:N6(z)}}async function $(J){while(J>0){let M=await X();if(M.id===17026)return(await Y.readToken(new i0(M.len))).replaceAll(/\00.*$/g,"");await Y.ignore(M.len),--J}}let Q=await X();switch(await $(Q.len)){case"webm":return{ext:"webm",mime:"video/webm"};case"matroska":return{ext:"mkv",mime:"video/matroska"};default:return}}if(this.checkString("SQLi"))return{ext:"sqlite",mime:"application/x-sqlite3"};if(this.check([78,69,83,26]))return{ext:"nes",mime:"application/x-nintendo-nes-rom"};if(this.checkString("Cr24"))return{ext:"crx",mime:"application/x-google-chrome-extension"};if(this.checkString("MSCF")||this.checkString("ISc("))return{ext:"cab",mime:"application/vnd.ms-cab-compressed"};if(this.check([237,171,238,219]))return{ext:"rpm",mime:"application/x-rpm"};if(this.check([197,208,211,198]))return{ext:"eps",mime:"application/eps"};if(this.check([40,181,47,253]))return{ext:"zst",mime:"application/zstd"};if(this.check([127,69,76,70]))return{ext:"elf",mime:"application/x-elf"};if(this.check([33,66,68,78]))return{ext:"pst",mime:"application/vnd.ms-outlook"};if(this.checkString("PAR1")||this.checkString("PARE"))return{ext:"parquet",mime:"application/vnd.apache.parquet"};if(this.checkString("ttcf"))return{ext:"ttc",mime:"font/collection"};if(this.check([254,237,250,206])||this.check([254,237,250,207])||this.check([206,250,237,254])||this.check([207,250,237,254]))return{ext:"macho",mime:"application/x-mach-binary"};if(this.check([4,34,77,24]))return{ext:"lz4",mime:"application/x-lz4"};if(this.checkString("regf"))return{ext:"dat",mime:"application/x-ft-windows-registry-hive"};if(this.checkString("$FL2")||this.checkString("$FL3"))return{ext:"sav",mime:"application/x-spss-sav"};if(this.check([79,84,84,79,0]))return{ext:"otf",mime:"font/otf"};if(this.checkString("#!AMR"))return{ext:"amr",mime:"audio/amr"};if(this.checkString("{\\rtf"))return{ext:"rtf",mime:"application/rtf"};if(this.check([70,76,86,1]))return{ext:"flv",mime:"video/x-flv"};if(this.checkString("IMPM"))return{ext:"it",mime:"audio/x-it"};if(this.checkString("-lh0-",{offset:2})||this.checkString("-lh1-",{offset:2})||this.checkString("-lh2-",{offset:2})||this.checkString("-lh3-",{offset:2})||this.checkString("-lh4-",{offset:2})||this.checkString("-lh5-",{offset:2})||this.checkString("-lh6-",{offset:2})||this.checkString("-lh7-",{offset:2})||this.checkString("-lzs-",{offset:2})||this.checkString("-lz4-",{offset:2})||this.checkString("-lz5-",{offset:2})||this.checkString("-lhd-",{offset:2}))return{ext:"lzh",mime:"application/x-lzh-compressed"};if(this.check([0,0,1,186])){if(this.check([33],{offset:4,mask:[241]}))return{ext:"mpg",mime:"video/MP1S"};if(this.check([68],{offset:4,mask:[196]}))return{ext:"mpg",mime:"video/MP2P"}}if(this.checkString("ITSF"))return{ext:"chm",mime:"application/vnd.ms-htmlhelp"};if(this.check([202,254,186,190])){let Z=J6.get(this.buffer,4),X=l8.get(this.buffer,6);if(Z>0&&Z<=30)return{ext:"macho",mime:"application/x-mach-binary"};if(X>30)return{ext:"class",mime:"application/java-vm"}}if(this.checkString(".RMF"))return{ext:"rm",mime:"application/vnd.rn-realmedia"};if(this.checkString("DRACO"))return{ext:"drc",mime:"application/vnd.google.draco"};if(this.check([253,55,122,88,90,0]))return{ext:"xz",mime:"application/x-xz"};if(this.checkString("<?xml "))return{ext:"xml",mime:"application/xml"};if(this.check([55,122,188,175,39,28]))return{ext:"7z",mime:"application/x-7z-compressed"};if(this.check([82,97,114,33,26,7])&&(this.buffer[6]===0||this.buffer[6]===1))return{ext:"rar",mime:"application/x-rar-compressed"};if(this.checkString("solid "))return{ext:"stl",mime:"model/stl"};if(this.checkString("AC")){let Z=new i0(4,"latin1").get(this.buffer,2);if(Z.match("^d*")&&Z>=1000&&Z<=1050)return{ext:"dwg",mime:"image/vnd.dwg"}}if(this.checkString("070707"))return{ext:"cpio",mime:"application/x-cpio"};if(this.checkString("BLENDER"))return{ext:"blend",mime:"application/x-blender"};if(this.checkString("!<arch>")){if(await Y.ignore(8),await Y.readToken(new i0(13,"ascii"))==="debian-binary")return{ext:"deb",mime:"application/x-deb"};return{ext:"ar",mime:"application/x-unix-archive"}}if(this.checkString("WEBVTT")&&[`
7
- `,"\r","\t"," ","\x00"].some((Z)=>this.checkString(Z,{offset:6})))return{ext:"vtt",mime:"text/vtt"};if(this.check([137,80,78,71,13,10,26,10])){await Y.ignore(8);async function Z(){return{length:await Y.readToken(N5),type:await Y.readToken(new i0(4,"latin1"))}}do{let X=await Z();if(X.length<0)return;switch(X.type){case"IDAT":return{ext:"png",mime:"image/png"};case"acTL":return{ext:"apng",mime:"image/apng"};default:await Y.ignore(X.length+4)}}while(Y.position+8<Y.fileInfo.size);return{ext:"png",mime:"image/png"}}if(this.check([65,82,82,79,87,49,0,0]))return{ext:"arrow",mime:"application/vnd.apache.arrow.file"};if(this.check([103,108,84,70,2,0,0,0]))return{ext:"glb",mime:"model/gltf-binary"};if(this.check([102,114,101,101],{offset:4})||this.check([109,100,97,116],{offset:4})||this.check([109,111,111,118],{offset:4})||this.check([119,105,100,101],{offset:4}))return{ext:"mov",mime:"video/quicktime"};if(this.check([73,73,82,79,8,0,0,0,24]))return{ext:"orf",mime:"image/x-olympus-orf"};if(this.checkString("gimp xcf "))return{ext:"xcf",mime:"image/x-xcf"};if(this.checkString("ftyp",{offset:4})&&(this.buffer[8]&96)!==0){let Z=new i0(4,"latin1").get(this.buffer,8).replace("\x00"," ").trim();switch(Z){case"avif":case"avis":return{ext:"avif",mime:"image/avif"};case"mif1":return{ext:"heic",mime:"image/heif"};case"msf1":return{ext:"heic",mime:"image/heif-sequence"};case"heic":case"heix":return{ext:"heic",mime:"image/heic"};case"hevc":case"hevx":return{ext:"heic",mime:"image/heic-sequence"};case"qt":return{ext:"mov",mime:"video/quicktime"};case"M4V":case"M4VH":case"M4VP":return{ext:"m4v",mime:"video/x-m4v"};case"M4P":return{ext:"m4p",mime:"video/mp4"};case"M4B":return{ext:"m4b",mime:"audio/mp4"};case"M4A":return{ext:"m4a",mime:"audio/x-m4a"};case"F4V":return{ext:"f4v",mime:"video/mp4"};case"F4P":return{ext:"f4p",mime:"video/mp4"};case"F4A":return{ext:"f4a",mime:"audio/mp4"};case"F4B":return{ext:"f4b",mime:"audio/mp4"};case"crx":return{ext:"cr3",mime:"image/x-canon-cr3"};default:if(Z.startsWith("3g")){if(Z.startsWith("3g2"))return{ext:"3g2",mime:"video/3gpp2"};return{ext:"3gp",mime:"video/3gpp"}}return{ext:"mp4",mime:"video/mp4"}}}if(this.checkString(`REGEDIT4\r
8
- `))return{ext:"reg",mime:"application/x-ms-regedit"};if(this.check([82,73,70,70])){if(this.checkString("WEBP",{offset:8}))return{ext:"webp",mime:"image/webp"};if(this.check([65,86,73],{offset:8}))return{ext:"avi",mime:"video/vnd.avi"};if(this.check([87,65,86,69],{offset:8}))return{ext:"wav",mime:"audio/wav"};if(this.check([81,76,67,77],{offset:8}))return{ext:"qcp",mime:"audio/qcelp"}}if(this.check([73,73,85,0,24,0,0,0,136,231,116,216]))return{ext:"rw2",mime:"image/x-panasonic-rw2"};if(this.check([48,38,178,117,142,102,207,17,166,217])){async function Z(){let X=new Uint8Array(16);return await Y.readBuffer(X),{id:X,size:Number(await Y.readToken(U5))}}await Y.ignore(30);while(Y.position+24<Y.fileInfo.size){let X=await Z(),$=X.size-24;if(xY(X.id,[145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101])){let Q=new Uint8Array(16);if($-=await Y.readBuffer(Q),xY(Q,[64,158,105,248,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"audio/x-ms-asf"};if(xY(Q,[192,239,25,188,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"video/x-ms-asf"};break}await Y.ignore($)}return{ext:"asf",mime:"application/vnd.ms-asf"}}if(this.check([171,75,84,88,32,49,49,187,13,10,26,10]))return{ext:"ktx",mime:"image/ktx"};if((this.check([126,16,4])||this.check([126,24,4]))&&this.check([48,77,73,69],{offset:4}))return{ext:"mie",mime:"application/x-mie"};if(this.check([39,10,0,0,0,0,0,0,0,0,0,0],{offset:2}))return{ext:"shp",mime:"application/x-esri-shape"};if(this.check([255,79,255,81]))return{ext:"j2c",mime:"image/j2c"};if(this.check([0,0,0,12,106,80,32,32,13,10,135,10]))switch(await Y.ignore(20),await Y.readToken(new i0(4,"ascii"))){case"jp2 ":return{ext:"jp2",mime:"image/jp2"};case"jpx ":return{ext:"jpx",mime:"image/jpx"};case"jpm ":return{ext:"jpm",mime:"image/jpm"};case"mjp2":return{ext:"mj2",mime:"image/mj2"};default:return}if(this.check([255,10])||this.check([0,0,0,12,74,88,76,32,13,10,135,10]))return{ext:"jxl",mime:"image/jxl"};if(this.check([254,255])){if(this.checkString("<?xml ",{offset:2,encoding:"utf-16be"}))return{ext:"xml",mime:"application/xml"};return}if(this.check([208,207,17,224,161,177,26,225]))return{ext:"cfb",mime:"application/x-cfb"};if(await Y.peekBuffer(this.buffer,{length:Math.min(256,Y.fileInfo.size),mayBeLess:!0}),this.check([97,99,115,112],{offset:36}))return{ext:"icc",mime:"application/vnd.iccprofile"};if(this.checkString("**ACE",{offset:7})&&this.checkString("**",{offset:12}))return{ext:"ace",mime:"application/x-ace-compressed"};if(this.checkString("BEGIN:")){if(this.checkString("VCARD",{offset:6}))return{ext:"vcf",mime:"text/vcard"};if(this.checkString("VCALENDAR",{offset:6}))return{ext:"ics",mime:"text/calendar"}}if(this.checkString("FUJIFILMCCD-RAW"))return{ext:"raf",mime:"image/x-fujifilm-raf"};if(this.checkString("Extended Module:"))return{ext:"xm",mime:"audio/x-xm"};if(this.checkString("Creative Voice File"))return{ext:"voc",mime:"audio/x-voc"};if(this.check([4,0,0,0])&&this.buffer.length>=16){let Z=new DataView(this.buffer.buffer).getUint32(12,!0);if(Z>12&&this.buffer.length>=Z+16)try{let X=new TextDecoder().decode(this.buffer.subarray(16,Z+16));if(JSON.parse(X).files)return{ext:"asar",mime:"application/x-asar"}}catch{}}if(this.check([6,14,43,52,2,5,1,1,13,1,2,1,1,2]))return{ext:"mxf",mime:"application/mxf"};if(this.checkString("SCRM",{offset:44}))return{ext:"s3m",mime:"audio/x-s3m"};if(this.check([71])&&this.check([71],{offset:188}))return{ext:"mts",mime:"video/mp2t"};if(this.check([71],{offset:4})&&this.check([71],{offset:196}))return{ext:"mts",mime:"video/mp2t"};if(this.check([66,79,79,75,77,79,66,73],{offset:60}))return{ext:"mobi",mime:"application/x-mobipocket-ebook"};if(this.check([68,73,67,77],{offset:128}))return{ext:"dcm",mime:"application/dicom"};if(this.check([76,0,0,0,1,20,2,0,0,0,0,0,192,0,0,0,0,0,0,70]))return{ext:"lnk",mime:"application/x.ms.shortcut"};if(this.check([98,111,111,107,0,0,0,0,109,97,114,107,0,0,0,0]))return{ext:"alias",mime:"application/x.apple.alias"};if(this.checkString("Kaydara FBX Binary \x00"))return{ext:"fbx",mime:"application/x.autodesk.fbx"};if(this.check([76,80],{offset:34})&&(this.check([0,0,1],{offset:8})||this.check([1,0,2],{offset:8})||this.check([2,0,2],{offset:8})))return{ext:"eot",mime:"application/vnd.ms-fontobject"};if(this.check([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29]))return{ext:"indd",mime:"application/x-indesign"};if(this.check([255,255,0,0,7,0,0,0,4,0,0,0,1,0,1,0])||this.check([0,0,255,255,0,0,0,7,0,0,0,4,0,1,0,1]))return{ext:"jmp",mime:"application/x-jmp-data"};if(await Y.peekBuffer(this.buffer,{length:Math.min(512,Y.fileInfo.size),mayBeLess:!0}),this.checkString("ustar",{offset:257})&&(this.checkString("\x00",{offset:262})||this.checkString(" ",{offset:262}))||this.check([0,0,0,0,0,0],{offset:257})&&x5(this.buffer))return{ext:"tar",mime:"application/x-tar"};if(this.check([255,254])){if(this.checkString("<?xml ",{offset:2,encoding:"utf-16le"}))return{ext:"xml",mime:"application/xml"};if(this.check([255,14],{offset:2})&&this.checkString("SketchUp Model",{offset:4,encoding:"utf-16le"}))return{ext:"skp",mime:"application/vnd.sketchup.skp"};if(this.checkString(`Windows Registry Editor Version 5.00\r
9
- `,{offset:2,encoding:"utf-16le"}))return{ext:"reg",mime:"application/x-ms-regedit"};return}if(this.checkString("-----BEGIN PGP MESSAGE-----"))return{ext:"pgp",mime:"application/pgp-encrypted"}};detectImprecise=async(Y)=>{if(this.buffer=new Uint8Array(OX),await Y.peekBuffer(this.buffer,{length:Math.min(8,Y.fileInfo.size),mayBeLess:!0}),this.check([0,0,1,186])||this.check([0,0,1,179]))return{ext:"mpg",mime:"video/mpeg"};if(this.check([0,1,0,0,0]))return{ext:"ttf",mime:"font/ttf"};if(this.check([0,0,1,0]))return{ext:"ico",mime:"image/x-icon"};if(this.check([0,0,2,0]))return{ext:"cur",mime:"image/x-icon"};if(await Y.peekBuffer(this.buffer,{length:Math.min(2+this.options.mpegOffsetTolerance,Y.fileInfo.size),mayBeLess:!0}),this.buffer.length>=2+this.options.mpegOffsetTolerance)for(let Z=0;Z<=this.options.mpegOffsetTolerance;++Z){let X=this.scanMpeg(Z);if(X)return X}};async readTiffTag(Y){let Z=await this.tokenizer.readToken(Y?l8:d1);switch(this.tokenizer.ignore(10),Z){case 50341:return{ext:"arw",mime:"image/x-sony-arw"};case 50706:return{ext:"dng",mime:"image/x-adobe-dng"};default:}}async readTiffIFD(Y){let Z=await this.tokenizer.readToken(Y?l8:d1);for(let X=0;X<Z;++X){let $=await this.readTiffTag(Y);if($)return $}}async readTiffHeader(Y){let Z=(Y?l8:d1).get(this.buffer,2),X=(Y?J6:o1).get(this.buffer,4);if(Z===42){if(X>=6){if(this.checkString("CR",{offset:8}))return{ext:"cr2",mime:"image/x-canon-cr2"};if(X>=8){let Q=(Y?l8:d1).get(this.buffer,8),W=(Y?l8:d1).get(this.buffer,10);if(Q===28&&W===254||Q===31&&W===11)return{ext:"nef",mime:"image/x-nikon-nef"}}}return await this.tokenizer.ignore(X),await this.readTiffIFD(Y)??{ext:"tif",mime:"image/tiff"}}if(Z===43)return{ext:"tif",mime:"image/tiff"}}scanMpeg(Y){if(this.check([255,224],{offset:Y,mask:[255,224]})){if(this.check([16],{offset:Y+1,mask:[22]})){if(this.check([8],{offset:Y+1,mask:[8]}))return{ext:"aac",mime:"audio/aac"};return{ext:"aac",mime:"audio/aac"}}if(this.check([2],{offset:Y+1,mask:[6]}))return{ext:"mp3",mime:"audio/mpeg"};if(this.check([4],{offset:Y+1,mask:[6]}))return{ext:"mp2",mime:"audio/mpeg"};if(this.check([6],{offset:Y+1,mask:[6]}))return{ext:"mp1",mime:"audio/mpeg"}}}}var OX=4100,c5,u5;var q6=F1(()=>{DX();T$();I5();b5();g5();v5();c5=new Set(f5),u5=new Set(y5)});var i5={};z8(i5,{supportedMimeTypes:()=>u5,supportedExtensions:()=>c5,fileTypeStream:()=>XD,fileTypeFromTokenizer:()=>m5,fileTypeFromStream:()=>ZD,fileTypeFromFile:()=>YD,fileTypeFromBuffer:()=>d5,fileTypeFromBlob:()=>h5,FileTypeParser:()=>PX});import{ReadableStream as rA}from"stream/web";import{pipeline as p5,PassThrough as aA,Readable as eA}from"stream";async function YD(Y,Z){return new PX(Z).fromFile(Y,Z)}async function ZD(Y,Z){return new PX(Z).fromStream(Y)}async function XD(Y,Z={}){return new PX(Z).toDetectionStream(Y,Z)}var PX;var l5=F1(()=>{W5();q6();q6();PX=class PX extends IZ{async fromStream(Y){let Z=await(Y instanceof rA?b$(Y,this.tokenizerOptions):$5(Y,this.tokenizerOptions));try{return await super.fromTokenizer(Z)}finally{await Z.close()}}async fromFile(Y){let Z=await Q5(Y);try{return await super.fromTokenizer(Z)}finally{await Z.close()}}async toDetectionStream(Y,Z={}){if(!(Y instanceof eA))return super.toDetectionStream(Y,Z);let{sampleSize:X=OX}=Z;return new Promise(($,Q)=>{Y.on("error",Q),Y.once("readable",()=>{(async()=>{try{let W=new aA,J=p5?p5(Y,W,()=>{}):Y.pipe(W),M=Y.read(X)??Y.read()??new Uint8Array(0);try{W.fileType=await this.fromBuffer(M)}catch(G){if(G instanceof _1)W.fileType=void 0;else Q(G)}$(J)}catch(W){Q(W)}})()})})}}});import{OTLPTraceExporter as BJ}from"@opentelemetry/exporter-trace-otlp-http";import{Resource as NJ}from"@opentelemetry/resources";import{NodeSDK as UJ}from"@opentelemetry/sdk-node";import{ConsoleSpanExporter as qJ,TraceIdRatioBasedSampler as HJ}from"@opentelemetry/sdk-trace-base";import{ATTR_SERVICE_NAME as AJ}from"@opentelemetry/semantic-conventions";class CY{static instance;sdk=null;constructor(){}static initialize(Y){if(CY.instance){console.error("[Argus] SDK already initialized. Ignoring duplicate call.");return}if(CY.instance=new CY,!Y.enabled)return;let Z=CY.createExporter(Y);CY.instance.sdk=new UJ({resource:new NJ({[AJ]:Y.serviceName}),traceExporter:Z,...Y.samplingRate!==void 0&&{sampler:new HJ(Y.samplingRate)}}),CY.instance.sdk.start()}static createExporter(Y){switch(Y.exporter){case"otlp-http":return new BJ({url:Y.endpoint??"http://localhost:4318/v1/traces"});case"console":default:return new qJ}}static async shutdown(){if(CY.instance?.sdk)await CY.instance.sdk.shutdown()}}import{SpanStatusCode as i6,trace as DJ}from"@opentelemetry/api";function wJ(Y,Z){return function(X,$,Q){let W=Q.value,J=Y??`${X.constructor.name}.${String($)}`;return Q.value=async function(...M){return DJ.getTracer("@elysiumjs/argus").startActiveSpan(J,Z??{},async(B)=>{try{let z=await W.apply(this,M);return B.setStatus({code:i6.OK}),z}catch(z){throw B.setStatus({code:i6.ERROR,message:z instanceof Error?z.message:"Unknown error"}),B.recordException(z),z}finally{B.end()}})},Q}}import{trace as LJ}from"@opentelemetry/api";function OJ(Y={}){let Z=LJ.getActiveSpan();if(!Z)return Y;let X=Z.spanContext();return{...Y,traceId:X.traceId,spanId:X.spanId}}import{SpanStatusCode as QJ,trace as Iw}from"@opentelemetry/api";var H0={};z8(H0,{IsUndefined:()=>l1,IsUint8Array:()=>uY,IsSymbol:()=>qQ,IsString:()=>j1,IsRegExp:()=>nZ,IsObject:()=>w1,IsNumber:()=>f0,IsNull:()=>UQ,IsIterator:()=>NQ,IsFunction:()=>BQ,IsDate:()=>I8,IsBoolean:()=>cY,IsBigInt:()=>lZ,IsAsyncIterator:()=>zQ,IsArray:()=>i1,HasPropertyKey:()=>uX});function uX(Y,Z){return Z in Y}function zQ(Y){return w1(Y)&&!i1(Y)&&!uY(Y)&&Symbol.asyncIterator in Y}function i1(Y){return Array.isArray(Y)}function lZ(Y){return typeof Y==="bigint"}function cY(Y){return typeof Y==="boolean"}function I8(Y){return Y instanceof globalThis.Date}function BQ(Y){return typeof Y==="function"}function NQ(Y){return w1(Y)&&!i1(Y)&&!uY(Y)&&Symbol.iterator in Y}function UQ(Y){return Y===null}function f0(Y){return typeof Y==="number"}function w1(Y){return typeof Y==="object"&&Y!==null}function nZ(Y){return Y instanceof globalThis.RegExp}function j1(Y){return typeof Y==="string"}function qQ(Y){return typeof Y==="symbol"}function uY(Y){return Y instanceof globalThis.Uint8Array}function l1(Y){return Y===void 0}function PJ(Y){return Y.map((Z)=>pX(Z))}function _J(Y){return new Date(Y.getTime())}function jJ(Y){return new Uint8Array(Y)}function KJ(Y){return new RegExp(Y.source,Y.flags)}function FJ(Y){let Z={};for(let X of Object.getOwnPropertyNames(Y))Z[X]=pX(Y[X]);for(let X of Object.getOwnPropertySymbols(Y))Z[X]=pX(Y[X]);return Z}function pX(Y){return i1(Y)?PJ(Y):I8(Y)?_J(Y):uY(Y)?jJ(Y):nZ(Y)?KJ(Y):w1(Y)?FJ(Y):Y}function V1(Y){return pX(Y)}function ZZ(Y,Z){return Z===void 0?V1(Y):V1({...Z,...Y})}function iX(Y){return t(Y)&&globalThis.Symbol.asyncIterator in Y}function lX(Y){return t(Y)&&globalThis.Symbol.iterator in Y}function HQ(Y){return t(Y)&&(globalThis.Object.getPrototypeOf(Y)===Object.prototype||globalThis.Object.getPrototypeOf(Y)===null)}function nX(Y){return Y instanceof globalThis.Promise}function _0(Y){return Y instanceof Date&&globalThis.Number.isFinite(Y.getTime())}function l6(Y){return Y instanceof globalThis.Map}function n6(Y){return Y instanceof globalThis.Set}function n0(Y){return globalThis.ArrayBuffer.isView(Y)}function XZ(Y){return Y instanceof globalThis.Uint8Array}function o(Y,Z){return Z in Y}function t(Y){return Y!==null&&typeof Y==="object"}function l(Y){return globalThis.Array.isArray(Y)&&!globalThis.ArrayBuffer.isView(Y)}function I1(Y){return Y===void 0}function pY(Y){return Y===null}function RY(Y){return typeof Y==="boolean"}function p(Y){return typeof Y==="number"}function oX(Y){return globalThis.Number.isInteger(Y)}function B0(Y){return typeof Y==="bigint"}function J1(Y){return typeof Y==="string"}function B8(Y){return typeof Y==="function"}function iY(Y){return typeof Y==="symbol"}function y0(Y){return B0(Y)||RY(Y)||pY(Y)||p(Y)||J1(Y)||iY(Y)||I1(Y)}var S1;(function(Y){Y.InstanceMode="default",Y.ExactOptionalPropertyTypes=!1,Y.AllowArrayObject=!1,Y.AllowNaN=!1,Y.AllowNullVoid=!1;function Z(J,M){return Y.ExactOptionalPropertyTypes?M in J:J[M]!==void 0}Y.IsExactOptionalProperty=Z;function X(J){let M=t(J);return Y.AllowArrayObject?M:M&&!l(J)}Y.IsObjectLike=X;function $(J){return X(J)&&!(J instanceof Date)&&!(J instanceof Uint8Array)}Y.IsRecordLike=$;function Q(J){return Y.AllowNaN?p(J):Number.isFinite(J)}Y.IsNumberLike=Q;function W(J){let M=I1(J);return Y.AllowNullVoid?M||J===null:M}Y.IsVoidLike=W})(S1||(S1={}));function SJ(Y){return globalThis.Object.freeze(Y).map((Z)=>oZ(Z))}function CJ(Y){return Y}function RJ(Y){return Y}function EJ(Y){return Y}function VJ(Y){let Z={};for(let X of Object.getOwnPropertyNames(Y))Z[X]=oZ(Y[X]);for(let X of Object.getOwnPropertySymbols(Y))Z[X]=oZ(Y[X]);return globalThis.Object.freeze(Z)}function oZ(Y){return i1(Y)?SJ(Y):I8(Y)?CJ(Y):uY(Y)?RJ(Y):nZ(Y)?EJ(Y):w1(Y)?VJ(Y):Y}function C(Y,Z){let X=Z!==void 0?{...Z,...Y}:Y;switch(S1.InstanceMode){case"freeze":return oZ(X);case"clone":return V1(X);default:return X}}class n extends Error{constructor(Y){super(Y)}}var C1=Symbol.for("TypeBox.Transform"),QY=Symbol.for("TypeBox.Readonly"),e1=Symbol.for("TypeBox.Optional"),o0=Symbol.for("TypeBox.Hint"),L=Symbol.for("TypeBox.Kind");function $Z(Y){return w1(Y)&&Y[QY]==="Readonly"}function C0(Y){return w1(Y)&&Y[e1]==="Optional"}function AQ(Y){return Q1(Y,"Any")}function DQ(Y){return Q1(Y,"Argument")}function WY(Y){return Q1(Y,"Array")}function b8(Y){return Q1(Y,"AsyncIterator")}function T8(Y){return Q1(Y,"BigInt")}function lY(Y){return Q1(Y,"Boolean")}function JY(Y){return Q1(Y,"Computed")}function MY(Y){return Q1(Y,"Constructor")}function IJ(Y){return Q1(Y,"Date")}function GY(Y){return Q1(Y,"Function")}function zY(Y){return Q1(Y,"Integer")}function y1(Y){return Q1(Y,"Intersect")}function x8(Y){return Q1(Y,"Iterator")}function Q1(Y,Z){return w1(Y)&&L in Y&&Y[L]===Z}function tX(Y){return cY(Y)||f0(Y)||j1(Y)}function v0(Y){return Q1(Y,"Literal")}function d0(Y){return Q1(Y,"MappedKey")}function b1(Y){return Q1(Y,"MappedResult")}function N8(Y){return Q1(Y,"Never")}function bJ(Y){return Q1(Y,"Not")}function tZ(Y){return Q1(Y,"Null")}function BY(Y){return Q1(Y,"Number")}function n1(Y){return Q1(Y,"Object")}function k8(Y){return Q1(Y,"Promise")}function g8(Y){return Q1(Y,"Record")}function p1(Y){return Q1(Y,"Ref")}function wQ(Y){return Q1(Y,"RegExp")}function nY(Y){return Q1(Y,"String")}function sZ(Y){return Q1(Y,"Symbol")}function h0(Y){return Q1(Y,"TemplateLiteral")}function TJ(Y){return Q1(Y,"This")}function U1(Y){return w1(Y)&&C1 in Y}function m0(Y){return Q1(Y,"Tuple")}function oY(Y){return Q1(Y,"Undefined")}function M1(Y){return Q1(Y,"Union")}function xJ(Y){return Q1(Y,"Uint8Array")}function kJ(Y){return Q1(Y,"Unknown")}function gJ(Y){return Q1(Y,"Unsafe")}function fJ(Y){return Q1(Y,"Void")}function U8(Y){return w1(Y)&&L in Y&&j1(Y[L])}function k1(Y){return AQ(Y)||DQ(Y)||WY(Y)||lY(Y)||T8(Y)||b8(Y)||JY(Y)||MY(Y)||IJ(Y)||GY(Y)||zY(Y)||y1(Y)||x8(Y)||v0(Y)||d0(Y)||b1(Y)||N8(Y)||bJ(Y)||tZ(Y)||BY(Y)||n1(Y)||k8(Y)||g8(Y)||p1(Y)||wQ(Y)||nY(Y)||sZ(Y)||h0(Y)||TJ(Y)||m0(Y)||oY(Y)||M1(Y)||xJ(Y)||kJ(Y)||gJ(Y)||fJ(Y)||U8(Y)}var w={};z8(w,{TypeGuardUnknownTypeError:()=>o6,IsVoid:()=>gW,IsUnsafe:()=>kW,IsUnknown:()=>xW,IsUnionLiteral:()=>iJ,IsUnion:()=>PQ,IsUndefined:()=>bW,IsUint8Array:()=>TW,IsTuple:()=>IW,IsTransform:()=>VW,IsThis:()=>EW,IsTemplateLiteral:()=>RW,IsSymbol:()=>CW,IsString:()=>SW,IsSchema:()=>T1,IsRegExp:()=>FW,IsRef:()=>KW,IsRecursive:()=>pJ,IsRecord:()=>jW,IsReadonly:()=>hJ,IsProperties:()=>sX,IsPromise:()=>_W,IsOptional:()=>mJ,IsObject:()=>PW,IsNumber:()=>OW,IsNull:()=>LW,IsNot:()=>wW,IsNever:()=>DW,IsMappedResult:()=>AW,IsMappedKey:()=>HW,IsLiteralValue:()=>qW,IsLiteralString:()=>NW,IsLiteralNumber:()=>UW,IsLiteralBoolean:()=>uJ,IsLiteral:()=>aZ,IsKindOf:()=>e,IsKind:()=>fW,IsIterator:()=>BW,IsIntersect:()=>zW,IsInteger:()=>GW,IsImport:()=>cJ,IsFunction:()=>MW,IsDate:()=>JW,IsConstructor:()=>WW,IsComputed:()=>QW,IsBoolean:()=>$W,IsBigInt:()=>XW,IsAsyncIterator:()=>ZW,IsArray:()=>YW,IsArgument:()=>e6,IsAny:()=>a6});class o6 extends n{}var yJ=["Argument","Any","Array","AsyncIterator","BigInt","Boolean","Computed","Constructor","Date","Enum","Function","Integer","Intersect","Iterator","Literal","MappedKey","MappedResult","Not","Null","Number","Object","Promise","Record","Ref","RegExp","String","Symbol","TemplateLiteral","This","Tuple","Undefined","Union","Uint8Array","Unknown","Void"];function t6(Y){try{return new RegExp(Y),!0}catch{return!1}}function LQ(Y){if(!j1(Y))return!1;for(let Z=0;Z<Y.length;Z++){let X=Y.charCodeAt(Z);if(X>=7&&X<=13||X===27||X===127)return!1}return!0}function s6(Y){return OQ(Y)||T1(Y)}function rZ(Y){return l1(Y)||lZ(Y)}function K1(Y){return l1(Y)||f0(Y)}function OQ(Y){return l1(Y)||cY(Y)}function L1(Y){return l1(Y)||j1(Y)}function vJ(Y){return l1(Y)||j1(Y)&&LQ(Y)&&t6(Y)}function dJ(Y){return l1(Y)||j1(Y)&&LQ(Y)}function r6(Y){return l1(Y)||T1(Y)}function hJ(Y){return w1(Y)&&Y[QY]==="Readonly"}function mJ(Y){return w1(Y)&&Y[e1]==="Optional"}function a6(Y){return e(Y,"Any")&&L1(Y.$id)}function e6(Y){return e(Y,"Argument")&&f0(Y.index)}function YW(Y){return e(Y,"Array")&&Y.type==="array"&&L1(Y.$id)&&T1(Y.items)&&K1(Y.minItems)&&K1(Y.maxItems)&&OQ(Y.uniqueItems)&&r6(Y.contains)&&K1(Y.minContains)&&K1(Y.maxContains)}function ZW(Y){return e(Y,"AsyncIterator")&&Y.type==="AsyncIterator"&&L1(Y.$id)&&T1(Y.items)}function XW(Y){return e(Y,"BigInt")&&Y.type==="bigint"&&L1(Y.$id)&&rZ(Y.exclusiveMaximum)&&rZ(Y.exclusiveMinimum)&&rZ(Y.maximum)&&rZ(Y.minimum)&&rZ(Y.multipleOf)}function $W(Y){return e(Y,"Boolean")&&Y.type==="boolean"&&L1(Y.$id)}function QW(Y){return e(Y,"Computed")&&j1(Y.target)&&i1(Y.parameters)&&Y.parameters.every((Z)=>T1(Z))}function WW(Y){return e(Y,"Constructor")&&Y.type==="Constructor"&&L1(Y.$id)&&i1(Y.parameters)&&Y.parameters.every((Z)=>T1(Z))&&T1(Y.returns)}function JW(Y){return e(Y,"Date")&&Y.type==="Date"&&L1(Y.$id)&&K1(Y.exclusiveMaximumTimestamp)&&K1(Y.exclusiveMinimumTimestamp)&&K1(Y.maximumTimestamp)&&K1(Y.minimumTimestamp)&&K1(Y.multipleOfTimestamp)}function MW(Y){return e(Y,"Function")&&Y.type==="Function"&&L1(Y.$id)&&i1(Y.parameters)&&Y.parameters.every((Z)=>T1(Z))&&T1(Y.returns)}function cJ(Y){return e(Y,"Import")&&uX(Y,"$defs")&&w1(Y.$defs)&&sX(Y.$defs)&&uX(Y,"$ref")&&j1(Y.$ref)&&Y.$ref in Y.$defs}function GW(Y){return e(Y,"Integer")&&Y.type==="integer"&&L1(Y.$id)&&K1(Y.exclusiveMaximum)&&K1(Y.exclusiveMinimum)&&K1(Y.maximum)&&K1(Y.minimum)&&K1(Y.multipleOf)}function sX(Y){return w1(Y)&&Object.entries(Y).every(([Z,X])=>LQ(Z)&&T1(X))}function zW(Y){return e(Y,"Intersect")&&(j1(Y.type)&&Y.type!=="object"?!1:!0)&&i1(Y.allOf)&&Y.allOf.every((Z)=>T1(Z)&&!VW(Z))&&L1(Y.type)&&(OQ(Y.unevaluatedProperties)||r6(Y.unevaluatedProperties))&&L1(Y.$id)}function BW(Y){return e(Y,"Iterator")&&Y.type==="Iterator"&&L1(Y.$id)&&T1(Y.items)}function e(Y,Z){return w1(Y)&&L in Y&&Y[L]===Z}function NW(Y){return aZ(Y)&&j1(Y.const)}function UW(Y){return aZ(Y)&&f0(Y.const)}function uJ(Y){return aZ(Y)&&cY(Y.const)}function aZ(Y){return e(Y,"Literal")&&L1(Y.$id)&&qW(Y.const)}function qW(Y){return cY(Y)||f0(Y)||j1(Y)}function HW(Y){return e(Y,"MappedKey")&&i1(Y.keys)&&Y.keys.every((Z)=>f0(Z)||j1(Z))}function AW(Y){return e(Y,"MappedResult")&&sX(Y.properties)}function DW(Y){return e(Y,"Never")&&w1(Y.not)&&Object.getOwnPropertyNames(Y.not).length===0}function wW(Y){return e(Y,"Not")&&T1(Y.not)}function LW(Y){return e(Y,"Null")&&Y.type==="null"&&L1(Y.$id)}function OW(Y){return e(Y,"Number")&&Y.type==="number"&&L1(Y.$id)&&K1(Y.exclusiveMaximum)&&K1(Y.exclusiveMinimum)&&K1(Y.maximum)&&K1(Y.minimum)&&K1(Y.multipleOf)}function PW(Y){return e(Y,"Object")&&Y.type==="object"&&L1(Y.$id)&&sX(Y.properties)&&s6(Y.additionalProperties)&&K1(Y.minProperties)&&K1(Y.maxProperties)}function _W(Y){return e(Y,"Promise")&&Y.type==="Promise"&&L1(Y.$id)&&T1(Y.item)}function jW(Y){return e(Y,"Record")&&Y.type==="object"&&L1(Y.$id)&&s6(Y.additionalProperties)&&w1(Y.patternProperties)&&((Z)=>{let X=Object.getOwnPropertyNames(Z.patternProperties);return X.length===1&&t6(X[0])&&w1(Z.patternProperties)&&T1(Z.patternProperties[X[0]])})(Y)}function pJ(Y){return w1(Y)&&o0 in Y&&Y[o0]==="Recursive"}function KW(Y){return e(Y,"Ref")&&L1(Y.$id)&&j1(Y.$ref)}function FW(Y){return e(Y,"RegExp")&&L1(Y.$id)&&j1(Y.source)&&j1(Y.flags)&&K1(Y.maxLength)&&K1(Y.minLength)}function SW(Y){return e(Y,"String")&&Y.type==="string"&&L1(Y.$id)&&K1(Y.minLength)&&K1(Y.maxLength)&&vJ(Y.pattern)&&dJ(Y.format)}function CW(Y){return e(Y,"Symbol")&&Y.type==="symbol"&&L1(Y.$id)}function RW(Y){return e(Y,"TemplateLiteral")&&Y.type==="string"&&j1(Y.pattern)&&Y.pattern[0]==="^"&&Y.pattern[Y.pattern.length-1]==="$"}function EW(Y){return e(Y,"This")&&L1(Y.$id)&&j1(Y.$ref)}function VW(Y){return w1(Y)&&C1 in Y}function IW(Y){return e(Y,"Tuple")&&Y.type==="array"&&L1(Y.$id)&&f0(Y.minItems)&&f0(Y.maxItems)&&Y.minItems===Y.maxItems&&(l1(Y.items)&&l1(Y.additionalItems)&&Y.minItems===0||i1(Y.items)&&Y.items.every((Z)=>T1(Z)))}function bW(Y){return e(Y,"Undefined")&&Y.type==="undefined"&&L1(Y.$id)}function iJ(Y){return PQ(Y)&&Y.anyOf.every((Z)=>NW(Z)||UW(Z))}function PQ(Y){return e(Y,"Union")&&L1(Y.$id)&&w1(Y)&&i1(Y.anyOf)&&Y.anyOf.every((Z)=>T1(Z))}function TW(Y){return e(Y,"Uint8Array")&&Y.type==="Uint8Array"&&L1(Y.$id)&&K1(Y.minByteLength)&&K1(Y.maxByteLength)}function xW(Y){return e(Y,"Unknown")&&L1(Y.$id)}function kW(Y){return e(Y,"Unsafe")}function gW(Y){return e(Y,"Void")&&Y.type==="void"&&L1(Y.$id)}function fW(Y){return w1(Y)&&L in Y&&j1(Y[L])&&!yJ.includes(Y[L])}function T1(Y){return w1(Y)&&(a6(Y)||e6(Y)||YW(Y)||$W(Y)||XW(Y)||ZW(Y)||QW(Y)||WW(Y)||JW(Y)||MW(Y)||GW(Y)||zW(Y)||BW(Y)||aZ(Y)||HW(Y)||AW(Y)||DW(Y)||wW(Y)||LW(Y)||OW(Y)||PW(Y)||_W(Y)||jW(Y)||KW(Y)||FW(Y)||SW(Y)||CW(Y)||RW(Y)||EW(Y)||IW(Y)||bW(Y)||PQ(Y)||TW(Y)||xW(Y)||kW(Y)||gW(Y)||fW(Y))}var yW="(true|false)",rX="(0|[1-9][0-9]*)",vW="(.*)";var q8="^(0|[1-9][0-9]*)$",H8="^(.*)$",dW="^(?!.*)$";var A1={};z8(A1,{Set:()=>sJ,Has:()=>tJ,Get:()=>rJ,Entries:()=>lJ,Delete:()=>oJ,Clear:()=>nJ});var QZ=new Map;function lJ(){return new Map(QZ)}function nJ(){return QZ.clear()}function oJ(Y){return QZ.delete(Y)}function tJ(Y){return QZ.has(Y)}function sJ(Y,Z){QZ.set(Y,Z)}function rJ(Y){return QZ.get(Y)}var Y0={};z8(Y0,{Set:()=>X9,Has:()=>Z9,Get:()=>$9,Entries:()=>aJ,Delete:()=>Y9,Clear:()=>eJ});var WZ=new Map;function aJ(){return new Map(WZ)}function eJ(){return WZ.clear()}function Y9(Y){return WZ.delete(Y)}function Z9(Y){return WZ.has(Y)}function X9(Y,Z){WZ.set(Y,Z)}function $9(Y){return WZ.get(Y)}function hW(Y,Z){return Y.includes(Z)}function mW(Y){return[...new Set(Y)]}function Q9(Y,Z){return Y.filter((X)=>Z.includes(X))}function W9(Y,Z){return Y.reduce((X,$)=>{return Q9(X,$)},Z)}function cW(Y){return Y.length===1?Y[0]:Y.length>1?W9(Y.slice(1),Y[0]):[]}function uW(Y){let Z=[];for(let X of Y)Z.push(...X);return Z}function A8(Y){return C({[L]:"Any"},Y)}function JZ(Y,Z){return C({[L]:"Array",type:"array",items:Y},Z)}function pW(Y){return C({[L]:"Argument",index:Y})}function MZ(Y,Z){return C({[L]:"AsyncIterator",type:"AsyncIterator",items:Y},Z)}function R1(Y,Z,X){return C({[L]:"Computed",target:Y,parameters:Z},X)}function J9(Y,Z){let{[Z]:X,...$}=Y;return $}function v1(Y,Z){return Z.reduce((X,$)=>J9(X,$),Y)}function r(Y){return C({[L]:"Never",not:{}},Y)}function z1(Y){return C({[L]:"MappedResult",properties:Y})}function GZ(Y,Z,X){return C({[L]:"Constructor",type:"Constructor",parameters:Y,returns:Z},X)}function EY(Y,Z,X){return C({[L]:"Function",type:"Function",parameters:Y,returns:Z},X)}function eZ(Y,Z){return C({[L]:"Union",anyOf:Y},Z)}function M9(Y){return Y.some((Z)=>C0(Z))}function iW(Y){return Y.map((Z)=>C0(Z)?G9(Z):Z)}function G9(Y){return v1(Y,[e1])}function z9(Y,Z){return M9(Y)?A0(eZ(iW(Y),Z)):eZ(iW(Y),Z)}function VY(Y,Z){return Y.length===1?C(Y[0],Z):Y.length===0?r(Z):z9(Y,Z)}function q1(Y,Z){return Y.length===0?r(Z):Y.length===1?C(Y[0],Z):eZ(Y,Z)}class _Q extends n{}function B9(Y){return Y.replace(/\\\$/g,"$").replace(/\\\*/g,"*").replace(/\\\^/g,"^").replace(/\\\|/g,"|").replace(/\\\(/g,"(").replace(/\\\)/g,")")}function jQ(Y,Z,X){return Y[Z]===X&&Y.charCodeAt(Z-1)!==92}function sY(Y,Z){return jQ(Y,Z,"(")}function YX(Y,Z){return jQ(Y,Z,")")}function lW(Y,Z){return jQ(Y,Z,"|")}function N9(Y){if(!(sY(Y,0)&&YX(Y,Y.length-1)))return!1;let Z=0;for(let X=0;X<Y.length;X++){if(sY(Y,X))Z+=1;if(YX(Y,X))Z-=1;if(Z===0&&X!==Y.length-1)return!1}return!0}function U9(Y){return Y.slice(1,Y.length-1)}function q9(Y){let Z=0;for(let X=0;X<Y.length;X++){if(sY(Y,X))Z+=1;if(YX(Y,X))Z-=1;if(lW(Y,X)&&Z===0)return!0}return!1}function H9(Y){for(let Z=0;Z<Y.length;Z++)if(sY(Y,Z))return!0;return!1}function A9(Y){let[Z,X]=[0,0],$=[];for(let W=0;W<Y.length;W++){if(sY(Y,W))Z+=1;if(YX(Y,W))Z-=1;if(lW(Y,W)&&Z===0){let J=Y.slice(X,W);if(J.length>0)$.push(zZ(J));X=W+1}}let Q=Y.slice(X);if(Q.length>0)$.push(zZ(Q));if($.length===0)return{type:"const",const:""};if($.length===1)return $[0];return{type:"or",expr:$}}function D9(Y){function Z(Q,W){if(!sY(Q,W))throw new _Q("TemplateLiteralParser: Index must point to open parens");let J=0;for(let M=W;M<Q.length;M++){if(sY(Q,M))J+=1;if(YX(Q,M))J-=1;if(J===0)return[W,M]}throw new _Q("TemplateLiteralParser: Unclosed group parens in expression")}function X(Q,W){for(let J=W;J<Q.length;J++)if(sY(Q,J))return[W,J];return[W,Q.length]}let $=[];for(let Q=0;Q<Y.length;Q++)if(sY(Y,Q)){let[W,J]=Z(Y,Q),M=Y.slice(W,J+1);$.push(zZ(M)),Q=J}else{let[W,J]=X(Y,Q),M=Y.slice(W,J);if(M.length>0)$.push(zZ(M));Q=J-1}return $.length===0?{type:"const",const:""}:$.length===1?$[0]:{type:"and",expr:$}}function zZ(Y){return N9(Y)?zZ(U9(Y)):q9(Y)?A9(Y):H9(Y)?D9(Y):{type:"const",const:B9(Y)}}function BZ(Y){return zZ(Y.slice(1,Y.length-1))}class nW extends n{}function w9(Y){return Y.type==="or"&&Y.expr.length===2&&Y.expr[0].type==="const"&&Y.expr[0].const==="0"&&Y.expr[1].type==="const"&&Y.expr[1].const==="[1-9][0-9]*"}function L9(Y){return Y.type==="or"&&Y.expr.length===2&&Y.expr[0].type==="const"&&Y.expr[0].const==="true"&&Y.expr[1].type==="const"&&Y.expr[1].const==="false"}function O9(Y){return Y.type==="const"&&Y.const===".*"}function f8(Y){return w9(Y)||O9(Y)?!1:L9(Y)?!0:Y.type==="and"?Y.expr.every((Z)=>f8(Z)):Y.type==="or"?Y.expr.every((Z)=>f8(Z)):Y.type==="const"?!0:(()=>{throw new nW("Unknown expression type")})()}function aX(Y){let Z=BZ(Y.pattern);return f8(Z)}class oW extends n{}function*tW(Y){if(Y.length===1)return yield*Y[0];for(let Z of Y[0])for(let X of tW(Y.slice(1)))yield`${Z}${X}`}function*P9(Y){return yield*tW(Y.expr.map((Z)=>[...ZX(Z)]))}function*_9(Y){for(let Z of Y.expr)yield*ZX(Z)}function*j9(Y){return yield Y.const}function*ZX(Y){return Y.type==="and"?yield*P9(Y):Y.type==="or"?yield*_9(Y):Y.type==="const"?yield*j9(Y):(()=>{throw new oW("Unknown expression")})()}function NZ(Y){let Z=BZ(Y.pattern);return f8(Z)?[...ZX(Z)]:[]}function W1(Y,Z){return C({[L]:"Literal",const:Y,type:typeof Y},Z)}function eX(Y){return C({[L]:"Boolean",type:"boolean"},Y)}function UZ(Y){return C({[L]:"BigInt",type:"bigint"},Y)}function t0(Y){return C({[L]:"Number",type:"number"},Y)}function j0(Y){return C({[L]:"String",type:"string"},Y)}function*K9(Y){let Z=Y.trim().replace(/"|'/g,"");return Z==="boolean"?yield eX():Z==="number"?yield t0():Z==="bigint"?yield UZ():Z==="string"?yield j0():yield(()=>{let X=Z.split("|").map(($)=>W1($.trim()));return X.length===0?r():X.length===1?X[0]:VY(X)})()}function*F9(Y){if(Y[1]!=="{"){let Z=W1("$"),X=KQ(Y.slice(1));return yield*[Z,...X]}for(let Z=2;Z<Y.length;Z++)if(Y[Z]==="}"){let X=K9(Y.slice(2,Z)),$=KQ(Y.slice(Z+1));return yield*[...X,...$]}yield W1(Y)}function*KQ(Y){for(let Z=0;Z<Y.length;Z++)if(Y[Z]==="$"){let X=W1(Y.slice(0,Z)),$=F9(Y.slice(Z));return yield*[X,...$]}yield W1(Y)}function sW(Y){return[...KQ(Y)]}class rW extends n{}function S9(Y){return Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function aW(Y,Z){return h0(Y)?Y.pattern.slice(1,Y.pattern.length-1):M1(Y)?`(${Y.anyOf.map((X)=>aW(X,Z)).join("|")})`:BY(Y)?`${Z}${rX}`:zY(Y)?`${Z}${rX}`:T8(Y)?`${Z}${rX}`:nY(Y)?`${Z}${vW}`:v0(Y)?`${Z}${S9(Y.const.toString())}`:lY(Y)?`${Z}${yW}`:(()=>{throw new rW(`Unexpected Kind '${Y[L]}'`)})()}function FQ(Y){return`^${Y.map((Z)=>aW(Z,"")).join("")}$`}function y8(Y){let X=NZ(Y).map(($)=>W1($));return VY(X)}function Y$(Y,Z){let X=j1(Y)?FQ(sW(Y)):FQ(Y);return C({[L]:"TemplateLiteral",type:"string",pattern:X},Z)}function C9(Y){return NZ(Y).map((X)=>X.toString())}function R9(Y){let Z=[];for(let X of Y)Z.push(...R0(X));return Z}function E9(Y){return[Y.toString()]}function R0(Y){return[...new Set(h0(Y)?C9(Y):M1(Y)?R9(Y.anyOf):v0(Y)?E9(Y.const):BY(Y)?["[number]"]:zY(Y)?["[number]"]:[])]}function V9(Y,Z,X){let $={};for(let Q of Object.getOwnPropertyNames(Z))$[Q]=D8(Y,R0(Z[Q]),X);return $}function I9(Y,Z,X){return V9(Y,Z.properties,X)}function eW(Y,Z,X){let $=I9(Y,Z,X);return z1($)}function Z2(Y,Z){return Y.map((X)=>X2(X,Z))}function b9(Y){return Y.filter((Z)=>!N8(Z))}function T9(Y,Z){return Z$(b9(Z2(Y,Z)))}function x9(Y){return Y.some((Z)=>N8(Z))?[]:Y}function k9(Y,Z){return VY(x9(Z2(Y,Z)))}function g9(Y,Z){return Z in Y?Y[Z]:Z==="[number]"?VY(Y):r()}function f9(Y,Z){return Z==="[number]"?Y:r()}function y9(Y,Z){return Z in Y?Y[Z]:r()}function X2(Y,Z){return y1(Y)?T9(Y.allOf,Z):M1(Y)?k9(Y.anyOf,Z):m0(Y)?g9(Y.items??[],Z):WY(Y)?f9(Y.items,Z):n1(Y)?y9(Y.properties,Z):r()}function XX(Y,Z){return Z.map((X)=>X2(Y,X))}function Y2(Y,Z){return VY(XX(Y,Z))}function D8(Y,Z,X){if(p1(Y)||p1(Z)){if(!k1(Y)||!k1(Z))throw new n("Index types using Ref parameters require both Type and Key to be of TSchema");return R1("Index",[Y,Z])}if(b1(Z))return eW(Y,Z,X);if(d0(Z))return $2(Y,Z,X);return C(k1(Z)?Y2(Y,R0(Z)):Y2(Y,Z),X)}function v9(Y,Z,X){return{[Z]:D8(Y,[Z],V1(X))}}function d9(Y,Z,X){return Z.reduce(($,Q)=>{return{...$,...v9(Y,Q,X)}},{})}function h9(Y,Z,X){return d9(Y,Z.keys,X)}function $2(Y,Z,X){let $=h9(Y,Z,X);return z1($)}function qZ(Y,Z){return C({[L]:"Iterator",type:"Iterator",items:Y},Z)}function m9(Y){let Z=[];for(let X in Y)if(!C0(Y[X]))Z.push(X);return Z}function c9(Y,Z){let X=m9(Y),$=X.length>0?{[L]:"Object",type:"object",properties:Y,required:X}:{[L]:"Object",type:"object",properties:Y};return C($,Z)}var H1=c9;function X$(Y,Z){return C({[L]:"Promise",type:"Promise",item:Y},Z)}function u9(Y){return C(v1(Y,[QY]))}function p9(Y){return C({...Y,[QY]:"Readonly"})}function i9(Y,Z){return Z===!1?u9(Y):p9(Y)}function E0(Y,Z){let X=Z??!0;return b1(Y)?Q2(Y,X):i9(Y,X)}function l9(Y,Z){let X={};for(let $ of globalThis.Object.getOwnPropertyNames(Y))X[$]=E0(Y[$],Z);return X}function n9(Y,Z){return l9(Y.properties,Z)}function Q2(Y,Z){let X=n9(Y,Z);return z1(X)}function s0(Y,Z){return C(Y.length>0?{[L]:"Tuple",type:"array",items:Y,additionalItems:!1,minItems:Y.length,maxItems:Y.length}:{[L]:"Tuple",type:"array",minItems:Y.length,maxItems:Y.length},Z)}function W2(Y,Z){return Y in Z?r0(Y,Z[Y]):z1(Z)}function o9(Y){return{[Y]:W1(Y)}}function t9(Y){let Z={};for(let X of Y)Z[X]=W1(X);return Z}function s9(Y,Z){return hW(Z,Y)?o9(Y):t9(Z)}function r9(Y,Z){let X=s9(Y,Z);return W2(Y,X)}function $X(Y,Z){return Z.map((X)=>r0(Y,X))}function a9(Y,Z){let X={};for(let $ of globalThis.Object.getOwnPropertyNames(Z))X[$]=r0(Y,Z[$]);return X}function r0(Y,Z){let X={...Z};return C0(Z)?A0(r0(Y,v1(Z,[e1]))):$Z(Z)?E0(r0(Y,v1(Z,[QY]))):b1(Z)?W2(Y,Z.properties):d0(Z)?r9(Y,Z.keys):MY(Z)?GZ($X(Y,Z.parameters),r0(Y,Z.returns),X):GY(Z)?EY($X(Y,Z.parameters),r0(Y,Z.returns),X):b8(Z)?MZ(r0(Y,Z.items),X):x8(Z)?qZ(r0(Y,Z.items),X):y1(Z)?D0($X(Y,Z.allOf),X):M1(Z)?q1($X(Y,Z.anyOf),X):m0(Z)?s0($X(Y,Z.items??[]),X):n1(Z)?H1(a9(Y,Z.properties),X):WY(Z)?JZ(r0(Y,Z.items),X):k8(Z)?X$(r0(Y,Z.item),X):Z}function e9(Y,Z){let X={};for(let $ of Y)X[$]=r0($,Z);return X}function J2(Y,Z,X){let $=k1(Y)?R0(Y):Y,Q=Z({[L]:"MappedKey",keys:$}),W=e9($,Q);return H1(W,X)}function YM(Y){return C(v1(Y,[e1]))}function ZM(Y){return C({...Y,[e1]:"Optional"})}function XM(Y,Z){return Z===!1?YM(Y):ZM(Y)}function A0(Y,Z){let X=Z??!0;return b1(Y)?M2(Y,X):XM(Y,X)}function $M(Y,Z){let X={};for(let $ of globalThis.Object.getOwnPropertyNames(Y))X[$]=A0(Y[$],Z);return X}function QM(Y,Z){return $M(Y.properties,Z)}function M2(Y,Z){let X=QM(Y,Z);return z1(X)}function QX(Y,Z={}){let X=Y.every((Q)=>n1(Q)),$=k1(Z.unevaluatedProperties)?{unevaluatedProperties:Z.unevaluatedProperties}:{};return C(Z.unevaluatedProperties===!1||k1(Z.unevaluatedProperties)||X?{...$,[L]:"Intersect",type:"object",allOf:Y}:{...$,[L]:"Intersect",allOf:Y},Z)}function WM(Y){return Y.every((Z)=>C0(Z))}function JM(Y){return v1(Y,[e1])}function G2(Y){return Y.map((Z)=>C0(Z)?JM(Z):Z)}function MM(Y,Z){return WM(Y)?A0(QX(G2(Y),Z)):QX(G2(Y),Z)}function Z$(Y,Z={}){if(Y.length===1)return C(Y[0],Z);if(Y.length===0)return r(Z);if(Y.some((X)=>U1(X)))throw Error("Cannot intersect transform types");return MM(Y,Z)}function D0(Y,Z){if(Y.length===1)return C(Y[0],Z);if(Y.length===0)return r(Z);if(Y.some((X)=>U1(X)))throw Error("Cannot intersect transform types");return QX(Y,Z)}function a0(...Y){let[Z,X]=typeof Y[0]==="string"?[Y[0],Y[1]]:[Y[0].$id,Y[1]];if(typeof Z!=="string")throw new n("Ref: $ref must be a string");return C({[L]:"Ref",$ref:Z},X)}function GM(Y,Z){return R1("Awaited",[R1(Y,Z)])}function zM(Y){return R1("Awaited",[a0(Y)])}function BM(Y){return D0(z2(Y))}function NM(Y){return q1(z2(Y))}function UM(Y){return HZ(Y)}function z2(Y){return Y.map((Z)=>HZ(Z))}function HZ(Y,Z){return C(JY(Y)?GM(Y.target,Y.parameters):y1(Y)?BM(Y.allOf):M1(Y)?NM(Y.anyOf):k8(Y)?UM(Y.item):p1(Y)?zM(Y.$ref):Y,Z)}function B2(Y){let Z=[];for(let X of Y)Z.push(V0(X));return Z}function qM(Y){let Z=B2(Y);return uW(Z)}function HM(Y){let Z=B2(Y);return cW(Z)}function AM(Y){return Y.map((Z,X)=>X.toString())}function DM(Y){return["[number]"]}function wM(Y){return globalThis.Object.getOwnPropertyNames(Y)}function LM(Y){if(!SQ)return[];return globalThis.Object.getOwnPropertyNames(Y).map((X)=>{return X[0]==="^"&&X[X.length-1]==="$"?X.slice(1,X.length-1):X})}function V0(Y){return y1(Y)?qM(Y.allOf):M1(Y)?HM(Y.anyOf):m0(Y)?AM(Y.items??[]):WY(Y)?DM(Y.items):n1(Y)?wM(Y.properties):g8(Y)?LM(Y.patternProperties):[]}var SQ=!1;function rY(Y){SQ=!0;let Z=V0(Y);return SQ=!1,`^(${Z.map(($)=>`(${$})`).join("|")})$`}function OM(Y,Z){return R1("KeyOf",[R1(Y,Z)])}function PM(Y){return R1("KeyOf",[a0(Y)])}function _M(Y,Z){let X=V0(Y),$=jM(X),Q=VY($);return C(Q,Z)}function jM(Y){return Y.map((Z)=>Z==="[number]"?t0():W1(Z))}function AZ(Y,Z){return JY(Y)?OM(Y.target,Y.parameters):p1(Y)?PM(Y.$ref):b1(Y)?N2(Y,Z):_M(Y,Z)}function KM(Y,Z){let X={};for(let $ of globalThis.Object.getOwnPropertyNames(Y))X[$]=AZ(Y[$],V1(Z));return X}function FM(Y,Z){return KM(Y.properties,Z)}function N2(Y,Z){let X=FM(Y,Z);return z1(X)}function $$(Y){let Z=V0(Y),X=XX(Y,Z);return Z.map(($,Q)=>[Z[Q],X[Q]])}function SM(Y){let Z=[];for(let X of Y)Z.push(...V0(X));return mW(Z)}function CM(Y){return Y.filter((Z)=>!N8(Z))}function RM(Y,Z){let X=[];for(let $ of Y)X.push(...XX($,[Z]));return CM(X)}function EM(Y,Z){let X={};for(let $ of Z)X[$]=Z$(RM(Y,$));return X}function U2(Y,Z){let X=SM(Y),$=EM(Y,X);return H1($,Z)}function Q$(Y){return C({[L]:"Date",type:"Date"},Y)}function W$(Y){return C({[L]:"Null",type:"null"},Y)}function J$(Y){return C({[L]:"Symbol",type:"symbol"},Y)}function M$(Y){return C({[L]:"Undefined",type:"undefined"},Y)}function G$(Y){return C({[L]:"Uint8Array",type:"Uint8Array"},Y)}function NY(Y){return C({[L]:"Unknown"},Y)}function VM(Y){return Y.map((Z)=>CQ(Z,!1))}function IM(Y){let Z={};for(let X of globalThis.Object.getOwnPropertyNames(Y))Z[X]=E0(CQ(Y[X],!1));return Z}function z$(Y,Z){return Z===!0?Y:E0(Y)}function CQ(Y,Z){return zQ(Y)?z$(A8(),Z):NQ(Y)?z$(A8(),Z):i1(Y)?E0(s0(VM(Y))):uY(Y)?G$():I8(Y)?Q$():w1(Y)?z$(H1(IM(Y)),Z):BQ(Y)?z$(EY([],NY()),Z):l1(Y)?M$():UQ(Y)?W$():qQ(Y)?J$():lZ(Y)?UZ():f0(Y)?W1(Y):cY(Y)?W1(Y):j1(Y)?W1(Y):H1({})}function q2(Y,Z){return C(CQ(Y,!0),Z)}function H2(Y,Z){return MY(Y)?s0(Y.parameters,Z):r(Z)}function A2(Y,Z){if(l1(Y))throw Error("Enum undefined or empty");let X=globalThis.Object.getOwnPropertyNames(Y).filter((W)=>isNaN(W)).map((W)=>Y[W]),Q=[...new Set(X)].map((W)=>W1(W));return q1(Q,{...Z,[o0]:"Enum"})}class P2 extends n{}var E;(function(Y){Y[Y.Union=0]="Union",Y[Y.True=1]="True",Y[Y.False=2]="False"})(E||(E={}));function e0(Y){return Y===E.False?Y:E.True}function DZ(Y){throw new P2(Y)}function r1(Y){return w.IsNever(Y)||w.IsIntersect(Y)||w.IsUnion(Y)||w.IsUnknown(Y)||w.IsAny(Y)}function a1(Y,Z){return w.IsNever(Z)?K2(Y,Z):w.IsIntersect(Z)?B$(Y,Z):w.IsUnion(Z)?bQ(Y,Z):w.IsUnknown(Z)?R2(Y,Z):w.IsAny(Z)?IQ(Y,Z):DZ("StructuralRight")}function IQ(Y,Z){return E.True}function bM(Y,Z){return w.IsIntersect(Z)?B$(Y,Z):w.IsUnion(Z)&&Z.anyOf.some((X)=>w.IsAny(X)||w.IsUnknown(X))?E.True:w.IsUnion(Z)?E.Union:w.IsUnknown(Z)?E.True:w.IsAny(Z)?E.True:E.Union}function TM(Y,Z){return w.IsUnknown(Y)?E.False:w.IsAny(Y)?E.Union:w.IsNever(Y)?E.True:E.False}function xM(Y,Z){return w.IsObject(Z)&&N$(Z)?E.True:r1(Z)?a1(Y,Z):!w.IsArray(Z)?E.False:e0(O1(Y.items,Z.items))}function kM(Y,Z){return r1(Z)?a1(Y,Z):!w.IsAsyncIterator(Z)?E.False:e0(O1(Y.items,Z.items))}function gM(Y,Z){return r1(Z)?a1(Y,Z):w.IsObject(Z)?w0(Y,Z):w.IsRecord(Z)?YY(Y,Z):w.IsBigInt(Z)?E.True:E.False}function _2(Y,Z){return w.IsLiteralBoolean(Y)?E.True:w.IsBoolean(Y)?E.True:E.False}function fM(Y,Z){return r1(Z)?a1(Y,Z):w.IsObject(Z)?w0(Y,Z):w.IsRecord(Z)?YY(Y,Z):w.IsBoolean(Z)?E.True:E.False}function yM(Y,Z){return r1(Z)?a1(Y,Z):w.IsObject(Z)?w0(Y,Z):!w.IsConstructor(Z)?E.False:Y.parameters.length>Z.parameters.length?E.False:!Y.parameters.every((X,$)=>e0(O1(Z.parameters[$],X))===E.True)?E.False:e0(O1(Y.returns,Z.returns))}function vM(Y,Z){return r1(Z)?a1(Y,Z):w.IsObject(Z)?w0(Y,Z):w.IsRecord(Z)?YY(Y,Z):w.IsDate(Z)?E.True:E.False}function dM(Y,Z){return r1(Z)?a1(Y,Z):w.IsObject(Z)?w0(Y,Z):!w.IsFunction(Z)?E.False:Y.parameters.length>Z.parameters.length?E.False:!Y.parameters.every((X,$)=>e0(O1(Z.parameters[$],X))===E.True)?E.False:e0(O1(Y.returns,Z.returns))}function j2(Y,Z){return w.IsLiteral(Y)&&H0.IsNumber(Y.const)?E.True:w.IsNumber(Y)||w.IsInteger(Y)?E.True:E.False}function hM(Y,Z){return w.IsInteger(Z)||w.IsNumber(Z)?E.True:r1(Z)?a1(Y,Z):w.IsObject(Z)?w0(Y,Z):w.IsRecord(Z)?YY(Y,Z):E.False}function B$(Y,Z){return Z.allOf.every((X)=>O1(Y,X)===E.True)?E.True:E.False}function mM(Y,Z){return Y.allOf.some((X)=>O1(X,Z)===E.True)?E.True:E.False}function cM(Y,Z){return r1(Z)?a1(Y,Z):!w.IsIterator(Z)?E.False:e0(O1(Y.items,Z.items))}function uM(Y,Z){return w.IsLiteral(Z)&&Z.const===Y.const?E.True:r1(Z)?a1(Y,Z):w.IsObject(Z)?w0(Y,Z):w.IsRecord(Z)?YY(Y,Z):w.IsString(Z)?C2(Y,Z):w.IsNumber(Z)?F2(Y,Z):w.IsInteger(Z)?j2(Y,Z):w.IsBoolean(Z)?_2(Y,Z):E.False}function K2(Y,Z){return E.False}function pM(Y,Z){return E.True}function D2(Y){let[Z,X]=[Y,0];while(!0){if(!w.IsNot(Z))break;Z=Z.not,X+=1}return X%2===0?Z:NY()}function iM(Y,Z){return w.IsNot(Y)?O1(D2(Y),Z):w.IsNot(Z)?O1(Y,D2(Z)):DZ("Invalid fallthrough for Not")}function lM(Y,Z){return r1(Z)?a1(Y,Z):w.IsObject(Z)?w0(Y,Z):w.IsRecord(Z)?YY(Y,Z):w.IsNull(Z)?E.True:E.False}function F2(Y,Z){return w.IsLiteralNumber(Y)?E.True:w.IsNumber(Y)||w.IsInteger(Y)?E.True:E.False}function nM(Y,Z){return r1(Z)?a1(Y,Z):w.IsObject(Z)?w0(Y,Z):w.IsRecord(Z)?YY(Y,Z):w.IsInteger(Z)||w.IsNumber(Z)?E.True:E.False}function I0(Y,Z){return Object.getOwnPropertyNames(Y.properties).length===Z}function w2(Y){return N$(Y)}function L2(Y){return I0(Y,0)||I0(Y,1)&&"description"in Y.properties&&w.IsUnion(Y.properties.description)&&Y.properties.description.anyOf.length===2&&(w.IsString(Y.properties.description.anyOf[0])&&w.IsUndefined(Y.properties.description.anyOf[1])||w.IsString(Y.properties.description.anyOf[1])&&w.IsUndefined(Y.properties.description.anyOf[0]))}function RQ(Y){return I0(Y,0)}function O2(Y){return I0(Y,0)}function oM(Y){return I0(Y,0)}function tM(Y){return I0(Y,0)}function sM(Y){return N$(Y)}function rM(Y){let Z=t0();return I0(Y,0)||I0(Y,1)&&"length"in Y.properties&&e0(O1(Y.properties.length,Z))===E.True}function aM(Y){return I0(Y,0)}function N$(Y){let Z=t0();return I0(Y,0)||I0(Y,1)&&"length"in Y.properties&&e0(O1(Y.properties.length,Z))===E.True}function eM(Y){let Z=EY([A8()],A8());return I0(Y,0)||I0(Y,1)&&"then"in Y.properties&&e0(O1(Y.properties.then,Z))===E.True}function S2(Y,Z){return O1(Y,Z)===E.False?E.False:w.IsOptional(Y)&&!w.IsOptional(Z)?E.False:E.True}function w0(Y,Z){return w.IsUnknown(Y)?E.False:w.IsAny(Y)?E.Union:w.IsNever(Y)||w.IsLiteralString(Y)&&w2(Z)||w.IsLiteralNumber(Y)&&RQ(Z)||w.IsLiteralBoolean(Y)&&O2(Z)||w.IsSymbol(Y)&&L2(Z)||w.IsBigInt(Y)&&oM(Z)||w.IsString(Y)&&w2(Z)||w.IsSymbol(Y)&&L2(Z)||w.IsNumber(Y)&&RQ(Z)||w.IsInteger(Y)&&RQ(Z)||w.IsBoolean(Y)&&O2(Z)||w.IsUint8Array(Y)&&sM(Z)||w.IsDate(Y)&&tM(Z)||w.IsConstructor(Y)&&aM(Z)||w.IsFunction(Y)&&rM(Z)?E.True:w.IsRecord(Y)&&w.IsString(EQ(Y))?(()=>{return Z[o0]==="Record"?E.True:E.False})():w.IsRecord(Y)&&w.IsNumber(EQ(Y))?(()=>{return I0(Z,0)?E.True:E.False})():E.False}function YG(Y,Z){return r1(Z)?a1(Y,Z):w.IsRecord(Z)?YY(Y,Z):!w.IsObject(Z)?E.False:(()=>{for(let X of Object.getOwnPropertyNames(Z.properties)){if(!(X in Y.properties)&&!w.IsOptional(Z.properties[X]))return E.False;if(w.IsOptional(Z.properties[X]))return E.True;if(S2(Y.properties[X],Z.properties[X])===E.False)return E.False}return E.True})()}function ZG(Y,Z){return r1(Z)?a1(Y,Z):w.IsObject(Z)&&eM(Z)?E.True:!w.IsPromise(Z)?E.False:e0(O1(Y.item,Z.item))}function EQ(Y){return q8 in Y.patternProperties?t0():(H8 in Y.patternProperties)?j0():DZ("Unknown record key pattern")}function VQ(Y){return q8 in Y.patternProperties?Y.patternProperties[q8]:(H8 in Y.patternProperties)?Y.patternProperties[H8]:DZ("Unable to get record value schema")}function YY(Y,Z){let[X,$]=[EQ(Z),VQ(Z)];return w.IsLiteralString(Y)&&w.IsNumber(X)&&e0(O1(Y,$))===E.True?E.True:w.IsUint8Array(Y)&&w.IsNumber(X)?O1(Y,$):w.IsString(Y)&&w.IsNumber(X)?O1(Y,$):w.IsArray(Y)&&w.IsNumber(X)?O1(Y,$):w.IsObject(Y)?(()=>{for(let Q of Object.getOwnPropertyNames(Y.properties))if(S2($,Y.properties[Q])===E.False)return E.False;return E.True})():E.False}function XG(Y,Z){return r1(Z)?a1(Y,Z):w.IsObject(Z)?w0(Y,Z):!w.IsRecord(Z)?E.False:O1(VQ(Y),VQ(Z))}function $G(Y,Z){let X=w.IsRegExp(Y)?j0():Y,$=w.IsRegExp(Z)?j0():Z;return O1(X,$)}function C2(Y,Z){return w.IsLiteral(Y)&&H0.IsString(Y.const)?E.True:w.IsString(Y)?E.True:E.False}function QG(Y,Z){return r1(Z)?a1(Y,Z):w.IsObject(Z)?w0(Y,Z):w.IsRecord(Z)?YY(Y,Z):w.IsString(Z)?E.True:E.False}function WG(Y,Z){return r1(Z)?a1(Y,Z):w.IsObject(Z)?w0(Y,Z):w.IsRecord(Z)?YY(Y,Z):w.IsSymbol(Z)?E.True:E.False}function JG(Y,Z){return w.IsTemplateLiteral(Y)?O1(y8(Y),Z):w.IsTemplateLiteral(Z)?O1(Y,y8(Z)):DZ("Invalid fallthrough for TemplateLiteral")}function MG(Y,Z){return w.IsArray(Z)&&Y.items!==void 0&&Y.items.every((X)=>O1(X,Z.items)===E.True)}function GG(Y,Z){return w.IsNever(Y)?E.True:w.IsUnknown(Y)?E.False:w.IsAny(Y)?E.Union:E.False}function zG(Y,Z){return r1(Z)?a1(Y,Z):w.IsObject(Z)&&N$(Z)?E.True:w.IsArray(Z)&&MG(Y,Z)?E.True:!w.IsTuple(Z)?E.False:H0.IsUndefined(Y.items)&&!H0.IsUndefined(Z.items)||!H0.IsUndefined(Y.items)&&H0.IsUndefined(Z.items)?E.False:H0.IsUndefined(Y.items)&&!H0.IsUndefined(Z.items)?E.True:Y.items.every((X,$)=>O1(X,Z.items[$])===E.True)?E.True:E.False}function BG(Y,Z){return r1(Z)?a1(Y,Z):w.IsObject(Z)?w0(Y,Z):w.IsRecord(Z)?YY(Y,Z):w.IsUint8Array(Z)?E.True:E.False}function NG(Y,Z){return r1(Z)?a1(Y,Z):w.IsObject(Z)?w0(Y,Z):w.IsRecord(Z)?YY(Y,Z):w.IsVoid(Z)?HG(Y,Z):w.IsUndefined(Z)?E.True:E.False}function bQ(Y,Z){return Z.anyOf.some((X)=>O1(Y,X)===E.True)?E.True:E.False}function UG(Y,Z){return Y.anyOf.every((X)=>O1(X,Z)===E.True)?E.True:E.False}function R2(Y,Z){return E.True}function qG(Y,Z){return w.IsNever(Z)?K2(Y,Z):w.IsIntersect(Z)?B$(Y,Z):w.IsUnion(Z)?bQ(Y,Z):w.IsAny(Z)?IQ(Y,Z):w.IsString(Z)?C2(Y,Z):w.IsNumber(Z)?F2(Y,Z):w.IsInteger(Z)?j2(Y,Z):w.IsBoolean(Z)?_2(Y,Z):w.IsArray(Z)?TM(Y,Z):w.IsTuple(Z)?GG(Y,Z):w.IsObject(Z)?w0(Y,Z):w.IsUnknown(Z)?E.True:E.False}function HG(Y,Z){return w.IsUndefined(Y)?E.True:w.IsUndefined(Y)?E.True:E.False}function AG(Y,Z){return w.IsIntersect(Z)?B$(Y,Z):w.IsUnion(Z)?bQ(Y,Z):w.IsUnknown(Z)?R2(Y,Z):w.IsAny(Z)?IQ(Y,Z):w.IsObject(Z)?w0(Y,Z):w.IsVoid(Z)?E.True:E.False}function O1(Y,Z){return w.IsTemplateLiteral(Y)||w.IsTemplateLiteral(Z)?JG(Y,Z):w.IsRegExp(Y)||w.IsRegExp(Z)?$G(Y,Z):w.IsNot(Y)||w.IsNot(Z)?iM(Y,Z):w.IsAny(Y)?bM(Y,Z):w.IsArray(Y)?xM(Y,Z):w.IsBigInt(Y)?gM(Y,Z):w.IsBoolean(Y)?fM(Y,Z):w.IsAsyncIterator(Y)?kM(Y,Z):w.IsConstructor(Y)?yM(Y,Z):w.IsDate(Y)?vM(Y,Z):w.IsFunction(Y)?dM(Y,Z):w.IsInteger(Y)?hM(Y,Z):w.IsIntersect(Y)?mM(Y,Z):w.IsIterator(Y)?cM(Y,Z):w.IsLiteral(Y)?uM(Y,Z):w.IsNever(Y)?pM(Y,Z):w.IsNull(Y)?lM(Y,Z):w.IsNumber(Y)?nM(Y,Z):w.IsObject(Y)?YG(Y,Z):w.IsRecord(Y)?XG(Y,Z):w.IsString(Y)?QG(Y,Z):w.IsSymbol(Y)?WG(Y,Z):w.IsTuple(Y)?zG(Y,Z):w.IsPromise(Y)?ZG(Y,Z):w.IsUint8Array(Y)?BG(Y,Z):w.IsUndefined(Y)?NG(Y,Z):w.IsUnion(Y)?UG(Y,Z):w.IsUnknown(Y)?qG(Y,Z):w.IsVoid(Y)?AG(Y,Z):DZ(`Unknown left type operand '${Y[L]}'`)}function w8(Y,Z){return O1(Y,Z)}function DG(Y,Z,X,$,Q){let W={};for(let J of globalThis.Object.getOwnPropertyNames(Y))W[J]=wZ(Y[J],Z,X,$,V1(Q));return W}function wG(Y,Z,X,$,Q){return DG(Y.properties,Z,X,$,Q)}function E2(Y,Z,X,$,Q){let W=wG(Y,Z,X,$,Q);return z1(W)}function LG(Y,Z,X,$){let Q=w8(Y,Z);return Q===E.Union?q1([X,$]):Q===E.True?X:$}function wZ(Y,Z,X,$,Q){return b1(Y)?E2(Y,Z,X,$,Q):d0(Y)?C(V2(Y,Z,X,$,Q)):C(LG(Y,Z,X,$),Q)}function OG(Y,Z,X,$,Q){return{[Y]:wZ(W1(Y),Z,X,$,V1(Q))}}function PG(Y,Z,X,$,Q){return Y.reduce((W,J)=>{return{...W,...OG(J,Z,X,$,Q)}},{})}function _G(Y,Z,X,$,Q){return PG(Y.keys,Z,X,$,Q)}function V2(Y,Z,X,$,Q){let W=_G(Y,Z,X,$,Q);return z1(W)}function jG(Y){return Y.allOf.every((Z)=>aY(Z))}function KG(Y){return Y.anyOf.some((Z)=>aY(Z))}function FG(Y){return!aY(Y.not)}function aY(Y){return Y[L]==="Intersect"?jG(Y):Y[L]==="Union"?KG(Y):Y[L]==="Not"?FG(Y):Y[L]==="Undefined"?!0:!1}function I2(Y,Z){return LZ(y8(Y),Z)}function SG(Y,Z){let X=Y.filter(($)=>w8($,Z)===E.False);return X.length===1?X[0]:q1(X)}function LZ(Y,Z,X={}){if(h0(Y))return C(I2(Y,Z),X);if(b1(Y))return C(b2(Y,Z),X);return C(M1(Y)?SG(Y.anyOf,Z):w8(Y,Z)!==E.False?r():Y,X)}function CG(Y,Z){let X={};for(let $ of globalThis.Object.getOwnPropertyNames(Y))X[$]=LZ(Y[$],Z);return X}function RG(Y,Z){return CG(Y.properties,Z)}function b2(Y,Z){let X=RG(Y,Z);return z1(X)}function T2(Y,Z){return OZ(y8(Y),Z)}function EG(Y,Z){let X=Y.filter(($)=>w8($,Z)!==E.False);return X.length===1?X[0]:q1(X)}function OZ(Y,Z,X){if(h0(Y))return C(T2(Y,Z),X);if(b1(Y))return C(x2(Y,Z),X);return C(M1(Y)?EG(Y.anyOf,Z):w8(Y,Z)!==E.False?Y:r(),X)}function VG(Y,Z){let X={};for(let $ of globalThis.Object.getOwnPropertyNames(Y))X[$]=OZ(Y[$],Z);return X}function IG(Y,Z){return VG(Y.properties,Z)}function x2(Y,Z){let X=IG(Y,Z);return z1(X)}function k2(Y,Z){return MY(Y)?C(Y.returns,Z):r(Z)}function U$(Y){return E0(A0(Y))}function v8(Y,Z,X){return C({[L]:"Record",type:"object",patternProperties:{[Y]:Z}},X)}function TQ(Y,Z,X){let $={};for(let Q of Y)$[Q]=Z;return H1($,{...X,[o0]:"Record"})}function bG(Y,Z,X){return aX(Y)?TQ(R0(Y),Z,X):v8(Y.pattern,Z,X)}function TG(Y,Z,X){return TQ(R0(q1(Y)),Z,X)}function xG(Y,Z,X){return TQ([Y.toString()],Z,X)}function kG(Y,Z,X){return v8(Y.source,Z,X)}function gG(Y,Z,X){let $=l1(Y.pattern)?H8:Y.pattern;return v8($,Z,X)}function fG(Y,Z,X){return v8(H8,Z,X)}function yG(Y,Z,X){return v8(dW,Z,X)}function vG(Y,Z,X){return H1({true:Z,false:Z},X)}function dG(Y,Z,X){return v8(q8,Z,X)}function hG(Y,Z,X){return v8(q8,Z,X)}function q$(Y,Z,X={}){return M1(Y)?TG(Y.anyOf,Z,X):h0(Y)?bG(Y,Z,X):v0(Y)?xG(Y.const,Z,X):lY(Y)?vG(Y,Z,X):zY(Y)?dG(Y,Z,X):BY(Y)?hG(Y,Z,X):wQ(Y)?kG(Y,Z,X):nY(Y)?gG(Y,Z,X):AQ(Y)?fG(Y,Z,X):N8(Y)?yG(Y,Z,X):r(X)}function H$(Y){return globalThis.Object.getOwnPropertyNames(Y.patternProperties)[0]}function g2(Y){let Z=H$(Y);return Z===H8?j0():Z===q8?t0():j0({pattern:Z})}function A$(Y){return Y.patternProperties[H$(Y)]}function mG(Y,Z){return Z.parameters=WX(Y,Z.parameters),Z.returns=UY(Y,Z.returns),Z}function cG(Y,Z){return Z.parameters=WX(Y,Z.parameters),Z.returns=UY(Y,Z.returns),Z}function uG(Y,Z){return Z.allOf=WX(Y,Z.allOf),Z}function pG(Y,Z){return Z.anyOf=WX(Y,Z.anyOf),Z}function iG(Y,Z){if(l1(Z.items))return Z;return Z.items=WX(Y,Z.items),Z}function lG(Y,Z){return Z.items=UY(Y,Z.items),Z}function nG(Y,Z){return Z.items=UY(Y,Z.items),Z}function oG(Y,Z){return Z.items=UY(Y,Z.items),Z}function tG(Y,Z){return Z.item=UY(Y,Z.item),Z}function sG(Y,Z){let X=Yz(Y,Z.properties);return{...Z,...H1(X)}}function rG(Y,Z){let X=UY(Y,g2(Z)),$=UY(Y,A$(Z)),Q=q$(X,$);return{...Z,...Q}}function aG(Y,Z){return Z.index in Y?Y[Z.index]:NY()}function eG(Y,Z){let X=$Z(Z),$=C0(Z),Q=UY(Y,Z);return X&&$?U$(Q):X&&!$?E0(Q):!X&&$?A0(Q):Q}function Yz(Y,Z){return globalThis.Object.getOwnPropertyNames(Z).reduce((X,$)=>{return{...X,[$]:eG(Y,Z[$])}},{})}function WX(Y,Z){return Z.map((X)=>UY(Y,X))}function UY(Y,Z){return MY(Z)?mG(Y,Z):GY(Z)?cG(Y,Z):y1(Z)?uG(Y,Z):M1(Z)?pG(Y,Z):m0(Z)?iG(Y,Z):WY(Z)?lG(Y,Z):b8(Z)?nG(Y,Z):x8(Z)?oG(Y,Z):k8(Z)?tG(Y,Z):n1(Z)?sG(Y,Z):g8(Z)?rG(Y,Z):DQ(Z)?aG(Y,Z):Z}function f2(Y,Z){return UY(Z,ZZ(Y))}function y2(Y){return C({[L]:"Integer",type:"integer"},Y)}function Zz(Y,Z,X){return{[Y]:qY(W1(Y),Z,V1(X))}}function Xz(Y,Z,X){return Y.reduce((Q,W)=>{return{...Q,...Zz(W,Z,X)}},{})}function $z(Y,Z,X){return Xz(Y.keys,Z,X)}function v2(Y,Z,X){let $=$z(Y,Z,X);return z1($)}function Qz(Y){let[Z,X]=[Y.slice(0,1),Y.slice(1)];return[Z.toLowerCase(),X].join("")}function Wz(Y){let[Z,X]=[Y.slice(0,1),Y.slice(1)];return[Z.toUpperCase(),X].join("")}function Jz(Y){return Y.toUpperCase()}function Mz(Y){return Y.toLowerCase()}function Gz(Y,Z,X){let $=BZ(Y.pattern);if(!f8($))return{...Y,pattern:d2(Y.pattern,Z)};let J=[...ZX($)].map((B)=>W1(B)),M=h2(J,Z),G=q1(M);return Y$([G],X)}function d2(Y,Z){return typeof Y==="string"?Z==="Uncapitalize"?Qz(Y):Z==="Capitalize"?Wz(Y):Z==="Uppercase"?Jz(Y):Z==="Lowercase"?Mz(Y):Y:Y.toString()}function h2(Y,Z){return Y.map((X)=>qY(X,Z))}function qY(Y,Z,X={}){return d0(Y)?v2(Y,Z,X):h0(Y)?Gz(Y,Z,X):M1(Y)?q1(h2(Y.anyOf,Z),X):v0(Y)?W1(d2(Y.const,Z),X):C(Y,X)}function m2(Y,Z={}){return qY(Y,"Capitalize",Z)}function c2(Y,Z={}){return qY(Y,"Lowercase",Z)}function u2(Y,Z={}){return qY(Y,"Uncapitalize",Z)}function p2(Y,Z={}){return qY(Y,"Uppercase",Z)}function zz(Y,Z,X){let $={};for(let Q of globalThis.Object.getOwnPropertyNames(Y))$[Q]=L8(Y[Q],Z,V1(X));return $}function Bz(Y,Z,X){return zz(Y.properties,Z,X)}function i2(Y,Z,X){let $=Bz(Y,Z,X);return z1($)}function Nz(Y,Z){return Y.map((X)=>xQ(X,Z))}function Uz(Y,Z){return Y.map((X)=>xQ(X,Z))}function qz(Y,Z){let{[Z]:X,...$}=Y;return $}function Hz(Y,Z){return Z.reduce((X,$)=>qz(X,$),Y)}function Az(Y,Z){let X=v1(Y,[C1,"$id","required","properties"]),$=Hz(Y.properties,Z);return H1($,X)}function Dz(Y){let Z=Y.reduce((X,$)=>tX($)?[...X,W1($)]:X,[]);return q1(Z)}function xQ(Y,Z){return y1(Y)?D0(Nz(Y.allOf,Z)):M1(Y)?q1(Uz(Y.anyOf,Z)):n1(Y)?Az(Y,Z):H1({})}function L8(Y,Z,X){let $=i1(Z)?Dz(Z):Z,Q=k1(Z)?R0(Z):Z,W=p1(Y),J=p1(Z);return b1(Y)?i2(Y,Q,X):d0(Z)?l2(Y,Z,X):W&&J?R1("Omit",[Y,$],X):!W&&J?R1("Omit",[Y,$],X):W&&!J?R1("Omit",[Y,$],X):C({...xQ(Y,Q),...X})}function wz(Y,Z,X){return{[Z]:L8(Y,[Z],V1(X))}}function Lz(Y,Z,X){return Z.reduce(($,Q)=>{return{...$,...wz(Y,Q,X)}},{})}function Oz(Y,Z,X){return Lz(Y,Z.keys,X)}function l2(Y,Z,X){let $=Oz(Y,Z,X);return z1($)}function Pz(Y,Z,X){let $={};for(let Q of globalThis.Object.getOwnPropertyNames(Y))$[Q]=O8(Y[Q],Z,V1(X));return $}function _z(Y,Z,X){return Pz(Y.properties,Z,X)}function n2(Y,Z,X){let $=_z(Y,Z,X);return z1($)}function jz(Y,Z){return Y.map((X)=>kQ(X,Z))}function Kz(Y,Z){return Y.map((X)=>kQ(X,Z))}function Fz(Y,Z){let X={};for(let $ of Z)if($ in Y)X[$]=Y[$];return X}function Sz(Y,Z){let X=v1(Y,[C1,"$id","required","properties"]),$=Fz(Y.properties,Z);return H1($,X)}function Cz(Y){let Z=Y.reduce((X,$)=>tX($)?[...X,W1($)]:X,[]);return q1(Z)}function kQ(Y,Z){return y1(Y)?D0(jz(Y.allOf,Z)):M1(Y)?q1(Kz(Y.anyOf,Z)):n1(Y)?Sz(Y,Z):H1({})}function O8(Y,Z,X){let $=i1(Z)?Cz(Z):Z,Q=k1(Z)?R0(Z):Z,W=p1(Y),J=p1(Z);return b1(Y)?n2(Y,Q,X):d0(Z)?o2(Y,Z,X):W&&J?R1("Pick",[Y,$],X):!W&&J?R1("Pick",[Y,$],X):W&&!J?R1("Pick",[Y,$],X):C({...kQ(Y,Q),...X})}function Rz(Y,Z,X){return{[Z]:O8(Y,[Z],V1(X))}}function Ez(Y,Z,X){return Z.reduce(($,Q)=>{return{...$,...Rz(Y,Q,X)}},{})}function Vz(Y,Z,X){return Ez(Y,Z.keys,X)}function o2(Y,Z,X){let $=Vz(Y,Z,X);return z1($)}function Iz(Y,Z){return R1("Partial",[R1(Y,Z)])}function bz(Y){return R1("Partial",[a0(Y)])}function Tz(Y){let Z={};for(let X of globalThis.Object.getOwnPropertyNames(Y))Z[X]=A0(Y[X]);return Z}function xz(Y){let Z=v1(Y,[C1,"$id","required","properties"]),X=Tz(Y.properties);return H1(X,Z)}function t2(Y){return Y.map((Z)=>s2(Z))}function s2(Y){return JY(Y)?Iz(Y.target,Y.parameters):p1(Y)?bz(Y.$ref):y1(Y)?D0(t2(Y.allOf)):M1(Y)?q1(t2(Y.anyOf)):n1(Y)?xz(Y):T8(Y)?Y:lY(Y)?Y:zY(Y)?Y:v0(Y)?Y:tZ(Y)?Y:BY(Y)?Y:nY(Y)?Y:sZ(Y)?Y:oY(Y)?Y:H1({})}function PZ(Y,Z){if(b1(Y))return r2(Y,Z);else return C({...s2(Y),...Z})}function kz(Y,Z){let X={};for(let $ of globalThis.Object.getOwnPropertyNames(Y))X[$]=PZ(Y[$],V1(Z));return X}function gz(Y,Z){return kz(Y.properties,Z)}function r2(Y,Z){let X=gz(Y,Z);return z1(X)}function fz(Y,Z){return R1("Required",[R1(Y,Z)])}function yz(Y){return R1("Required",[a0(Y)])}function vz(Y){let Z={};for(let X of globalThis.Object.getOwnPropertyNames(Y))Z[X]=v1(Y[X],[e1]);return Z}function dz(Y){let Z=v1(Y,[C1,"$id","required","properties"]),X=vz(Y.properties);return H1(X,Z)}function a2(Y){return Y.map((Z)=>e2(Z))}function e2(Y){return JY(Y)?fz(Y.target,Y.parameters):p1(Y)?yz(Y.$ref):y1(Y)?D0(a2(Y.allOf)):M1(Y)?q1(a2(Y.anyOf)):n1(Y)?dz(Y):T8(Y)?Y:lY(Y)?Y:zY(Y)?Y:v0(Y)?Y:tZ(Y)?Y:BY(Y)?Y:nY(Y)?Y:sZ(Y)?Y:oY(Y)?Y:H1({})}function _Z(Y,Z){if(b1(Y))return Y7(Y,Z);else return C({...e2(Y),...Z})}function hz(Y,Z){let X={};for(let $ of globalThis.Object.getOwnPropertyNames(Y))X[$]=_Z(Y[$],Z);return X}function mz(Y,Z){return hz(Y.properties,Z)}function Y7(Y,Z){let X=mz(Y,Z);return z1(X)}function cz(Y,Z){return Z.map((X)=>{return p1(X)?gQ(Y,X.$ref):c0(Y,X)})}function gQ(Y,Z){return Z in Y?p1(Y[Z])?gQ(Y,Y[Z].$ref):c0(Y,Y[Z]):r()}function uz(Y){return HZ(Y[0])}function pz(Y){return D8(Y[0],Y[1])}function iz(Y){return AZ(Y[0])}function lz(Y){return PZ(Y[0])}function nz(Y){return L8(Y[0],Y[1])}function oz(Y){return O8(Y[0],Y[1])}function tz(Y){return _Z(Y[0])}function sz(Y,Z,X){let $=cz(Y,X);return Z==="Awaited"?uz($):Z==="Index"?pz($):Z==="KeyOf"?iz($):Z==="Partial"?lz($):Z==="Omit"?nz($):Z==="Pick"?oz($):Z==="Required"?tz($):r()}function rz(Y,Z){return JZ(c0(Y,Z))}function az(Y,Z){return MZ(c0(Y,Z))}function ez(Y,Z,X){return GZ(JX(Y,Z),c0(Y,X))}function YB(Y,Z,X){return EY(JX(Y,Z),c0(Y,X))}function ZB(Y,Z){return D0(JX(Y,Z))}function XB(Y,Z){return qZ(c0(Y,Z))}function $B(Y,Z){return H1(globalThis.Object.keys(Z).reduce((X,$)=>{return{...X,[$]:c0(Y,Z[$])}},{}))}function QB(Y,Z){let[X,$]=[c0(Y,A$(Z)),H$(Z)],Q=ZZ(Z);return Q.patternProperties[$]=X,Q}function WB(Y,Z){return p1(Z)?{...gQ(Y,Z.$ref),[C1]:Z[C1]}:Z}function JB(Y,Z){return s0(JX(Y,Z))}function MB(Y,Z){return q1(JX(Y,Z))}function JX(Y,Z){return Z.map((X)=>c0(Y,X))}function c0(Y,Z){return C0(Z)?C(c0(Y,v1(Z,[e1])),Z):$Z(Z)?C(c0(Y,v1(Z,[QY])),Z):U1(Z)?C(WB(Y,Z),Z):WY(Z)?C(rz(Y,Z.items),Z):b8(Z)?C(az(Y,Z.items),Z):JY(Z)?C(sz(Y,Z.target,Z.parameters)):MY(Z)?C(ez(Y,Z.parameters,Z.returns),Z):GY(Z)?C(YB(Y,Z.parameters,Z.returns),Z):y1(Z)?C(ZB(Y,Z.allOf),Z):x8(Z)?C(XB(Y,Z.items),Z):n1(Z)?C($B(Y,Z.properties),Z):g8(Z)?C(QB(Y,Z)):m0(Z)?C(JB(Y,Z.items||[]),Z):M1(Z)?C(MB(Y,Z.anyOf),Z):Z}function GB(Y,Z){return Z in Y?c0(Y,Y[Z]):r()}function Z7(Y){return globalThis.Object.getOwnPropertyNames(Y).reduce((Z,X)=>{return{...Z,[X]:GB(Y,X)}},{})}class X7{constructor(Y){let Z=Z7(Y),X=this.WithIdentifiers(Z);this.$defs=X}Import(Y,Z){let X={...this.$defs,[Y]:C(this.$defs[Y],Z)};return C({[L]:"Import",$defs:X,$ref:Y})}WithIdentifiers(Y){return globalThis.Object.getOwnPropertyNames(Y).reduce((Z,X)=>{return{...Z,[X]:{...Y[X],$id:X}}},{})}}function $7(Y){return new X7(Y)}function Q7(Y,Z){return C({[L]:"Not",not:Y},Z)}function W7(Y,Z){return GY(Y)?s0(Y.parameters,Z):r()}var zB=0;function J7(Y,Z={}){if(l1(Z.$id))Z.$id=`T${zB++}`;let X=ZZ(Y({[L]:"This",$ref:`${Z.$id}`}));return X.$id=Z.$id,C({[o0]:"Recursive",...X},Z)}function M7(Y,Z){let X=j1(Y)?new globalThis.RegExp(Y):Y;return C({[L]:"RegExp",type:"RegExp",source:X.source,flags:X.flags},Z)}function BB(Y){return y1(Y)?Y.allOf:M1(Y)?Y.anyOf:m0(Y)?Y.items??[]:[]}function G7(Y){return BB(Y)}function z7(Y,Z){return GY(Y)?C(Y.returns,Z):r(Z)}class B7{constructor(Y){this.schema=Y}Decode(Y){return new N7(this.schema,Y)}}class N7{constructor(Y,Z){this.schema=Y,this.decode=Z}EncodeTransform(Y,Z){let Q={Encode:(W)=>Z[C1].Encode(Y(W)),Decode:(W)=>this.decode(Z[C1].Decode(W))};return{...Z,[C1]:Q}}EncodeSchema(Y,Z){let X={Decode:this.decode,Encode:Y};return{...Z,[C1]:X}}Encode(Y){return U1(this.schema)?this.EncodeTransform(Y,this.schema):this.EncodeSchema(Y,this.schema)}}function U7(Y){return new B7(Y)}function D$(Y={}){return C({[L]:Y[L]??"Unsafe"},Y)}function q7(Y){return C({[L]:"Void",type:"void"},Y)}var fQ={};z8(fQ,{Void:()=>q7,Uppercase:()=>p2,Unsafe:()=>D$,Unknown:()=>NY,Union:()=>q1,Undefined:()=>M$,Uncapitalize:()=>u2,Uint8Array:()=>G$,Tuple:()=>s0,Transform:()=>U7,TemplateLiteral:()=>Y$,Symbol:()=>J$,String:()=>j0,ReturnType:()=>z7,Rest:()=>G7,Required:()=>_Z,RegExp:()=>M7,Ref:()=>a0,Recursive:()=>J7,Record:()=>q$,ReadonlyOptional:()=>U$,Readonly:()=>E0,Promise:()=>X$,Pick:()=>O8,Partial:()=>PZ,Parameters:()=>W7,Optional:()=>A0,Omit:()=>L8,Object:()=>H1,Number:()=>t0,Null:()=>W$,Not:()=>Q7,Never:()=>r,Module:()=>$7,Mapped:()=>J2,Lowercase:()=>c2,Literal:()=>W1,KeyOf:()=>AZ,Iterator:()=>qZ,Intersect:()=>D0,Integer:()=>y2,Instantiate:()=>f2,InstanceType:()=>k2,Index:()=>D8,Function:()=>EY,Extract:()=>OZ,Extends:()=>wZ,Exclude:()=>LZ,Enum:()=>A2,Date:()=>Q$,ConstructorParameters:()=>H2,Constructor:()=>GZ,Const:()=>q2,Composite:()=>U2,Capitalize:()=>m2,Boolean:()=>eX,BigInt:()=>UZ,Awaited:()=>HZ,AsyncIterator:()=>MZ,Array:()=>JZ,Argument:()=>pW,Any:()=>A8});var ZY=fQ;function NB(Y){switch(Y.errorType){case S.ArrayContains:return"Expected array to contain at least one matching value";case S.ArrayMaxContains:return`Expected array to contain no more than ${Y.schema.maxContains} matching values`;case S.ArrayMinContains:return`Expected array to contain at least ${Y.schema.minContains} matching values`;case S.ArrayMaxItems:return`Expected array length to be less or equal to ${Y.schema.maxItems}`;case S.ArrayMinItems:return`Expected array length to be greater or equal to ${Y.schema.minItems}`;case S.ArrayUniqueItems:return"Expected array elements to be unique";case S.Array:return"Expected array";case S.AsyncIterator:return"Expected AsyncIterator";case S.BigIntExclusiveMaximum:return`Expected bigint to be less than ${Y.schema.exclusiveMaximum}`;case S.BigIntExclusiveMinimum:return`Expected bigint to be greater than ${Y.schema.exclusiveMinimum}`;case S.BigIntMaximum:return`Expected bigint to be less or equal to ${Y.schema.maximum}`;case S.BigIntMinimum:return`Expected bigint to be greater or equal to ${Y.schema.minimum}`;case S.BigIntMultipleOf:return`Expected bigint to be a multiple of ${Y.schema.multipleOf}`;case S.BigInt:return"Expected bigint";case S.Boolean:return"Expected boolean";case S.DateExclusiveMinimumTimestamp:return`Expected Date timestamp to be greater than ${Y.schema.exclusiveMinimumTimestamp}`;case S.DateExclusiveMaximumTimestamp:return`Expected Date timestamp to be less than ${Y.schema.exclusiveMaximumTimestamp}`;case S.DateMinimumTimestamp:return`Expected Date timestamp to be greater or equal to ${Y.schema.minimumTimestamp}`;case S.DateMaximumTimestamp:return`Expected Date timestamp to be less or equal to ${Y.schema.maximumTimestamp}`;case S.DateMultipleOfTimestamp:return`Expected Date timestamp to be a multiple of ${Y.schema.multipleOfTimestamp}`;case S.Date:return"Expected Date";case S.Function:return"Expected function";case S.IntegerExclusiveMaximum:return`Expected integer to be less than ${Y.schema.exclusiveMaximum}`;case S.IntegerExclusiveMinimum:return`Expected integer to be greater than ${Y.schema.exclusiveMinimum}`;case S.IntegerMaximum:return`Expected integer to be less or equal to ${Y.schema.maximum}`;case S.IntegerMinimum:return`Expected integer to be greater or equal to ${Y.schema.minimum}`;case S.IntegerMultipleOf:return`Expected integer to be a multiple of ${Y.schema.multipleOf}`;case S.Integer:return"Expected integer";case S.IntersectUnevaluatedProperties:return"Unexpected property";case S.Intersect:return"Expected all values to match";case S.Iterator:return"Expected Iterator";case S.Literal:return`Expected ${typeof Y.schema.const==="string"?`'${Y.schema.const}'`:Y.schema.const}`;case S.Never:return"Never";case S.Not:return"Value should not match";case S.Null:return"Expected null";case S.NumberExclusiveMaximum:return`Expected number to be less than ${Y.schema.exclusiveMaximum}`;case S.NumberExclusiveMinimum:return`Expected number to be greater than ${Y.schema.exclusiveMinimum}`;case S.NumberMaximum:return`Expected number to be less or equal to ${Y.schema.maximum}`;case S.NumberMinimum:return`Expected number to be greater or equal to ${Y.schema.minimum}`;case S.NumberMultipleOf:return`Expected number to be a multiple of ${Y.schema.multipleOf}`;case S.Number:return"Expected number";case S.Object:return"Expected object";case S.ObjectAdditionalProperties:return"Unexpected property";case S.ObjectMaxProperties:return`Expected object to have no more than ${Y.schema.maxProperties} properties`;case S.ObjectMinProperties:return`Expected object to have at least ${Y.schema.minProperties} properties`;case S.ObjectRequiredProperty:return"Expected required property";case S.Promise:return"Expected Promise";case S.RegExp:return"Expected string to match regular expression";case S.StringFormatUnknown:return`Unknown format '${Y.schema.format}'`;case S.StringFormat:return`Expected string to match '${Y.schema.format}' format`;case S.StringMaxLength:return`Expected string length less or equal to ${Y.schema.maxLength}`;case S.StringMinLength:return`Expected string length greater or equal to ${Y.schema.minLength}`;case S.StringPattern:return`Expected string to match '${Y.schema.pattern}'`;case S.String:return"Expected string";case S.Symbol:return"Expected symbol";case S.TupleLength:return`Expected tuple to have ${Y.schema.maxItems||0} elements`;case S.Tuple:return"Expected tuple";case S.Uint8ArrayMaxByteLength:return`Expected byte length less or equal to ${Y.schema.maxByteLength}`;case S.Uint8ArrayMinByteLength:return`Expected byte length greater or equal to ${Y.schema.minByteLength}`;case S.Uint8Array:return"Expected Uint8Array";case S.Undefined:return"Expected undefined";case S.Union:return"Expected union value";case S.Void:return"Expected void";case S.Kind:return`Expected kind '${Y.schema[L]}'`;default:return"Unknown error type"}}var UB=NB;function H7(){return UB}class A7 extends n{constructor(Y){super(`Unable to dereference schema with $id '${Y.$ref}'`);this.schema=Y}}function qB(Y,Z){let X=Z.find(($)=>$.$id===Y.$ref);if(X===void 0)throw new A7(Y);return G1(X,Z)}function Q0(Y,Z){if(!J1(Y.$id)||Z.some((X)=>X.$id===Y.$id))return Z;return Z.push(Y),Z}function G1(Y,Z){return Y[L]==="This"||Y[L]==="Ref"?qB(Y,Z):Y}class D7 extends n{constructor(Y){super("Unable to hash value");this.value=Y}}var u0;(function(Y){Y[Y.Undefined=0]="Undefined",Y[Y.Null=1]="Null",Y[Y.Boolean=2]="Boolean",Y[Y.Number=3]="Number",Y[Y.String=4]="String",Y[Y.Object=5]="Object",Y[Y.Array=6]="Array",Y[Y.Date=7]="Date",Y[Y.Uint8Array=8]="Uint8Array",Y[Y.Symbol=9]="Symbol",Y[Y.BigInt=10]="BigInt"})(u0||(u0={}));var jZ=BigInt("14695981039346656037"),[HB,AB]=[BigInt("1099511628211"),BigInt("18446744073709551616")],DB=Array.from({length:256}).map((Y,Z)=>BigInt(Z)),w7=new Float64Array(1),L7=new DataView(w7.buffer),O7=new Uint8Array(w7.buffer);function*wB(Y){let Z=Y===0?1:Math.ceil(Math.floor(Math.log2(Y)+1)/8);for(let X=0;X<Z;X++)yield Y>>8*(Z-1-X)&255}function LB(Y){L0(u0.Array);for(let Z of Y)KZ(Z)}function OB(Y){L0(u0.Boolean),L0(Y?1:0)}function PB(Y){L0(u0.BigInt),L7.setBigInt64(0,Y);for(let Z of O7)L0(Z)}function _B(Y){L0(u0.Date),KZ(Y.getTime())}function jB(Y){L0(u0.Null)}function KB(Y){L0(u0.Number),L7.setFloat64(0,Y);for(let Z of O7)L0(Z)}function FB(Y){L0(u0.Object);for(let Z of globalThis.Object.getOwnPropertyNames(Y).sort())KZ(Z),KZ(Y[Z])}function SB(Y){L0(u0.String);for(let Z=0;Z<Y.length;Z++)for(let X of wB(Y.charCodeAt(Z)))L0(X)}function CB(Y){L0(u0.Symbol),KZ(Y.description)}function RB(Y){L0(u0.Uint8Array);for(let Z=0;Z<Y.length;Z++)L0(Y[Z])}function EB(Y){return L0(u0.Undefined)}function KZ(Y){if(l(Y))return LB(Y);if(RY(Y))return OB(Y);if(B0(Y))return PB(Y);if(_0(Y))return _B(Y);if(pY(Y))return jB(Y);if(p(Y))return KB(Y);if(t(Y))return FB(Y);if(J1(Y))return SB(Y);if(iY(Y))return CB(Y);if(XZ(Y))return RB(Y);if(I1(Y))return EB(Y);throw new D7(Y)}function L0(Y){jZ=jZ^DB[Y],jZ=jZ*HB%AB}function P8(Y){return jZ=BigInt("14695981039346656037"),KZ(Y),jZ}class P7 extends n{constructor(Y){super("Unknown type");this.schema=Y}}function VB(Y){return Y[L]==="Any"||Y[L]==="Unknown"}function X1(Y){return Y!==void 0}function IB(Y,Z,X){return!0}function bB(Y,Z,X){return!0}function TB(Y,Z,X){if(!l(X))return!1;if(X1(Y.minItems)&&!(X.length>=Y.minItems))return!1;if(X1(Y.maxItems)&&!(X.length<=Y.maxItems))return!1;if(!X.every((W)=>W0(Y.items,Z,W)))return!1;if(Y.uniqueItems===!0&&!function(){let W=new Set;for(let J of X){let M=P8(J);if(W.has(M))return!1;else W.add(M)}return!0}())return!1;if(!(X1(Y.contains)||p(Y.minContains)||p(Y.maxContains)))return!0;let $=X1(Y.contains)?Y.contains:r(),Q=X.reduce((W,J)=>W0($,Z,J)?W+1:W,0);if(Q===0)return!1;if(p(Y.minContains)&&Q<Y.minContains)return!1;if(p(Y.maxContains)&&Q>Y.maxContains)return!1;return!0}function xB(Y,Z,X){return iX(X)}function kB(Y,Z,X){if(!B0(X))return!1;if(X1(Y.exclusiveMaximum)&&!(X<Y.exclusiveMaximum))return!1;if(X1(Y.exclusiveMinimum)&&!(X>Y.exclusiveMinimum))return!1;if(X1(Y.maximum)&&!(X<=Y.maximum))return!1;if(X1(Y.minimum)&&!(X>=Y.minimum))return!1;if(X1(Y.multipleOf)&&X%Y.multipleOf!==BigInt(0))return!1;return!0}function gB(Y,Z,X){return RY(X)}function fB(Y,Z,X){return W0(Y.returns,Z,X.prototype)}function yB(Y,Z,X){if(!_0(X))return!1;if(X1(Y.exclusiveMaximumTimestamp)&&!(X.getTime()<Y.exclusiveMaximumTimestamp))return!1;if(X1(Y.exclusiveMinimumTimestamp)&&!(X.getTime()>Y.exclusiveMinimumTimestamp))return!1;if(X1(Y.maximumTimestamp)&&!(X.getTime()<=Y.maximumTimestamp))return!1;if(X1(Y.minimumTimestamp)&&!(X.getTime()>=Y.minimumTimestamp))return!1;if(X1(Y.multipleOfTimestamp)&&X.getTime()%Y.multipleOfTimestamp!==0)return!1;return!0}function vB(Y,Z,X){return B8(X)}function dB(Y,Z,X){let $=globalThis.Object.values(Y.$defs),Q=Y.$defs[Y.$ref];return W0(Q,[...Z,...$],X)}function hB(Y,Z,X){if(!oX(X))return!1;if(X1(Y.exclusiveMaximum)&&!(X<Y.exclusiveMaximum))return!1;if(X1(Y.exclusiveMinimum)&&!(X>Y.exclusiveMinimum))return!1;if(X1(Y.maximum)&&!(X<=Y.maximum))return!1;if(X1(Y.minimum)&&!(X>=Y.minimum))return!1;if(X1(Y.multipleOf)&&X%Y.multipleOf!==0)return!1;return!0}function mB(Y,Z,X){let $=Y.allOf.every((Q)=>W0(Q,Z,X));if(Y.unevaluatedProperties===!1){let Q=new RegExp(rY(Y)),W=Object.getOwnPropertyNames(X).every((J)=>Q.test(J));return $&&W}else if(k1(Y.unevaluatedProperties)){let Q=new RegExp(rY(Y)),W=Object.getOwnPropertyNames(X).every((J)=>Q.test(J)||W0(Y.unevaluatedProperties,Z,X[J]));return $&&W}else return $}function cB(Y,Z,X){return lX(X)}function uB(Y,Z,X){return X===Y.const}function pB(Y,Z,X){return!1}function iB(Y,Z,X){return!W0(Y.not,Z,X)}function lB(Y,Z,X){return pY(X)}function nB(Y,Z,X){if(!S1.IsNumberLike(X))return!1;if(X1(Y.exclusiveMaximum)&&!(X<Y.exclusiveMaximum))return!1;if(X1(Y.exclusiveMinimum)&&!(X>Y.exclusiveMinimum))return!1;if(X1(Y.minimum)&&!(X>=Y.minimum))return!1;if(X1(Y.maximum)&&!(X<=Y.maximum))return!1;if(X1(Y.multipleOf)&&X%Y.multipleOf!==0)return!1;return!0}function oB(Y,Z,X){if(!S1.IsObjectLike(X))return!1;if(X1(Y.minProperties)&&!(Object.getOwnPropertyNames(X).length>=Y.minProperties))return!1;if(X1(Y.maxProperties)&&!(Object.getOwnPropertyNames(X).length<=Y.maxProperties))return!1;let $=Object.getOwnPropertyNames(Y.properties);for(let Q of $){let W=Y.properties[Q];if(Y.required&&Y.required.includes(Q)){if(!W0(W,Z,X[Q]))return!1;if((aY(W)||VB(W))&&!(Q in X))return!1}else if(S1.IsExactOptionalProperty(X,Q)&&!W0(W,Z,X[Q]))return!1}if(Y.additionalProperties===!1){let Q=Object.getOwnPropertyNames(X);if(Y.required&&Y.required.length===$.length&&Q.length===$.length)return!0;else return Q.every((W)=>$.includes(W))}else if(typeof Y.additionalProperties==="object")return Object.getOwnPropertyNames(X).every((W)=>$.includes(W)||W0(Y.additionalProperties,Z,X[W]));else return!0}function tB(Y,Z,X){return nX(X)}function sB(Y,Z,X){if(!S1.IsRecordLike(X))return!1;if(X1(Y.minProperties)&&!(Object.getOwnPropertyNames(X).length>=Y.minProperties))return!1;if(X1(Y.maxProperties)&&!(Object.getOwnPropertyNames(X).length<=Y.maxProperties))return!1;let[$,Q]=Object.entries(Y.patternProperties)[0],W=new RegExp($),J=Object.entries(X).every(([B,z])=>{return W.test(B)?W0(Q,Z,z):!0}),M=typeof Y.additionalProperties==="object"?Object.entries(X).every(([B,z])=>{return!W.test(B)?W0(Y.additionalProperties,Z,z):!0}):!0,G=Y.additionalProperties===!1?Object.getOwnPropertyNames(X).every((B)=>{return W.test(B)}):!0;return J&&M&&G}function rB(Y,Z,X){return W0(G1(Y,Z),Z,X)}function aB(Y,Z,X){let $=new RegExp(Y.source,Y.flags);if(X1(Y.minLength)){if(!(X.length>=Y.minLength))return!1}if(X1(Y.maxLength)){if(!(X.length<=Y.maxLength))return!1}return $.test(X)}function eB(Y,Z,X){if(!J1(X))return!1;if(X1(Y.minLength)){if(!(X.length>=Y.minLength))return!1}if(X1(Y.maxLength)){if(!(X.length<=Y.maxLength))return!1}if(X1(Y.pattern)){if(!new RegExp(Y.pattern).test(X))return!1}if(X1(Y.format)){if(!A1.Has(Y.format))return!1;return A1.Get(Y.format)(X)}return!0}function YN(Y,Z,X){return iY(X)}function ZN(Y,Z,X){return J1(X)&&new RegExp(Y.pattern).test(X)}function XN(Y,Z,X){return W0(G1(Y,Z),Z,X)}function $N(Y,Z,X){if(!l(X))return!1;if(Y.items===void 0&&X.length!==0)return!1;if(X.length!==Y.maxItems)return!1;if(!Y.items)return!0;for(let $=0;$<Y.items.length;$++)if(!W0(Y.items[$],Z,X[$]))return!1;return!0}function QN(Y,Z,X){return I1(X)}function WN(Y,Z,X){return Y.anyOf.some(($)=>W0($,Z,X))}function JN(Y,Z,X){if(!XZ(X))return!1;if(X1(Y.maxByteLength)&&!(X.length<=Y.maxByteLength))return!1;if(X1(Y.minByteLength)&&!(X.length>=Y.minByteLength))return!1;return!0}function MN(Y,Z,X){return!0}function GN(Y,Z,X){return S1.IsVoidLike(X)}function zN(Y,Z,X){if(!Y0.Has(Y[L]))return!1;return Y0.Get(Y[L])(Y,X)}function W0(Y,Z,X){let $=X1(Y.$id)?Q0(Y,Z):Z,Q=Y;switch(Q[L]){case"Any":return IB(Q,$,X);case"Argument":return bB(Q,$,X);case"Array":return TB(Q,$,X);case"AsyncIterator":return xB(Q,$,X);case"BigInt":return kB(Q,$,X);case"Boolean":return gB(Q,$,X);case"Constructor":return fB(Q,$,X);case"Date":return yB(Q,$,X);case"Function":return vB(Q,$,X);case"Import":return dB(Q,$,X);case"Integer":return hB(Q,$,X);case"Intersect":return mB(Q,$,X);case"Iterator":return cB(Q,$,X);case"Literal":return uB(Q,$,X);case"Never":return pB(Q,$,X);case"Not":return iB(Q,$,X);case"Null":return lB(Q,$,X);case"Number":return nB(Q,$,X);case"Object":return oB(Q,$,X);case"Promise":return tB(Q,$,X);case"Record":return sB(Q,$,X);case"Ref":return rB(Q,$,X);case"RegExp":return aB(Q,$,X);case"String":return eB(Q,$,X);case"Symbol":return YN(Q,$,X);case"TemplateLiteral":return ZN(Q,$,X);case"This":return XN(Q,$,X);case"Tuple":return $N(Q,$,X);case"Undefined":return QN(Q,$,X);case"Union":return WN(Q,$,X);case"Uint8Array":return JN(Q,$,X);case"Unknown":return MN(Q,$,X);case"Void":return GN(Q,$,X);default:if(!Y0.Has(Q[L]))throw new P7(Q);return zN(Q,$,X)}}function a(...Y){return Y.length===3?W0(Y[0],Y[1],Y[2]):W0(Y[0],[],Y[1])}var S;(function(Y){Y[Y.ArrayContains=0]="ArrayContains",Y[Y.ArrayMaxContains=1]="ArrayMaxContains",Y[Y.ArrayMaxItems=2]="ArrayMaxItems",Y[Y.ArrayMinContains=3]="ArrayMinContains",Y[Y.ArrayMinItems=4]="ArrayMinItems",Y[Y.ArrayUniqueItems=5]="ArrayUniqueItems",Y[Y.Array=6]="Array",Y[Y.AsyncIterator=7]="AsyncIterator",Y[Y.BigIntExclusiveMaximum=8]="BigIntExclusiveMaximum",Y[Y.BigIntExclusiveMinimum=9]="BigIntExclusiveMinimum",Y[Y.BigIntMaximum=10]="BigIntMaximum",Y[Y.BigIntMinimum=11]="BigIntMinimum",Y[Y.BigIntMultipleOf=12]="BigIntMultipleOf",Y[Y.BigInt=13]="BigInt",Y[Y.Boolean=14]="Boolean",Y[Y.DateExclusiveMaximumTimestamp=15]="DateExclusiveMaximumTimestamp",Y[Y.DateExclusiveMinimumTimestamp=16]="DateExclusiveMinimumTimestamp",Y[Y.DateMaximumTimestamp=17]="DateMaximumTimestamp",Y[Y.DateMinimumTimestamp=18]="DateMinimumTimestamp",Y[Y.DateMultipleOfTimestamp=19]="DateMultipleOfTimestamp",Y[Y.Date=20]="Date",Y[Y.Function=21]="Function",Y[Y.IntegerExclusiveMaximum=22]="IntegerExclusiveMaximum",Y[Y.IntegerExclusiveMinimum=23]="IntegerExclusiveMinimum",Y[Y.IntegerMaximum=24]="IntegerMaximum",Y[Y.IntegerMinimum=25]="IntegerMinimum",Y[Y.IntegerMultipleOf=26]="IntegerMultipleOf",Y[Y.Integer=27]="Integer",Y[Y.IntersectUnevaluatedProperties=28]="IntersectUnevaluatedProperties",Y[Y.Intersect=29]="Intersect",Y[Y.Iterator=30]="Iterator",Y[Y.Kind=31]="Kind",Y[Y.Literal=32]="Literal",Y[Y.Never=33]="Never",Y[Y.Not=34]="Not",Y[Y.Null=35]="Null",Y[Y.NumberExclusiveMaximum=36]="NumberExclusiveMaximum",Y[Y.NumberExclusiveMinimum=37]="NumberExclusiveMinimum",Y[Y.NumberMaximum=38]="NumberMaximum",Y[Y.NumberMinimum=39]="NumberMinimum",Y[Y.NumberMultipleOf=40]="NumberMultipleOf",Y[Y.Number=41]="Number",Y[Y.ObjectAdditionalProperties=42]="ObjectAdditionalProperties",Y[Y.ObjectMaxProperties=43]="ObjectMaxProperties",Y[Y.ObjectMinProperties=44]="ObjectMinProperties",Y[Y.ObjectRequiredProperty=45]="ObjectRequiredProperty",Y[Y.Object=46]="Object",Y[Y.Promise=47]="Promise",Y[Y.RegExp=48]="RegExp",Y[Y.StringFormatUnknown=49]="StringFormatUnknown",Y[Y.StringFormat=50]="StringFormat",Y[Y.StringMaxLength=51]="StringMaxLength",Y[Y.StringMinLength=52]="StringMinLength",Y[Y.StringPattern=53]="StringPattern",Y[Y.String=54]="String",Y[Y.Symbol=55]="Symbol",Y[Y.TupleLength=56]="TupleLength",Y[Y.Tuple=57]="Tuple",Y[Y.Uint8ArrayMaxByteLength=58]="Uint8ArrayMaxByteLength",Y[Y.Uint8ArrayMinByteLength=59]="Uint8ArrayMinByteLength",Y[Y.Uint8Array=60]="Uint8Array",Y[Y.Undefined=61]="Undefined",Y[Y.Union=62]="Union",Y[Y.Void=63]="Void"})(S||(S={}));class _7 extends n{constructor(Y){super("Unknown type");this.schema=Y}}function eY(Y){return Y.replace(/~/g,"~0").replace(/\//g,"~1")}function $1(Y){return Y!==void 0}class d8{constructor(Y){this.iterator=Y}[Symbol.iterator](){return this.iterator}First(){let Y=this.iterator.next();return Y.done?void 0:Y.value}}function d(Y,Z,X,$,Q=[]){return{type:Y,schema:Z,path:X,value:$,message:H7()({errorType:Y,path:X,schema:Z,value:$,errors:Q}),errors:Q}}function*BN(Y,Z,X,$){}function*NN(Y,Z,X,$){}function*UN(Y,Z,X,$){if(!l($))return yield d(S.Array,Y,X,$);if($1(Y.minItems)&&!($.length>=Y.minItems))yield d(S.ArrayMinItems,Y,X,$);if($1(Y.maxItems)&&!($.length<=Y.maxItems))yield d(S.ArrayMaxItems,Y,X,$);for(let J=0;J<$.length;J++)yield*J0(Y.items,Z,`${X}/${J}`,$[J]);if(Y.uniqueItems===!0&&!function(){let J=new Set;for(let M of $){let G=P8(M);if(J.has(G))return!1;else J.add(G)}return!0}())yield d(S.ArrayUniqueItems,Y,X,$);if(!($1(Y.contains)||$1(Y.minContains)||$1(Y.maxContains)))return;let Q=$1(Y.contains)?Y.contains:r(),W=$.reduce((J,M,G)=>J0(Q,Z,`${X}${G}`,M).next().done===!0?J+1:J,0);if(W===0)yield d(S.ArrayContains,Y,X,$);if(p(Y.minContains)&&W<Y.minContains)yield d(S.ArrayMinContains,Y,X,$);if(p(Y.maxContains)&&W>Y.maxContains)yield d(S.ArrayMaxContains,Y,X,$)}function*qN(Y,Z,X,$){if(!iX($))yield d(S.AsyncIterator,Y,X,$)}function*HN(Y,Z,X,$){if(!B0($))return yield d(S.BigInt,Y,X,$);if($1(Y.exclusiveMaximum)&&!($<Y.exclusiveMaximum))yield d(S.BigIntExclusiveMaximum,Y,X,$);if($1(Y.exclusiveMinimum)&&!($>Y.exclusiveMinimum))yield d(S.BigIntExclusiveMinimum,Y,X,$);if($1(Y.maximum)&&!($<=Y.maximum))yield d(S.BigIntMaximum,Y,X,$);if($1(Y.minimum)&&!($>=Y.minimum))yield d(S.BigIntMinimum,Y,X,$);if($1(Y.multipleOf)&&$%Y.multipleOf!==BigInt(0))yield d(S.BigIntMultipleOf,Y,X,$)}function*AN(Y,Z,X,$){if(!RY($))yield d(S.Boolean,Y,X,$)}function*DN(Y,Z,X,$){yield*J0(Y.returns,Z,X,$.prototype)}function*wN(Y,Z,X,$){if(!_0($))return yield d(S.Date,Y,X,$);if($1(Y.exclusiveMaximumTimestamp)&&!($.getTime()<Y.exclusiveMaximumTimestamp))yield d(S.DateExclusiveMaximumTimestamp,Y,X,$);if($1(Y.exclusiveMinimumTimestamp)&&!($.getTime()>Y.exclusiveMinimumTimestamp))yield d(S.DateExclusiveMinimumTimestamp,Y,X,$);if($1(Y.maximumTimestamp)&&!($.getTime()<=Y.maximumTimestamp))yield d(S.DateMaximumTimestamp,Y,X,$);if($1(Y.minimumTimestamp)&&!($.getTime()>=Y.minimumTimestamp))yield d(S.DateMinimumTimestamp,Y,X,$);if($1(Y.multipleOfTimestamp)&&$.getTime()%Y.multipleOfTimestamp!==0)yield d(S.DateMultipleOfTimestamp,Y,X,$)}function*LN(Y,Z,X,$){if(!B8($))yield d(S.Function,Y,X,$)}function*ON(Y,Z,X,$){let Q=globalThis.Object.values(Y.$defs),W=Y.$defs[Y.$ref];yield*J0(W,[...Z,...Q],X,$)}function*PN(Y,Z,X,$){if(!oX($))return yield d(S.Integer,Y,X,$);if($1(Y.exclusiveMaximum)&&!($<Y.exclusiveMaximum))yield d(S.IntegerExclusiveMaximum,Y,X,$);if($1(Y.exclusiveMinimum)&&!($>Y.exclusiveMinimum))yield d(S.IntegerExclusiveMinimum,Y,X,$);if($1(Y.maximum)&&!($<=Y.maximum))yield d(S.IntegerMaximum,Y,X,$);if($1(Y.minimum)&&!($>=Y.minimum))yield d(S.IntegerMinimum,Y,X,$);if($1(Y.multipleOf)&&$%Y.multipleOf!==0)yield d(S.IntegerMultipleOf,Y,X,$)}function*_N(Y,Z,X,$){let Q=!1;for(let W of Y.allOf)for(let J of J0(W,Z,X,$))Q=!0,yield J;if(Q)return yield d(S.Intersect,Y,X,$);if(Y.unevaluatedProperties===!1){let W=new RegExp(rY(Y));for(let J of Object.getOwnPropertyNames($))if(!W.test(J))yield d(S.IntersectUnevaluatedProperties,Y,`${X}/${J}`,$)}if(typeof Y.unevaluatedProperties==="object"){let W=new RegExp(rY(Y));for(let J of Object.getOwnPropertyNames($))if(!W.test(J)){let M=J0(Y.unevaluatedProperties,Z,`${X}/${J}`,$[J]).next();if(!M.done)yield M.value}}}function*jN(Y,Z,X,$){if(!lX($))yield d(S.Iterator,Y,X,$)}function*KN(Y,Z,X,$){if($!==Y.const)yield d(S.Literal,Y,X,$)}function*FN(Y,Z,X,$){yield d(S.Never,Y,X,$)}function*SN(Y,Z,X,$){if(J0(Y.not,Z,X,$).next().done===!0)yield d(S.Not,Y,X,$)}function*CN(Y,Z,X,$){if(!pY($))yield d(S.Null,Y,X,$)}function*RN(Y,Z,X,$){if(!S1.IsNumberLike($))return yield d(S.Number,Y,X,$);if($1(Y.exclusiveMaximum)&&!($<Y.exclusiveMaximum))yield d(S.NumberExclusiveMaximum,Y,X,$);if($1(Y.exclusiveMinimum)&&!($>Y.exclusiveMinimum))yield d(S.NumberExclusiveMinimum,Y,X,$);if($1(Y.maximum)&&!($<=Y.maximum))yield d(S.NumberMaximum,Y,X,$);if($1(Y.minimum)&&!($>=Y.minimum))yield d(S.NumberMinimum,Y,X,$);if($1(Y.multipleOf)&&$%Y.multipleOf!==0)yield d(S.NumberMultipleOf,Y,X,$)}function*EN(Y,Z,X,$){if(!S1.IsObjectLike($))return yield d(S.Object,Y,X,$);if($1(Y.minProperties)&&!(Object.getOwnPropertyNames($).length>=Y.minProperties))yield d(S.ObjectMinProperties,Y,X,$);if($1(Y.maxProperties)&&!(Object.getOwnPropertyNames($).length<=Y.maxProperties))yield d(S.ObjectMaxProperties,Y,X,$);let Q=Array.isArray(Y.required)?Y.required:[],W=Object.getOwnPropertyNames(Y.properties),J=Object.getOwnPropertyNames($);for(let M of Q){if(J.includes(M))continue;yield d(S.ObjectRequiredProperty,Y.properties[M],`${X}/${eY(M)}`,void 0)}if(Y.additionalProperties===!1){for(let M of J)if(!W.includes(M))yield d(S.ObjectAdditionalProperties,Y,`${X}/${eY(M)}`,$[M])}if(typeof Y.additionalProperties==="object")for(let M of J){if(W.includes(M))continue;yield*J0(Y.additionalProperties,Z,`${X}/${eY(M)}`,$[M])}for(let M of W){let G=Y.properties[M];if(Y.required&&Y.required.includes(M)){if(yield*J0(G,Z,`${X}/${eY(M)}`,$[M]),aY(Y)&&!(M in $))yield d(S.ObjectRequiredProperty,G,`${X}/${eY(M)}`,void 0)}else if(S1.IsExactOptionalProperty($,M))yield*J0(G,Z,`${X}/${eY(M)}`,$[M])}}function*VN(Y,Z,X,$){if(!nX($))yield d(S.Promise,Y,X,$)}function*IN(Y,Z,X,$){if(!S1.IsRecordLike($))return yield d(S.Object,Y,X,$);if($1(Y.minProperties)&&!(Object.getOwnPropertyNames($).length>=Y.minProperties))yield d(S.ObjectMinProperties,Y,X,$);if($1(Y.maxProperties)&&!(Object.getOwnPropertyNames($).length<=Y.maxProperties))yield d(S.ObjectMaxProperties,Y,X,$);let[Q,W]=Object.entries(Y.patternProperties)[0],J=new RegExp(Q);for(let[M,G]of Object.entries($))if(J.test(M))yield*J0(W,Z,`${X}/${eY(M)}`,G);if(typeof Y.additionalProperties==="object"){for(let[M,G]of Object.entries($))if(!J.test(M))yield*J0(Y.additionalProperties,Z,`${X}/${eY(M)}`,G)}if(Y.additionalProperties===!1)for(let[M,G]of Object.entries($)){if(J.test(M))continue;return yield d(S.ObjectAdditionalProperties,Y,`${X}/${eY(M)}`,G)}}function*bN(Y,Z,X,$){yield*J0(G1(Y,Z),Z,X,$)}function*TN(Y,Z,X,$){if(!J1($))return yield d(S.String,Y,X,$);if($1(Y.minLength)&&!($.length>=Y.minLength))yield d(S.StringMinLength,Y,X,$);if($1(Y.maxLength)&&!($.length<=Y.maxLength))yield d(S.StringMaxLength,Y,X,$);if(!new RegExp(Y.source,Y.flags).test($))return yield d(S.RegExp,Y,X,$)}function*xN(Y,Z,X,$){if(!J1($))return yield d(S.String,Y,X,$);if($1(Y.minLength)&&!($.length>=Y.minLength))yield d(S.StringMinLength,Y,X,$);if($1(Y.maxLength)&&!($.length<=Y.maxLength))yield d(S.StringMaxLength,Y,X,$);if(J1(Y.pattern)){if(!new RegExp(Y.pattern).test($))yield d(S.StringPattern,Y,X,$)}if(J1(Y.format)){if(!A1.Has(Y.format))yield d(S.StringFormatUnknown,Y,X,$);else if(!A1.Get(Y.format)($))yield d(S.StringFormat,Y,X,$)}}function*kN(Y,Z,X,$){if(!iY($))yield d(S.Symbol,Y,X,$)}function*gN(Y,Z,X,$){if(!J1($))return yield d(S.String,Y,X,$);if(!new RegExp(Y.pattern).test($))yield d(S.StringPattern,Y,X,$)}function*fN(Y,Z,X,$){yield*J0(G1(Y,Z),Z,X,$)}function*yN(Y,Z,X,$){if(!l($))return yield d(S.Tuple,Y,X,$);if(Y.items===void 0&&$.length!==0)return yield d(S.TupleLength,Y,X,$);if($.length!==Y.maxItems)return yield d(S.TupleLength,Y,X,$);if(!Y.items)return;for(let Q=0;Q<Y.items.length;Q++)yield*J0(Y.items[Q],Z,`${X}/${Q}`,$[Q])}function*vN(Y,Z,X,$){if(!I1($))yield d(S.Undefined,Y,X,$)}function*dN(Y,Z,X,$){if(a(Y,Z,$))return;let Q=Y.anyOf.map((W)=>new d8(J0(W,Z,X,$)));yield d(S.Union,Y,X,$,Q)}function*hN(Y,Z,X,$){if(!XZ($))return yield d(S.Uint8Array,Y,X,$);if($1(Y.maxByteLength)&&!($.length<=Y.maxByteLength))yield d(S.Uint8ArrayMaxByteLength,Y,X,$);if($1(Y.minByteLength)&&!($.length>=Y.minByteLength))yield d(S.Uint8ArrayMinByteLength,Y,X,$)}function*mN(Y,Z,X,$){}function*cN(Y,Z,X,$){if(!S1.IsVoidLike($))yield d(S.Void,Y,X,$)}function*uN(Y,Z,X,$){if(!Y0.Get(Y[L])(Y,$))yield d(S.Kind,Y,X,$)}function*J0(Y,Z,X,$){let Q=$1(Y.$id)?[...Z,Y]:Z,W=Y;switch(W[L]){case"Any":return yield*BN(W,Q,X,$);case"Argument":return yield*NN(W,Q,X,$);case"Array":return yield*UN(W,Q,X,$);case"AsyncIterator":return yield*qN(W,Q,X,$);case"BigInt":return yield*HN(W,Q,X,$);case"Boolean":return yield*AN(W,Q,X,$);case"Constructor":return yield*DN(W,Q,X,$);case"Date":return yield*wN(W,Q,X,$);case"Function":return yield*LN(W,Q,X,$);case"Import":return yield*ON(W,Q,X,$);case"Integer":return yield*PN(W,Q,X,$);case"Intersect":return yield*_N(W,Q,X,$);case"Iterator":return yield*jN(W,Q,X,$);case"Literal":return yield*KN(W,Q,X,$);case"Never":return yield*FN(W,Q,X,$);case"Not":return yield*SN(W,Q,X,$);case"Null":return yield*CN(W,Q,X,$);case"Number":return yield*RN(W,Q,X,$);case"Object":return yield*EN(W,Q,X,$);case"Promise":return yield*VN(W,Q,X,$);case"Record":return yield*IN(W,Q,X,$);case"Ref":return yield*bN(W,Q,X,$);case"RegExp":return yield*TN(W,Q,X,$);case"String":return yield*xN(W,Q,X,$);case"Symbol":return yield*kN(W,Q,X,$);case"TemplateLiteral":return yield*gN(W,Q,X,$);case"This":return yield*fN(W,Q,X,$);case"Tuple":return yield*yN(W,Q,X,$);case"Undefined":return yield*vN(W,Q,X,$);case"Union":return yield*dN(W,Q,X,$);case"Uint8Array":return yield*hN(W,Q,X,$);case"Unknown":return yield*mN(W,Q,X,$);case"Void":return yield*cN(W,Q,X,$);default:if(!Y0.Has(W[L]))throw new _7(Y);return yield*uN(W,Q,X,$)}}function IY(...Y){let Z=Y.length===3?J0(Y[0],Y[1],"",Y[2]):J0(Y[0],[],"",Y[1]);return new d8(Z)}var pN=function(Y,Z,X,$,Q){if($==="m")throw TypeError("Private method is not writable");if($==="a"&&!Q)throw TypeError("Private accessor was defined without a setter");if(typeof Z==="function"?Y!==Z||!Q:!Z.has(Y))throw TypeError("Cannot write private member to an object whose class did not declare it");return $==="a"?Q.call(Y,X):Q?Q.value=X:Z.set(Y,X),X},K7=function(Y,Z,X,$){if(X==="a"&&!$)throw TypeError("Private accessor was defined without a getter");if(typeof Z==="function"?Y!==Z||!$:!Z.has(Y))throw TypeError("Cannot read private member from an object whose class did not declare it");return X==="m"?$:X==="a"?$.call(Y):$?$.value:Z.get(Y)},yQ,w$,F7;class S7 extends n{constructor(Y){let Z=Y.First();super(Z===void 0?"Invalid Value":Z.message);yQ.add(this),w$.set(this,void 0),pN(this,w$,Y,"f"),this.error=Z}Errors(){return new d8(K7(this,yQ,"m",F7).call(this))}}w$=new WeakMap,yQ=new WeakSet,F7=function*(){if(this.error)yield this.error;yield*K7(this,w$,"f")};function j7(Y,Z,X){if(a(Y,Z,X))return;throw new S7(IY(Y,Z,X))}function L$(...Y){return Y.length===3?j7(Y[0],Y[1],Y[2]):j7(Y[0],[],Y[1])}function iN(Y){let Z={};for(let X of Object.getOwnPropertyNames(Y))Z[X]=B1(Y[X]);for(let X of Object.getOwnPropertySymbols(Y))Z[X]=B1(Y[X]);return Z}function lN(Y){return Y.map((Z)=>B1(Z))}function nN(Y){return Y.slice()}function oN(Y){return new Map(B1([...Y.entries()]))}function tN(Y){return new Set(B1([...Y.entries()]))}function sN(Y){return new Date(Y.toISOString())}function rN(Y){return Y}function B1(Y){if(l(Y))return lN(Y);if(_0(Y))return sN(Y);if(n0(Y))return nN(Y);if(l6(Y))return oN(Y);if(n6(Y))return tN(Y);if(t(Y))return iN(Y);if(y0(Y))return rN(Y);throw Error("ValueClone: Unable to clone value")}class XY extends n{constructor(Y,Z){super(Z);this.schema=Y}}function N1(Y){return B8(Y)?Y():B1(Y)}function aN(Y,Z){if(o(Y,"default"))return N1(Y.default);else return{}}function eN(Y,Z){return{}}function YU(Y,Z){if(Y.uniqueItems===!0&&!o(Y,"default"))throw new XY(Y,"Array with the uniqueItems constraint requires a default value");else if("contains"in Y&&!o(Y,"default"))throw new XY(Y,"Array with the contains constraint requires a default value");else if("default"in Y)return N1(Y.default);else if(Y.minItems!==void 0)return Array.from({length:Y.minItems}).map((X)=>{return p0(Y.items,Z)});else return[]}function ZU(Y,Z){if(o(Y,"default"))return N1(Y.default);else return async function*(){}()}function XU(Y,Z){if(o(Y,"default"))return N1(Y.default);else return BigInt(0)}function $U(Y,Z){if(o(Y,"default"))return N1(Y.default);else return!1}function QU(Y,Z){if(o(Y,"default"))return N1(Y.default);else{let X=p0(Y.returns,Z);if(typeof X==="object"&&!Array.isArray(X))return class{constructor(){for(let[$,Q]of Object.entries(X)){let W=this;W[$]=Q}}};else return class{}}}function WU(Y,Z){if(o(Y,"default"))return N1(Y.default);else if(Y.minimumTimestamp!==void 0)return new Date(Y.minimumTimestamp);else return new Date}function JU(Y,Z){if(o(Y,"default"))return N1(Y.default);else return()=>p0(Y.returns,Z)}function MU(Y,Z){let X=globalThis.Object.values(Y.$defs),$=Y.$defs[Y.$ref];return p0($,[...Z,...X])}function GU(Y,Z){if(o(Y,"default"))return N1(Y.default);else if(Y.minimum!==void 0)return Y.minimum;else return 0}function zU(Y,Z){if(o(Y,"default"))return N1(Y.default);else{let X=Y.allOf.reduce(($,Q)=>{let W=p0(Q,Z);return typeof W==="object"?{...$,...W}:W},{});if(!a(Y,Z,X))throw new XY(Y,"Intersect produced invalid value. Consider using a default value.");return X}}function BU(Y,Z){if(o(Y,"default"))return N1(Y.default);else return function*(){}()}function NU(Y,Z){if(o(Y,"default"))return N1(Y.default);else return Y.const}function UU(Y,Z){if(o(Y,"default"))return N1(Y.default);else throw new XY(Y,"Never types cannot be created. Consider using a default value.")}function qU(Y,Z){if(o(Y,"default"))return N1(Y.default);else throw new XY(Y,"Not types must have a default value")}function HU(Y,Z){if(o(Y,"default"))return N1(Y.default);else return null}function AU(Y,Z){if(o(Y,"default"))return N1(Y.default);else if(Y.minimum!==void 0)return Y.minimum;else return 0}function DU(Y,Z){if(o(Y,"default"))return N1(Y.default);else{let X=new Set(Y.required),$={};for(let[Q,W]of Object.entries(Y.properties)){if(!X.has(Q))continue;$[Q]=p0(W,Z)}return $}}function wU(Y,Z){if(o(Y,"default"))return N1(Y.default);else return Promise.resolve(p0(Y.item,Z))}function LU(Y,Z){if(o(Y,"default"))return N1(Y.default);else return{}}function OU(Y,Z){if(o(Y,"default"))return N1(Y.default);else return p0(G1(Y,Z),Z)}function PU(Y,Z){if(o(Y,"default"))return N1(Y.default);else throw new XY(Y,"RegExp types cannot be created. Consider using a default value.")}function _U(Y,Z){if(Y.pattern!==void 0)if(!o(Y,"default"))throw new XY(Y,"String types with patterns must specify a default value");else return N1(Y.default);else if(Y.format!==void 0)if(!o(Y,"default"))throw new XY(Y,"String types with formats must specify a default value");else return N1(Y.default);else if(o(Y,"default"))return N1(Y.default);else if(Y.minLength!==void 0)return Array.from({length:Y.minLength}).map(()=>" ").join("");else return""}function jU(Y,Z){if(o(Y,"default"))return N1(Y.default);else if("value"in Y)return Symbol.for(Y.value);else return Symbol()}function KU(Y,Z){if(o(Y,"default"))return N1(Y.default);if(!aX(Y))throw new XY(Y,"Can only create template literals that produce a finite variants. Consider using a default value.");return NZ(Y)[0]}function FU(Y,Z){if(C7++>TU)throw new XY(Y,"Cannot create recursive type as it appears possibly infinite. Consider using a default.");if(o(Y,"default"))return N1(Y.default);else return p0(G1(Y,Z),Z)}function SU(Y,Z){if(o(Y,"default"))return N1(Y.default);if(Y.items===void 0)return[];else return Array.from({length:Y.minItems}).map((X,$)=>p0(Y.items[$],Z))}function CU(Y,Z){if(o(Y,"default"))return N1(Y.default);else return}function RU(Y,Z){if(o(Y,"default"))return N1(Y.default);else if(Y.anyOf.length===0)throw Error("ValueCreate.Union: Cannot create Union with zero variants");else return p0(Y.anyOf[0],Z)}function EU(Y,Z){if(o(Y,"default"))return N1(Y.default);else if(Y.minByteLength!==void 0)return new Uint8Array(Y.minByteLength);else return new Uint8Array(0)}function VU(Y,Z){if(o(Y,"default"))return N1(Y.default);else return{}}function IU(Y,Z){if(o(Y,"default"))return N1(Y.default);else return}function bU(Y,Z){if(o(Y,"default"))return N1(Y.default);else throw Error("User defined types must specify a default value")}function p0(Y,Z){let X=Q0(Y,Z),$=Y;switch($[L]){case"Any":return aN($,X);case"Argument":return eN($,X);case"Array":return YU($,X);case"AsyncIterator":return ZU($,X);case"BigInt":return XU($,X);case"Boolean":return $U($,X);case"Constructor":return QU($,X);case"Date":return WU($,X);case"Function":return JU($,X);case"Import":return MU($,X);case"Integer":return GU($,X);case"Intersect":return zU($,X);case"Iterator":return BU($,X);case"Literal":return NU($,X);case"Never":return UU($,X);case"Not":return qU($,X);case"Null":return HU($,X);case"Number":return AU($,X);case"Object":return DU($,X);case"Promise":return wU($,X);case"Record":return LU($,X);case"Ref":return OU($,X);case"RegExp":return PU($,X);case"String":return _U($,X);case"Symbol":return jU($,X);case"TemplateLiteral":return KU($,X);case"This":return FU($,X);case"Tuple":return SU($,X);case"Undefined":return CU($,X);case"Union":return RU($,X);case"Uint8Array":return EU($,X);case"Unknown":return VU($,X);case"Void":return IU($,X);default:if(!Y0.Has($[L]))throw new XY($,"Unknown type");return bU($,X)}}var TU=512,C7=0;function HY(...Y){return C7=0,Y.length===2?p0(Y[0],Y[1]):p0(Y[0],[])}class vQ extends n{constructor(Y,Z){super(Z);this.schema=Y}}function R7(Y,Z,X){if(Y[L]==="Object"&&typeof X==="object"&&!pY(X)){let $=Y,Q=Object.getOwnPropertyNames(X);return Object.entries($.properties).reduce((J,[M,G])=>{let B=G[L]==="Literal"&&G.const===X[M]?100:0,z=a(G,Z,X[M])?10:0,q=Q.includes(M)?1:0;return J+(B+z+q)},0)}else if(Y[L]==="Union"){let Q=Y.anyOf.map((W)=>G1(W,Z)).map((W)=>R7(W,Z,X));return Math.max(...Q)}else return a(Y,Z,X)?1:0}function xU(Y,Z,X){let $=Y.anyOf.map((J)=>G1(J,Z)),[Q,W]=[$[0],0];for(let J of $){let M=R7(J,Z,X);if(M>W)Q=J,W=M}return Q}function kU(Y,Z,X){if("default"in Y)return typeof X==="function"?Y.default:B1(Y.default);else{let $=xU(Y,Z,X);return MX($,Z,X)}}function gU(Y,Z,X){return a(Y,Z,X)?B1(X):HY(Y,Z)}function fU(Y,Z,X){return a(Y,Z,X)?X:HY(Y,Z)}function yU(Y,Z,X){if(a(Y,Z,X))return B1(X);let $=l(X)?B1(X):HY(Y,Z),Q=p(Y.minItems)&&$.length<Y.minItems?[...$,...Array.from({length:Y.minItems-$.length},()=>null)]:$,J=(p(Y.maxItems)&&Q.length>Y.maxItems?Q.slice(0,Y.maxItems):Q).map((G)=>AY(Y.items,Z,G));if(Y.uniqueItems!==!0)return J;let M=[...new Set(J)];if(!a(Y,Z,M))throw new vQ(Y,"Array cast produced invalid data due to uniqueItems constraint");return M}function vU(Y,Z,X){if(a(Y,Z,X))return HY(Y,Z);let $=new Set(Y.returns.required||[]),Q=function(){};for(let[W,J]of Object.entries(Y.returns.properties)){if(!$.has(W)&&X.prototype[W]===void 0)continue;Q.prototype[W]=AY(J,Z,X.prototype[W])}return Q}function dU(Y,Z,X){let $=globalThis.Object.values(Y.$defs),Q=Y.$defs[Y.$ref];return AY(Q,[...Z,...$],X)}function E7(Y,Z){if(t(Y)&&!t(Z)||!t(Y)&&t(Z))return Y;if(!t(Y)||!t(Z))return Z;return globalThis.Object.getOwnPropertyNames(Y).reduce((X,$)=>{let Q=$ in Z?E7(Y[$],Z[$]):Y[$];return{...X,[$]:Q}},{})}function hU(Y,Z,X){if(a(Y,Z,X))return X;let $=HY(Y,Z),Q=E7($,X);return a(Y,Z,Q)?Q:$}function mU(Y,Z,X){throw new vQ(Y,"Never types cannot be cast")}function cU(Y,Z,X){if(a(Y,Z,X))return X;if(X===null||typeof X!=="object")return HY(Y,Z);let $=new Set(Y.required||[]),Q={};for(let[W,J]of Object.entries(Y.properties)){if(!$.has(W)&&X[W]===void 0)continue;Q[W]=AY(J,Z,X[W])}if(typeof Y.additionalProperties==="object"){let W=Object.getOwnPropertyNames(Y.properties);for(let J of Object.getOwnPropertyNames(X)){if(W.includes(J))continue;Q[J]=AY(Y.additionalProperties,Z,X[J])}}return Q}function uU(Y,Z,X){if(a(Y,Z,X))return B1(X);if(X===null||typeof X!=="object"||Array.isArray(X)||X instanceof Date)return HY(Y,Z);let $=Object.getOwnPropertyNames(Y.patternProperties)[0],Q=Y.patternProperties[$],W={};for(let[J,M]of Object.entries(X))W[J]=AY(Q,Z,M);return W}function pU(Y,Z,X){return AY(G1(Y,Z),Z,X)}function iU(Y,Z,X){return AY(G1(Y,Z),Z,X)}function lU(Y,Z,X){if(a(Y,Z,X))return B1(X);if(!l(X))return HY(Y,Z);if(Y.items===void 0)return[];return Y.items.map(($,Q)=>AY($,Z,X[Q]))}function nU(Y,Z,X){return a(Y,Z,X)?B1(X):kU(Y,Z,X)}function AY(Y,Z,X){let $=J1(Y.$id)?Q0(Y,Z):Z,Q=Y;switch(Y[L]){case"Array":return yU(Q,$,X);case"Constructor":return vU(Q,$,X);case"Import":return dU(Q,$,X);case"Intersect":return hU(Q,$,X);case"Never":return mU(Q,$,X);case"Object":return cU(Q,$,X);case"Record":return uU(Q,$,X);case"Ref":return pU(Q,$,X);case"This":return iU(Q,$,X);case"Tuple":return lU(Q,$,X);case"Union":return nU(Q,$,X);case"Date":case"Symbol":case"Uint8Array":return gU(Y,Z,X);default:return fU(Q,$,X)}}function MX(...Y){return Y.length===3?AY(Y[0],Y[1],Y[2]):AY(Y[0],[],Y[1])}function oU(Y){return U8(Y)&&Y[L]!=="Unsafe"}function tU(Y,Z,X){if(!l(X))return X;return X.map(($)=>b0(Y.items,Z,$))}function sU(Y,Z,X){let $=globalThis.Object.values(Y.$defs),Q=Y.$defs[Y.$ref];return b0(Q,[...Z,...$],X)}function rU(Y,Z,X){let $=Y.unevaluatedProperties,W=Y.allOf.map((M)=>b0(M,Z,B1(X))).reduce((M,G)=>t(G)?{...M,...G}:G,{});if(!t(X)||!t(W)||!U8($))return W;let J=V0(Y);for(let M of Object.getOwnPropertyNames(X)){if(J.includes(M))continue;if(a($,Z,X[M]))W[M]=b0($,Z,X[M])}return W}function aU(Y,Z,X){if(!t(X)||l(X))return X;let $=Y.additionalProperties;for(let Q of Object.getOwnPropertyNames(X)){if(o(Y.properties,Q)){X[Q]=b0(Y.properties[Q],Z,X[Q]);continue}if(U8($)&&a($,Z,X[Q])){X[Q]=b0($,Z,X[Q]);continue}delete X[Q]}return X}function eU(Y,Z,X){if(!t(X))return X;let $=Y.additionalProperties,Q=Object.getOwnPropertyNames(X),[W,J]=Object.entries(Y.patternProperties)[0],M=new RegExp(W);for(let G of Q){if(M.test(G)){X[G]=b0(J,Z,X[G]);continue}if(U8($)&&a($,Z,X[G])){X[G]=b0($,Z,X[G]);continue}delete X[G]}return X}function Yq(Y,Z,X){return b0(G1(Y,Z),Z,X)}function Zq(Y,Z,X){return b0(G1(Y,Z),Z,X)}function Xq(Y,Z,X){if(!l(X))return X;if(I1(Y.items))return[];let $=Math.min(X.length,Y.items.length);for(let Q=0;Q<$;Q++)X[Q]=b0(Y.items[Q],Z,X[Q]);return X.length>$?X.slice(0,$):X}function $q(Y,Z,X){for(let $ of Y.anyOf)if(oU($)&&a($,Z,X))return b0($,Z,X);return X}function b0(Y,Z,X){let $=J1(Y.$id)?Q0(Y,Z):Z,Q=Y;switch(Q[L]){case"Array":return tU(Q,$,X);case"Import":return sU(Q,$,X);case"Intersect":return rU(Q,$,X);case"Object":return aU(Q,$,X);case"Record":return eU(Q,$,X);case"Ref":return Yq(Q,$,X);case"This":return Zq(Q,$,X);case"Tuple":return Xq(Q,$,X);case"Union":return $q(Q,$,X);default:return X}}function O$(...Y){return Y.length===3?b0(Y[0],Y[1],Y[2]):b0(Y[0],[],Y[1])}function P$(Y){return J1(Y)&&!isNaN(Y)&&!isNaN(parseFloat(Y))}function Qq(Y){return B0(Y)||RY(Y)||p(Y)}function GX(Y){return Y===!0||p(Y)&&Y===1||B0(Y)&&Y===BigInt("1")||J1(Y)&&(Y.toLowerCase()==="true"||Y==="1")}function zX(Y){return Y===!1||p(Y)&&(Y===0||Object.is(Y,-0))||B0(Y)&&Y===BigInt("0")||J1(Y)&&(Y.toLowerCase()==="false"||Y==="0"||Y==="-0")}function Wq(Y){return J1(Y)&&/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i.test(Y)}function Jq(Y){return J1(Y)&&/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)?$/i.test(Y)}function Mq(Y){return J1(Y)&&/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i.test(Y)}function Gq(Y){return J1(Y)&&/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)?$/i.test(Y)}function zq(Y){return J1(Y)&&/^\d\d\d\d-[0-1]\d-[0-3]\d$/i.test(Y)}function Bq(Y,Z){let X=I7(Y);return X===Z?X:Y}function Nq(Y,Z){let X=b7(Y);return X===Z?X:Y}function Uq(Y,Z){let X=V7(Y);return X===Z?X:Y}function qq(Y,Z){return J1(Y.const)?Bq(Z,Y.const):p(Y.const)?Nq(Z,Y.const):RY(Y.const)?Uq(Z,Y.const):Z}function V7(Y){return GX(Y)?!0:zX(Y)?!1:Y}function Hq(Y){let Z=(X)=>X.split(".")[0];return P$(Y)?BigInt(Z(Y)):p(Y)?BigInt(Math.trunc(Y)):zX(Y)?BigInt(0):GX(Y)?BigInt(1):Y}function I7(Y){return iY(Y)&&Y.description!==void 0?Y.description.toString():Qq(Y)?Y.toString():Y}function b7(Y){return P$(Y)?parseFloat(Y):GX(Y)?1:zX(Y)?0:Y}function Aq(Y){return P$(Y)?parseInt(Y):p(Y)?Math.trunc(Y):GX(Y)?1:zX(Y)?0:Y}function Dq(Y){return J1(Y)&&Y.toLowerCase()==="null"?null:Y}function wq(Y){return J1(Y)&&Y==="undefined"?void 0:Y}function Lq(Y){return _0(Y)?Y:p(Y)?new Date(Y):GX(Y)?new Date(1):zX(Y)?new Date(0):P$(Y)?new Date(parseInt(Y)):Jq(Y)?new Date(`1970-01-01T${Y}.000Z`):Wq(Y)?new Date(`1970-01-01T${Y}`):Gq(Y)?new Date(`${Y}.000Z`):Mq(Y)?new Date(Y):zq(Y)?new Date(`${Y}T00:00:00.000Z`):Y}function Oq(Y){return Y}function Pq(Y,Z,X){return(l(X)?X:[X]).map((Q)=>DY(Y.items,Z,Q))}function _q(Y,Z,X){return Hq(X)}function jq(Y,Z,X){return V7(X)}function Kq(Y,Z,X){return Lq(X)}function Fq(Y,Z,X){let $=globalThis.Object.values(Y.$defs),Q=Y.$defs[Y.$ref];return DY(Q,[...Z,...$],X)}function Sq(Y,Z,X){return Aq(X)}function Cq(Y,Z,X){return Y.allOf.reduce(($,Q)=>DY(Q,Z,$),X)}function Rq(Y,Z,X){return qq(Y,X)}function Eq(Y,Z,X){return Dq(X)}function Vq(Y,Z,X){return b7(X)}function Iq(Y,Z,X){if(!t(X)||l(X))return X;for(let $ of Object.getOwnPropertyNames(Y.properties)){if(!o(X,$))continue;X[$]=DY(Y.properties[$],Z,X[$])}return X}function bq(Y,Z,X){if(!(t(X)&&!l(X)))return X;let Q=Object.getOwnPropertyNames(Y.patternProperties)[0],W=Y.patternProperties[Q];for(let[J,M]of Object.entries(X))X[J]=DY(W,Z,M);return X}function Tq(Y,Z,X){return DY(G1(Y,Z),Z,X)}function xq(Y,Z,X){return I7(X)}function kq(Y,Z,X){return J1(X)||p(X)?Symbol(X):X}function gq(Y,Z,X){return DY(G1(Y,Z),Z,X)}function fq(Y,Z,X){if(!(l(X)&&!I1(Y.items)))return X;return X.map((Q,W)=>{return W<Y.items.length?DY(Y.items[W],Z,Q):Q})}function yq(Y,Z,X){return wq(X)}function vq(Y,Z,X){for(let $ of Y.anyOf)if(a($,Z,X))return X;for(let $ of Y.anyOf){let Q=DY($,Z,B1(X));if(!a($,Z,Q))continue;return Q}return X}function DY(Y,Z,X){let $=Q0(Y,Z),Q=Y;switch(Y[L]){case"Array":return Pq(Q,$,X);case"BigInt":return _q(Q,$,X);case"Boolean":return jq(Q,$,X);case"Date":return Kq(Q,$,X);case"Import":return Fq(Q,$,X);case"Integer":return Sq(Q,$,X);case"Intersect":return Cq(Q,$,X);case"Literal":return Rq(Q,$,X);case"Null":return Eq(Q,$,X);case"Number":return Vq(Q,$,X);case"Object":return Iq(Q,$,X);case"Record":return bq(Q,$,X);case"Ref":return Tq(Q,$,X);case"String":return xq(Q,$,X);case"Symbol":return kq(Q,$,X);case"This":return gq(Q,$,X);case"Tuple":return fq(Q,$,X);case"Undefined":return yq(Q,$,X);case"Union":return vq(Q,$,X);default:return Oq(X)}}function _$(...Y){return Y.length===3?DY(Y[0],Y[1],Y[2]):DY(Y[0],[],Y[1])}class BX extends n{constructor(Y,Z,X){super("Unable to decode value as it does not match the expected schema");this.schema=Y,this.value=Z,this.error=X}}class h8 extends n{constructor(Y,Z,X,$){super($ instanceof Error?$.message:"Unknown error");this.schema=Y,this.path=Z,this.value=X,this.error=$}}function g1(Y,Z,X){try{return U1(Y)?Y[C1].Decode(X):X}catch($){throw new h8(Y,Z,X,$)}}function dq(Y,Z,X,$){return l($)?g1(Y,X,$.map((Q,W)=>wY(Y.items,Z,`${X}/${W}`,Q))):g1(Y,X,$)}function hq(Y,Z,X,$){if(!t($)||y0($))return g1(Y,X,$);let Q=$$(Y),W=Q.map((z)=>z[0]),J={...$};for(let[z,q]of Q)if(z in J)J[z]=wY(q,Z,`${X}/${z}`,J[z]);if(!U1(Y.unevaluatedProperties))return g1(Y,X,J);let M=Object.getOwnPropertyNames(J),G=Y.unevaluatedProperties,B={...J};for(let z of M)if(!W.includes(z))B[z]=g1(G,`${X}/${z}`,B[z]);return g1(Y,X,B)}function mq(Y,Z,X,$){let Q=globalThis.Object.values(Y.$defs),W=Y.$defs[Y.$ref],J=wY(W,[...Z,...Q],X,$);return g1(Y,X,J)}function cq(Y,Z,X,$){return g1(Y,X,wY(Y.not,Z,X,$))}function uq(Y,Z,X,$){if(!t($))return g1(Y,X,$);let Q=V0(Y),W={...$};for(let B of Q){if(!o(W,B))continue;if(I1(W[B])&&(!oY(Y.properties[B])||S1.IsExactOptionalProperty(W,B)))continue;W[B]=wY(Y.properties[B],Z,`${X}/${B}`,W[B])}if(!k1(Y.additionalProperties))return g1(Y,X,W);let J=Object.getOwnPropertyNames(W),M=Y.additionalProperties,G={...W};for(let B of J)if(!Q.includes(B))G[B]=g1(M,`${X}/${B}`,G[B]);return g1(Y,X,G)}function pq(Y,Z,X,$){if(!t($))return g1(Y,X,$);let Q=Object.getOwnPropertyNames(Y.patternProperties)[0],W=new RegExp(Q),J={...$};for(let z of Object.getOwnPropertyNames($))if(W.test(z))J[z]=wY(Y.patternProperties[Q],Z,`${X}/${z}`,J[z]);if(!k1(Y.additionalProperties))return g1(Y,X,J);let M=Object.getOwnPropertyNames(J),G=Y.additionalProperties,B={...J};for(let z of M)if(!W.test(z))B[z]=g1(G,`${X}/${z}`,B[z]);return g1(Y,X,B)}function iq(Y,Z,X,$){let Q=G1(Y,Z);return g1(Y,X,wY(Q,Z,X,$))}function lq(Y,Z,X,$){let Q=G1(Y,Z);return g1(Y,X,wY(Q,Z,X,$))}function nq(Y,Z,X,$){return l($)&&l(Y.items)?g1(Y,X,Y.items.map((Q,W)=>wY(Q,Z,`${X}/${W}`,$[W]))):g1(Y,X,$)}function oq(Y,Z,X,$){for(let Q of Y.anyOf){if(!a(Q,Z,$))continue;let W=wY(Q,Z,X,$);return g1(Y,X,W)}return g1(Y,X,$)}function wY(Y,Z,X,$){let Q=Q0(Y,Z),W=Y;switch(Y[L]){case"Array":return dq(W,Q,X,$);case"Import":return mq(W,Q,X,$);case"Intersect":return hq(W,Q,X,$);case"Not":return cq(W,Q,X,$);case"Object":return uq(W,Q,X,$);case"Record":return pq(W,Q,X,$);case"Ref":return iq(W,Q,X,$);case"Symbol":return g1(W,X,$);case"This":return lq(W,Q,X,$);case"Tuple":return nq(W,Q,X,$);case"Union":return oq(W,Q,X,$);default:return g1(W,X,$)}}function FZ(Y,Z,X){return wY(Y,Z,"",X)}class NX extends n{constructor(Y,Z,X){super("The encoded value does not match the expected schema");this.schema=Y,this.value=Z,this.error=X}}class T7 extends n{constructor(Y,Z,X,$){super(`${$ instanceof Error?$.message:"Unknown error"}`);this.schema=Y,this.path=Z,this.value=X,this.error=$}}function N0(Y,Z,X){try{return U1(Y)?Y[C1].Encode(X):X}catch($){throw new T7(Y,Z,X,$)}}function tq(Y,Z,X,$){let Q=N0(Y,X,$);return l(Q)?Q.map((W,J)=>LY(Y.items,Z,`${X}/${J}`,W)):Q}function sq(Y,Z,X,$){let Q=globalThis.Object.values(Y.$defs),W=Y.$defs[Y.$ref],J=N0(Y,X,$);return LY(W,[...Z,...Q],X,J)}function rq(Y,Z,X,$){let Q=N0(Y,X,$);if(!t($)||y0($))return Q;let W=$$(Y),J=W.map((q)=>q[0]),M={...Q};for(let[q,A]of W)if(q in M)M[q]=LY(A,Z,`${X}/${q}`,M[q]);if(!U1(Y.unevaluatedProperties))return M;let G=Object.getOwnPropertyNames(M),B=Y.unevaluatedProperties,z={...M};for(let q of G)if(!J.includes(q))z[q]=N0(B,`${X}/${q}`,z[q]);return z}function aq(Y,Z,X,$){return N0(Y.not,X,N0(Y,X,$))}function eq(Y,Z,X,$){let Q=N0(Y,X,$);if(!t(Q))return Q;let W=V0(Y),J={...Q};for(let z of W){if(!o(J,z))continue;if(I1(J[z])&&(!oY(Y.properties[z])||S1.IsExactOptionalProperty(J,z)))continue;J[z]=LY(Y.properties[z],Z,`${X}/${z}`,J[z])}if(!k1(Y.additionalProperties))return J;let M=Object.getOwnPropertyNames(J),G=Y.additionalProperties,B={...J};for(let z of M)if(!W.includes(z))B[z]=N0(G,`${X}/${z}`,B[z]);return B}function YH(Y,Z,X,$){let Q=N0(Y,X,$);if(!t($))return Q;let W=Object.getOwnPropertyNames(Y.patternProperties)[0],J=new RegExp(W),M={...Q};for(let q of Object.getOwnPropertyNames($))if(J.test(q))M[q]=LY(Y.patternProperties[W],Z,`${X}/${q}`,M[q]);if(!k1(Y.additionalProperties))return M;let G=Object.getOwnPropertyNames(M),B=Y.additionalProperties,z={...M};for(let q of G)if(!J.test(q))z[q]=N0(B,`${X}/${q}`,z[q]);return z}function ZH(Y,Z,X,$){let Q=G1(Y,Z),W=LY(Q,Z,X,$);return N0(Y,X,W)}function XH(Y,Z,X,$){let Q=G1(Y,Z),W=LY(Q,Z,X,$);return N0(Y,X,W)}function $H(Y,Z,X,$){let Q=N0(Y,X,$);return l(Y.items)?Y.items.map((W,J)=>LY(W,Z,`${X}/${J}`,Q[J])):[]}function QH(Y,Z,X,$){for(let Q of Y.anyOf){if(!a(Q,Z,$))continue;let W=LY(Q,Z,X,$);return N0(Y,X,W)}for(let Q of Y.anyOf){let W=LY(Q,Z,X,$);if(!a(Y,Z,W))continue;return N0(Y,X,W)}return N0(Y,X,$)}function LY(Y,Z,X,$){let Q=Q0(Y,Z),W=Y;switch(Y[L]){case"Array":return tq(W,Q,X,$);case"Import":return sq(W,Q,X,$);case"Intersect":return rq(W,Q,X,$);case"Not":return aq(W,Q,X,$);case"Object":return eq(W,Q,X,$);case"Record":return YH(W,Q,X,$);case"Ref":return ZH(W,Q,X,$);case"This":return XH(W,Q,X,$);case"Tuple":return $H(W,Q,X,$);case"Union":return QH(W,Q,X,$);default:return N0(W,X,$)}}function SZ(Y,Z,X){return LY(Y,Z,"",X)}function WH(Y,Z){return U1(Y)||Z0(Y.items,Z)}function JH(Y,Z){return U1(Y)||Z0(Y.items,Z)}function MH(Y,Z){return U1(Y)||Z0(Y.returns,Z)||Y.parameters.some((X)=>Z0(X,Z))}function GH(Y,Z){return U1(Y)||Z0(Y.returns,Z)||Y.parameters.some((X)=>Z0(X,Z))}function zH(Y,Z){return U1(Y)||U1(Y.unevaluatedProperties)||Y.allOf.some((X)=>Z0(X,Z))}function BH(Y,Z){let X=globalThis.Object.getOwnPropertyNames(Y.$defs).reduce((Q,W)=>[...Q,Y.$defs[W]],[]),$=Y.$defs[Y.$ref];return U1(Y)||Z0($,[...X,...Z])}function NH(Y,Z){return U1(Y)||Z0(Y.items,Z)}function UH(Y,Z){return U1(Y)||Z0(Y.not,Z)}function qH(Y,Z){return U1(Y)||Object.values(Y.properties).some((X)=>Z0(X,Z))||k1(Y.additionalProperties)&&Z0(Y.additionalProperties,Z)}function HH(Y,Z){return U1(Y)||Z0(Y.item,Z)}function AH(Y,Z){let X=Object.getOwnPropertyNames(Y.patternProperties)[0],$=Y.patternProperties[X];return U1(Y)||Z0($,Z)||k1(Y.additionalProperties)&&U1(Y.additionalProperties)}function DH(Y,Z){if(U1(Y))return!0;return Z0(G1(Y,Z),Z)}function wH(Y,Z){if(U1(Y))return!0;return Z0(G1(Y,Z),Z)}function LH(Y,Z){return U1(Y)||!I1(Y.items)&&Y.items.some((X)=>Z0(X,Z))}function OH(Y,Z){return U1(Y)||Y.anyOf.some((X)=>Z0(X,Z))}function Z0(Y,Z){let X=Q0(Y,Z),$=Y;if(Y.$id&&dQ.has(Y.$id))return!1;if(Y.$id)dQ.add(Y.$id);switch(Y[L]){case"Array":return WH($,X);case"AsyncIterator":return JH($,X);case"Constructor":return MH($,X);case"Function":return GH($,X);case"Import":return BH($,X);case"Intersect":return zH($,X);case"Iterator":return NH($,X);case"Not":return UH($,X);case"Object":return qH($,X);case"Promise":return HH($,X);case"Record":return AH($,X);case"Ref":return DH($,X);case"This":return wH($,X);case"Tuple":return LH($,X);case"Union":return OH($,X);default:return U1(Y)}}var dQ=new Set;function Y8(Y,Z){return dQ.clear(),Z0(Y,Z)}function x7(...Y){let[Z,X,$]=Y.length===3?[Y[0],Y[1],Y[2]]:[Y[0],[],Y[1]];if(!a(Z,X,$))throw new BX(Z,$,IY(Z,X,$).First());return Y8(Z,X)?FZ(Z,X,$):$}function Z8(Y,Z){let X=o(Y,"default")?Y.default:void 0,$=B8(X)?X():B1(X);return I1(Z)?$:t(Z)&&t($)?Object.assign($,Z):Z}function hQ(Y){return U8(Y)&&"default"in Y}function PH(Y,Z,X){if(l(X)){for(let Q=0;Q<X.length;Q++)X[Q]=K0(Y.items,Z,X[Q]);return X}let $=Z8(Y,X);if(!l($))return $;for(let Q=0;Q<$.length;Q++)$[Q]=K0(Y.items,Z,$[Q]);return $}function _H(Y,Z,X){return _0(X)?X:Z8(Y,X)}function jH(Y,Z,X){let $=globalThis.Object.values(Y.$defs),Q=Y.$defs[Y.$ref];return K0(Q,[...Z,...$],X)}function KH(Y,Z,X){let $=Z8(Y,X);return Y.allOf.reduce((Q,W)=>{let J=K0(W,Z,$);return t(J)?{...Q,...J}:J},{})}function FH(Y,Z,X){let $=Z8(Y,X);if(!t($))return $;let Q=Object.getOwnPropertyNames(Y.properties);for(let W of Q){let J=K0(Y.properties[W],Z,$[W]);if(I1(J))continue;$[W]=K0(Y.properties[W],Z,$[W])}if(!hQ(Y.additionalProperties))return $;for(let W of Object.getOwnPropertyNames($)){if(Q.includes(W))continue;$[W]=K0(Y.additionalProperties,Z,$[W])}return $}function SH(Y,Z,X){let $=Z8(Y,X);if(!t($))return $;let Q=Y.additionalProperties,[W,J]=Object.entries(Y.patternProperties)[0],M=new RegExp(W);for(let G of Object.getOwnPropertyNames($)){if(!(M.test(G)&&hQ(J)))continue;$[G]=K0(J,Z,$[G])}if(!hQ(Q))return $;for(let G of Object.getOwnPropertyNames($)){if(M.test(G))continue;$[G]=K0(Q,Z,$[G])}return $}function CH(Y,Z,X){return K0(G1(Y,Z),Z,Z8(Y,X))}function RH(Y,Z,X){return K0(G1(Y,Z),Z,X)}function EH(Y,Z,X){let $=Z8(Y,X);if(!l($)||I1(Y.items))return $;let[Q,W]=[Y.items,Math.max(Y.items.length,$.length)];for(let J=0;J<W;J++)if(J<Q.length)$[J]=K0(Q[J],Z,$[J]);return $}function VH(Y,Z,X){let $=Z8(Y,X);for(let Q of Y.anyOf){let W=K0(Q,Z,B1($));if(a(Q,Z,W))return W}return $}function K0(Y,Z,X){let $=Q0(Y,Z),Q=Y;switch(Q[L]){case"Array":return PH(Q,$,X);case"Date":return _H(Q,$,X);case"Import":return jH(Q,$,X);case"Intersect":return KH(Q,$,X);case"Object":return FH(Q,$,X);case"Record":return SH(Q,$,X);case"Ref":return CH(Q,$,X);case"This":return RH(Q,$,X);case"Tuple":return EH(Q,$,X);case"Union":return VH(Q,$,X);default:return Z8(Q,X)}}function j$(...Y){return Y.length===3?K0(Y[0],Y[1],Y[2]):K0(Y[0],[],Y[1])}var OY={};z8(OY,{ValuePointerRootSetError:()=>mQ,ValuePointerRootDeleteError:()=>cQ,Set:()=>IH,Has:()=>TH,Get:()=>xH,Format:()=>UX,Delete:()=>bH});class mQ extends n{constructor(Y,Z,X){super("Cannot set root value");this.value=Y,this.path=Z,this.update=X}}class cQ extends n{constructor(Y,Z){super("Cannot delete root value");this.value=Y,this.path=Z}}function k7(Y){return Y.indexOf("~")===-1?Y:Y.replace(/~1/g,"/").replace(/~0/g,"~")}function*UX(Y){if(Y==="")return;let[Z,X]=[0,0];for(let $=0;$<Y.length;$++)if(Y.charAt($)==="/")if($===0)Z=$+1;else X=$,yield k7(Y.slice(Z,X)),Z=$+1;else X=$;yield k7(Y.slice(Z))}function IH(Y,Z,X){if(Z==="")throw new mQ(Y,Z,X);let[$,Q,W]=[null,Y,""];for(let J of UX(Z)){if(Q[J]===void 0)Q[J]={};$=Q,Q=Q[J],W=J}$[W]=X}function bH(Y,Z){if(Z==="")throw new cQ(Y,Z);let[X,$,Q]=[null,Y,""];for(let W of UX(Z)){if($[W]===void 0||$[W]===null)return;X=$,$=$[W],Q=W}if(Array.isArray(X)){let W=parseInt(Q);X.splice(W,1)}else delete X[Q]}function TH(Y,Z){if(Z==="")return!0;let[X,$,Q]=[null,Y,""];for(let W of UX(Z)){if($[W]===void 0)return!1;X=$,$=$[W],Q=W}return Object.getOwnPropertyNames(X).includes(Q)}function xH(Y,Z){if(Z==="")return Y;let X=Y;for(let $ of UX(Z)){if(X[$]===void 0)return;X=X[$]}return X}function kH(Y,Z){if(!t(Z))return!1;let X=[...Object.keys(Y),...Object.getOwnPropertySymbols(Y)],$=[...Object.keys(Z),...Object.getOwnPropertySymbols(Z)];if(X.length!==$.length)return!1;return X.every((Q)=>m8(Y[Q],Z[Q]))}function gH(Y,Z){return _0(Z)&&Y.getTime()===Z.getTime()}function fH(Y,Z){if(!l(Z)||Y.length!==Z.length)return!1;return Y.every((X,$)=>m8(X,Z[$]))}function yH(Y,Z){if(!n0(Z)||Y.length!==Z.length||Object.getPrototypeOf(Y).constructor.name!==Object.getPrototypeOf(Z).constructor.name)return!1;return Y.every((X,$)=>m8(X,Z[$]))}function vH(Y,Z){return Y===Z}function m8(Y,Z){if(_0(Y))return gH(Y,Z);if(n0(Y))return yH(Y,Z);if(l(Y))return fH(Y,Z);if(t(Y))return kH(Y,Z);if(y0(Y))return vH(Y,Z);throw Error("ValueEquals: Unable to compare value")}var dH=H1({type:W1("insert"),path:j0(),value:NY()}),hH=H1({type:W1("update"),path:j0(),value:NY()}),mH=H1({type:W1("delete"),path:j0()}),f7=q1([dH,hH,mH]);class uQ extends n{constructor(Y,Z){super(Z);this.value=Y}}function K$(Y,Z){return{type:"update",path:Y,value:Z}}function y7(Y,Z){return{type:"insert",path:Y,value:Z}}function v7(Y){return{type:"delete",path:Y}}function g7(Y){if(globalThis.Object.getOwnPropertySymbols(Y).length>0)throw new uQ(Y,"Cannot diff objects with symbols")}function*cH(Y,Z,X){if(g7(Z),g7(X),!HQ(X))return yield K$(Y,X);let $=globalThis.Object.getOwnPropertyNames(Z),Q=globalThis.Object.getOwnPropertyNames(X);for(let W of Q){if(o(Z,W))continue;yield y7(`${Y}/${W}`,X[W])}for(let W of $){if(!o(X,W))continue;if(m8(Z,X))continue;yield*F$(`${Y}/${W}`,Z[W],X[W])}for(let W of $){if(o(X,W))continue;yield v7(`${Y}/${W}`)}}function*uH(Y,Z,X){if(!l(X))return yield K$(Y,X);for(let $=0;$<Math.min(Z.length,X.length);$++)yield*F$(`${Y}/${$}`,Z[$],X[$]);for(let $=0;$<X.length;$++){if($<Z.length)continue;yield y7(`${Y}/${$}`,X[$])}for(let $=Z.length-1;$>=0;$--){if($<X.length)continue;yield v7(`${Y}/${$}`)}}function*pH(Y,Z,X){if(!n0(X)||Z.length!==X.length||globalThis.Object.getPrototypeOf(Z).constructor.name!==globalThis.Object.getPrototypeOf(X).constructor.name)return yield K$(Y,X);for(let $=0;$<Math.min(Z.length,X.length);$++)yield*F$(`${Y}/${$}`,Z[$],X[$])}function*iH(Y,Z,X){if(Z===X)return;yield K$(Y,X)}function*F$(Y,Z,X){if(HQ(Z))return yield*cH(Y,Z,X);if(l(Z))return yield*uH(Y,Z,X);if(n0(Z))return yield*pH(Y,Z,X);if(y0(Z))return yield*iH(Y,Z,X);throw new uQ(Z,"Unable to diff value")}function d7(Y,Z){return[...F$("",Y,Z)]}function lH(Y){return Y.length>0&&Y[0].path===""&&Y[0].type==="update"}function nH(Y){return Y.length===0}function h7(Y,Z){if(lH(Z))return B1(Z[0].value);if(nH(Z))return B1(Y);let X=B1(Y);for(let $ of Z)switch($.type){case"insert":{OY.Set(X,$.path,$.value);break}case"update":{OY.Set(X,$.path,$.value);break}case"delete":{OY.Delete(X,$.path);break}}return X}function m7(...Y){let[Z,X,$]=Y.length===3?[Y[0],Y[1],Y[2]]:[Y[0],[],Y[1]],Q=Y8(Z,X)?SZ(Z,X,$):$;if(!a(Z,X,Q))throw new NX(Z,Q,IY(Z,X,Q).First());return Q}function S$(Y){return t(Y)&&!l(Y)}class pQ extends n{constructor(Y){super(Y)}}function oH(Y,Z,X,$){if(!S$(X))OY.Set(Y,Z,B1($));else{let Q=Object.getOwnPropertyNames(X),W=Object.getOwnPropertyNames($);for(let J of Q)if(!W.includes(J))delete X[J];for(let J of W)if(!Q.includes(J))X[J]=null;for(let J of W)iQ(Y,`${Z}/${J}`,X[J],$[J])}}function tH(Y,Z,X,$){if(!l(X))OY.Set(Y,Z,B1($));else{for(let Q=0;Q<$.length;Q++)iQ(Y,`${Z}/${Q}`,X[Q],$[Q]);X.splice($.length)}}function sH(Y,Z,X,$){if(n0(X)&&X.length===$.length)for(let Q=0;Q<X.length;Q++)X[Q]=$[Q];else OY.Set(Y,Z,B1($))}function rH(Y,Z,X,$){if(X===$)return;OY.Set(Y,Z,$)}function iQ(Y,Z,X,$){if(l($))return tH(Y,Z,X,$);if(n0($))return sH(Y,Z,X,$);if(S$($))return oH(Y,Z,X,$);if(y0($))return rH(Y,Z,X,$)}function c7(Y){return n0(Y)||y0(Y)}function aH(Y,Z){return S$(Y)&&l(Z)||l(Y)&&S$(Z)}function u7(Y,Z){if(c7(Y)||c7(Z))throw new pQ("Only object and array types can be mutated at the root level");if(aH(Y,Z))throw new pQ("Cannot assign due type mismatch of assignable values");iQ(Y,"",Y,Z)}class nQ extends n{constructor(Y){super(Y)}}var lQ;(function(Y){let Z=new Map([["Assert",(W,J,M)=>{return L$(W,J,M),M}],["Cast",(W,J,M)=>MX(W,J,M)],["Clean",(W,J,M)=>O$(W,J,M)],["Clone",(W,J,M)=>B1(M)],["Convert",(W,J,M)=>_$(W,J,M)],["Decode",(W,J,M)=>Y8(W,J)?FZ(W,J,M):M],["Default",(W,J,M)=>j$(W,J,M)],["Encode",(W,J,M)=>Y8(W,J)?SZ(W,J,M):M]]);function X(W){Z.delete(W)}Y.Delete=X;function $(W,J){Z.set(W,J)}Y.Set=$;function Q(W){return Z.get(W)}Y.Get=Q})(lQ||(lQ={}));var p7=["Clone","Clean","Default","Convert","Assert","Decode"];function eH(Y,Z,X,$){return Y.reduce((Q,W)=>{let J=lQ.Get(W);if(I1(J))throw new nQ(`Unable to find Parse operation '${W}'`);return J(Z,X,Q)},$)}function i7(...Y){let[Z,X,$,Q]=Y.length===4?[Y[0],Y[1],Y[2],Y[3]]:Y.length===3?l(Y[0])?[Y[0],Y[1],[],Y[2]]:[p7,Y[0],Y[1],Y[2]]:Y.length===2?[p7,Y[0],[],Y[1]]:(()=>{throw new nQ("Invalid Arguments")})();return eH(Z,X,$,Q)}var P1={};z8(P1,{ValueErrorIterator:()=>d8,Patch:()=>h7,Parse:()=>i7,Mutate:()=>u7,Hash:()=>P8,Errors:()=>IY,Equal:()=>m8,Encode:()=>m7,Edit:()=>f7,Diff:()=>d7,Default:()=>j$,Decode:()=>x7,Create:()=>HY,Convert:()=>_$,Clone:()=>B1,Clean:()=>O$,Check:()=>a,Cast:()=>MX,Assert:()=>L$});class l7{constructor(Y,Z,X,$){this.schema=Y,this.references=Z,this.checkFunc=X,this.code=$,this.hasTransform=Y8(Y,Z)}Code(){return this.code}Schema(){return this.schema}References(){return this.references}Errors(Y){return IY(this.schema,this.references,Y)}Check(Y){return this.checkFunc(Y)}Decode(Y){if(!this.checkFunc(Y))throw new BX(this.schema,Y,this.Errors(Y).First());return this.hasTransform?FZ(this.schema,this.references,Y):Y}Encode(Y){let Z=this.hasTransform?SZ(this.schema,this.references,Y):Y;if(!this.checkFunc(Z))throw new NX(this.schema,Y,this.Errors(Y).First());return Z}}var X8;(function(Y){function Z(W){return W===36}Y.DollarSign=Z;function X(W){return W===95}Y.IsUnderscore=X;function $(W){return W>=65&&W<=90||W>=97&&W<=122}Y.IsAlpha=$;function Q(W){return W>=48&&W<=57}Y.IsNumeric=Q})(X8||(X8={}));var C$;(function(Y){function Z(W){if(W.length===0)return!1;return X8.IsNumeric(W.charCodeAt(0))}function X(W){if(Z(W))return!1;for(let J=0;J<W.length;J++){let M=W.charCodeAt(J);if(!(X8.IsAlpha(M)||X8.IsNumeric(M)||X8.DollarSign(M)||X8.IsUnderscore(M)))return!1}return!0}function $(W){return W.replace(/'/g,"\\'")}function Q(W,J){return X(J)?`${W}.${J}`:`${W}['${$(J)}']`}Y.Encode=Q})(C$||(C$={}));var oQ;(function(Y){function Z(X){let $=[];for(let Q=0;Q<X.length;Q++){let W=X.charCodeAt(Q);if(X8.IsNumeric(W)||X8.IsAlpha(W))$.push(X.charAt(Q));else $.push(`_${W}_`)}return $.join("").replace(/__/g,"_")}Y.Encode=Z})(oQ||(oQ={}));var tQ;(function(Y){function Z(X){return X.replace(/'/g,"\\'")}Y.Escape=Z})(tQ||(tQ={}));class n7 extends n{constructor(Y){super("Unknown type");this.schema=Y}}class sQ extends n{constructor(Y){super("Preflight validation check failed to guard for the given schema");this.schema=Y}}var c8;(function(Y){function Z(J,M,G){return S1.ExactOptionalPropertyTypes?`('${M}' in ${J} ? ${G} : true)`:`(${C$.Encode(J,M)} !== undefined ? ${G} : true)`}Y.IsExactOptionalProperty=Z;function X(J){return!S1.AllowArrayObject?`(typeof ${J} === 'object' && ${J} !== null && !Array.isArray(${J}))`:`(typeof ${J} === 'object' && ${J} !== null)`}Y.IsObjectLike=X;function $(J){return!S1.AllowArrayObject?`(typeof ${J} === 'object' && ${J} !== null && !Array.isArray(${J}) && !(${J} instanceof Date) && !(${J} instanceof Uint8Array))`:`(typeof ${J} === 'object' && ${J} !== null && !(${J} instanceof Date) && !(${J} instanceof Uint8Array))`}Y.IsRecordLike=$;function Q(J){return S1.AllowNaN?`typeof ${J} === 'number'`:`Number.isFinite(${J})`}Y.IsNumberLike=Q;function W(J){return S1.AllowNullVoid?`(${J} === undefined || ${J} === null)`:`${J} === undefined`}Y.IsVoidLike=W})(c8||(c8={}));var PY;(function(Y){function Z(H){return H[L]==="Any"||H[L]==="Unknown"}function*X(H,K,U){yield"true"}function*$(H,K,U){yield"true"}function*Q(H,K,U){yield`Array.isArray(${U})`;let[_,F]=[e8("value","any"),e8("acc","number")];if(p(H.maxItems))yield`${U}.length <= ${H.maxItems}`;if(p(H.minItems))yield`${U}.length >= ${H.minItems}`;let R=P0(H.items,K,"value");if(yield`${U}.every((${_}) => ${R})`,T1(H.contains)||p(H.minContains)||p(H.maxContains)){let h=T1(H.contains)?H.contains:r(),Z1=P0(h,K,"value"),D1=p(H.minContains)?[`(count >= ${H.minContains})`]:[],E1=p(H.maxContains)?[`(count <= ${H.maxContains})`]:[],f1=`const count = value.reduce((${F}, ${_}) => ${Z1} ? acc + 1 : acc, 0)`,l0=["(count > 0)",...D1,...E1].join(" && ");yield`((${_}) => { ${f1}; return ${l0}})(${U})`}if(H.uniqueItems===!0)yield`((${_}) => { const set = new Set(); for(const element of value) { const hashed = hash(element); if(set.has(hashed)) { return false } else { set.add(hashed) } } return true } )(${U})`}function*W(H,K,U){yield`(typeof value === 'object' && Symbol.asyncIterator in ${U})`}function*J(H,K,U){if(yield`(typeof ${U} === 'bigint')`,B0(H.exclusiveMaximum))yield`${U} < BigInt(${H.exclusiveMaximum})`;if(B0(H.exclusiveMinimum))yield`${U} > BigInt(${H.exclusiveMinimum})`;if(B0(H.maximum))yield`${U} <= BigInt(${H.maximum})`;if(B0(H.minimum))yield`${U} >= BigInt(${H.minimum})`;if(B0(H.multipleOf))yield`(${U} % BigInt(${H.multipleOf})) === 0`}function*M(H,K,U){yield`(typeof ${U} === 'boolean')`}function*G(H,K,U){yield*FY(H.returns,K,`${U}.prototype`)}function*B(H,K,U){if(yield`(${U} instanceof Date) && Number.isFinite(${U}.getTime())`,p(H.exclusiveMaximumTimestamp))yield`${U}.getTime() < ${H.exclusiveMaximumTimestamp}`;if(p(H.exclusiveMinimumTimestamp))yield`${U}.getTime() > ${H.exclusiveMinimumTimestamp}`;if(p(H.maximumTimestamp))yield`${U}.getTime() <= ${H.maximumTimestamp}`;if(p(H.minimumTimestamp))yield`${U}.getTime() >= ${H.minimumTimestamp}`;if(p(H.multipleOfTimestamp))yield`(${U}.getTime() % ${H.multipleOfTimestamp}) === 0`}function*z(H,K,U){yield`(typeof ${U} === 'function')`}function*q(H,K,U){let _=globalThis.Object.getOwnPropertyNames(H.$defs).reduce((F,R)=>{return[...F,H.$defs[R]]},[]);yield*FY(a0(H.$ref),[...K,..._],U)}function*A(H,K,U){if(yield`Number.isInteger(${U})`,p(H.exclusiveMaximum))yield`${U} < ${H.exclusiveMaximum}`;if(p(H.exclusiveMinimum))yield`${U} > ${H.exclusiveMinimum}`;if(p(H.maximum))yield`${U} <= ${H.maximum}`;if(p(H.minimum))yield`${U} >= ${H.minimum}`;if(p(H.multipleOf))yield`(${U} % ${H.multipleOf}) === 0`}function*N(H,K,U){let _=H.allOf.map((F)=>P0(F,K,U)).join(" && ");if(H.unevaluatedProperties===!1){let F=q0(`${new RegExp(rY(H))};`),R=`Object.getOwnPropertyNames(${U}).every(key => ${F}.test(key))`;yield`(${_} && ${R})`}else if(T1(H.unevaluatedProperties)){let F=q0(`${new RegExp(rY(H))};`),R=`Object.getOwnPropertyNames(${U}).every(key => ${F}.test(key) || ${P0(H.unevaluatedProperties,K,`${U}[key]`)})`;yield`(${_} && ${R})`}else yield`(${_})`}function*D(H,K,U){yield`(typeof value === 'object' && Symbol.iterator in ${U})`}function*P(H,K,U){if(typeof H.const==="number"||typeof H.const==="boolean")yield`(${U} === ${H.const})`;else yield`(${U} === '${tQ.Escape(H.const)}')`}function*I(H,K,U){yield"false"}function*O(H,K,U){yield`(!${P0(H.not,K,U)})`}function*j(H,K,U){yield`(${U} === null)`}function*m(H,K,U){if(yield c8.IsNumberLike(U),p(H.exclusiveMaximum))yield`${U} < ${H.exclusiveMaximum}`;if(p(H.exclusiveMinimum))yield`${U} > ${H.exclusiveMinimum}`;if(p(H.maximum))yield`${U} <= ${H.maximum}`;if(p(H.minimum))yield`${U} >= ${H.minimum}`;if(p(H.multipleOf))yield`(${U} % ${H.multipleOf}) === 0`}function*k(H,K,U){if(yield c8.IsObjectLike(U),p(H.minProperties))yield`Object.getOwnPropertyNames(${U}).length >= ${H.minProperties}`;if(p(H.maxProperties))yield`Object.getOwnPropertyNames(${U}).length <= ${H.maxProperties}`;let _=Object.getOwnPropertyNames(H.properties);for(let F of _){let R=C$.Encode(U,F),h=H.properties[F];if(H.required&&H.required.includes(F)){if(yield*FY(h,K,R),aY(h)||Z(h))yield`('${F}' in ${U})`}else{let Z1=P0(h,K,R);yield c8.IsExactOptionalProperty(U,F,Z1)}}if(H.additionalProperties===!1)if(H.required&&H.required.length===_.length)yield`Object.getOwnPropertyNames(${U}).length === ${_.length}`;else{let F=`[${_.map((R)=>`'${R}'`).join(", ")}]`;yield`Object.getOwnPropertyNames(${U}).every(key => ${F}.includes(key))`}if(typeof H.additionalProperties==="object"){let F=P0(H.additionalProperties,K,`${U}[key]`),R=`[${_.map((h)=>`'${h}'`).join(", ")}]`;yield`(Object.getOwnPropertyNames(${U}).every(key => ${R}.includes(key) || ${F}))`}}function*u(H,K,U){yield`${U} instanceof Promise`}function*g(H,K,U){if(yield c8.IsRecordLike(U),p(H.minProperties))yield`Object.getOwnPropertyNames(${U}).length >= ${H.minProperties}`;if(p(H.maxProperties))yield`Object.getOwnPropertyNames(${U}).length <= ${H.maxProperties}`;let[_,F]=Object.entries(H.patternProperties)[0],R=q0(`${new RegExp(_)}`),h=P0(F,K,"value"),Z1=T1(H.additionalProperties)?P0(H.additionalProperties,K,U):H.additionalProperties===!1?"false":"true",D1=`(${R}.test(key) ? ${h} : ${Z1})`;yield`(Object.entries(${U}).every(([key, value]) => ${D1}))`}function*v(H,K,U){let _=G1(H,K);if(s1.functions.has(H.$ref))return yield`${SY(H.$ref)}(${U})`;yield*FY(_,K,U)}function*b(H,K,U){let _=q0(`${new RegExp(H.source,H.flags)};`);if(yield`(typeof ${U} === 'string')`,p(H.maxLength))yield`${U}.length <= ${H.maxLength}`;if(p(H.minLength))yield`${U}.length >= ${H.minLength}`;yield`${_}.test(${U})`}function*x(H,K,U){if(yield`(typeof ${U} === 'string')`,p(H.maxLength))yield`${U}.length <= ${H.maxLength}`;if(p(H.minLength))yield`${U}.length >= ${H.minLength}`;if(H.pattern!==void 0)yield`${q0(`${new RegExp(H.pattern)};`)}.test(${U})`;if(H.format!==void 0)yield`format('${H.format}', ${U})`}function*V(H,K,U){yield`(typeof ${U} === 'symbol')`}function*T(H,K,U){yield`(typeof ${U} === 'string')`,yield`${q0(`${new RegExp(H.pattern)};`)}.test(${U})`}function*y(H,K,U){yield`${SY(H.$ref)}(${U})`}function*c(H,K,U){if(yield`Array.isArray(${U})`,H.items===void 0)return yield`${U}.length === 0`;yield`(${U}.length === ${H.maxItems})`;for(let _=0;_<H.items.length;_++)yield`${P0(H.items[_],K,`${U}[${_}]`)}`}function*i(H,K,U){yield`${U} === undefined`}function*u1(H,K,U){yield`(${H.anyOf.map((F)=>P0(F,K,U)).join(" || ")})`}function*s(H,K,U){if(yield`${U} instanceof Uint8Array`,p(H.maxByteLength))yield`(${U}.length <= ${H.maxByteLength})`;if(p(H.minByteLength))yield`(${U}.length >= ${H.minByteLength})`}function*QQ(H,K,U){yield"true"}function*WQ(H,K,U){yield c8.IsVoidLike(U)}function*J8(H,K,U){let _=s1.instances.size;s1.instances.set(_,H),yield`kind('${H[L]}', ${_}, ${U})`}function*FY(H,K,U,_=!0){let F=J1(H.$id)?[...K,H]:K,R=H;if(_&&J1(H.$id)){let h=SY(H.$id);if(s1.functions.has(h))return yield`${h}(${U})`;else{s1.functions.set(h,"<deferred>");let Z1=M8(h,H,K,"value",!1);return s1.functions.set(h,Z1),yield`${h}(${U})`}}switch(R[L]){case"Any":return yield*X(R,F,U);case"Argument":return yield*$(R,F,U);case"Array":return yield*Q(R,F,U);case"AsyncIterator":return yield*W(R,F,U);case"BigInt":return yield*J(R,F,U);case"Boolean":return yield*M(R,F,U);case"Constructor":return yield*G(R,F,U);case"Date":return yield*B(R,F,U);case"Function":return yield*z(R,F,U);case"Import":return yield*q(R,F,U);case"Integer":return yield*A(R,F,U);case"Intersect":return yield*N(R,F,U);case"Iterator":return yield*D(R,F,U);case"Literal":return yield*P(R,F,U);case"Never":return yield*I(R,F,U);case"Not":return yield*O(R,F,U);case"Null":return yield*j(R,F,U);case"Number":return yield*m(R,F,U);case"Object":return yield*k(R,F,U);case"Promise":return yield*u(R,F,U);case"Record":return yield*g(R,F,U);case"Ref":return yield*v(R,F,U);case"RegExp":return yield*b(R,F,U);case"String":return yield*x(R,F,U);case"Symbol":return yield*V(R,F,U);case"TemplateLiteral":return yield*T(R,F,U);case"This":return yield*y(R,F,U);case"Tuple":return yield*c(R,F,U);case"Undefined":return yield*i(R,F,U);case"Union":return yield*u1(R,F,U);case"Uint8Array":return yield*s(R,F,U);case"Unknown":return yield*QQ(R,F,U);case"Void":return yield*WQ(R,F,U);default:if(!Y0.Has(R[L]))throw new n7(H);return yield*J8(R,F,U)}}let s1={language:"javascript",functions:new Map,variables:new Map,instances:new Map};function P0(H,K,U,_=!0){return`(${[...FY(H,K,U,_)].join(" && ")})`}function SY(H){return`check_${oQ.Encode(H)}`}function q0(H){let K=`local_${s1.variables.size}`;return s1.variables.set(K,`const ${K} = ${H}`),K}function M8(H,K,U,_,F=!0){let[R,h]=[`
10
- `,(f1)=>"".padStart(f1," ")],Z1=e8("value","any"),D1=mY("boolean"),E1=[...FY(K,U,_,F)].map((f1)=>`${h(4)}${f1}`).join(` &&${R}`);return`function ${H}(${Z1})${D1} {${R}${h(2)}return (${R}${E1}${R}${h(2)})
11
- }`}function e8(H,K){let U=s1.language==="typescript"?`: ${K}`:"";return`${H}${U}`}function mY(H){return s1.language==="typescript"?`: ${H}`:""}function mX(H,K,U){let _=M8("check",H,K,"value"),F=e8("value","any"),R=mY("boolean"),h=[...s1.functions.values()],Z1=[...s1.variables.values()],D1=J1(H.$id)?`return function check(${F})${R} {
12
- return ${SY(H.$id)}(value)
13
- }`:`return ${_}`;return[...Z1,...h,D1].join(`
14
- `)}function YZ(...H){let K={language:"javascript"},[U,_,F]=H.length===2&&l(H[1])?[H[0],H[1],K]:H.length===2&&!l(H[1])?[H[0],[],H[1]]:H.length===3?[H[0],H[1],H[2]]:H.length===1?[H[0],[],K]:[null,[],K];if(s1.language=F.language,s1.variables.clear(),s1.functions.clear(),s1.instances.clear(),!T1(U))throw new sQ(U);for(let R of _)if(!T1(R))throw new sQ(R);return mX(U,_,F)}Y.Code=YZ;function JQ(H,K=[]){let U=YZ(H,K,{language:"javascript"}),_=globalThis.Function("kind","format","hash",U),F=new Map(s1.instances);function R(E1,f1,l0){if(!Y0.Has(E1)||!F.has(f1))return!1;let G8=Y0.Get(E1),pZ=F.get(f1);return G8(pZ,l0)}function h(E1,f1){if(!A1.Has(E1))return!1;return A1.Get(E1)(f1)}function Z1(E1){return P8(E1)}let D1=_(R,h,Z1);return new l7(H,K,D1,U)}Y.Compile=JQ})(PY||(PY={}));var $D=Object.create,{getPrototypeOf:QD,defineProperty:n5,getOwnPropertyNames:WD}=Object,JD=Object.prototype.hasOwnProperty,yX=(Y,Z,X)=>{X=Y!=null?$D(QD(Y)):{};let $=Z||!Y||!Y.__esModule?n5(X,"default",{value:Y,enumerable:!0}):X;for(let Q of WD(Y))if(!JD.call($,Q))n5($,Q,{get:()=>Y[Q],enumerable:!0});return $},C4=(Y,Z)=>()=>(Z||Y((Z={exports:{}}).exports,Z),Z.exports);var ZQ=C4((Y,Z)=>{var X=12,$=0,Q=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,10,9,9,9,11,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,24,36,48,60,72,84,96,0,12,12,12,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,24,24,24,0,0,0,0,0,0,0,0,0,24,24,0,0,0,0,0,0,0,0,0,0,48,48,48,0,0,0,0,0,0,0,0,0,0,48,48,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,127,63,63,63,0,31,15,15,15,7,7,7];function W(G){var B=G.indexOf("%");if(B===-1)return G;var z=G.length,q="",A=0,N=0,D=B,P=X;while(B>-1&&B<z){var I=M(G[B+1],4),O=M(G[B+2],0),j=I|O,m=Q[j];if(P=Q[256+P+m],N=N<<6|j&Q[364+m],P===X)q+=G.slice(A,D),q+=N<=65535?String.fromCharCode(N):String.fromCharCode(55232+(N>>10),56320+(N&1023)),N=0,A=B+3,B=D=G.indexOf("%",A);else if(P===$)return null;else{if(B+=3,B<z&&G.charCodeAt(B)===37)continue;return null}}return q+G.slice(A)}var J={"0":0,"1":1,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7,"8":8,"9":9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};function M(G,B){var z=J[G];return z===void 0?255:z<<B}Z.exports=W}),MD=C4((Y)=>{Object.defineProperty(Y,"__esModule",{value:!0}),Y.parseCookie=G,Y.parse=G,Y.stringifyCookie=B,Y.stringifySetCookie=z,Y.serialize=z,Y.parseSetCookie=q,Y.stringifySetCookie=z,Y.serialize=z;var Z=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,X=/^[\u0021-\u003A\u003C-\u007E]*$/,$=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,Q=/^[\u0020-\u003A\u003D-\u007E]*$/,W=/^-?\d+$/,J=Object.prototype.toString,M=(()=>{let O=function(){};return O.prototype=Object.create(null),O})();function G(O,j){let m=new M,k=O.length;if(k<2)return m;let u=j?.decode||P,g=0;do{let v=N(O,g,k);if(v===-1)break;let b=A(O,g,k);if(v>b){g=O.lastIndexOf(";",v-1)+1;continue}let x=D(O,g,v);if(m[x]===void 0)m[x]=u(D(O,v+1,b));g=b+1}while(g<k);return m}function B(O,j){let m=j?.encode||encodeURIComponent,k=[];for(let u of Object.keys(O)){let g=O[u];if(g===void 0)continue;if(!Z.test(u))throw TypeError(`cookie name is invalid: ${u}`);let v=m(g);if(!X.test(v))throw TypeError(`cookie val is invalid: ${g}`);k.push(`${u}=${v}`)}return k.join("; ")}function z(O,j,m){let k=typeof O==="object"?O:{...m,name:O,value:String(j)},u=(typeof j==="object"?j:m)?.encode||encodeURIComponent;if(!Z.test(k.name))throw TypeError(`argument name is invalid: ${k.name}`);let g=k.value?u(k.value):"";if(!X.test(g))throw TypeError(`argument val is invalid: ${k.value}`);let v=k.name+"="+g;if(k.maxAge!==void 0){if(!Number.isInteger(k.maxAge))throw TypeError(`option maxAge is invalid: ${k.maxAge}`);v+="; Max-Age="+k.maxAge}if(k.domain){if(!$.test(k.domain))throw TypeError(`option domain is invalid: ${k.domain}`);v+="; Domain="+k.domain}if(k.path){if(!Q.test(k.path))throw TypeError(`option path is invalid: ${k.path}`);v+="; Path="+k.path}if(k.expires){if(!I(k.expires)||!Number.isFinite(k.expires.valueOf()))throw TypeError(`option expires is invalid: ${k.expires}`);v+="; Expires="+k.expires.toUTCString()}if(k.httpOnly)v+="; HttpOnly";if(k.secure)v+="; Secure";if(k.partitioned)v+="; Partitioned";if(k.priority)switch(typeof k.priority==="string"?k.priority.toLowerCase():void 0){case"low":v+="; Priority=Low";break;case"medium":v+="; Priority=Medium";break;case"high":v+="; Priority=High";break;default:throw TypeError(`option priority is invalid: ${k.priority}`)}if(k.sameSite)switch(typeof k.sameSite==="string"?k.sameSite.toLowerCase():k.sameSite){case!0:case"strict":v+="; SameSite=Strict";break;case"lax":v+="; SameSite=Lax";break;case"none":v+="; SameSite=None";break;default:throw TypeError(`option sameSite is invalid: ${k.sameSite}`)}return v}function q(O,j){let m=j?.decode||P,k=O.length,u=A(O,0,k),g=N(O,0,u),v=g===-1?{name:"",value:m(D(O,0,u))}:{name:D(O,0,g),value:m(D(O,g+1,u))},b=u+1;while(b<k){let x=A(O,b,k),V=N(O,b,x),T=V===-1?D(O,b,x):D(O,b,V),y=V===-1?void 0:D(O,V+1,x);switch(T.toLowerCase()){case"httponly":v.httpOnly=!0;break;case"secure":v.secure=!0;break;case"partitioned":v.partitioned=!0;break;case"domain":v.domain=y;break;case"path":v.path=y;break;case"max-age":if(y&&W.test(y))v.maxAge=Number(y);break;case"expires":if(!y)break;let c=new Date(y);if(Number.isFinite(c.valueOf()))v.expires=c;break;case"priority":if(!y)break;let i=y.toLowerCase();if(i==="low"||i==="medium"||i==="high")v.priority=i;break;case"samesite":if(!y)break;let u1=y.toLowerCase();if(u1==="lax"||u1==="strict"||u1==="none")v.sameSite=u1;break}b=x+1}return v}function A(O,j,m){let k=O.indexOf(";",j);return k===-1?m:k}function N(O,j,m){let k=O.indexOf("=",j);return k<m?k:-1}function D(O,j,m){let k=j,u=m;do{let g=O.charCodeAt(k);if(g!==32&&g!==9)break}while(++k<u);while(u>k){let g=O.charCodeAt(u-1);if(g!==32&&g!==9)break;u--}return O.slice(k,u)}function P(O){if(O.indexOf("%")===-1)return O;try{return decodeURIComponent(O)}catch(j){return O}}function I(O){return J.call(O)==="[object Date]"}}),bZ=(Y,Z)=>{let X=Z?.length?{}:null;if(X)for(let $ of Z)X[$.part.charCodeAt(0)]=$;return{part:Y,store:null,inert:X,params:null,wildcardStore:null}},o5=(Y,Z)=>({...Y,part:Z}),t5=(Y)=>({name:Y,store:null,inert:null});class yZ{config;root={};history=[];deferred=[];constructor(Y={}){if(this.config=Y,Y.lazy)this.find=this.lazyFind;if(Y.onParam&&!Array.isArray(Y.onParam))this.config.onParam=[this.config.onParam]}static regex={static:/:.+?(?=\/|$)/,params:/:.+?(?=\/|$)/g,optionalParams:/(\/:\w+\?)/g};lazyFind=(Y,Z)=>{if(!this.config.lazy)return this.find;return this.build(),this.find(Y,Z)};build(){if(!this.config.lazy)return;for(let[Y,Z,X]of this.deferred)this.add(Y,Z,X,{lazy:!1,ignoreHistory:!0});this.deferred=[],this.find=(Y,Z)=>{let X=this.root[Y];if(!X)return null;return u$(Z,Z.length,X,0,this.config.onParam)}}add(Y,Z,X,{ignoreError:$=!1,ignoreHistory:Q=!1,lazy:W=this.config.lazy}={}){if(W)return this.find=this.lazyFind,this.deferred.push([Y,Z,X]),X;if(typeof Z!=="string")throw TypeError("Route path must be a string");if(Z==="")Z="/";else if(Z[0]!=="/")Z=`/${Z}`;let J=Z[Z.length-1]==="*",M=Z.match(yZ.regex.optionalParams);if(M){let A=Z.replaceAll("?","");this.add(Y,A,X,{ignoreError:$,ignoreHistory:Q,lazy:W});for(let N=0;N<M.length;N++){let D=Z.replace(M[N],"");this.add(Y,D,X,{ignoreError:!0,ignoreHistory:Q,lazy:W})}return X}if(M)Z=Z.replaceAll("?","");if(this.history.find(([A,N,D])=>A===Y&&N===Z))return X;if(J||M&&Z.charCodeAt(Z.length-1)===63)Z=Z.slice(0,-1);if(!Q)this.history.push([Y,Z,X]);let G=Z.split(yZ.regex.static),B=Z.match(yZ.regex.params)||[];if(G[G.length-1]==="")G.pop();let z;if(!this.root[Y])z=this.root[Y]=bZ("/");else z=this.root[Y];let q=0;for(let A=0;A<G.length;++A){let N=G[A];if(A>0){let D=B[q++].slice(1);if(z.params===null)z.params=t5(D);else if(z.params.name!==D)if($)return X;else throw Error(`Cannot create route "${Z}" with parameter "${D}" because a route already exists with a different parameter name ("${z.params.name}") in the same location`);let P=z.params;if(P.inert===null){z=P.inert=bZ(N);continue}z=P.inert}for(let D=0;;){if(D===N.length){if(D<z.part.length){let P=o5(z,z.part.slice(D));Object.assign(z,bZ(N,[P]))}break}if(D===z.part.length){if(z.inert===null)z.inert={};let P=z.inert[N.charCodeAt(D)];if(P){z=P,N=N.slice(D),D=0;continue}let I=bZ(N.slice(D));z.inert[N.charCodeAt(D)]=I,z=I;break}if(N[D]!==z.part[D]){let P=o5(z,z.part.slice(D)),I=bZ(N.slice(D));Object.assign(z,bZ(z.part.slice(0,D),[P,I])),z=I;break}++D}}if(q<B.length){let A=B[q].slice(1);if(z.params===null)z.params=t5(A);else if(z.params.name!==A)if($)return X;else throw Error(`Cannot create route "${Z}" with parameter "${A}" because a route already exists with a different parameter name ("${z.params.name}") in the same location`);if(z.params.store===null)z.params.store=X;return z.params.store}if(J){if(z.wildcardStore===null)z.wildcardStore=X;return z.wildcardStore}if(z.store===null)z.store=X;return z.store}find(Y,Z){let X=this.root[Y];if(!X)return null;return u$(Z,Z.length,X,0,this.config.onParam)}}var u$=(Y,Z,X,$,Q)=>{let W=X.part,J=W.length,M=$+J;if(J>1){if(M>Z)return null;if(J<15){for(let G=1,B=$+1;G<J;++G,++B)if(W.charCodeAt(G)!==Y.charCodeAt(B))return null}else if(Y.slice($,M)!==W)return null}if(M===Z){if(X.store!==null)return{store:X.store,params:{}};if(X.wildcardStore!==null)return{store:X.wildcardStore,params:{"*":""}};return null}if(X.inert!==null){let G=X.inert[Y.charCodeAt(M)];if(G!==void 0){let B=u$(Y,Z,G,M,Q);if(B!==null)return B}}if(X.params!==null){let{store:G,name:B,inert:z}=X.params,q=Y.indexOf("/",M);if(q!==M){if(q===-1||q>=Z){if(G!==null){let A={};if(A[B]=Y.substring(M,Z),Q)for(let N=0;N<Q.length;N++){let D=Q[N](A[B],B);if(D!==void 0)A[B]=D}return{store:G,params:A}}}else if(z!==null){let A=u$(Y,Z,z,q,Q);if(A!==null){if(A.params[B]=Y.substring(M,q),Q)for(let N=0;N<Q.length;N++){let D=Q[N](A.params[B],B);if(D!==void 0)A.params[B]=D}return A}}}}if(X.wildcardStore!==null)return{store:X.wildcardStore,params:{"*":Y.substring(M,Z)}};return null},s5=yX(ZQ(),1),a8=typeof Bun<"u";function R4(){try{if(typeof caches<"u"&&typeof caches.default<"u")return!0;if(typeof WebSocketPair<"u")return!0}catch{return!1}return!1}var E4={aac:"audio/aac",abw:"application/x-abiword",ai:"application/postscript",arc:"application/octet-stream",avi:"video/x-msvideo",azw:"application/vnd.amazon.ebook",bin:"application/octet-stream",bz:"application/x-bzip",bz2:"application/x-bzip2",csh:"application/x-csh",css:"text/css",csv:"text/csv",doc:"application/msword",dll:"application/octet-stream",eot:"application/vnd.ms-fontobject",epub:"application/epub+zip",gif:"image/gif",htm:"text/html",html:"text/html",ico:"image/x-icon",ics:"text/calendar",jar:"application/java-archive",jpeg:"image/jpeg",jpg:"image/jpeg",js:"application/javascript",json:"application/json",mid:"audio/midi",midi:"audio/midi",mp2:"audio/mpeg",mp3:"audio/mpeg",mp4:"video/mp4",mpa:"video/mpeg",mpe:"video/mpeg",mpeg:"video/mpeg",mpkg:"application/vnd.apple.installer+xml",odp:"application/vnd.oasis.opendocument.presentation",ods:"application/vnd.oasis.opendocument.spreadsheet",odt:"application/vnd.oasis.opendocument.text",oga:"audio/ogg",ogv:"video/ogg",ogx:"application/ogg",otf:"font/otf",png:"image/png",pdf:"application/pdf",ppt:"application/vnd.ms-powerpoint",rar:"application/x-rar-compressed",rtf:"application/rtf",sh:"application/x-sh",svg:"image/svg+xml",swf:"application/x-shockwave-flash",tar:"application/x-tar",tif:"image/tiff",tiff:"image/tiff",ts:"application/typescript",ttf:"font/ttf",txt:"text/plain",vsd:"application/vnd.visio",wav:"audio/x-wav",weba:"audio/webm",webm:"video/webm",webp:"image/webp",woff:"font/woff",woff2:"font/woff2",xhtml:"application/xhtml+xml",xls:"application/vnd.ms-excel",xlsx:"application/vnd.ms-excel",xlsx_OLD:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",xml:"application/xml",xul:"application/vnd.mozilla.xul+xml",zip:"application/zip","3gp":"video/3gpp","3gp_DOES_NOT_CONTAIN_VIDEO":"audio/3gpp","3gp2":"video/3gpp2","3gp2_DOES_NOT_CONTAIN_VIDEO":"audio/3gpp2","7z":"application/x-7z-compressed"},GD=(Y)=>{let Z=Y.lastIndexOf(".");if(Z===-1)return"";return Y.slice(Z+1)};var H6,A6;class p${path;value;stats;constructor(Y){if(this.path=Y,a8)this.value=Bun.file(Y);else{if(!H6||!A6){if(typeof window<"u"){console.warn("Browser environment does not support file");return}let Z=($)=>console.warn(Error(`[elysia] \`file\` require \`fs${$?"."+$:""}\` ${$?.includes(".")?"module ":""}which is not available in this environment`));if(typeof process>"u"||typeof process.getBuiltinModule!=="function"){Z();return}let X=process.getBuiltinModule("fs");if(!X){Z();return}if(typeof X.createReadStream!=="function"){Z();return}if(typeof X.promises?.stat!=="function"){Z();return}H6=X.createReadStream,A6=X.promises.stat}this.value=(()=>H6(Y))(),this.stats=A6(Y)}}get type(){return E4[GD(this.path)]||"application/octet-stream"}get length(){if(a8)return this.value.size;return this.stats?.then((Y)=>Y.size)??0}}var r5=(Y,Z)=>{let X=Y.indexOf("/",11),$=Y.indexOf("?",X);if($===-1)return`${Y.slice(0,X)}${Z.charCodeAt(0)===47?"":"/"}${Z}`;return`${Y.slice(0,X)}${Z.charCodeAt(0)===47?"":"/"}${Z}${Y.slice($)}`},zD=(Y)=>typeof Y==="function"&&/^\s*class\s+/.test(Y.toString())||Y.toString&&Y.toString().startsWith("[object ")&&Y.toString()!=="[object Object]"||x1(Object.getPrototypeOf(Y)),D6=(Y)=>Y&&typeof Y==="object"&&!Array.isArray(Y),M0=(Y,Z,X)=>{let $=X?.skipKeys,Q=X?.override??!0,W=X?.mergeArray??!1,J=X?.seen??new WeakSet;if(!D6(Y)||!D6(Z))return Y;if(J.has(Z))return Y;J.add(Z);for(let[M,G]of Object.entries(Z)){if($?.includes(M)||["__proto__","constructor","prototype"].includes(M))continue;if(W&&Array.isArray(G)){Y[M]=Array.isArray(Y[M])?[...Y[M],...G]:Y[M]=G;continue}if(!D6(G)||!(M in Y)||zD(G)){if((Q||!(M in Y))&&!Object.isFrozen(Y))try{Y[M]=G}catch{}continue}if(!Object.isFrozen(Y[M]))try{Y[M]=M0(Y[M],G,{skipKeys:$,override:Q,mergeArray:W,seen:J})}catch{}}return J.delete(Z),Y},V6=(Y,Z)=>{let X=M0(Object.assign({},Y),Z,{skipKeys:["properties"],mergeArray:!1});if(X.properties)delete X.properties;return X},m1=(Y,Z)=>{if(!Z)return Y;let X=[],$=[];if(Y){if(!Array.isArray(Y))Y=[Y];for(let Q of Y)if(X.push(Q),Q.checksum)$.push(Q.checksum)}if(Z){if(!Array.isArray(Z))Z=[Z];for(let Q of Z)if(!$.includes(Q.checksum))X.push(Q)}return X},BD=["start","request","parse","transform","resolve","beforeHandle","afterHandle","mapResponse","afterResponse","trace","error","stop","body","headers","params","query","response","type","detail"],dT=BD.reduce((Y,Z)=>(Y[Z]=!0,Y),{}),h$=(Y)=>typeof Y==="object"&&Object.keys(Y).every((Z)=>!isNaN(+Z)),V4=(Y,Z)=>{if(h$(Y)&&h$(Z))return Object.assign({},Y,Z);else if(Y&&!h$(Y)&&h$(Z))return Object.assign({200:Y},Z);return Z??Y},_X=(Y,Z)=>{if(!Y&&!Z)return{body:void 0,headers:void 0,params:void 0,query:void 0,cookie:void 0,response:void 0};return{body:Z?.body??Y?.body,headers:Z?.headers??Y?.headers,params:Z?.params??Y?.params,query:Z?.query??Y?.query,cookie:Z?.cookie??Y?.cookie,response:V4(Y?.response,Z?.response)}},s8=(Y,Z)=>{if(!Z)return Y??{};if(!Y)return Z??{};if(!Object.values(Z).find(($)=>$!==void 0&&$!==null))return{...Y};let X={...Y,...Z,body:Z.body??Y.body,headers:Z.headers??Y.headers,params:Z.params??Y.params,query:Z.query??Y.query,cookie:Z.cookie??Y.cookie,response:V4(Y.response,Z.response),type:Y.type||Z.type,detail:M0(Z.detail??{},Y.detail??{}),parse:m1(Y.parse,Z.parse),transform:m1(Y.transform,Z.transform),beforeHandle:m1(m1(X0(Y.resolve,"resolve"),Y.beforeHandle),m1(X0(Z.resolve,"resolve"),Z.beforeHandle)),afterHandle:m1(Y.afterHandle,Z.afterHandle),mapResponse:m1(Y.mapResponse,Z.mapResponse),afterResponse:m1(Y.afterResponse,Z.afterResponse),trace:m1(Y.trace,Z.trace),error:m1(Y.error,Z.error),standaloneSchema:Y.standaloneSchema||Z.standaloneSchema?Y.standaloneSchema&&!Z.standaloneSchema?Y.standaloneSchema:Z.standaloneSchema&&!Y.standaloneSchema?Z.standaloneSchema:[...Y.standaloneSchema??[],...Z.standaloneSchema??[]]:void 0};if(X.resolve)delete X.resolve;return X},ND=(Y)=>{if(Y.parse&&!Array.isArray(Y.parse))Y.parse=[Y.parse];if(Y.transform&&!Array.isArray(Y.transform))Y.transform=[Y.transform];if(Y.afterHandle&&!Array.isArray(Y.afterHandle))Y.afterHandle=[Y.afterHandle];if(Y.mapResponse&&!Array.isArray(Y.mapResponse))Y.mapResponse=[Y.mapResponse];if(Y.afterResponse&&!Array.isArray(Y.afterResponse))Y.afterResponse=[Y.afterResponse];if(Y.trace&&!Array.isArray(Y.trace))Y.trace=[Y.trace];if(Y.error&&!Array.isArray(Y.error))Y.error=[Y.error];let Z=[];if(Y.resolve)Z=X0(Array.isArray(Y.resolve)?Y.resolve:[Y.resolve],"resolve"),delete Y.resolve;if(Y.beforeHandle)if(Z.length)Z=Z.concat(Array.isArray(Y.beforeHandle)?Y.beforeHandle:[Y.beforeHandle]);else Z=Array.isArray(Y.beforeHandle)?Y.beforeHandle:[Y.beforeHandle];if(Z.length)Y.beforeHandle=Z;return Y},I6=a8?"toJSON"in new Headers:!1,I4=typeof setImmediate==="function",FX=(Y)=>{let Z=9;for(let X=0;X<Y.length;)Z=Math.imul(Z^Y.charCodeAt(X++),387420489);return Z=Z^Z>>>9},_Y=(Y,Z)=>{if(!Z)return;if(!Array.isArray(Z)){let $=Z;if(Y&&!$.checksum)$.checksum=Y;if($.scope==="scoped")$.scope="local";return $}let X=[...Z];for(let $ of X){if(Y&&!$.checksum)$.checksum=Y;if($.scope==="scoped")$.scope="local"}return X},a5=(Y,Z,X)=>{return{start:m1(Y.start,_Y(X,Z?.start)),request:m1(Y.request,_Y(X,Z?.request)),parse:m1(Y.parse,_Y(X,Z?.parse)),transform:m1(Y.transform,_Y(X,Z?.transform)),beforeHandle:m1(m1(X0(Y.resolve,"resolve"),Y.beforeHandle),_Y(X,m1(X0(Z?.resolve,"resolve"),Z?.beforeHandle))),afterHandle:m1(Y.afterHandle,_Y(X,Z?.afterHandle)),mapResponse:m1(Y.mapResponse,_Y(X,Z?.mapResponse)),afterResponse:m1(Y.afterResponse,_Y(X,Z?.afterResponse)),trace:m1(Y.trace,_Y(X,Z?.trace)),error:m1(Y.error,_Y(X,Z?.error)),stop:m1(Y.stop,_Y(X,Z?.stop))}},UD=(Y,Z,{skipIfHasType:X=!1})=>{if(!Y)return Y;if(!Array.isArray(Y)){if(X)Y.scope??=Z;else Y.scope=Z;return Y}for(let $ of Y)if(X)$.scope??=Z;else $.scope=Z;return Y},j8=(Y)=>{if(!Y)return Y;if(!Array.isArray(Y))switch(Y.scope){case"global":case"scoped":return{...Y};default:return{fn:Y}}let Z=[];for(let X of Y)switch(X.scope){case"global":case"scoped":Z.push({...X});break}return Z},e5=(Y)=>{return{...Y,type:Y?.type,detail:Y?.detail,parse:j8(Y?.parse),transform:j8(Y?.transform),beforeHandle:j8(Y?.beforeHandle),afterHandle:j8(Y?.afterHandle),mapResponse:j8(Y?.mapResponse),afterResponse:j8(Y?.afterResponse),error:j8(Y?.error),trace:j8(Y?.trace)}},vZ={Continue:100,"Switching Protocols":101,Processing:102,"Early Hints":103,OK:200,Created:201,Accepted:202,"Non-Authoritative Information":203,"No Content":204,"Reset Content":205,"Partial Content":206,"Multi-Status":207,"Already Reported":208,"Multiple Choices":300,"Moved Permanently":301,Found:302,"See Other":303,"Not Modified":304,"Temporary Redirect":307,"Permanent Redirect":308,"Bad Request":400,Unauthorized:401,"Payment Required":402,Forbidden:403,"Not Found":404,"Method Not Allowed":405,"Not Acceptable":406,"Proxy Authentication Required":407,"Request Timeout":408,Conflict:409,Gone:410,"Length Required":411,"Precondition Failed":412,"Payload Too Large":413,"URI Too Long":414,"Unsupported Media Type":415,"Range Not Satisfiable":416,"Expectation Failed":417,"I'm a teapot":418,"Enhance Your Calm":420,"Misdirected Request":421,"Unprocessable Content":422,Locked:423,"Failed Dependency":424,"Too Early":425,"Upgrade Required":426,"Precondition Required":428,"Too Many Requests":429,"Request Header Fields Too Large":431,"Unavailable For Legal Reasons":451,"Internal Server Error":500,"Not Implemented":501,"Bad Gateway":502,"Service Unavailable":503,"Gateway Timeout":504,"HTTP Version Not Supported":505,"Variant Also Negotiates":506,"Insufficient Storage":507,"Loop Detected":508,"Not Extended":510,"Network Authentication Required":511},Y4=Object.fromEntries(Object.entries(vZ).map(([Y,Z])=>[Z,Y]));function qD(Y){let Z=Y;while(Z.endsWith("="))Z=Z.slice(0,-1);return Z}var Z4=new TextEncoder,i$=async(Y,Z)=>{if(typeof Y==="object")Y=JSON.stringify(Y);else if(typeof Y!=="string")Y=Y+"";if(Z===null||Z===void 0)throw TypeError("Secret key must be provided");let X=await crypto.subtle.importKey("raw",Z4.encode(Z),{name:"HMAC",hash:"SHA-256"},!1,["sign"]),$=await crypto.subtle.sign("HMAC",X,Z4.encode(Y));return Y+"."+qD(Buffer.from($).toString("base64"))},HD=typeof crypto?.timingSafeEqual==="function"?(Y,Z)=>{let X=Buffer.from(Y,"utf8"),$=Buffer.from(Z,"utf8");if(X.length!==$.length)return!1;return crypto.timingSafeEqual(X,$)}:(Y,Z)=>Y===Z,X4=async(Y,Z)=>{if(typeof Y!=="string")throw TypeError("Signed cookie string must be provided.");let X=Y.lastIndexOf(".");if(X===-1){if(Z===null)return Y;return!1}let $=Y.slice(0,X),Q=await i$($,Z);return HD(Q,Y)?$:!1},AD=(Y,Z,X)=>{if(!Y.standaloneValidator?.length||!Array.isArray(Y.standaloneValidator)){Y.standaloneValidator=[{[Z]:X}];return}let $=Y.standaloneValidator[Y.standaloneValidator.length-1];if(Z in $)Y.standaloneValidator.push({[Z]:X});else $[Z]=X},DD=(Y)=>{if(typeof Y==="number")return Y;if(Y.length<16){if(Y.trim().length===0)return null;let Z=Number(Y);if(Number.isNaN(Z))return null;return Z}if(Y.length===16){if(Y.trim().length===0)return null;let Z=Number(Y);if(Number.isNaN(Z)||Z.toString()!==Y)return null;return Z}return null},b4=(Y)=>DD(Y)!==null;class T4{onError;onFinally;root=null;promises=[];constructor(Y=console.error,Z=()=>{}){this.onError=Y,this.onFinally=Z}get size(){return this.promises.length}add(Y){if(this.promises.push(Y),this.root||=this.drain(),this.promises.length===1)this.then(this.onFinally);return Y}async drain(){while(this.promises.length>0){try{await this.promises[0]}catch(Y){this.onError(Y)}this.promises.shift()}this.root=null}then(Y,Z){return(this.root??Promise.resolve()).then(Y,Z)}}var X0=(Y,Z)=>{if(!Y)return Y;if(!Array.isArray(Y)){if(typeof Y==="function"||typeof Y==="string")return Z?{fn:Y,subType:Z}:{fn:Y};else if("fn"in Y)return Y}let X=[];for(let $ of Y)if(typeof $==="function"||typeof $==="string")X.push(Z?{fn:$,subType:Z}:{fn:$});else if("fn"in $)X.push($);return X},$4=(Y)=>{if(Y.start)Y.start=X0(Y.start);if(Y.request)Y.request=X0(Y.request);if(Y.parse)Y.parse=X0(Y.parse);if(Y.transform)Y.transform=X0(Y.transform);if(Y.beforeHandle)Y.beforeHandle=X0(Y.beforeHandle);if(Y.afterHandle)Y.afterHandle=X0(Y.afterHandle);if(Y.mapResponse)Y.mapResponse=X0(Y.mapResponse);if(Y.afterResponse)Y.afterResponse=X0(Y.afterResponse);if(Y.trace)Y.trace=X0(Y.trace);if(Y.error)Y.error=X0(Y.error);if(Y.stop)Y.stop=X0(Y.stop);return Y},Q4=(Y)=>{let Z=Object.create(null);if(Y.start?.map)Z.start=Y.start.map((X)=>X.fn);if(Y.request?.map)Z.request=Y.request.map((X)=>X.fn);if(Y.parse?.map)Z.parse=Y.parse.map((X)=>X.fn);if(Y.transform?.map)Z.transform=Y.transform.map((X)=>X.fn);if(Y.beforeHandle?.map)Z.beforeHandle=Y.beforeHandle.map((X)=>X.fn);if(Y.afterHandle?.map)Z.afterHandle=Y.afterHandle.map((X)=>X.fn);if(Y.mapResponse?.map)Z.mapResponse=Y.mapResponse.map((X)=>X.fn);if(Y.afterResponse?.map)Z.afterResponse=Y.afterResponse.map((X)=>X.fn);if(Y.error?.map)Z.error=Y.error.map((X)=>X.fn);if(Y.stop?.map)Z.stop=Y.stop.map((X)=>X.fn);if(Y.trace?.map)Z.trace=Y.trace.map((X)=>X.fn);else Z.trace=[];return Z},W4=(Y)=>({body:Y.body,cookie:Y.cookie,headers:Y.headers,query:Y.query,set:Y.set,server:Y.server,path:Y.path,route:Y.route,url:Y.url}),XQ=(Y,Z=302)=>Response.redirect(Y,Z),r8=Symbol("ElysiaFormData"),vX=Symbol("ElysiaRequestId"),wD=(Y)=>{let Z=new FormData;if(Z[r8]={},Y)for(let[X,$]of Object.entries(Y)){if(Array.isArray($)){Z[r8][X]=[];for(let Q of $){if($ instanceof File)Z.append(X,$,$.name);else if($ instanceof p$)Z.append(X,$.value,$.value?.name);else Z.append(X,$);Z[r8][X].push($)}continue}if($ instanceof File)Z.append(X,$,$.name);else if($ instanceof p$)Z.append(X,$.value,$.value?.name);else Z.append(X,$);Z[r8][X]=$}return Z},xX=typeof crypto>"u"||R4()?()=>{let Y="",Z="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";for(let X=0;X<16;X++)Y+=Z.charAt(Math.floor(Math.random()*62));return Y}:()=>{let Y=crypto.randomUUID();return Y.slice(0,8)+Y.slice(24,32)},LD=(Y)=>{if(!Y.length)return[];let Z=[];for(let X=0;X<Y.length;X++){let $=Y[X];if($.checksum){if(Z.includes($.checksum))Y.splice(X,1),X--;Z.push($.checksum)}}return Y},K8=(Y,Z="scoped")=>{if(!Y)return;if(Z==="scoped"){for(let X of Y)if("scope"in X&&X.scope==="local")X.scope="scoped";return}for(let X of Y)if("scope"in X)X.scope="global"},SX=(Y)=>{if(Y.charCodeAt(Y.length-1)===47)return Y.slice(0,Y.length-1);return Y+"/"},x1=(Y)=>{if(!Y)return!1;for(let Z in Y)return!0;return!1},CX=(Y,{dynamic:Z=!1}={})=>{let X=encodeURIComponent(Y).replace(/%2F/g,"/");if(Z)X=X.replace(/%3A/g,":").replace(/%3F/g,"?");return X},x4=(()=>{if(typeof Bun>"u")return!0;if(Bun.semver?.satisfies?.(Bun.version,">=1.2.14"))return!0;return!1})();async function OD(Y){if(Y.bodyUsed||!Y.body)return 0;let Z=0,X=Y.body.getReader();while(!0){let{done:$,value:Q}=await X.read();if($)break;Z+=Q.byteLength}return Z}var PD={headers:!0,cookie:!0,query:!0,params:!0,body:!0,response:!0},J4=typeof Bun<"u"?Bun.env:typeof process<"u"?process?.env:void 0,l$=Symbol("ElysiaErrorCode"),S8=(J4?.NODE_ENV??J4?.ENV)==="production",_D={101:void 0,204:void 0,205:void 0,304:void 0,307:void 0,308:void 0};class G0{code;response;constructor(Y,Z){let X=Z??(Y in Y4?Y4[Y]:Y);if(this.code=vZ[Y]??Y,Y in _D)this.response=void 0;else this.response=X}}var dZ=(Y,Z)=>new G0(Y,Z);class h6 extends Error{code="NOT_FOUND";status=404;constructor(Y){super(Y??"NOT_FOUND")}}class k4 extends Error{code="PARSE";status=400;constructor(Y){super("Bad Request",{cause:Y})}}class RX extends Error{key;code="INVALID_COOKIE_SIGNATURE";status=400;constructor(Y,Z){super(Z??`"${Y}" has invalid cookie signature`);this.key=Y}}var U0=(Y)=>{if(!Y)return Y;let{message:Z,path:X,value:$,type:Q}=Y;if(Array.isArray(X))X=X[0];let W=typeof X==="string"?X.slice(1).replaceAll("/","."):"unknown",J=X==="";switch(Q){case 42:return{...Y,summary:J?"Value should not be provided":`Property '${W}' should not be provided`};case 45:return{...Y,summary:J?"Value is missing":`Property '${W}' is missing`};case 50:let M=Z.indexOf("'"),G=Z.slice(M+1,Z.indexOf("'",M+1));return{...Y,summary:J?"Value should be an email":`Property '${W}' should be ${G}`};case 54:return{...Y,summary:`${Z.slice(0,9).trim()} property '${W}' to be ${Z.slice(8).trim()} but found: ${$}`};case 62:let B=Y.schema.anyOf.map((z)=>`'${z?.format??z.type}'`).join(", ");return{...Y,summary:J?`Value should be one of ${B}`:`Property '${W}' should be one of: ${B}`};default:return{summary:Z,...Y}}};class bX extends Error{property;expected;message;code="INVALID_FILE_TYPE";status=422;constructor(Y,Z,X=`"${Y}" has invalid file type`){super(X);this.property=Y,this.expected=Z,this.message=X,Object.setPrototypeOf(this,bX.prototype)}toResponse(Y){if(S8)return new Response(JSON.stringify({type:"validation",on:"body"}),{status:422,headers:{...Y,"content-type":"application/json"}});return new Response(JSON.stringify({type:"validation",on:"body",summary:"Invalid file type",message:this.message,property:this.property,expected:this.expected}),{status:422,headers:{...Y,"content-type":"application/json"}})}}class Y1 extends Error{type;validator;value;allowUnsafeValidationDetails;code="VALIDATION";status=422;valueError;get messageValue(){return this.valueError}expected;customError;constructor(Y,Z,X,$=!1,Q){let W="",J,M,G;if(Z?.provider==="standard"||"~standard"in Z||Z.schema&&"~standard"in Z.schema){let B=("~standard"in Z?Z:Z.schema)["~standard"];if(J=(Q??B.validate(X).issues)?.[0],S8&&!$)W=JSON.stringify({type:"validation",on:Y,found:X});else W=JSON.stringify({type:"validation",on:Y,property:J.path?.[0]||"root",message:J?.message,summary:J?.problem,expected:M,found:X,errors:Q},null,2);G=J?.message}else{if(X&&typeof X==="object"&&X instanceof G0)X=X.response;J=Q?.First()??("Errors"in Z?Z.Errors(X).First():P1.Errors(Z,X).First());let B=J?.path||"root",z=Z?.schema??Z;if(!S8&&!$)try{M=P1.Create(z)}catch(q){M={type:"Could not create expected value",message:q?.message,error:q}}if(G=J?.schema?.message||J?.schema?.error!==void 0?typeof J.schema.error==="function"?J.schema.error(S8&&!$?{type:"validation",on:Y,found:X}:{type:"validation",on:Y,value:X,property:B,message:J?.message,summary:U0(J)?.summary,found:X,expected:M,errors:"Errors"in Z?[...Z.Errors(X)].map(U0):[...P1.Errors(Z,X)].map(U0)},Z):J.schema.error:void 0,G!==void 0)W=typeof G==="object"?JSON.stringify(G):G+"";else if(S8&&!$)W=JSON.stringify({type:"validation",on:Y,found:X});else W=JSON.stringify({type:"validation",on:Y,property:B,message:J?.message,summary:U0(J)?.summary,expected:M,found:X,errors:"Errors"in Z?[...Z.Errors(X)].map(U0):[...P1.Errors(Z,X)].map(U0)},null,2)}super(W);this.type=Y,this.validator=Z,this.value=X,this.allowUnsafeValidationDetails=$,this.valueError=J,this.expected=M,this.customError=G,Object.setPrototypeOf(this,Y1.prototype)}get all(){if(this.validator?.provider==="standard"||"~standard"in this.validator||"schema"in this.validator&&this.validator.schema&&"~standard"in this.validator.schema)return("~standard"in this.validator?this.validator:this.validator.schema)["~standard"].validate(this.value).issues?.map((Y)=>({summary:Y.message,path:Y.path?.join(".")||"root",message:Y.message,value:this.value}))||[];return"Errors"in this.validator?[...this.validator.Errors(this.value)].filter((Y)=>Y).map((Y)=>U0(Y)):[...P1.Errors(this.validator,this.value)].map(U0)}static simplifyModel(Y){let Z="schema"in Y?Y.schema:Y;try{return P1.Create(Z)}catch{return Z}}get model(){if("~standard"in this.validator)return this.validator;return Y1.simplifyModel(this.validator)}toResponse(Y){return new Response(this.message,{status:400,headers:{...Y,"content-type":"application/json"}})}detail(Y,Z=this.allowUnsafeValidationDetails){if(!this.customError)return this.message;let X=this.value,$=this.expected,Q=this.all;return S8&&!Z?{type:"validation",on:this.type,found:X,message:Y}:{type:"validation",on:this.type,property:this.valueError?.path||"root",message:Y,summary:U0(this.valueError)?.summary,found:X,expected:$,errors:Q}}}var jX=(Y,Z)=>{try{return JSON.parse(Y)}catch{throw new Y1("property",Z,Y)}};function dX(Y,Z){if(!Y0.Has(Y))Y0.Set(Y,Z);return(X={})=>D$({...X,[L]:Y})}var kY=(Y)=>{try{let Z=PY.Compile(Y);return Z.Create=()=>P1.Create(Y),Z.Error=(X)=>new Y1("property",Y,X,Z.Errors(X)),Z}catch{return{Check:(Z)=>P1.Check(Y,Z),CheckThrow:(Z)=>{if(!P1.Check(Y,Z))throw new Y1("property",Y,Z,P1.Errors(Y,Z))},Decode:(Z)=>P1.Decode(Y,Z),Create:()=>P1.Create(Y),Error:(Z)=>new Y1("property",Y,Z,P1.Errors(Y,Z))}}},M4=(Y)=>{if(typeof Y==="string")switch(Y.slice(-1)){case"k":return+Y.slice(0,Y.length-1)*1024;case"m":return+Y.slice(0,Y.length-1)*1048576;default:return+Y}return Y},n$=(Y,Z)=>{if(Y.startsWith(Z))return!0;return Z.charCodeAt(Z.length-1)===42&&Z.charCodeAt(Z.length-2)===47&&Y.startsWith(Z.slice(0,-1))},G4=!1,jD=()=>{if(!G4)console.warn("[Elysia] Attempt to validate file type without 'file-type'. This may lead to security risks. We recommend installing 'file-type' to properly validate file extension."),G4=!0},m6=async()=>Promise.resolve().then(() => (l5(),i5)).then((Y)=>{return o$=Y.fileTypeFromBlob,o$}).catch(jD),o$,KD=(Y)=>{if(o$)return o$(Y);return m6().then((Z)=>{if(Z)return Z(Y)})},g4=async(Y,Z,X=Y?.name??"")=>{if(Array.isArray(Y))return await Promise.all(Y.map((Q)=>g4(Q,Z,X))),!0;if(!Y)return!1;let $=await KD(Y);if(!$)throw new bX(X,Z);if(typeof Z==="string"){if(!n$($.mime,Z))throw new bX(X,Z)}for(let Q=0;Q<Z.length;Q++)if(n$($.mime,Z[Q]))return!0;throw new bX(X,Z)},b6=(Y,Z)=>{if(Z instanceof p$)return!0;if(!(Z instanceof Blob))return!1;if(Y.minSize&&Z.size<M4(Y.minSize))return!1;if(Y.maxSize&&Z.size>M4(Y.maxSize))return!1;if(Y.extension){if(typeof Y.extension==="string")return n$(Z.type,Y.extension);for(let X=0;X<Y.extension.length;X++)if(n$(Z.type,Y.extension[X]))return!0;return!1}return!0};var c6={date:f4,time:T6(!0),"date-time":z4(!0),"iso-time":T6(!1),"iso-date-time":z4(!1),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:bD,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:vD,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:TD,int32:{type:"number",validate:gD},int64:{type:"number",validate:fD},float:{type:"number",validate:N4},double:{type:"number",validate:N4},password:!0,binary:!0};function FD(Y){return Y%4===0&&(Y%100!==0||Y%400===0)}var SD=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,CD=[0,31,28,31,30,31,30,31,31,30,31,30,31];function f4(Y){let Z=SD.exec(Y);if(!Z)return!1;let X=+Z[1],$=+Z[2],Q=+Z[3];return $>=1&&$<=12&&Q>=1&&Q<=($===2&&FD(X)?29:CD[$])}var RD=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function T6(Y){return function(Z){let X=RD.exec(Z);if(!X)return!1;let $=+X[1],Q=+X[2],W=+X[3],J=X[4],M=X[5]==="-"?-1:1,G=+(X[6]||0),B=+(X[7]||0);if(G>23||B>59||Y&&!J)return!1;if($<=23&&Q<=59&&W<60)return!0;let z=Q-B*M,q=$-G*M-(z<0?1:0);return(q===23||q===-1)&&(z===59||z===-1)&&W<61}}var x6=(Y)=>{if(Y.charCodeAt(Y.length-6)===32)return Y.slice(0,-6)+"+"+Y.slice(-5);return Y},ED=/t|\s/i;function z4(Y){let Z=T6(Y);return function(X){let $=X.split(ED);return $.length===2&&f4($[0])&&Z($[1])}}var VD=/\/|:/,ID=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function bD(Y){return VD.test(Y)&&ID.test(Y)}var B4=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function TD(Y){return B4.lastIndex=0,B4.test(Y)}var xD=-2147483648,kD=2147483647;function gD(Y){return Number.isInteger(Y)&&Y<=kD&&Y>=xD}function fD(Y){return Number.isInteger(Y)}function N4(){return!0}var yD=/[^\\]\\Z/;function vD(Y){if(yD.test(Y))return!1;try{return new RegExp(Y),!0}catch(Z){return!1}}var y4=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,v4=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,d4=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/,dD=c6.date,hD=c6["date-time"];if(!A1.Has("date"))A1.Set("date",(Y)=>{let Z=x6(Y).replace(/"/g,"");if(y4.test(Z)||v4.test(Z)||d4.test(Z)||dD(Z)){let X=new Date(Z);if(!Number.isNaN(X.getTime()))return!0}return!1});if(!A1.Has("date-time"))A1.Set("date-time",(Y)=>{let Z=Y.replace(/"/g,"");if(y4.test(Z)||v4.test(Z)||d4.test(Z)||hD(Z)){let X=new Date(Z);if(!Number.isNaN(X.getTime()))return!0}return!1});Object.entries(c6).forEach((Y)=>{let[Z,X]=Y;if(!A1.Has(Z)){if(X instanceof RegExp)A1.Set(Z,($)=>X.test($));else if(typeof X==="function")A1.Set(Z,X)}});if(!A1.Has("numeric"))A1.Set("numeric",(Y)=>!!Y&&!isNaN(+Y));if(!A1.Has("integer"))A1.Set("integer",(Y)=>!!Y&&Number.isInteger(+Y));if(!A1.Has("boolean"))A1.Set("boolean",(Y)=>Y==="true"||Y==="false");if(!A1.Has("ObjectString"))A1.Set("ObjectString",(Y)=>{let Z=Y.charCodeAt(0);if(Z===9||Z===10||Z===32)Z=Y.trimStart().charCodeAt(0);if(Z!==123&&Z!==91)return!1;try{return JSON.parse(Y),!0}catch{return!1}});if(!A1.Has("ArrayString"))A1.Set("ArrayString",(Y)=>{let Z=Y.charCodeAt(0);if(Z===9||Z===10||Z===32)Z=Y.trimStart().charCodeAt(0);if(Z!==123&&Z!==91)return!1;try{return JSON.parse(Y),!0}catch{return!1}});var f=Object.assign({},ZY);dX("UnionEnum",(Y,Z)=>(typeof Z==="number"||typeof Z==="string"||Z===null)&&Y.enum.includes(Z));dX("ArrayBuffer",(Y,Z)=>Z instanceof ArrayBuffer);var mD=dX("Files",(Y,Z)=>{if(Y.minItems&&Y.minItems>1&&!Array.isArray(Z))return!1;if(!Array.isArray(Z))return b6(Y,Z);if(Y.minItems&&Z.length<Y.minItems)return!1;if(Y.maxItems&&Z.length>Y.maxItems)return!1;for(let X=0;X<Z.length;X++)if(!b6(Y,Z[X]))return!1;return!0}),cD=dX("ElysiaForm",({compiler:Y,...Z},X)=>{if(!(X instanceof FormData))return!1;if(Y){if(!(r8 in X))throw new Y1("property",Z,X);if(!Y.Check(X[r8]))throw Y.Error(X[r8])}return!0}),z0={String:(Y)=>ZY.String(Y),Numeric:(Y)=>{let Z=ZY.Number(Y),X=kY(Z);return f.Transform(f.Union([f.String({format:"numeric",default:0}),f.Number(Y)],Y)).Decode(($)=>{let Q=+$;if(isNaN(Q))return $;if(Y&&!X.Check(Q))throw X.Error(Q);return Q}).Encode(($)=>$)},NumericEnum(Y,Z){let X=ZY.Enum(Y,Z),$=kY(X);return f.Transform(f.Union([f.String({format:"numeric"}),f.Number()],Z)).Decode((Q)=>{let W=+Q;if(isNaN(W))throw $.Error(W);if(!$.Check(W))throw $.Error(W);return W}).Encode((Q)=>Q)},Integer:(Y)=>{let Z=ZY.Integer(Y),X=kY(Z);return f.Transform(f.Union([f.String({format:"integer",default:0}),ZY.Integer(Y)],Y)).Decode(($)=>{let Q=+$;if(!X.Check(Q))throw X.Error(Q);return Q}).Encode(($)=>$)},Date:(Y)=>{let Z=ZY.Date(Y),X=kY(Z),$=Y?.default?new Date(Y.default):void 0;return f.Transform(f.Union([ZY.Date(Y),f.String({format:"date-time",default:$?.toISOString()}),f.String({format:"date",default:$?.toISOString()}),f.Number({default:$?.getTime()})],Y)).Decode((Q)=>{if(typeof Q==="number"){let J=new Date(Q);if(!X.Check(J))throw X.Error(J);return J}if(Q instanceof Date)return Q;let W=new Date(x6(Q));if(!W||isNaN(W.getTime()))throw new Y1("property",Z,W);if(!X.Check(W))throw X.Error(W);return W}).Encode((Q)=>{if(Q instanceof Date)return Q.toISOString();if(typeof Q==="string"){let W=new Date(x6(Q));if(isNaN(W.getTime()))throw new Y1("property",Z,Q);return W.toISOString()}if(!X.Check(Q))throw X.Error(Q);return Q})},BooleanString:(Y)=>{let Z=ZY.Boolean(Y),X=kY(Z);return f.Transform(f.Union([f.Boolean(Y),f.String({format:"boolean",default:!1})],Y)).Decode(($)=>{if(typeof $==="string")return $==="true";if($!==void 0&&!X.Check($))throw X.Error($);return $}).Encode(($)=>$)},ObjectString:(Y,Z)=>{let X=f.Object(Y,Z),$=kY(X);return f.Transform(f.Union([f.String({format:"ObjectString",default:Z?.default}),X],{elysiaMeta:"ObjectString"})).Decode((Q)=>{if(typeof Q==="string"){if(Q.charCodeAt(0)!==123)throw new Y1("property",X,Q);if(!$.Check(Q=jX(Q,X)))throw $.Error(Q);return $.Decode(Q)}return Q}).Encode((Q)=>{let W;if(typeof Q==="string")Q=jX(W=Q,X);if(!$.Check(Q))throw $.Error(Q);return W??JSON.stringify(Q)})},ArrayString:(Y=f.String(),Z)=>{let X=f.Array(Y,Z),$=kY(X),Q=(W,J=!1)=>{if(W.charCodeAt(0)===91){if(!$.Check(W=jX(W,X)))throw $.Error(W);return $.Decode(W)}if(J)return W;throw new Y1("property",X,W)};return f.Transform(f.Union([f.String({format:"ArrayString",default:Z?.default}),X],{elysiaMeta:"ArrayString"})).Decode((W)=>{if(Array.isArray(W)){let J=[];for(let M=0;M<W.length;M++){let G=W[M];if(typeof G==="string"){let B=Q(G,!0);if(Array.isArray(B))J=J.concat(B);else J.push(B);continue}J.push(G)}return J}if(typeof W==="string")return Q(W);return W}).Encode((W)=>{let J;if(typeof W==="string")W=jX(J=W,X);if(!$.Check(W))throw new Y1("property",X,W);return J??JSON.stringify(W)})},ArrayQuery:(Y=f.String(),Z)=>{let X=f.Array(Y,Z),$=kY(X),Q=(W)=>{if(W.indexOf(",")!==-1)return $.Decode(W.split(","));return $.Decode([W])};return f.Transform(f.Union([f.String({default:Z?.default}),X],{elysiaMeta:"ArrayQuery"})).Decode((W)=>{if(Array.isArray(W)){let J=[];for(let M=0;M<W.length;M++){let G=W[M];if(typeof G==="string"){let B=Q(G);if(Array.isArray(B))J=J.concat(B);else J.push(B);continue}J.push(G)}return J}if(typeof W==="string")return Q(W);return W}).Encode((W)=>{let J;if(typeof W==="string")W=jX(J=W,X);if(!$.Check(W))throw new Y1("property",X,W);return J??JSON.stringify(W)})},File:dX("File",b6),Files:(Y={})=>f.Transform(mD(Y)).Decode((Z)=>{if(Array.isArray(Z))return Z;return[Z]}).Encode((Z)=>Z),Nullable:(Y,Z)=>f.Union([Y,f.Null()],{...Z,nullable:!0}),MaybeEmpty:(Y,Z)=>f.Union([Y,f.Null(),f.Undefined()],Z),Cookie:(Y,{domain:Z,expires:X,httpOnly:$,maxAge:Q,path:W,priority:J,sameSite:M,secure:G,secrets:B,sign:z,...q}={})=>{let A=f.Object(Y,q);return A.config={domain:Z,expires:X,httpOnly:$,maxAge:Q,path:W,priority:J,sameSite:M,secure:G,secrets:B,sign:z},A},UnionEnum:(Y,Z={})=>{let X=Y.every(($)=>typeof $==="string")?{type:"string"}:Y.every(($)=>typeof $==="number")?{type:"number"}:Y.every(($)=>$===null)?{type:"null"}:{};if(Y.some(($)=>typeof $==="object"&&$!==null))throw Error("This type does not support objects or arrays");return{default:Y[0],...Z,[L]:"UnionEnum",...X,enum:Y}},NoValidate:(Y,Z=!0)=>{return Y.noValidate=Z,Y},Form:(Y,Z={})=>{let X=f.Object(Y,{default:wD({}),...Z}),$=kY(X);return f.Union([X,cD({compiler:$})])},ArrayBuffer(Y={}){return{default:[1,2,3],...Y,[L]:"ArrayBuffer"}},Uint8Array:(Y)=>{let Z=ZY.Uint8Array(Y),X=kY(Z);return f.Transform(f.Union([f.ArrayBuffer(),ZY.Uint8Array(Y)])).Decode(($)=>{if($ instanceof ArrayBuffer){if(!X.Check($=new Uint8Array($)))throw X.Error($);return $}return $}).Encode(($)=>$)}};f.BooleanString=z0.BooleanString;f.ObjectString=z0.ObjectString;f.ArrayString=z0.ArrayString;f.ArrayQuery=z0.ArrayQuery;f.Numeric=z0.Numeric;f.NumericEnum=z0.NumericEnum;f.Integer=z0.Integer;f.File=(Y)=>{if(Y?.type)m6();return z0.File({default:"File",...Y,extension:Y?.type,type:"string",format:"binary"})};f.Files=(Y)=>{if(Y?.type)m6();return z0.Files({...Y,elysiaMeta:"Files",default:"Files",extension:Y?.type,type:"array",items:{...Y,default:"Files",type:"string",format:"binary"}})};f.Nullable=z0.Nullable;f.MaybeEmpty=z0.MaybeEmpty;f.Cookie=z0.Cookie;f.Date=z0.Date;f.UnionEnum=z0.UnionEnum;f.NoValidate=z0.NoValidate;f.Form=z0.Form;f.ArrayBuffer=z0.ArrayBuffer;f.Uint8Array=z0.Uint8Array;var uD=(Y)=>{if(Y.startsWith("async"))Y=Y.slice(5);Y=Y.trimStart();let Z=-1;if(Y.charCodeAt(0)===40){if(Z=Y.indexOf("=>",Y.indexOf(")")),Z!==-1){let Q=Z;while(Q>0)if(Y.charCodeAt(--Q)===41)break;let W=Y.slice(Z+2);if(W.charCodeAt(0)===32)W=W.trimStart();return[Y.slice(1,Q),W,{isArrowReturn:W.charCodeAt(0)!==123}]}}if(/^(\w+)=>/g.test(Y)){if(Z=Y.indexOf("=>"),Z!==-1){let Q=Y.slice(Z+2);if(Q.charCodeAt(0)===32)Q=Q.trimStart();return[Y.slice(0,Z),Q,{isArrowReturn:Q.charCodeAt(0)!==123}]}}if(Y.startsWith("function")){Z=Y.indexOf("(");let Q=Y.indexOf(")");return[Y.slice(Z+1,Q),Y.slice(Q+2),{isArrowReturn:!1}]}let X=Y.indexOf("(");if(X!==-1){let Q=Y.indexOf(`
15
- `,2),W=Y.slice(0,Q),J=W.lastIndexOf(")")+1,M=Y.slice(Q+1);return[W.slice(X,J),"{"+M,{isArrowReturn:!1}]}let $=Y.split(`
16
- `,2);return[$[0],$[1],{isArrowReturn:!1}]},pD=(Y)=>{let Z=Y.indexOf("{");if(Z===-1)return[-1,0];let X=Z+1,$=1;for(;X<Y.length;X++){let Q=Y.charCodeAt(X);if(Q===123)$++;else if(Q===125)$--;if($===0)break}if($!==0)return[0,Y.length];return[Z,X+1]},iD=(Y)=>{let Z=Y.lastIndexOf("}");if(Z===-1)return[-1,0];let X=Z-1,$=1;for(;X>=0;X--){let Q=Y.charCodeAt(X);if(Q===125)$++;else if(Q===123)$--;if($===0)break}if($!==0)return[-1,0];return[X,Z+1]},h4=(Y)=>{while(!0){let Z=Y.indexOf(":");if(Z===-1)break;let X=Y.indexOf(",",Z);if(X===-1)X=Y.indexOf("}",Z)-1;if(X===-2)X=Y.length;Y=Y.slice(0,Z)+Y.slice(X)}return Y},m4=(Y)=>{let Z=!1;if(Y.charCodeAt(0)===40)Y=Y.slice(1,-1);if(Y.charCodeAt(0)===123)Z=!0,Y=Y.slice(1,-1);Y=Y.replace(/( |\t|\n)/g,"").trim();let X=[];while(!0){let[Q,W]=pD(Y);if(Q===-1)break;if(X.push(Y.slice(0,Q-1)),Y.charCodeAt(W)===44)W++;Y=Y.slice(W)}if(Y=h4(Y),Y)X=X.concat(Y.split(","));let $=Object.create(null);for(let Q of X){if(Q.indexOf(",")===-1){$[Q]=!0;continue}for(let W of Q.split(","))$[W.trim()]=!0}return{hasParenthesis:Z,parameters:$}},lD=(Y,Z)=>{let{parameters:X,hasParenthesis:$}=m4(Y);if(X.query)Z.query=!0;if(X.headers)Z.headers=!0;if(X.body)Z.body=!0;if(X.cookie)Z.cookie=!0;if(X.set)Z.set=!0;if(X.server)Z.server=!0;if(X.route)Z.route=!0;if(X.url)Z.url=!0;if(X.path)Z.path=!0;if($)return`{ ${Object.keys(X).join(", ")} }`;return Object.keys(X).join(", ")},U4=(Y,Z,X)=>{let $=new RegExp(`${Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}[\\n\\t,; ]`);if(X!==void 0)$.lastIndex=X;let Q=$.exec(Z);return Q?Q.index:-1},c4=(Y,Z,X=0)=>{if(X>5)return[];let $=[],Q=Z;while(!0){let W=U4(" = "+Y,Q);if(W===-1)W=U4("="+Y,Q);if(W===-1){let B=Q.indexOf(" = "+Y);if(B===-1)B=Q.indexOf("="+Y);if(B+3+Y.length!==Q.length)break;W=B}let J=Q.slice(0,W),M=J.lastIndexOf(" "),G=J.slice(M!==-1?M+1:-1);if(G==="}"){let[B,z]=iD(J);$.push(h4(Q.slice(B,z))),Q=Q.slice(W+3+Y.length);continue}while(G.charCodeAt(0)===44)G=G.slice(1);while(G.charCodeAt(0)===9)G=G.slice(1);if(!G.includes("("))$.push(G);Q=Q.slice(W+3+Y.length)}for(let W of $){if(W.charCodeAt(0)===123)continue;let J=c4(W,Z);if(J.length>0)$.push(...J)}return $},nD=(Y)=>{if(!Y)return;if(Y.charCodeAt(0)!==123)return Y;if(Y=Y.slice(2,-2),!Y.includes(",")){if(Y.indexOf("...")!==-1)return Y.slice(Y.indexOf("...")+3);return}let Z=Y.indexOf("...");if(Z===-1)return;return Y.slice(Z+3).trimEnd()},oD=(Y,Z,X)=>{let $=(Q,W)=>new RegExp(`${W}\\.(${Q})|${W}\\["${Q}"\\]|${W}\\['${Q}'\\]`).test(Y);for(let Q of Z){if(!Q)continue;if(Q.charCodeAt(0)===123){let W=m4(Q).parameters;if(W.query)X.query=!0;if(W.headers)X.headers=!0;if(W.body)X.body=!0;if(W.cookie)X.cookie=!0;if(W.set)X.set=!0;if(W.server)X.server=!0;if(W.url)X.url=!0;if(W.route)X.route=!0;if(W.path)X.path=!0;continue}if(!X.query&&($("query",Q)||Y.includes("return "+Q)||Y.includes("return "+Q+".query")))X.query=!0;if(!X.headers&&$("headers",Q))X.headers=!0;if(!X.body&&$("body",Q))X.body=!0;if(!X.cookie&&$("cookie",Q))X.cookie=!0;if(!X.set&&$("set",Q))X.set=!0;if(!X.server&&$("server",Q))X.server=!0;if(!X.route&&$("route",Q))X.route=!0;if(!X.url&&$("url",Q))X.url=!0;if(!X.path&&$("path",Q))X.path=!0;if(X.query&&X.headers&&X.body&&X.cookie&&X.set&&X.server&&X.route&&X.url&&X.path)break}return Z},tD=(Y,Z,X)=>{try{let $=new RegExp(`\\w\\((?:.*?)?${Y}(?:.*?)?\\)`,"gs"),Q=new RegExp(`${Y}(,|\\))`,"gs"),W=Z.length,J;J=$.exec(Z)+"";while($.lastIndex!==0&&$.lastIndex<W+(J?J.length:0)){if(J&&Q.test(J))return X.query=!0,X.headers=!0,X.body=!0,X.cookie=!0,X.set=!0,X.server=!0,X.url=!0,X.route=!0,X.path=!0,!0;J=$.exec(Z)+""}let M=Z.charCodeAt($.lastIndex);if(M===41||M===44)return X.query=!0,X.headers=!0,X.body=!0,X.cookie=!0,X.set=!0,X.server=!0,X.url=!0,X.route=!0,X.path=!0,!0;return!1}catch($){return console.log("[Sucrose] warning: unexpected isContextPassToFunction error, you may continue development as usual but please report the following to maintainers:"),console.log("--- body ---"),console.log(Z),console.log("--- context ---"),console.log(Y),!0}},KX,c$={},sD=(Y)=>{if(Y===null||R4())return;if(Y===void 0)Y=295000;if(KX)clearTimeout(KX);KX=setTimeout(()=>{if(c$={},KX=void 0,a8)Bun.gc(!1)},Y),KX.unref?.()},k6=(Y,Z)=>{return{body:Y.body||Z.body,cookie:Y.cookie||Z.cookie,headers:Y.headers||Z.headers,query:Y.query||Z.query,set:Y.set||Z.set,server:Y.server||Z.server,url:Y.url||Z.url,route:Y.route||Z.route,path:Y.path||Z.path}},t$=(Y,Z={query:!1,headers:!1,body:!1,cookie:!1,set:!1,server:!1,url:!1,route:!1,path:!1},X={})=>{let $=[];if(Y.request?.length)$.push(...Y.request);if(Y.beforeHandle?.length)$.push(...Y.beforeHandle);if(Y.parse?.length)$.push(...Y.parse);if(Y.error?.length)$.push(...Y.error);if(Y.transform?.length)$.push(...Y.transform);if(Y.afterHandle?.length)$.push(...Y.afterHandle);if(Y.mapResponse?.length)$.push(...Y.mapResponse);if(Y.afterResponse?.length)$.push(...Y.afterResponse);if(Y.handler&&typeof Y.handler==="function")$.push(Y.handler);for(let Q=0;Q<$.length;Q++){let W=$[Q];if(!W)continue;let J=typeof W==="object"?W.fn:W;if(typeof J!=="function")continue;let M=J.toString(),G=FX(M),B=c$[G];if(B){Z=k6(Z,B);continue}sD(X.gcTime);let z={query:!1,headers:!1,body:!1,cookie:!1,set:!1,server:!1,url:!1,route:!1,path:!1},[q,A]=uD(M),N=lD(q,z),D=nD(N);if(D){let P=c4(D,A.slice(1,-1));P.splice(0,-1,D);let I=A;if(I.charCodeAt(0)===123&&I.charCodeAt(A.length-1)===125)I=I.slice(1,-1).trim();if(!tD(D,I,z))oD(I,P,z);if(!z.query&&I.includes("return "+D+".query"))z.query=!0}if(!c$[G])c$[G]=z;if(Z=k6(Z,z),Z.query&&Z.headers&&Z.body&&Z.cookie&&Z.set&&Z.server&&Z.url&&Z.route&&Z.path)break}return Z},u4=yX(MD(),1),rD=yX(ZQ(),1),aD=(Y)=>{let Z=2166136261,X=Y.length;for(let $=0;$<X;$++)Z^=Y.charCodeAt($),Z=Math.imul(Z,16777619);return Z>>>0};class hY{name;jar;initial;valueHash;constructor(Y,Z,X={}){this.name=Y,this.jar=Z,this.initial=X}get cookie(){return this.jar[this.name]??this.initial}set cookie(Y){if(!(this.name in this.jar))this.jar[this.name]=this.initial;this.jar[this.name]=Y,this.valueHash=void 0}get setCookie(){if(!(this.name in this.jar))this.jar[this.name]=this.initial;return this.jar[this.name]}set setCookie(Y){this.cookie=Y}get value(){return this.cookie.value}set value(Y){let Z=this.cookie.value;if(Z===Y)return;if(typeof Z==="object"&&Z!==null&&typeof Y==="object"&&Y!==null)try{let X=JSON.stringify(Y),$=aD(X);if(this.valueHash!==void 0&&this.valueHash!==$)this.valueHash=$;else{if(JSON.stringify(Z)===X){this.valueHash=$;return}this.valueHash=$}}catch{}if(!(this.name in this.jar))this.jar[this.name]={...this.initial};this.jar[this.name].value=Y}get expires(){return this.cookie.expires}set expires(Y){this.setCookie.expires=Y}get maxAge(){return this.cookie.maxAge}set maxAge(Y){this.setCookie.maxAge=Y}get domain(){return this.cookie.domain}set domain(Y){this.setCookie.domain=Y}get path(){return this.cookie.path}set path(Y){this.setCookie.path=Y}get secure(){return this.cookie.secure}set secure(Y){this.setCookie.secure=Y}get httpOnly(){return this.cookie.httpOnly}set httpOnly(Y){this.setCookie.httpOnly=Y}get sameSite(){return this.cookie.sameSite}set sameSite(Y){this.setCookie.sameSite=Y}get priority(){return this.cookie.priority}set priority(Y){this.setCookie.priority=Y}get partitioned(){return this.cookie.partitioned}set partitioned(Y){this.setCookie.partitioned=Y}get secrets(){return this.cookie.secrets}set secrets(Y){this.setCookie.secrets=Y}update(Y){return this.setCookie=Object.assign(this.cookie,typeof Y==="function"?Y(this.cookie):Y),this}set(Y){return this.setCookie=Object.assign({...this.initial,value:this.value},typeof Y==="function"?Y(this.cookie):Y),this}remove(){if(this.value===void 0)return;return this.set({expires:new Date(0),maxAge:0,value:""}),this}toString(){return typeof this.value==="object"?JSON.stringify(this.value):this.value?.toString()??""}}var q4=(Y,Z,X)=>{if(!Y.cookie)Y.cookie={};return new Proxy(Z,{get($,Q){if(Q in Z)return new hY(Q,Y.cookie,Object.assign({},X??{},Z[Q]));return new hY(Q,Y.cookie,Object.assign({},X))}})},p4=async(Y,Z,{secrets:X,sign:$,...Q}={})=>{if(!Z)return q4(Y,{},Q);let W=typeof X==="string";if($&&$!==!0&&!Array.isArray($))$=[$];let J={},M=u4.parse(Z);for(let[G,B]of Object.entries(M)){if(B===void 0)continue;let z=rD.default(B);if($===!0||$?.includes(G)){if(!X)throw Error("No secret is provided to cookie plugin");if(W){if(typeof z!=="string")throw new RX(G);let q=await X4(z,X);if(q===!1)throw new RX(G);z=q}else{let q=!1;for(let A=0;A<X.length;A++){if(typeof z!=="string")throw new RX(G);let N=await X4(z,X[A]);if(N!==!1){q=!0,z=N;break}}if(!q)throw new RX(G)}}if(z){let q=z.charCodeAt(0),A=z.charCodeAt(z.length-1);if(q===123&&A===125||q===91&&A===93)try{z=JSON.parse(z)}catch{}}J[G]={value:z}}return q4(Y,J,Q)},i4=(Y)=>{if(!Y||!x1(Y))return;let Z=[];for(let[X,$]of Object.entries(Y)){if(!X||!$)continue;let Q=$.value;if(Q===void 0||Q===null)continue;Z.push(u4.serialize(X,typeof Q==="object"?JSON.stringify(Q):Q+"",$))}if(Z.length===0)return;if(Z.length===1)return Z[0];return Z},g6=a8?Bun.env:typeof process<"u"&&process?.env?process.env:{},c1=(Y,Z)=>{if(!a8&&Y instanceof Promise)return Y.then((W)=>c1(W,Z));let X=Y.size,$=Z&&(Z.status===206||Z.status===304||Z.status===412||Z.status===416),Q=$?{}:{"accept-ranges":"bytes","content-range":X?`bytes 0-${X-1}/${X}`:void 0};if(!Z&&!X)return new Response(Y);if(!Z)return new Response(Y,{headers:Q});if(Z.headers instanceof Headers){for(let W of Object.keys(Q))if(W in Z.headers)Z.headers.append(W,Q[W]);if($)Z.headers.delete("content-length"),Z.headers.delete("accept-ranges");return new Response(Y,Z)}if(x1(Z.headers))return new Response(Y,{status:Z.status,headers:Object.assign(Q,Z.headers)});return new Response(Y,{status:Z.status,headers:Q})},l4=(Y,Z)=>{if(!Y)return Y;Y.delete("set-cookie");for(let X=0;X<Z.length;X++){let $=Z[X].indexOf("=");Y.append("set-cookie",`${Z[X].slice(0,$)}=${Z[X].slice($+1)||""}`)}return Y},eD=(Y,Z)=>{if(Z?.headers){if(Y){if(I6)Object.assign(Z.headers,Y.headers.toJSON());else for(let[X,$]of Y.headers.entries())if(X in Z.headers)Z.headers[X]=$}if(Z.status===200)Z.status=Y.status;if(Z.headers["content-encoding"])delete Z.headers["content-encoding"];return Z}if(!Y)return{headers:{},status:Z?.status??200};if(I6){if(Z={headers:Y.headers.toJSON(),status:Z?.status??200},Z.headers["content-encoding"])delete Z.headers["content-encoding"];return Z}Z={headers:{},status:Z?.status??200};for(let[X,$]of Y.headers.entries()){if(X==="content-encoding")continue;if(X in Z.headers)Z.headers[X]=$}return Z},Yw=g6.ELYSIA_RAPID_STREAM==="true",u6=({mapResponse:Y,mapCompactResponse:Z})=>async(X,$,Q,W)=>{let J=X.next?.();if($)hX($);if(J instanceof Promise)J=await J;if(J?.value instanceof ReadableStream)X=J.value;else if(J&&(typeof J?.done>"u"||J?.done)){if($)return Y(J.value,$,Q);return Z(J.value,Q)}let M=!W&&(J?.value?.sse??X?.sse??$?.headers["content-type"]?.startsWith("text/event-stream")),G=M?(q)=>`data: ${q}
4
+ `+prefix),args.push(colorCode+"m+"+module.exports.humanize(this.diff)+"\x1B[0m")}else args[0]=getDate()+name+" "+args[0]}function getDate(){if(exports.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function log(...args){return process.stderr.write(util.formatWithOptions(exports.inspectOpts,...args)+`
5
+ `)}function save(namespaces){if(namespaces)process.env.DEBUG=namespaces;else delete process.env.DEBUG}function load(){return process.env.DEBUG}function init(debug){debug.inspectOpts={};let keys=Object.keys(exports.inspectOpts);for(let i=0;i<keys.length;i++)debug.inspectOpts[keys[i]]=exports.inspectOpts[keys[i]]}module.exports=require_common()(exports);var{formatters}=module.exports;formatters.o=function(v){return this.inspectOpts.colors=this.useColors,util.inspect(v,this.inspectOpts).split(`
6
+ `).map((str)=>str.trim()).join(" ")};formatters.O=function(v){return this.inspectOpts.colors=this.useColors,util.inspect(v,this.inspectOpts)}});var require_src=__commonJS(function(exports,module){if(typeof process>"u"||process.type==="renderer"||!1||process.__nwjs)module.exports=require_browser();else module.exports=require_node()});var ZipLimitError;var init_ZipLimitError=__esm(()=>{ZipLimitError=class ZipLimitError extends RangeError{constructor(limit,requestedSize,maxSize){super(`ZIP ${limit} exceeded: ${requestedSize} bytes exceeds limit of ${maxSize} bytes`);this.limit=limit,this.requestedSize=requestedSize,this.maxSize=maxSize,this.name="ZipLimitError"}}});var Signature,DataDescriptor,LocalFileHeaderToken,EndOfCentralDirectoryRecordToken,FileHeader;var init_ZipToken=__esm(()=>{init_lib2();Signature={LocalFileHeader:67324752,DataDescriptor:134695760,CentralFileHeader:33639248,EndOfCentralDirectory:101010256},DataDescriptor={get(array){return{signature:UINT32_LE.get(array,0),compressedSize:UINT32_LE.get(array,8),uncompressedSize:UINT32_LE.get(array,12)}},len:16},LocalFileHeaderToken={get(array){let flags=UINT16_LE.get(array,6);return{signature:UINT32_LE.get(array,0),minVersion:UINT16_LE.get(array,4),dataDescriptor:!!(flags&8),compressedMethod:UINT16_LE.get(array,8),compressedSize:UINT32_LE.get(array,18),uncompressedSize:UINT32_LE.get(array,22),filenameLength:UINT16_LE.get(array,26),extraFieldLength:UINT16_LE.get(array,28),filename:null}},len:30},EndOfCentralDirectoryRecordToken={get(array){return{signature:UINT32_LE.get(array,0),nrOfThisDisk:UINT16_LE.get(array,4),nrOfThisDiskWithTheStart:UINT16_LE.get(array,6),nrOfEntriesOnThisDisk:UINT16_LE.get(array,8),nrOfEntriesOfSize:UINT16_LE.get(array,10),sizeOfCd:UINT32_LE.get(array,12),offsetOfStartOfCd:UINT32_LE.get(array,16),zipFileCommentLength:UINT16_LE.get(array,20)}},len:22},FileHeader={get(array){let flags=UINT16_LE.get(array,8);return{signature:UINT32_LE.get(array,0),minVersion:UINT16_LE.get(array,6),dataDescriptor:!!(flags&8),compressedMethod:UINT16_LE.get(array,10),compressedSize:UINT32_LE.get(array,20),uncompressedSize:UINT32_LE.get(array,24),filenameLength:UINT16_LE.get(array,28),extraFieldLength:UINT16_LE.get(array,30),fileCommentLength:UINT16_LE.get(array,32),relativeOffsetOfLocalHeader:UINT32_LE.get(array,42),filename:null}},len:46}});function signatureToArray(signature){let signatureBytes=new Uint8Array(UINT32_LE.len);return UINT32_LE.put(signatureBytes,0,signature),signatureBytes}class ZipHandler{constructor(tokenizer,options={}){this.tokenizer=tokenizer,this.syncBuffer=new Uint8Array(syncBufferSize),this.limits={maxDataDescriptorScanBytes:options.maxDataDescriptorScanBytes??Number.POSITIVE_INFINITY,maxCompressedSize:options.maxCompressedSize??Number.POSITIVE_INFINITY,maxUncompressedSize:options.maxUncompressedSize??Number.POSITIVE_INFINITY};for(let[name,limit]of Object.entries(this.limits))if(limit!==Number.POSITIVE_INFINITY&&(!Number.isSafeInteger(limit)||limit<=0))throw RangeError(`${name} must be a positive safe integer or Infinity`)}checkLimit(limit,size){if(size>this.limits[limit])throw new ZipLimitError(limit,size,this.limits[limit])}checkEntrySize(header){if(this.checkLimit("maxCompressedSize",header.compressedSize),this.checkLimit("maxUncompressedSize",header.uncompressedSize),header.compressedMethod===0)this.checkLimit("maxUncompressedSize",header.compressedSize)}async isZip(){return await this.peekSignature()===Signature.LocalFileHeader}peekSignature(){return this.tokenizer.peekToken(UINT32_LE)}async findEndOfCentralDirectoryLocator(){let randomReadTokenizer=this.tokenizer,chunkLength=Math.min(16384,randomReadTokenizer.fileInfo.size),buffer=this.syncBuffer.subarray(0,chunkLength);await this.tokenizer.readBuffer(buffer,{position:randomReadTokenizer.fileInfo.size-chunkLength});for(let i=buffer.length-4;i>=0;i--)if(buffer[i]===eocdSignatureBytes[0]&&buffer[i+1]===eocdSignatureBytes[1]&&buffer[i+2]===eocdSignatureBytes[2]&&buffer[i+3]===eocdSignatureBytes[3])return randomReadTokenizer.fileInfo.size-chunkLength+i;return-1}async readCentralDirectory(){if(!this.tokenizer.supportsRandomAccess()){debug("Cannot reading central-directory without random-read support");return}debug("Reading central-directory...");let pos=this.tokenizer.position;try{let offset=await this.findEndOfCentralDirectoryLocator();if(offset>0){debug("Central-directory 32-bit signature found");let eocdHeader=await this.tokenizer.readToken(EndOfCentralDirectoryRecordToken,offset),files=[];this.tokenizer.setPosition(eocdHeader.offsetOfStartOfCd);let directory=createTokenizerView(this.tokenizer,eocdHeader.sizeOfCd);try{for(let n=0;n<eocdHeader.nrOfEntriesOfSize;++n){let entry=await directory.readToken(FileHeader);if(entry.signature!==Signature.CentralFileHeader)throw Error("Expected Central-File-Header signature");entry.filename=await directory.readToken(new StringType2(entry.filenameLength,"utf-8")),await directory.ignore(entry.extraFieldLength),await directory.ignore(entry.fileCommentLength),files.push(entry),debug(`Add central-directory file-entry: n=${n+1}/${files.length}: filename=${files[n].filename}`)}return files}finally{await directory.close()}}}finally{this.tokenizer.setPosition(pos)}}async unzip(fileCb){let entries=await this.readCentralDirectory();if(entries)return this.iterateOverCentralDirectory(entries,fileCb);let stop=!1;do{let zipHeader=await this.readLocalFileHeader();if(!zipHeader)break;let next=fileCb(zipHeader);stop=!!next.stop;let fileData;if(await this.tokenizer.ignore(zipHeader.extraFieldLength),next.handler)this.checkEntrySize(zipHeader);if(zipHeader.dataDescriptor&&zipHeader.compressedSize===0){let chunks=[],totalSize=0,scanLimit=Math.min(this.limits.maxDataDescriptorScanBytes,next.handler?this.limits.maxCompressedSize:Number.POSITIVE_INFINITY,next.handler&&zipHeader.compressedMethod===0?this.limits.maxUncompressedSize:Number.POSITIVE_INFINITY);debug("Compressed-file-size unknown, scanning for next data-descriptor-signature....");while(!0){let peekLength=Math.min(syncBufferSize,scanLimit-totalSize+ddSignatureArray.length),len=await this.tokenizer.peekBuffer(this.syncBuffer.subarray(0,peekLength),{mayBeLess:!0}),nextHeaderIndex=indexOf(this.syncBuffer.subarray(0,len),ddSignatureArray);if(nextHeaderIndex<0&&len<ddSignatureArray.length)throw Error("Expected data-descriptor-signature before end of input");let size=nextHeaderIndex>=0?nextHeaderIndex:len-ddSignatureArray.length+1;if(this.checkLimit("maxDataDescriptorScanBytes",totalSize+size),next.handler){if(this.checkLimit("maxCompressedSize",totalSize+size),zipHeader.compressedMethod===0)this.checkLimit("maxUncompressedSize",totalSize+size);if(size>0){let data=new Uint8Array(size);await this.tokenizer.readBuffer(data),chunks.push(data)}}else await this.tokenizer.ignore(size);if(totalSize+=size,nextHeaderIndex>=0)break}if(debug(`Found data-descriptor-signature at pos=${this.tokenizer.position}`),next.handler)this.checkLimit("maxCompressedSize",totalSize),await this.inflate(zipHeader,mergeArrays(chunks),next.handler)}else if(next.handler)debug(`Reading compressed-file-data: ${zipHeader.compressedSize} bytes`),fileData=new Uint8Array(zipHeader.compressedSize),await this.tokenizer.readBuffer(fileData),await this.inflate(zipHeader,fileData,next.handler);else debug(`Ignoring compressed-file-data: ${zipHeader.compressedSize} bytes`),await this.tokenizer.ignore(zipHeader.compressedSize);if(debug(`Reading data-descriptor at pos=${this.tokenizer.position}`),zipHeader.dataDescriptor){if((await this.tokenizer.readToken(DataDescriptor)).signature!==134695760)throw Error(`Expected data-descriptor-signature at position ${this.tokenizer.position-DataDescriptor.len}`)}}while(!stop)}async iterateOverCentralDirectory(entries,fileCb){for(let fileHeader of entries){let next=fileCb(fileHeader);if(next.handler){this.tokenizer.setPosition(fileHeader.relativeOffsetOfLocalHeader);let zipHeader=await this.readLocalFileHeader();if(zipHeader){await this.tokenizer.ignore(zipHeader.extraFieldLength),this.checkEntrySize(fileHeader),this.checkEntrySize(zipHeader);let fileData=new Uint8Array(fileHeader.compressedSize);await this.tokenizer.readBuffer(fileData),await this.inflate(zipHeader,fileData,next.handler)}}if(next.stop)break}}async inflate(zipHeader,fileData,cb){if(zipHeader.compressedMethod===0)return this.checkLimit("maxUncompressedSize",fileData.length),cb(fileData);if(zipHeader.compressedMethod!==8)throw Error(`Unsupported ZIP compression method: ${zipHeader.compressedMethod}`);debug(`Decompress filename=${zipHeader.filename}, compressed-size=${fileData.length}`);let uncompressedData=await this.decompressDeflateRaw(fileData);return cb(uncompressedData)}async decompressDeflateRaw(data){let input=new ReadableStream({start(controller){controller.enqueue(data),controller.close()}}),ds=new DecompressionStream("deflate-raw"),reader=input.pipeThrough(ds).getReader(),chunks=[],totalSize=0;try{while(!0){let{done,value}=await reader.read();if(done)break;this.checkLimit("maxUncompressedSize",totalSize+value.length),totalSize+=value.length,chunks.push(value)}return this.checkLimit("maxUncompressedSize",totalSize),mergeArrays(chunks)}catch(err){if(await reader.cancel(err).catch(()=>{}),err instanceof ZipLimitError)throw err;if(err instanceof Error&&"code"in err&&err.code==="ERR_TRAILING_JUNK_AFTER_STREAM_END")return mergeArrays(chunks);let message=err instanceof Error?`Failed to deflate ZIP entry: ${err.message}`:"Unknown decompression error in ZIP entry";throw TypeError(message)}finally{reader.releaseLock()}}async readLocalFileHeader(){let signature=await this.tokenizer.peekToken(UINT32_LE);if(signature===Signature.LocalFileHeader){let header=await this.tokenizer.readToken(LocalFileHeaderToken);return header.filename=await this.tokenizer.readToken(new StringType2(header.filenameLength,"utf-8")),header}if(signature===Signature.CentralFileHeader)return!1;if(signature===3759263696)throw Error("Encrypted ZIP");throw Error("Unexpected signature")}}function indexOf(buffer,portion){let bufferLength=buffer.length,portionLength=portion.length;if(portionLength>bufferLength)return-1;for(let i=0;i<=bufferLength-portionLength;i++){let found=!0;for(let j=0;j<portionLength;j++)if(buffer[i+j]!==portion[j]){found=!1;break}if(found)return i}return-1}function mergeArrays(chunks){let totalLength=chunks.reduce((acc,curr)=>acc+curr.length,0),mergedArray=new Uint8Array(totalLength),offset=0;for(let chunk of chunks)mergedArray.set(chunk,offset),offset+=chunk.length;return mergedArray}var import_debug,debug,syncBufferSize=262144,ddSignatureArray,eocdSignatureBytes;var init_ZipHandler=__esm(()=>{init_core();init_lib2();init_ZipLimitError();init_ZipToken();import_debug=__toESM(require_src(),1);debug=import_debug.default("tokenizer:inflate"),ddSignatureArray=signatureToArray(Signature.DataDescriptor),eocdSignatureBytes=signatureToArray(Signature.EndOfCentralDirectory)});var init_lib3=__esm(()=>{init_ZipHandler();init_ZipLimitError()});function isType(value,typeConstructor,typeStringified){if(!value)return!1;if(value.constructor===typeConstructor)return!0;return objectToString.call(value)===typeStringified}function isUint8Array(value){return isType(value,Uint8Array,"[object Uint8Array]")}function isArrayBuffer(value){return isType(value,ArrayBuffer,"[object ArrayBuffer]")}function isUint8ArrayOrArrayBuffer(value){return isUint8Array(value)||isArrayBuffer(value)}function toUint8ArrayIfArrayBuffer(value){return isArrayBuffer(value)?new Uint8Array(value):value}function assertUint8ArrayOrArrayBuffer(value){if(!isUint8ArrayOrArrayBuffer(value))throw TypeError(`Expected \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof value}\``)}function concatUint8Arrays(arrays,totalLength){if(arrays.length===0)return new Uint8Array(0);totalLength??=arrays.reduce((accumulator,currentValue)=>accumulator+currentValue.byteLength,0);let returnValue=new Uint8Array(totalLength),offset=0;for(let array of arrays)assertUint8ArrayOrArrayBuffer(array),array=toUint8ArrayIfArrayBuffer(array),returnValue.set(array,offset),offset+=array.length;return returnValue}function getUintBE(view){let{byteLength}=view;if(byteLength===6)return view.getUint16(0)*4294967296+view.getUint32(2);if(byteLength===5)return view.getUint8(0)*4294967296+view.getUint32(1);if(byteLength===4)return view.getUint32(0);if(byteLength===3)return view.getUint8(0)*65536+view.getUint16(1);if(byteLength===2)return view.getUint16(0);if(byteLength===1)return view.getUint8(0)}var objectToString,cachedDecoders,cachedEncoder,byteToHexLookupTable;var init_uint8array_extras=__esm(()=>{objectToString=Object.prototype.toString;cachedDecoders={utf8:new globalThis.TextDecoder("utf8")},cachedEncoder=new globalThis.TextEncoder,byteToHexLookupTable=Array.from({length:256},(_,index)=>index.toString(16).padStart(2,"0"))});function stringToBytes(string,encoding){if(encoding==="utf-16le"){let bytes=[];for(let index=0;index<string.length;index++){let code=string.charCodeAt(index);bytes.push(code&255,code>>8&255)}return bytes}if(encoding==="utf-16be"){let bytes=[];for(let index=0;index<string.length;index++){let code=string.charCodeAt(index);bytes.push(code>>8&255,code&255)}return bytes}return[...string].map((character)=>character.charCodeAt(0))}function tarHeaderChecksumMatches(arrayBuffer,offset=0){let readSum=Number.parseInt(new StringType2(6).get(arrayBuffer,148),8);if(Number.isNaN(readSum))return!1;let sum=256;for(let index=offset;index<offset+148;index++)sum+=arrayBuffer[index];for(let index=offset+156;index<offset+512;index++)sum+=arrayBuffer[index];return readSum===sum}var uint32SyncSafeToken;var init_tokens=__esm(()=>{init_lib2();uint32SyncSafeToken={get:(buffer,offset)=>buffer[offset+3]&127|(buffer[offset+2]&127)<<7|(buffer[offset+1]&127)<<14|(buffer[offset]&127)<<21,len:4}});var extensions,mimeTypes;var init_supported=__esm(()=>{extensions=["jpg","png","apng","gif","webp","flif","xcf","cr2","cr3","orf","arw","dng","nef","rw2","raf","tif","bmp","icns","jxr","psd","indd","zip","tar","rar","gz","bz2","7z","dmg","mp4","mid","mkv","webm","mov","avi","mpg","mp2","mp3","m4a","oga","ogg","ogv","opus","flac","wav","spx","amr","pdf","epub","elf","macho","exe","swf","rtf","wasm","woff","woff2","eot","ttf","otf","ttc","ico","flv","ps","xz","sqlite","nes","crx","xpi","cab","deb","ar","rpm","Z","lz","cfb","mxf","mts","blend","bpg","docx","pptx","xlsx","3gp","3g2","j2c","jp2","jpm","jpx","mj2","aif","caf","qcp","odt","ods","odp","xml","mobi","heic","cur","ktx","ape","wv","dcm","ics","glb","pcap","dsf","dff","lnk","alias","voc","ac3","m4v","m4p","m4b","f4v","f4p","f4b","f4a","mie","asf","ogm","ogx","mpc","arrow","shp","aac","mp1","it","s3m","xm","skp","avif","eps","lzh","pgp","asar","stl","chm","3mf","zst","jxl","vcf","jls","pst","dwg","parquet","class","arj","cpio","ace","avro","icc","fbx","vsdx","vtt","apk","drc","lz4","potx","xltx","dotx","xltm","ott","ots","otp","odg","otg","xlsm","docm","dotm","potm","pptm","jar","jmp","rm","sav","ppsm","ppsx","tar.gz","reg","dat","key","numbers","pages","iso"],mimeTypes=["image/jpeg","image/png","image/gif","image/webp","image/flif","image/x-xcf","image/x-canon-cr2","image/x-canon-cr3","image/tiff","image/bmp","image/vnd.ms-photo","image/vnd.adobe.photoshop","application/x-indesign","application/epub+zip","application/x-xpinstall","application/vnd.ms-powerpoint.slideshow.macroenabled.12","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.openxmlformats-officedocument.presentationml.slideshow","application/zip","application/x-tar","application/x-rar-compressed","application/gzip","application/x-bzip2","application/x-7z-compressed","application/x-apple-diskimage","application/vnd.apache.arrow.file","video/mp4","audio/midi","video/matroska","video/webm","video/quicktime","video/vnd.avi","audio/wav","audio/qcelp","audio/x-ms-asf","video/x-ms-asf","application/vnd.ms-asf","video/mpeg","video/3gpp","audio/mpeg","audio/mp4","video/ogg","audio/ogg","audio/ogg; codecs=opus","application/ogg","audio/flac","audio/ape","audio/wavpack","audio/amr","application/pdf","application/x-elf","application/x-mach-binary","application/x-msdownload","application/x-shockwave-flash","application/rtf","application/wasm","font/woff","font/woff2","application/vnd.ms-fontobject","font/ttf","font/otf","font/collection","image/x-icon","video/x-flv","application/postscript","application/eps","application/x-xz","application/x-sqlite3","application/x-nintendo-nes-rom","application/x-google-chrome-extension","application/vnd.ms-cab-compressed","application/x-deb","application/x-unix-archive","application/x-rpm","application/x-compress","application/lzip","application/x-cfb","application/x-mie","application/mxf","video/mp2t","application/x-blender","image/bpg","image/j2c","image/jp2","image/jpx","image/jpm","image/mj2","audio/aiff","audio/x-caf","application/xml","application/x-mobipocket-ebook","image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/icns","image/ktx","application/dicom","audio/x-musepack","text/calendar","text/vcard","text/vtt","model/gltf-binary","application/vnd.tcpdump.pcap","audio/x-dsf","audio/x-dff","application/x-ms-shortcut","application/x-ft-apple.alias","audio/x-voc","audio/vnd.dolby.dd-raw","audio/x-m4a","image/apng","image/x-olympus-orf","image/x-sony-arw","image/x-adobe-dng","image/x-nikon-nef","image/x-panasonic-rw2","image/x-fujifilm-raf","video/x-m4v","video/3gpp2","application/x-esri-shape","audio/aac","audio/x-it","audio/x-s3m","audio/x-xm","video/MP1S","video/MP2P","application/vnd.sketchup.skp","image/avif","application/x-lzh-compressed","application/pgp-encrypted","application/x-asar","model/stl","application/vnd.ms-htmlhelp","model/3mf","image/jxl","application/zstd","image/jls","application/vnd.ms-outlook","image/vnd.dwg","application/vnd.apache.parquet","application/java-vm","application/x-arj","application/x-cpio","application/x-ace-compressed","application/avro","application/vnd.iccprofile","application/x-ft-fbx","application/vnd.visio","application/vnd.android.package-archive","application/x-ft-draco","application/x-lz4","application/vnd.openxmlformats-officedocument.presentationml.template","application/vnd.openxmlformats-officedocument.spreadsheetml.template","application/vnd.openxmlformats-officedocument.wordprocessingml.template","application/vnd.ms-excel.template.macroenabled.12","application/vnd.oasis.opendocument.text-template","application/vnd.oasis.opendocument.spreadsheet-template","application/vnd.oasis.opendocument.presentation-template","application/vnd.oasis.opendocument.graphics","application/vnd.oasis.opendocument.graphics-template","application/vnd.ms-excel.sheet.macroenabled.12","application/vnd.ms-word.document.macroenabled.12","application/vnd.ms-word.template.macroenabled.12","application/vnd.ms-powerpoint.template.macroenabled.12","application/vnd.ms-powerpoint.presentation.macroenabled.12","application/java-archive","application/vnd.rn-realmedia","application/x-spss-sav","application/x-ms-regedit","application/x-ft-windows-registry-hive","application/x-jmp-data","application/vnd.apple.keynote","application/vnd.apple.numbers","application/vnd.apple.pages","application/x-iso9660-image"]});function getSafeBound(value,maximum,reason){if(!Number.isFinite(value)||value<0||value>maximum)throw new ParserHardLimitError(`${reason} has invalid size ${value} (maximum ${maximum} bytes)`);return value}async function safeIgnore(tokenizer,length,{maximumLength=16777216,reason="skip"}={}){let safeLength=getSafeBound(length,maximumLength,reason);await tokenizer.ignore(safeLength)}async function safeReadBuffer(tokenizer,buffer,options,{maximumLength=buffer.length,reason="read"}={}){let length=options?.length??buffer.length,safeLength=getSafeBound(length,maximumLength,reason);return tokenizer.readBuffer(buffer,{...options,length:safeLength})}function checkBytes(buffer,headers,options){options={offset:0,...options};for(let[index,header]of headers.entries())if(options.mask){if(header!==(options.mask[index]&buffer[index+options.offset]))return!1}else if(header!==buffer[index+options.offset])return!1;return!0}function hasUnknownFileSize(tokenizer){let fileSize=tokenizer.fileInfo.size;return!Number.isFinite(fileSize)||fileSize===Number.MAX_SAFE_INTEGER}function hasExceededUnknownSizeScanBudget(tokenizer,startOffset,maximumBytes){return hasUnknownFileSize(tokenizer)&&tokenizer.position-startOffset>maximumBytes}var maximumUntrustedSkipSizeInBytes=16777216,ParserHardLimitError;var init_parser=__esm(()=>{ParserHardLimitError=class ParserHardLimitError extends Error{}});function mergeByteChunks(chunks,totalLength){let merged=new Uint8Array(totalLength),offset=0;for(let chunk of chunks)merged.set(chunk,offset),offset+=chunk.length;return merged}function getMaximumZipBufferedReadLength(tokenizer){let fileSize=tokenizer.fileInfo.size,remainingBytes=Number.isFinite(fileSize)?Math.max(0,fileSize-tokenizer.position):Number.MAX_SAFE_INTEGER;return Math.min(remainingBytes,maximumZipBufferedReadSizeInBytes)}function isRecoverableZipError(error){if(error instanceof EndOfStreamError)return!0;if(error instanceof ParserHardLimitError||error instanceof ZipLimitError)return!0;if(!(error instanceof Error))return!1;if(error instanceof TypeError&&error.message.startsWith("Failed to deflate ZIP entry:"))return!0;if(recoverableZipErrorMessages.has(error.message))return!0;if(recoverableZipErrorCodes.has(error.code))return!0;for(let prefix of recoverableZipErrorMessagePrefixes)if(error.message.startsWith(prefix))return!0;return!1}function canReadZipEntryForDetection(zipHeader,maximumSize=maximumZipEntrySizeInBytes){let sizes=[zipHeader.compressedSize,zipHeader.uncompressedSize];for(let size of sizes)if(!Number.isFinite(size)||size<0||size>maximumSize)return!1;return!0}function createIWorkZipDetectionState(){return{hasDocumentEntry:!1,hasMasterSlideEntry:!1,hasTablesEntry:!1,hasCalculationEngineEntry:!1}}function updateIWorkZipDetectionStateFromFilename(iWorkState,filename){if(filename==="Index/Document.iwa")iWorkState.hasDocumentEntry=!0;if(filename.startsWith("Index/MasterSlide"))iWorkState.hasMasterSlideEntry=!0;if(filename.startsWith("Index/Tables/"))iWorkState.hasTablesEntry=!0;if(filename==="Index/CalculationEngine.iwa")iWorkState.hasCalculationEngineEntry=!0}function getIWorkFileTypeFromZipEntries(iWorkState){if(!iWorkState.hasDocumentEntry)return;if(iWorkState.hasMasterSlideEntry)return{ext:"key",mime:"application/vnd.apple.keynote"};if(iWorkState.hasTablesEntry)return{ext:"numbers",mime:"application/vnd.apple.numbers"};return{ext:"pages",mime:"application/vnd.apple.pages"}}function getFileTypeFromMimeType(mimeType){switch(mimeType=mimeType.toLowerCase(),mimeType){case"application/epub+zip":return{ext:"epub",mime:mimeType};case"application/vnd.oasis.opendocument.text":return{ext:"odt",mime:mimeType};case"application/vnd.oasis.opendocument.text-template":return{ext:"ott",mime:mimeType};case"application/vnd.oasis.opendocument.spreadsheet":return{ext:"ods",mime:mimeType};case"application/vnd.oasis.opendocument.spreadsheet-template":return{ext:"ots",mime:mimeType};case"application/vnd.oasis.opendocument.presentation":return{ext:"odp",mime:mimeType};case"application/vnd.oasis.opendocument.presentation-template":return{ext:"otp",mime:mimeType};case"application/vnd.oasis.opendocument.graphics":return{ext:"odg",mime:mimeType};case"application/vnd.oasis.opendocument.graphics-template":return{ext:"otg",mime:mimeType};case"application/vnd.openxmlformats-officedocument.presentationml.slideshow":return{ext:"ppsx",mime:mimeType};case"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":return{ext:"xlsx",mime:mimeType};case"application/vnd.ms-excel.sheet.macroenabled":return{ext:"xlsm",mime:"application/vnd.ms-excel.sheet.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.spreadsheetml.template":return{ext:"xltx",mime:mimeType};case"application/vnd.ms-excel.template.macroenabled":return{ext:"xltm",mime:"application/vnd.ms-excel.template.macroenabled.12"};case"application/vnd.ms-powerpoint.slideshow.macroenabled":return{ext:"ppsm",mime:"application/vnd.ms-powerpoint.slideshow.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.wordprocessingml.document":return{ext:"docx",mime:mimeType};case"application/vnd.ms-word.document.macroenabled":return{ext:"docm",mime:"application/vnd.ms-word.document.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.wordprocessingml.template":return{ext:"dotx",mime:mimeType};case"application/vnd.ms-word.template.macroenabledtemplate":return{ext:"dotm",mime:"application/vnd.ms-word.template.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.presentationml.template":return{ext:"potx",mime:mimeType};case"application/vnd.ms-powerpoint.template.macroenabled":return{ext:"potm",mime:"application/vnd.ms-powerpoint.template.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.presentationml.presentation":return{ext:"pptx",mime:mimeType};case"application/vnd.ms-powerpoint.presentation.macroenabled":return{ext:"pptm",mime:"application/vnd.ms-powerpoint.presentation.macroenabled.12"};case"application/vnd.ms-visio.drawing":return{ext:"vsdx",mime:"application/vnd.visio"};case"application/vnd.ms-package.3dmanufacturing-3dmodel+xml":return{ext:"3mf",mime:"model/3mf"};default:}}function createOpenXmlZipDetectionState(){return{hasContentTypesEntry:!1,hasParsedContentTypesEntry:!1,isParsingContentTypes:!1,hasUnparseableContentTypes:!1,hasWordDirectory:!1,hasPresentationDirectory:!1,hasSpreadsheetDirectory:!1,hasThreeDimensionalModelEntry:!1}}function updateOpenXmlZipDetectionStateFromFilename(openXmlState,filename){if(filename.startsWith("word/"))openXmlState.hasWordDirectory=!0;if(filename.startsWith("ppt/"))openXmlState.hasPresentationDirectory=!0;if(filename.startsWith("xl/"))openXmlState.hasSpreadsheetDirectory=!0;if(filename.startsWith("3D/")&&filename.endsWith(".model"))openXmlState.hasThreeDimensionalModelEntry=!0}function getOpenXmlFileTypeFromDirectoryNames(openXmlState){if(openXmlState.hasWordDirectory)return{ext:"docx",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};if(openXmlState.hasPresentationDirectory)return{ext:"pptx",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"};if(openXmlState.hasSpreadsheetDirectory)return{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};if(openXmlState.hasThreeDimensionalModelEntry)return{ext:"3mf",mime:"model/3mf"}}function getOpenXmlFileTypeFromZipEntries(openXmlState){if(!openXmlState.hasContentTypesEntry||openXmlState.hasUnparseableContentTypes||openXmlState.isParsingContentTypes||openXmlState.hasParsedContentTypesEntry)return;return getOpenXmlFileTypeFromDirectoryNames(openXmlState)}function getOpenXmlMimeTypeFromContentTypesXml(xmlContent){let endPosition=xmlContent.indexOf('.main+xml"');if(endPosition===-1){if(xmlContent.includes('ContentType="application/vnd.ms-package.3dmanufacturing-3dmodel+xml"'))return"application/vnd.ms-package.3dmanufacturing-3dmodel+xml";return}let truncatedContent=xmlContent.slice(0,endPosition),firstQuotePosition=truncatedContent.lastIndexOf('"');return truncatedContent.slice(firstQuotePosition+1)}function findZipDataDescriptorOffset(buffer,bytesConsumed,{allowTruncated=!1}={}){let lastPossibleDescriptorOffset=buffer.length-(allowTruncated?4:zipDataDescriptorLengthInBytes);for(let index=0;index<=lastPossibleDescriptorOffset;index++){if(UINT32_LE.get(buffer,index)!==zipDataDescriptorSignature)continue;if(buffer.length-index<12)return index;if(UINT32_LE.get(buffer,index+8)===bytesConsumed+index)return index}return-1}async function readZipDataDescriptorEntryWithLimit(zipHandler,{shouldBuffer,maximumLength=maximumZipEntrySizeInBytes}={}){let{syncBuffer}=zipHandler,{length:syncBufferLength}=syncBuffer,chunks=[],bytesConsumed=0;for(;;){let length=await zipHandler.tokenizer.peekBuffer(syncBuffer,{mayBeLess:!0}),dataDescriptorOffset=findZipDataDescriptorOffset(syncBuffer.subarray(0,length),bytesConsumed,{allowTruncated:length<syncBufferLength}),retainedLength=dataDescriptorOffset>=0?0:length===syncBufferLength?Math.min(zipDataDescriptorOverlapLengthInBytes,length-1):0,chunkLength=dataDescriptorOffset>=0?dataDescriptorOffset:length-retainedLength;if(chunkLength===0)break;if(bytesConsumed+=chunkLength,bytesConsumed>maximumLength)throw new ParserHardLimitError(`ZIP entry data descriptor not found within ${maximumLength} bytes`);if(shouldBuffer){let data=new Uint8Array(chunkLength);await zipHandler.tokenizer.readBuffer(data),chunks.push(data)}else await zipHandler.tokenizer.ignore(chunkLength);if(dataDescriptorOffset>=0)break}if(!hasUnknownFileSize(zipHandler.tokenizer))zipHandler.knownSizeDescriptorScannedBytes+=bytesConsumed;if(!shouldBuffer)return;return mergeByteChunks(chunks,bytesConsumed)}function getRemainingZipScanBudget(zipHandler,startOffset){if(hasUnknownFileSize(zipHandler.tokenizer))return Math.max(0,maximumUntrustedSkipSizeInBytes-(zipHandler.tokenizer.position-startOffset));return Math.max(0,maximumZipEntrySizeInBytes-zipHandler.knownSizeDescriptorScannedBytes)}async function readZipEntryData(zipHandler,zipHeader,{shouldBuffer,maximumDescriptorLength=maximumZipEntrySizeInBytes}={}){if(zipHeader.dataDescriptor&&zipHeader.compressedSize===0)return readZipDataDescriptorEntryWithLimit(zipHandler,{shouldBuffer,maximumLength:maximumDescriptorLength});if(!shouldBuffer){await safeIgnore(zipHandler.tokenizer,zipHeader.compressedSize,{maximumLength:hasUnknownFileSize(zipHandler.tokenizer)?maximumZipEntrySizeInBytes:zipHandler.tokenizer.fileInfo.size,reason:"ZIP entry compressed data"});return}if(zipHeader.compressedSize>maximumZipTextEntrySizeInBytes)throw new ZipLimitError("maxCompressedSize",zipHeader.compressedSize,maximumZipTextEntrySizeInBytes);let maximumLength=getMaximumZipBufferedReadLength(zipHandler.tokenizer);if(!Number.isFinite(zipHeader.compressedSize)||zipHeader.compressedSize<0||zipHeader.compressedSize>maximumLength)throw Error(`ZIP entry compressed data exceeds ${maximumLength} bytes`);let fileData=new Uint8Array(zipHeader.compressedSize);return await zipHandler.tokenizer.readBuffer(fileData),fileData}async function detectZip(tokenizer){let fileType,openXmlState=createOpenXmlZipDetectionState(),iWorkState=createIWorkZipDetectionState();try{await new DetectionZipHandler(tokenizer,{maxUncompressedSize:maximumZipTextEntrySizeInBytes}).unzip((zipHeader)=>{if(updateOpenXmlZipDetectionStateFromFilename(openXmlState,zipHeader.filename),updateIWorkZipDetectionStateFromFilename(iWorkState,zipHeader.filename),iWorkState.hasDocumentEntry&&(iWorkState.hasMasterSlideEntry||iWorkState.hasTablesEntry))return fileType=getIWorkFileTypeFromZipEntries(iWorkState),{stop:!0};let isOpenXmlContentTypesEntry=zipHeader.filename==="[Content_Types].xml",openXmlFileTypeFromEntries=getOpenXmlFileTypeFromZipEntries(openXmlState);if(!isOpenXmlContentTypesEntry&&openXmlFileTypeFromEntries)return fileType=openXmlFileTypeFromEntries,{stop:!0};switch(zipHeader.filename){case"META-INF/mozilla.rsa":return fileType={ext:"xpi",mime:"application/x-xpinstall"},{stop:!0};case"META-INF/MANIFEST.MF":return fileType={ext:"jar",mime:"application/java-archive"},{stop:!0};case"mimetype":if(!canReadZipEntryForDetection(zipHeader,maximumZipTextEntrySizeInBytes))return{};return{async handler(fileData){let mimeType=new TextDecoder("utf-8").decode(fileData).trim();fileType=getFileTypeFromMimeType(mimeType)},stop:!0};case"[Content_Types].xml":{if(openXmlState.hasContentTypesEntry=!0,!canReadZipEntryForDetection(zipHeader,maximumZipTextEntrySizeInBytes))return openXmlState.hasUnparseableContentTypes=!0,{};return openXmlState.isParsingContentTypes=!0,{async handler(fileData){let xmlContent=new TextDecoder("utf-8").decode(fileData),mimeType=getOpenXmlMimeTypeFromContentTypesXml(xmlContent);if(mimeType)fileType=getFileTypeFromMimeType(mimeType);openXmlState.hasParsedContentTypesEntry=!0,openXmlState.isParsingContentTypes=!1},stop:!0}}default:if(/classes\d*\.dex/v.test(zipHeader.filename))return fileType={ext:"apk",mime:"application/vnd.android.package-archive"},{stop:!0};return{}}})}catch(error){if(!isRecoverableZipError(error))throw error;if(openXmlState.isParsingContentTypes)openXmlState.isParsingContentTypes=!1,openXmlState.hasUnparseableContentTypes=!0;if(!fileType&&(error instanceof EndOfStreamError||error instanceof ParserHardLimitError)&&!openXmlState.hasContentTypesEntry)fileType=getOpenXmlFileTypeFromDirectoryNames(openXmlState)}let iWorkFileType=hasUnknownFileSize(tokenizer)&&iWorkState.hasDocumentEntry&&!iWorkState.hasMasterSlideEntry&&!iWorkState.hasTablesEntry&&!iWorkState.hasCalculationEngineEntry?void 0:getIWorkFileTypeFromZipEntries(iWorkState);return fileType??getOpenXmlFileTypeFromZipEntries(openXmlState)??iWorkFileType??{ext:"zip",mime:"application/zip"}}var maximumZipEntrySizeInBytes=1048576,maximumZipEntryCount=1024,maximumZipBufferedReadSizeInBytes=2147483647,maximumZipTextEntrySizeInBytes,recoverableZipErrorMessages,recoverableZipErrorMessagePrefixes,recoverableZipErrorCodes,zipDataDescriptorSignature=134695760,zipDataDescriptorLengthInBytes=16,zipDataDescriptorOverlapLengthInBytes,DetectionZipHandler;var init_zip=__esm(()=>{init_lib2();init_core();init_lib3();init_parser();maximumZipTextEntrySizeInBytes=maximumZipEntrySizeInBytes,recoverableZipErrorMessages=new Set(["Unexpected signature","Encrypted ZIP","Expected Central-File-Header signature"]),recoverableZipErrorMessagePrefixes=["ZIP entry count exceeds ","Unsupported ZIP compression method:","ZIP entry compressed data exceeds ","ZIP entry decompressed data exceeds ","Expected data-descriptor-signature at position "],recoverableZipErrorCodes=new Set(["Z_BUF_ERROR","Z_DATA_ERROR","ERR_INVALID_STATE"]);zipDataDescriptorOverlapLengthInBytes=zipDataDescriptorLengthInBytes-1;DetectionZipHandler=class DetectionZipHandler extends ZipHandler{async unzip(fileCallback){let shouldStop=!1,zipEntryCount=0,zipScanStart=this.tokenizer.position;this.knownSizeDescriptorScannedBytes=0;do{if(hasExceededUnknownSizeScanBudget(this.tokenizer,zipScanStart,maximumUntrustedSkipSizeInBytes))throw new ParserHardLimitError(`ZIP stream probing exceeds ${maximumUntrustedSkipSizeInBytes} bytes`);let zipHeader=await this.readLocalFileHeader();if(!zipHeader)break;if(zipEntryCount++,zipEntryCount>maximumZipEntryCount)throw Error(`ZIP entry count exceeds ${maximumZipEntryCount}`);let next=fileCallback(zipHeader);shouldStop=Boolean(next.stop),await this.tokenizer.ignore(zipHeader.extraFieldLength);let fileData=await readZipEntryData(this,zipHeader,{shouldBuffer:Boolean(next.handler),maximumDescriptorLength:Math.min(maximumZipEntrySizeInBytes,getRemainingZipScanBudget(this,zipScanStart))});if(next.handler)await this.inflate(zipHeader,fileData,next.handler);if(zipHeader.dataDescriptor){let dataDescriptor=new Uint8Array(zipDataDescriptorLengthInBytes);if(await this.tokenizer.readBuffer(dataDescriptor),UINT32_LE.get(dataDescriptor,0)!==zipDataDescriptorSignature)throw Error(`Expected data-descriptor-signature at position ${this.tokenizer.position-dataDescriptor.length}`)}if(hasExceededUnknownSizeScanBudget(this.tokenizer,zipScanStart,maximumUntrustedSkipSizeInBytes))throw new ParserHardLimitError(`ZIP stream probing exceeds ${maximumUntrustedSkipSizeInBytes} bytes`)}while(!shouldStop)}}});async function detectEbml(tokenizer){async function readField(){let msb=await tokenizer.peekNumber(UINT8),mask=128,ic=0;while(mask!==0&&(msb&mask)===0)++ic,mask>>=1;let id=new Uint8Array(ic+1);return await safeReadBuffer(tokenizer,id,void 0,{maximumLength:id.length,reason:"EBML field"}),id}async function readElement(){let idField=await readField(),lengthField=await readField();lengthField[0]^=128>>lengthField.length-1;let nrLength=Math.min(6,lengthField.length),idView=new DataView(idField.buffer),lengthView=new DataView(lengthField.buffer,lengthField.length-nrLength,nrLength);return{id:getUintBE(idView),len:getUintBE(lengthView)}}async function readChildren(children){let ebmlElementCount=0;while(children>0){if(ebmlElementCount++,ebmlElementCount>maximumEbmlElementCount)return;if(hasExceededUnknownSizeScanBudget(tokenizer,ebmlScanStart,maximumUntrustedSkipSizeInBytes))return;let previousPosition=tokenizer.position,element=await readElement();if(element.id===17026){if(element.len>maximumEbmlDocumentTypeSizeInBytes)return;let documentTypeLength=getSafeBound(element.len,maximumEbmlDocumentTypeSizeInBytes,"EBML DocType");return(await tokenizer.readToken(new StringType2(documentTypeLength))).split("\x00",1)[0]}if(hasUnknownFileSize(tokenizer)&&(!Number.isFinite(element.len)||element.len<0||element.len>maximumEbmlElementPayloadSizeInBytes))return;if(await safeIgnore(tokenizer,element.len,{maximumLength:hasUnknownFileSize(tokenizer)?maximumEbmlElementPayloadSizeInBytes:tokenizer.fileInfo.size,reason:"EBML payload"}),--children,tokenizer.position<=previousPosition)return}}let rootElement=await readElement(),ebmlScanStart=tokenizer.position;switch(await readChildren(rootElement.len)){case"webm":return{ext:"webm",mime:"video/webm"};case"matroska":return{ext:"mkv",mime:"video/matroska"};default:}}var maximumEbmlDocumentTypeSizeInBytes=64,maximumEbmlElementPayloadSizeInBytes=1048576,maximumEbmlElementCount=256;var init_ebml=__esm(()=>{init_lib2();init_uint8array_extras();init_parser()});function isPngAncillaryChunk(type){return(type.codePointAt(0)&32)!==0}async function detectPng(tokenizer){let pngFileType={ext:"png",mime:"image/png"},apngFileType={ext:"apng",mime:"image/apng"};await tokenizer.ignore(8);async function readChunkHeader(){return{length:await tokenizer.readToken(INT32_BE),type:await tokenizer.readToken(new StringType2(4,"latin1"))}}let isUnknownPngStream=hasUnknownFileSize(tokenizer),pngScanStart=tokenizer.position,pngChunkCount=0,hasSeenImageHeader=!1;do{if(pngChunkCount++,pngChunkCount>maximumPngChunkCount)break;if(hasExceededUnknownSizeScanBudget(tokenizer,pngScanStart,maximumPngStreamScanBudgetInBytes))break;let previousPosition=tokenizer.position,chunk=await readChunkHeader();if(chunk.length<0)return;if(chunk.type==="IHDR"){if(chunk.length!==13)return;hasSeenImageHeader=!0}switch(chunk.type){case"IDAT":return pngFileType;case"acTL":return apngFileType;default:if(!hasSeenImageHeader&&chunk.type!=="CgBI")return;if(isUnknownPngStream&&chunk.length>maximumPngChunkSizeInBytes)return hasSeenImageHeader&&isPngAncillaryChunk(chunk.type)?pngFileType:void 0;try{await safeIgnore(tokenizer,chunk.length+4,{maximumLength:isUnknownPngStream?maximumPngChunkSizeInBytes+4:tokenizer.fileInfo.size,reason:"PNG chunk payload"})}catch(error){if(!isUnknownPngStream&&(error instanceof ParserHardLimitError||error instanceof EndOfStreamError))return pngFileType;throw error}}if(tokenizer.position<=previousPosition)break}while(tokenizer.position+8<tokenizer.fileInfo.size);return pngFileType}var maximumPngChunkCount=512,maximumPngStreamScanBudgetInBytes=16777216,maximumPngChunkSizeInBytes=1048576;var init_png=__esm(()=>{init_lib2();init_core();init_parser()});async function detectAsf(tokenizer){let isMalformedAsf=!1;try{async function readHeader(){let guid=new Uint8Array(16);return await safeReadBuffer(tokenizer,guid,void 0,{maximumLength:guid.length,reason:"ASF header GUID"}),{id:guid,size:Number(await tokenizer.readToken(UINT64_LE))}}await safeIgnore(tokenizer,30,{maximumLength:30,reason:"ASF header prelude"});let isUnknownFileSize=hasUnknownFileSize(tokenizer),asfHeaderScanStart=tokenizer.position,asfHeaderObjectCount=0;while(tokenizer.position+24<tokenizer.fileInfo.size){if(asfHeaderObjectCount++,asfHeaderObjectCount>maximumAsfHeaderObjectCount)break;if(hasExceededUnknownSizeScanBudget(tokenizer,asfHeaderScanStart,maximumUntrustedSkipSizeInBytes))break;let previousPosition=tokenizer.position,header=await readHeader(),payload=header.size-24;if(!Number.isFinite(payload)||payload<0){isMalformedAsf=!0;break}if(checkBytes(header.id,[145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101])){let typeId=new Uint8Array(16);if(payload-=await safeReadBuffer(tokenizer,typeId,void 0,{maximumLength:typeId.length,reason:"ASF stream type GUID"}),checkBytes(typeId,[64,158,105,248,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"audio/x-ms-asf"};if(checkBytes(typeId,[192,239,25,188,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"video/x-ms-asf"};break}if(isUnknownFileSize&&payload>maximumAsfHeaderPayloadSizeInBytes){isMalformedAsf=!0;break}if(await safeIgnore(tokenizer,payload,{maximumLength:isUnknownFileSize?maximumAsfHeaderPayloadSizeInBytes:tokenizer.fileInfo.size,reason:"ASF header payload"}),tokenizer.position<=previousPosition){isMalformedAsf=!0;break}}}catch(error){if(error instanceof EndOfStreamError||error instanceof ParserHardLimitError){if(hasUnknownFileSize(tokenizer))isMalformedAsf=!0}else throw error}if(isMalformedAsf)return;return{ext:"asf",mime:"application/vnd.ms-asf"}}var maximumAsfHeaderObjectCount=512,maximumAsfHeaderPayloadSizeInBytes=1048576;var init_asf=__esm(()=>{init_lib2();init_core();init_parser()});function normalizeSampleSize(sampleSize){if(!Number.isFinite(sampleSize))return reasonableDetectionSizeInBytes;return Math.max(1,Math.trunc(sampleSize))}function normalizeMpegOffsetTolerance(mpegOffsetTolerance){if(!Number.isFinite(mpegOffsetTolerance))return 0;return Math.max(0,Math.min(maximumMpegOffsetTolerance,Math.trunc(mpegOffsetTolerance)))}function getKnownFileSizeOrMaximum(fileSize){if(!Number.isFinite(fileSize))return Number.MAX_SAFE_INTEGER;return Math.max(0,fileSize)}function importAtRuntime(specifier){return import(specifier)}function toDefaultStream(stream){return stream.pipeThrough(new TransformStream)}function readWithSignal(reader,signal){if(signal===void 0)return reader.read();return signal.throwIfAborted(),Promise.race([reader.read(),new Promise((_resolve,reject)=>{signal.addEventListener("abort",()=>{reject(signal.reason),reader.cancel(signal.reason).catch(()=>{})},{once:!0})})])}function createByteLimitedReadableStream(stream,maximumBytes){let reader=stream.getReader(),emittedBytes=0,isSourceDone=!1,isSourceCanceled=!1,cancelSource=async(reason)=>{if(isSourceDone||isSourceCanceled)return;isSourceCanceled=!0,await reader.cancel(reason)};return new ReadableStream({async pull(controller){if(emittedBytes>=maximumBytes){controller.close(),await cancelSource();return}let{done,value}=await reader.read();if(done||!value){isSourceDone=!0,controller.close();return}let remainingBytes=maximumBytes-emittedBytes;if(value.length>remainingBytes){controller.enqueue(value.subarray(0,remainingBytes)),emittedBytes+=remainingBytes,controller.close(),await cancelSource();return}controller.enqueue(value),emittedBytes+=value.length},async cancel(reason){await cancelSource(reason)}})}async function fileTypeFromBlob(blob,options){return new FileTypeParser(options).fromBlob(blob)}class FileTypeParser{buffer;tokenizer;detectionReentryCount;constructor(options){let normalizedMpegOffsetTolerance=normalizeMpegOffsetTolerance(options?.mpegOffsetTolerance),maxBufferSize=options?.maxBufferSize??1/0;if(maxBufferSize!==1/0&&(!Number.isSafeInteger(maxBufferSize)||maxBufferSize<=0))throw RangeError("maxBufferSize must be a positive safe integer or Infinity");this.options={...options,mpegOffsetTolerance:normalizedMpegOffsetTolerance},this.detectors=[...this.options.customDetectors??[],{id:"core",detect:(tokenizer)=>this.detectConfident(tokenizer)},{id:"core.imprecise",detect:(tokenizer)=>this.detectImprecise(tokenizer)}],this.tokenizerOptions={abortSignal:this.options.signal,maxBufferSize},this.gzipProbeDepth=0}getTokenizerOptions(){return{...this.tokenizerOptions}}createTokenizerFromWebStream(stream){return fromWebStream(toDefaultStream(stream),this.getTokenizerOptions())}async parseTokenizer(tokenizer,detectionReentryCount=0){this.detectionReentryCount=detectionReentryCount;let initialPosition=tokenizer.position;for(let detector of this.detectors){let fileType;try{fileType=await detector.detect(tokenizer)}catch(error){if(error instanceof EndOfStreamError)return;if(error instanceof ParserHardLimitError)return;throw error}if(fileType)return fileType;if(initialPosition!==tokenizer.position)return}}async fromTokenizer(tokenizer){try{return await this.parseTokenizer(tokenizer)}finally{await tokenizer.close()}}async fromBuffer(input){if(!(input instanceof Uint8Array||input instanceof ArrayBuffer))throw TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof input}\``);let buffer=input instanceof Uint8Array?input:new Uint8Array(input);if(!(buffer?.length>1))return;return this.fromTokenizer(fromBuffer(buffer,this.getTokenizerOptions()))}async fromBlob(blob){this.options.signal?.throwIfAborted();let tokenizer=fromBlob(blob,this.getTokenizerOptions());return this.fromTokenizer(tokenizer)}async fromStream(stream){this.options.signal?.throwIfAborted();let tokenizer=this.createTokenizerFromWebStream(stream);return this.fromTokenizer(tokenizer)}async fromFile(path){this.options.signal?.throwIfAborted();let{fromFile,NotRegularFileError}=await importAtRuntime("strtok3"),tokenizer;try{tokenizer=await fromFile(path,{...this.getTokenizerOptions(),regularFileOnly:!0})}catch(error){if(error instanceof NotRegularFileError)return;throw error}return this.fromTokenizer(tokenizer)}async toDetectionStream(stream,options){this.options.signal?.throwIfAborted();let sampleSize=normalizeSampleSize(options?.sampleSize??reasonableDetectionSizeInBytes),detectedFileType,hasStreamEnded=!1,reader=stream.getReader(),chunks=[],totalSize=0;try{while(totalSize<sampleSize){let{value,done}=await readWithSignal(reader,this.options.signal);if(done||!value){hasStreamEnded=!0;break}chunks.push(value),totalSize+=value.length}if(!hasStreamEnded&&totalSize===sampleSize){let{value,done}=await readWithSignal(reader,this.options.signal);if(done||!value)hasStreamEnded=!0;else chunks.push(value),totalSize+=value.length}}finally{reader.releaseLock()}if(totalSize>0){let sample=chunks.length===1?chunks[0]:concatUint8Arrays(chunks);try{detectedFileType=await this.fromBuffer(sample.subarray(0,sampleSize))}catch(error){if(!(error instanceof EndOfStreamError))throw error;detectedFileType=void 0}if(!hasStreamEnded&&detectedFileType?.ext==="pages")detectedFileType={ext:"zip",mime:"application/zip"}}let transformStream=new TransformStream({start(controller){for(let chunk of chunks)controller.enqueue(chunk)},transform(chunk,controller){controller.enqueue(chunk)}}),newStream=stream.pipeThrough(transformStream);return newStream.fileType=detectedFileType,newStream}async detectGzip(tokenizer){if(this.gzipProbeDepth>=maximumNestedGzipProbeDepth)return{ext:"gz",mime:"application/gzip"};let gzipHandler=new GzipHandler(tokenizer),limitedInflatedStream=createByteLimitedReadableStream(gzipHandler.inflate(),maximumNestedGzipDetectionSizeInBytes),hasUnknownSize=hasUnknownFileSize(tokenizer),timeout,probeSignal,probeParser,compressedFileType;if(hasUnknownSize){let timeoutController=new AbortController;timeout=setTimeout(()=>{timeoutController.abort(new DOMException(`Operation timed out after ${unknownSizeGzipProbeTimeoutInMilliseconds} ms`,"TimeoutError"))},unknownSizeGzipProbeTimeoutInMilliseconds),probeSignal=this.options.signal===void 0?timeoutController.signal:AbortSignal.any([this.options.signal,timeoutController.signal]),probeParser=new FileTypeParser({...this.options,signal:probeSignal}),probeParser.gzipProbeDepth=this.gzipProbeDepth+1}else this.gzipProbeDepth++;try{compressedFileType=await(probeParser??this).fromStream(limitedInflatedStream)}catch(error){if(error?.name==="AbortError"&&probeSignal?.reason?.name!=="TimeoutError")throw error}finally{if(clearTimeout(timeout),!hasUnknownSize)this.gzipProbeDepth--}if(compressedFileType?.ext==="tar")return{ext:"tar.gz",mime:"application/gzip"};return{ext:"gz",mime:"application/gzip"}}check(header,options){return checkBytes(this.buffer,header,options)}checkString(header,options){return this.check(stringToBytes(header,options?.encoding),options)}async detectConfident(tokenizer){if(this.buffer=new Uint8Array(reasonableDetectionSizeInBytes),tokenizer.fileInfo.size===void 0)tokenizer.fileInfo.size=Number.MAX_SAFE_INTEGER;if(this.tokenizer=tokenizer,hasUnknownFileSize(tokenizer)){if(await tokenizer.peekBuffer(this.buffer,{length:3,mayBeLess:!0}),this.check([31,139,8]))return this.detectGzip(tokenizer)}if(await tokenizer.peekBuffer(this.buffer,{length:32,mayBeLess:!0}),this.check([66,77]))return{ext:"bmp",mime:"image/bmp"};if(this.check([11,119]))return{ext:"ac3",mime:"audio/vnd.dolby.dd-raw"};if(this.check([120,1]))return{ext:"dmg",mime:"application/x-apple-diskimage"};if(this.check([77,90]))return{ext:"exe",mime:"application/x-msdownload"};if(this.check([37,33])){if(await tokenizer.peekBuffer(this.buffer,{length:24,mayBeLess:!0}),this.checkString("PS-Adobe-",{offset:2})&&this.checkString(" EPSF-",{offset:14}))return{ext:"eps",mime:"application/eps"};return{ext:"ps",mime:"application/postscript"}}if(this.check([31,160])||this.check([31,157]))return{ext:"Z",mime:"application/x-compress"};if(this.check([199,113]))return{ext:"cpio",mime:"application/x-cpio"};if(this.check([96,234]))return{ext:"arj",mime:"application/x-arj"};if(this.check([239,187,191])){if(this.detectionReentryCount>=maximumDetectionReentryCount)return;return this.detectionReentryCount++,await this.tokenizer.ignore(3),this.detectConfident(tokenizer)}if(this.check([71,73,70]))return{ext:"gif",mime:"image/gif"};if(this.check([73,73,188]))return{ext:"jxr",mime:"image/vnd.ms-photo"};if(this.check([31,139,8]))return this.detectGzip(tokenizer);if(this.check([66,90,104]))return{ext:"bz2",mime:"application/x-bzip2"};if(this.checkString("ID3")){await safeIgnore(tokenizer,6,{maximumLength:6,reason:"ID3 header prefix"});let id3HeaderLength=await tokenizer.readToken(uint32SyncSafeToken),isUnknownFileSize=hasUnknownFileSize(tokenizer);if(!Number.isFinite(id3HeaderLength)||id3HeaderLength<0||isUnknownFileSize&&(id3HeaderLength>maximumId3HeaderSizeInBytes||tokenizer.position+id3HeaderLength>maximumId3HeaderSizeInBytes))return;if(tokenizer.position+id3HeaderLength>tokenizer.fileInfo.size){if(isUnknownFileSize)return;return{ext:"mp3",mime:"audio/mpeg"}}try{await safeIgnore(tokenizer,id3HeaderLength,{maximumLength:isUnknownFileSize?maximumId3HeaderSizeInBytes:tokenizer.fileInfo.size,reason:"ID3 payload"})}catch(error){if(error instanceof EndOfStreamError)return;throw error}if(this.detectionReentryCount>=maximumDetectionReentryCount)return;return this.detectionReentryCount++,this.parseTokenizer(tokenizer,this.detectionReentryCount)}if(this.checkString("MP+"))return{ext:"mpc",mime:"audio/x-musepack"};if((this.buffer[0]===67||this.buffer[0]===70)&&this.check([87,83],{offset:1}))return{ext:"swf",mime:"application/x-shockwave-flash"};if(this.check([255,216,255])){if(this.check([247],{offset:3}))return{ext:"jls",mime:"image/jls"};return{ext:"jpg",mime:"image/jpeg"}}if(this.check([79,98,106,1]))return{ext:"avro",mime:"application/avro"};if(this.checkString("FLIF"))return{ext:"flif",mime:"image/flif"};if(this.checkString("8BPS"))return{ext:"psd",mime:"image/vnd.adobe.photoshop"};if(this.checkString("MPCK"))return{ext:"mpc",mime:"audio/x-musepack"};if(this.checkString("FORM"))return{ext:"aif",mime:"audio/aiff"};if(this.checkString("caff")&&this.check([0,1],{offset:4})&&this.checkString("desc",{offset:8}))return{ext:"caf",mime:"audio/x-caf"};if(this.checkString("icns",{offset:0}))return{ext:"icns",mime:"image/icns"};if(this.check([80,75,3,4]))return detectZip(tokenizer);if(this.checkString("OggS")){await tokenizer.ignore(28);let type=new Uint8Array(8);if(await tokenizer.readBuffer(type),checkBytes(type,[79,112,117,115,72,101,97,100]))return{ext:"opus",mime:"audio/ogg; codecs=opus"};if(checkBytes(type,[128,116,104,101,111,114,97]))return{ext:"ogv",mime:"video/ogg"};if(checkBytes(type,[1,118,105,100,101,111,0]))return{ext:"ogm",mime:"video/ogg"};if(checkBytes(type,[127,70,76,65,67]))return{ext:"oga",mime:"audio/ogg"};if(checkBytes(type,[83,112,101,101,120,32,32]))return{ext:"spx",mime:"audio/ogg"};if(checkBytes(type,[1,118,111,114,98,105,115]))return{ext:"ogg",mime:"audio/ogg"};return{ext:"ogx",mime:"application/ogg"}}if(this.check([80,75])&&[3,5,7].includes(this.buffer[2])&&[4,6,8].includes(this.buffer[3]))return{ext:"zip",mime:"application/zip"};if(this.checkString("MThd"))return{ext:"mid",mime:"audio/midi"};if(this.checkString("wOFF")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff",mime:"font/woff"};if(this.checkString("wOF2")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff2",mime:"font/woff2"};if(this.check([212,195,178,161])||this.check([161,178,195,212]))return{ext:"pcap",mime:"application/vnd.tcpdump.pcap"};if(this.checkString("DSD "))return{ext:"dsf",mime:"audio/x-dsf"};if(this.checkString("LZIP"))return{ext:"lz",mime:"application/lzip"};if(this.checkString("fLaC"))return{ext:"flac",mime:"audio/flac"};if(this.check([66,80,71,251]))return{ext:"bpg",mime:"image/bpg"};if(this.checkString("wvpk"))return{ext:"wv",mime:"audio/wavpack"};if(this.checkString("%PDF"))return{ext:"pdf",mime:"application/pdf"};if(this.check([0,97,115,109]))return{ext:"wasm",mime:"application/wasm"};if(this.check([73,73])){let fileType=await this.readTiffHeader(!1);if(fileType)return fileType}if(this.check([77,77])){let fileType=await this.readTiffHeader(!0);if(fileType)return fileType}if(this.checkString("MAC "))return{ext:"ape",mime:"audio/ape"};if(this.check([26,69,223,163]))return detectEbml(tokenizer);if(this.checkString("SQLi"))return{ext:"sqlite",mime:"application/x-sqlite3"};if(this.check([78,69,83,26]))return{ext:"nes",mime:"application/x-nintendo-nes-rom"};if(this.checkString("Cr24"))return{ext:"crx",mime:"application/x-google-chrome-extension"};if(this.checkString("MSCF")||this.checkString("ISc("))return{ext:"cab",mime:"application/vnd.ms-cab-compressed"};if(this.check([237,171,238,219]))return{ext:"rpm",mime:"application/x-rpm"};if(this.check([197,208,211,198]))return{ext:"eps",mime:"application/eps"};if(this.check([40,181,47,253]))return{ext:"zst",mime:"application/zstd"};if(this.check([127,69,76,70]))return{ext:"elf",mime:"application/x-elf"};if(this.check([33,66,68,78]))return{ext:"pst",mime:"application/vnd.ms-outlook"};if(this.checkString("PAR1")||this.checkString("PARE"))return{ext:"parquet",mime:"application/vnd.apache.parquet"};if(this.checkString("ttcf"))return{ext:"ttc",mime:"font/collection"};if(this.check([254,237,250,206])||this.check([254,237,250,207])||this.check([206,250,237,254])||this.check([207,250,237,254]))return{ext:"macho",mime:"application/x-mach-binary"};if(this.check([4,34,77,24]))return{ext:"lz4",mime:"application/x-lz4"};if(this.checkString("regf"))return{ext:"dat",mime:"application/x-ft-windows-registry-hive"};if(this.checkString("$FL2")||this.checkString("$FL3"))return{ext:"sav",mime:"application/x-spss-sav"};if(this.check([79,84,84,79,0]))return{ext:"otf",mime:"font/otf"};if(this.checkString("#!AMR"))return{ext:"amr",mime:"audio/amr"};if(this.checkString(String.raw`{\rtf`))return{ext:"rtf",mime:"application/rtf"};if(this.check([70,76,86,1]))return{ext:"flv",mime:"video/x-flv"};if(this.checkString("IMPM"))return{ext:"it",mime:"audio/x-it"};if(this.checkString("-lh0-",{offset:2})||this.checkString("-lh1-",{offset:2})||this.checkString("-lh2-",{offset:2})||this.checkString("-lh3-",{offset:2})||this.checkString("-lh4-",{offset:2})||this.checkString("-lh5-",{offset:2})||this.checkString("-lh6-",{offset:2})||this.checkString("-lh7-",{offset:2})||this.checkString("-lzs-",{offset:2})||this.checkString("-lz4-",{offset:2})||this.checkString("-lz5-",{offset:2})||this.checkString("-lhd-",{offset:2}))return{ext:"lzh",mime:"application/x-lzh-compressed"};if(this.check([0,0,1,186])){if(this.check([33],{offset:4,mask:[241]}))return{ext:"mpg",mime:"video/MP1S"};if(this.check([68],{offset:4,mask:[196]}))return{ext:"mpg",mime:"video/MP2P"}}if(this.checkString("ITSF"))return{ext:"chm",mime:"application/vnd.ms-htmlhelp"};if(this.check([202,254,186,190])){let machOArchitectureCount=UINT32_BE.get(this.buffer,4);if(machOArchitectureCount>0&&machOArchitectureCount<=30)return{ext:"macho",mime:"application/x-mach-binary"};if(UINT16_BE.get(this.buffer,6)>30)return{ext:"class",mime:"application/java-vm"}}if(this.checkString(".RMF"))return{ext:"rm",mime:"application/vnd.rn-realmedia"};if(this.checkString("DRACO"))return{ext:"drc",mime:"application/x-ft-draco"};if(this.check([253,55,122,88,90,0]))return{ext:"xz",mime:"application/x-xz"};if(this.checkString("<?xml "))return{ext:"xml",mime:"application/xml"};if(this.check([55,122,188,175,39,28]))return{ext:"7z",mime:"application/x-7z-compressed"};if(this.check([82,97,114,33,26,7])&&(this.buffer[6]===0||this.buffer[6]===1))return{ext:"rar",mime:"application/x-rar-compressed"};if(this.checkString("solid "))return{ext:"stl",mime:"model/stl"};if(this.checkString("AC")){let version=new StringType2(4,"latin1").get(this.buffer,2);if(/^\d+$/v.test(version)&&version>=1000&&version<=1050)return{ext:"dwg",mime:"image/vnd.dwg"}}if(this.checkString("070707"))return{ext:"cpio",mime:"application/x-cpio"};if(this.checkString("BLENDER"))return{ext:"blend",mime:"application/x-blender"};if(this.checkString("!<arch>")){if(await tokenizer.ignore(8),await tokenizer.readToken(new StringType2(13,"ascii"))==="debian-binary")return{ext:"deb",mime:"application/x-deb"};return{ext:"ar",mime:"application/x-unix-archive"}}if(this.checkString("WEBVTT")&&[`
7
+ `,"\r","\t"," ","\x00"].some((char7)=>this.checkString(char7,{offset:6})))return{ext:"vtt",mime:"text/vtt"};if(this.check([137,80,78,71,13,10,26,10]))return detectPng(tokenizer);if(this.check([65,82,82,79,87,49,0,0]))return{ext:"arrow",mime:"application/vnd.apache.arrow.file"};if(this.check([103,108,84,70,2,0,0,0]))return{ext:"glb",mime:"model/gltf-binary"};if(this.check([102,114,101,101],{offset:4})||this.check([109,100,97,116],{offset:4})||this.check([109,111,111,118],{offset:4})||this.check([119,105,100,101],{offset:4}))return{ext:"mov",mime:"video/quicktime"};if(this.check([73,73,82,79,8,0,0,0,24]))return{ext:"orf",mime:"image/x-olympus-orf"};if(this.checkString("gimp xcf "))return{ext:"xcf",mime:"image/x-xcf"};if(this.checkString("ftyp",{offset:4})&&(this.buffer[8]&96)!==0){let brandMajor=new StringType2(4,"latin1").get(this.buffer,8).replace("\x00"," ").trim();switch(brandMajor){case"avif":case"avis":return{ext:"avif",mime:"image/avif"};case"mif1":return{ext:"heic",mime:"image/heif"};case"msf1":return{ext:"heic",mime:"image/heif-sequence"};case"heic":case"heix":return{ext:"heic",mime:"image/heic"};case"hevc":case"hevx":return{ext:"heic",mime:"image/heic-sequence"};case"qt":return{ext:"mov",mime:"video/quicktime"};case"M4V":case"M4VH":case"M4VP":return{ext:"m4v",mime:"video/x-m4v"};case"M4P":return{ext:"m4p",mime:"video/mp4"};case"M4B":return{ext:"m4b",mime:"audio/mp4"};case"M4A":return{ext:"m4a",mime:"audio/x-m4a"};case"F4V":return{ext:"f4v",mime:"video/mp4"};case"F4P":return{ext:"f4p",mime:"video/mp4"};case"F4A":return{ext:"f4a",mime:"audio/mp4"};case"F4B":return{ext:"f4b",mime:"audio/mp4"};case"crx":return{ext:"cr3",mime:"image/x-canon-cr3"};default:if(brandMajor.startsWith("3g")){if(brandMajor.startsWith("3g2"))return{ext:"3g2",mime:"video/3gpp2"};return{ext:"3gp",mime:"video/3gpp"}}return{ext:"mp4",mime:"video/mp4"}}}if(this.checkString(`REGEDIT4\r
8
+ `))return{ext:"reg",mime:"application/x-ms-regedit"};if(this.check([82,73,70,70])){if(this.checkString("WEBP",{offset:8}))return{ext:"webp",mime:"image/webp"};if(this.check([65,86,73],{offset:8}))return{ext:"avi",mime:"video/vnd.avi"};if(this.check([87,65,86,69],{offset:8}))return{ext:"wav",mime:"audio/wav"};if(this.check([81,76,67,77],{offset:8}))return{ext:"qcp",mime:"audio/qcelp"}}if(this.check([73,73,85,0,24,0,0,0,136,231,116,216]))return{ext:"rw2",mime:"image/x-panasonic-rw2"};if(this.check([48,38,178,117,142,102,207,17,166,217]))return detectAsf(tokenizer);if(this.check([171,75,84,88,32,49,49,187,13,10,26,10]))return{ext:"ktx",mime:"image/ktx"};if((this.check([126,16,4])||this.check([126,24,4]))&&this.check([48,77,73,69],{offset:4}))return{ext:"mie",mime:"application/x-mie"};if(this.check([39,10,0,0,0,0,0,0,0,0,0,0],{offset:2}))return{ext:"shp",mime:"application/x-esri-shape"};if(this.check([255,79,255,81]))return{ext:"j2c",mime:"image/j2c"};if(this.check([0,0,0,12,106,80,32,32,13,10,135,10]))switch(await tokenizer.ignore(20),await tokenizer.readToken(new StringType2(4,"ascii"))){case"jp2 ":return{ext:"jp2",mime:"image/jp2"};case"jpx ":return{ext:"jpx",mime:"image/jpx"};case"jpm ":return{ext:"jpm",mime:"image/jpm"};case"mjp2":return{ext:"mj2",mime:"image/mj2"};default:return}if(this.check([255,10])||this.check([0,0,0,12,74,88,76,32,13,10,135,10]))return{ext:"jxl",mime:"image/jxl"};if(this.check([254,255])){if(this.checkString("<?xml ",{offset:2,encoding:"utf-16be"}))return{ext:"xml",mime:"application/xml"};return}if(this.check([208,207,17,224,161,177,26,225]))return{ext:"cfb",mime:"application/x-cfb"};if(this.checkString("FRM8")&&this.checkString("DSD ",{offset:12}))return{ext:"dff",mime:"audio/x-dff"};if(await tokenizer.peekBuffer(this.buffer,{length:Math.min(256,tokenizer.fileInfo.size),mayBeLess:!0}),this.check([97,99,115,112],{offset:36}))return{ext:"icc",mime:"application/vnd.iccprofile"};if(this.checkString("**ACE",{offset:7})&&this.checkString("**",{offset:12}))return{ext:"ace",mime:"application/x-ace-compressed"};if(this.checkString("BEGIN:")){if(this.checkString("VCARD",{offset:6}))return{ext:"vcf",mime:"text/vcard"};if(this.checkString("VCALENDAR",{offset:6}))return{ext:"ics",mime:"text/calendar"}}if(this.checkString("FUJIFILMCCD-RAW"))return{ext:"raf",mime:"image/x-fujifilm-raf"};if(this.checkString("Extended Module:"))return{ext:"xm",mime:"audio/x-xm"};if(this.checkString("Creative Voice File"))return{ext:"voc",mime:"audio/x-voc"};if(this.check([4,0,0,0])&&this.buffer.length>=16){let jsonSize=new DataView(this.buffer.buffer).getUint32(12,!0);if(jsonSize>12&&this.buffer.length>=jsonSize+16)try{let header=new TextDecoder().decode(this.buffer.subarray(16,jsonSize+16));if(JSON.parse(header).files)return{ext:"asar",mime:"application/x-asar"}}catch{}}if(this.check([6,14,43,52,2,5,1,1,13,1,2,1,1,2]))return{ext:"mxf",mime:"application/mxf"};if(this.checkString("SCRM",{offset:44}))return{ext:"s3m",mime:"audio/x-s3m"};if(this.check([71])&&this.check([71],{offset:188}))return{ext:"mts",mime:"video/mp2t"};if(this.check([71],{offset:4})&&this.check([71],{offset:196}))return{ext:"mts",mime:"video/mp2t"};if(this.check([66,79,79,75,77,79,66,73],{offset:60}))return{ext:"mobi",mime:"application/x-mobipocket-ebook"};if(this.check([68,73,67,77],{offset:128}))return{ext:"dcm",mime:"application/dicom"};if(this.check([76,0,0,0,1,20,2,0,0,0,0,0,192,0,0,0,0,0,0,70]))return{ext:"lnk",mime:"application/x-ms-shortcut"};if(this.check([98,111,111,107,0,0,0,0,109,97,114,107,0,0,0,0]))return{ext:"alias",mime:"application/x-ft-apple.alias"};if(this.checkString("Kaydara FBX Binary \x00"))return{ext:"fbx",mime:"application/x-ft-fbx"};if(this.check([76,80],{offset:34})&&(this.check([0,0,1],{offset:8})||this.check([1,0,2],{offset:8})||this.check([2,0,2],{offset:8})))return{ext:"eot",mime:"application/vnd.ms-fontobject"};if(this.check([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29]))return{ext:"indd",mime:"application/x-indesign"};if(this.check([255,255,0,0,7,0,0,0,4,0,0,0,1,0,1,0])||this.check([0,0,255,255,0,0,0,7,0,0,0,4,0,1,0,1]))return{ext:"jmp",mime:"application/x-jmp-data"};if(await tokenizer.peekBuffer(this.buffer,{length:Math.min(512,tokenizer.fileInfo.size),mayBeLess:!0}),this.checkString("ustar",{offset:257})&&(this.checkString("\x00",{offset:262})||this.checkString(" ",{offset:262}))||this.check([0,0,0,0,0,0],{offset:257})&&tarHeaderChecksumMatches(this.buffer))return{ext:"tar",mime:"application/x-tar"};if(this.check([255,254])){if(this.checkString("<?xml ",{offset:2,encoding:"utf-16le"}))return{ext:"xml",mime:"application/xml"};if(this.check([255,14],{offset:2})&&this.checkString("SketchUp Model",{offset:4,encoding:"utf-16le"}))return{ext:"skp",mime:"application/vnd.sketchup.skp"};if(this.checkString(`Windows Registry Editor Version 5.00\r
9
+ `,{offset:2,encoding:"utf-16le"}))return{ext:"reg",mime:"application/x-ms-regedit"};return}if(this.checkString("-----BEGIN PGP MESSAGE-----"))return{ext:"pgp",mime:"application/pgp-encrypted"};let isoStandardIdentifierOffset=32769,isoStandardIdentifierLength=5;if(tokenizer.supportsRandomAccess()&&tokenizer.fileInfo.size>=isoStandardIdentifierOffset+isoStandardIdentifierLength){let isoStandardIdentifier=new Uint8Array(isoStandardIdentifierLength);if(await tokenizer.peekBuffer(isoStandardIdentifier,{position:isoStandardIdentifierOffset,length:isoStandardIdentifierLength,mayBeLess:!0}),checkBytes(isoStandardIdentifier,stringToBytes("CD001")))return{ext:"iso",mime:"application/x-iso9660-image"}}}async detectImprecise(tokenizer){this.buffer=new Uint8Array(reasonableDetectionSizeInBytes);let fileSize=getKnownFileSizeOrMaximum(tokenizer.fileInfo.size);if(await tokenizer.peekBuffer(this.buffer,{length:Math.min(8,fileSize),mayBeLess:!0}),this.check([0,0,1,186])||this.check([0,0,1,179]))return{ext:"mpg",mime:"video/mpeg"};if(this.check([0,1,0,0,0]))return{ext:"ttf",mime:"font/ttf"};if(this.check([0,0,1,0]))return{ext:"ico",mime:"image/x-icon"};if(this.check([0,0,2,0]))return{ext:"cur",mime:"image/x-icon"};if(await tokenizer.peekBuffer(this.buffer,{length:Math.min(4+this.options.mpegOffsetTolerance,fileSize),mayBeLess:!0}),this.buffer.length>=4+this.options.mpegOffsetTolerance)for(let depth=0;depth<=this.options.mpegOffsetTolerance;++depth){let type=this.scanMpeg(depth);if(type)return type}}async readTiffTag(isBigEndian){let tagId=await this.tokenizer.readToken(isBigEndian?UINT16_BE:UINT16_LE);switch(await this.tokenizer.ignore(10),tagId){case 50341:return{ext:"arw",mime:"image/x-sony-arw"};case 50706:return{ext:"dng",mime:"image/x-adobe-dng"};default:}}async readTiffIFD(isBigEndian){let numberOfTags=await this.tokenizer.readToken(isBigEndian?UINT16_BE:UINT16_LE);if(numberOfTags>maximumTiffTagCount)return;if(hasUnknownFileSize(this.tokenizer)&&2+numberOfTags*12>maximumTiffIfdOffsetInBytes)return;for(let n=0;n<numberOfTags;++n){let fileType=await this.readTiffTag(isBigEndian);if(fileType)return fileType}}async readTiffHeader(isBigEndian){let tiffFileType={ext:"tif",mime:"image/tiff"},version=(isBigEndian?UINT16_BE:UINT16_LE).get(this.buffer,2),ifdOffset=(isBigEndian?UINT32_BE:UINT32_LE).get(this.buffer,4);if(version===42){if(ifdOffset>=6){if(this.checkString("CR",{offset:8}))return{ext:"cr2",mime:"image/x-canon-cr2"};if(ifdOffset>=8){let someId1=(isBigEndian?UINT16_BE:UINT16_LE).get(this.buffer,8),someId2=(isBigEndian?UINT16_BE:UINT16_LE).get(this.buffer,10);if(someId1===28&&someId2===254||someId1===31&&someId2===11)return{ext:"nef",mime:"image/x-nikon-nef"}}}if(hasUnknownFileSize(this.tokenizer)&&ifdOffset>maximumTiffStreamIfdOffsetInBytes)return tiffFileType;let maximumTiffOffset=hasUnknownFileSize(this.tokenizer)?maximumTiffIfdOffsetInBytes:this.tokenizer.fileInfo.size;try{await safeIgnore(this.tokenizer,ifdOffset,{maximumLength:maximumTiffOffset,reason:"TIFF IFD offset"})}catch(error){if(error instanceof EndOfStreamError)return;throw error}let fileType;try{fileType=await this.readTiffIFD(isBigEndian)}catch(error){if(error instanceof EndOfStreamError)return;throw error}return fileType??tiffFileType}if(version===43)return tiffFileType}scanMpeg(offset){if(this.check([255,224],{offset,mask:[255,224]})){if(this.check([16],{offset:offset+1,mask:[22]}))return{ext:"aac",mime:"audio/aac"};if(this.check([255,254],{offset}))return;if(this.check([8],{offset:offset+1,mask:[24]}))return;if(this.check([240],{offset:offset+2,mask:[240]}))return;if(this.check([12],{offset:offset+2,mask:[12]}))return;if(this.check([2],{offset:offset+1,mask:[6]}))return{ext:"mp3",mime:"audio/mpeg"};if(this.check([4],{offset:offset+1,mask:[6]}))return{ext:"mp2",mime:"audio/mpeg"};if(this.check([6],{offset:offset+1,mask:[6]}))return{ext:"mp1",mime:"audio/mpeg"}}}}var reasonableDetectionSizeInBytes=4100,maximumMpegOffsetTolerance,maximumNestedGzipDetectionSizeInBytes,maximumNestedGzipProbeDepth=1,unknownSizeGzipProbeTimeoutInMilliseconds=100,maximumId3HeaderSizeInBytes,maximumTiffTagCount=512,maximumDetectionReentryCount=256,maximumTiffStreamIfdOffsetInBytes=1048576,maximumTiffIfdOffsetInBytes,supportedExtensions,supportedMimeTypes;var init_source=__esm(()=>{init_lib2();init_core();init_lib3();init_uint8array_extras();init_tokens();init_supported();init_parser();init_zip();init_ebml();init_png();init_asf();maximumMpegOffsetTolerance=reasonableDetectionSizeInBytes-4,maximumNestedGzipDetectionSizeInBytes=maximumUntrustedSkipSizeInBytes,maximumId3HeaderSizeInBytes=maximumUntrustedSkipSizeInBytes,maximumTiffIfdOffsetInBytes=maximumUntrustedSkipSizeInBytes;supportedExtensions=new Set(extensions),supportedMimeTypes=new Set(mimeTypes)});var require_dist=__commonJS(function(exports){Object.defineProperty(exports,"__esModule",{value:!0});exports.parseCookie=parseCookie;exports.parse=parseCookie;exports.stringifyCookie=stringifyCookie;exports.stringifySetCookie=stringifySetCookie;exports.serialize=stringifySetCookie;exports.parseSetCookie=parseSetCookie;exports.stringifySetCookie=stringifySetCookie;exports.serialize=stringifySetCookie;var cookieNameRegExp=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,cookieValueRegExp=/^[\u0021-\u003A\u003C-\u007E]*$/,domainValueRegExp=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,pathValueRegExp=/^[\u0020-\u003A\u003D-\u007E]*$/,maxAgeRegExp=/^-?\d+$/,__toString=Object.prototype.toString,NullObject=(()=>{let C=function(){};return C.prototype=Object.create(null),C})();function parseCookie(str,options){let obj=new NullObject,len=str.length;if(len<2)return obj;let dec=options?.decode||decode,index=0;do{let eqIdx=eqIndex(str,index,len);if(eqIdx===-1)break;let endIdx=endIndex(str,index,len);if(eqIdx>endIdx){index=str.lastIndexOf(";",eqIdx-1)+1;continue}let key=valueSlice(str,index,eqIdx);if(obj[key]===void 0)obj[key]=dec(valueSlice(str,eqIdx+1,endIdx));index=endIdx+1}while(index<len);return obj}function stringifyCookie(cookie,options){let enc=options?.encode||encodeURIComponent,cookieStrings=[];for(let name of Object.keys(cookie)){let val=cookie[name];if(val===void 0)continue;if(!cookieNameRegExp.test(name))throw TypeError(`cookie name is invalid: ${name}`);let value=enc(val);if(!cookieValueRegExp.test(value))throw TypeError(`cookie val is invalid: ${val}`);cookieStrings.push(`${name}=${value}`)}return cookieStrings.join("; ")}function stringifySetCookie(_name,_val,_opts){let cookie=typeof _name==="object"?_name:{..._opts,name:_name,value:String(_val)},enc=(typeof _val==="object"?_val:_opts)?.encode||encodeURIComponent;if(!cookieNameRegExp.test(cookie.name))throw TypeError(`argument name is invalid: ${cookie.name}`);let value=cookie.value?enc(cookie.value):"";if(!cookieValueRegExp.test(value))throw TypeError(`argument val is invalid: ${cookie.value}`);let str=cookie.name+"="+value;if(cookie.maxAge!==void 0){if(!Number.isInteger(cookie.maxAge))throw TypeError(`option maxAge is invalid: ${cookie.maxAge}`);str+="; Max-Age="+cookie.maxAge}if(cookie.domain){if(!domainValueRegExp.test(cookie.domain))throw TypeError(`option domain is invalid: ${cookie.domain}`);str+="; Domain="+cookie.domain}if(cookie.path){if(!pathValueRegExp.test(cookie.path))throw TypeError(`option path is invalid: ${cookie.path}`);str+="; Path="+cookie.path}if(cookie.expires){if(!isDate(cookie.expires)||!Number.isFinite(cookie.expires.valueOf()))throw TypeError(`option expires is invalid: ${cookie.expires}`);str+="; Expires="+cookie.expires.toUTCString()}if(cookie.httpOnly)str+="; HttpOnly";if(cookie.secure)str+="; Secure";if(cookie.partitioned)str+="; Partitioned";if(cookie.priority)switch(typeof cookie.priority==="string"?cookie.priority.toLowerCase():void 0){case"low":str+="; Priority=Low";break;case"medium":str+="; Priority=Medium";break;case"high":str+="; Priority=High";break;default:throw TypeError(`option priority is invalid: ${cookie.priority}`)}if(cookie.sameSite)switch(typeof cookie.sameSite==="string"?cookie.sameSite.toLowerCase():cookie.sameSite){case!0:case"strict":str+="; SameSite=Strict";break;case"lax":str+="; SameSite=Lax";break;case"none":str+="; SameSite=None";break;default:throw TypeError(`option sameSite is invalid: ${cookie.sameSite}`)}return str}function parseSetCookie(str,options){let dec=options?.decode||decode,len=str.length,endIdx=endIndex(str,0,len),eqIdx=eqIndex(str,0,endIdx),setCookie=eqIdx===-1?{name:"",value:dec(valueSlice(str,0,endIdx))}:{name:valueSlice(str,0,eqIdx),value:dec(valueSlice(str,eqIdx+1,endIdx))},index=endIdx+1;while(index<len){let endIdx=endIndex(str,index,len),eqIdx=eqIndex(str,index,endIdx),attr=eqIdx===-1?valueSlice(str,index,endIdx):valueSlice(str,index,eqIdx),val=eqIdx===-1?void 0:valueSlice(str,eqIdx+1,endIdx);switch(attr.toLowerCase()){case"httponly":setCookie.httpOnly=!0;break;case"secure":setCookie.secure=!0;break;case"partitioned":setCookie.partitioned=!0;break;case"domain":setCookie.domain=val;break;case"path":setCookie.path=val;break;case"max-age":if(val&&maxAgeRegExp.test(val))setCookie.maxAge=Number(val);break;case"expires":if(!val)break;let date=new Date(val);if(Number.isFinite(date.valueOf()))setCookie.expires=date;break;case"priority":if(!val)break;let priority=val.toLowerCase();if(priority==="low"||priority==="medium"||priority==="high")setCookie.priority=priority;break;case"samesite":if(!val)break;let sameSite=val.toLowerCase();if(sameSite==="lax"||sameSite==="strict"||sameSite==="none")setCookie.sameSite=sameSite;break}index=endIdx+1}return setCookie}function endIndex(str,min,len){let index=str.indexOf(";",min);return index===-1?len:index}function eqIndex(str,min,max){let index=str.indexOf("=",min);return index<max?index:-1}function valueSlice(str,min,max){let start=min,end=max;do{let code=str.charCodeAt(start);if(code!==32&&code!==9)break}while(++start<end);while(end>start){let code=str.charCodeAt(end-1);if(code!==32&&code!==9)break;end--}return str.slice(start,end)}function decode(str){if(str.indexOf("%")===-1)return str;try{return decodeURIComponent(str)}catch(e){return str}}function isDate(val){return __toString.call(val)==="[object Date]"}});var exports_type3={};__export(exports_type3,{Any:()=>Any,Argument:()=>Argument,Array:()=>Array2,AsyncIterator:()=>AsyncIterator,Awaited:()=>Awaited,BigInt:()=>BigInt2,Boolean:()=>Boolean2,Capitalize:()=>Capitalize,Composite:()=>Composite,Const:()=>Const,Constructor:()=>Constructor,ConstructorParameters:()=>ConstructorParameters,Date:()=>Date2,Enum:()=>Enum,Exclude:()=>Exclude,Extends:()=>Extends,Extract:()=>Extract,Function:()=>Function2,Index:()=>Index,InstanceType:()=>InstanceType,Instantiate:()=>Instantiate,Integer:()=>Integer,Intersect:()=>Intersect,Iterator:()=>Iterator,KeyOf:()=>KeyOf,Literal:()=>Literal,Lowercase:()=>Lowercase,Mapped:()=>Mapped,Module:()=>Module,Never:()=>Never,Not:()=>Not2,Null:()=>Null,Number:()=>Number2,Object:()=>Object2,Omit:()=>Omit,Optional:()=>Optional,Parameters:()=>Parameters,Partial:()=>Partial,Pick:()=>Pick,Promise:()=>Promise2,Readonly:()=>Readonly,ReadonlyOptional:()=>ReadonlyOptional,Record:()=>Record,Recursive:()=>Recursive,Ref:()=>Ref,RegExp:()=>RegExp2,Required:()=>Required,Rest:()=>Rest,ReturnType:()=>ReturnType,String:()=>String2,Symbol:()=>Symbol2,TemplateLiteral:()=>TemplateLiteral,Transform:()=>Transform,Tuple:()=>Tuple,Uint8Array:()=>Uint8Array2,Uncapitalize:()=>Uncapitalize,Undefined:()=>Undefined,Union:()=>Union,Unknown:()=>Unknown,Unsafe:()=>Unsafe,Uppercase:()=>Uppercase,Void:()=>Void});import{OTLPTraceExporter}from"@opentelemetry/exporter-trace-otlp-http";import{resourceFromAttributes}from"@opentelemetry/resources";import{NodeSDK}from"@opentelemetry/sdk-node";import{ConsoleSpanExporter,TraceIdRatioBasedSampler}from"@opentelemetry/sdk-trace-base";import{ATTR_SERVICE_NAME}from"@opentelemetry/semantic-conventions";class ArgusSDK{static instance;sdk=null;constructor(){}static isInitialized(){return ArgusSDK.instance!==void 0}static initialize(config){if(ArgusSDK.instance){console.error("[Argus] SDK already initialized. Ignoring duplicate call.");return}if(ArgusSDK.instance=new ArgusSDK,!config.enabled)return;let exporter=ArgusSDK.createExporter(config);ArgusSDK.instance.sdk=new NodeSDK({resource:resourceFromAttributes({[ATTR_SERVICE_NAME]:config.serviceName}),traceExporter:exporter,...config.samplingRate!==void 0&&{sampler:new TraceIdRatioBasedSampler(config.samplingRate)}}),ArgusSDK.instance.sdk.start()}static createExporter(config){switch(config.exporter){case"otlp-http":return new OTLPTraceExporter({url:config.endpoint??"http://localhost:4318/v1/traces"});case"console":default:return new ConsoleSpanExporter}}static async shutdown(){if(ArgusSDK.instance?.sdk)await ArgusSDK.instance.sdk.shutdown();ArgusSDK.instance=void 0}}import{SpanStatusCode,trace}from"@opentelemetry/api";function Traced(name,options){return function(target,propertyKey,descriptor){let original=descriptor.value,spanName=name??`${target.constructor.name}.${String(propertyKey)}`;return descriptor.value=async function(...args){return trace.getTracer("@elysiumjs/argus").startActiveSpan(spanName,options??{},async(span)=>{try{let result=await original.apply(this,args);return span.setStatus({code:SpanStatusCode.OK}),result}catch(error){throw span.setStatus({code:SpanStatusCode.ERROR,message:error instanceof Error?error.message:"Unknown error"}),span.recordException(error),error}finally{span.end()}})},descriptor}}import{trace as trace2}from"@opentelemetry/api";function withTraceContext(ctx={}){let span=trace2.getActiveSpan();if(!span)return ctx;let spanCtx=span.spanContext();return{...ctx,traceId:spanCtx.traceId,spanId:spanCtx.spanId}}import{SpanStatusCode as SpanStatusCode2,trace as trace3}from"@opentelemetry/api";var Y=(v,b)=>{let A=b?.length?{}:null;if(A)for(let Q of b)A[Q.part.charCodeAt(0)]=Q;return{part:v,store:null,inert:A,params:null,wildcardStore:null}},k=(v,b)=>({...v,part:b}),T=(v)=>({name:v,store:null,inert:null});class _{config;root={};history=[];deferred=[];constructor(v={}){if(this.config=v,v.lazy)this.find=this.lazyFind;if(v.onParam&&!Array.isArray(v.onParam))this.config.onParam=[this.config.onParam]}static regex={static:/:.+?(?=\/|$)/,params:/:.+?(?=\/|$)/g,optionalParams:/(\/:\w+\?)/g};lazyFind=(v,b)=>{if(!this.config.lazy)return this.find;return this.build(),this.find(v,b)};build(){if(!this.config.lazy)return;for(let[v,b,A]of this.deferred)this.add(v,b,A,{lazy:!1,ignoreHistory:!0});this.deferred=[],this.find=(v,b)=>{let A=this.root[v];if(!A)return null;return $(b,b.length,A,0,this.config.onParam)}}add(v,b,A,{ignoreError:Q=!1,ignoreHistory:O=!1,lazy:V=this.config.lazy}={}){if(V)return this.find=this.lazyFind,this.deferred.push([v,b,A]),A;if(typeof b!=="string")throw TypeError("Route path must be a string");if(b==="")b="/";else if(b[0]!=="/")b=`/${b}`;let X=b[b.length-1]==="*",J=b.match(_.regex.optionalParams);if(J){let F=b.replaceAll("?","");this.add(v,F,A,{ignoreError:Q,ignoreHistory:O,lazy:V});for(let B=0;B<J.length;B++){let D=b.replace(J[B],"");this.add(v,D,A,{ignoreError:!0,ignoreHistory:O,lazy:V})}return A}if(J)b=b.replaceAll("?","");if(this.history.find(([F,B,D])=>F===v&&B===b))return A;if(X||J&&b.charCodeAt(b.length-1)===63)b=b.slice(0,-1);if(!O)this.history.push([v,b,A]);let K=b.split(_.regex.static),G=b.match(_.regex.params)||[];if(K[K.length-1]==="")K.pop();let q;if(!this.root[v])q=this.root[v]=Y("/");else q=this.root[v];let U=0;for(let F=0;F<K.length;++F){let B=K[F];if(F>0){let D=G[U++].slice(1);if(q.params===null)q.params=T(D);else if(q.params.name!==D)if(Q)return A;else throw Error(`Cannot create route "${b}" with parameter "${D}" because a route already exists with a different parameter name ("${q.params.name}") in the same location`);let S=q.params;if(S.inert===null){q=S.inert=Y(B);continue}q=S.inert}for(let D=0;;){if(D===B.length){if(D<q.part.length){let S=k(q,q.part.slice(D));Object.assign(q,Y(B,[S]))}break}if(D===q.part.length){if(q.inert===null)q.inert={};let S=q.inert[B.charCodeAt(D)];if(S){q=S,B=B.slice(D),D=0;continue}let Z=Y(B.slice(D));q.inert[B.charCodeAt(D)]=Z,q=Z;break}if(B[D]!==q.part[D]){let S=k(q,q.part.slice(D)),Z=Y(B.slice(D));Object.assign(q,Y(q.part.slice(0,D),[S,Z])),q=Z;break}++D}}if(U<G.length){let B=G[U].slice(1);if(q.params===null)q.params=T(B);else if(q.params.name!==B)if(Q)return A;else throw Error(`Cannot create route "${b}" with parameter "${B}" because a route already exists with a different parameter name ("${q.params.name}") in the same location`);if(q.params.store===null)q.params.store=A;return q.params.store}if(X){if(q.wildcardStore===null)q.wildcardStore=A;return q.wildcardStore}if(q.store===null)q.store=A;return q.store}find(v,b){let A=this.root[v];if(!A)return null;return $(b,b.length,A,0,this.config.onParam)}}var $=(v,b,A,Q,O)=>{let V=A.part,X=V.length,J=Q+X;if(X>1){if(J>b)return null;if(X<15){for(let K=1,G=Q+1;K<X;++K,++G)if(V.charCodeAt(K)!==v.charCodeAt(G))return null}else if(v.slice(Q,J)!==V)return null}if(J===b){if(A.store!==null)return{store:A.store,params:{}};if(A.wildcardStore!==null)return{store:A.wildcardStore,params:{"*":""}};return null}if(A.inert!==null){let K=A.inert[v.charCodeAt(J)];if(K!==void 0){let G=$(v,b,K,J,O);if(G!==null)return G}}if(A.params!==null){let{store:K,name:G,inert:q}=A.params,U=v.indexOf("/",J);if(U!==J){if(U===-1||U>=b){if(K!==null){let F={};if(F[G]=v.substring(J,b),O)for(let B=0;B<O.length;B++){let D=O[B](F[G],G);if(D!==void 0)F[G]=D}return{store:K,params:F}}}else if(q!==null){let F=$(v,b,q,U,O);if(F!==null){if(F.params[G]=v.substring(J,U),O)for(let B=0;B<O.length;B++){let D=O[B](F.params[G],G);if(D!==void 0)F.params[G]=D}return F}}}}if(A.wildcardStore!==null)return{store:A.wildcardStore,params:{"*":v.substring(J,b)}};return null};function IsAsyncIterator(value){return IsObject(value)&&!IsArray(value)&&!IsUint8Array(value)&&Symbol.asyncIterator in value}function IsArray(value){return Array.isArray(value)}function IsBigInt(value){return typeof value==="bigint"}function IsBoolean(value){return typeof value==="boolean"}function IsDate(value){return value instanceof globalThis.Date}function IsFunction(value){return typeof value==="function"}function IsIterator(value){return IsObject(value)&&!IsArray(value)&&!IsUint8Array(value)&&Symbol.iterator in value}function IsNull(value){return value===null}function IsNumber(value){return typeof value==="number"}function IsObject(value){return typeof value==="object"&&value!==null}function IsRegExp(value){return value instanceof globalThis.RegExp}function IsString(value){return typeof value==="string"}function IsSymbol(value){return typeof value==="symbol"}function IsUint8Array(value){return value instanceof globalThis.Uint8Array}function IsUndefined(value){return value===void 0}function ArrayType(value){return value.map((value)=>Visit(value))}function DateType(value){return new Date(value.getTime())}function Uint8ArrayType(value){return new Uint8Array(value)}function RegExpType(value){return new RegExp(value.source,value.flags)}function ObjectType(value){let result={};for(let key of Object.getOwnPropertyNames(value))result[key]=Visit(value[key]);for(let key of Object.getOwnPropertySymbols(value))result[key]=Visit(value[key]);return result}function Visit(value){return IsArray(value)?ArrayType(value):IsDate(value)?DateType(value):IsUint8Array(value)?Uint8ArrayType(value):IsRegExp(value)?RegExpType(value):IsObject(value)?ObjectType(value):value}function Clone(value){return Visit(value)}function CloneType(schema,options){return options===void 0?Clone(schema):Clone({...options,...schema})}function IsAsyncIterator2(value){return IsObject2(value)&&globalThis.Symbol.asyncIterator in value}function IsIterator2(value){return IsObject2(value)&&globalThis.Symbol.iterator in value}function IsPromise(value){return value instanceof globalThis.Promise}function IsDate2(value){return value instanceof Date&&globalThis.Number.isFinite(value.getTime())}function IsMap(value){return value instanceof globalThis.Map}function IsSet(value){return value instanceof globalThis.Set}function IsTypedArray(value){return globalThis.ArrayBuffer.isView(value)}function IsUint8Array2(value){return value instanceof globalThis.Uint8Array}function HasPropertyKey(value,key){return key in value}function IsObject2(value){return value!==null&&typeof value==="object"}function IsArray2(value){return globalThis.Array.isArray(value)&&!globalThis.ArrayBuffer.isView(value)}function IsUndefined2(value){return value===void 0}function IsNull2(value){return value===null}function IsBoolean2(value){return typeof value==="boolean"}function IsNumber2(value){return typeof value==="number"}function IsInteger(value){return globalThis.Number.isInteger(value)}function IsBigInt2(value){return typeof value==="bigint"}function IsString2(value){return typeof value==="string"}function IsFunction2(value){return typeof value==="function"}function IsSymbol2(value){return typeof value==="symbol"}function IsValueType(value){return IsBigInt2(value)||IsBoolean2(value)||IsNull2(value)||IsNumber2(value)||IsString2(value)||IsSymbol2(value)||IsUndefined2(value)}var TypeSystemPolicy;(function(TypeSystemPolicy){TypeSystemPolicy.InstanceMode="default",TypeSystemPolicy.ExactOptionalPropertyTypes=!1,TypeSystemPolicy.AllowArrayObject=!1,TypeSystemPolicy.AllowNaN=!1,TypeSystemPolicy.AllowNullVoid=!1;function IsExactOptionalProperty(value,key){return TypeSystemPolicy.ExactOptionalPropertyTypes?key in value:value[key]!==void 0}TypeSystemPolicy.IsExactOptionalProperty=IsExactOptionalProperty;function IsObjectLike(value){let isObject=IsObject2(value);return TypeSystemPolicy.AllowArrayObject?isObject:isObject&&!IsArray2(value)}TypeSystemPolicy.IsObjectLike=IsObjectLike;function IsRecordLike(value){return IsObjectLike(value)&&!(value instanceof Date)&&!(value instanceof Uint8Array)}TypeSystemPolicy.IsRecordLike=IsRecordLike;function IsNumberLike(value){return TypeSystemPolicy.AllowNaN?IsNumber2(value):Number.isFinite(value)}TypeSystemPolicy.IsNumberLike=IsNumberLike;function IsVoidLike(value){let isUndefined=IsUndefined2(value);return TypeSystemPolicy.AllowNullVoid?isUndefined||value===null:isUndefined}TypeSystemPolicy.IsVoidLike=IsVoidLike})(TypeSystemPolicy||(TypeSystemPolicy={}));function ImmutableArray(value){return globalThis.Object.freeze(value).map((value)=>Immutable(value))}function ImmutableDate(value){return value}function ImmutableUint8Array(value){return value}function ImmutableRegExp(value){return value}function ImmutableObject(value){let result={};for(let key of Object.getOwnPropertyNames(value))result[key]=Immutable(value[key]);for(let key of Object.getOwnPropertySymbols(value))result[key]=Immutable(value[key]);return globalThis.Object.freeze(result)}function Immutable(value){return IsArray(value)?ImmutableArray(value):IsDate(value)?ImmutableDate(value):IsUint8Array(value)?ImmutableUint8Array(value):IsRegExp(value)?ImmutableRegExp(value):IsObject(value)?ImmutableObject(value):value}function CreateType(schema,options){let result=options!==void 0?{...options,...schema}:schema;switch(TypeSystemPolicy.InstanceMode){case"freeze":return Immutable(result);case"clone":return Clone(result);default:return result}}class TypeBoxError extends Error{constructor(message){super(message)}}var TransformKind=Symbol.for("TypeBox.Transform"),ReadonlyKind=Symbol.for("TypeBox.Readonly"),OptionalKind=Symbol.for("TypeBox.Optional"),Hint=Symbol.for("TypeBox.Hint"),Kind=Symbol.for("TypeBox.Kind");function IsReadonly(value){return IsObject(value)&&value[ReadonlyKind]==="Readonly"}function IsOptional(value){return IsObject(value)&&value[OptionalKind]==="Optional"}function IsAny(value){return IsKindOf(value,"Any")}function IsArgument(value){return IsKindOf(value,"Argument")}function IsArray3(value){return IsKindOf(value,"Array")}function IsAsyncIterator3(value){return IsKindOf(value,"AsyncIterator")}function IsBigInt3(value){return IsKindOf(value,"BigInt")}function IsBoolean3(value){return IsKindOf(value,"Boolean")}function IsComputed(value){return IsKindOf(value,"Computed")}function IsConstructor(value){return IsKindOf(value,"Constructor")}function IsDate3(value){return IsKindOf(value,"Date")}function IsFunction3(value){return IsKindOf(value,"Function")}function IsInteger2(value){return IsKindOf(value,"Integer")}function IsIntersect(value){return IsKindOf(value,"Intersect")}function IsIterator3(value){return IsKindOf(value,"Iterator")}function IsKindOf(value,kind){return IsObject(value)&&Kind in value&&value[Kind]===kind}function IsLiteralValue(value){return IsBoolean(value)||IsNumber(value)||IsString(value)}function IsLiteral(value){return IsKindOf(value,"Literal")}function IsMappedKey(value){return IsKindOf(value,"MappedKey")}function IsMappedResult(value){return IsKindOf(value,"MappedResult")}function IsNever(value){return IsKindOf(value,"Never")}function IsNot(value){return IsKindOf(value,"Not")}function IsNull3(value){return IsKindOf(value,"Null")}function IsNumber3(value){return IsKindOf(value,"Number")}function IsObject3(value){return IsKindOf(value,"Object")}function IsPromise2(value){return IsKindOf(value,"Promise")}function IsRecord(value){return IsKindOf(value,"Record")}function IsRef(value){return IsKindOf(value,"Ref")}function IsRegExp2(value){return IsKindOf(value,"RegExp")}function IsString3(value){return IsKindOf(value,"String")}function IsSymbol3(value){return IsKindOf(value,"Symbol")}function IsTemplateLiteral(value){return IsKindOf(value,"TemplateLiteral")}function IsThis(value){return IsKindOf(value,"This")}function IsTransform(value){return IsObject(value)&&TransformKind in value}function IsTuple(value){return IsKindOf(value,"Tuple")}function IsUndefined3(value){return IsKindOf(value,"Undefined")}function IsUnion(value){return IsKindOf(value,"Union")}function IsUint8Array3(value){return IsKindOf(value,"Uint8Array")}function IsUnknown(value){return IsKindOf(value,"Unknown")}function IsUnsafe(value){return IsKindOf(value,"Unsafe")}function IsVoid(value){return IsKindOf(value,"Void")}function IsKind(value){return IsObject(value)&&Kind in value&&IsString(value[Kind])}function IsSchema(value){return IsAny(value)||IsArgument(value)||IsArray3(value)||IsBoolean3(value)||IsBigInt3(value)||IsAsyncIterator3(value)||IsComputed(value)||IsConstructor(value)||IsDate3(value)||IsFunction3(value)||IsInteger2(value)||IsIntersect(value)||IsIterator3(value)||IsLiteral(value)||IsMappedKey(value)||IsMappedResult(value)||IsNever(value)||IsNot(value)||IsNull3(value)||IsNumber3(value)||IsObject3(value)||IsPromise2(value)||IsRecord(value)||IsRef(value)||IsRegExp2(value)||IsString3(value)||IsSymbol3(value)||IsTemplateLiteral(value)||IsThis(value)||IsTuple(value)||IsUndefined3(value)||IsUnion(value)||IsUint8Array3(value)||IsUnknown(value)||IsUnsafe(value)||IsVoid(value)||IsKind(value)}var KnownTypes=["Argument","Any","Array","AsyncIterator","BigInt","Boolean","Computed","Constructor","Date","Enum","Function","Integer","Intersect","Iterator","Literal","MappedKey","MappedResult","Not","Null","Number","Object","Promise","Record","Ref","RegExp","String","Symbol","TemplateLiteral","This","Tuple","Undefined","Union","Uint8Array","Unknown","Void"];function IsPattern(value){try{return new RegExp(value),!0}catch{return!1}}function IsControlCharacterFree(value){if(!IsString(value))return!1;for(let i=0;i<value.length;i++){let code=value.charCodeAt(i);if(code>=7&&code<=13||code===27||code===127)return!1}return!0}function IsAdditionalProperties(value){return IsOptionalBoolean(value)||IsSchema2(value)}function IsOptionalBigInt(value){return IsUndefined(value)||IsBigInt(value)}function IsOptionalNumber(value){return IsUndefined(value)||IsNumber(value)}function IsOptionalBoolean(value){return IsUndefined(value)||IsBoolean(value)}function IsOptionalString(value){return IsUndefined(value)||IsString(value)}function IsOptionalPattern(value){return IsUndefined(value)||IsString(value)&&IsControlCharacterFree(value)&&IsPattern(value)}function IsOptionalFormat(value){return IsUndefined(value)||IsString(value)&&IsControlCharacterFree(value)}function IsOptionalSchema(value){return IsUndefined(value)||IsSchema2(value)}function IsOptional2(value){return IsObject(value)&&value[OptionalKind]==="Optional"}function IsAny2(value){return IsKindOf2(value,"Any")&&IsOptionalString(value.$id)}function IsArgument2(value){return IsKindOf2(value,"Argument")&&IsNumber(value.index)}function IsArray4(value){return IsKindOf2(value,"Array")&&value.type==="array"&&IsOptionalString(value.$id)&&IsSchema2(value.items)&&IsOptionalNumber(value.minItems)&&IsOptionalNumber(value.maxItems)&&IsOptionalBoolean(value.uniqueItems)&&IsOptionalSchema(value.contains)&&IsOptionalNumber(value.minContains)&&IsOptionalNumber(value.maxContains)}function IsAsyncIterator4(value){return IsKindOf2(value,"AsyncIterator")&&value.type==="AsyncIterator"&&IsOptionalString(value.$id)&&IsSchema2(value.items)}function IsBigInt4(value){return IsKindOf2(value,"BigInt")&&value.type==="bigint"&&IsOptionalString(value.$id)&&IsOptionalBigInt(value.exclusiveMaximum)&&IsOptionalBigInt(value.exclusiveMinimum)&&IsOptionalBigInt(value.maximum)&&IsOptionalBigInt(value.minimum)&&IsOptionalBigInt(value.multipleOf)}function IsBoolean4(value){return IsKindOf2(value,"Boolean")&&value.type==="boolean"&&IsOptionalString(value.$id)}function IsComputed2(value){return IsKindOf2(value,"Computed")&&IsString(value.target)&&IsArray(value.parameters)&&value.parameters.every((schema)=>IsSchema2(schema))}function IsConstructor2(value){return IsKindOf2(value,"Constructor")&&value.type==="Constructor"&&IsOptionalString(value.$id)&&IsArray(value.parameters)&&value.parameters.every((schema)=>IsSchema2(schema))&&IsSchema2(value.returns)}function IsDate4(value){return IsKindOf2(value,"Date")&&value.type==="Date"&&IsOptionalString(value.$id)&&IsOptionalNumber(value.exclusiveMaximumTimestamp)&&IsOptionalNumber(value.exclusiveMinimumTimestamp)&&IsOptionalNumber(value.maximumTimestamp)&&IsOptionalNumber(value.minimumTimestamp)&&IsOptionalNumber(value.multipleOfTimestamp)}function IsFunction4(value){return IsKindOf2(value,"Function")&&value.type==="Function"&&IsOptionalString(value.$id)&&IsArray(value.parameters)&&value.parameters.every((schema)=>IsSchema2(schema))&&IsSchema2(value.returns)}function IsInteger3(value){return IsKindOf2(value,"Integer")&&value.type==="integer"&&IsOptionalString(value.$id)&&IsOptionalNumber(value.exclusiveMaximum)&&IsOptionalNumber(value.exclusiveMinimum)&&IsOptionalNumber(value.maximum)&&IsOptionalNumber(value.minimum)&&IsOptionalNumber(value.multipleOf)}function IsProperties(value){return IsObject(value)&&Object.entries(value).every(([key,schema])=>IsControlCharacterFree(key)&&IsSchema2(schema))}function IsIntersect2(value){return IsKindOf2(value,"Intersect")&&(IsString(value.type)&&value.type!=="object"?!1:!0)&&IsArray(value.allOf)&&value.allOf.every((schema)=>IsSchema2(schema)&&!IsTransform2(schema))&&IsOptionalString(value.type)&&(IsOptionalBoolean(value.unevaluatedProperties)||IsOptionalSchema(value.unevaluatedProperties))&&IsOptionalString(value.$id)}function IsIterator4(value){return IsKindOf2(value,"Iterator")&&value.type==="Iterator"&&IsOptionalString(value.$id)&&IsSchema2(value.items)}function IsKindOf2(value,kind){return IsObject(value)&&Kind in value&&value[Kind]===kind}function IsLiteralString(value){return IsLiteral2(value)&&IsString(value.const)}function IsLiteralNumber(value){return IsLiteral2(value)&&IsNumber(value.const)}function IsLiteralBoolean(value){return IsLiteral2(value)&&IsBoolean(value.const)}function IsLiteral2(value){return IsKindOf2(value,"Literal")&&IsOptionalString(value.$id)&&IsLiteralValue2(value.const)}function IsLiteralValue2(value){return IsBoolean(value)||IsNumber(value)||IsString(value)}function IsMappedKey2(value){return IsKindOf2(value,"MappedKey")&&IsArray(value.keys)&&value.keys.every((key)=>IsNumber(key)||IsString(key))}function IsMappedResult2(value){return IsKindOf2(value,"MappedResult")&&IsProperties(value.properties)}function IsNever2(value){return IsKindOf2(value,"Never")&&IsObject(value.not)&&Object.getOwnPropertyNames(value.not).length===0}function IsNot2(value){return IsKindOf2(value,"Not")&&IsSchema2(value.not)}function IsNull4(value){return IsKindOf2(value,"Null")&&value.type==="null"&&IsOptionalString(value.$id)}function IsNumber4(value){return IsKindOf2(value,"Number")&&value.type==="number"&&IsOptionalString(value.$id)&&IsOptionalNumber(value.exclusiveMaximum)&&IsOptionalNumber(value.exclusiveMinimum)&&IsOptionalNumber(value.maximum)&&IsOptionalNumber(value.minimum)&&IsOptionalNumber(value.multipleOf)}function IsObject4(value){return IsKindOf2(value,"Object")&&value.type==="object"&&IsOptionalString(value.$id)&&IsProperties(value.properties)&&IsAdditionalProperties(value.additionalProperties)&&IsOptionalNumber(value.minProperties)&&IsOptionalNumber(value.maxProperties)}function IsPromise3(value){return IsKindOf2(value,"Promise")&&value.type==="Promise"&&IsOptionalString(value.$id)&&IsSchema2(value.item)}function IsRecord2(value){return IsKindOf2(value,"Record")&&value.type==="object"&&IsOptionalString(value.$id)&&IsAdditionalProperties(value.additionalProperties)&&IsObject(value.patternProperties)&&((schema)=>{let keys=Object.getOwnPropertyNames(schema.patternProperties);return keys.length===1&&IsPattern(keys[0])&&IsObject(schema.patternProperties)&&IsSchema2(schema.patternProperties[keys[0]])})(value)}function IsRef2(value){return IsKindOf2(value,"Ref")&&IsOptionalString(value.$id)&&IsString(value.$ref)}function IsRegExp3(value){return IsKindOf2(value,"RegExp")&&IsOptionalString(value.$id)&&IsString(value.source)&&IsString(value.flags)&&IsOptionalNumber(value.maxLength)&&IsOptionalNumber(value.minLength)}function IsString4(value){return IsKindOf2(value,"String")&&value.type==="string"&&IsOptionalString(value.$id)&&IsOptionalNumber(value.minLength)&&IsOptionalNumber(value.maxLength)&&IsOptionalPattern(value.pattern)&&IsOptionalFormat(value.format)}function IsSymbol4(value){return IsKindOf2(value,"Symbol")&&value.type==="symbol"&&IsOptionalString(value.$id)}function IsTemplateLiteral2(value){return IsKindOf2(value,"TemplateLiteral")&&value.type==="string"&&IsString(value.pattern)&&value.pattern[0]==="^"&&value.pattern[value.pattern.length-1]==="$"}function IsThis2(value){return IsKindOf2(value,"This")&&IsOptionalString(value.$id)&&IsString(value.$ref)}function IsTransform2(value){return IsObject(value)&&TransformKind in value}function IsTuple2(value){return IsKindOf2(value,"Tuple")&&value.type==="array"&&IsOptionalString(value.$id)&&IsNumber(value.minItems)&&IsNumber(value.maxItems)&&value.minItems===value.maxItems&&(IsUndefined(value.items)&&IsUndefined(value.additionalItems)&&value.minItems===0||IsArray(value.items)&&value.items.every((schema)=>IsSchema2(schema)))}function IsUndefined4(value){return IsKindOf2(value,"Undefined")&&value.type==="undefined"&&IsOptionalString(value.$id)}function IsUnion2(value){return IsKindOf2(value,"Union")&&IsOptionalString(value.$id)&&IsObject(value)&&IsArray(value.anyOf)&&value.anyOf.every((schema)=>IsSchema2(schema))}function IsUint8Array4(value){return IsKindOf2(value,"Uint8Array")&&value.type==="Uint8Array"&&IsOptionalString(value.$id)&&IsOptionalNumber(value.minByteLength)&&IsOptionalNumber(value.maxByteLength)}function IsUnknown2(value){return IsKindOf2(value,"Unknown")&&IsOptionalString(value.$id)}function IsUnsafe2(value){return IsKindOf2(value,"Unsafe")}function IsVoid2(value){return IsKindOf2(value,"Void")&&value.type==="void"&&IsOptionalString(value.$id)}function IsKind2(value){return IsObject(value)&&Kind in value&&IsString(value[Kind])&&!KnownTypes.includes(value[Kind])}function IsSchema2(value){return IsObject(value)&&(IsAny2(value)||IsArgument2(value)||IsArray4(value)||IsBoolean4(value)||IsBigInt4(value)||IsAsyncIterator4(value)||IsComputed2(value)||IsConstructor2(value)||IsDate4(value)||IsFunction4(value)||IsInteger3(value)||IsIntersect2(value)||IsIterator4(value)||IsLiteral2(value)||IsMappedKey2(value)||IsMappedResult2(value)||IsNever2(value)||IsNot2(value)||IsNull4(value)||IsNumber4(value)||IsObject4(value)||IsPromise3(value)||IsRecord2(value)||IsRef2(value)||IsRegExp3(value)||IsString4(value)||IsSymbol4(value)||IsTemplateLiteral2(value)||IsThis2(value)||IsTuple2(value)||IsUndefined4(value)||IsUnion2(value)||IsUint8Array4(value)||IsUnknown2(value)||IsUnsafe2(value)||IsVoid2(value)||IsKind2(value))}var PatternBoolean="(true|false)",PatternNumber="(0|[1-9][0-9]*)",PatternString="(.*)";var PatternNumberExact="^(0|[1-9][0-9]*)$",PatternStringExact="^(.*)$",PatternNeverExact="^(?!.*)$";var map=new Map;function Has(format){return map.has(format)}function Set2(format,func){map.set(format,func)}function Get(format){return map.get(format)}var map2=new Map;function Has2(kind){return map2.has(kind)}function Set3(kind,func){map2.set(kind,func)}function Get2(kind){return map2.get(kind)}function SetIncludes(T,S){return T.includes(S)}function SetDistinct(T){return[...new Set(T)]}function SetIntersect(T,S){return T.filter((L)=>S.includes(L))}function SetIntersectManyResolve(T,Init){return T.reduce((Acc,L)=>SetIntersect(Acc,L),Init)}function SetIntersectMany(T){return T.length===1?T[0]:T.length>1?SetIntersectManyResolve(T.slice(1),T[0]):[]}function SetUnionMany(T){let Acc=[];for(let L of T)Acc.push(...L);return Acc}function Any(options){return CreateType({[Kind]:"Any"},options)}function Array2(items,options){return CreateType({[Kind]:"Array",type:"array",items},options)}function Argument(index){return CreateType({[Kind]:"Argument",index})}function AsyncIterator(items,options){return CreateType({[Kind]:"AsyncIterator",type:"AsyncIterator",items},options)}function Computed(target,parameters,options){return CreateType({[Kind]:"Computed",target,parameters},options)}function DiscardKey(value,key){let{[key]:_,...rest}=value;return rest}function Discard(value,keys){return keys.reduce((acc,key)=>DiscardKey(acc,key),value)}function Never(options){return CreateType({[Kind]:"Never",not:{}},options)}function MappedResult(properties){return CreateType({[Kind]:"MappedResult",properties})}function Constructor(parameters,returns,options){return CreateType({[Kind]:"Constructor",type:"Constructor",parameters,returns},options)}function Function2(parameters,returns,options){return CreateType({[Kind]:"Function",type:"Function",parameters,returns},options)}function UnionCreate(T,options){return CreateType({[Kind]:"Union",anyOf:T},options)}function IsUnionOptional(types){return types.some((type)=>IsOptional(type))}function RemoveOptionalFromRest(types){return types.map((left)=>IsOptional(left)?RemoveOptionalFromType(left):left)}function RemoveOptionalFromType(T){return Discard(T,[OptionalKind])}function ResolveUnion(types,options){return IsUnionOptional(types)?Optional(UnionCreate(RemoveOptionalFromRest(types),options)):UnionCreate(RemoveOptionalFromRest(types),options)}function UnionEvaluated(T,options){return T.length===1?CreateType(T[0],options):T.length===0?Never(options):ResolveUnion(T,options)}function Union(types,options){return types.length===0?Never(options):types.length===1?CreateType(types[0],options):UnionCreate(types,options)}class TemplateLiteralParserError extends TypeBoxError{}function Unescape(pattern){return pattern.replace(/\\\$/g,"$").replace(/\\\*/g,"*").replace(/\\\^/g,"^").replace(/\\\|/g,"|").replace(/\\\(/g,"(").replace(/\\\)/g,")")}function IsNonEscaped(pattern,index,char){return pattern[index]===char&&pattern.charCodeAt(index-1)!==92}function IsOpenParen(pattern,index){return IsNonEscaped(pattern,index,"(")}function IsCloseParen(pattern,index){return IsNonEscaped(pattern,index,")")}function IsSeparator(pattern,index){return IsNonEscaped(pattern,index,"|")}function IsGroup(pattern){if(!(IsOpenParen(pattern,0)&&IsCloseParen(pattern,pattern.length-1)))return!1;let count=0;for(let index=0;index<pattern.length;index++){if(IsOpenParen(pattern,index))count+=1;if(IsCloseParen(pattern,index))count-=1;if(count===0&&index!==pattern.length-1)return!1}return!0}function InGroup(pattern){return pattern.slice(1,pattern.length-1)}function IsPrecedenceOr(pattern){let count=0;for(let index=0;index<pattern.length;index++){if(IsOpenParen(pattern,index))count+=1;if(IsCloseParen(pattern,index))count-=1;if(IsSeparator(pattern,index)&&count===0)return!0}return!1}function IsPrecedenceAnd(pattern){for(let index=0;index<pattern.length;index++)if(IsOpenParen(pattern,index))return!0;return!1}function Or(pattern){let[count,start]=[0,0],expressions=[];for(let index=0;index<pattern.length;index++){if(IsOpenParen(pattern,index))count+=1;if(IsCloseParen(pattern,index))count-=1;if(IsSeparator(pattern,index)&&count===0){let range=pattern.slice(start,index);if(range.length>0)expressions.push(TemplateLiteralParse(range));start=index+1}}let range=pattern.slice(start);if(range.length>0)expressions.push(TemplateLiteralParse(range));if(expressions.length===0)return{type:"const",const:""};if(expressions.length===1)return expressions[0];return{type:"or",expr:expressions}}function And(pattern){function Group(value,index){if(!IsOpenParen(value,index))throw new TemplateLiteralParserError("TemplateLiteralParser: Index must point to open parens");let count=0;for(let scan=index;scan<value.length;scan++){if(IsOpenParen(value,scan))count+=1;if(IsCloseParen(value,scan))count-=1;if(count===0)return[index,scan]}throw new TemplateLiteralParserError("TemplateLiteralParser: Unclosed group parens in expression")}function Range(pattern,index){for(let scan=index;scan<pattern.length;scan++)if(IsOpenParen(pattern,scan))return[index,scan];return[index,pattern.length]}let expressions=[];for(let index=0;index<pattern.length;index++)if(IsOpenParen(pattern,index)){let[start,end]=Group(pattern,index),range=pattern.slice(start,end+1);expressions.push(TemplateLiteralParse(range)),index=end}else{let[start,end]=Range(pattern,index),range=pattern.slice(start,end);if(range.length>0)expressions.push(TemplateLiteralParse(range));index=end-1}return expressions.length===0?{type:"const",const:""}:expressions.length===1?expressions[0]:{type:"and",expr:expressions}}function TemplateLiteralParse(pattern){return IsGroup(pattern)?TemplateLiteralParse(InGroup(pattern)):IsPrecedenceOr(pattern)?Or(pattern):IsPrecedenceAnd(pattern)?And(pattern):{type:"const",const:Unescape(pattern)}}function TemplateLiteralParseExact(pattern){return TemplateLiteralParse(pattern.slice(1,pattern.length-1))}class TemplateLiteralFiniteError extends TypeBoxError{}function IsNumberExpression(expression){return expression.type==="or"&&expression.expr.length===2&&expression.expr[0].type==="const"&&expression.expr[0].const==="0"&&expression.expr[1].type==="const"&&expression.expr[1].const==="[1-9][0-9]*"}function IsBooleanExpression(expression){return expression.type==="or"&&expression.expr.length===2&&expression.expr[0].type==="const"&&expression.expr[0].const==="true"&&expression.expr[1].type==="const"&&expression.expr[1].const==="false"}function IsStringExpression(expression){return expression.type==="const"&&expression.const===".*"}function IsTemplateLiteralExpressionFinite(expression){return IsNumberExpression(expression)||IsStringExpression(expression)?!1:IsBooleanExpression(expression)?!0:expression.type==="and"?expression.expr.every((expr)=>IsTemplateLiteralExpressionFinite(expr)):expression.type==="or"?expression.expr.every((expr)=>IsTemplateLiteralExpressionFinite(expr)):expression.type==="const"?!0:(()=>{throw new TemplateLiteralFiniteError("Unknown expression type")})()}function IsTemplateLiteralFinite(schema){let expression=TemplateLiteralParseExact(schema.pattern);return IsTemplateLiteralExpressionFinite(expression)}class TemplateLiteralGenerateError extends TypeBoxError{}function*GenerateReduce(buffer){if(buffer.length===1)return yield*buffer[0];for(let left of buffer[0])for(let right of GenerateReduce(buffer.slice(1)))yield`${left}${right}`}function*GenerateAnd(expression){return yield*GenerateReduce(expression.expr.map((expr)=>[...TemplateLiteralExpressionGenerate(expr)]))}function*GenerateOr(expression){for(let expr of expression.expr)yield*TemplateLiteralExpressionGenerate(expr)}function*GenerateConst(expression){return yield expression.const}function*TemplateLiteralExpressionGenerate(expression){return expression.type==="and"?yield*GenerateAnd(expression):expression.type==="or"?yield*GenerateOr(expression):expression.type==="const"?yield*GenerateConst(expression):(()=>{throw new TemplateLiteralGenerateError("Unknown expression")})()}function TemplateLiteralGenerate(schema){let expression=TemplateLiteralParseExact(schema.pattern);return IsTemplateLiteralExpressionFinite(expression)?[...TemplateLiteralExpressionGenerate(expression)]:[]}function Literal(value,options){return CreateType({[Kind]:"Literal",const:value,type:typeof value},options)}function Boolean2(options){return CreateType({[Kind]:"Boolean",type:"boolean"},options)}function BigInt2(options){return CreateType({[Kind]:"BigInt",type:"bigint"},options)}function Number2(options){return CreateType({[Kind]:"Number",type:"number"},options)}function String2(options){return CreateType({[Kind]:"String",type:"string"},options)}function*FromUnion(syntax){let trim=syntax.trim().replace(/"|'/g,"");return trim==="boolean"?yield Boolean2():trim==="number"?yield Number2():trim==="bigint"?yield BigInt2():trim==="string"?yield String2():yield(()=>{let literals=trim.split("|").map((literal)=>Literal(literal.trim()));return literals.length===0?Never():literals.length===1?literals[0]:UnionEvaluated(literals)})()}function*FromTerminal(syntax){if(syntax[1]!=="{"){let L=Literal("$"),R=FromSyntax(syntax.slice(1));return yield*[L,...R]}for(let i=2;i<syntax.length;i++)if(syntax[i]==="}"){let L=FromUnion(syntax.slice(2,i)),R=FromSyntax(syntax.slice(i+1));return yield*[...L,...R]}yield Literal(syntax)}function*FromSyntax(syntax){for(let i=0;i<syntax.length;i++)if(syntax[i]==="$"){let L=Literal(syntax.slice(0,i)),R=FromTerminal(syntax.slice(i));return yield*[L,...R]}yield Literal(syntax)}function TemplateLiteralSyntax(syntax){return[...FromSyntax(syntax)]}class TemplateLiteralPatternError extends TypeBoxError{}function Escape(value){return value.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Visit2(schema,acc){return IsTemplateLiteral(schema)?schema.pattern.slice(1,schema.pattern.length-1):IsUnion(schema)?`(${schema.anyOf.map((schema)=>Visit2(schema,acc)).join("|")})`:IsNumber3(schema)?`${acc}${PatternNumber}`:IsInteger2(schema)?`${acc}${PatternNumber}`:IsBigInt3(schema)?`${acc}${PatternNumber}`:IsString3(schema)?`${acc}${PatternString}`:IsLiteral(schema)?`${acc}${Escape(schema.const.toString())}`:IsBoolean3(schema)?`${acc}${PatternBoolean}`:(()=>{throw new TemplateLiteralPatternError(`Unexpected Kind '${schema[Kind]}'`)})()}function TemplateLiteralPattern(kinds){return`^${kinds.map((schema)=>Visit2(schema,"")).join("")}$`}function TemplateLiteralToUnion(schema){let L=TemplateLiteralGenerate(schema).map((S)=>Literal(S));return UnionEvaluated(L)}function TemplateLiteral(unresolved,options){let pattern=IsString(unresolved)?TemplateLiteralPattern(TemplateLiteralSyntax(unresolved)):TemplateLiteralPattern(unresolved);return CreateType({[Kind]:"TemplateLiteral",type:"string",pattern},options)}function FromTemplateLiteral(templateLiteral){return TemplateLiteralGenerate(templateLiteral).map((key)=>key.toString())}function FromUnion2(types){let result=[];for(let type of types)result.push(...IndexPropertyKeys(type));return result}function FromLiteral(literalValue){return[literalValue.toString()]}function IndexPropertyKeys(type){return[...new Set(IsTemplateLiteral(type)?FromTemplateLiteral(type):IsUnion(type)?FromUnion2(type.anyOf):IsLiteral(type)?FromLiteral(type.const):IsNumber3(type)?["[number]"]:IsInteger2(type)?["[number]"]:[])]}function FromProperties(type,properties,options){let result={};for(let K2 of Object.getOwnPropertyNames(properties))result[K2]=Index(type,IndexPropertyKeys(properties[K2]),options);return result}function FromMappedResult(type,mappedResult,options){return FromProperties(type,mappedResult.properties,options)}function IndexFromMappedResult(type,mappedResult,options){let properties=FromMappedResult(type,mappedResult,options);return MappedResult(properties)}function FromRest(types,key){return types.map((type)=>IndexFromPropertyKey(type,key))}function FromIntersectRest(types){return types.filter((type)=>!IsNever(type))}function FromIntersect(types,key){return IntersectEvaluated(FromIntersectRest(FromRest(types,key)))}function FromUnionRest(types){return types.some((L)=>IsNever(L))?[]:types}function FromUnion3(types,key){return UnionEvaluated(FromUnionRest(FromRest(types,key)))}function FromTuple(types,key){return key in types?types[key]:key==="[number]"?UnionEvaluated(types):Never()}function FromArray(type,key){return key==="[number]"?type:Never()}function FromProperty(properties,propertyKey){return propertyKey in properties?properties[propertyKey]:Never()}function IndexFromPropertyKey(type,propertyKey){return IsIntersect(type)?FromIntersect(type.allOf,propertyKey):IsUnion(type)?FromUnion3(type.anyOf,propertyKey):IsTuple(type)?FromTuple(type.items??[],propertyKey):IsArray3(type)?FromArray(type.items,propertyKey):IsObject3(type)?FromProperty(type.properties,propertyKey):Never()}function IndexFromPropertyKeys(type,propertyKeys){return propertyKeys.map((propertyKey)=>IndexFromPropertyKey(type,propertyKey))}function FromSchema(type,propertyKeys){return UnionEvaluated(IndexFromPropertyKeys(type,propertyKeys))}function Index(type,key,options){if(IsRef(type)||IsRef(key)){if(!IsSchema(type)||!IsSchema(key))throw new TypeBoxError("Index types using Ref parameters require both Type and Key to be of TSchema");return Computed("Index",[type,key])}if(IsMappedResult(key))return IndexFromMappedResult(type,key,options);if(IsMappedKey(key))return IndexFromMappedKey(type,key,options);return CreateType(IsSchema(key)?FromSchema(type,IndexPropertyKeys(key)):FromSchema(type,key),options)}function MappedIndexPropertyKey(type,key,options){return{[key]:Index(type,[key],Clone(options))}}function MappedIndexPropertyKeys(type,propertyKeys,options){return propertyKeys.reduce((result,left)=>({...result,...MappedIndexPropertyKey(type,left,options)}),{})}function MappedIndexProperties(type,mappedKey,options){return MappedIndexPropertyKeys(type,mappedKey.keys,options)}function IndexFromMappedKey(type,mappedKey,options){let properties=MappedIndexProperties(type,mappedKey,options);return MappedResult(properties)}function Iterator(items,options){return CreateType({[Kind]:"Iterator",type:"Iterator",items},options)}function RequiredArray(properties){return globalThis.Object.keys(properties).filter((key)=>!IsOptional(properties[key]))}function _Object_(properties,options){let required=RequiredArray(properties),schema=required.length>0?{[Kind]:"Object",type:"object",required,properties}:{[Kind]:"Object",type:"object",properties};return CreateType(schema,options)}var Object2=_Object_;function Promise2(item,options){return CreateType({[Kind]:"Promise",type:"Promise",item},options)}function RemoveReadonly(schema){return CreateType(Discard(schema,[ReadonlyKind]))}function AddReadonly(schema){return CreateType({...schema,[ReadonlyKind]:"Readonly"})}function ReadonlyWithFlag(schema,F){return F===!1?RemoveReadonly(schema):AddReadonly(schema)}function Readonly(schema,enable){let F=enable??!0;return IsMappedResult(schema)?ReadonlyFromMappedResult(schema,F):ReadonlyWithFlag(schema,F)}function FromProperties2(K,F){let Acc={};for(let K2 of globalThis.Object.getOwnPropertyNames(K))Acc[K2]=Readonly(K[K2],F);return Acc}function FromMappedResult2(R,F){return FromProperties2(R.properties,F)}function ReadonlyFromMappedResult(R,F){let P=FromMappedResult2(R,F);return MappedResult(P)}function Tuple(types,options){return CreateType(types.length>0?{[Kind]:"Tuple",type:"array",items:types,additionalItems:!1,minItems:types.length,maxItems:types.length}:{[Kind]:"Tuple",type:"array",minItems:types.length,maxItems:types.length},options)}function FromMappedResult3(K,P){return K in P?FromSchemaType(K,P[K]):MappedResult(P)}function MappedKeyToKnownMappedResultProperties(K){return{[K]:Literal(K)}}function MappedKeyToUnknownMappedResultProperties(P){let Acc={};for(let L of P)Acc[L]=Literal(L);return Acc}function MappedKeyToMappedResultProperties(K,P){return SetIncludes(P,K)?MappedKeyToKnownMappedResultProperties(K):MappedKeyToUnknownMappedResultProperties(P)}function FromMappedKey(K,P){let R=MappedKeyToMappedResultProperties(K,P);return FromMappedResult3(K,R)}function FromRest2(K,T){return T.map((L)=>FromSchemaType(K,L))}function FromProperties3(K,T){let Acc={};for(let K2 of globalThis.Object.getOwnPropertyNames(T))Acc[K2]=FromSchemaType(K,T[K2]);return Acc}function FromSchemaType(K,T){let options={...T};return IsOptional(T)?Optional(FromSchemaType(K,Discard(T,[OptionalKind]))):IsReadonly(T)?Readonly(FromSchemaType(K,Discard(T,[ReadonlyKind]))):IsMappedResult(T)?FromMappedResult3(K,T.properties):IsMappedKey(T)?FromMappedKey(K,T.keys):IsConstructor(T)?Constructor(FromRest2(K,T.parameters),FromSchemaType(K,T.returns),options):IsFunction3(T)?Function2(FromRest2(K,T.parameters),FromSchemaType(K,T.returns),options):IsAsyncIterator3(T)?AsyncIterator(FromSchemaType(K,T.items),options):IsIterator3(T)?Iterator(FromSchemaType(K,T.items),options):IsIntersect(T)?Intersect(FromRest2(K,T.allOf),options):IsUnion(T)?Union(FromRest2(K,T.anyOf),options):IsTuple(T)?Tuple(FromRest2(K,T.items??[]),options):IsObject3(T)?Object2(FromProperties3(K,T.properties),options):IsArray3(T)?Array2(FromSchemaType(K,T.items),options):IsPromise2(T)?Promise2(FromSchemaType(K,T.item),options):T}function MappedFunctionReturnType(K,T){let Acc={};for(let L of K)Acc[L]=FromSchemaType(L,T);return Acc}function Mapped(key,map,options){let K=IsSchema(key)?IndexPropertyKeys(key):key,RT=map({[Kind]:"MappedKey",keys:K}),R=MappedFunctionReturnType(K,RT);return Object2(R,options)}function RemoveOptional(schema){return CreateType(Discard(schema,[OptionalKind]))}function AddOptional(schema){return CreateType({...schema,[OptionalKind]:"Optional"})}function OptionalWithFlag(schema,F){return F===!1?RemoveOptional(schema):AddOptional(schema)}function Optional(schema,enable){let F=enable??!0;return IsMappedResult(schema)?OptionalFromMappedResult(schema,F):OptionalWithFlag(schema,F)}function FromProperties4(P,F){let Acc={};for(let K2 of globalThis.Object.getOwnPropertyNames(P))Acc[K2]=Optional(P[K2],F);return Acc}function FromMappedResult4(R,F){return FromProperties4(R.properties,F)}function OptionalFromMappedResult(R,F){let P=FromMappedResult4(R,F);return MappedResult(P)}function IntersectCreate(T,options={}){let allObjects=T.every((schema)=>IsObject3(schema)),clonedUnevaluatedProperties=IsSchema(options.unevaluatedProperties)?{unevaluatedProperties:options.unevaluatedProperties}:{};return CreateType(options.unevaluatedProperties===!1||IsSchema(options.unevaluatedProperties)||allObjects?{...clonedUnevaluatedProperties,[Kind]:"Intersect",type:"object",allOf:T}:{...clonedUnevaluatedProperties,[Kind]:"Intersect",allOf:T},options)}function IsIntersectOptional(types){return types.every((left)=>IsOptional(left))}function RemoveOptionalFromType2(type){return Discard(type,[OptionalKind])}function RemoveOptionalFromRest2(types){return types.map((left)=>IsOptional(left)?RemoveOptionalFromType2(left):left)}function ResolveIntersect(types,options){return IsIntersectOptional(types)?Optional(IntersectCreate(RemoveOptionalFromRest2(types),options)):IntersectCreate(RemoveOptionalFromRest2(types),options)}function IntersectEvaluated(types,options={}){if(types.length===1)return CreateType(types[0],options);if(types.length===0)return Never(options);if(types.some((schema)=>IsTransform(schema)))throw Error("Cannot intersect transform types");return ResolveIntersect(types,options)}function Intersect(types,options){if(types.length===1)return CreateType(types[0],options);if(types.length===0)return Never(options);if(types.some((schema)=>IsTransform(schema)))throw Error("Cannot intersect transform types");return IntersectCreate(types,options)}function Ref(...args){let[$ref,options]=typeof args[0]==="string"?[args[0],args[1]]:[args[0].$id,args[1]];if(typeof $ref!=="string")throw new TypeBoxError("Ref: $ref must be a string");return CreateType({[Kind]:"Ref",$ref},options)}function FromComputed(target,parameters){return Computed("Awaited",[Computed(target,parameters)])}function FromRef($ref){return Computed("Awaited",[Ref($ref)])}function FromIntersect2(types){return Intersect(FromRest3(types))}function FromUnion4(types){return Union(FromRest3(types))}function FromPromise(type){return Awaited(type)}function FromRest3(types){return types.map((type)=>Awaited(type))}function Awaited(type,options){return CreateType(IsComputed(type)?FromComputed(type.target,type.parameters):IsIntersect(type)?FromIntersect2(type.allOf):IsUnion(type)?FromUnion4(type.anyOf):IsPromise2(type)?FromPromise(type.item):IsRef(type)?FromRef(type.$ref):type,options)}function FromRest4(types){let result=[];for(let L of types)result.push(KeyOfPropertyKeys(L));return result}function FromIntersect3(types){let propertyKeysArray=FromRest4(types);return SetUnionMany(propertyKeysArray)}function FromUnion5(types){let propertyKeysArray=FromRest4(types);return SetIntersectMany(propertyKeysArray)}function FromTuple2(types){return types.map((_,indexer)=>indexer.toString())}function FromArray2(_){return["[number]"]}function FromProperties5(T){return globalThis.Object.getOwnPropertyNames(T)}function FromPatternProperties(patternProperties){if(!includePatternProperties)return[];return globalThis.Object.getOwnPropertyNames(patternProperties).map((key)=>key[0]==="^"&&key[key.length-1]==="$"?key.slice(1,key.length-1):key)}function KeyOfPropertyKeys(type){return IsIntersect(type)?FromIntersect3(type.allOf):IsUnion(type)?FromUnion5(type.anyOf):IsTuple(type)?FromTuple2(type.items??[]):IsArray3(type)?FromArray2(type.items):IsObject3(type)?FromProperties5(type.properties):IsRecord(type)?FromPatternProperties(type.patternProperties):[]}var includePatternProperties=!1;function KeyOfPattern(schema){includePatternProperties=!0;let keys=KeyOfPropertyKeys(schema);return includePatternProperties=!1,`^(${keys.map((key)=>`(${key})`).join("|")})$`}function FromComputed2(target,parameters){return Computed("KeyOf",[Computed(target,parameters)])}function FromRef2($ref){return Computed("KeyOf",[Ref($ref)])}function KeyOfFromType(type,options){let propertyKeys=KeyOfPropertyKeys(type),propertyKeyTypes=KeyOfPropertyKeysToRest(propertyKeys),result=UnionEvaluated(propertyKeyTypes);return CreateType(result,options)}function KeyOfPropertyKeysToRest(propertyKeys){return propertyKeys.map((L)=>L==="[number]"?Number2():Literal(L))}function KeyOf(type,options){return IsComputed(type)?FromComputed2(type.target,type.parameters):IsRef(type)?FromRef2(type.$ref):IsMappedResult(type)?KeyOfFromMappedResult(type,options):KeyOfFromType(type,options)}function FromProperties6(properties,options){let result={};for(let K2 of globalThis.Object.getOwnPropertyNames(properties))result[K2]=KeyOf(properties[K2],Clone(options));return result}function FromMappedResult5(mappedResult,options){return FromProperties6(mappedResult.properties,options)}function KeyOfFromMappedResult(mappedResult,options){let properties=FromMappedResult5(mappedResult,options);return MappedResult(properties)}function KeyOfPropertyEntries(schema){let keys=KeyOfPropertyKeys(schema),schemas=IndexFromPropertyKeys(schema,keys);return keys.map((_,index)=>[keys[index],schemas[index]])}function CompositeKeys(T){let Acc=[];for(let L of T)Acc.push(...KeyOfPropertyKeys(L));return SetDistinct(Acc)}function FilterNever(T){return T.filter((L)=>!IsNever(L))}function CompositeProperty(T,K){let Acc=[];for(let L of T)Acc.push(...IndexFromPropertyKeys(L,[K]));return FilterNever(Acc)}function CompositeProperties(T,K){let Acc={};for(let L of K)Acc[L]=IntersectEvaluated(CompositeProperty(T,L));return Acc}function Composite(T,options){let K=CompositeKeys(T),P=CompositeProperties(T,K);return Object2(P,options)}function Date2(options){return CreateType({[Kind]:"Date",type:"Date"},options)}function Null(options){return CreateType({[Kind]:"Null",type:"null"},options)}function Symbol2(options){return CreateType({[Kind]:"Symbol",type:"symbol"},options)}function Undefined(options){return CreateType({[Kind]:"Undefined",type:"undefined"},options)}function Uint8Array2(options){return CreateType({[Kind]:"Uint8Array",type:"Uint8Array"},options)}function Unknown(options){return CreateType({[Kind]:"Unknown"},options)}function FromArray3(T){return T.map((L)=>FromValue(L,!1))}function FromProperties7(value){let Acc={};for(let K of globalThis.Object.getOwnPropertyNames(value))Acc[K]=Readonly(FromValue(value[K],!1));return Acc}function ConditionalReadonly(T,root){return root===!0?T:Readonly(T)}function FromValue(value,root){return IsAsyncIterator(value)?ConditionalReadonly(Any(),root):IsIterator(value)?ConditionalReadonly(Any(),root):IsArray(value)?Readonly(Tuple(FromArray3(value))):IsUint8Array(value)?Uint8Array2():IsDate(value)?Date2():IsObject(value)?ConditionalReadonly(Object2(FromProperties7(value)),root):IsFunction(value)?ConditionalReadonly(Function2([],Unknown()),root):IsUndefined(value)?Undefined():IsNull(value)?Null():IsSymbol(value)?Symbol2():IsBigInt(value)?BigInt2():IsNumber(value)?Literal(value):IsBoolean(value)?Literal(value):IsString(value)?Literal(value):Object2({})}function Const(T,options){return CreateType(FromValue(T,!0),options)}function ConstructorParameters(schema,options){return IsConstructor(schema)?Tuple(schema.parameters,options):Never(options)}function Enum(item,options){if(IsUndefined(item))throw Error("Enum undefined or empty");let values1=globalThis.Object.getOwnPropertyNames(item).filter((key)=>isNaN(key)).map((key)=>item[key]),anyOf=[...new Set(values1)].map((value)=>Literal(value));return Union(anyOf,{...options,[Hint]:"Enum"})}class ExtendsResolverError extends TypeBoxError{}var ExtendsResult;(function(ExtendsResult){ExtendsResult[ExtendsResult.Union=0]="Union",ExtendsResult[ExtendsResult.True=1]="True",ExtendsResult[ExtendsResult.False=2]="False"})(ExtendsResult||(ExtendsResult={}));function IntoBooleanResult(result){return result===ExtendsResult.False?result:ExtendsResult.True}function Throw(message){throw new ExtendsResolverError(message)}function IsStructuralRight(right){return IsNever2(right)||IsIntersect2(right)||IsUnion2(right)||IsUnknown2(right)||IsAny2(right)}function StructuralRight(left,right){return IsNever2(right)?FromNeverRight(left,right):IsIntersect2(right)?FromIntersectRight(left,right):IsUnion2(right)?FromUnionRight(left,right):IsUnknown2(right)?FromUnknownRight(left,right):IsAny2(right)?FromAnyRight(left,right):Throw("StructuralRight")}function FromAnyRight(left,right){return ExtendsResult.True}function FromAny(left,right){return IsIntersect2(right)?FromIntersectRight(left,right):IsUnion2(right)&&right.anyOf.some((schema)=>IsAny2(schema)||IsUnknown2(schema))?ExtendsResult.True:IsUnion2(right)?ExtendsResult.Union:IsUnknown2(right)?ExtendsResult.True:IsAny2(right)?ExtendsResult.True:ExtendsResult.Union}function FromArrayRight(left,right){return IsUnknown2(left)?ExtendsResult.False:IsAny2(left)?ExtendsResult.Union:IsNever2(left)?ExtendsResult.True:ExtendsResult.False}function FromArray4(left,right){return IsObject4(right)&&IsObjectArrayLike(right)?ExtendsResult.True:IsStructuralRight(right)?StructuralRight(left,right):!IsArray4(right)?ExtendsResult.False:IntoBooleanResult(Visit3(left.items,right.items))}function FromAsyncIterator(left,right){return IsStructuralRight(right)?StructuralRight(left,right):!IsAsyncIterator4(right)?ExtendsResult.False:IntoBooleanResult(Visit3(left.items,right.items))}function FromBigInt(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsRecord2(right)?FromRecordRight(left,right):IsBigInt4(right)?ExtendsResult.True:ExtendsResult.False}function FromBooleanRight(left,right){return IsLiteralBoolean(left)?ExtendsResult.True:IsBoolean4(left)?ExtendsResult.True:ExtendsResult.False}function FromBoolean(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsRecord2(right)?FromRecordRight(left,right):IsBoolean4(right)?ExtendsResult.True:ExtendsResult.False}function FromConstructor(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):!IsConstructor2(right)?ExtendsResult.False:left.parameters.length>right.parameters.length?ExtendsResult.False:!left.parameters.every((schema,index)=>IntoBooleanResult(Visit3(right.parameters[index],schema))===ExtendsResult.True)?ExtendsResult.False:IntoBooleanResult(Visit3(left.returns,right.returns))}function FromDate(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsRecord2(right)?FromRecordRight(left,right):IsDate4(right)?ExtendsResult.True:ExtendsResult.False}function FromFunction(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):!IsFunction4(right)?ExtendsResult.False:left.parameters.length>right.parameters.length?ExtendsResult.False:!left.parameters.every((schema,index)=>IntoBooleanResult(Visit3(right.parameters[index],schema))===ExtendsResult.True)?ExtendsResult.False:IntoBooleanResult(Visit3(left.returns,right.returns))}function FromIntegerRight(left,right){return IsLiteral2(left)&&IsNumber(left.const)?ExtendsResult.True:IsNumber4(left)||IsInteger3(left)?ExtendsResult.True:ExtendsResult.False}function FromInteger(left,right){return IsInteger3(right)||IsNumber4(right)?ExtendsResult.True:IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsRecord2(right)?FromRecordRight(left,right):ExtendsResult.False}function FromIntersectRight(left,right){return right.allOf.every((schema)=>Visit3(left,schema)===ExtendsResult.True)?ExtendsResult.True:ExtendsResult.False}function FromIntersect4(left,right){return left.allOf.some((schema)=>Visit3(schema,right)===ExtendsResult.True)?ExtendsResult.True:ExtendsResult.False}function FromIterator(left,right){return IsStructuralRight(right)?StructuralRight(left,right):!IsIterator4(right)?ExtendsResult.False:IntoBooleanResult(Visit3(left.items,right.items))}function FromLiteral2(left,right){return IsLiteral2(right)&&right.const===left.const?ExtendsResult.True:IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsRecord2(right)?FromRecordRight(left,right):IsString4(right)?FromStringRight(left,right):IsNumber4(right)?FromNumberRight(left,right):IsInteger3(right)?FromIntegerRight(left,right):IsBoolean4(right)?FromBooleanRight(left,right):ExtendsResult.False}function FromNeverRight(left,right){return ExtendsResult.False}function FromNever(left,right){return ExtendsResult.True}function UnwrapTNot(schema){let[current,depth]=[schema,0];while(!0){if(!IsNot2(current))break;current=current.not,depth+=1}return depth%2===0?current:Unknown()}function FromNot(left,right){return IsNot2(left)?Visit3(UnwrapTNot(left),right):IsNot2(right)?Visit3(left,UnwrapTNot(right)):Throw("Invalid fallthrough for Not")}function FromNull(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsRecord2(right)?FromRecordRight(left,right):IsNull4(right)?ExtendsResult.True:ExtendsResult.False}function FromNumberRight(left,right){return IsLiteralNumber(left)?ExtendsResult.True:IsNumber4(left)||IsInteger3(left)?ExtendsResult.True:ExtendsResult.False}function FromNumber(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsRecord2(right)?FromRecordRight(left,right):IsInteger3(right)||IsNumber4(right)?ExtendsResult.True:ExtendsResult.False}function IsObjectPropertyCount(schema,count){return Object.getOwnPropertyNames(schema.properties).length===count}function IsObjectStringLike(schema){return IsObjectArrayLike(schema)}function IsObjectSymbolLike(schema){return IsObjectPropertyCount(schema,0)||IsObjectPropertyCount(schema,1)&&"description"in schema.properties&&IsUnion2(schema.properties.description)&&schema.properties.description.anyOf.length===2&&(IsString4(schema.properties.description.anyOf[0])&&IsUndefined4(schema.properties.description.anyOf[1])||IsString4(schema.properties.description.anyOf[1])&&IsUndefined4(schema.properties.description.anyOf[0]))}function IsObjectNumberLike(schema){return IsObjectPropertyCount(schema,0)}function IsObjectBooleanLike(schema){return IsObjectPropertyCount(schema,0)}function IsObjectBigIntLike(schema){return IsObjectPropertyCount(schema,0)}function IsObjectDateLike(schema){return IsObjectPropertyCount(schema,0)}function IsObjectUint8ArrayLike(schema){return IsObjectArrayLike(schema)}function IsObjectFunctionLike(schema){let length=Number2();return IsObjectPropertyCount(schema,0)||IsObjectPropertyCount(schema,1)&&"length"in schema.properties&&IntoBooleanResult(Visit3(schema.properties.length,length))===ExtendsResult.True}function IsObjectConstructorLike(schema){return IsObjectPropertyCount(schema,0)}function IsObjectArrayLike(schema){let length=Number2();return IsObjectPropertyCount(schema,0)||IsObjectPropertyCount(schema,1)&&"length"in schema.properties&&IntoBooleanResult(Visit3(schema.properties.length,length))===ExtendsResult.True}function IsObjectPromiseLike(schema){let then=Function2([Any()],Any());return IsObjectPropertyCount(schema,0)||IsObjectPropertyCount(schema,1)&&"then"in schema.properties&&IntoBooleanResult(Visit3(schema.properties.then,then))===ExtendsResult.True}function Property(left,right){return Visit3(left,right)===ExtendsResult.False?ExtendsResult.False:IsOptional2(left)&&!IsOptional2(right)?ExtendsResult.False:ExtendsResult.True}function FromObjectRight(left,right){return IsUnknown2(left)?ExtendsResult.False:IsAny2(left)?ExtendsResult.Union:IsNever2(left)||IsLiteralString(left)&&IsObjectStringLike(right)||IsLiteralNumber(left)&&IsObjectNumberLike(right)||IsLiteralBoolean(left)&&IsObjectBooleanLike(right)||IsSymbol4(left)&&IsObjectSymbolLike(right)||IsBigInt4(left)&&IsObjectBigIntLike(right)||IsString4(left)&&IsObjectStringLike(right)||IsSymbol4(left)&&IsObjectSymbolLike(right)||IsNumber4(left)&&IsObjectNumberLike(right)||IsInteger3(left)&&IsObjectNumberLike(right)||IsBoolean4(left)&&IsObjectBooleanLike(right)||IsUint8Array4(left)&&IsObjectUint8ArrayLike(right)||IsDate4(left)&&IsObjectDateLike(right)||IsConstructor2(left)&&IsObjectConstructorLike(right)||IsFunction4(left)&&IsObjectFunctionLike(right)?ExtendsResult.True:IsRecord2(left)&&IsString4(RecordKey(left))?(()=>right[Hint]==="Record"?ExtendsResult.True:ExtendsResult.False)():IsRecord2(left)&&IsNumber4(RecordKey(left))?(()=>IsObjectPropertyCount(right,0)?ExtendsResult.True:ExtendsResult.False)():ExtendsResult.False}function FromObject(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsRecord2(right)?FromRecordRight(left,right):!IsObject4(right)?ExtendsResult.False:(()=>{for(let key of Object.getOwnPropertyNames(right.properties)){if(!(key in left.properties)&&!IsOptional2(right.properties[key]))return ExtendsResult.False;if(IsOptional2(right.properties[key]))return ExtendsResult.True;if(Property(left.properties[key],right.properties[key])===ExtendsResult.False)return ExtendsResult.False}return ExtendsResult.True})()}function FromPromise2(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)&&IsObjectPromiseLike(right)?ExtendsResult.True:!IsPromise3(right)?ExtendsResult.False:IntoBooleanResult(Visit3(left.item,right.item))}function RecordKey(schema){return PatternNumberExact in schema.patternProperties?Number2():(PatternStringExact in schema.patternProperties)?String2():Throw("Unknown record key pattern")}function RecordValue(schema){return PatternNumberExact in schema.patternProperties?schema.patternProperties[PatternNumberExact]:(PatternStringExact in schema.patternProperties)?schema.patternProperties[PatternStringExact]:Throw("Unable to get record value schema")}function FromRecordRight(left,right){let[Key,Value]=[RecordKey(right),RecordValue(right)];return IsLiteralString(left)&&IsNumber4(Key)&&IntoBooleanResult(Visit3(left,Value))===ExtendsResult.True?ExtendsResult.True:IsUint8Array4(left)&&IsNumber4(Key)?Visit3(left,Value):IsString4(left)&&IsNumber4(Key)?Visit3(left,Value):IsArray4(left)&&IsNumber4(Key)?Visit3(left,Value):IsObject4(left)?(()=>{for(let key of Object.getOwnPropertyNames(left.properties))if(Property(Value,left.properties[key])===ExtendsResult.False)return ExtendsResult.False;return ExtendsResult.True})():ExtendsResult.False}function FromRecord(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):!IsRecord2(right)?ExtendsResult.False:Visit3(RecordValue(left),RecordValue(right))}function FromRegExp(left,right){let L=IsRegExp3(left)?String2():left,R=IsRegExp3(right)?String2():right;return Visit3(L,R)}function FromStringRight(left,right){return IsLiteral2(left)&&IsString(left.const)?ExtendsResult.True:IsString4(left)?ExtendsResult.True:ExtendsResult.False}function FromString(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsRecord2(right)?FromRecordRight(left,right):IsString4(right)?ExtendsResult.True:ExtendsResult.False}function FromSymbol(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsRecord2(right)?FromRecordRight(left,right):IsSymbol4(right)?ExtendsResult.True:ExtendsResult.False}function FromTemplateLiteral2(left,right){return IsTemplateLiteral2(left)?Visit3(TemplateLiteralToUnion(left),right):IsTemplateLiteral2(right)?Visit3(left,TemplateLiteralToUnion(right)):Throw("Invalid fallthrough for TemplateLiteral")}function IsArrayOfTuple(left,right){return IsArray4(right)&&left.items!==void 0&&left.items.every((schema)=>Visit3(schema,right.items)===ExtendsResult.True)}function FromTupleRight(left,right){return IsNever2(left)?ExtendsResult.True:IsUnknown2(left)?ExtendsResult.False:IsAny2(left)?ExtendsResult.Union:ExtendsResult.False}function FromTuple3(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)&&IsObjectArrayLike(right)?ExtendsResult.True:IsArray4(right)&&IsArrayOfTuple(left,right)?ExtendsResult.True:!IsTuple2(right)?ExtendsResult.False:IsUndefined(left.items)&&!IsUndefined(right.items)||!IsUndefined(left.items)&&IsUndefined(right.items)?ExtendsResult.False:IsUndefined(left.items)&&!IsUndefined(right.items)?ExtendsResult.True:left.items.every((schema,index)=>Visit3(schema,right.items[index])===ExtendsResult.True)?ExtendsResult.True:ExtendsResult.False}function FromUint8Array(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsRecord2(right)?FromRecordRight(left,right):IsUint8Array4(right)?ExtendsResult.True:ExtendsResult.False}function FromUndefined(left,right){return IsStructuralRight(right)?StructuralRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsRecord2(right)?FromRecordRight(left,right):IsVoid2(right)?FromVoidRight(left,right):IsUndefined4(right)?ExtendsResult.True:ExtendsResult.False}function FromUnionRight(left,right){return right.anyOf.some((schema)=>Visit3(left,schema)===ExtendsResult.True)?ExtendsResult.True:ExtendsResult.False}function FromUnion6(left,right){return left.anyOf.every((schema)=>Visit3(schema,right)===ExtendsResult.True)?ExtendsResult.True:ExtendsResult.False}function FromUnknownRight(left,right){return ExtendsResult.True}function FromUnknown(left,right){return IsNever2(right)?FromNeverRight(left,right):IsIntersect2(right)?FromIntersectRight(left,right):IsUnion2(right)?FromUnionRight(left,right):IsAny2(right)?FromAnyRight(left,right):IsString4(right)?FromStringRight(left,right):IsNumber4(right)?FromNumberRight(left,right):IsInteger3(right)?FromIntegerRight(left,right):IsBoolean4(right)?FromBooleanRight(left,right):IsArray4(right)?FromArrayRight(left,right):IsTuple2(right)?FromTupleRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsUnknown2(right)?ExtendsResult.True:ExtendsResult.False}function FromVoidRight(left,right){return IsUndefined4(left)?ExtendsResult.True:IsUndefined4(left)?ExtendsResult.True:ExtendsResult.False}function FromVoid(left,right){return IsIntersect2(right)?FromIntersectRight(left,right):IsUnion2(right)?FromUnionRight(left,right):IsUnknown2(right)?FromUnknownRight(left,right):IsAny2(right)?FromAnyRight(left,right):IsObject4(right)?FromObjectRight(left,right):IsVoid2(right)?ExtendsResult.True:ExtendsResult.False}function Visit3(left,right){return IsTemplateLiteral2(left)||IsTemplateLiteral2(right)?FromTemplateLiteral2(left,right):IsRegExp3(left)||IsRegExp3(right)?FromRegExp(left,right):IsNot2(left)||IsNot2(right)?FromNot(left,right):IsAny2(left)?FromAny(left,right):IsArray4(left)?FromArray4(left,right):IsBigInt4(left)?FromBigInt(left,right):IsBoolean4(left)?FromBoolean(left,right):IsAsyncIterator4(left)?FromAsyncIterator(left,right):IsConstructor2(left)?FromConstructor(left,right):IsDate4(left)?FromDate(left,right):IsFunction4(left)?FromFunction(left,right):IsInteger3(left)?FromInteger(left,right):IsIntersect2(left)?FromIntersect4(left,right):IsIterator4(left)?FromIterator(left,right):IsLiteral2(left)?FromLiteral2(left,right):IsNever2(left)?FromNever(left,right):IsNull4(left)?FromNull(left,right):IsNumber4(left)?FromNumber(left,right):IsObject4(left)?FromObject(left,right):IsRecord2(left)?FromRecord(left,right):IsString4(left)?FromString(left,right):IsSymbol4(left)?FromSymbol(left,right):IsTuple2(left)?FromTuple3(left,right):IsPromise3(left)?FromPromise2(left,right):IsUint8Array4(left)?FromUint8Array(left,right):IsUndefined4(left)?FromUndefined(left,right):IsUnion2(left)?FromUnion6(left,right):IsUnknown2(left)?FromUnknown(left,right):IsVoid2(left)?FromVoid(left,right):Throw(`Unknown left type operand '${left[Kind]}'`)}function ExtendsCheck(left,right){return Visit3(left,right)}function FromProperties8(P,Right,True,False,options){let Acc={};for(let K2 of globalThis.Object.getOwnPropertyNames(P))Acc[K2]=Extends(P[K2],Right,True,False,Clone(options));return Acc}function FromMappedResult6(Left,Right,True,False,options){return FromProperties8(Left.properties,Right,True,False,options)}function ExtendsFromMappedResult(Left,Right,True,False,options){let P=FromMappedResult6(Left,Right,True,False,options);return MappedResult(P)}function ExtendsResolve(left,right,trueType,falseType){let R=ExtendsCheck(left,right);return R===ExtendsResult.Union?Union([trueType,falseType]):R===ExtendsResult.True?trueType:falseType}function Extends(L,R,T,F,options){return IsMappedResult(L)?ExtendsFromMappedResult(L,R,T,F,options):IsMappedKey(L)?CreateType(ExtendsFromMappedKey(L,R,T,F,options)):CreateType(ExtendsResolve(L,R,T,F),options)}function FromPropertyKey(K,U,L,R,options){return{[K]:Extends(Literal(K),U,L,R,Clone(options))}}function FromPropertyKeys(K,U,L,R,options){return K.reduce((Acc,LK)=>({...Acc,...FromPropertyKey(LK,U,L,R,options)}),{})}function FromMappedKey2(K,U,L,R,options){return FromPropertyKeys(K.keys,U,L,R,options)}function ExtendsFromMappedKey(T,U,L,R,options){let P=FromMappedKey2(T,U,L,R,options);return MappedResult(P)}function Intersect2(schema){return schema.allOf.every((schema)=>ExtendsUndefinedCheck(schema))}function Union2(schema){return schema.anyOf.some((schema)=>ExtendsUndefinedCheck(schema))}function Not(schema){return!ExtendsUndefinedCheck(schema.not)}function ExtendsUndefinedCheck(schema){return schema[Kind]==="Intersect"?Intersect2(schema):schema[Kind]==="Union"?Union2(schema):schema[Kind]==="Not"?Not(schema):schema[Kind]==="Undefined"?!0:!1}function ExcludeFromTemplateLiteral(L,R){return Exclude(TemplateLiteralToUnion(L),R)}function ExcludeRest(L,R){let excluded=L.filter((inner)=>ExtendsCheck(inner,R)===ExtendsResult.False);return excluded.length===1?excluded[0]:Union(excluded)}function Exclude(L,R,options={}){if(IsTemplateLiteral(L))return CreateType(ExcludeFromTemplateLiteral(L,R),options);if(IsMappedResult(L))return CreateType(ExcludeFromMappedResult(L,R),options);return CreateType(IsUnion(L)?ExcludeRest(L.anyOf,R):ExtendsCheck(L,R)!==ExtendsResult.False?Never():L,options)}function FromProperties9(P,U){let Acc={};for(let K2 of globalThis.Object.getOwnPropertyNames(P))Acc[K2]=Exclude(P[K2],U);return Acc}function FromMappedResult7(R,T){return FromProperties9(R.properties,T)}function ExcludeFromMappedResult(R,T){let P=FromMappedResult7(R,T);return MappedResult(P)}function ExtractFromTemplateLiteral(L,R){return Extract(TemplateLiteralToUnion(L),R)}function ExtractRest(L,R){let extracted=L.filter((inner)=>ExtendsCheck(inner,R)!==ExtendsResult.False);return extracted.length===1?extracted[0]:Union(extracted)}function Extract(L,R,options){if(IsTemplateLiteral(L))return CreateType(ExtractFromTemplateLiteral(L,R),options);if(IsMappedResult(L))return CreateType(ExtractFromMappedResult(L,R),options);return CreateType(IsUnion(L)?ExtractRest(L.anyOf,R):ExtendsCheck(L,R)!==ExtendsResult.False?L:Never(),options)}function FromProperties10(P,T){let Acc={};for(let K2 of globalThis.Object.getOwnPropertyNames(P))Acc[K2]=Extract(P[K2],T);return Acc}function FromMappedResult8(R,T){return FromProperties10(R.properties,T)}function ExtractFromMappedResult(R,T){let P=FromMappedResult8(R,T);return MappedResult(P)}function InstanceType(schema,options){return IsConstructor(schema)?CreateType(schema.returns,options):Never(options)}function ReadonlyOptional(schema){return Readonly(Optional(schema))}function RecordCreateFromPattern(pattern,T,options){return CreateType({[Kind]:"Record",type:"object",patternProperties:{[pattern]:T}},options)}function RecordCreateFromKeys(K,T,options){let result={};for(let K2 of K)result[K2]=T;return Object2(result,{...options,[Hint]:"Record"})}function FromTemplateLiteralKey(K,T,options){return IsTemplateLiteralFinite(K)?RecordCreateFromKeys(IndexPropertyKeys(K),T,options):RecordCreateFromPattern(K.pattern,T,options)}function FromUnionKey(key,type,options){return RecordCreateFromKeys(IndexPropertyKeys(Union(key)),type,options)}function FromLiteralKey(key,type,options){return RecordCreateFromKeys([key.toString()],type,options)}function FromRegExpKey(key,type,options){return RecordCreateFromPattern(key.source,type,options)}function FromStringKey(key,type,options){let pattern=IsUndefined(key.pattern)?PatternStringExact:key.pattern;return RecordCreateFromPattern(pattern,type,options)}function FromAnyKey(_,type,options){return RecordCreateFromPattern(PatternStringExact,type,options)}function FromNeverKey(_key,type,options){return RecordCreateFromPattern(PatternNeverExact,type,options)}function FromBooleanKey(_key,type,options){return Object2({true:type,false:type},options)}function FromIntegerKey(_key,type,options){return RecordCreateFromPattern(PatternNumberExact,type,options)}function FromNumberKey(_,type,options){return RecordCreateFromPattern(PatternNumberExact,type,options)}function Record(key,type,options={}){return IsUnion(key)?FromUnionKey(key.anyOf,type,options):IsTemplateLiteral(key)?FromTemplateLiteralKey(key,type,options):IsLiteral(key)?FromLiteralKey(key.const,type,options):IsBoolean3(key)?FromBooleanKey(key,type,options):IsInteger2(key)?FromIntegerKey(key,type,options):IsNumber3(key)?FromNumberKey(key,type,options):IsRegExp2(key)?FromRegExpKey(key,type,options):IsString3(key)?FromStringKey(key,type,options):IsAny(key)?FromAnyKey(key,type,options):IsNever(key)?FromNeverKey(key,type,options):Never(options)}function RecordPattern(record){return globalThis.Object.getOwnPropertyNames(record.patternProperties)[0]}function RecordKey2(type){let pattern=RecordPattern(type);return pattern===PatternStringExact?String2():pattern===PatternNumberExact?Number2():String2({pattern})}function RecordValue2(type){return type.patternProperties[RecordPattern(type)]}function FromConstructor2(args,type){return type.parameters=FromTypes(args,type.parameters),type.returns=FromType(args,type.returns),type}function FromFunction2(args,type){return type.parameters=FromTypes(args,type.parameters),type.returns=FromType(args,type.returns),type}function FromIntersect5(args,type){return type.allOf=FromTypes(args,type.allOf),type}function FromUnion7(args,type){return type.anyOf=FromTypes(args,type.anyOf),type}function FromTuple4(args,type){if(IsUndefined(type.items))return type;return type.items=FromTypes(args,type.items),type}function FromArray5(args,type){return type.items=FromType(args,type.items),type}function FromAsyncIterator2(args,type){return type.items=FromType(args,type.items),type}function FromIterator2(args,type){return type.items=FromType(args,type.items),type}function FromPromise3(args,type){return type.item=FromType(args,type.item),type}function FromObject2(args,type){let mappedProperties=FromProperties11(args,type.properties);return{...type,...Object2(mappedProperties)}}function FromRecord2(args,type){let mappedKey=FromType(args,RecordKey2(type)),mappedValue=FromType(args,RecordValue2(type)),result=Record(mappedKey,mappedValue);return{...type,...result}}function FromArgument(args,argument){return argument.index in args?args[argument.index]:Unknown()}function FromProperty2(args,type){let isReadonly=IsReadonly(type),isOptional=IsOptional(type),mapped=FromType(args,type);return isReadonly&&isOptional?ReadonlyOptional(mapped):isReadonly&&!isOptional?Readonly(mapped):!isReadonly&&isOptional?Optional(mapped):mapped}function FromProperties11(args,properties){return globalThis.Object.getOwnPropertyNames(properties).reduce((result,key)=>({...result,[key]:FromProperty2(args,properties[key])}),{})}function FromTypes(args,types){return types.map((type)=>FromType(args,type))}function FromType(args,type){return IsConstructor(type)?FromConstructor2(args,type):IsFunction3(type)?FromFunction2(args,type):IsIntersect(type)?FromIntersect5(args,type):IsUnion(type)?FromUnion7(args,type):IsTuple(type)?FromTuple4(args,type):IsArray3(type)?FromArray5(args,type):IsAsyncIterator3(type)?FromAsyncIterator2(args,type):IsIterator3(type)?FromIterator2(args,type):IsPromise2(type)?FromPromise3(args,type):IsObject3(type)?FromObject2(args,type):IsRecord(type)?FromRecord2(args,type):IsArgument(type)?FromArgument(args,type):type}function Instantiate(type,args){return FromType(args,CloneType(type))}function Integer(options){return CreateType({[Kind]:"Integer",type:"integer"},options)}function MappedIntrinsicPropertyKey(K,M,options){return{[K]:Intrinsic(Literal(K),M,Clone(options))}}function MappedIntrinsicPropertyKeys(K,M,options){return K.reduce((Acc,L)=>({...Acc,...MappedIntrinsicPropertyKey(L,M,options)}),{})}function MappedIntrinsicProperties(T,M,options){return MappedIntrinsicPropertyKeys(T.keys,M,options)}function IntrinsicFromMappedKey(T,M,options){let P=MappedIntrinsicProperties(T,M,options);return MappedResult(P)}function ApplyUncapitalize(value){let[first,rest]=[value.slice(0,1),value.slice(1)];return[first.toLowerCase(),rest].join("")}function ApplyCapitalize(value){let[first,rest]=[value.slice(0,1),value.slice(1)];return[first.toUpperCase(),rest].join("")}function ApplyUppercase(value){return value.toUpperCase()}function ApplyLowercase(value){return value.toLowerCase()}function FromTemplateLiteral3(schema,mode,options){let expression=TemplateLiteralParseExact(schema.pattern);if(!IsTemplateLiteralExpressionFinite(expression))return{...schema,pattern:FromLiteralValue(schema.pattern,mode)};let literals=[...TemplateLiteralExpressionGenerate(expression)].map((value)=>Literal(value)),mapped=FromRest5(literals,mode),union=Union(mapped);return TemplateLiteral([union],options)}function FromLiteralValue(value,mode){return typeof value==="string"?mode==="Uncapitalize"?ApplyUncapitalize(value):mode==="Capitalize"?ApplyCapitalize(value):mode==="Uppercase"?ApplyUppercase(value):mode==="Lowercase"?ApplyLowercase(value):value:value.toString()}function FromRest5(T,M){return T.map((L)=>Intrinsic(L,M))}function Intrinsic(schema,mode,options={}){return IsMappedKey(schema)?IntrinsicFromMappedKey(schema,mode,options):IsTemplateLiteral(schema)?FromTemplateLiteral3(schema,mode,options):IsUnion(schema)?Union(FromRest5(schema.anyOf,mode),options):IsLiteral(schema)?Literal(FromLiteralValue(schema.const,mode),options):CreateType(schema,options)}function Capitalize(T,options={}){return Intrinsic(T,"Capitalize",options)}function Lowercase(T,options={}){return Intrinsic(T,"Lowercase",options)}function Uncapitalize(T,options={}){return Intrinsic(T,"Uncapitalize",options)}function Uppercase(T,options={}){return Intrinsic(T,"Uppercase",options)}function FromProperties12(properties,propertyKeys,options){let result={};for(let K2 of globalThis.Object.getOwnPropertyNames(properties))result[K2]=Omit(properties[K2],propertyKeys,Clone(options));return result}function FromMappedResult9(mappedResult,propertyKeys,options){return FromProperties12(mappedResult.properties,propertyKeys,options)}function OmitFromMappedResult(mappedResult,propertyKeys,options){let properties=FromMappedResult9(mappedResult,propertyKeys,options);return MappedResult(properties)}function FromIntersect6(types,propertyKeys){return types.map((type)=>OmitResolve(type,propertyKeys))}function FromUnion8(types,propertyKeys){return types.map((type)=>OmitResolve(type,propertyKeys))}function FromProperty3(properties,key){let{[key]:_,...R}=properties;return R}function FromProperties13(properties,propertyKeys){return propertyKeys.reduce((T,K2)=>FromProperty3(T,K2),properties)}function FromObject3(type,propertyKeys,properties){let options=Discard(type,[TransformKind,"$id","required","properties"]),mappedProperties=FromProperties13(properties,propertyKeys);return Object2(mappedProperties,options)}function UnionFromPropertyKeys(propertyKeys){let result=propertyKeys.reduce((result,key)=>IsLiteralValue(key)?[...result,Literal(key)]:result,[]);return Union(result)}function OmitResolve(type,propertyKeys){return IsIntersect(type)?Intersect(FromIntersect6(type.allOf,propertyKeys)):IsUnion(type)?Union(FromUnion8(type.anyOf,propertyKeys)):IsObject3(type)?FromObject3(type,propertyKeys,type.properties):Object2({})}function Omit(type,key,options){let typeKey=IsArray(key)?UnionFromPropertyKeys(key):key,propertyKeys=IsSchema(key)?IndexPropertyKeys(key):key,isTypeRef=IsRef(type),isKeyRef=IsRef(key);return IsMappedResult(type)?OmitFromMappedResult(type,propertyKeys,options):IsMappedKey(key)?OmitFromMappedKey(type,key,options):isTypeRef&&isKeyRef?Computed("Omit",[type,typeKey],options):!isTypeRef&&isKeyRef?Computed("Omit",[type,typeKey],options):isTypeRef&&!isKeyRef?Computed("Omit",[type,typeKey],options):CreateType({...OmitResolve(type,propertyKeys),...options})}function FromPropertyKey2(type,key,options){return{[key]:Omit(type,[key],Clone(options))}}function FromPropertyKeys2(type,propertyKeys,options){return propertyKeys.reduce((Acc,LK)=>({...Acc,...FromPropertyKey2(type,LK,options)}),{})}function FromMappedKey3(type,mappedKey,options){return FromPropertyKeys2(type,mappedKey.keys,options)}function OmitFromMappedKey(type,mappedKey,options){let properties=FromMappedKey3(type,mappedKey,options);return MappedResult(properties)}function FromProperties14(properties,propertyKeys,options){let result={};for(let K2 of globalThis.Object.getOwnPropertyNames(properties))result[K2]=Pick(properties[K2],propertyKeys,Clone(options));return result}function FromMappedResult10(mappedResult,propertyKeys,options){return FromProperties14(mappedResult.properties,propertyKeys,options)}function PickFromMappedResult(mappedResult,propertyKeys,options){let properties=FromMappedResult10(mappedResult,propertyKeys,options);return MappedResult(properties)}function FromIntersect7(types,propertyKeys){return types.map((type)=>PickResolve(type,propertyKeys))}function FromUnion9(types,propertyKeys){return types.map((type)=>PickResolve(type,propertyKeys))}function FromProperties15(properties,propertyKeys){let result={};for(let K2 of propertyKeys)if(K2 in properties)result[K2]=properties[K2];return result}function FromObject4(Type,keys,properties){let options=Discard(Type,[TransformKind,"$id","required","properties"]),mappedProperties=FromProperties15(properties,keys);return Object2(mappedProperties,options)}function UnionFromPropertyKeys2(propertyKeys){let result=propertyKeys.reduce((result,key)=>IsLiteralValue(key)?[...result,Literal(key)]:result,[]);return Union(result)}function PickResolve(type,propertyKeys){return IsIntersect(type)?Intersect(FromIntersect7(type.allOf,propertyKeys)):IsUnion(type)?Union(FromUnion9(type.anyOf,propertyKeys)):IsObject3(type)?FromObject4(type,propertyKeys,type.properties):Object2({})}function Pick(type,key,options){let typeKey=IsArray(key)?UnionFromPropertyKeys2(key):key,propertyKeys=IsSchema(key)?IndexPropertyKeys(key):key,isTypeRef=IsRef(type),isKeyRef=IsRef(key);return IsMappedResult(type)?PickFromMappedResult(type,propertyKeys,options):IsMappedKey(key)?PickFromMappedKey(type,key,options):isTypeRef&&isKeyRef?Computed("Pick",[type,typeKey],options):!isTypeRef&&isKeyRef?Computed("Pick",[type,typeKey],options):isTypeRef&&!isKeyRef?Computed("Pick",[type,typeKey],options):CreateType({...PickResolve(type,propertyKeys),...options})}function FromPropertyKey3(type,key,options){return{[key]:Pick(type,[key],Clone(options))}}function FromPropertyKeys3(type,propertyKeys,options){return propertyKeys.reduce((result,leftKey)=>({...result,...FromPropertyKey3(type,leftKey,options)}),{})}function FromMappedKey4(type,mappedKey,options){return FromPropertyKeys3(type,mappedKey.keys,options)}function PickFromMappedKey(type,mappedKey,options){let properties=FromMappedKey4(type,mappedKey,options);return MappedResult(properties)}function FromComputed3(target,parameters){return Computed("Partial",[Computed(target,parameters)])}function FromRef3($ref){return Computed("Partial",[Ref($ref)])}function FromProperties16(properties){let partialProperties={};for(let K of globalThis.Object.getOwnPropertyNames(properties))partialProperties[K]=Optional(properties[K]);return partialProperties}function FromObject5(type,properties){let options=Discard(type,[TransformKind,"$id","required","properties"]),mappedProperties=FromProperties16(properties);return Object2(mappedProperties,options)}function FromRest6(types){return types.map((type)=>PartialResolve(type))}function PartialResolve(type){return IsComputed(type)?FromComputed3(type.target,type.parameters):IsRef(type)?FromRef3(type.$ref):IsIntersect(type)?Intersect(FromRest6(type.allOf)):IsUnion(type)?Union(FromRest6(type.anyOf)):IsObject3(type)?FromObject5(type,type.properties):IsBigInt3(type)?type:IsBoolean3(type)?type:IsInteger2(type)?type:IsLiteral(type)?type:IsNull3(type)?type:IsNumber3(type)?type:IsString3(type)?type:IsSymbol3(type)?type:IsUndefined3(type)?type:Object2({})}function Partial(type,options){if(IsMappedResult(type))return PartialFromMappedResult(type,options);else return CreateType({...PartialResolve(type),...options})}function FromProperties17(K,options){let Acc={};for(let K2 of globalThis.Object.getOwnPropertyNames(K))Acc[K2]=Partial(K[K2],Clone(options));return Acc}function FromMappedResult11(R,options){return FromProperties17(R.properties,options)}function PartialFromMappedResult(R,options){let P=FromMappedResult11(R,options);return MappedResult(P)}function FromComputed4(target,parameters){return Computed("Required",[Computed(target,parameters)])}function FromRef4($ref){return Computed("Required",[Ref($ref)])}function FromProperties18(properties){let requiredProperties={};for(let K of globalThis.Object.getOwnPropertyNames(properties))requiredProperties[K]=Discard(properties[K],[OptionalKind]);return requiredProperties}function FromObject6(type,properties){let options=Discard(type,[TransformKind,"$id","required","properties"]),mappedProperties=FromProperties18(properties);return Object2(mappedProperties,options)}function FromRest7(types){return types.map((type)=>RequiredResolve(type))}function RequiredResolve(type){return IsComputed(type)?FromComputed4(type.target,type.parameters):IsRef(type)?FromRef4(type.$ref):IsIntersect(type)?Intersect(FromRest7(type.allOf)):IsUnion(type)?Union(FromRest7(type.anyOf)):IsObject3(type)?FromObject6(type,type.properties):IsBigInt3(type)?type:IsBoolean3(type)?type:IsInteger2(type)?type:IsLiteral(type)?type:IsNull3(type)?type:IsNumber3(type)?type:IsString3(type)?type:IsSymbol3(type)?type:IsUndefined3(type)?type:Object2({})}function Required(type,options){if(IsMappedResult(type))return RequiredFromMappedResult(type,options);else return CreateType({...RequiredResolve(type),...options})}function FromProperties19(P,options){let Acc={};for(let K2 of globalThis.Object.getOwnPropertyNames(P))Acc[K2]=Required(P[K2],options);return Acc}function FromMappedResult12(R,options){return FromProperties19(R.properties,options)}function RequiredFromMappedResult(R,options){let P=FromMappedResult12(R,options);return MappedResult(P)}function DereferenceParameters(moduleProperties,types){return types.map((type)=>IsRef(type)?Dereference(moduleProperties,type.$ref):FromType2(moduleProperties,type))}function Dereference(moduleProperties,ref){return ref in moduleProperties?IsRef(moduleProperties[ref])?Dereference(moduleProperties,moduleProperties[ref].$ref):FromType2(moduleProperties,moduleProperties[ref]):Never()}function FromAwaited(parameters){return Awaited(parameters[0])}function FromIndex(parameters){return Index(parameters[0],parameters[1])}function FromKeyOf(parameters){return KeyOf(parameters[0])}function FromPartial(parameters){return Partial(parameters[0])}function FromOmit(parameters){return Omit(parameters[0],parameters[1])}function FromPick(parameters){return Pick(parameters[0],parameters[1])}function FromRequired(parameters){return Required(parameters[0])}function FromComputed5(moduleProperties,target,parameters){let dereferenced=DereferenceParameters(moduleProperties,parameters);return target==="Awaited"?FromAwaited(dereferenced):target==="Index"?FromIndex(dereferenced):target==="KeyOf"?FromKeyOf(dereferenced):target==="Partial"?FromPartial(dereferenced):target==="Omit"?FromOmit(dereferenced):target==="Pick"?FromPick(dereferenced):target==="Required"?FromRequired(dereferenced):Never()}function FromArray6(moduleProperties,type){return Array2(FromType2(moduleProperties,type))}function FromAsyncIterator3(moduleProperties,type){return AsyncIterator(FromType2(moduleProperties,type))}function FromConstructor3(moduleProperties,parameters,instanceType){return Constructor(FromTypes2(moduleProperties,parameters),FromType2(moduleProperties,instanceType))}function FromFunction3(moduleProperties,parameters,returnType){return Function2(FromTypes2(moduleProperties,parameters),FromType2(moduleProperties,returnType))}function FromIntersect8(moduleProperties,types){return Intersect(FromTypes2(moduleProperties,types))}function FromIterator3(moduleProperties,type){return Iterator(FromType2(moduleProperties,type))}function FromObject7(moduleProperties,properties){return Object2(globalThis.Object.keys(properties).reduce((result,key)=>({...result,[key]:FromType2(moduleProperties,properties[key])}),{}))}function FromRecord3(moduleProperties,type){let[value,pattern]=[FromType2(moduleProperties,RecordValue2(type)),RecordPattern(type)],result=CloneType(type);return result.patternProperties[pattern]=value,result}function FromTransform(moduleProperties,transform){return IsRef(transform)?{...Dereference(moduleProperties,transform.$ref),[TransformKind]:transform[TransformKind]}:transform}function FromTuple5(moduleProperties,types){return Tuple(FromTypes2(moduleProperties,types))}function FromUnion10(moduleProperties,types){return Union(FromTypes2(moduleProperties,types))}function FromTypes2(moduleProperties,types){return types.map((type)=>FromType2(moduleProperties,type))}function FromType2(moduleProperties,type){return IsOptional(type)?CreateType(FromType2(moduleProperties,Discard(type,[OptionalKind])),type):IsReadonly(type)?CreateType(FromType2(moduleProperties,Discard(type,[ReadonlyKind])),type):IsTransform(type)?CreateType(FromTransform(moduleProperties,type),type):IsArray3(type)?CreateType(FromArray6(moduleProperties,type.items),type):IsAsyncIterator3(type)?CreateType(FromAsyncIterator3(moduleProperties,type.items),type):IsComputed(type)?CreateType(FromComputed5(moduleProperties,type.target,type.parameters)):IsConstructor(type)?CreateType(FromConstructor3(moduleProperties,type.parameters,type.returns),type):IsFunction3(type)?CreateType(FromFunction3(moduleProperties,type.parameters,type.returns),type):IsIntersect(type)?CreateType(FromIntersect8(moduleProperties,type.allOf),type):IsIterator3(type)?CreateType(FromIterator3(moduleProperties,type.items),type):IsObject3(type)?CreateType(FromObject7(moduleProperties,type.properties),type):IsRecord(type)?CreateType(FromRecord3(moduleProperties,type)):IsTuple(type)?CreateType(FromTuple5(moduleProperties,type.items||[]),type):IsUnion(type)?CreateType(FromUnion10(moduleProperties,type.anyOf),type):type}function ComputeType(moduleProperties,key){return key in moduleProperties?FromType2(moduleProperties,moduleProperties[key]):Never()}function ComputeModuleProperties(moduleProperties){return globalThis.Object.getOwnPropertyNames(moduleProperties).reduce((result,key)=>({...result,[key]:ComputeType(moduleProperties,key)}),{})}class TModule{constructor($defs){let computed=ComputeModuleProperties($defs),identified=this.WithIdentifiers(computed);this.$defs=identified}Import(key,options){let $defs={...this.$defs,[key]:CreateType(this.$defs[key],options)};return CreateType({[Kind]:"Import",$defs,$ref:key})}WithIdentifiers($defs){return globalThis.Object.getOwnPropertyNames($defs).reduce((result,key)=>({...result,[key]:{...$defs[key],$id:key}}),{})}}function Module(properties){return new TModule(properties)}function Not2(type,options){return CreateType({[Kind]:"Not",not:type},options)}function Parameters(schema,options){return IsFunction3(schema)?Tuple(schema.parameters,options):Never()}var Ordinal=0;function Recursive(callback,options={}){if(IsUndefined(options.$id))options.$id=`T${Ordinal++}`;let thisType=CloneType(callback({[Kind]:"This",$ref:`${options.$id}`}));return thisType.$id=options.$id,CreateType({[Hint]:"Recursive",...thisType},options)}function RegExp2(unresolved,options){let expr=IsString(unresolved)?new globalThis.RegExp(unresolved):unresolved;return CreateType({[Kind]:"RegExp",type:"RegExp",source:expr.source,flags:expr.flags},options)}function RestResolve(T){return IsIntersect(T)?T.allOf:IsUnion(T)?T.anyOf:IsTuple(T)?T.items??[]:[]}function Rest(T){return RestResolve(T)}function ReturnType(schema,options){return IsFunction3(schema)?CreateType(schema.returns,options):Never(options)}class TransformDecodeBuilder{constructor(schema){this.schema=schema}Decode(decode){return new TransformEncodeBuilder(this.schema,decode)}}class TransformEncodeBuilder{constructor(schema,decode){this.schema=schema,this.decode=decode}EncodeTransform(encode,schema){let Codec={Encode:(value)=>schema[TransformKind].Encode(encode(value)),Decode:(value)=>this.decode(schema[TransformKind].Decode(value))};return{...schema,[TransformKind]:Codec}}EncodeSchema(encode,schema){let Codec={Decode:this.decode,Encode:encode};return{...schema,[TransformKind]:Codec}}Encode(encode){return IsTransform(this.schema)?this.EncodeTransform(encode,this.schema):this.EncodeSchema(encode,this.schema)}}function Transform(schema){return new TransformDecodeBuilder(schema)}function Unsafe(options={}){return CreateType({[Kind]:options[Kind]??"Unsafe"},options)}function Void(options){return CreateType({[Kind]:"Void",type:"void"},options)}var Type=exports_type3;var import_fast_decode_uri_component4=__toESM(require_fast_decode_uri_component(),1);function Evaluate(...args){return new globalThis.Function(...args)}function DefaultErrorFunction(error){switch(error.errorType){case ValueErrorType.ArrayContains:return"Expected array to contain at least one matching value";case ValueErrorType.ArrayMaxContains:return`Expected array to contain no more than ${error.schema.maxContains} matching values`;case ValueErrorType.ArrayMinContains:return`Expected array to contain at least ${error.schema.minContains} matching values`;case ValueErrorType.ArrayMaxItems:return`Expected array length to be less or equal to ${error.schema.maxItems}`;case ValueErrorType.ArrayMinItems:return`Expected array length to be greater or equal to ${error.schema.minItems}`;case ValueErrorType.ArrayUniqueItems:return"Expected array elements to be unique";case ValueErrorType.Array:return"Expected array";case ValueErrorType.AsyncIterator:return"Expected AsyncIterator";case ValueErrorType.BigIntExclusiveMaximum:return`Expected bigint to be less than ${error.schema.exclusiveMaximum}`;case ValueErrorType.BigIntExclusiveMinimum:return`Expected bigint to be greater than ${error.schema.exclusiveMinimum}`;case ValueErrorType.BigIntMaximum:return`Expected bigint to be less or equal to ${error.schema.maximum}`;case ValueErrorType.BigIntMinimum:return`Expected bigint to be greater or equal to ${error.schema.minimum}`;case ValueErrorType.BigIntMultipleOf:return`Expected bigint to be a multiple of ${error.schema.multipleOf}`;case ValueErrorType.BigInt:return"Expected bigint";case ValueErrorType.Boolean:return"Expected boolean";case ValueErrorType.DateExclusiveMinimumTimestamp:return`Expected Date timestamp to be greater than ${error.schema.exclusiveMinimumTimestamp}`;case ValueErrorType.DateExclusiveMaximumTimestamp:return`Expected Date timestamp to be less than ${error.schema.exclusiveMaximumTimestamp}`;case ValueErrorType.DateMinimumTimestamp:return`Expected Date timestamp to be greater or equal to ${error.schema.minimumTimestamp}`;case ValueErrorType.DateMaximumTimestamp:return`Expected Date timestamp to be less or equal to ${error.schema.maximumTimestamp}`;case ValueErrorType.DateMultipleOfTimestamp:return`Expected Date timestamp to be a multiple of ${error.schema.multipleOfTimestamp}`;case ValueErrorType.Date:return"Expected Date";case ValueErrorType.Function:return"Expected function";case ValueErrorType.IntegerExclusiveMaximum:return`Expected integer to be less than ${error.schema.exclusiveMaximum}`;case ValueErrorType.IntegerExclusiveMinimum:return`Expected integer to be greater than ${error.schema.exclusiveMinimum}`;case ValueErrorType.IntegerMaximum:return`Expected integer to be less or equal to ${error.schema.maximum}`;case ValueErrorType.IntegerMinimum:return`Expected integer to be greater or equal to ${error.schema.minimum}`;case ValueErrorType.IntegerMultipleOf:return`Expected integer to be a multiple of ${error.schema.multipleOf}`;case ValueErrorType.Integer:return"Expected integer";case ValueErrorType.IntersectUnevaluatedProperties:return"Unexpected property";case ValueErrorType.Intersect:return"Expected all values to match";case ValueErrorType.Iterator:return"Expected Iterator";case ValueErrorType.Literal:return`Expected ${typeof error.schema.const==="string"?`'${error.schema.const}'`:error.schema.const}`;case ValueErrorType.Never:return"Never";case ValueErrorType.Not:return"Value should not match";case ValueErrorType.Null:return"Expected null";case ValueErrorType.NumberExclusiveMaximum:return`Expected number to be less than ${error.schema.exclusiveMaximum}`;case ValueErrorType.NumberExclusiveMinimum:return`Expected number to be greater than ${error.schema.exclusiveMinimum}`;case ValueErrorType.NumberMaximum:return`Expected number to be less or equal to ${error.schema.maximum}`;case ValueErrorType.NumberMinimum:return`Expected number to be greater or equal to ${error.schema.minimum}`;case ValueErrorType.NumberMultipleOf:return`Expected number to be a multiple of ${error.schema.multipleOf}`;case ValueErrorType.Number:return"Expected number";case ValueErrorType.Object:return"Expected object";case ValueErrorType.ObjectAdditionalProperties:return"Unexpected property";case ValueErrorType.ObjectMaxProperties:return`Expected object to have no more than ${error.schema.maxProperties} properties`;case ValueErrorType.ObjectMinProperties:return`Expected object to have at least ${error.schema.minProperties} properties`;case ValueErrorType.ObjectRequiredProperty:return"Expected required property";case ValueErrorType.Promise:return"Expected Promise";case ValueErrorType.RegExp:return"Expected string to match regular expression";case ValueErrorType.StringFormatUnknown:return`Unknown format '${error.schema.format}'`;case ValueErrorType.StringFormat:return`Expected string to match '${error.schema.format}' format`;case ValueErrorType.StringMaxLength:return`Expected string length less or equal to ${error.schema.maxLength}`;case ValueErrorType.StringMinLength:return`Expected string length greater or equal to ${error.schema.minLength}`;case ValueErrorType.StringPattern:return`Expected string to match '${error.schema.pattern}'`;case ValueErrorType.String:return"Expected string";case ValueErrorType.Symbol:return"Expected symbol";case ValueErrorType.TupleLength:return`Expected tuple to have ${error.schema.maxItems||0} elements`;case ValueErrorType.Tuple:return"Expected tuple";case ValueErrorType.Uint8ArrayMaxByteLength:return`Expected byte length less or equal to ${error.schema.maxByteLength}`;case ValueErrorType.Uint8ArrayMinByteLength:return`Expected byte length greater or equal to ${error.schema.minByteLength}`;case ValueErrorType.Uint8Array:return"Expected Uint8Array";case ValueErrorType.Undefined:return"Expected undefined";case ValueErrorType.Union:return"Expected union value";case ValueErrorType.Void:return"Expected void";case ValueErrorType.Kind:return`Expected kind '${error.schema[Kind]}'`;default:return"Unknown error type"}}var errorFunction=DefaultErrorFunction;function GetErrorFunction(){return errorFunction}class TypeDereferenceError extends TypeBoxError{constructor(schema){super(`Unable to dereference schema with $id '${schema.$ref}'`);this.schema=schema}}function Resolve(schema,references){let target=references.find((target)=>target.$id===schema.$ref);if(target===void 0)throw new TypeDereferenceError(schema);return Deref(target,references)}function Pushref(schema,references){if(!IsString2(schema.$id)||references.some((target)=>target.$id===schema.$id))return references;return references.push(schema),references}function Deref(schema,references){return schema[Kind]==="This"||schema[Kind]==="Ref"?Resolve(schema,references):schema}class ValueHashError extends TypeBoxError{constructor(value){super("Unable to hash value");this.value=value}}var ByteMarker;(function(ByteMarker){ByteMarker[ByteMarker.Undefined=0]="Undefined",ByteMarker[ByteMarker.Null=1]="Null",ByteMarker[ByteMarker.Boolean=2]="Boolean",ByteMarker[ByteMarker.Number=3]="Number",ByteMarker[ByteMarker.String=4]="String",ByteMarker[ByteMarker.Object=5]="Object",ByteMarker[ByteMarker.Array=6]="Array",ByteMarker[ByteMarker.Date=7]="Date",ByteMarker[ByteMarker.Uint8Array=8]="Uint8Array",ByteMarker[ByteMarker.Symbol=9]="Symbol",ByteMarker[ByteMarker.BigInt=10]="BigInt"})(ByteMarker||(ByteMarker={}));var Accumulator=BigInt("14695981039346656037"),[Prime,Size]=[BigInt("1099511628211"),BigInt("18446744073709551616")],Bytes=Array.from({length:256}).map((_,i)=>BigInt(i)),F64=new Float64Array(1),F64In=new DataView(F64.buffer),F64Out=new Uint8Array(F64.buffer);function*NumberToBytes(value){let byteCount=value===0?1:Math.ceil(Math.floor(Math.log2(value)+1)/8);for(let i=0;i<byteCount;i++)yield value>>8*(byteCount-1-i)&255}function ArrayType2(value){FNV1A64(ByteMarker.Array);for(let item of value)Visit4(item)}function BooleanType(value){FNV1A64(ByteMarker.Boolean),FNV1A64(value?1:0)}function BigIntType(value){FNV1A64(ByteMarker.BigInt),F64In.setBigInt64(0,value);for(let byte of F64Out)FNV1A64(byte)}function DateType2(value){FNV1A64(ByteMarker.Date),Visit4(value.getTime())}function NullType(value){FNV1A64(ByteMarker.Null)}function NumberType(value){FNV1A64(ByteMarker.Number),F64In.setFloat64(0,value);for(let byte of F64Out)FNV1A64(byte)}function ObjectType2(value){FNV1A64(ByteMarker.Object);for(let key of globalThis.Object.getOwnPropertyNames(value).sort())Visit4(key),Visit4(value[key])}function StringType(value){FNV1A64(ByteMarker.String);for(let i=0;i<value.length;i++)for(let byte of NumberToBytes(value.charCodeAt(i)))FNV1A64(byte)}function SymbolType(value){FNV1A64(ByteMarker.Symbol),Visit4(value.description)}function Uint8ArrayType2(value){FNV1A64(ByteMarker.Uint8Array);for(let i=0;i<value.length;i++)FNV1A64(value[i])}function UndefinedType(value){return FNV1A64(ByteMarker.Undefined)}function Visit4(value){if(IsArray2(value))return ArrayType2(value);if(IsBoolean2(value))return BooleanType(value);if(IsBigInt2(value))return BigIntType(value);if(IsDate2(value))return DateType2(value);if(IsNull2(value))return NullType(value);if(IsNumber2(value))return NumberType(value);if(IsObject2(value))return ObjectType2(value);if(IsString2(value))return StringType(value);if(IsSymbol2(value))return SymbolType(value);if(IsUint8Array2(value))return Uint8ArrayType2(value);if(IsUndefined2(value))return UndefinedType(value);throw new ValueHashError(value)}function FNV1A64(byte){Accumulator=Accumulator^Bytes[byte],Accumulator=Accumulator*Prime%Size}function Hash(value){return Accumulator=BigInt("14695981039346656037"),Visit4(value),Accumulator}class ValueCheckUnknownTypeError extends TypeBoxError{constructor(schema){super("Unknown type");this.schema=schema}}function IsAnyOrUnknown(schema){return schema[Kind]==="Any"||schema[Kind]==="Unknown"}function IsDefined(value){return value!==void 0}function FromAny2(schema,references,value){return!0}function FromArgument2(schema,references,value){return!0}function FromArray7(schema,references,value){if(!IsArray2(value))return!1;if(IsDefined(schema.minItems)&&!(value.length>=schema.minItems))return!1;if(IsDefined(schema.maxItems)&&!(value.length<=schema.maxItems))return!1;for(let element of value)if(!Visit5(schema.items,references,element))return!1;if(schema.uniqueItems===!0&&!function(){let set=new Set;for(let element of value){let hashed=Hash(element);if(set.has(hashed))return!1;else set.add(hashed)}return!0}())return!1;if(!(IsDefined(schema.contains)||IsNumber2(schema.minContains)||IsNumber2(schema.maxContains)))return!0;let containsSchema=IsDefined(schema.contains)?schema.contains:Never(),containsCount=value.reduce((acc,value)=>Visit5(containsSchema,references,value)?acc+1:acc,0);if(containsCount===0)return!1;if(IsNumber2(schema.minContains)&&containsCount<schema.minContains)return!1;if(IsNumber2(schema.maxContains)&&containsCount>schema.maxContains)return!1;return!0}function FromAsyncIterator4(schema,references,value){return IsAsyncIterator2(value)}function FromBigInt2(schema,references,value){if(!IsBigInt2(value))return!1;if(IsDefined(schema.exclusiveMaximum)&&!(value<schema.exclusiveMaximum))return!1;if(IsDefined(schema.exclusiveMinimum)&&!(value>schema.exclusiveMinimum))return!1;if(IsDefined(schema.maximum)&&!(value<=schema.maximum))return!1;if(IsDefined(schema.minimum)&&!(value>=schema.minimum))return!1;if(IsDefined(schema.multipleOf)&&value%schema.multipleOf!==BigInt(0))return!1;return!0}function FromBoolean2(schema,references,value){return IsBoolean2(value)}function FromConstructor4(schema,references,value){return Visit5(schema.returns,references,value.prototype)}function FromDate2(schema,references,value){if(!IsDate2(value))return!1;if(IsDefined(schema.exclusiveMaximumTimestamp)&&!(value.getTime()<schema.exclusiveMaximumTimestamp))return!1;if(IsDefined(schema.exclusiveMinimumTimestamp)&&!(value.getTime()>schema.exclusiveMinimumTimestamp))return!1;if(IsDefined(schema.maximumTimestamp)&&!(value.getTime()<=schema.maximumTimestamp))return!1;if(IsDefined(schema.minimumTimestamp)&&!(value.getTime()>=schema.minimumTimestamp))return!1;if(IsDefined(schema.multipleOfTimestamp)&&value.getTime()%schema.multipleOfTimestamp!==0)return!1;return!0}function FromFunction4(schema,references,value){return IsFunction2(value)}function FromImport(schema,references,value){let definitions=globalThis.Object.values(schema.$defs),target=schema.$defs[schema.$ref];return Visit5(target,[...references,...definitions],value)}function FromInteger2(schema,references,value){if(!IsInteger(value))return!1;if(IsDefined(schema.exclusiveMaximum)&&!(value<schema.exclusiveMaximum))return!1;if(IsDefined(schema.exclusiveMinimum)&&!(value>schema.exclusiveMinimum))return!1;if(IsDefined(schema.maximum)&&!(value<=schema.maximum))return!1;if(IsDefined(schema.minimum)&&!(value>=schema.minimum))return!1;if(IsDefined(schema.multipleOf)&&value%schema.multipleOf!==0)return!1;return!0}function FromIntersect9(schema,references,value){let check1=schema.allOf.every((schema)=>Visit5(schema,references,value));if(schema.unevaluatedProperties===!1){let keyPattern=new RegExp(KeyOfPattern(schema)),check2=Object.getOwnPropertyNames(value).every((key)=>keyPattern.test(key));return check1&&check2}else if(IsSchema(schema.unevaluatedProperties)){let keyCheck=new RegExp(KeyOfPattern(schema)),check2=Object.getOwnPropertyNames(value).every((key)=>keyCheck.test(key)||Visit5(schema.unevaluatedProperties,references,value[key]));return check1&&check2}else return check1}function FromIterator4(schema,references,value){return IsIterator2(value)}function FromLiteral3(schema,references,value){return value===schema.const}function FromNever2(schema,references,value){return!1}function FromNot2(schema,references,value){return!Visit5(schema.not,references,value)}function FromNull2(schema,references,value){return IsNull2(value)}function FromNumber2(schema,references,value){if(!TypeSystemPolicy.IsNumberLike(value))return!1;if(IsDefined(schema.exclusiveMaximum)&&!(value<schema.exclusiveMaximum))return!1;if(IsDefined(schema.exclusiveMinimum)&&!(value>schema.exclusiveMinimum))return!1;if(IsDefined(schema.minimum)&&!(value>=schema.minimum))return!1;if(IsDefined(schema.maximum)&&!(value<=schema.maximum))return!1;if(IsDefined(schema.multipleOf)&&value%schema.multipleOf!==0)return!1;return!0}function FromObject8(schema,references,value){if(!TypeSystemPolicy.IsObjectLike(value))return!1;if(IsDefined(schema.minProperties)&&!(Object.getOwnPropertyNames(value).length>=schema.minProperties))return!1;if(IsDefined(schema.maxProperties)&&!(Object.getOwnPropertyNames(value).length<=schema.maxProperties))return!1;let knownKeys=Object.getOwnPropertyNames(schema.properties);for(let knownKey of knownKeys){let property=schema.properties[knownKey];if(schema.required&&schema.required.includes(knownKey)){if(!Visit5(property,references,value[knownKey]))return!1;if((ExtendsUndefinedCheck(property)||IsAnyOrUnknown(property))&&!(knownKey in value))return!1}else if(TypeSystemPolicy.IsExactOptionalProperty(value,knownKey)&&!Visit5(property,references,value[knownKey]))return!1}if(schema.additionalProperties===!1){let valueKeys=Object.getOwnPropertyNames(value);if(schema.required&&schema.required.length===knownKeys.length&&valueKeys.length===knownKeys.length)return!0;else return valueKeys.every((valueKey)=>knownKeys.includes(valueKey))}else if(typeof schema.additionalProperties==="object")return Object.getOwnPropertyNames(value).every((key)=>knownKeys.includes(key)||Visit5(schema.additionalProperties,references,value[key]));else return!0}function FromPromise4(schema,references,value){return IsPromise(value)}function FromRecord4(schema,references,value){if(!TypeSystemPolicy.IsRecordLike(value))return!1;if(IsDefined(schema.minProperties)&&!(Object.getOwnPropertyNames(value).length>=schema.minProperties))return!1;if(IsDefined(schema.maxProperties)&&!(Object.getOwnPropertyNames(value).length<=schema.maxProperties))return!1;let[patternKey,patternSchema]=Object.entries(schema.patternProperties)[0],regex=new RegExp(patternKey),check1=Object.entries(value).every(([key,value])=>regex.test(key)?Visit5(patternSchema,references,value):!0),check2=typeof schema.additionalProperties==="object"?Object.entries(value).every(([key,value])=>!regex.test(key)?Visit5(schema.additionalProperties,references,value):!0):!0,check3=schema.additionalProperties===!1?Object.getOwnPropertyNames(value).every((key)=>regex.test(key)):!0;return check1&&check2&&check3}function FromRef5(schema,references,value){return Visit5(Deref(schema,references),references,value)}function FromRegExp2(schema,references,value){let regex=new RegExp(schema.source,schema.flags);if(IsDefined(schema.minLength)){if(!(value.length>=schema.minLength))return!1}if(IsDefined(schema.maxLength)){if(!(value.length<=schema.maxLength))return!1}return regex.test(value)}function FromString2(schema,references,value){if(!IsString2(value))return!1;if(IsDefined(schema.minLength)){if(!(value.length>=schema.minLength))return!1}if(IsDefined(schema.maxLength)){if(!(value.length<=schema.maxLength))return!1}if(IsDefined(schema.pattern)){if(!new RegExp(schema.pattern).test(value))return!1}if(IsDefined(schema.format)){if(!Has(schema.format))return!1;return Get(schema.format)(value)}return!0}function FromSymbol2(schema,references,value){return IsSymbol2(value)}function FromTemplateLiteral4(schema,references,value){return IsString2(value)&&new RegExp(schema.pattern).test(value)}function FromThis(schema,references,value){return Visit5(Deref(schema,references),references,value)}function FromTuple6(schema,references,value){if(!IsArray2(value))return!1;if(schema.items===void 0&&value.length!==0)return!1;if(value.length!==schema.maxItems)return!1;if(!schema.items)return!0;for(let i=0;i<schema.items.length;i++)if(!Visit5(schema.items[i],references,value[i]))return!1;return!0}function FromUndefined2(schema,references,value){return IsUndefined2(value)}function FromUnion11(schema,references,value){return schema.anyOf.some((inner)=>Visit5(inner,references,value))}function FromUint8Array2(schema,references,value){if(!IsUint8Array2(value))return!1;if(IsDefined(schema.maxByteLength)&&!(value.length<=schema.maxByteLength))return!1;if(IsDefined(schema.minByteLength)&&!(value.length>=schema.minByteLength))return!1;return!0}function FromUnknown2(schema,references,value){return!0}function FromVoid2(schema,references,value){return TypeSystemPolicy.IsVoidLike(value)}function FromKind(schema,references,value){if(!Has2(schema[Kind]))return!1;return Get2(schema[Kind])(schema,value)}function Visit5(schema,references,value){let references_=IsDefined(schema.$id)?Pushref(schema,references):references,schema_=schema;switch(schema_[Kind]){case"Any":return FromAny2(schema_,references_,value);case"Argument":return FromArgument2(schema_,references_,value);case"Array":return FromArray7(schema_,references_,value);case"AsyncIterator":return FromAsyncIterator4(schema_,references_,value);case"BigInt":return FromBigInt2(schema_,references_,value);case"Boolean":return FromBoolean2(schema_,references_,value);case"Constructor":return FromConstructor4(schema_,references_,value);case"Date":return FromDate2(schema_,references_,value);case"Function":return FromFunction4(schema_,references_,value);case"Import":return FromImport(schema_,references_,value);case"Integer":return FromInteger2(schema_,references_,value);case"Intersect":return FromIntersect9(schema_,references_,value);case"Iterator":return FromIterator4(schema_,references_,value);case"Literal":return FromLiteral3(schema_,references_,value);case"Never":return FromNever2(schema_,references_,value);case"Not":return FromNot2(schema_,references_,value);case"Null":return FromNull2(schema_,references_,value);case"Number":return FromNumber2(schema_,references_,value);case"Object":return FromObject8(schema_,references_,value);case"Promise":return FromPromise4(schema_,references_,value);case"Record":return FromRecord4(schema_,references_,value);case"Ref":return FromRef5(schema_,references_,value);case"RegExp":return FromRegExp2(schema_,references_,value);case"String":return FromString2(schema_,references_,value);case"Symbol":return FromSymbol2(schema_,references_,value);case"TemplateLiteral":return FromTemplateLiteral4(schema_,references_,value);case"This":return FromThis(schema_,references_,value);case"Tuple":return FromTuple6(schema_,references_,value);case"Undefined":return FromUndefined2(schema_,references_,value);case"Union":return FromUnion11(schema_,references_,value);case"Uint8Array":return FromUint8Array2(schema_,references_,value);case"Unknown":return FromUnknown2(schema_,references_,value);case"Void":return FromVoid2(schema_,references_,value);default:if(!Has2(schema_[Kind]))throw new ValueCheckUnknownTypeError(schema_);return FromKind(schema_,references_,value)}}function Check(...args){return args.length===3?Visit5(args[0],args[1],args[2]):Visit5(args[0],[],args[1])}var ValueErrorType;(function(ValueErrorType){ValueErrorType[ValueErrorType.ArrayContains=0]="ArrayContains",ValueErrorType[ValueErrorType.ArrayMaxContains=1]="ArrayMaxContains",ValueErrorType[ValueErrorType.ArrayMaxItems=2]="ArrayMaxItems",ValueErrorType[ValueErrorType.ArrayMinContains=3]="ArrayMinContains",ValueErrorType[ValueErrorType.ArrayMinItems=4]="ArrayMinItems",ValueErrorType[ValueErrorType.ArrayUniqueItems=5]="ArrayUniqueItems",ValueErrorType[ValueErrorType.Array=6]="Array",ValueErrorType[ValueErrorType.AsyncIterator=7]="AsyncIterator",ValueErrorType[ValueErrorType.BigIntExclusiveMaximum=8]="BigIntExclusiveMaximum",ValueErrorType[ValueErrorType.BigIntExclusiveMinimum=9]="BigIntExclusiveMinimum",ValueErrorType[ValueErrorType.BigIntMaximum=10]="BigIntMaximum",ValueErrorType[ValueErrorType.BigIntMinimum=11]="BigIntMinimum",ValueErrorType[ValueErrorType.BigIntMultipleOf=12]="BigIntMultipleOf",ValueErrorType[ValueErrorType.BigInt=13]="BigInt",ValueErrorType[ValueErrorType.Boolean=14]="Boolean",ValueErrorType[ValueErrorType.DateExclusiveMaximumTimestamp=15]="DateExclusiveMaximumTimestamp",ValueErrorType[ValueErrorType.DateExclusiveMinimumTimestamp=16]="DateExclusiveMinimumTimestamp",ValueErrorType[ValueErrorType.DateMaximumTimestamp=17]="DateMaximumTimestamp",ValueErrorType[ValueErrorType.DateMinimumTimestamp=18]="DateMinimumTimestamp",ValueErrorType[ValueErrorType.DateMultipleOfTimestamp=19]="DateMultipleOfTimestamp",ValueErrorType[ValueErrorType.Date=20]="Date",ValueErrorType[ValueErrorType.Function=21]="Function",ValueErrorType[ValueErrorType.IntegerExclusiveMaximum=22]="IntegerExclusiveMaximum",ValueErrorType[ValueErrorType.IntegerExclusiveMinimum=23]="IntegerExclusiveMinimum",ValueErrorType[ValueErrorType.IntegerMaximum=24]="IntegerMaximum",ValueErrorType[ValueErrorType.IntegerMinimum=25]="IntegerMinimum",ValueErrorType[ValueErrorType.IntegerMultipleOf=26]="IntegerMultipleOf",ValueErrorType[ValueErrorType.Integer=27]="Integer",ValueErrorType[ValueErrorType.IntersectUnevaluatedProperties=28]="IntersectUnevaluatedProperties",ValueErrorType[ValueErrorType.Intersect=29]="Intersect",ValueErrorType[ValueErrorType.Iterator=30]="Iterator",ValueErrorType[ValueErrorType.Kind=31]="Kind",ValueErrorType[ValueErrorType.Literal=32]="Literal",ValueErrorType[ValueErrorType.Never=33]="Never",ValueErrorType[ValueErrorType.Not=34]="Not",ValueErrorType[ValueErrorType.Null=35]="Null",ValueErrorType[ValueErrorType.NumberExclusiveMaximum=36]="NumberExclusiveMaximum",ValueErrorType[ValueErrorType.NumberExclusiveMinimum=37]="NumberExclusiveMinimum",ValueErrorType[ValueErrorType.NumberMaximum=38]="NumberMaximum",ValueErrorType[ValueErrorType.NumberMinimum=39]="NumberMinimum",ValueErrorType[ValueErrorType.NumberMultipleOf=40]="NumberMultipleOf",ValueErrorType[ValueErrorType.Number=41]="Number",ValueErrorType[ValueErrorType.ObjectAdditionalProperties=42]="ObjectAdditionalProperties",ValueErrorType[ValueErrorType.ObjectMaxProperties=43]="ObjectMaxProperties",ValueErrorType[ValueErrorType.ObjectMinProperties=44]="ObjectMinProperties",ValueErrorType[ValueErrorType.ObjectRequiredProperty=45]="ObjectRequiredProperty",ValueErrorType[ValueErrorType.Object=46]="Object",ValueErrorType[ValueErrorType.Promise=47]="Promise",ValueErrorType[ValueErrorType.RegExp=48]="RegExp",ValueErrorType[ValueErrorType.StringFormatUnknown=49]="StringFormatUnknown",ValueErrorType[ValueErrorType.StringFormat=50]="StringFormat",ValueErrorType[ValueErrorType.StringMaxLength=51]="StringMaxLength",ValueErrorType[ValueErrorType.StringMinLength=52]="StringMinLength",ValueErrorType[ValueErrorType.StringPattern=53]="StringPattern",ValueErrorType[ValueErrorType.String=54]="String",ValueErrorType[ValueErrorType.Symbol=55]="Symbol",ValueErrorType[ValueErrorType.TupleLength=56]="TupleLength",ValueErrorType[ValueErrorType.Tuple=57]="Tuple",ValueErrorType[ValueErrorType.Uint8ArrayMaxByteLength=58]="Uint8ArrayMaxByteLength",ValueErrorType[ValueErrorType.Uint8ArrayMinByteLength=59]="Uint8ArrayMinByteLength",ValueErrorType[ValueErrorType.Uint8Array=60]="Uint8Array",ValueErrorType[ValueErrorType.Undefined=61]="Undefined",ValueErrorType[ValueErrorType.Union=62]="Union",ValueErrorType[ValueErrorType.Void=63]="Void"})(ValueErrorType||(ValueErrorType={}));class ValueErrorsUnknownTypeError extends TypeBoxError{constructor(schema){super("Unknown type");this.schema=schema}}function EscapeKey(key){return key.replace(/~/g,"~0").replace(/\//g,"~1")}function IsDefined2(value){return value!==void 0}class ValueErrorIterator{constructor(iterator){this.iterator=iterator}[Symbol.iterator](){return this.iterator}First(){let next=this.iterator.next();return next.done?void 0:next.value}}function Create(errorType,schema,path,value,errors=[]){return{type:errorType,schema,path,value,message:GetErrorFunction()({errorType,path,schema,value,errors}),errors}}function*FromAny3(schema,references,path,value){}function*FromArgument3(schema,references,path,value){}function*FromArray8(schema,references,path,value){if(!IsArray2(value))return yield Create(ValueErrorType.Array,schema,path,value);if(IsDefined2(schema.minItems)&&!(value.length>=schema.minItems))yield Create(ValueErrorType.ArrayMinItems,schema,path,value);if(IsDefined2(schema.maxItems)&&!(value.length<=schema.maxItems))yield Create(ValueErrorType.ArrayMaxItems,schema,path,value);for(let i=0;i<value.length;i++)yield*Visit6(schema.items,references,`${path}/${i}`,value[i]);if(schema.uniqueItems===!0&&!function(){let set=new Set;for(let element of value){let hashed=Hash(element);if(set.has(hashed))return!1;else set.add(hashed)}return!0}())yield Create(ValueErrorType.ArrayUniqueItems,schema,path,value);if(!(IsDefined2(schema.contains)||IsDefined2(schema.minContains)||IsDefined2(schema.maxContains)))return;let containsSchema=IsDefined2(schema.contains)?schema.contains:Never(),containsCount=value.reduce((acc,value,index)=>Visit6(containsSchema,references,`${path}${index}`,value).next().done===!0?acc+1:acc,0);if(containsCount===0)yield Create(ValueErrorType.ArrayContains,schema,path,value);if(IsNumber2(schema.minContains)&&containsCount<schema.minContains)yield Create(ValueErrorType.ArrayMinContains,schema,path,value);if(IsNumber2(schema.maxContains)&&containsCount>schema.maxContains)yield Create(ValueErrorType.ArrayMaxContains,schema,path,value)}function*FromAsyncIterator5(schema,references,path,value){if(!IsAsyncIterator2(value))yield Create(ValueErrorType.AsyncIterator,schema,path,value)}function*FromBigInt3(schema,references,path,value){if(!IsBigInt2(value))return yield Create(ValueErrorType.BigInt,schema,path,value);if(IsDefined2(schema.exclusiveMaximum)&&!(value<schema.exclusiveMaximum))yield Create(ValueErrorType.BigIntExclusiveMaximum,schema,path,value);if(IsDefined2(schema.exclusiveMinimum)&&!(value>schema.exclusiveMinimum))yield Create(ValueErrorType.BigIntExclusiveMinimum,schema,path,value);if(IsDefined2(schema.maximum)&&!(value<=schema.maximum))yield Create(ValueErrorType.BigIntMaximum,schema,path,value);if(IsDefined2(schema.minimum)&&!(value>=schema.minimum))yield Create(ValueErrorType.BigIntMinimum,schema,path,value);if(IsDefined2(schema.multipleOf)&&value%schema.multipleOf!==BigInt(0))yield Create(ValueErrorType.BigIntMultipleOf,schema,path,value)}function*FromBoolean3(schema,references,path,value){if(!IsBoolean2(value))yield Create(ValueErrorType.Boolean,schema,path,value)}function*FromConstructor5(schema,references,path,value){yield*Visit6(schema.returns,references,path,value.prototype)}function*FromDate3(schema,references,path,value){if(!IsDate2(value))return yield Create(ValueErrorType.Date,schema,path,value);if(IsDefined2(schema.exclusiveMaximumTimestamp)&&!(value.getTime()<schema.exclusiveMaximumTimestamp))yield Create(ValueErrorType.DateExclusiveMaximumTimestamp,schema,path,value);if(IsDefined2(schema.exclusiveMinimumTimestamp)&&!(value.getTime()>schema.exclusiveMinimumTimestamp))yield Create(ValueErrorType.DateExclusiveMinimumTimestamp,schema,path,value);if(IsDefined2(schema.maximumTimestamp)&&!(value.getTime()<=schema.maximumTimestamp))yield Create(ValueErrorType.DateMaximumTimestamp,schema,path,value);if(IsDefined2(schema.minimumTimestamp)&&!(value.getTime()>=schema.minimumTimestamp))yield Create(ValueErrorType.DateMinimumTimestamp,schema,path,value);if(IsDefined2(schema.multipleOfTimestamp)&&value.getTime()%schema.multipleOfTimestamp!==0)yield Create(ValueErrorType.DateMultipleOfTimestamp,schema,path,value)}function*FromFunction5(schema,references,path,value){if(!IsFunction2(value))yield Create(ValueErrorType.Function,schema,path,value)}function*FromImport2(schema,references,path,value){let definitions=globalThis.Object.values(schema.$defs),target=schema.$defs[schema.$ref];yield*Visit6(target,[...references,...definitions],path,value)}function*FromInteger3(schema,references,path,value){if(!IsInteger(value))return yield Create(ValueErrorType.Integer,schema,path,value);if(IsDefined2(schema.exclusiveMaximum)&&!(value<schema.exclusiveMaximum))yield Create(ValueErrorType.IntegerExclusiveMaximum,schema,path,value);if(IsDefined2(schema.exclusiveMinimum)&&!(value>schema.exclusiveMinimum))yield Create(ValueErrorType.IntegerExclusiveMinimum,schema,path,value);if(IsDefined2(schema.maximum)&&!(value<=schema.maximum))yield Create(ValueErrorType.IntegerMaximum,schema,path,value);if(IsDefined2(schema.minimum)&&!(value>=schema.minimum))yield Create(ValueErrorType.IntegerMinimum,schema,path,value);if(IsDefined2(schema.multipleOf)&&value%schema.multipleOf!==0)yield Create(ValueErrorType.IntegerMultipleOf,schema,path,value)}function*FromIntersect10(schema,references,path,value){let hasError=!1;for(let inner of schema.allOf)for(let error of Visit6(inner,references,path,value))hasError=!0,yield error;if(hasError)return yield Create(ValueErrorType.Intersect,schema,path,value);if(schema.unevaluatedProperties===!1){let keyCheck=new RegExp(KeyOfPattern(schema));for(let valueKey of Object.getOwnPropertyNames(value))if(!keyCheck.test(valueKey))yield Create(ValueErrorType.IntersectUnevaluatedProperties,schema,`${path}/${valueKey}`,value)}if(typeof schema.unevaluatedProperties==="object"){let keyCheck=new RegExp(KeyOfPattern(schema));for(let valueKey of Object.getOwnPropertyNames(value))if(!keyCheck.test(valueKey)){let next=Visit6(schema.unevaluatedProperties,references,`${path}/${valueKey}`,value[valueKey]).next();if(!next.done)yield next.value}}}function*FromIterator5(schema,references,path,value){if(!IsIterator2(value))yield Create(ValueErrorType.Iterator,schema,path,value)}function*FromLiteral4(schema,references,path,value){if(value!==schema.const)yield Create(ValueErrorType.Literal,schema,path,value)}function*FromNever3(schema,references,path,value){yield Create(ValueErrorType.Never,schema,path,value)}function*FromNot3(schema,references,path,value){if(Visit6(schema.not,references,path,value).next().done===!0)yield Create(ValueErrorType.Not,schema,path,value)}function*FromNull3(schema,references,path,value){if(!IsNull2(value))yield Create(ValueErrorType.Null,schema,path,value)}function*FromNumber3(schema,references,path,value){if(!TypeSystemPolicy.IsNumberLike(value))return yield Create(ValueErrorType.Number,schema,path,value);if(IsDefined2(schema.exclusiveMaximum)&&!(value<schema.exclusiveMaximum))yield Create(ValueErrorType.NumberExclusiveMaximum,schema,path,value);if(IsDefined2(schema.exclusiveMinimum)&&!(value>schema.exclusiveMinimum))yield Create(ValueErrorType.NumberExclusiveMinimum,schema,path,value);if(IsDefined2(schema.maximum)&&!(value<=schema.maximum))yield Create(ValueErrorType.NumberMaximum,schema,path,value);if(IsDefined2(schema.minimum)&&!(value>=schema.minimum))yield Create(ValueErrorType.NumberMinimum,schema,path,value);if(IsDefined2(schema.multipleOf)&&value%schema.multipleOf!==0)yield Create(ValueErrorType.NumberMultipleOf,schema,path,value)}function*FromObject9(schema,references,path,value){if(!TypeSystemPolicy.IsObjectLike(value))return yield Create(ValueErrorType.Object,schema,path,value);if(IsDefined2(schema.minProperties)&&!(Object.getOwnPropertyNames(value).length>=schema.minProperties))yield Create(ValueErrorType.ObjectMinProperties,schema,path,value);if(IsDefined2(schema.maxProperties)&&!(Object.getOwnPropertyNames(value).length<=schema.maxProperties))yield Create(ValueErrorType.ObjectMaxProperties,schema,path,value);let requiredKeys=Array.isArray(schema.required)?schema.required:[],knownKeys=Object.getOwnPropertyNames(schema.properties),unknownKeys=Object.getOwnPropertyNames(value);for(let requiredKey of requiredKeys){if(unknownKeys.includes(requiredKey))continue;yield Create(ValueErrorType.ObjectRequiredProperty,schema.properties[requiredKey],`${path}/${EscapeKey(requiredKey)}`,void 0)}if(schema.additionalProperties===!1){for(let valueKey of unknownKeys)if(!knownKeys.includes(valueKey))yield Create(ValueErrorType.ObjectAdditionalProperties,schema,`${path}/${EscapeKey(valueKey)}`,value[valueKey])}if(typeof schema.additionalProperties==="object")for(let valueKey of unknownKeys){if(knownKeys.includes(valueKey))continue;yield*Visit6(schema.additionalProperties,references,`${path}/${EscapeKey(valueKey)}`,value[valueKey])}for(let knownKey of knownKeys){let property=schema.properties[knownKey];if(schema.required&&schema.required.includes(knownKey)){if(yield*Visit6(property,references,`${path}/${EscapeKey(knownKey)}`,value[knownKey]),ExtendsUndefinedCheck(schema)&&!(knownKey in value))yield Create(ValueErrorType.ObjectRequiredProperty,property,`${path}/${EscapeKey(knownKey)}`,void 0)}else if(TypeSystemPolicy.IsExactOptionalProperty(value,knownKey))yield*Visit6(property,references,`${path}/${EscapeKey(knownKey)}`,value[knownKey])}}function*FromPromise5(schema,references,path,value){if(!IsPromise(value))yield Create(ValueErrorType.Promise,schema,path,value)}function*FromRecord5(schema,references,path,value){if(!TypeSystemPolicy.IsRecordLike(value))return yield Create(ValueErrorType.Object,schema,path,value);if(IsDefined2(schema.minProperties)&&!(Object.getOwnPropertyNames(value).length>=schema.minProperties))yield Create(ValueErrorType.ObjectMinProperties,schema,path,value);if(IsDefined2(schema.maxProperties)&&!(Object.getOwnPropertyNames(value).length<=schema.maxProperties))yield Create(ValueErrorType.ObjectMaxProperties,schema,path,value);let[patternKey,patternSchema]=Object.entries(schema.patternProperties)[0],regex=new RegExp(patternKey);for(let[propertyKey,propertyValue]of Object.entries(value))if(regex.test(propertyKey))yield*Visit6(patternSchema,references,`${path}/${EscapeKey(propertyKey)}`,propertyValue);if(typeof schema.additionalProperties==="object"){for(let[propertyKey,propertyValue]of Object.entries(value))if(!regex.test(propertyKey))yield*Visit6(schema.additionalProperties,references,`${path}/${EscapeKey(propertyKey)}`,propertyValue)}if(schema.additionalProperties===!1)for(let[propertyKey,propertyValue]of Object.entries(value)){if(regex.test(propertyKey))continue;return yield Create(ValueErrorType.ObjectAdditionalProperties,schema,`${path}/${EscapeKey(propertyKey)}`,propertyValue)}}function*FromRef6(schema,references,path,value){yield*Visit6(Deref(schema,references),references,path,value)}function*FromRegExp3(schema,references,path,value){if(!IsString2(value))return yield Create(ValueErrorType.String,schema,path,value);if(IsDefined2(schema.minLength)&&!(value.length>=schema.minLength))yield Create(ValueErrorType.StringMinLength,schema,path,value);if(IsDefined2(schema.maxLength)&&!(value.length<=schema.maxLength))yield Create(ValueErrorType.StringMaxLength,schema,path,value);if(!new RegExp(schema.source,schema.flags).test(value))return yield Create(ValueErrorType.RegExp,schema,path,value)}function*FromString3(schema,references,path,value){if(!IsString2(value))return yield Create(ValueErrorType.String,schema,path,value);if(IsDefined2(schema.minLength)&&!(value.length>=schema.minLength))yield Create(ValueErrorType.StringMinLength,schema,path,value);if(IsDefined2(schema.maxLength)&&!(value.length<=schema.maxLength))yield Create(ValueErrorType.StringMaxLength,schema,path,value);if(IsString2(schema.pattern)){if(!new RegExp(schema.pattern).test(value))yield Create(ValueErrorType.StringPattern,schema,path,value)}if(IsString2(schema.format)){if(!Has(schema.format))yield Create(ValueErrorType.StringFormatUnknown,schema,path,value);else if(!Get(schema.format)(value))yield Create(ValueErrorType.StringFormat,schema,path,value)}}function*FromSymbol3(schema,references,path,value){if(!IsSymbol2(value))yield Create(ValueErrorType.Symbol,schema,path,value)}function*FromTemplateLiteral5(schema,references,path,value){if(!IsString2(value))return yield Create(ValueErrorType.String,schema,path,value);if(!new RegExp(schema.pattern).test(value))yield Create(ValueErrorType.StringPattern,schema,path,value)}function*FromThis2(schema,references,path,value){yield*Visit6(Deref(schema,references),references,path,value)}function*FromTuple7(schema,references,path,value){if(!IsArray2(value))return yield Create(ValueErrorType.Tuple,schema,path,value);if(schema.items===void 0&&value.length!==0)return yield Create(ValueErrorType.TupleLength,schema,path,value);if(value.length!==schema.maxItems)return yield Create(ValueErrorType.TupleLength,schema,path,value);if(!schema.items)return;for(let i=0;i<schema.items.length;i++)yield*Visit6(schema.items[i],references,`${path}/${i}`,value[i])}function*FromUndefined3(schema,references,path,value){if(!IsUndefined2(value))yield Create(ValueErrorType.Undefined,schema,path,value)}function*FromUnion12(schema,references,path,value){if(Check(schema,references,value))return;let errors=schema.anyOf.map((variant)=>new ValueErrorIterator(Visit6(variant,references,path,value)));yield Create(ValueErrorType.Union,schema,path,value,errors)}function*FromUint8Array3(schema,references,path,value){if(!IsUint8Array2(value))return yield Create(ValueErrorType.Uint8Array,schema,path,value);if(IsDefined2(schema.maxByteLength)&&!(value.length<=schema.maxByteLength))yield Create(ValueErrorType.Uint8ArrayMaxByteLength,schema,path,value);if(IsDefined2(schema.minByteLength)&&!(value.length>=schema.minByteLength))yield Create(ValueErrorType.Uint8ArrayMinByteLength,schema,path,value)}function*FromUnknown3(schema,references,path,value){}function*FromVoid3(schema,references,path,value){if(!TypeSystemPolicy.IsVoidLike(value))yield Create(ValueErrorType.Void,schema,path,value)}function*FromKind2(schema,references,path,value){if(!Get2(schema[Kind])(schema,value))yield Create(ValueErrorType.Kind,schema,path,value)}function*Visit6(schema,references,path,value){let references_=IsDefined2(schema.$id)?[...references,schema]:references,schema_=schema;switch(schema_[Kind]){case"Any":return yield*FromAny3(schema_,references_,path,value);case"Argument":return yield*FromArgument3(schema_,references_,path,value);case"Array":return yield*FromArray8(schema_,references_,path,value);case"AsyncIterator":return yield*FromAsyncIterator5(schema_,references_,path,value);case"BigInt":return yield*FromBigInt3(schema_,references_,path,value);case"Boolean":return yield*FromBoolean3(schema_,references_,path,value);case"Constructor":return yield*FromConstructor5(schema_,references_,path,value);case"Date":return yield*FromDate3(schema_,references_,path,value);case"Function":return yield*FromFunction5(schema_,references_,path,value);case"Import":return yield*FromImport2(schema_,references_,path,value);case"Integer":return yield*FromInteger3(schema_,references_,path,value);case"Intersect":return yield*FromIntersect10(schema_,references_,path,value);case"Iterator":return yield*FromIterator5(schema_,references_,path,value);case"Literal":return yield*FromLiteral4(schema_,references_,path,value);case"Never":return yield*FromNever3(schema_,references_,path,value);case"Not":return yield*FromNot3(schema_,references_,path,value);case"Null":return yield*FromNull3(schema_,references_,path,value);case"Number":return yield*FromNumber3(schema_,references_,path,value);case"Object":return yield*FromObject9(schema_,references_,path,value);case"Promise":return yield*FromPromise5(schema_,references_,path,value);case"Record":return yield*FromRecord5(schema_,references_,path,value);case"Ref":return yield*FromRef6(schema_,references_,path,value);case"RegExp":return yield*FromRegExp3(schema_,references_,path,value);case"String":return yield*FromString3(schema_,references_,path,value);case"Symbol":return yield*FromSymbol3(schema_,references_,path,value);case"TemplateLiteral":return yield*FromTemplateLiteral5(schema_,references_,path,value);case"This":return yield*FromThis2(schema_,references_,path,value);case"Tuple":return yield*FromTuple7(schema_,references_,path,value);case"Undefined":return yield*FromUndefined3(schema_,references_,path,value);case"Union":return yield*FromUnion12(schema_,references_,path,value);case"Uint8Array":return yield*FromUint8Array3(schema_,references_,path,value);case"Unknown":return yield*FromUnknown3(schema_,references_,path,value);case"Void":return yield*FromVoid3(schema_,references_,path,value);default:if(!Has2(schema_[Kind]))throw new ValueErrorsUnknownTypeError(schema);return yield*FromKind2(schema_,references_,path,value)}}function Errors(...args){let iterator=args.length===3?Visit6(args[0],args[1],"",args[2]):Visit6(args[0],[],"",args[1]);return new ValueErrorIterator(iterator)}function FromObject10(value){let Acc={};for(let key of Object.getOwnPropertyNames(value))Acc[key]=Clone2(value[key]);for(let key of Object.getOwnPropertySymbols(value))Acc[key]=Clone2(value[key]);return Acc}function FromArray9(value){return value.map((element)=>Clone2(element))}function FromTypedArray(value){return value.slice()}function FromMap(value){return new Map(Clone2([...value.entries()]))}function FromSet(value){return new Set(Clone2([...value.entries()]))}function FromDate4(value){return new Date(value.toISOString())}function FromValue2(value){return value}function Clone2(value){if(IsArray2(value))return FromArray9(value);if(IsDate2(value))return FromDate4(value);if(IsTypedArray(value))return FromTypedArray(value);if(IsMap(value))return FromMap(value);if(IsSet(value))return FromSet(value);if(IsObject2(value))return FromObject10(value);if(IsValueType(value))return FromValue2(value);throw Error("ValueClone: Unable to clone value")}class ValueCreateError extends TypeBoxError{constructor(schema,message){super(message);this.schema=schema}}function FromDefault(value){return IsFunction2(value)?value():Clone2(value)}function FromAny4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return{}}function FromArgument4(schema,references){return{}}function FromArray10(schema,references){if(schema.uniqueItems===!0&&!HasPropertyKey(schema,"default"))throw new ValueCreateError(schema,"Array with the uniqueItems constraint requires a default value");else if("contains"in schema&&!HasPropertyKey(schema,"default"))throw new ValueCreateError(schema,"Array with the contains constraint requires a default value");else if("default"in schema)return FromDefault(schema.default);else if(schema.minItems!==void 0)return Array.from({length:schema.minItems}).map((item)=>Visit7(schema.items,references));else return[]}function FromAsyncIterator6(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return async function*(){}()}function FromBigInt4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return BigInt(0)}function FromBoolean4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return!1}function FromConstructor6(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else{let value=Visit7(schema.returns,references);if(typeof value==="object"&&!Array.isArray(value))return class{constructor(){for(let[key,val]of Object.entries(value)){let self=this;self[key]=val}}};else return class{}}}function FromDate5(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else if(schema.minimumTimestamp!==void 0)return new Date(schema.minimumTimestamp);else return new Date}function FromFunction6(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return()=>Visit7(schema.returns,references)}function FromImport3(schema,references){let definitions=globalThis.Object.values(schema.$defs),target=schema.$defs[schema.$ref];return Visit7(target,[...references,...definitions])}function FromInteger4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else if(schema.minimum!==void 0)return schema.minimum;else return 0}function FromIntersect11(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else{let value=schema.allOf.reduce((acc,schema)=>{let next=Visit7(schema,references);return typeof next==="object"?{...acc,...next}:next},{});if(!Check(schema,references,value))throw new ValueCreateError(schema,"Intersect produced invalid value. Consider using a default value.");return value}}function FromIterator6(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return function*(){}()}function FromLiteral5(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return schema.const}function FromNever4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else throw new ValueCreateError(schema,"Never types cannot be created. Consider using a default value.")}function FromNot4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else throw new ValueCreateError(schema,"Not types must have a default value")}function FromNull4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return null}function FromNumber4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else if(schema.minimum!==void 0)return schema.minimum;else return 0}function FromObject11(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else{let required=new Set(schema.required),Acc={};for(let[key,subschema]of Object.entries(schema.properties)){if(!required.has(key))continue;Acc[key]=Visit7(subschema,references)}return Acc}}function FromPromise6(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return Promise.resolve(Visit7(schema.item,references))}function FromRecord6(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return{}}function FromRef7(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return Visit7(Deref(schema,references),references)}function FromRegExp4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else throw new ValueCreateError(schema,"RegExp types cannot be created. Consider using a default value.")}function FromString4(schema,references){if(schema.pattern!==void 0)if(!HasPropertyKey(schema,"default"))throw new ValueCreateError(schema,"String types with patterns must specify a default value");else return FromDefault(schema.default);else if(schema.format!==void 0)if(!HasPropertyKey(schema,"default"))throw new ValueCreateError(schema,"String types with formats must specify a default value");else return FromDefault(schema.default);else if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else if(schema.minLength!==void 0)return Array.from({length:schema.minLength}).map(()=>" ").join("");else return""}function FromSymbol4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else if("value"in schema)return Symbol.for(schema.value);else return Symbol()}function FromTemplateLiteral6(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);if(!IsTemplateLiteralFinite(schema))throw new ValueCreateError(schema,"Can only create template literals that produce a finite variants. Consider using a default value.");return TemplateLiteralGenerate(schema)[0]}function FromThis3(schema,references){if(recursiveDepth++>recursiveMaxDepth)throw new ValueCreateError(schema,"Cannot create recursive type as it appears possibly infinite. Consider using a default.");if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return Visit7(Deref(schema,references),references)}function FromTuple8(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);if(schema.items===void 0)return[];else return Array.from({length:schema.minItems}).map((_,index)=>Visit7(schema.items[index],references))}function FromUndefined4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return}function FromUnion13(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else if(schema.anyOf.length===0)throw Error("ValueCreate.Union: Cannot create Union with zero variants");else return Visit7(schema.anyOf[0],references)}function FromUint8Array4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else if(schema.minByteLength!==void 0)return new Uint8Array(schema.minByteLength);else return new Uint8Array(0)}function FromUnknown4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return{}}function FromVoid4(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else return}function FromKind3(schema,references){if(HasPropertyKey(schema,"default"))return FromDefault(schema.default);else throw Error("User defined types must specify a default value")}function Visit7(schema,references){let references_=Pushref(schema,references),schema_=schema;switch(schema_[Kind]){case"Any":return FromAny4(schema_,references_);case"Argument":return FromArgument4(schema_,references_);case"Array":return FromArray10(schema_,references_);case"AsyncIterator":return FromAsyncIterator6(schema_,references_);case"BigInt":return FromBigInt4(schema_,references_);case"Boolean":return FromBoolean4(schema_,references_);case"Constructor":return FromConstructor6(schema_,references_);case"Date":return FromDate5(schema_,references_);case"Function":return FromFunction6(schema_,references_);case"Import":return FromImport3(schema_,references_);case"Integer":return FromInteger4(schema_,references_);case"Intersect":return FromIntersect11(schema_,references_);case"Iterator":return FromIterator6(schema_,references_);case"Literal":return FromLiteral5(schema_,references_);case"Never":return FromNever4(schema_,references_);case"Not":return FromNot4(schema_,references_);case"Null":return FromNull4(schema_,references_);case"Number":return FromNumber4(schema_,references_);case"Object":return FromObject11(schema_,references_);case"Promise":return FromPromise6(schema_,references_);case"Record":return FromRecord6(schema_,references_);case"Ref":return FromRef7(schema_,references_);case"RegExp":return FromRegExp4(schema_,references_);case"String":return FromString4(schema_,references_);case"Symbol":return FromSymbol4(schema_,references_);case"TemplateLiteral":return FromTemplateLiteral6(schema_,references_);case"This":return FromThis3(schema_,references_);case"Tuple":return FromTuple8(schema_,references_);case"Undefined":return FromUndefined4(schema_,references_);case"Union":return FromUnion13(schema_,references_);case"Uint8Array":return FromUint8Array4(schema_,references_);case"Unknown":return FromUnknown4(schema_,references_);case"Void":return FromVoid4(schema_,references_);default:if(!Has2(schema_[Kind]))throw new ValueCreateError(schema_,"Unknown type");return FromKind3(schema_,references_)}}var recursiveMaxDepth=512,recursiveDepth=0;function Create2(...args){return recursiveDepth=0,args.length===2?Visit7(args[0],args[1]):Visit7(args[0],[])}function IsCheckable(schema){return IsKind(schema)&&schema[Kind]!=="Unsafe"}function FromArray11(schema,references,value){if(!IsArray2(value))return value;return value.map((value)=>Visit8(schema.items,references,value))}function FromImport4(schema,references,value){let definitions=globalThis.Object.values(schema.$defs),target=schema.$defs[schema.$ref];return Visit8(target,[...references,...definitions],value)}function FromIntersect12(schema,references,value){let unevaluatedProperties=schema.unevaluatedProperties,composite=schema.allOf.map((schema)=>Visit8(schema,references,Clone2(value))).reduce((acc,value)=>IsObject2(value)?{...acc,...value}:value,{});if(!IsObject2(value)||!IsObject2(composite)||!IsKind(unevaluatedProperties))return composite;let knownkeys=KeyOfPropertyKeys(schema);for(let key of Object.getOwnPropertyNames(value)){if(knownkeys.includes(key))continue;if(Check(unevaluatedProperties,references,value[key]))composite[key]=Visit8(unevaluatedProperties,references,value[key])}return composite}function FromObject12(schema,references,value){if(!IsObject2(value)||IsArray2(value))return value;let additionalProperties=schema.additionalProperties;for(let key of Object.getOwnPropertyNames(value)){if(HasPropertyKey(schema.properties,key)){value[key]=Visit8(schema.properties[key],references,value[key]);continue}if(IsKind(additionalProperties)&&Check(additionalProperties,references,value[key])){value[key]=Visit8(additionalProperties,references,value[key]);continue}delete value[key]}return value}function FromRecord7(schema,references,value){if(!IsObject2(value))return value;let additionalProperties=schema.additionalProperties,propertyKeys=Object.getOwnPropertyNames(value),[propertyKey,propertySchema]=Object.entries(schema.patternProperties)[0],propertyKeyTest=new RegExp(propertyKey);for(let key of propertyKeys){if(propertyKeyTest.test(key)){value[key]=Visit8(propertySchema,references,value[key]);continue}if(IsKind(additionalProperties)&&Check(additionalProperties,references,value[key])){value[key]=Visit8(additionalProperties,references,value[key]);continue}delete value[key]}return value}function FromRef8(schema,references,value){return Visit8(Deref(schema,references),references,value)}function FromThis4(schema,references,value){return Visit8(Deref(schema,references),references,value)}function FromTuple9(schema,references,value){if(!IsArray2(value))return value;if(IsUndefined2(schema.items))return[];let length=Math.min(value.length,schema.items.length);for(let i=0;i<length;i++)value[i]=Visit8(schema.items[i],references,value[i]);return value.length>length?value.slice(0,length):value}function FromUnion14(schema,references,value){for(let inner of schema.anyOf)if(IsCheckable(inner)&&Check(inner,references,value))return Visit8(inner,references,value);return value}function Visit8(schema,references,value){let references_=IsString2(schema.$id)?Pushref(schema,references):references,schema_=schema;switch(schema_[Kind]){case"Array":return FromArray11(schema_,references_,value);case"Import":return FromImport4(schema_,references_,value);case"Intersect":return FromIntersect12(schema_,references_,value);case"Object":return FromObject12(schema_,references_,value);case"Record":return FromRecord7(schema_,references_,value);case"Ref":return FromRef8(schema_,references_,value);case"This":return FromThis4(schema_,references_,value);case"Tuple":return FromTuple9(schema_,references_,value);case"Union":return FromUnion14(schema_,references_,value);default:return value}}function Clean(...args){return args.length===3?Visit8(args[0],args[1],args[2]):Visit8(args[0],[],args[1])}class TransformDecodeCheckError extends TypeBoxError{constructor(schema,value,error){super("Unable to decode value as it does not match the expected schema");this.schema=schema,this.value=value,this.error=error}}class TransformDecodeError extends TypeBoxError{constructor(schema,path,value,error){super(error instanceof Error?error.message:"Unknown error");this.schema=schema,this.path=path,this.value=value,this.error=error}}function Default(schema,path,value){try{return IsTransform(schema)?schema[TransformKind].Decode(value):value}catch(error){throw new TransformDecodeError(schema,path,value,error)}}function FromArray12(schema,references,path,value){return IsArray2(value)?Default(schema,path,value.map((value,index)=>Visit9(schema.items,references,`${path}/${index}`,value))):Default(schema,path,value)}function FromIntersect13(schema,references,path,value){if(!IsObject2(value)||IsValueType(value))return Default(schema,path,value);let knownEntries=KeyOfPropertyEntries(schema),knownKeys=knownEntries.map((entry)=>entry[0]),knownProperties={...value};for(let[knownKey,knownSchema]of knownEntries)if(knownKey in knownProperties)knownProperties[knownKey]=Visit9(knownSchema,references,`${path}/${knownKey}`,knownProperties[knownKey]);if(!IsTransform(schema.unevaluatedProperties))return Default(schema,path,knownProperties);let unknownKeys=Object.getOwnPropertyNames(knownProperties),unevaluatedProperties=schema.unevaluatedProperties,unknownProperties={...knownProperties};for(let key of unknownKeys)if(!knownKeys.includes(key))unknownProperties[key]=Default(unevaluatedProperties,`${path}/${key}`,unknownProperties[key]);return Default(schema,path,unknownProperties)}function FromImport5(schema,references,path,value){let additional=globalThis.Object.values(schema.$defs),target=schema.$defs[schema.$ref],result=Visit9(target,[...references,...additional],path,value);return Default(schema,path,result)}function FromNot5(schema,references,path,value){return Default(schema,path,Visit9(schema.not,references,path,value))}function FromObject13(schema,references,path,value){if(!IsObject2(value))return Default(schema,path,value);let knownKeys=KeyOfPropertyKeys(schema),knownProperties={...value};for(let key of knownKeys){if(!HasPropertyKey(knownProperties,key))continue;if(IsUndefined2(knownProperties[key])&&(!IsUndefined3(schema.properties[key])||TypeSystemPolicy.IsExactOptionalProperty(knownProperties,key)))continue;knownProperties[key]=Visit9(schema.properties[key],references,`${path}/${key}`,knownProperties[key])}if(!IsSchema(schema.additionalProperties))return Default(schema,path,knownProperties);let unknownKeys=Object.getOwnPropertyNames(knownProperties),additionalProperties=schema.additionalProperties,unknownProperties={...knownProperties};for(let key of unknownKeys)if(!knownKeys.includes(key))unknownProperties[key]=Default(additionalProperties,`${path}/${key}`,unknownProperties[key]);return Default(schema,path,unknownProperties)}function FromRecord8(schema,references,path,value){if(!IsObject2(value))return Default(schema,path,value);let pattern=Object.getOwnPropertyNames(schema.patternProperties)[0],knownKeys=new RegExp(pattern),knownProperties={...value};for(let key of Object.getOwnPropertyNames(value))if(knownKeys.test(key))knownProperties[key]=Visit9(schema.patternProperties[pattern],references,`${path}/${key}`,knownProperties[key]);if(!IsSchema(schema.additionalProperties))return Default(schema,path,knownProperties);let unknownKeys=Object.getOwnPropertyNames(knownProperties),additionalProperties=schema.additionalProperties,unknownProperties={...knownProperties};for(let key of unknownKeys)if(!knownKeys.test(key))unknownProperties[key]=Default(additionalProperties,`${path}/${key}`,unknownProperties[key]);return Default(schema,path,unknownProperties)}function FromRef9(schema,references,path,value){let target=Deref(schema,references);return Default(schema,path,Visit9(target,references,path,value))}function FromThis5(schema,references,path,value){let target=Deref(schema,references);return Default(schema,path,Visit9(target,references,path,value))}function FromTuple10(schema,references,path,value){return IsArray2(value)&&IsArray2(schema.items)?Default(schema,path,schema.items.map((schema,index)=>Visit9(schema,references,`${path}/${index}`,value[index]))):Default(schema,path,value)}function FromUnion15(schema,references,path,value){for(let subschema of schema.anyOf){if(!Check(subschema,references,value))continue;let decoded=Visit9(subschema,references,path,value);return Default(schema,path,decoded)}return Default(schema,path,value)}function Visit9(schema,references,path,value){let references_=Pushref(schema,references),schema_=schema;switch(schema[Kind]){case"Array":return FromArray12(schema_,references_,path,value);case"Import":return FromImport5(schema_,references_,path,value);case"Intersect":return FromIntersect13(schema_,references_,path,value);case"Not":return FromNot5(schema_,references_,path,value);case"Object":return FromObject13(schema_,references_,path,value);case"Record":return FromRecord8(schema_,references_,path,value);case"Ref":return FromRef9(schema_,references_,path,value);case"Symbol":return Default(schema_,path,value);case"This":return FromThis5(schema_,references_,path,value);case"Tuple":return FromTuple10(schema_,references_,path,value);case"Union":return FromUnion15(schema_,references_,path,value);default:return Default(schema_,path,value)}}function TransformDecode(schema,references,value){return Visit9(schema,references,"",value)}class TransformEncodeCheckError extends TypeBoxError{constructor(schema,value,error){super("The encoded value does not match the expected schema");this.schema=schema,this.value=value,this.error=error}}class TransformEncodeError extends TypeBoxError{constructor(schema,path,value,error){super(`${error instanceof Error?error.message:"Unknown error"}`);this.schema=schema,this.path=path,this.value=value,this.error=error}}function Default2(schema,path,value){try{return IsTransform(schema)?schema[TransformKind].Encode(value):value}catch(error){throw new TransformEncodeError(schema,path,value,error)}}function FromArray13(schema,references,path,value){let defaulted=Default2(schema,path,value);return IsArray2(defaulted)?defaulted.map((value,index)=>Visit10(schema.items,references,`${path}/${index}`,value)):defaulted}function FromImport6(schema,references,path,value){let additional=globalThis.Object.values(schema.$defs),target=schema.$defs[schema.$ref],result=Default2(schema,path,value);return Visit10(target,[...references,...additional],path,result)}function FromIntersect14(schema,references,path,value){let defaulted=Default2(schema,path,value);if(!IsObject2(value)||IsValueType(value))return defaulted;let knownEntries=KeyOfPropertyEntries(schema),knownKeys=knownEntries.map((entry)=>entry[0]),knownProperties={...defaulted};for(let[knownKey,knownSchema]of knownEntries)if(knownKey in knownProperties)knownProperties[knownKey]=Visit10(knownSchema,references,`${path}/${knownKey}`,knownProperties[knownKey]);if(!IsTransform(schema.unevaluatedProperties))return knownProperties;let unknownKeys=Object.getOwnPropertyNames(knownProperties),unevaluatedProperties=schema.unevaluatedProperties,properties={...knownProperties};for(let key of unknownKeys)if(!knownKeys.includes(key))properties[key]=Default2(unevaluatedProperties,`${path}/${key}`,properties[key]);return properties}function FromNot6(schema,references,path,value){return Default2(schema.not,path,Default2(schema,path,value))}function FromObject14(schema,references,path,value){let defaulted=Default2(schema,path,value);if(!IsObject2(defaulted))return defaulted;let knownKeys=KeyOfPropertyKeys(schema),knownProperties={...defaulted};for(let key of knownKeys){if(!HasPropertyKey(knownProperties,key))continue;if(IsUndefined2(knownProperties[key])&&(!IsUndefined3(schema.properties[key])||TypeSystemPolicy.IsExactOptionalProperty(knownProperties,key)))continue;knownProperties[key]=Visit10(schema.properties[key],references,`${path}/${key}`,knownProperties[key])}if(!IsSchema(schema.additionalProperties))return knownProperties;let unknownKeys=Object.getOwnPropertyNames(knownProperties),additionalProperties=schema.additionalProperties,properties={...knownProperties};for(let key of unknownKeys)if(!knownKeys.includes(key))properties[key]=Default2(additionalProperties,`${path}/${key}`,properties[key]);return properties}function FromRecord9(schema,references,path,value){let defaulted=Default2(schema,path,value);if(!IsObject2(value))return defaulted;let pattern=Object.getOwnPropertyNames(schema.patternProperties)[0],knownKeys=new RegExp(pattern),knownProperties={...defaulted};for(let key of Object.getOwnPropertyNames(value))if(knownKeys.test(key))knownProperties[key]=Visit10(schema.patternProperties[pattern],references,`${path}/${key}`,knownProperties[key]);if(!IsSchema(schema.additionalProperties))return knownProperties;let unknownKeys=Object.getOwnPropertyNames(knownProperties),additionalProperties=schema.additionalProperties,properties={...knownProperties};for(let key of unknownKeys)if(!knownKeys.test(key))properties[key]=Default2(additionalProperties,`${path}/${key}`,properties[key]);return properties}function FromRef10(schema,references,path,value){let target=Deref(schema,references),resolved=Visit10(target,references,path,value);return Default2(schema,path,resolved)}function FromThis6(schema,references,path,value){let target=Deref(schema,references),resolved=Visit10(target,references,path,value);return Default2(schema,path,resolved)}function FromTuple11(schema,references,path,value){let value1=Default2(schema,path,value);return IsArray2(schema.items)?schema.items.map((schema,index)=>Visit10(schema,references,`${path}/${index}`,value1[index])):[]}function FromUnion16(schema,references,path,value){for(let subschema of schema.anyOf){if(!Check(subschema,references,value))continue;let value1=Visit10(subschema,references,path,value);return Default2(schema,path,value1)}for(let subschema of schema.anyOf){let value1=Visit10(subschema,references,path,value);if(!Check(schema,references,value1))continue;return Default2(schema,path,value1)}return Default2(schema,path,value)}function Visit10(schema,references,path,value){let references_=Pushref(schema,references),schema_=schema;switch(schema[Kind]){case"Array":return FromArray13(schema_,references_,path,value);case"Import":return FromImport6(schema_,references_,path,value);case"Intersect":return FromIntersect14(schema_,references_,path,value);case"Not":return FromNot6(schema_,references_,path,value);case"Object":return FromObject14(schema_,references_,path,value);case"Record":return FromRecord9(schema_,references_,path,value);case"Ref":return FromRef10(schema_,references_,path,value);case"This":return FromThis6(schema_,references_,path,value);case"Tuple":return FromTuple11(schema_,references_,path,value);case"Union":return FromUnion16(schema_,references_,path,value);default:return Default2(schema_,path,value)}}function TransformEncode(schema,references,value){return Visit10(schema,references,"",value)}function FromArray14(schema,references){return IsTransform(schema)||Visit11(schema.items,references)}function FromAsyncIterator7(schema,references){return IsTransform(schema)||Visit11(schema.items,references)}function FromConstructor7(schema,references){return IsTransform(schema)||Visit11(schema.returns,references)||schema.parameters.some((schema)=>Visit11(schema,references))}function FromFunction7(schema,references){return IsTransform(schema)||Visit11(schema.returns,references)||schema.parameters.some((schema)=>Visit11(schema,references))}function FromIntersect15(schema,references){return IsTransform(schema)||IsTransform(schema.unevaluatedProperties)||schema.allOf.some((schema)=>Visit11(schema,references))}function FromImport7(schema,references){let additional=globalThis.Object.getOwnPropertyNames(schema.$defs).reduce((result,key)=>[...result,schema.$defs[key]],[]),target=schema.$defs[schema.$ref];return IsTransform(schema)||Visit11(target,[...additional,...references])}function FromIterator7(schema,references){return IsTransform(schema)||Visit11(schema.items,references)}function FromNot7(schema,references){return IsTransform(schema)||Visit11(schema.not,references)}function FromObject15(schema,references){return IsTransform(schema)||Object.values(schema.properties).some((schema)=>Visit11(schema,references))||IsSchema(schema.additionalProperties)&&Visit11(schema.additionalProperties,references)}function FromPromise7(schema,references){return IsTransform(schema)||Visit11(schema.item,references)}function FromRecord10(schema,references){let pattern=Object.getOwnPropertyNames(schema.patternProperties)[0],property=schema.patternProperties[pattern];return IsTransform(schema)||Visit11(property,references)||IsSchema(schema.additionalProperties)&&IsTransform(schema.additionalProperties)}function FromRef11(schema,references){if(IsTransform(schema))return!0;return Visit11(Deref(schema,references),references)}function FromThis7(schema,references){if(IsTransform(schema))return!0;return Visit11(Deref(schema,references),references)}function FromTuple12(schema,references){return IsTransform(schema)||!IsUndefined2(schema.items)&&schema.items.some((schema)=>Visit11(schema,references))}function FromUnion17(schema,references){return IsTransform(schema)||schema.anyOf.some((schema)=>Visit11(schema,references))}function Visit11(schema,references){let references_=Pushref(schema,references),schema_=schema;if(schema.$id&&visited.has(schema.$id))return!1;if(schema.$id)visited.add(schema.$id);switch(schema[Kind]){case"Array":return FromArray14(schema_,references_);case"AsyncIterator":return FromAsyncIterator7(schema_,references_);case"Constructor":return FromConstructor7(schema_,references_);case"Function":return FromFunction7(schema_,references_);case"Import":return FromImport7(schema_,references_);case"Intersect":return FromIntersect15(schema_,references_);case"Iterator":return FromIterator7(schema_,references_);case"Not":return FromNot7(schema_,references_);case"Object":return FromObject15(schema_,references_);case"Promise":return FromPromise7(schema_,references_);case"Record":return FromRecord10(schema_,references_);case"Ref":return FromRef11(schema_,references_);case"This":return FromThis7(schema_,references_);case"Tuple":return FromTuple12(schema_,references_);case"Union":return FromUnion17(schema_,references_);default:return IsTransform(schema)}}var visited=new Set;function HasTransform(schema,references){return visited.clear(),Visit11(schema,references)}function Decode(...args){let[schema,references,value]=args.length===3?[args[0],args[1],args[2]]:[args[0],[],args[1]];if(!Check(schema,references,value))throw new TransformDecodeCheckError(schema,value,Errors(schema,references,value).First());return HasTransform(schema,references)?TransformDecode(schema,references,value):value}function ValueOrDefault(schema,value){let defaultValue=HasPropertyKey(schema,"default")?schema.default:void 0,clone=IsFunction2(defaultValue)?defaultValue():Clone2(defaultValue);return IsUndefined2(value)?clone:IsObject2(value)&&IsObject2(clone)?Object.assign(clone,value):value}function HasDefaultProperty(schema){return IsKind(schema)&&"default"in schema}function FromArray15(schema,references,value){if(IsArray2(value)){for(let i=0;i<value.length;i++)value[i]=Visit12(schema.items,references,value[i]);return value}let defaulted=ValueOrDefault(schema,value);if(!IsArray2(defaulted))return defaulted;for(let i=0;i<defaulted.length;i++)defaulted[i]=Visit12(schema.items,references,defaulted[i]);return defaulted}function FromDate6(schema,references,value){return IsDate2(value)?value:ValueOrDefault(schema,value)}function FromImport8(schema,references,value){let definitions=globalThis.Object.values(schema.$defs),target=schema.$defs[schema.$ref];return Visit12(target,[...references,...definitions],value)}function FromIntersect16(schema,references,value){let defaulted=ValueOrDefault(schema,value);return schema.allOf.reduce((acc,schema)=>{let next=Visit12(schema,references,defaulted);return IsObject2(next)?{...acc,...next}:next},{})}function FromObject16(schema,references,value){let defaulted=ValueOrDefault(schema,value);if(!IsObject2(defaulted))return defaulted;let knownPropertyKeys=Object.getOwnPropertyNames(schema.properties);for(let key of knownPropertyKeys){let propertyValue=Visit12(schema.properties[key],references,defaulted[key]);if(IsUndefined2(propertyValue))continue;defaulted[key]=Visit12(schema.properties[key],references,defaulted[key])}if(!HasDefaultProperty(schema.additionalProperties))return defaulted;for(let key of Object.getOwnPropertyNames(defaulted)){if(knownPropertyKeys.includes(key))continue;defaulted[key]=Visit12(schema.additionalProperties,references,defaulted[key])}return defaulted}function FromRecord11(schema,references,value){let defaulted=ValueOrDefault(schema,value);if(!IsObject2(defaulted))return defaulted;let additionalPropertiesSchema=schema.additionalProperties,[propertyKeyPattern,propertySchema]=Object.entries(schema.patternProperties)[0],knownPropertyKey=new RegExp(propertyKeyPattern);for(let key of Object.getOwnPropertyNames(defaulted)){if(!(knownPropertyKey.test(key)&&HasDefaultProperty(propertySchema)))continue;defaulted[key]=Visit12(propertySchema,references,defaulted[key])}if(!HasDefaultProperty(additionalPropertiesSchema))return defaulted;for(let key of Object.getOwnPropertyNames(defaulted)){if(knownPropertyKey.test(key))continue;defaulted[key]=Visit12(additionalPropertiesSchema,references,defaulted[key])}return defaulted}function FromRef12(schema,references,value){return Visit12(Deref(schema,references),references,ValueOrDefault(schema,value))}function FromThis8(schema,references,value){return Visit12(Deref(schema,references),references,value)}function FromTuple13(schema,references,value){let defaulted=ValueOrDefault(schema,value);if(!IsArray2(defaulted)||IsUndefined2(schema.items))return defaulted;let[items,max]=[schema.items,Math.max(schema.items.length,defaulted.length)];for(let i=0;i<max;i++)if(i<items.length)defaulted[i]=Visit12(items[i],references,defaulted[i]);return defaulted}function FromUnion18(schema,references,value){let defaulted=ValueOrDefault(schema,value);for(let inner of schema.anyOf){let result=Visit12(inner,references,Clone2(defaulted));if(Check(inner,references,result))return result}return defaulted}function Visit12(schema,references,value){let references_=Pushref(schema,references),schema_=schema;switch(schema_[Kind]){case"Array":return FromArray15(schema_,references_,value);case"Date":return FromDate6(schema_,references_,value);case"Import":return FromImport8(schema_,references_,value);case"Intersect":return FromIntersect16(schema_,references_,value);case"Object":return FromObject16(schema_,references_,value);case"Record":return FromRecord11(schema_,references_,value);case"Ref":return FromRef12(schema_,references_,value);case"This":return FromThis8(schema_,references_,value);case"Tuple":return FromTuple13(schema_,references_,value);case"Union":return FromUnion18(schema_,references_,value);default:return ValueOrDefault(schema_,value)}}function Default3(...args){return args.length===3?Visit12(args[0],args[1],args[2]):Visit12(args[0],[],args[1])}function Encode(...args){let[schema,references,value]=args.length===3?[args[0],args[1],args[2]]:[args[0],[],args[1]],encoded=HasTransform(schema,references)?TransformEncode(schema,references,value):value;if(!Check(schema,references,encoded))throw new TransformEncodeCheckError(schema,encoded,Errors(schema,references,encoded).First());return encoded}class TypeCheck{constructor(schema,references,checkFunc,code){this.schema=schema,this.references=references,this.checkFunc=checkFunc,this.code=code,this.hasTransform=HasTransform(schema,references)}Code(){return this.code}Schema(){return this.schema}References(){return this.references}Errors(value){return Errors(this.schema,this.references,value)}Check(value){return this.checkFunc(value)}Decode(value){if(!this.checkFunc(value))throw new TransformDecodeCheckError(this.schema,value,this.Errors(value).First());return this.hasTransform?TransformDecode(this.schema,this.references,value):value}Encode(value){let encoded=this.hasTransform?TransformEncode(this.schema,this.references,value):value;if(!this.checkFunc(encoded))throw new TransformEncodeCheckError(this.schema,value,this.Errors(value).First());return encoded}}var Character;(function(Character){function DollarSign(code){return code===36}Character.DollarSign=DollarSign;function IsUnderscore(code){return code===95}Character.IsUnderscore=IsUnderscore;function IsAlpha(code){return code>=65&&code<=90||code>=97&&code<=122}Character.IsAlpha=IsAlpha;function IsNumeric(code){return code>=48&&code<=57}Character.IsNumeric=IsNumeric})(Character||(Character={}));var Identifier;(function(Identifier){function Encode($id){let buffer=[];for(let i=0;i<$id.length;i++){let code=$id.charCodeAt(i);if(Character.IsNumeric(code)||Character.IsAlpha(code))buffer.push($id.charAt(i));else buffer.push(`_${code}_`)}return buffer.join("").replace(/__/g,"_")}Identifier.Encode=Encode})(Identifier||(Identifier={}));function StringConstant(value){if(!IsString2(value))throw Error("ConstantString: Not a String");return`'${JSON.stringify(value).slice(1,-1).replace(/'/g,"\\'")}'`}function MemberExpression(value,key){return`${value}[${StringConstant(key)}]`}class TypeCompilerUnknownTypeError extends TypeBoxError{constructor(schema){super("Unknown type");this.schema=schema}}class TypeCompilerTypeGuardError extends TypeBoxError{constructor(schema){super("Preflight validation check failed to guard for the given schema");this.schema=schema}}var Policy;(function(Policy){function IsExactOptionalProperty(value,key,expression){return TypeSystemPolicy.ExactOptionalPropertyTypes?`(${StringConstant(key)} in ${value} ? ${expression} : true)`:`(${MemberExpression(value,key)} !== undefined ? ${expression} : true)`}Policy.IsExactOptionalProperty=IsExactOptionalProperty;function IsObjectLike(value){return!TypeSystemPolicy.AllowArrayObject?`(typeof ${value} === 'object' && ${value} !== null && !Array.isArray(${value}))`:`(typeof ${value} === 'object' && ${value} !== null)`}Policy.IsObjectLike=IsObjectLike;function IsRecordLike(value){return!TypeSystemPolicy.AllowArrayObject?`(typeof ${value} === 'object' && ${value} !== null && !Array.isArray(${value}) && !(${value} instanceof Date) && !(${value} instanceof Uint8Array))`:`(typeof ${value} === 'object' && ${value} !== null && !(${value} instanceof Date) && !(${value} instanceof Uint8Array))`}Policy.IsRecordLike=IsRecordLike;function IsNumberLike(value){return TypeSystemPolicy.AllowNaN?`typeof ${value} === 'number'`:`Number.isFinite(${value})`}Policy.IsNumberLike=IsNumberLike;function IsVoidLike(value){return TypeSystemPolicy.AllowNullVoid?`(${value} === undefined || ${value} === null)`:`${value} === undefined`}Policy.IsVoidLike=IsVoidLike})(Policy||(Policy={}));var TypeCompiler;(function(TypeCompiler){function IsAnyOrUnknown(schema){return schema[Kind]==="Any"||schema[Kind]==="Unknown"}function*FromAny(schema,references,value){yield"true"}function*FromArgument(schema,references,value){yield"true"}function*FromArray(schema,references,value){yield`Array.isArray(${value})`;let[parameter,accumulator]=[CreateParameter("value","any"),CreateParameter("acc","number")];if(IsNumber2(schema.maxItems))yield`${value}.length <= ${schema.maxItems}`;if(IsNumber2(schema.minItems))yield`${value}.length >= ${schema.minItems}`;let elementExpression=CreateExpression(schema.items,references,"value");if(yield`((array) => { for(const ${parameter} of array) if(!(${elementExpression})) { return false }; return true; })(${value})`,IsSchema2(schema.contains)||IsNumber2(schema.minContains)||IsNumber2(schema.maxContains)){let containsSchema=IsSchema2(schema.contains)?schema.contains:Never(),checkExpression=CreateExpression(containsSchema,references,"value"),checkMinContains=IsNumber2(schema.minContains)?[`(count >= ${schema.minContains})`]:[],checkMaxContains=IsNumber2(schema.maxContains)?[`(count <= ${schema.maxContains})`]:[],checkCount=`const count = value.reduce((${accumulator}, ${parameter}) => ${checkExpression} ? acc + 1 : acc, 0)`,check=["(count > 0)",...checkMinContains,...checkMaxContains].join(" && ");yield`((${parameter}) => { ${checkCount}; return ${check}})(${value})`}if(schema.uniqueItems===!0)yield`((${parameter}) => { const set = new Set(); for(const element of value) { const hashed = hash(element); if(set.has(hashed)) { return false } else { set.add(hashed) } } return true } )(${value})`}function*FromAsyncIterator(schema,references,value){yield`(typeof value === 'object' && Symbol.asyncIterator in ${value})`}function*FromBigInt(schema,references,value){if(yield`(typeof ${value} === 'bigint')`,IsBigInt2(schema.exclusiveMaximum))yield`${value} < BigInt(${schema.exclusiveMaximum})`;if(IsBigInt2(schema.exclusiveMinimum))yield`${value} > BigInt(${schema.exclusiveMinimum})`;if(IsBigInt2(schema.maximum))yield`${value} <= BigInt(${schema.maximum})`;if(IsBigInt2(schema.minimum))yield`${value} >= BigInt(${schema.minimum})`;if(IsBigInt2(schema.multipleOf))yield`(${value} % BigInt(${schema.multipleOf})) === 0`}function*FromBoolean(schema,references,value){yield`(typeof ${value} === 'boolean')`}function*FromConstructor(schema,references,value){yield*Visit(schema.returns,references,`${value}.prototype`)}function*FromDate(schema,references,value){if(yield`(${value} instanceof Date) && Number.isFinite(${value}.getTime())`,IsNumber2(schema.exclusiveMaximumTimestamp))yield`${value}.getTime() < ${schema.exclusiveMaximumTimestamp}`;if(IsNumber2(schema.exclusiveMinimumTimestamp))yield`${value}.getTime() > ${schema.exclusiveMinimumTimestamp}`;if(IsNumber2(schema.maximumTimestamp))yield`${value}.getTime() <= ${schema.maximumTimestamp}`;if(IsNumber2(schema.minimumTimestamp))yield`${value}.getTime() >= ${schema.minimumTimestamp}`;if(IsNumber2(schema.multipleOfTimestamp))yield`(${value}.getTime() % ${schema.multipleOfTimestamp}) === 0`}function*FromFunction(schema,references,value){yield`(typeof ${value} === 'function')`}function*FromImport(schema,references,value){let members=globalThis.Object.getOwnPropertyNames(schema.$defs).reduce((result,key)=>[...result,schema.$defs[key]],[]);yield*Visit(Ref(schema.$ref),[...references,...members],value)}function*FromInteger(schema,references,value){if(yield`Number.isInteger(${value})`,IsNumber2(schema.exclusiveMaximum))yield`${value} < ${schema.exclusiveMaximum}`;if(IsNumber2(schema.exclusiveMinimum))yield`${value} > ${schema.exclusiveMinimum}`;if(IsNumber2(schema.maximum))yield`${value} <= ${schema.maximum}`;if(IsNumber2(schema.minimum))yield`${value} >= ${schema.minimum}`;if(IsNumber2(schema.multipleOf))yield`(${value} % ${schema.multipleOf}) === 0`}function*FromIntersect(schema,references,value){let check1=schema.allOf.map((schema)=>CreateExpression(schema,references,value)).join(" && ");if(schema.unevaluatedProperties===!1){let keyCheck=CreateVariable(`${new RegExp(KeyOfPattern(schema))};`),check2=`Object.getOwnPropertyNames(${value}).every(key => ${keyCheck}.test(key))`;yield`(${check1} && ${check2})`}else if(IsSchema2(schema.unevaluatedProperties)){let keyCheck=CreateVariable(`${new RegExp(KeyOfPattern(schema))};`),check2=`Object.getOwnPropertyNames(${value}).every(key => ${keyCheck}.test(key) || ${CreateExpression(schema.unevaluatedProperties,references,`${value}[key]`)})`;yield`(${check1} && ${check2})`}else yield`(${check1})`}function*FromIterator(schema,references,value){yield`(typeof value === 'object' && Symbol.iterator in ${value})`}function*FromLiteral(schema,references,value){if(typeof schema.const==="number"||typeof schema.const==="boolean")yield`(${value} === ${schema.const})`;else if(typeof schema.const==="string")yield`(${value} === ${StringConstant(schema.const)})`;else throw Error("Invalid Literal Value")}function*FromNever(schema,references,value){yield"false"}function*FromNot(schema,references,value){yield`(!${CreateExpression(schema.not,references,value)})`}function*FromNull(schema,references,value){yield`(${value} === null)`}function*FromNumber(schema,references,value){if(yield Policy.IsNumberLike(value),IsNumber2(schema.exclusiveMaximum))yield`${value} < ${schema.exclusiveMaximum}`;if(IsNumber2(schema.exclusiveMinimum))yield`${value} > ${schema.exclusiveMinimum}`;if(IsNumber2(schema.maximum))yield`${value} <= ${schema.maximum}`;if(IsNumber2(schema.minimum))yield`${value} >= ${schema.minimum}`;if(IsNumber2(schema.multipleOf))yield`(${value} % ${schema.multipleOf}) === 0`}function*FromObject(schema,references,value){if(yield Policy.IsObjectLike(value),IsNumber2(schema.minProperties))yield`Object.getOwnPropertyNames(${value}).length >= ${schema.minProperties}`;if(IsNumber2(schema.maxProperties))yield`Object.getOwnPropertyNames(${value}).length <= ${schema.maxProperties}`;let knownKeys=Object.getOwnPropertyNames(schema.properties);for(let knownKey of knownKeys){let memberExpression=MemberExpression(value,knownKey),property=schema.properties[knownKey];if(schema.required&&schema.required.includes(knownKey)){if(yield*Visit(property,references,memberExpression),ExtendsUndefinedCheck(property)||IsAnyOrUnknown(property))yield`(${StringConstant(knownKey)} in ${value})`}else{let expression=CreateExpression(property,references,memberExpression);yield Policy.IsExactOptionalProperty(value,knownKey,expression)}}if(schema.additionalProperties===!1)if(schema.required&&schema.required.length===knownKeys.length)yield`Object.getOwnPropertyNames(${value}).length === ${knownKeys.length}`;else{let keys=`[${knownKeys.map((key)=>`${StringConstant(key)}`).join(", ")}]`;yield`Object.getOwnPropertyNames(${value}).every(key => ${keys}.includes(key))`}if(typeof schema.additionalProperties==="object"){let expression=CreateExpression(schema.additionalProperties,references,`${value}[key]`),keys=`[${knownKeys.map((key)=>`${StringConstant(key)}`).join(", ")}]`;yield`(Object.getOwnPropertyNames(${value}).every(key => ${keys}.includes(key) || ${expression}))`}}function*FromPromise(schema,references,value){yield`${value} instanceof Promise`}function*FromRecord(schema,references,value){if(yield Policy.IsRecordLike(value),IsNumber2(schema.minProperties))yield`Object.getOwnPropertyNames(${value}).length >= ${schema.minProperties}`;if(IsNumber2(schema.maxProperties))yield`Object.getOwnPropertyNames(${value}).length <= ${schema.maxProperties}`;let[patternKey,patternSchema]=Object.entries(schema.patternProperties)[0],variable=CreateVariable(`${new RegExp(patternKey)}`),check1=CreateExpression(patternSchema,references,"value"),check2=IsSchema2(schema.additionalProperties)?CreateExpression(schema.additionalProperties,references,value):schema.additionalProperties===!1?"false":"true",expression=`(${variable}.test(key) ? ${check1} : ${check2})`;yield`(Object.entries(${value}).every(([key, value]) => ${expression}))`}function*FromRef(schema,references,value){let target=Deref(schema,references);if(state.functions.has(schema.$ref))return yield`${CreateFunctionName(schema.$ref)}(${value})`;yield*Visit(target,references,value)}function*FromRegExp(schema,references,value){let variable=CreateVariable(`${new RegExp(schema.source,schema.flags)};`);if(yield`(typeof ${value} === 'string')`,IsNumber2(schema.maxLength))yield`${value}.length <= ${schema.maxLength}`;if(IsNumber2(schema.minLength))yield`${value}.length >= ${schema.minLength}`;yield`${variable}.test(${value})`}function*FromString(schema,references,value){if(yield`(typeof ${value} === 'string')`,IsNumber2(schema.maxLength))yield`${value}.length <= ${schema.maxLength}`;if(IsNumber2(schema.minLength))yield`${value}.length >= ${schema.minLength}`;if(schema.pattern!==void 0)yield`${CreateVariable(`${new RegExp(schema.pattern)};`)}.test(${value})`;if(schema.format!==void 0)yield`format(${StringConstant(schema.format)}, ${value})`}function*FromSymbol(schema,references,value){yield`(typeof ${value} === 'symbol')`}function*FromTemplateLiteral(schema,references,value){yield`(typeof ${value} === 'string')`,yield`${CreateVariable(`${new RegExp(schema.pattern)};`)}.test(${value})`}function*FromThis(schema,references,value){yield`${CreateFunctionName(schema.$ref)}(${value})`}function*FromTuple(schema,references,value){if(yield`Array.isArray(${value})`,schema.items===void 0)return yield`${value}.length === 0`;yield`(${value}.length === ${schema.maxItems})`;for(let i=0;i<schema.items.length;i++)yield`${CreateExpression(schema.items[i],references,`${value}[${i}]`)}`}function*FromUndefined(schema,references,value){yield`${value} === undefined`}function*FromUnion(schema,references,value){yield`(${schema.anyOf.map((schema)=>CreateExpression(schema,references,value)).join(" || ")})`}function*FromUint8Array(schema,references,value){if(yield`${value} instanceof Uint8Array`,IsNumber2(schema.maxByteLength))yield`(${value}.length <= ${schema.maxByteLength})`;if(IsNumber2(schema.minByteLength))yield`(${value}.length >= ${schema.minByteLength})`}function*FromUnknown(schema,references,value){yield"true"}function*FromVoid(schema,references,value){yield Policy.IsVoidLike(value)}function*FromKind(schema,references,value){let instance=state.instances.size;state.instances.set(instance,schema),yield`kind(${StringConstant(schema[Kind])}, ${instance}, ${value})`}function*Visit(schema,references,value,useHoisting=!0){let references_=IsString2(schema.$id)?[...references,schema]:references,schema_=schema;if(useHoisting&&IsString2(schema.$id)){let functionName=CreateFunctionName(schema.$id);if(state.functions.has(functionName))return yield`${functionName}(${value})`;else{state.functions.set(functionName,"<deferred>");let functionCode=CreateFunction(functionName,schema,references,"value",!1);return state.functions.set(functionName,functionCode),yield`${functionName}(${value})`}}switch(schema_[Kind]){case"Any":return yield*FromAny(schema_,references_,value);case"Argument":return yield*FromArgument(schema_,references_,value);case"Array":return yield*FromArray(schema_,references_,value);case"AsyncIterator":return yield*FromAsyncIterator(schema_,references_,value);case"BigInt":return yield*FromBigInt(schema_,references_,value);case"Boolean":return yield*FromBoolean(schema_,references_,value);case"Constructor":return yield*FromConstructor(schema_,references_,value);case"Date":return yield*FromDate(schema_,references_,value);case"Function":return yield*FromFunction(schema_,references_,value);case"Import":return yield*FromImport(schema_,references_,value);case"Integer":return yield*FromInteger(schema_,references_,value);case"Intersect":return yield*FromIntersect(schema_,references_,value);case"Iterator":return yield*FromIterator(schema_,references_,value);case"Literal":return yield*FromLiteral(schema_,references_,value);case"Never":return yield*FromNever(schema_,references_,value);case"Not":return yield*FromNot(schema_,references_,value);case"Null":return yield*FromNull(schema_,references_,value);case"Number":return yield*FromNumber(schema_,references_,value);case"Object":return yield*FromObject(schema_,references_,value);case"Promise":return yield*FromPromise(schema_,references_,value);case"Record":return yield*FromRecord(schema_,references_,value);case"Ref":return yield*FromRef(schema_,references_,value);case"RegExp":return yield*FromRegExp(schema_,references_,value);case"String":return yield*FromString(schema_,references_,value);case"Symbol":return yield*FromSymbol(schema_,references_,value);case"TemplateLiteral":return yield*FromTemplateLiteral(schema_,references_,value);case"This":return yield*FromThis(schema_,references_,value);case"Tuple":return yield*FromTuple(schema_,references_,value);case"Undefined":return yield*FromUndefined(schema_,references_,value);case"Union":return yield*FromUnion(schema_,references_,value);case"Uint8Array":return yield*FromUint8Array(schema_,references_,value);case"Unknown":return yield*FromUnknown(schema_,references_,value);case"Void":return yield*FromVoid(schema_,references_,value);default:if(!Has2(schema_[Kind]))throw new TypeCompilerUnknownTypeError(schema);return yield*FromKind(schema_,references_,value)}}let state={language:"javascript",functions:new Map,variables:new Map,instances:new Map};function CreateExpression(schema,references,value,useHoisting=!0){return`(${[...Visit(schema,references,value,useHoisting)].join(" && ")})`}function CreateFunctionName($id){return`check_${Identifier.Encode($id)}`}function CreateVariable(expression){let variableName=`local_${state.variables.size}`;return state.variables.set(variableName,`const ${variableName} = ${expression}`),variableName}function CreateFunction(name,schema,references,value,useHoisting=!0){let[newline,pad]=[`
10
+ `,(length)=>"".padStart(length," ")],parameter=CreateParameter("value","any"),returns=CreateReturns("boolean"),expression=[...Visit(schema,references,value,useHoisting)].map((expression)=>`${pad(4)}${expression}`).join(` &&${newline}`);return`function ${name}(${parameter})${returns} {${newline}${pad(2)}return (${newline}${expression}${newline}${pad(2)})
11
+ }`}function CreateParameter(name,type){let annotation=state.language==="typescript"?`: ${type}`:"";return`${name}${annotation}`}function CreateReturns(type){return state.language==="typescript"?`: ${type}`:""}function Build(schema,references,options){let functionCode=CreateFunction("check",schema,references,"value"),parameter=CreateParameter("value","any"),returns=CreateReturns("boolean"),functions=[...state.functions.values()],variables=[...state.variables.values()],checkFunction=IsString2(schema.$id)?`return function check(${parameter})${returns} {
12
+ return ${CreateFunctionName(schema.$id)}(value)
13
+ }`:`return ${functionCode}`;return[...variables,...functions,checkFunction].join(`
14
+ `)}function Code(...args){let defaults={language:"javascript"},[schema,references,options]=args.length===2&&IsArray2(args[1])?[args[0],args[1],defaults]:args.length===2&&!IsArray2(args[1])?[args[0],[],args[1]]:args.length===3?[args[0],args[1],args[2]]:args.length===1?[args[0],[],defaults]:[null,[],defaults];if(state.language=options.language,state.variables.clear(),state.functions.clear(),state.instances.clear(),!IsSchema2(schema))throw new TypeCompilerTypeGuardError(schema);for(let schema of references)if(!IsSchema2(schema))throw new TypeCompilerTypeGuardError(schema);return Build(schema,references,options)}TypeCompiler.Code=Code;function Compile(schema,references=[]){let generatedCode=Code(schema,references,{language:"javascript"}),compiledFunction=Evaluate("kind","format","hash",generatedCode),instances=new Map(state.instances);function typeRegistryFunction(kind,instance,value){if(!Has2(kind)||!instances.has(instance))return!1;let checkFunc=Get2(kind),schema=instances.get(instance);return checkFunc(schema,value)}function formatRegistryFunction(format,value){if(!Has(format))return!1;return Get(format)(value)}function hashFunction(value){return Hash(value)}let checkFunction=compiledFunction(typeRegistryFunction,formatRegistryFunction,hashFunction);return new TypeCheck(schema,references,checkFunction,generatedCode)}TypeCompiler.Compile=Compile})(TypeCompiler||(TypeCompiler={}));var isBun=typeof Bun<"u";function isCloudflareWorker(){try{if(typeof caches<"u"&&typeof caches.default<"u"||typeof WebSocketPair<"u")return!0}catch{return!1}return!1}var mime={aac:"audio/aac",abw:"application/x-abiword",ai:"application/postscript",arc:"application/octet-stream",avi:"video/x-msvideo",azw:"application/vnd.amazon.ebook",bin:"application/octet-stream",bz:"application/x-bzip",bz2:"application/x-bzip2",csh:"application/x-csh",css:"text/css",csv:"text/csv",doc:"application/msword",dll:"application/octet-stream",eot:"application/vnd.ms-fontobject",epub:"application/epub+zip",gif:"image/gif",htm:"text/html",html:"text/html",ico:"image/x-icon",ics:"text/calendar",jar:"application/java-archive",jpeg:"image/jpeg",jpg:"image/jpeg",js:"application/javascript",json:"application/json",mid:"audio/midi",midi:"audio/midi",mp2:"audio/mpeg",mp3:"audio/mpeg",mp4:"video/mp4",mpa:"video/mpeg",mpe:"video/mpeg",mpeg:"video/mpeg",mpkg:"application/vnd.apple.installer+xml",odp:"application/vnd.oasis.opendocument.presentation",ods:"application/vnd.oasis.opendocument.spreadsheet",odt:"application/vnd.oasis.opendocument.text",oga:"audio/ogg",ogv:"video/ogg",ogx:"application/ogg",otf:"font/otf",png:"image/png",pdf:"application/pdf",ppt:"application/vnd.ms-powerpoint",rar:"application/x-rar-compressed",rtf:"application/rtf",sh:"application/x-sh",svg:"image/svg+xml",swf:"application/x-shockwave-flash",tar:"application/x-tar",tif:"image/tiff",tiff:"image/tiff",ts:"application/typescript",ttf:"font/ttf",txt:"text/plain",vsd:"application/vnd.visio",wav:"audio/x-wav",weba:"audio/webm",webm:"video/webm",webp:"image/webp",woff:"font/woff",woff2:"font/woff2",xhtml:"application/xhtml+xml",xls:"application/vnd.ms-excel",xlsx:"application/vnd.ms-excel",xlsx_OLD:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",xml:"application/xml",xul:"application/vnd.mozilla.xul+xml",zip:"application/zip","3gp":"video/3gpp","3gp_DOES_NOT_CONTAIN_VIDEO":"audio/3gpp","3gp2":"video/3gpp2","3gp2_DOES_NOT_CONTAIN_VIDEO":"audio/3gpp2","7z":"application/x-7z-compressed"},getFileExtension=(path)=>{let index=path.lastIndexOf(".");return index===-1?"":path.slice(index+1)};var createReadStream,stat;class ElysiaFile{constructor(path){if(this.path=path,isBun)this.value=Bun.file(path);else{if(!createReadStream||!stat){if(typeof window<"u"){console.warn("Browser environment does not support file");return}let warnMissing=(name)=>console.warn(Error(`[elysia] \`file\` require \`fs${name?"."+name:""}\` ${name?.includes(".")?"module ":""}which is not available in this environment`));if(typeof process>"u"||typeof process.getBuiltinModule!="function"){warnMissing();return}let fs=process.getBuiltinModule("fs");if(!fs){warnMissing();return}if(typeof fs.createReadStream!="function"){warnMissing();return}if(typeof fs.promises?.stat!="function"){warnMissing();return}createReadStream=fs.createReadStream,stat=fs.promises.stat}this.value=createReadStream(path),this.stats=stat(path)}}get type(){return mime[getFileExtension(this.path)]||"application/octet-stream"}get length(){return isBun?this.value.size:this.stats?.then((x)=>x.size)??0}}var replaceUrlPath=(url,pathname)=>{let pathStartIndex=url.indexOf("/",11),queryIndex=url.indexOf("?",pathStartIndex);return queryIndex===-1?`${url.slice(0,pathStartIndex)}${pathname.charCodeAt(0)===47?"":"/"}${pathname}`:`${url.slice(0,pathStartIndex)}${pathname.charCodeAt(0)===47?"":"/"}${pathname}${url.slice(queryIndex)}`},isClass=(v)=>typeof v=="function"&&/^\s*class\s+/.test(v.toString())||v.toString&&v.toString().startsWith("[object ")&&v.toString()!=="[object Object]"||isNotEmpty(Object.getPrototypeOf(v)),isObject=(item)=>item&&typeof item=="object"&&!Array.isArray(item),mergeDeep=(target,source,options)=>{let skipKeys=options?.skipKeys,override=options?.override??!0,mergeArray=options?.mergeArray??!1,seen=options?.seen??new WeakSet;if(!isObject(target)||!isObject(source)||seen.has(source))return target;seen.add(source);for(let[key,value]of Object.entries(source))if(!(skipKeys?.includes(key)||["__proto__","constructor","prototype"].includes(key))){if(mergeArray&&Array.isArray(value)){target[key]=Array.isArray(target[key])?[...target[key],...value]:target[key]=value;continue}if(!isObject(value)||!(key in target)||isClass(value)){if((override||!(key in target))&&!Object.isFrozen(target))try{target[key]=value}catch{}continue}if(!Object.isFrozen(target[key]))try{target[key]=mergeDeep(target[key],value,{skipKeys,override,mergeArray,seen})}catch{}}return seen.delete(source),target},mergeCookie=(a,b)=>{let v=mergeDeep(Object.assign({},a),b,{skipKeys:["properties"],mergeArray:!1});return v.properties&&delete v.properties,v},mergeObjectArray=(a,b)=>{if(!b)return a;let array=[],checksums=[];if(a){Array.isArray(a)||(a=[a]);for(let item of a)array.push(item),item.checksum&&checksums.push(item.checksum)}if(b){Array.isArray(b)||(b=[b]);for(let item of b)checksums.includes(item.checksum)||array.push(item)}return array},primitiveHooks=["start","request","parse","transform","resolve","beforeHandle","afterHandle","mapResponse","afterResponse","trace","error","stop","body","headers","params","query","response","type","detail"],primitiveHookMap=primitiveHooks.reduce((acc,x)=>(acc[x]=!0,acc),{}),isRecordNumber=(x)=>typeof x=="object"&&Object.keys(x).every((x2)=>!isNaN(+x2)),mergeResponse=(a,b)=>isRecordNumber(a)&&isRecordNumber(b)?Object.assign({},a,b):a&&!isRecordNumber(a)&&isRecordNumber(b)?Object.assign({200:a},b):b??a,mergeSchemaValidator=(a,b)=>!a&&!b?{body:void 0,headers:void 0,params:void 0,query:void 0,cookie:void 0,response:void 0}:{body:b?.body??a?.body,headers:b?.headers??a?.headers,params:b?.params??a?.params,query:b?.query??a?.query,cookie:b?.cookie??a?.cookie,response:mergeResponse(a?.response,b?.response)},mergeHook=(a,b)=>{if(!b)return a??{};if(!a)return b??{};if(!Object.values(b).find((x)=>x!=null))return{...a};let hook={...a,...b,body:b.body??a.body,headers:b.headers??a.headers,params:b.params??a.params,query:b.query??a.query,cookie:b.cookie??a.cookie,response:mergeResponse(a.response,b.response),type:a.type||b.type,detail:mergeDeep(b.detail??{},a.detail??{}),parse:mergeObjectArray(a.parse,b.parse),transform:mergeObjectArray(a.transform,b.transform),beforeHandle:mergeObjectArray(mergeObjectArray(fnToContainer(a.resolve,"resolve"),a.beforeHandle),mergeObjectArray(fnToContainer(b.resolve,"resolve"),b.beforeHandle)),afterHandle:mergeObjectArray(a.afterHandle,b.afterHandle),mapResponse:mergeObjectArray(a.mapResponse,b.mapResponse),afterResponse:mergeObjectArray(a.afterResponse,b.afterResponse),trace:mergeObjectArray(a.trace,b.trace),error:mergeObjectArray(a.error,b.error),standaloneSchema:a.standaloneSchema||b.standaloneSchema?a.standaloneSchema&&!b.standaloneSchema?a.standaloneSchema:b.standaloneSchema&&!a.standaloneSchema?b.standaloneSchema:[...a.standaloneSchema??[],...b.standaloneSchema??[]]:void 0};return hook.resolve&&delete hook.resolve,hook},lifeCycleToArray=(a)=>{a.parse&&!Array.isArray(a.parse)&&(a.parse=[a.parse]),a.transform&&!Array.isArray(a.transform)&&(a.transform=[a.transform]),a.afterHandle&&!Array.isArray(a.afterHandle)&&(a.afterHandle=[a.afterHandle]),a.mapResponse&&!Array.isArray(a.mapResponse)&&(a.mapResponse=[a.mapResponse]),a.afterResponse&&!Array.isArray(a.afterResponse)&&(a.afterResponse=[a.afterResponse]),a.trace&&!Array.isArray(a.trace)&&(a.trace=[a.trace]),a.error&&!Array.isArray(a.error)&&(a.error=[a.error]);let beforeHandle=[];return a.resolve&&(beforeHandle=fnToContainer(Array.isArray(a.resolve)?a.resolve:[a.resolve],"resolve"),delete a.resolve),a.beforeHandle&&(beforeHandle.length?beforeHandle=beforeHandle.concat(Array.isArray(a.beforeHandle)?a.beforeHandle:[a.beforeHandle]):beforeHandle=Array.isArray(a.beforeHandle)?a.beforeHandle:[a.beforeHandle]),beforeHandle.length&&(a.beforeHandle=beforeHandle),a},hasHeaderShorthand=isBun?"toJSON"in new Headers:!1,hasSetImmediate=typeof setImmediate=="function",checksum=(s)=>{let h=9;for(let i=0;i<s.length;)h=Math.imul(h^s.charCodeAt(i++),387420489);return h=h^h>>>9},injectChecksum=(checksum2,x)=>{if(!x)return;if(!Array.isArray(x)){let fn=x;return checksum2&&!fn.checksum&&(fn.checksum=checksum2),fn.scope==="scoped"&&(fn.scope="local"),fn}let fns=[...x];for(let fn of fns)checksum2&&!fn.checksum&&(fn.checksum=checksum2),fn.scope==="scoped"&&(fn.scope="local");return fns},mergeLifeCycle=(a,b,checksum2)=>({start:mergeObjectArray(a.start,injectChecksum(checksum2,b?.start)),request:mergeObjectArray(a.request,injectChecksum(checksum2,b?.request)),parse:mergeObjectArray(a.parse,injectChecksum(checksum2,b?.parse)),transform:mergeObjectArray(a.transform,injectChecksum(checksum2,b?.transform)),beforeHandle:mergeObjectArray(mergeObjectArray(fnToContainer(a.resolve,"resolve"),a.beforeHandle),injectChecksum(checksum2,mergeObjectArray(fnToContainer(b?.resolve,"resolve"),b?.beforeHandle))),afterHandle:mergeObjectArray(a.afterHandle,injectChecksum(checksum2,b?.afterHandle)),mapResponse:mergeObjectArray(a.mapResponse,injectChecksum(checksum2,b?.mapResponse)),afterResponse:mergeObjectArray(a.afterResponse,injectChecksum(checksum2,b?.afterResponse)),trace:mergeObjectArray(a.trace,injectChecksum(checksum2,b?.trace)),error:mergeObjectArray(a.error,injectChecksum(checksum2,b?.error)),stop:mergeObjectArray(a.stop,injectChecksum(checksum2,b?.stop))}),asHookType=(fn,inject,{skipIfHasType=!1})=>{if(!fn)return fn;if(!Array.isArray(fn))return skipIfHasType?fn.scope??=inject:fn.scope=inject,fn;for(let x of fn)skipIfHasType?x.scope??=inject:x.scope=inject;return fn},filterGlobal=(fn)=>{if(!fn)return fn;if(!Array.isArray(fn))switch(fn.scope){case"global":case"scoped":return{...fn};default:return{fn}}let array=[];for(let x of fn)switch(x.scope){case"global":case"scoped":array.push({...x});break}return array},filterGlobalHook=(hook)=>({...hook,type:hook?.type,detail:hook?.detail,parse:filterGlobal(hook?.parse),transform:filterGlobal(hook?.transform),beforeHandle:filterGlobal(hook?.beforeHandle),afterHandle:filterGlobal(hook?.afterHandle),mapResponse:filterGlobal(hook?.mapResponse),afterResponse:filterGlobal(hook?.afterResponse),error:filterGlobal(hook?.error),trace:filterGlobal(hook?.trace)}),StatusMap={Continue:100,"Switching Protocols":101,Processing:102,"Early Hints":103,OK:200,Created:201,Accepted:202,"Non-Authoritative Information":203,"No Content":204,"Reset Content":205,"Partial Content":206,"Multi-Status":207,"Already Reported":208,"Multiple Choices":300,"Moved Permanently":301,Found:302,"See Other":303,"Not Modified":304,"Temporary Redirect":307,"Permanent Redirect":308,"Bad Request":400,Unauthorized:401,"Payment Required":402,Forbidden:403,"Not Found":404,"Method Not Allowed":405,"Not Acceptable":406,"Proxy Authentication Required":407,"Request Timeout":408,Conflict:409,Gone:410,"Length Required":411,"Precondition Failed":412,"Payload Too Large":413,"URI Too Long":414,"Unsupported Media Type":415,"Range Not Satisfiable":416,"Expectation Failed":417,"I'm a teapot":418,"Enhance Your Calm":420,"Misdirected Request":421,"Unprocessable Content":422,Locked:423,"Failed Dependency":424,"Too Early":425,"Upgrade Required":426,"Precondition Required":428,"Too Many Requests":429,"Request Header Fields Too Large":431,"Unavailable For Legal Reasons":451,"Internal Server Error":500,"Not Implemented":501,"Bad Gateway":502,"Service Unavailable":503,"Gateway Timeout":504,"HTTP Version Not Supported":505,"Variant Also Negotiates":506,"Insufficient Storage":507,"Loop Detected":508,"Not Extended":510,"Network Authentication Required":511},InvertedStatusMap=Object.fromEntries(Object.entries(StatusMap).map(([k,v])=>[v,k]));function removeTrailingEquals(digest){let trimmedDigest=digest;for(;trimmedDigest.endsWith("=");)trimmedDigest=trimmedDigest.slice(0,-1);return trimmedDigest}var encoder=new TextEncoder,signCookie=async(val,secret)=>{if(typeof val=="object"?val=JSON.stringify(val):typeof val!="string"&&(val=val+""),secret==null)throw TypeError("Secret key must be provided");let secretKey=await crypto.subtle.importKey("raw",encoder.encode(secret),{name:"HMAC",hash:"SHA-256"},!1,["sign"]),hmacBuffer=await crypto.subtle.sign("HMAC",secretKey,encoder.encode(val));return val+"."+removeTrailingEquals(Buffer.from(hmacBuffer).toString("base64"))},constantTimeEqual=typeof crypto?.timingSafeEqual=="function"?(a,b)=>{let ab=Buffer.from(a,"utf8"),bb=Buffer.from(b,"utf8");return ab.length!==bb.length?!1:crypto.timingSafeEqual(ab,bb)}:(a,b)=>a===b,unsignCookie=async(input,secret)=>{if(typeof input!="string")throw TypeError("Signed cookie string must be provided.");let dot=input.lastIndexOf(".");if(dot===-1)return secret===null?input:!1;let tentativeValue=input.slice(0,dot),expectedInput=await signCookie(tentativeValue,secret);return constantTimeEqual(expectedInput,input)?tentativeValue:!1},insertStandaloneValidator=(hook,name,value)=>{if(!hook.standaloneValidator?.length||!Array.isArray(hook.standaloneValidator)){hook.standaloneValidator=[{[name]:value}];return}let last=hook.standaloneValidator[hook.standaloneValidator.length-1];name in last?hook.standaloneValidator.push({[name]:value}):last[name]=value},parseNumericString=(message)=>{if(typeof message=="number")return message;if(message.length<16){if(message.trim().length===0)return null;let length=Number(message);return Number.isNaN(length)?null:length}if(message.length===16){if(message.trim().length===0)return null;let number=Number(message);return Number.isNaN(number)||number.toString()!==message?null:number}return null},isNumericString=(message)=>parseNumericString(message)!==null;class PromiseGroup{constructor(onError=console.error,onFinally=()=>{}){this.onError=onError,this.onFinally=onFinally,this.root=null,this.promises=[]}get size(){return this.promises.length}add(promise){return this.promises.push(promise),this.root||=this.drain(),this.promises.length===1&&this.then(this.onFinally),promise}async drain(){for(;this.promises.length>0;){try{await this.promises[0]}catch(error){this.onError(error)}this.promises.shift()}this.root=null}then(onfulfilled,onrejected){return(this.root??Promise.resolve()).then(onfulfilled,onrejected)}}var fnToContainer=(fn,subType)=>{if(!fn)return fn;if(!Array.isArray(fn)){if(typeof fn=="function"||typeof fn=="string")return subType?{fn,subType}:{fn};if("fn"in fn)return fn}let fns=[];for(let x of fn)typeof x=="function"||typeof x=="string"?fns.push(subType?{fn:x,subType}:{fn:x}):("fn"in x)&&fns.push(x);return fns},localHookToLifeCycleStore=(a)=>(a.start&&(a.start=fnToContainer(a.start)),a.request&&(a.request=fnToContainer(a.request)),a.parse&&(a.parse=fnToContainer(a.parse)),a.transform&&(a.transform=fnToContainer(a.transform)),a.beforeHandle&&(a.beforeHandle=fnToContainer(a.beforeHandle)),a.afterHandle&&(a.afterHandle=fnToContainer(a.afterHandle)),a.mapResponse&&(a.mapResponse=fnToContainer(a.mapResponse)),a.afterResponse&&(a.afterResponse=fnToContainer(a.afterResponse)),a.trace&&(a.trace=fnToContainer(a.trace)),a.error&&(a.error=fnToContainer(a.error)),a.stop&&(a.stop=fnToContainer(a.stop)),a),lifeCycleToFn=(a)=>{let lifecycle=Object.create(null);return a.start?.map&&(lifecycle.start=a.start.map((x)=>x.fn)),a.request?.map&&(lifecycle.request=a.request.map((x)=>x.fn)),a.parse?.map&&(lifecycle.parse=a.parse.map((x)=>x.fn)),a.transform?.map&&(lifecycle.transform=a.transform.map((x)=>x.fn)),a.beforeHandle?.map&&(lifecycle.beforeHandle=a.beforeHandle.map((x)=>x.fn)),a.afterHandle?.map&&(lifecycle.afterHandle=a.afterHandle.map((x)=>x.fn)),a.mapResponse?.map&&(lifecycle.mapResponse=a.mapResponse.map((x)=>x.fn)),a.afterResponse?.map&&(lifecycle.afterResponse=a.afterResponse.map((x)=>x.fn)),a.error?.map&&(lifecycle.error=a.error.map((x)=>x.fn)),a.stop?.map&&(lifecycle.stop=a.stop.map((x)=>x.fn)),a.trace?.map?lifecycle.trace=a.trace.map((x)=>x.fn):lifecycle.trace=[],lifecycle},cloneInference=(inference)=>({body:inference.body,cookie:inference.cookie,headers:inference.headers,query:inference.query,set:inference.set,server:inference.server,path:inference.path,route:inference.route,url:inference.url}),redirect=(url,status=302)=>Response.redirect(url,status),ELYSIA_FORM_DATA=Symbol("ElysiaFormData"),ELYSIA_REQUEST_ID=Symbol("ElysiaRequestId"),form=(items)=>{let formData=new FormData;if(formData[ELYSIA_FORM_DATA]={},items)for(let[key,value]of Object.entries(items)){if(Array.isArray(value)){formData[ELYSIA_FORM_DATA][key]=[];for(let v of value)value instanceof File?formData.append(key,value,value.name):value instanceof ElysiaFile?formData.append(key,value.value,value.value?.name):formData.append(key,value),formData[ELYSIA_FORM_DATA][key].push(value);continue}value instanceof File?formData.append(key,value,value.name):value instanceof ElysiaFile?formData.append(key,value.value,value.value?.name):formData.append(key,value),formData[ELYSIA_FORM_DATA][key]=value}return formData},randomId=typeof crypto>"u"||isCloudflareWorker()?()=>{let result="",characters="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";for(let i=0;i<16;i++)result+=characters.charAt(Math.floor(Math.random()*62));return result}:()=>{let uuid=crypto.randomUUID();return uuid.slice(0,8)+uuid.slice(24,32)},deduplicateChecksum=(array)=>{if(!array.length)return[];let hashes=[];for(let i=0;i<array.length;i++){let item=array[i];item.checksum&&(hashes.includes(item.checksum)&&(array.splice(i,1),i--),hashes.push(item.checksum))}return array},promoteEvent=(events,as="scoped")=>{if(events){if(as==="scoped"){for(let event of events)"scope"in event&&event.scope==="local"&&(event.scope="scoped");return}for(let event of events)"scope"in event&&(event.scope="global")}},getLoosePath=(path)=>path.charCodeAt(path.length-1)===47?path.slice(0,path.length-1):path+"/",isNotEmpty=(obj)=>{if(!obj)return!1;for(let _ in obj)return!0;return!1},encodePath=(path,{dynamic=!1}={})=>{let encoded=encodeURIComponent(path).replace(/%2F/g,"/");return dynamic&&(encoded=encoded.replace(/%3A/g,":").replace(/%3F/g,"?")),encoded},supportPerMethodInlineHandler=!!(typeof Bun>"u"||Bun.semver?.satisfies?.(Bun.version,">=1.2.14"));async function getResponseLength(response){if(response.bodyUsed||!response.body)return 0;let length=0,reader=response.body.getReader();for(;;){let{done,value}=await reader.read();if(done)break;length+=value.byteLength}return length}var emptySchema={headers:!0,cookie:!0,query:!0,params:!0,body:!0,response:!0};var env=typeof Bun<"u"?Bun.env:typeof process<"u"?process?.env:void 0,ERROR_CODE=Symbol("ElysiaErrorCode"),isProduction=(env?.NODE_ENV??env?.ENV)==="production",emptyHttpStatus={101:void 0,204:void 0,205:void 0,304:void 0,307:void 0,308:void 0};class ElysiaCustomStatusResponse{constructor(code,response){let res=response??(code in InvertedStatusMap?InvertedStatusMap[code]:code);this.code=StatusMap[code]??code,code in emptyHttpStatus?this.response=void 0:this.response=res}}var status=(code,response)=>new ElysiaCustomStatusResponse(code,response);class NotFoundError extends Error{constructor(message){super(message??"NOT_FOUND");this.code="NOT_FOUND",this.status=404}}class ParseError extends Error{constructor(cause){super("Bad Request",{cause});this.code="PARSE",this.status=400}}class InvalidCookieSignature extends Error{constructor(key,message){super(message??`"${key}" has invalid cookie signature`);this.key=key,this.code="INVALID_COOKIE_SIGNATURE",this.status=400}}var mapValueError=(error)=>{if(!error)return error;let{message,path,value,type}=error;Array.isArray(path)&&(path=path[0]);let property=typeof path=="string"?path.slice(1).replaceAll("/","."):"unknown",isRoot=path==="";switch(type){case 42:return{...error,summary:isRoot?"Value should not be provided":`Property '${property}' should not be provided`};case 45:return{...error,summary:isRoot?"Value is missing":`Property '${property}' is missing`};case 50:let quoteIndex=message.indexOf("'"),format=message.slice(quoteIndex+1,message.indexOf("'",quoteIndex+1));return{...error,summary:isRoot?"Value should be an email":`Property '${property}' should be ${format}`};case 54:return{...error,summary:`${message.slice(0,9).trim()} property '${property}' to be ${message.slice(8).trim()} but found: ${value}`};case 62:let union=error.schema.anyOf.map((x)=>`'${x?.format??x.type}'`).join(", ");return{...error,summary:isRoot?`Value should be one of ${union}`:`Property '${property}' should be one of: ${union}`};default:return{summary:message,...error}}},MAX_ERRORS=64,takeErrors=(iterator,limit=MAX_ERRORS)=>{let errors=[];for(let error of iterator){if(!error)continue;let mapped=mapValueError(error);if(mapped&&errors.push(mapped),errors.length>=limit)break}return errors};class InvalidFileType extends Error{constructor(property,expected,message=`"${property}" has invalid file type`){super(message);this.property=property,this.expected=expected,this.message=message,this.code="INVALID_FILE_TYPE",this.status=422,Object.setPrototypeOf(this,InvalidFileType.prototype)}toResponse(headers){return isProduction?new Response(JSON.stringify({type:"validation",on:"body"}),{status:422,headers:{...headers,"content-type":"application/json"}}):new Response(JSON.stringify({type:"validation",on:"body",summary:"Invalid file type",message:this.message,property:this.property,expected:this.expected}),{status:422,headers:{...headers,"content-type":"application/json"}})}}class ValidationError extends Error{constructor(type,validator,value,allowUnsafeValidationDetails=!1,errors){let message="",error,expected,customError;if(validator?.provider==="standard"||"~standard"in validator||validator.schema&&"~standard"in validator.schema){let standard=("~standard"in validator?validator:validator.schema)["~standard"];error=(errors??standard.validate(value).issues)?.[0],isProduction&&!allowUnsafeValidationDetails?message=JSON.stringify({type:"validation",on:type,found:value}):message=JSON.stringify({type:"validation",on:type,property:error.path?.[0]||"root",message:error?.message,summary:error?.problem,expected,found:value,errors},null,2),customError=error?.message}else{value&&typeof value=="object"&&value instanceof ElysiaCustomStatusResponse&&(value=value.response),error=errors?.First()??("Errors"in validator?validator.Errors(value).First():Errors(validator,value).First());let accessor=error?.path||"root",schema=validator?.schema??validator;if(!isProduction&&!allowUnsafeValidationDetails)try{expected=Create2(schema)}catch(error2){expected={type:"Could not create expected value",message:error2?.message,error:error2}}customError=error?.schema?.message||error?.schema?.error!==void 0?typeof error.schema.error=="function"?error.schema.error(isProduction&&!allowUnsafeValidationDetails?{type:"validation",on:type,found:value}:{type:"validation",on:type,value,property:accessor,message:error?.message,summary:mapValueError(error)?.summary,found:value,expected,errors:"Errors"in validator?takeErrors(validator.Errors(value)):takeErrors(Errors(validator,value))},validator):error.schema.error:void 0,customError!==void 0?message=typeof customError=="object"?JSON.stringify(customError):customError+"":isProduction&&!allowUnsafeValidationDetails?message=JSON.stringify({type:"validation",on:type,found:value}):message=JSON.stringify({type:"validation",on:type,property:accessor,message:error?.message,summary:mapValueError(error)?.summary,expected,found:value,errors:"Errors"in validator?takeErrors(validator.Errors(value)):takeErrors(Errors(validator,value))},null,2)}super(message);this.type=type,this.validator=validator,this.value=value,this.allowUnsafeValidationDetails=allowUnsafeValidationDetails,this.code="VALIDATION",this.status=422,this.valueError=error,this.expected=expected,this.customError=customError,Object.setPrototypeOf(this,ValidationError.prototype)}get messageValue(){return this.valueError}get all(){return this.validator?.provider==="standard"||"~standard"in this.validator||"schema"in this.validator&&this.validator.schema&&"~standard"in this.validator.schema?("~standard"in this.validator?this.validator:this.validator.schema)["~standard"].validate(this.value).issues?.slice(0,MAX_ERRORS).map((issue)=>({summary:issue.message,path:issue.path?.join(".")||"root",message:issue.message,value:this.value}))||[]:("Errors"in this.validator)?takeErrors(this.validator.Errors(this.value)):takeErrors(Errors(this.validator,this.value))}static simplifyModel(validator){let model="schema"in validator?validator.schema:validator;try{return Create2(model)}catch{return model}}get model(){return"~standard"in this.validator?this.validator:ValidationError.simplifyModel(this.validator)}toResponse(headers){return new Response(this.message,{status:400,headers:{...headers,"content-type":"application/json"}})}detail(message,allowUnsafeValidatorDetails=this.allowUnsafeValidationDetails){if(!this.customError)return this.message;let value=this.value,expected=this.expected,errors=this.all;return isProduction&&!allowUnsafeValidatorDetails?{type:"validation",on:this.type,found:value,message}:{type:"validation",on:this.type,property:this.valueError?.path||"root",message,summary:mapValueError(this.valueError)?.summary,found:value,expected,errors}}}var tryParse=(v,schema)=>{try{return JSON.parse(v)}catch{throw new ValidationError("property",schema,v)}};function createType(kind,func){return Has2(kind)||Set3(kind,func),(options={})=>Unsafe({...options,[Kind]:kind})}var compile=(schema)=>{try{let compiler=TypeCompiler.Compile(schema);return compiler.Create=()=>Create2(schema),compiler.Error=(v)=>new ValidationError("property",schema,v,compiler.Errors(v)),compiler}catch{return{Check:(v)=>Check(schema,v),CheckThrow:(v)=>{if(!Check(schema,v))throw new ValidationError("property",schema,v,Errors(schema,v))},Decode:(v)=>Decode(schema,v),Create:()=>Create2(schema),Error:(v)=>new ValidationError("property",schema,v,Errors(schema,v))}}},parseFileUnit=(size)=>{if(typeof size=="string")switch(size.slice(-1)){case"k":return+size.slice(0,size.length-1)*1024;case"m":return+size.slice(0,size.length-1)*1048576;default:return+size}return size},checkFileExtension=(type,extension)=>type.startsWith(extension)?!0:extension.charCodeAt(extension.length-1)===42&&extension.charCodeAt(extension.length-2)===47&&type.startsWith(extension.slice(0,-1)),_fileTypeFromBlobWarn=!1,warnIfFileTypeIsNotInstalled=()=>{_fileTypeFromBlobWarn||(console.warn("[Elysia] Attempt to validate file type without 'file-type'. This may lead to security risks. We recommend installing 'file-type' to properly validate file extension."),_fileTypeFromBlobWarn=!0)},loadFileType=async()=>Promise.resolve().then(() => (init_source(),{})).then((x)=>(_fileTypeFromBlob=fileTypeFromBlob,_fileTypeFromBlob)).catch(warnIfFileTypeIsNotInstalled),_fileTypeFromBlob,fileTypeFromBlob2=(file)=>_fileTypeFromBlob?_fileTypeFromBlob(file):loadFileType().then((mod)=>{if(mod)return mod(file)}),fileType=async(file,extension,name=file?.name??"")=>{if(Array.isArray(file))return await Promise.all(file.map((f)=>fileType(f,extension,name))),!0;if(!file)return!1;let result=await fileTypeFromBlob2(file);if(!result)throw new InvalidFileType(name,extension);if(typeof extension=="string"&&!checkFileExtension(result.mime,extension))throw new InvalidFileType(name,extension);for(let i=0;i<extension.length;i++)if(checkFileExtension(result.mime,extension[i]))return!0;throw new InvalidFileType(name,extension)},validateFile=(options,value)=>{if(value instanceof ElysiaFile)return!0;if(!(value instanceof Blob)||options.minSize&&value.size<parseFileUnit(options.minSize)||options.maxSize&&value.size>parseFileUnit(options.maxSize))return!1;if(options.extension){if(typeof options.extension=="string")return checkFileExtension(value.type,options.extension);for(let i=0;i<options.extension.length;i++)if(checkFileExtension(value.type,options.extension[i]))return!0;return!1}return!0};var fullFormats={date,time:getTime(!0),"date-time":getDateTime(!0),"iso-time":getTime(!1),"iso-date-time":getDateTime(!1),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:[^\s:@]+(?::[^\s@]*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte,int32:{type:"number",validate:validateInt32},int64:{type:"number",validate:validateInt64},float:{type:"number",validate:validateNumber},double:{type:"number",validate:validateNumber},password:!0,binary:!0};function isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}var DATE=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,DAYS=[0,31,28,31,30,31,30,31,31,30,31,30,31];function date(str){let matches=DATE.exec(str);if(!matches)return!1;let year=+matches[1],month=+matches[2],day=+matches[3];return month>=1&&month<=12&&day>=1&&day<=(month===2&&isLeapYear(year)?29:DAYS[month])}var TIME=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function getTime(strictTimeZone){return function(str){let matches=TIME.exec(str);if(!matches)return!1;let hr=+matches[1],min=+matches[2],sec=+matches[3],tz=matches[4],tzSign=matches[5]==="-"?-1:1,tzH=+(matches[6]||0),tzM=+(matches[7]||0);if(tzH>23||tzM>59||strictTimeZone&&!tz)return!1;if(hr<=23&&min<=59&&sec<60)return!0;let utcMin=min-tzM*tzSign,utcHr=hr-tzH*tzSign-(utcMin<0?1:0);return(utcHr===23||utcHr===-1)&&(utcMin===59||utcMin===-1)&&sec<61}}var parseDateTimeEmptySpace=(str)=>str.charCodeAt(str.length-6)===32?str.slice(0,-6)+"+"+str.slice(-5):str,DATE_TIME_SEPARATOR=/t|\s/i;function getDateTime(strictTimeZone){let time=getTime(strictTimeZone);return function(str){let dateTime=str.split(DATE_TIME_SEPARATOR);return dateTime.length===2&&date(dateTime[0])&&time(dateTime[1])}}var NOT_URI_FRAGMENT=/\/|:/,URI=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function uri(str){return NOT_URI_FRAGMENT.test(str)&&URI.test(str)}var BYTE=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function byte(str){return BYTE.lastIndex=0,BYTE.test(str)}var MIN_INT32=-2147483648,MAX_INT32=2147483647;function validateInt32(value){return Number.isInteger(value)&&value<=MAX_INT32&&value>=MIN_INT32}function validateInt64(value){return Number.isInteger(value)}function validateNumber(){return!0}var Z_ANCHOR=/[^\\]\\Z/;function regex(str){if(Z_ANCHOR.test(str))return!1;try{return new RegExp(str),!0}catch{return!1}}var isISO8601=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,isFormalDate=/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{2}\s\d{4}\s\d{2}:\d{2}:\d{2}\sGMT(?:\+|-)\d{4}\s\([^)]+\)/,isShortenDate=/^(?:(?:(?:(?:0?[1-9]|[12][0-9]|3[01])[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:19|20)\d{2})|(?:(?:19|20)\d{2}[/\s-](?:0?[1-9]|1[0-2])[/\s-](?:0?[1-9]|[12][0-9]|3[01]))))(?:\s(?:1[012]|0?[1-9]):[0-5][0-9](?::[0-5][0-9])?(?:\s[AP]M)?)?$/,_validateDate=fullFormats.date,_validateDateTime=fullFormats["date-time"];Has("date")||Set2("date",(value)=>{let temp=parseDateTimeEmptySpace(value).replace(/"/g,"");if(isISO8601.test(temp)||isFormalDate.test(temp)||isShortenDate.test(temp)||_validateDate(temp)){let date2=new Date(temp);if(!Number.isNaN(date2.getTime()))return!0}return!1}),Has("date-time")||Set2("date-time",(value)=>{let temp=value.replace(/"/g,"");if(isISO8601.test(temp)||isFormalDate.test(temp)||isShortenDate.test(temp)||_validateDateTime(temp)){let date2=new Date(temp);if(!Number.isNaN(date2.getTime()))return!0}return!1}),Object.entries(fullFormats).forEach((formatEntry)=>{let[formatName,formatValue]=formatEntry;Has(formatName)||(formatValue instanceof RegExp?Set2(formatName,(value)=>formatValue.test(value)):typeof formatValue=="function"&&Set2(formatName,formatValue))}),Has("numeric")||Set2("numeric",(value)=>!!value&&!isNaN(+value)),Has("integer")||Set2("integer",(value)=>!!value&&Number.isInteger(+value)),Has("boolean")||Set2("boolean",(value)=>value==="true"||value==="false"),Has("ObjectString")||Set2("ObjectString",(value)=>{let start=value.charCodeAt(0);if((start===9||start===10||start===32)&&(start=value.trimStart().charCodeAt(0)),start!==123&&start!==91)return!1;try{return JSON.parse(value),!0}catch{return!1}}),Has("ArrayString")||Set2("ArrayString",(value)=>{let start=value.charCodeAt(0);if((start===9||start===10||start===32)&&(start=value.trimStart().charCodeAt(0)),start!==123&&start!==91)return!1;try{return JSON.parse(value),!0}catch{return!1}});var t=Object.assign({},Type);createType("UnionEnum",(schema,value)=>(typeof value=="number"||typeof value=="string"||value===null)&&schema.enum.includes(value)),createType("ArrayBuffer",(schema,value)=>value instanceof ArrayBuffer);var internalFiles=createType("Files",(options,value)=>{if(options.minItems&&options.minItems>1&&!Array.isArray(value))return!1;if(!Array.isArray(value))return validateFile(options,value);if(options.minItems&&value.length<options.minItems||options.maxItems&&value.length>options.maxItems)return!1;for(let i=0;i<value.length;i++)if(!validateFile(options,value[i]))return!1;return!0}),internalFormData=createType("ElysiaForm",({compiler,...schema},value)=>{if(!(value instanceof FormData))return!1;if(compiler){if(!(ELYSIA_FORM_DATA in value))throw new ValidationError("property",schema,value);if(!compiler.Check(value[ELYSIA_FORM_DATA]))throw compiler.Error(value[ELYSIA_FORM_DATA])}return!0}),ElysiaType={String:(property)=>Type.String(property),Numeric:(property)=>{let schema=Type.Number(property),compiler=compile(schema);return t.Transform(t.Union([t.String({format:"numeric",default:0}),t.Number(property)],property)).Decode((value)=>{let number=+value;if(isNaN(number))return value;if(property&&!compiler.Check(number))throw compiler.Error(number);return number}).Encode((value)=>value)},NumericEnum(item,property){let schema=Type.Enum(item,property),compiler=compile(schema);return t.Transform(t.Union([t.String({format:"numeric"}),t.Number()],property)).Decode((value)=>{let number=+value;if(isNaN(number)||!compiler.Check(number))throw compiler.Error(number);return number}).Encode((value)=>value)},Integer:(property)=>{let schema=Type.Integer(property),compiler=compile(schema);return t.Transform(t.Union([t.String({format:"integer",default:0}),Type.Integer(property)],property)).Decode((value)=>{let number=+value;if(!compiler.Check(number))throw compiler.Error(number);return number}).Encode((value)=>value)},Date:(property)=>{let schema=Type.Date(property),compiler=compile(schema),_default=property?.default?new Date(property.default):void 0;return t.Transform(t.Union([Type.Date(property),t.String({format:"date-time",default:_default?.toISOString()}),t.String({format:"date",default:_default?.toISOString()}),t.Number({default:_default?.getTime()})],property)).Decode((value)=>{if(typeof value=="number"){let date2=new Date(value);if(!compiler.Check(date2))throw compiler.Error(date2);return date2}if(value instanceof Date)return value;let date=new Date(parseDateTimeEmptySpace(value));if(!date||isNaN(date.getTime()))throw new ValidationError("property",schema,date);if(!compiler.Check(date))throw compiler.Error(date);return date}).Encode((value)=>{if(value instanceof Date)return value.toISOString();if(typeof value=="string"){let parsed=new Date(parseDateTimeEmptySpace(value));if(isNaN(parsed.getTime()))throw new ValidationError("property",schema,value);return parsed.toISOString()}if(!compiler.Check(value))throw compiler.Error(value);return value})},BooleanString:(property)=>{let schema=Type.Boolean(property),compiler=compile(schema);return t.Transform(t.Union([t.Boolean(property),t.String({format:"boolean",default:!1})],property)).Decode((value)=>{if(typeof value=="string")return value==="true";if(value!==void 0&&!compiler.Check(value))throw compiler.Error(value);return value}).Encode((value)=>value)},ObjectString:(properties,options)=>{let schema=t.Object(properties,options),compiler=compile(schema);return t.Transform(t.Union([t.String({format:"ObjectString",default:options?.default}),schema],{elysiaMeta:"ObjectString"})).Decode((value)=>{if(typeof value=="string"){if(value.charCodeAt(0)!==123)throw new ValidationError("property",schema,value);if(!compiler.Check(value=tryParse(value,schema)))throw compiler.Error(value);return compiler.Decode(value)}return value}).Encode((value)=>{let original;if(typeof value=="string"&&(value=tryParse(original=value,schema)),!compiler.Check(value))throw compiler.Error(value);return original??JSON.stringify(value)})},ArrayString:(children=t.String(),options)=>{let schema=t.Array(children,options),compiler=compile(schema),decode=(value,isProperty=!1)=>{if(value.charCodeAt(0)===91){if(!compiler.Check(value=tryParse(value,schema)))throw compiler.Error(value);return compiler.Decode(value)}if(isProperty)return value;throw new ValidationError("property",schema,value)};return t.Transform(t.Union([t.String({format:"ArrayString",default:options?.default}),schema],{elysiaMeta:"ArrayString"})).Decode((value)=>{if(Array.isArray(value)){let values=[];for(let i=0;i<value.length;i++){let v=value[i];if(typeof v=="string"){let t2=decode(v,!0);Array.isArray(t2)?values=values.concat(t2):values.push(t2);continue}values.push(v)}return values}return typeof value=="string"?decode(value):value}).Encode((value)=>{let original;if(typeof value=="string"&&(value=tryParse(original=value,schema)),!compiler.Check(value))throw new ValidationError("property",schema,value);return original??JSON.stringify(value)})},ArrayQuery:(children=t.String(),options)=>{let schema=t.Array(children,options),compiler=compile(schema),decode=(value)=>value.indexOf(",")!==-1?compiler.Decode(value.split(",")):compiler.Decode([value]);return t.Transform(t.Union([t.String({default:options?.default}),schema],{elysiaMeta:"ArrayQuery"})).Decode((value)=>{if(Array.isArray(value)){let values=[];for(let i=0;i<value.length;i++){let v=value[i];if(typeof v=="string"){let t2=decode(v);Array.isArray(t2)?values=values.concat(t2):values.push(t2);continue}values.push(v)}return values}return typeof value=="string"?decode(value):value}).Encode((value)=>{let original;if(typeof value=="string"&&(value=tryParse(original=value,schema)),!compiler.Check(value))throw new ValidationError("property",schema,value);return original??JSON.stringify(value)})},File:createType("File",validateFile),Files:(options={})=>t.Transform(internalFiles(options)).Decode((value)=>Array.isArray(value)?value:[value]).Encode((value)=>value),Nullable:(schema,options)=>t.Union([schema,t.Null()],{...options,nullable:!0}),MaybeEmpty:(schema,options)=>t.Union([schema,t.Null(),t.Undefined()],options),Cookie:(properties,{domain,expires,httpOnly,maxAge,path,priority,sameSite,secure,secrets,sign,...options}={})=>{let v=t.Object(properties,options);return v.config={domain,expires,httpOnly,maxAge,path,priority,sameSite,secure,secrets,sign},v},UnionEnum:(values,options={})=>{let type=values.every((value)=>typeof value=="string")?{type:"string"}:values.every((value)=>typeof value=="number")?{type:"number"}:values.every((value)=>value===null)?{type:"null"}:{};if(values.some((x)=>typeof x=="object"&&x!==null))throw Error("This type does not support objects or arrays");return{default:values[0],...options,[Kind]:"UnionEnum",...type,enum:values}},NoValidate:(v,enabled=!0)=>(v.noValidate=enabled,v),Form:(v,options={})=>{let schema=t.Object(v,{default:form({}),...options}),compiler=compile(schema);return t.Union([schema,internalFormData({compiler})])},ArrayBuffer(options={}){return{default:[1,2,3],...options,[Kind]:"ArrayBuffer"}},Uint8Array:(options)=>{let schema=Type.Uint8Array(options),compiler=compile(schema);return t.Transform(t.Union([t.ArrayBuffer(),Type.Uint8Array(options)])).Decode((value)=>{if(value instanceof ArrayBuffer){if(!compiler.Check(value=new Uint8Array(value)))throw compiler.Error(value);return value}return value}).Encode((value)=>value)}};t.BooleanString=ElysiaType.BooleanString,t.ObjectString=ElysiaType.ObjectString,t.ArrayString=ElysiaType.ArrayString,t.ArrayQuery=ElysiaType.ArrayQuery,t.Numeric=ElysiaType.Numeric,t.NumericEnum=ElysiaType.NumericEnum,t.Integer=ElysiaType.Integer,t.File=(arg)=>(arg?.type&&loadFileType(),ElysiaType.File({default:"File",...arg,extension:arg?.type,type:"string",format:"binary"})),t.Files=(arg)=>(arg?.type&&loadFileType(),ElysiaType.Files({...arg,elysiaMeta:"Files",default:"Files",extension:arg?.type,type:"array",items:{...arg,default:"Files",type:"string",format:"binary"}})),t.Nullable=ElysiaType.Nullable,t.MaybeEmpty=ElysiaType.MaybeEmpty,t.Cookie=ElysiaType.Cookie,t.Date=ElysiaType.Date,t.UnionEnum=ElysiaType.UnionEnum,t.NoValidate=ElysiaType.NoValidate,t.Form=ElysiaType.Form,t.ArrayBuffer=ElysiaType.ArrayBuffer,t.Uint8Array=ElysiaType.Uint8Array;var separateFunction=(code)=>{code.startsWith("async")&&(code=code.slice(5)),code=code.trimStart();let index=-1;if(code.charCodeAt(0)===40&&(index=code.indexOf("=>",code.indexOf(")")),index!==-1)){let bracketEndIndex=index;for(;bracketEndIndex>0&&code.charCodeAt(--bracketEndIndex)!==41;);let body=code.slice(index+2);return body.charCodeAt(0)===32&&(body=body.trimStart()),[code.slice(1,bracketEndIndex),body,{isArrowReturn:body.charCodeAt(0)!==123}]}if(/^(\w+)=>/g.test(code)&&(index=code.indexOf("=>"),index!==-1)){let body=code.slice(index+2);return body.charCodeAt(0)===32&&(body=body.trimStart()),[code.slice(0,index),body,{isArrowReturn:body.charCodeAt(0)!==123}]}if(code.startsWith("function")){index=code.indexOf("(");let end=code.indexOf(")");return[code.slice(index+1,end),code.slice(end+2),{isArrowReturn:!1}]}let start=code.indexOf("(");if(start!==-1){let sep=code.indexOf(`
15
+ `,2),parameter=code.slice(0,sep),end=parameter.lastIndexOf(")")+1,body=code.slice(sep+1);return[parameter.slice(start,end),"{"+body,{isArrowReturn:!1}]}let x=code.split(`
16
+ `,2);return[x[0],x[1],{isArrowReturn:!1}]},bracketPairRange=(parameter)=>{let start=parameter.indexOf("{");if(start===-1)return[-1,0];let end=start+1,deep=1;for(;end<parameter.length;end++){let char=parameter.charCodeAt(end);if(char===123?deep++:char===125&&deep--,deep===0)break}return deep!==0?[0,parameter.length]:[start,end+1]},bracketPairRangeReverse=(parameter)=>{let end=parameter.lastIndexOf("}");if(end===-1)return[-1,0];let start=end-1,deep=1;for(;start>=0;start--){let char=parameter.charCodeAt(start);if(char===125?deep++:char===123&&deep--,deep===0)break}return deep!==0?[-1,0]:[start,end+1]},removeColonAlias=(parameter)=>{for(;;){let start=parameter.indexOf(":");if(start===-1)break;let end=parameter.indexOf(",",start);end===-1&&(end=parameter.indexOf("}",start)-1),end===-2&&(end=parameter.length),parameter=parameter.slice(0,start)+parameter.slice(end)}return parameter},retrieveRootparameters=(parameter)=>{let hasParenthesis=!1;parameter.charCodeAt(0)===40&&(parameter=parameter.slice(1,-1)),parameter.charCodeAt(0)===123&&(hasParenthesis=!0,parameter=parameter.slice(1,-1)),parameter=parameter.replace(/( |\t|\n)/g,"").trim();let parameters=[];for(;;){let[start,end]=bracketPairRange(parameter);if(start===-1)break;parameters.push(parameter.slice(0,start-1)),parameter.charCodeAt(end)===44&&end++,parameter=parameter.slice(end)}parameter=removeColonAlias(parameter),parameter&&(parameters=parameters.concat(parameter.split(",")));let parameterMap=Object.create(null);for(let p of parameters){if(p.indexOf(",")===-1){parameterMap[p]=!0;continue}for(let q of p.split(","))parameterMap[q.trim()]=!0}return{hasParenthesis,parameters:parameterMap}},findParameterReference=(parameter,inference)=>{let{parameters,hasParenthesis}=retrieveRootparameters(parameter);return parameters.query&&(inference.query=!0),parameters.headers&&(inference.headers=!0),parameters.body&&(inference.body=!0),parameters.cookie&&(inference.cookie=!0),parameters.set&&(inference.set=!0),parameters.server&&(inference.server=!0),parameters.route&&(inference.route=!0),parameters.url&&(inference.url=!0),parameters.path&&(inference.path=!0),hasParenthesis?`{ ${Object.keys(parameters).join(", ")} }`:Object.keys(parameters).join(", ")},findEndIndex=(type,content,index)=>{let regex=new RegExp(`${type.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}[\\n\\t,; ]`);index!==void 0&&(regex.lastIndex=index);let match=regex.exec(content);return match?match.index:-1};var findAlias=(type,body,depth=0)=>{if(depth>5)return[];let aliases=[],content=body;for(;;){let index=findEndIndex(" = "+type,content);if(index===-1&&(index=findEndIndex("="+type,content)),index===-1){let lastIndex=content.indexOf(" = "+type);if(lastIndex===-1&&(lastIndex=content.indexOf("="+type)),lastIndex+3+type.length!==content.length)break;index=lastIndex}let part=content.slice(0,index),lastPart=part.lastIndexOf(" "),variable=part.slice(lastPart!==-1?lastPart+1:-1);if(variable==="}"){let[start,end]=bracketPairRangeReverse(part);aliases.push(removeColonAlias(content.slice(start,end))),content=content.slice(index+3+type.length);continue}for(;variable.charCodeAt(0)===44;)variable=variable.slice(1);for(;variable.charCodeAt(0)===9;)variable=variable.slice(1);variable.includes("(")||aliases.push(variable),content=content.slice(index+3+type.length)}for(let alias of aliases){if(alias.charCodeAt(0)===123)continue;let deepAlias=findAlias(alias,body);deepAlias.length>0&&aliases.push(...deepAlias)}return aliases},extractMainParameter=(parameter)=>{if(!parameter)return;if(parameter.charCodeAt(0)!==123)return parameter;if(parameter=parameter.slice(2,-2),!parameter.includes(","))return parameter.indexOf("...")!==-1?parameter.slice(parameter.indexOf("...")+3):void 0;let spreadIndex=parameter.indexOf("...");if(spreadIndex!==-1)return parameter.slice(spreadIndex+3).trimEnd()},inferBodyReference=(code,aliases,inference)=>{let access=(type,alias)=>new RegExp(`${alias}\\.(${type})|${alias}\\["${type}"\\]|${alias}\\['${type}'\\]`).test(code);for(let alias of aliases)if(alias){if(alias.charCodeAt(0)===123){let parameters=retrieveRootparameters(alias).parameters;parameters.query&&(inference.query=!0),parameters.headers&&(inference.headers=!0),parameters.body&&(inference.body=!0),parameters.cookie&&(inference.cookie=!0),parameters.set&&(inference.set=!0),parameters.server&&(inference.server=!0),parameters.url&&(inference.url=!0),parameters.route&&(inference.route=!0),parameters.path&&(inference.path=!0);continue}if(!inference.query&&(access("query",alias)||code.includes("return "+alias)||code.includes("return "+alias+".query"))&&(inference.query=!0),!inference.headers&&access("headers",alias)&&(inference.headers=!0),!inference.body&&access("body",alias)&&(inference.body=!0),!inference.cookie&&access("cookie",alias)&&(inference.cookie=!0),!inference.set&&access("set",alias)&&(inference.set=!0),!inference.server&&access("server",alias)&&(inference.server=!0),!inference.route&&access("route",alias)&&(inference.route=!0),!inference.url&&access("url",alias)&&(inference.url=!0),!inference.path&&access("path",alias)&&(inference.path=!0),inference.query&&inference.headers&&inference.body&&inference.cookie&&inference.set&&inference.server&&inference.route&&inference.url&&inference.path)break}return aliases};var isContextPassToFunction=(context,body,inference)=>{try{let captureFunction=new RegExp(`\\w\\((?:.*?)?${context}(?:.*?)?\\)`,"gs"),exactParameter=new RegExp(`${context}(,|\\))`,"gs"),length=body.length,fn;for(fn=captureFunction.exec(body)+"";captureFunction.lastIndex!==0&&captureFunction.lastIndex<length+(fn?fn.length:0);){if(fn&&exactParameter.test(fn))return inference.query=!0,inference.headers=!0,inference.body=!0,inference.cookie=!0,inference.set=!0,inference.server=!0,inference.url=!0,inference.route=!0,inference.path=!0,!0;fn=captureFunction.exec(body)+""}let nextChar=body.charCodeAt(captureFunction.lastIndex);return nextChar===41||nextChar===44?(inference.query=!0,inference.headers=!0,inference.body=!0,inference.cookie=!0,inference.set=!0,inference.server=!0,inference.url=!0,inference.route=!0,inference.path=!0,!0):!1}catch{return console.log("[Sucrose] warning: unexpected isContextPassToFunction error, you may continue development as usual but please report the following to maintainers:"),console.log("--- body ---"),console.log(body),console.log("--- context ---"),console.log(context),!0}},pendingGC,caches2={},clearSucroseCache=(delay)=>{delay===null||isCloudflareWorker()||(delay===void 0&&(delay=295000),pendingGC&&clearTimeout(pendingGC),pendingGC=setTimeout(()=>{caches2={},pendingGC=void 0,isBun&&Bun.gc(!1)},delay),pendingGC.unref?.())},mergeInference=(a,b)=>({body:a.body||b.body,cookie:a.cookie||b.cookie,headers:a.headers||b.headers,query:a.query||b.query,set:a.set||b.set,server:a.server||b.server,url:a.url||b.url,route:a.route||b.route,path:a.path||b.path}),sucrose=(lifeCycle,inference={query:!1,headers:!1,body:!1,cookie:!1,set:!1,server:!1,url:!1,route:!1,path:!1},settings={})=>{let events=[];lifeCycle.request?.length&&events.push(...lifeCycle.request),lifeCycle.beforeHandle?.length&&events.push(...lifeCycle.beforeHandle),lifeCycle.parse?.length&&events.push(...lifeCycle.parse),lifeCycle.error?.length&&events.push(...lifeCycle.error),lifeCycle.transform?.length&&events.push(...lifeCycle.transform),lifeCycle.afterHandle?.length&&events.push(...lifeCycle.afterHandle),lifeCycle.mapResponse?.length&&events.push(...lifeCycle.mapResponse),lifeCycle.afterResponse?.length&&events.push(...lifeCycle.afterResponse),lifeCycle.handler&&typeof lifeCycle.handler=="function"&&events.push(lifeCycle.handler);for(let i=0;i<events.length;i++){let e=events[i];if(!e)continue;let event=typeof e=="object"?e.fn:e;if(typeof event!="function")continue;let content=event.toString(),key=checksum(content),cachedInference=caches2[key];if(cachedInference){inference=mergeInference(inference,cachedInference);continue}clearSucroseCache(settings.gcTime);let fnInference={query:!1,headers:!1,body:!1,cookie:!1,set:!1,server:!1,url:!1,route:!1,path:!1},[parameter,body]=separateFunction(content),rootParameters=findParameterReference(parameter,fnInference),mainParameter=extractMainParameter(rootParameters);if(mainParameter){let aliases=findAlias(mainParameter,body.slice(1,-1));aliases.splice(0,-1,mainParameter);let code=body;code.charCodeAt(0)===123&&code.charCodeAt(body.length-1)===125&&(code=code.slice(1,-1).trim()),isContextPassToFunction(mainParameter,code,fnInference)||inferBodyReference(code,aliases,fnInference),!fnInference.query&&code.includes("return "+mainParameter+".query")&&(fnInference.query=!0)}if(caches2[key]||(caches2[key]=fnInference),inference=mergeInference(inference,fnInference),inference.query&&inference.headers&&inference.body&&inference.cookie&&inference.set&&inference.server&&inference.url&&inference.route&&inference.path)break}return inference};var import_cookie=__toESM(require_dist(),1),import_fast_decode_uri_component=__toESM(require_fast_decode_uri_component(),1);var hashString=(str)=>{let hash=2166136261,len=str.length;for(let i=0;i<len;i++)hash^=str.charCodeAt(i),hash=Math.imul(hash,16777619);return hash>>>0};class Cookie{constructor(name,jar,initial=Object.create(null)){this.name=name,this.jar=jar,this.initial=initial}get cookie(){return this.jar[this.name]??this.initial}set cookie(jar){this.name in this.jar||(this.jar[this.name]=this.initial),this.jar[this.name]=jar,this.valueHash=void 0}get setCookie(){return this.name in this.jar||(this.jar[this.name]=this.initial),this.jar[this.name]}set setCookie(jar){this.cookie=jar}get value(){return this.cookie.value}set value(value){let current=this.cookie.value;if(current!==value){if(typeof current=="object"&&current!==null&&typeof value=="object"&&value!==null)try{let valueStr=JSON.stringify(value),newHash=hashString(valueStr);if(this.valueHash!==void 0&&this.valueHash!==newHash)this.valueHash=newHash;else{if(JSON.stringify(current)===valueStr){this.valueHash=newHash;return}this.valueHash=newHash}}catch{}this.name in this.jar||(this.jar[this.name]={...this.initial}),this.jar[this.name].value=value}}get expires(){return this.cookie.expires}set expires(expires){this.setCookie.expires=expires}get maxAge(){return this.cookie.maxAge}set maxAge(maxAge){this.setCookie.maxAge=maxAge}get domain(){return this.cookie.domain}set domain(domain){this.setCookie.domain=domain}get path(){return this.cookie.path}set path(path){this.setCookie.path=path}get secure(){return this.cookie.secure}set secure(secure){this.setCookie.secure=secure}get httpOnly(){return this.cookie.httpOnly}set httpOnly(httpOnly){this.setCookie.httpOnly=httpOnly}get sameSite(){return this.cookie.sameSite}set sameSite(sameSite){this.setCookie.sameSite=sameSite}get priority(){return this.cookie.priority}set priority(priority){this.setCookie.priority=priority}get partitioned(){return this.cookie.partitioned}set partitioned(partitioned){this.setCookie.partitioned=partitioned}get secrets(){return this.cookie.secrets}set secrets(secrets){this.setCookie.secrets=secrets}update(config){return this.setCookie=Object.assign(this.cookie,typeof config=="function"?config(this.cookie):config),this}set(config){return this.setCookie=Object.assign({...this.initial,value:this.value},typeof config=="function"?config(this.cookie):config),this}remove(){if(this.value!==void 0)return this.set({expires:new Date(0),maxAge:0,value:""}),this}toString(){return typeof this.value=="object"?JSON.stringify(this.value):this.value?.toString()??""}}var createCookieJar=(set,store,initial)=>(set.cookie||(set.cookie=Object.create(null)),new Proxy(store,{get(_,key){return key in store?new Cookie(key,set.cookie,Object.assign({},initial??{},store[key])):new Cookie(key,set.cookie,Object.assign({},initial))}})),parseCookie=async(set,cookieString,{secrets,sign,...initial}=Object.create(null))=>{if(!cookieString)return createCookieJar(set,Object.create(null),initial);let isStringKey=typeof secrets=="string";sign&&sign!==!0&&!Array.isArray(sign)&&(sign=[sign]);let jar=Object.create(null),cookies=import_cookie.parse(cookieString);for(let[name,v]of Object.entries(cookies)){if(v===void 0||name==="__proto__"||name==="constructor"||name==="prototype")continue;let value=import_fast_decode_uri_component.default(v);if(sign===!0||sign?.includes(name)){if(!secrets)throw Error("No secret is provided to cookie plugin");if(isStringKey){if(typeof value!="string")throw new InvalidCookieSignature(name);let temp=await unsignCookie(value,secrets);if(temp===!1)throw new InvalidCookieSignature(name);value=temp}else{let decoded=!1;for(let i=0;i<secrets.length;i++){if(typeof value!="string")throw new InvalidCookieSignature(name);let temp=await unsignCookie(value,secrets[i]);if(temp!==!1){decoded=!0,value=temp;break}}if(!decoded)throw new InvalidCookieSignature(name)}}if(value){let starts=value.charCodeAt(0),ends=value.charCodeAt(value.length-1);if(starts===123&&ends===125||starts===91&&ends===93)try{value=JSON.parse(value)}catch{}}jar[name]=Object.create(null),jar[name].value=value}return createCookieJar(set,jar,initial)},serializeCookie=(cookies)=>{if(!cookies||!isNotEmpty(cookies))return;let set=[];for(let[key,property]of Object.entries(cookies)){if(!key||!property)continue;let value=property.value;value!=null&&set.push(import_cookie.serialize(key,typeof value=="object"?JSON.stringify(value):value+"",property))}if(set.length!==0)return set.length===1?set[0]:set};var handleFile=(response,set,request)=>{if(!isBun&&response instanceof Promise)return response.then((res)=>handleFile(res,set,request));let size=response.size,rangeHeader=request?.headers.get("range");if(rangeHeader){let match=/bytes=(\d*)-(\d*)/.exec(rangeHeader);if(match){if(!match[1]&&!match[2])return new Response(null,{status:416,headers:mergeHeaders(new Headers({"content-range":`bytes */${size}`}),set?.headers??{})});let start,end;if(!match[1]&&match[2]){let suffix=parseInt(match[2]);start=Math.max(0,size-suffix),end=size-1}else start=match[1]?parseInt(match[1]):0,end=match[2]?Math.min(parseInt(match[2]),size-1):size-1;if(start>=size||start>end)return new Response(null,{status:416,headers:mergeHeaders(new Headers({"content-range":`bytes */${size}`}),set?.headers??{})});let contentLength=end-start+1,rangeHeaders=new Headers({"accept-ranges":"bytes","content-range":`bytes ${start}-${end}/${size}`,"content-length":String(contentLength)});return new Response(response.slice(start,end+1,response.type),{status:206,headers:mergeHeaders(rangeHeaders,set?.headers??{})})}}let immutable=set&&(set.status===206||set.status===304||set.status===412||set.status===416),defaultHeader=immutable?{}:{"accept-ranges":"bytes","content-range":size?`bytes 0-${size-1}/${size}`:void 0};if(!set&&!size)return new Response(response);if(!set)return new Response(response,{headers:defaultHeader});if(set.headers instanceof Headers){for(let key of Object.keys(defaultHeader))key in set.headers&&set.headers.append(key,defaultHeader[key]);return immutable&&(set.headers.delete("content-length"),set.headers.delete("accept-ranges")),new Response(response,set)}return isNotEmpty(set.headers)?new Response(response,{status:set.status,headers:Object.assign(defaultHeader,set.headers)}):new Response(response,{status:set.status,headers:defaultHeader})},parseSetCookies=(headers,setCookie)=>{if(!headers)return headers;headers.delete("set-cookie");for(let i=0;i<setCookie.length;i++){let index=setCookie[i].indexOf("=");headers.append("set-cookie",`${setCookie[i].slice(0,index)}=${setCookie[i].slice(index+1)||""}`)}return headers},responseToSetHeaders=(response,set)=>{if(set?.headers){if(response)if(hasHeaderShorthand)Object.assign(set.headers,response.headers.toJSON());else for(let[key,value]of response.headers.entries())key in set.headers&&(set.headers[key]=value);return set.status===200&&(set.status=response.status),set.headers["content-encoding"]&&delete set.headers["content-encoding"],set}if(!response)return{headers:{},status:set?.status??200};if(hasHeaderShorthand)return set={headers:response.headers.toJSON(),status:set?.status??200},set.headers["content-encoding"]&&delete set.headers["content-encoding"],set;set={headers:{},status:set?.status??200};for(let[key,value]of response.headers.entries())key!=="content-encoding"&&key in set.headers&&(set.headers[key]=value);return set},enqueueBinaryChunk=(controller,chunk)=>chunk instanceof Blob?chunk.arrayBuffer().then((buffer)=>(controller.enqueue(new Uint8Array(buffer)),!0)):chunk instanceof Uint8Array?(controller.enqueue(chunk),!0):chunk instanceof ArrayBuffer?(controller.enqueue(new Uint8Array(chunk)),!0):ArrayBuffer.isView(chunk)?(controller.enqueue(new Uint8Array(chunk.buffer,chunk.byteOffset,chunk.byteLength)),!0):!1,createStreamHandler=({mapResponse,mapCompactResponse})=>async(generator,set,request,skipFormat)=>{let init=generator.next?.();if(set&&handleSet(set),init instanceof Promise&&(init=await init),init?.value instanceof ReadableStream)generator=init.value;else if(init&&(typeof init?.done>"u"||init?.done))return set?mapResponse(init.value,set,request):mapCompactResponse(init.value,request);let isSSE=!skipFormat&&(init?.value?.sse??generator?.sse??set?.headers["content-type"]?.startsWith("text/event-stream")),format=isSSE?(data)=>`data: ${data}
17
17
 
18
- `:(q)=>q,B=M?"text/event-stream":J?.value&&typeof J?.value==="object"?"application/json":"text/plain";if($?.headers){if(!$.headers["transfer-encoding"])$.headers["transfer-encoding"]="chunked";if(!$.headers["content-type"])$.headers["content-type"]=B;if(!$.headers["cache-control"])$.headers["cache-control"]="no-cache"}else $={status:200,headers:{"content-type":B,"transfer-encoding":"chunked","cache-control":"no-cache",connection:"keep-alive"}};let z=Q?.headers.has("Origin");return new Response(new ReadableStream({async start(q){let A=!1;if(Q?.signal?.addEventListener("abort",()=>{A=!0;try{q.close()}catch{}}),!J||J.value instanceof ReadableStream);else if(J.value!==void 0&&J.value!==null)if(J.value.toSSE)q.enqueue(J.value.toSSE());else if(typeof J.value==="object")try{q.enqueue(G(JSON.stringify(J.value)))}catch{q.enqueue(G(J.value.toString()))}else q.enqueue(G(J.value.toString()));try{for await(let N of X){if(A)break;if(N===void 0||N===null)continue;if(N.toSSE)q.enqueue(N.toSSE());else{if(typeof N==="object")try{q.enqueue(G(JSON.stringify(N)))}catch{q.enqueue(G(N.toString()))}else q.enqueue(G(N.toString()));if(!Yw&&z&&!M)await new Promise((D)=>setTimeout(()=>D(),0))}}}catch(N){console.warn(N)}try{q.close()}catch{}}}),$)};async function*Zw(Y){let Z=Y.body;if(!Z)return;let X=Z.getReader(),$=new TextDecoder;try{while(!0){let{done:Q,value:W}=await X.read();if(Q)break;if(typeof W==="string")yield W;else yield $.decode(W)}}finally{X.releaseLock()}}var hX=(Y)=>{if(typeof Y.status==="string")Y.status=vZ[Y.status];if(Y.cookie&&x1(Y.cookie)){let Z=i4(Y.cookie);if(Z)Y.headers["set-cookie"]=Z}if(Y.headers["set-cookie"]&&Array.isArray(Y.headers["set-cookie"]))Y.headers=l4(new Headers(Y.headers),Y.headers["set-cookie"])};function Xw(Y,Z){let X=new Headers(Y);if(Z instanceof Headers){for(let $ of Z.keys())if($==="set-cookie"){if(X.has("set-cookie"))continue;for(let Q of Z.getSetCookie())X.append("set-cookie",Q)}else if(!Y.has($))X.set($,Z?.get($)??"")}else for(let $ in Z)if($==="set-cookie")X.append($,Z[$]);else if(!Y.has($))X.set($,Z[$]);return X}function $w(Y,Z){if(typeof Z==="string")Z=vZ[Z];if(Y===200)return Z;return Y}var n4=(Y)=>{let Z=u6(Y);return(X,$,Q)=>{let W=new Response(X.body,{headers:Xw(X.headers,$.headers),status:$w(X.status,$.status)});if(!W.headers.has("content-length")&&W.headers.get("transfer-encoding")==="chunked")return Z(Zw(W),eD(W,$),Q,!0);return W}};async function Qw(Y,Z=2){let X=[],$=!1,Q=[];(async()=>{for await(let J of Y)X.push(J),Q.forEach((M)=>M.resolve()),Q=[];$=!0,Q.forEach((J)=>J.resolve())})();async function*W(){let J=0;while(!0)if(J<X.length)yield X[J++];else if($)return;else await new Promise((M)=>Q.push({resolve:M}))}return Array.from({length:Z},W)}var s$=(Y,Z={headers:{}})=>{let X=Y.path,$=E4[X.slice(X.lastIndexOf(".")+1)];if($)Z.headers["content-type"]=$;if(Y.stats&&Z.status!==206&&Z.status!==304&&Z.status!==412&&Z.status!==416)return Y.stats.then((Q)=>{let W=Q.size;if(W!==void 0)Z.headers["content-range"]=`bytes 0-${W-1}/${W}`,Z.headers["content-length"]=W;return c1(Y.value,Z)});return c1(Y.value,Z)},k0=(Y,Z,X)=>{if(x1(Z.headers)||Z.status!==200||Z.cookie)switch(hX(Z),Y?.constructor?.name){case"String":return Z.headers["content-type"]="text/plain",new Response(Y,Z);case"Array":case"Object":return Z.headers["content-type"]="application/json",new Response(JSON.stringify(Y),Z);case"ElysiaFile":return s$(Y,Z);case"File":return c1(Y,Z);case"Blob":return c1(Y,Z);case"ElysiaCustomStatusResponse":return Z.status=Y.code,k0(Y.response,Z,X);case void 0:if(!Y)return new Response("",Z);return new Response(JSON.stringify(Y),Z);case"Response":return r$(Y,Z,X);case"Error":return C8(Y,Z);case"Promise":return Y.then(($)=>k0($,Z,X));case"Function":return k0(Y(),Z,X);case"Number":case"Boolean":return new Response(Y.toString(),Z);case"Cookie":if(Y instanceof hY)return new Response(Y.value,Z);return new Response(Y?.toString(),Z);case"FormData":return new Response(Y,Z);default:if(Y instanceof Response)return r$(Y,Z,X);if(Y instanceof Promise)return Y.then(($)=>k0($,Z));if(Y instanceof Error)return C8(Y,Z);if(Y instanceof G0)return Z.status=Y.code,k0(Y.response,Z,X);if(typeof Y?.next==="function"||Y instanceof ReadableStream)return kX(Y,Z,X);if(typeof Y?.then==="function")return Y.then(($)=>k0($,Z));if(Array.isArray(Y))return new Response(JSON.stringify(Y),{headers:{"Content-Type":"application/json"}});if(typeof Y?.toResponse==="function")return k0(Y.toResponse(),Z);if("charCodeAt"in Y){let $=Y.charCodeAt(0);if($===123||$===91){if(!Z.headers["Content-Type"])Z.headers["Content-Type"]="application/json";return new Response(JSON.stringify(Y),Z)}}return new Response(Y,Z)}if(typeof Y?.next==="function"||Y instanceof ReadableStream)return kX(Y,Z,X);return yY(Y,X)},x0=(Y,Z,X)=>{if(Y===void 0||Y===null)return;if(x1(Z.headers)||Z.status!==200||Z.cookie)switch(hX(Z),Y?.constructor?.name){case"String":return Z.headers["content-type"]="text/plain",new Response(Y,Z);case"Array":case"Object":return Z.headers["content-type"]="application/json",new Response(JSON.stringify(Y),Z);case"ElysiaFile":return s$(Y,Z);case"File":return c1(Y,Z);case"Blob":return c1(Y,Z);case"ElysiaCustomStatusResponse":return Z.status=Y.code,x0(Y.response,Z,X);case void 0:if(!Y)return;return new Response(JSON.stringify(Y),Z);case"Response":return r$(Y,Z,X);case"Promise":return Y.then(($)=>x0($,Z));case"Error":return C8(Y,Z);case"Function":return x0(Y(),Z);case"Number":case"Boolean":return new Response(Y.toString(),Z);case"FormData":return new Response(Y);case"Cookie":if(Y instanceof hY)return new Response(Y.value,Z);return new Response(Y?.toString(),Z);default:if(Y instanceof Response)return r$(Y,Z,X);if(Y instanceof Promise)return Y.then(($)=>x0($,Z));if(Y instanceof Error)return C8(Y,Z);if(Y instanceof G0)return Z.status=Y.code,x0(Y.response,Z,X);if(typeof Y?.next==="function"||Y instanceof ReadableStream)return kX(Y,Z,X);if(typeof Y?.then==="function")return Y.then(($)=>x0($,Z));if(typeof Y?.toResponse==="function")return x0(Y.toResponse(),Z);if(Array.isArray(Y))return new Response(JSON.stringify(Y),{headers:{"Content-Type":"application/json"}});if("charCodeAt"in Y){let $=Y.charCodeAt(0);if($===123||$===91){if(!Z.headers["Content-Type"])Z.headers["Content-Type"]="application/json";return new Response(JSON.stringify(Y),Z)}}return new Response(Y,Z)}else switch(Y?.constructor?.name){case"String":return Z.headers["content-type"]="text/plain",new Response(Y);case"Array":case"Object":return Z.headers["content-type"]="application/json",new Response(JSON.stringify(Y),Z);case"ElysiaFile":return s$(Y,Z);case"File":return c1(Y,Z);case"Blob":return c1(Y,Z);case"ElysiaCustomStatusResponse":return Z.status=Y.code,x0(Y.response,Z,X);case void 0:if(!Y)return new Response("");return new Response(JSON.stringify(Y),{headers:{"content-type":"application/json"}});case"Response":return Y;case"Promise":return Y.then(($)=>{let Q=x0($,Z);if(Q!==void 0)return Q});case"Error":return C8(Y,Z);case"Function":return yY(Y(),X);case"Number":case"Boolean":return new Response(Y.toString());case"Cookie":if(Y instanceof hY)return new Response(Y.value,Z);return new Response(Y?.toString(),Z);case"FormData":return new Response(Y);default:if(Y instanceof Response)return Y;if(Y instanceof Promise)return Y.then(($)=>x0($,Z));if(Y instanceof Error)return C8(Y,Z);if(Y instanceof G0)return Z.status=Y.code,x0(Y.response,Z,X);if(typeof Y?.next==="function"||Y instanceof ReadableStream)return kX(Y,Z,X);if(typeof Y?.then==="function")return Y.then(($)=>x0($,Z));if(typeof Y?.toResponse==="function")return x0(Y.toResponse(),Z);if(Array.isArray(Y))return new Response(JSON.stringify(Y),{headers:{"Content-Type":"application/json"}});if("charCodeAt"in Y){let $=Y.charCodeAt(0);if($===123||$===91){if(!Z.headers["Content-Type"])Z.headers["Content-Type"]="application/json";return new Response(JSON.stringify(Y),Z)}}return new Response(Y)}},yY=(Y,Z)=>{switch(Y?.constructor?.name){case"String":return new Response(Y,{headers:{"Content-Type":"text/plain"}});case"Object":case"Array":return new Response(JSON.stringify(Y),{headers:{"Content-Type":"application/json"}});case"ElysiaFile":return s$(Y);case"File":return c1(Y);case"Blob":return c1(Y);case"ElysiaCustomStatusResponse":return k0(Y.response,{status:Y.code,headers:{}});case void 0:if(!Y)return new Response("");return new Response(JSON.stringify(Y),{headers:{"content-type":"application/json"}});case"Response":return Y;case"Error":return C8(Y);case"Promise":return Y.then((X)=>yY(X,Z));case"Function":return yY(Y(),Z);case"Number":case"Boolean":return new Response(Y.toString());case"FormData":return new Response(Y);default:if(Y instanceof Response)return Y;if(Y instanceof Promise)return Y.then((X)=>yY(X,Z));if(Y instanceof Error)return C8(Y);if(Y instanceof G0)return k0(Y.response,{status:Y.code,headers:{}});if(typeof Y?.next==="function"||Y instanceof ReadableStream)return kX(Y,void 0,Z);if(typeof Y?.then==="function")return Y.then((X)=>yY(X,Z));if(typeof Y?.toResponse==="function")return yY(Y.toResponse());if(Array.isArray(Y))return new Response(JSON.stringify(Y),{headers:{"Content-Type":"application/json"}});if("charCodeAt"in Y){let X=Y.charCodeAt(0);if(X===123||X===91)return new Response(JSON.stringify(Y),{headers:{"Content-Type":"application/json"}})}return new Response(Y)}},C8=(Y,Z)=>{if(typeof Y?.toResponse==="function"){let X=Y.toResponse(),$=Z??{headers:{},status:200,redirect:""},Q=(W)=>{if(W instanceof Response)$.status=W.status;return k0(W,$)};return typeof X?.then==="function"?X.then(Q):Q(X)}return new Response(JSON.stringify({name:Y?.name,message:Y?.message,cause:Y?.cause}),{status:Z?.status!==200?Z?.status??500:500,headers:Z?.headers})},Ww=(Y,Z,X={})=>{if(typeof Y==="function")return;let $=k0(Y,{headers:X});if(!Z.parse?.length&&!Z.transform?.length&&!Z.beforeHandle?.length&&!Z.afterHandle?.length)return()=>$.clone()},r$=n4({mapResponse:k0,mapCompactResponse:yY}),kX=u6({mapResponse:k0,mapCompactResponse:yY}),f6={name:"web-standard",isWebStandard:!0,handler:{mapResponse:k0,mapEarlyResponse:x0,mapCompactResponse:yY,createStaticHandler:Ww},composeHandler:{mapResponseContext:"c.request",preferWebstandardHeaders:!0,headers:`c.headers={}
18
+ `:(data)=>data,contentType=isSSE?"text/event-stream":init?.value&&typeof init?.value=="object"?"application/json":"text/plain";set?.headers?(set.headers["transfer-encoding"]||(set.headers["transfer-encoding"]="chunked"),set.headers["content-type"]||(set.headers["content-type"]=contentType),set.headers["cache-control"]||(set.headers["cache-control"]="no-cache")):set={status:200,headers:{"content-type":contentType,"transfer-encoding":"chunked","cache-control":"no-cache",connection:"keep-alive"}};let iterator=typeof generator.next=="function"?generator:generator[Symbol.asyncIterator](),end=!1;return new Response(new ReadableStream({start(controller){if(request?.signal?.addEventListener("abort",()=>{end=!0,iterator.return?.();try{controller.close()}catch{}}),!(!init||init.value instanceof ReadableStream||init.value===void 0||init.value===null))if(init.value.toSSE)controller.enqueue(init.value.toSSE());else{if(enqueueBinaryChunk(controller,init.value))return;if(typeof init.value=="object")try{controller.enqueue(format(JSON.stringify(init.value)))}catch{controller.enqueue(format(init.value.toString()))}else controller.enqueue(format(init.value.toString()))}},async pull(controller){if(end){try{controller.close()}catch{}return}try{let{value:chunk,done}=await iterator.next();if(done||end){try{controller.close()}catch{}return}if(chunk==null)return;if(chunk.toSSE)controller.enqueue(chunk.toSSE());else{if(enqueueBinaryChunk(controller,chunk))return;if(typeof chunk=="object")try{controller.enqueue(format(JSON.stringify(chunk)))}catch{controller.enqueue(format(chunk.toString()))}else controller.enqueue(format(chunk.toString()))}}catch(error){console.warn(error);try{controller.close()}catch{}}},cancel(){end=!0,iterator.return?.()}}),set)};async function*streamResponse(response){let body=response.body;if(!body)return;let reader=body.getReader(),decoder=new TextDecoder;try{for(;;){let{done,value}=await reader.read();if(done)break;typeof value=="string"?yield value:yield decoder.decode(value)}}finally{reader.releaseLock()}}var handleSet=(set)=>{if(typeof set.status=="string"&&(set.status=StatusMap[set.status]),set.cookie&&isNotEmpty(set.cookie)){let cookie=serializeCookie(set.cookie);cookie&&(set.headers["set-cookie"]=cookie)}set.headers["set-cookie"]&&Array.isArray(set.headers["set-cookie"])&&(set.headers=parseSetCookies(new Headers(set.headers),set.headers["set-cookie"]))};function mergeHeaders(responseHeaders,setHeaders){let headers=new Headers(responseHeaders);if(setHeaders instanceof Headers)for(let key of setHeaders.keys())if(key==="set-cookie"){if(headers.has("set-cookie"))continue;for(let cookie of setHeaders.getSetCookie())headers.append("set-cookie",cookie)}else responseHeaders.has(key)||headers.set(key,setHeaders?.get(key)??"");else for(let key in setHeaders)key==="set-cookie"?headers.append(key,setHeaders[key]):responseHeaders.has(key)||headers.set(key,setHeaders[key]);return headers}function mergeStatus(responseStatus,setStatus){return typeof setStatus=="string"&&(setStatus=StatusMap[setStatus]),responseStatus===200?setStatus:responseStatus}var createResponseHandler=(handler)=>{let handleStream=createStreamHandler(handler);return(response,set,request)=>{let newResponse=new Response(response.body,{headers:mergeHeaders(response.headers,set.headers),status:mergeStatus(response.status,set.status)});return!newResponse.headers.has("content-length")&&newResponse.headers.get("transfer-encoding")==="chunked"?handleStream(streamResponse(newResponse),responseToSetHeaders(newResponse,set),request,!0):newResponse}};async function tee(source,branches=2){let buffer=[],done=!1,waiting=[];(async()=>{for await(let value of source)buffer.push(value),waiting.forEach((w)=>w.resolve()),waiting=[];done=!0,waiting.forEach((w)=>w.resolve())})();async function*makeIterator(){let i=0;for(;;)if(i<buffer.length)yield buffer[i++];else{if(done)return;await new Promise((resolve)=>waiting.push({resolve}))}}return Array.from({length:branches},makeIterator)}var handleElysiaFile=(file,set={headers:{}},request)=>{let path=file.path,contentType=mime[path.slice(path.lastIndexOf(".")+1)];return contentType&&(set.headers["content-type"]=contentType),file.stats&&set.status!==206&&set.status!==304&&set.status!==412&&set.status!==416?file.stats.then((stat)=>{let size=stat.size;return size!==void 0&&(set.headers["content-range"]=`bytes 0-${size-1}/${size}`,set.headers["content-length"]=size),handleFile(file.value,set,request)}):handleFile(file.value,set,request)},mapResponse=(response,set,request)=>{if(isNotEmpty(set.headers)||set.status!==200||set.cookie)switch(handleSet(set),response?.constructor?.name){case"String":return set.headers["content-type"]||(set.headers["content-type"]="text/plain"),new Response(response,set);case"Array":case"Object":return set.headers["content-type"]||(set.headers["content-type"]="application/json"),new Response(JSON.stringify(response),set);case"ElysiaFile":return handleElysiaFile(response,set,request);case"File":return handleFile(response,set,request);case"Blob":return handleFile(response,set,request);case"ElysiaCustomStatusResponse":return set.status=response.code,mapResponse(response.response,set,request);case void 0:return response?new Response(JSON.stringify(response),set):new Response("",set);case"Response":return handleResponse(response,set,request);case"Error":return errorToResponse(response,set);case"Promise":return response.then((x)=>mapResponse(x,set,request));case"Function":return mapResponse(response(),set,request);case"Number":case"Boolean":return new Response(response.toString(),set);case"Cookie":return response instanceof Cookie?new Response(response.value,set):new Response(response?.toString(),set);case"FormData":return new Response(response,set);default:if(response instanceof Response)return handleResponse(response,set,request);if(response instanceof Promise)return response.then((x)=>mapResponse(x,set));if(response instanceof Error)return errorToResponse(response,set);if(response instanceof ElysiaCustomStatusResponse)return set.status=response.code,mapResponse(response.response,set,request);if(typeof response?.next=="function"||response instanceof ReadableStream)return handleStream(response,set,request);if(typeof response?.then=="function")return response.then((x)=>mapResponse(x,set));if(Array.isArray(response))return new Response(JSON.stringify(response),{headers:{"Content-Type":"application/json"}});if(typeof response?.toResponse=="function")return mapResponse(response.toResponse(),set);if("charCodeAt"in response){let code=response.charCodeAt(0);if(code===123||code===91)return set.headers["Content-Type"]||(set.headers["Content-Type"]="application/json"),new Response(JSON.stringify(response),set)}return new Response(response,set)}return typeof response?.next=="function"||response instanceof ReadableStream?handleStream(response,set,request):mapCompactResponse(response,request)},mapEarlyResponse=(response,set,request)=>{if(response!=null)if(isNotEmpty(set.headers)||set.status!==200||set.cookie)switch(handleSet(set),response?.constructor?.name){case"String":return set.headers["content-type"]||(set.headers["content-type"]="text/plain"),new Response(response,set);case"Array":case"Object":return set.headers["content-type"]||(set.headers["content-type"]="application/json"),new Response(JSON.stringify(response),set);case"ElysiaFile":return handleElysiaFile(response,set,request);case"File":return handleFile(response,set,request);case"Blob":return handleFile(response,set,request);case"ElysiaCustomStatusResponse":return set.status=response.code,mapEarlyResponse(response.response,set,request);case void 0:return response?new Response(JSON.stringify(response),set):void 0;case"Response":return handleResponse(response,set,request);case"Promise":return response.then((x)=>mapEarlyResponse(x,set));case"Error":return errorToResponse(response,set);case"Function":return mapEarlyResponse(response(),set);case"Number":case"Boolean":return new Response(response.toString(),set);case"FormData":return new Response(response);case"Cookie":return response instanceof Cookie?new Response(response.value,set):new Response(response?.toString(),set);default:if(response instanceof Response)return handleResponse(response,set,request);if(response instanceof Promise)return response.then((x)=>mapEarlyResponse(x,set));if(response instanceof Error)return errorToResponse(response,set);if(response instanceof ElysiaCustomStatusResponse)return set.status=response.code,mapEarlyResponse(response.response,set,request);if(typeof response?.next=="function"||response instanceof ReadableStream)return handleStream(response,set,request);if(typeof response?.then=="function")return response.then((x)=>mapEarlyResponse(x,set));if(typeof response?.toResponse=="function")return mapEarlyResponse(response.toResponse(),set);if(Array.isArray(response))return new Response(JSON.stringify(response),{headers:{"Content-Type":"application/json"}});if("charCodeAt"in response){let code=response.charCodeAt(0);if(code===123||code===91)return set.headers["Content-Type"]||(set.headers["Content-Type"]="application/json"),new Response(JSON.stringify(response),set)}return new Response(response,set)}else switch(response?.constructor?.name){case"String":return set.headers["content-type"]||(set.headers["content-type"]="text/plain"),new Response(response);case"Array":case"Object":return set.headers["content-type"]||(set.headers["content-type"]="application/json"),new Response(JSON.stringify(response),set);case"ElysiaFile":return handleElysiaFile(response,set,request);case"File":return handleFile(response,set,request);case"Blob":return handleFile(response,set,request);case"ElysiaCustomStatusResponse":return set.status=response.code,mapEarlyResponse(response.response,set,request);case void 0:return response?new Response(JSON.stringify(response),{headers:{"content-type":"application/json"}}):new Response("");case"Response":return response;case"Promise":return response.then((x)=>{let r=mapEarlyResponse(x,set);if(r!==void 0)return r});case"Error":return errorToResponse(response,set);case"Function":return mapCompactResponse(response(),request);case"Number":case"Boolean":return new Response(response.toString());case"Cookie":return response instanceof Cookie?new Response(response.value,set):new Response(response?.toString(),set);case"FormData":return new Response(response);default:if(response instanceof Response)return response;if(response instanceof Promise)return response.then((x)=>mapEarlyResponse(x,set));if(response instanceof Error)return errorToResponse(response,set);if(response instanceof ElysiaCustomStatusResponse)return set.status=response.code,mapEarlyResponse(response.response,set,request);if(typeof response?.next=="function"||response instanceof ReadableStream)return handleStream(response,set,request);if(typeof response?.then=="function")return response.then((x)=>mapEarlyResponse(x,set));if(typeof response?.toResponse=="function")return mapEarlyResponse(response.toResponse(),set);if(Array.isArray(response))return new Response(JSON.stringify(response),{headers:{"Content-Type":"application/json"}});if("charCodeAt"in response){let code=response.charCodeAt(0);if(code===123||code===91)return set.headers["Content-Type"]||(set.headers["Content-Type"]="application/json"),new Response(JSON.stringify(response),set)}return new Response(response)}},mapCompactResponse=(response,request)=>{switch(response?.constructor?.name){case"String":return new Response(response,{headers:{"Content-Type":"text/plain"}});case"Object":case"Array":return new Response(JSON.stringify(response),{headers:{"Content-Type":"application/json"}});case"ElysiaFile":return handleElysiaFile(response,void 0,request);case"File":return handleFile(response,void 0,request);case"Blob":return handleFile(response,void 0,request);case"ElysiaCustomStatusResponse":return mapResponse(response.response,{status:response.code,headers:{}});case void 0:return response?new Response(JSON.stringify(response),{headers:{"content-type":"application/json"}}):new Response("");case"Response":return response;case"Error":return errorToResponse(response);case"Promise":return response.then((x)=>mapCompactResponse(x,request));case"Function":return mapCompactResponse(response(),request);case"Number":case"Boolean":return new Response(response.toString());case"FormData":return new Response(response);default:if(response instanceof Response)return response;if(response instanceof Promise)return response.then((x)=>mapCompactResponse(x,request));if(response instanceof Error)return errorToResponse(response);if(response instanceof ElysiaCustomStatusResponse)return mapResponse(response.response,{status:response.code,headers:{}});if(typeof response?.next=="function"||response instanceof ReadableStream)return handleStream(response,void 0,request);if(typeof response?.then=="function")return response.then((x)=>mapCompactResponse(x,request));if(typeof response?.toResponse=="function")return mapCompactResponse(response.toResponse());if(Array.isArray(response))return new Response(JSON.stringify(response),{headers:{"Content-Type":"application/json"}});if("charCodeAt"in response){let code=response.charCodeAt(0);if(code===123||code===91)return new Response(JSON.stringify(response),{headers:{"Content-Type":"application/json"}})}return new Response(response)}},errorToResponse=(error,set)=>{if(typeof error?.toResponse=="function"){let raw=error.toResponse(),targetSet=set??{headers:{},status:200,redirect:""},apply=(resolved)=>(resolved instanceof Response&&(targetSet.status=resolved.status),mapResponse(resolved,targetSet));return typeof raw?.then=="function"?raw.then(apply):apply(raw)}return new Response(JSON.stringify({name:error?.name,message:error?.message,cause:error?.cause}),{status:set?.status!==200?set?.status??500:500,headers:set?.headers})},createStaticHandler=(handle,hooks,setHeaders={})=>{if(typeof handle=="function")return;let response=mapResponse(handle,{headers:setHeaders});if(!hooks.parse?.length&&!hooks.transform?.length&&!hooks.beforeHandle?.length&&!hooks.afterHandle?.length)return()=>response.clone()},handleResponse=createResponseHandler({mapResponse,mapCompactResponse}),handleStream=createStreamHandler({mapResponse,mapCompactResponse});var WebStandardAdapter={name:"web-standard",isWebStandard:!0,handler:{mapResponse,mapEarlyResponse,mapCompactResponse,createStaticHandler},composeHandler:{mapResponseContext:"c.request",preferWebstandardHeaders:!0,headers:`c.headers={}
19
19
  for(const [k,v] of c.request.headers.entries())c.headers[k]=v
20
- `,parser:{json(Y){if(Y)return`try{c.body=await c.request.json()}catch{}
21
- `;return`c.body=await c.request.json()
20
+ `,parser:{json(isOptional){return isOptional?`try{c.body=await c.request.json()}catch{}
21
+ `:`c.body=await c.request.json()
22
22
  `},text(){return`c.body=await c.request.text()
23
23
  `},urlencoded(){return`c.body=parseQuery(await c.request.text())
24
24
  `},arrayBuffer(){return`c.body=await c.request.arrayBuffer()
25
- `},formData(Y){let Z=`
25
+ `},formData(isOptional){let fnLiteral=`
26
26
  c.body={}
27
- `;if(Y)Z+="let form;try{form=await c.request.formData()}catch{}";else Z+=`const form=await c.request.formData()
28
- `;return Z+`const dangerousKeys=new Set(['__proto__','constructor','prototype'])
27
+ `;return isOptional?fnLiteral+="let form;try{form=await c.request.formData()}catch{}":fnLiteral+=`const form=await c.request.formData()
28
+ `,fnLiteral+`const dangerousKeys=new Set(['__proto__','constructor','prototype'])
29
29
  const isDangerousKey=(k)=>{if(dangerousKeys.has(k))return true;const m=k.match(/^(.+)\\[(\\d+)\\]$/);return m?dangerousKeys.has(m[1]):false}
30
30
  const parseArrayKey=(k)=>{const m=k.match(/^(.+)\\[(\\d+)\\]$/);return m?{name:m[1],index:parseInt(m[2],10)}:null}
31
- for(const key of form.keys()){if(c.body[key])continue
32
- const value=form.getAll(key)
31
+ const grouped=new Map()
32
+ form.forEach((v,k)=>{const l=grouped.get(k);if(l)l.push(v);else grouped.set(k,[v])})
33
+ for(const [key,value] of grouped){if(c.body[key])continue
33
34
  let finalValue
34
35
  if(value.length===1){
35
36
  const sv=value[0]
@@ -75,114 +76,114 @@ current=current[arrayInfo.name][arrayInfo.index]}else{if(!current[k]||typeof cur
75
76
  current=current[k]}}
76
77
  const arrayInfo=parseArrayKey(lastKey)
77
78
  if(arrayInfo){if(!Array.isArray(current[arrayInfo.name]))current[arrayInfo.name]=[]
78
- current[arrayInfo.name][arrayInfo.index]=finalValue}else{current[lastKey]=finalValue}}else c.body[key]=finalValue}`}}},async stop(Y,Z){if(!Y.server)throw Error("Elysia isn't running. Call `app.listen` to start the server.");if(Y.server){if(await Y.server.stop(Z),Y.server=null,Y.event.stop?.length)for(let X=0;X<Y.event.stop.length;X++)Y.event.stop[X].fn(Y)}},composeGeneralHandler:{parameters:"r",createContext(Y){let Z="",X="",$=Y.setHeaders;for(let J of Object.keys(Y.decorator))Z+=`,'${J}':decorator['${J}']`;let Q=Y.config.handler?.standardHostname??!0,W=!!Y.event.trace?.length;if(X+=`const u=r.url,s=u.indexOf('/',${Q?11:7}),qi=u.indexOf('?',s+1),p=u.substring(s,qi===-1?undefined:qi)
79
- `,W)X+=`const id=randomId()
80
- `;if(X+="const c={request:r,store,qi,path:p,url:u,redirect,status,set:{headers:",X+=Object.keys($??{}).length?"Object.assign({},app.setHeaders)":"Object.create(null)",X+=",status:200}",Y.inference.server)X+=",get server(){return app.getServer()}";if(W)X+=",[ELYSIA_REQUEST_ID]:id";return X+=Z,X+=`}
81
- `,X},error404(Y,Z,X=""){let $="if(route===null){"+X+(Z?"":"c.set.status=404")+`
82
- return `;if(Z)$+=`app.handleError(c,notFound,false,${this.parameters})`;else $+=Y?"c.response=c.responseValue=new Response(error404Message,{status:c.set.status===200?404:c.set.status,headers:c.set.headers})":"c.response=c.responseValue=error404.clone()";return $+="}",{declare:Z?"":`const error404Message=notFound.message.toString()
79
+ current[arrayInfo.name][arrayInfo.index]=finalValue}else{current[lastKey]=finalValue}}else c.body[key]=finalValue}`}}},async stop(app,closeActiveConnections){if(!app.server)throw Error("Elysia isn't running. Call `app.listen` to start the server.");if(app.server&&(await app.server.stop(closeActiveConnections),app.server=null,app.event.stop?.length))for(let i=0;i<app.event.stop.length;i++)app.event.stop[i].fn(app)},composeGeneralHandler:{parameters:"r",createContext(app){let decoratorsLiteral="",fnLiteral="",defaultHeaders=app.setHeaders;for(let key of Object.keys(app.decorator))decoratorsLiteral+=`,'${key}':decorator['${key}']`;let standardHostname=app.config.handler?.standardHostname??!0,hasTrace=!!app.event.trace?.length;return fnLiteral+=`const u=r.url,s=u.indexOf('/',${standardHostname?11:7}),qi=u.indexOf('?',s+1),p=u.substring(s,qi===-1?undefined:qi)
80
+ `,hasTrace&&(fnLiteral+=`const id=randomId()
81
+ `),fnLiteral+="const c={request:r,store,qi,path:p,url:u,redirect,status,set:{headers:",fnLiteral+=Object.keys(defaultHeaders??{}).length?"Object.assign({},app.setHeaders)":"Object.create(null)",fnLiteral+=",status:200}",app.inference.server&&(fnLiteral+=",get server(){return app.getServer()}"),hasTrace&&(fnLiteral+=",[ELYSIA_REQUEST_ID]:id"),fnLiteral+=decoratorsLiteral,fnLiteral+=`}
82
+ `,fnLiteral},error404(hasEventHook,hasErrorHook,afterHandle=""){let findDynamicRoute="if(route===null){"+afterHandle+(hasErrorHook?"":"c.set.status=404")+`
83
+ return `;return hasErrorHook?findDynamicRoute+=`app.handleError(c,notFound,false,${this.parameters})`:findDynamicRoute+=hasEventHook?"c.response=c.responseValue=new Response(error404Message,{status:c.set.status===200?404:c.set.status,headers:c.set.headers})":"c.response=c.responseValue=error404.clone()",findDynamicRoute+="}",{declare:hasErrorHook?"":`const error404Message=notFound.message.toString()
83
84
  const error404=new Response(error404Message,{status:404})
84
- `,code:$}}},composeError:{mapResponseContext:"",validationError:"set.headers['content-type']='application/json';return mapResponse(error.message,set)",unknownError:"set.status=error.status??set.status??500;return mapResponse(error.message,set)"},listen(){return()=>{throw Error("WebStandard does not support listen, you might want to export default Elysia.fetch instead")}}},S0=(Y,Z,X)=>{if(x1(Z.headers)||Z.status!==200||Z.cookie)switch(hX(Z),Y?.constructor?.name){case"String":return new Response(Y,Z);case"Array":case"Object":return Z.headers["content-type"]="application/json",new Response(JSON.stringify(Y),Z);case"ElysiaFile":return c1(Y.value,Z);case"File":return c1(Y,Z);case"Blob":return c1(Y,Z);case"ElysiaCustomStatusResponse":return Z.status=Y.code,S0(Y.response,Z,X);case void 0:if(!Y)return new Response("",Z);return new Response(JSON.stringify(Y),Z);case"Response":return a$(Y,Z,X);case"Error":return R8(Y,Z);case"Promise":return Y.then(($)=>S0($,Z,X));case"Function":return S0(Y(),Z,X);case"Number":case"Boolean":return new Response(Y.toString(),Z);case"Cookie":if(Y instanceof hY)return new Response(Y.value,Z);return new Response(Y?.toString(),Z);case"FormData":return new Response(Y,Z);default:if(Y instanceof Response)return a$(Y,Z,X);if(Y instanceof Promise)return Y.then(($)=>S0($,Z));if(Y instanceof Error)return R8(Y,Z);if(Y instanceof G0)return Z.status=Y.code,S0(Y.response,Z,X);if(typeof Y?.next==="function"||Y instanceof ReadableStream)return gX(Y,Z,X);if(typeof Y?.then==="function")return Y.then(($)=>S0($,Z));if(Array.isArray(Y))return new Response(JSON.stringify(Y),{headers:{"Content-Type":"application/json"}});if(typeof Y?.toResponse==="function")return S0(Y.toResponse(),Z);if("charCodeAt"in Y){let $=Y.charCodeAt(0);if($===123||$===91){if(!Z.headers["Content-Type"])Z.headers["Content-Type"]="application/json";return new Response(JSON.stringify(Y),Z)}}return new Response(Y,Z)}if(typeof Y?.next==="function"||Y instanceof ReadableStream)return gX(Y,Z,X);return vY(Y,X)},F0=(Y,Z,X)=>{if(Y===void 0||Y===null)return;if(x1(Z.headers)||Z.status!==200||Z.cookie)switch(hX(Z),Y?.constructor?.name){case"String":return new Response(Y,Z);case"Array":case"Object":return Z.headers["content-type"]="application/json",new Response(JSON.stringify(Y),Z);case"ElysiaFile":return c1(Y.value,Z);case"File":return c1(Y,Z);case"Blob":return c1(Y,Z);case"ElysiaCustomStatusResponse":return Z.status=Y.code,F0(Y.response,Z,X);case void 0:if(!Y)return;return new Response(JSON.stringify(Y),Z);case"Response":return a$(Y,Z,X);case"Promise":return Y.then(($)=>F0($,Z));case"Error":return R8(Y,Z);case"Function":return F0(Y(),Z);case"Number":case"Boolean":return new Response(Y.toString(),Z);case"FormData":return new Response(Y);case"Cookie":if(Y instanceof hY)return new Response(Y.value,Z);return new Response(Y?.toString(),Z);default:if(Y instanceof Response)return a$(Y,Z,X);if(Y instanceof Promise)return Y.then(($)=>F0($,Z));if(Y instanceof Error)return R8(Y,Z);if(Y instanceof G0)return Z.status=Y.code,F0(Y.response,Z,X);if(typeof Y?.next==="function"||Y instanceof ReadableStream)return gX(Y,Z,X);if(typeof Y?.then==="function")return Y.then(($)=>F0($,Z));if(typeof Y?.toResponse==="function")return F0(Y.toResponse(),Z);if(Array.isArray(Y))return new Response(JSON.stringify(Y),{headers:{"Content-Type":"application/json"}});if("charCodeAt"in Y){let $=Y.charCodeAt(0);if($===123||$===91){if(!Z.headers["Content-Type"])Z.headers["Content-Type"]="application/json";return new Response(JSON.stringify(Y),Z)}}return new Response(Y,Z)}else switch(Y?.constructor?.name){case"String":return new Response(Y);case"Array":case"Object":return Z.headers["content-type"]="application/json",new Response(JSON.stringify(Y),Z);case"ElysiaFile":return c1(Y.value,Z);case"File":return c1(Y,Z);case"Blob":return c1(Y,Z);case"ElysiaCustomStatusResponse":return Z.status=Y.code,F0(Y.response,Z,X);case void 0:if(!Y)return new Response("");return new Response(JSON.stringify(Y),{headers:{"content-type":"application/json"}});case"Response":return Y;case"Promise":return Y.then(($)=>{let Q=F0($,Z);if(Q!==void 0)return Q});case"Error":return R8(Y,Z);case"Function":return vY(Y(),X);case"Number":case"Boolean":return new Response(Y.toString());case"Cookie":if(Y instanceof hY)return new Response(Y.value,Z);return new Response(Y?.toString(),Z);case"FormData":return new Response(Y);default:if(Y instanceof Response)return Y;if(Y instanceof Promise)return Y.then(($)=>F0($,Z));if(Y instanceof Error)return R8(Y,Z);if(Y instanceof G0)return Z.status=Y.code,F0(Y.response,Z,X);if(typeof Y?.next==="function"||Y instanceof ReadableStream)return gX(Y,Z,X);if(typeof Y?.then==="function")return Y.then(($)=>F0($,Z));if(typeof Y?.toResponse==="function")return F0(Y.toResponse(),Z);if(Array.isArray(Y))return new Response(JSON.stringify(Y),{headers:{"Content-Type":"application/json"}});if("charCodeAt"in Y){let $=Y.charCodeAt(0);if($===123||$===91){if(!Z.headers["Content-Type"])Z.headers["Content-Type"]="application/json";return new Response(JSON.stringify(Y),Z)}}return new Response(Y)}},vY=(Y,Z)=>{switch(Y?.constructor?.name){case"String":return new Response(Y);case"Object":case"Array":return new Response(JSON.stringify(Y),{headers:{"Content-Type":"application/json"}});case"ElysiaFile":return c1(Y.value);case"File":return c1(Y);case"Blob":return c1(Y);case"ElysiaCustomStatusResponse":return S0(Y.response,{status:Y.code,headers:{}});case void 0:if(!Y)return new Response("");return new Response(JSON.stringify(Y),{headers:{"content-type":"application/json"}});case"Response":return Y;case"Error":return R8(Y);case"Promise":return Y.then((X)=>vY(X,Z));case"Function":return vY(Y(),Z);case"Number":case"Boolean":return new Response(Y.toString());case"FormData":return new Response(Y);default:if(Y instanceof Response)return Y;if(Y instanceof Promise)return Y.then((X)=>vY(X,Z));if(Y instanceof Error)return R8(Y);if(Y instanceof G0)return S0(Y.response,{status:Y.code,headers:{}});if(typeof Y?.next==="function"||Y instanceof ReadableStream)return gX(Y,void 0,Z);if(typeof Y?.then==="function")return Y.then((X)=>vY(X,Z));if(typeof Y?.toResponse==="function")return vY(Y.toResponse());if(Array.isArray(Y))return new Response(JSON.stringify(Y),{headers:{"Content-Type":"application/json"}});if("charCodeAt"in Y){let X=Y.charCodeAt(0);if(X===123||X===91)return new Response(JSON.stringify(Y),{headers:{"Content-Type":"application/json"}})}return new Response(Y)}},R8=(Y,Z)=>{if(typeof Y?.toResponse==="function"){let X=Y.toResponse(),$=Z??{headers:{},status:200,redirect:""},Q=(W)=>{if(W instanceof Response)$.status=W.status;return S0(W,$)};return typeof X?.then==="function"?X.then(Q):Q(X)}return new Response(JSON.stringify({name:Y?.name,message:Y?.message,cause:Y?.cause}),{status:Z?.status!==200?Z?.status??500:500,headers:Z?.headers})},Jw=(Y,Z,X={})=>{if(typeof Y==="function")return;let $=S0(Y,{headers:X});if(!Z.parse?.length&&!Z.transform?.length&&!Z.beforeHandle?.length&&!Z.afterHandle?.length)return()=>$.clone()},a$=n4({mapResponse:S0,mapCompactResponse:vY}),gX=u6({mapResponse:S0,mapCompactResponse:vY}),Mw=yX(ZQ(),1),hZ=yX(ZQ(),1),mZ=1,cZ=2,uZ=4,W8=8;function o4(Y,Z=0,X,$){let Q=Object.create(null),W=0,J=Y.length,M=Z-1,G=M;for(let z=0;z<J;z++)switch(Y.charCodeAt(z)){case 38:B(Y,z),M=z,G=z,W=0;break;case 61:if(G<=M)G=z;else W|=W8;break;case 43:if(G>M)W|=uZ;else W|=mZ;break;case 37:if(G>M)W|=W8;else W|=cZ;break}if(M<J)B(Y,J);return Q;function B(z,q){let A=G>M,N=A?G:q,D=z.slice(M+1,N);if(!A&&D.length===0)return;let P=D;if(W&mZ)P=P.replace(/\+/g," ");if(W&cZ)P=hZ.default(P)||P;let I="";if(A){let j=z.slice(G+1,q);if(W&uZ)j=j.replace(/\+/g," ");if(W&W8)j=hZ.default(j)||j;I=j}let O=Q[P];if(X&&X?.[P])if(I.charCodeAt(0)===91){if($&&$?.[P])I=JSON.parse(I);else I=I.slice(1,-1).split(",");if(O===void 0)Q[P]=I;else if(Array.isArray(O))O.push(...I);else Q[P]=I,Q[P].unshift(O)}else if(O===void 0)Q[P]=I;else if(Array.isArray(O))O.push(I);else Q[P]=[O,I];else Q[P]=I}}function Gw(Y,Z=0){let X=Object.create(null),$=0,Q=Y.length,W=Z-1,J=W;for(let G=0;G<Q;G++)switch(Y.charCodeAt(G)){case 38:M(Y,G),W=G,J=G,$=0;break;case 61:if(J<=W)J=G;else $|=W8;break;case 43:if(J>W)$|=uZ;else $|=mZ;break;case 37:if(J>W)$|=W8;else $|=cZ;break}if(W<Q)M(Y,Q);return X;function M(G,B){let z=J>W,q=z?J:B,A=G.slice(W+1,q);if(!z&&A.length===0)return;let N=A;if($&mZ)N=N.replace(/\+/g," ");if($&cZ)N=hZ.default(N)||N;let D="";if(z){let I=G.slice(J+1,B);if($&uZ)I=I.replace(/\+/g," ");if($&W8)I=hZ.default(I)||I;D=I}let P=X[N];if(D.charCodeAt(0)===91&&D.charCodeAt(D.length-1)===93){try{D=JSON.parse(D)}catch{}if(P===void 0)X[N]=D;else if(Array.isArray(P))P.push(D);else X[N]=[P,D]}else if(D.charCodeAt(0)===123&&D.charCodeAt(D.length-1)===125){try{D=JSON.parse(D)}catch{}if(P===void 0)X[N]=D;else if(Array.isArray(P))P.push(D);else X[N]=[P,D]}else{if(D.includes(","))D=D.split(",");if(P===void 0)X[N]=D;else if(Array.isArray(P))P.push(D);else X[N]=[P,D]}}}function fZ(Y){let Z=Object.create(null),X=0,$=Y.length,Q=-1,W=-1;for(let M=0;M<$;M++)switch(Y.charCodeAt(M)){case 38:J(Y,M),Q=M,W=M,X=0;break;case 61:if(W<=Q)W=M;else X|=W8;break;case 43:if(W>Q)X|=uZ;else X|=mZ;break;case 37:if(W>Q)X|=W8;else X|=cZ;break}if(Q<$)J(Y,$);return Z;function J(M,G){let B=W>Q,z=B?W:G,q=M.slice(Q+1,z);if(!B&&q.length===0)return;let A=q;if(X&mZ)A=A.replace(/\+/g," ");if(X&cZ)A=hZ.default(A)||A;let N="";if(B){let P=M.slice(W+1,G);if(X&uZ)P=P.replace(/\+/g," ");if(X&W8)P=hZ.default(P)||P;N=P}let D=Z[A];if(D===void 0)Z[A]=N;else if(Array.isArray(D))D.push(N);else Z[A]=[D,N]}}var $Q=Symbol("ElysiaTrace"),$8=()=>{let{promise:Y,resolve:Z}=Promise.withResolvers(),{promise:X,resolve:$}=Promise.withResolvers(),{promise:Q,resolve:W}=Promise.withResolvers(),J=[],M=[];return[(G)=>{if(G)J.push(G);return Y},(G)=>{let B=[],z=[],q=null;for(let N=0;N<(G.total??0);N++){let{promise:D,resolve:P}=Promise.withResolvers(),{promise:I,resolve:O}=Promise.withResolvers(),{promise:j,resolve:m}=Promise.withResolvers(),k=[],u=[];B.push((g)=>{if(g)k.push(g);return D}),z.push((g)=>{let v={...g,end:I,error:j,index:N,onStop(b){if(b)u.push(b);return I}};P(v);for(let b=0;b<k.length;b++)k[b](v);return(b=null)=>{let x=performance.now();if(b)q=b;let V={end:x,error:b,get elapsed(){return x-g.begin}};for(let T=0;T<u.length;T++)u[T](V);O(x),m(b)}})}let A={...G,end:X,error:Q,onEvent(N){for(let D=0;D<B.length;D++)B[D](N)},onStop(N){if(N)M.push(N);return X}};Z(A);for(let N=0;N<J.length;N++)J[N](A);return{resolveChild:z,resolve(N=null){let D=performance.now();if(!N&&q)N=q;let P={end:D,error:N,get elapsed(){return D-G.begin}};for(let I=0;I<M.length;I++)M[I](P);$(D),W(N)}}}]},zw=(Y)=>{return(Z)=>{let[X,$]=$8(),[Q,W]=$8(),[J,M]=$8(),[G,B]=$8(),[z,q]=$8(),[A,N]=$8(),[D,P]=$8(),[I,O]=$8(),[j,m]=$8();return Y({id:Z[vX],context:Z,set:Z.set,onRequest:X,onParse:Q,onTransform:J,onBeforeHandle:G,onHandle:z,onAfterHandle:A,onMapResponse:I,onAfterResponse:j,onError:D,time:Date.now(),store:Z.store}),{request:$,parse:W,transform:M,beforeHandle:B,handle:q,afterHandle:N,error:P,mapResponse:O,afterResponse:m}}},g0=Symbol.for("TypeBox.Kind"),Bw=Symbol.for("TypeBox.Hint"),t4=(Y)=>/(\ |-|\t|\n|\.|\[|\]|\{|\})/.test(Y)||!isNaN(+Y[0]),s4=(Y,Z,X=!1)=>{if(typeof Z==="number")return`${Y}[${Z}]`;if(t4(Z))return`${Y}${X?"?.":""}["${Z}"]`;return`${Y}${X?"?":""}.${Z}`},Nw=(Y)=>t4(Y)?`"${Y}"`:Y,H4=(Y,Z=0,X)=>{if(X.type!=="string"||X.const||X.trusted)return Y;let $="";for(let Q=Z-1;Q>=0;Q--)$+=`d.h${Q}(`;return $+Y+")".repeat(Z)},r4=(Y)=>{if(!Y.allOf||g0 in Y&&(Y[g0]!=="Intersect"||Y.type!=="object"))return Y;let{allOf:Z,...X}=Y;if(X.properties={},g0 in X)X[g0]="Object";for(let $ of Z){if($.type!=="object")continue;let{properties:Q,required:W,type:J,[g0]:M,...G}=$;if(W)X.required=X.required?X.required.concat(W):W;Object.assign(X,G);for(let B in $.properties)X.properties[B]=r4($.properties[B])}return X},Uw=(Y,Z,X)=>{let $=Y.patternProperties["^(.*)$"]??Y.patternProperties[Object.keys(Y.patternProperties)[0]];if(!$)return Z;let Q=X.array;X.array++;let W=`(()=>{const ar${Q}s=Object.keys(${Z}),ar${Q}v={};for(let i=0;i<ar${Q}s.length;i++){const ar${Q}p=${Z}[ar${Q}s[i]];ar${Q}v[ar${Q}s[i]]=${dY($,`ar${Q}p`,X)}`,J=X.optionalsInArray[Q+1];if(J){for(let M=0;M<J.length;M++){let G=`ar${Q}v[ar${Q}s[i]]${J[M]}`;W+=`;if(${G}===undefined)delete ${G}`}X.optionalsInArray[Q+1]=[]}return W+=`}return ar${Q}v})()`,W},qw=(Y,Z,X)=>{let $=X.array;X.array++;let Q=Z==="v"&&!X.unions.length,W="";if(!Q)W="(()=>{";W+=`const ar${$}v=[`;for(let J=0;J<Y.length;J++){if(J!==0)W+=",";W+=dY(Y[J],s4(Z,J,X.parentIsOptional||X.fromUnion),X)}if(W+="];",!Q)W+=`return ar${$}v})()`;return W};function e$(Y,Z=new WeakMap){if(Y===null||typeof Y!=="object"||typeof Y==="function")return Y;if(Z.has(Y))return Z.get(Y);if(Array.isArray(Y)){let X=Array(Y.length);Z.set(Y,X);for(let $=0;$<Y.length;$++)X[$]=e$(Y[$],Z);return X}if(typeof Y==="object"){let X=Object.keys(Y).concat(Object.getOwnPropertySymbols(Y)),$={};for(let Q of X)$[Q]=e$(Y[Q],Z);return $}return Y}var Hw=(Y,Z,X)=>{if(X.TypeCompiler===void 0){if(!X.typeCompilerWanred)console.warn(Error("[exact-mirror] TypeBox's TypeCompiler is required to use Union")),X.typeCompilerWanred=!0;return Z}X.unionKeys[Z]=1;let $=X.unions.length,Q=X.unions[$]=[],W=`(()=>{
85
- `,J=(G)=>{if(!(g0 in G)||!G.$ref)return G;if(G[g0]==="This")return e$(X.definitions[G.$ref]);else if(G[g0]==="Ref")if(!X.modules)console.warn(Error("[exact-mirror] modules is required when using nested cyclic reference"));else return X.modules.Import(G.$ref);return G},M="";for(let G=0;G<Y.length;G++){let B=J(Y[G]);if(Array.isArray(B.anyOf))for(let z=0;z<B.anyOf.length;z++)B.anyOf[z]=J(B.anyOf[z]);else if(B.items)if(Array.isArray(B.items))for(let z=0;z<B.items.length;z++)B.items[z]=J(B.items[z]);else B.items=J(B.items);Q.push(PY.Compile(B)),W+=`if(d.unions[${$}][${G}].Check(${Z})){return ${dY(B,Z,{...X,recursion:X.recursion+1,parentIsOptional:!0,fromUnion:!0})}}
86
- `,M+=(G?"":"let ")+"tmp="+dY(B,Z,{...X,recursion:X.recursion+1,parentIsOptional:!0,fromUnion:!0})+`
87
- if(d.unions[${$}][${G}].Check(tmp))return tmp
88
- `}if(M)W+=M;return W+=`return ${X.removeUnknownUnionType?"undefined":Z}`,W+"})()"},dY=(Y,Z,X)=>{if(!Y)return"";let $=Z==="v"&&!X.unions.length;if(g0 in Y&&Y[g0]==="Import"&&Y.$ref in Y.$defs)return dY(Y.$defs[Y.$ref],Z,{...X,definitions:Object.assign(X.definitions,Y.$defs)});if($&&Y.type!=="object"&&Y.type!=="array"&&!Y.anyOf)return`return ${H4("v",X.sanitize?.length,Y)}`;if(X.recursion>=X.recursionLimit)return Z;let Q="";if(Y.$id&&Bw in Y)X.definitions[Y.$id]=Y;switch(Y.type){case"object":if(Y[g0]==="Record"){Q=Uw(Y,Z,X);break}if(Y=r4(Y),Q+="{",Y.additionalProperties)Q+=`...${Z},`;let W=Object.keys(Y.properties);for(let B=0;B<W.length;B++){let z=W[B],q=!Y.required||Y.required&&!Y.required.includes(z)||Array.isArray(Y.properties[z].anyOf),A=s4(Z,z,X.parentIsOptional||X.fromUnion);if(q){let D=X.array;if(Z.startsWith("ar")){let P=A.indexOf("."),I;if(P>=0)I=A.slice(P);else I=A.slice(Z.length);if(I.startsWith("?."))if(I.charAt(2)==="[")I=I.slice(2);else I=I.slice(1);let O=X.optionalsInArray;if(O[D])O[D].push(I);else O[D]=[I]}else X.optionals.push(A)}let N=Y.properties[z];if(B!==0)Q+=",";Q+=`${Nw(z)}:${q?`${A}===undefined?undefined:`:""}${dY(N,A,{...X,recursion:X.recursion+1,parentIsOptional:q})}`}Q+="}";break;case"array":if(Y.items.type!=="object"&&Y.items.type!=="array"){if(Array.isArray(Y.items)){Q=qw(Y.items,Z,X);break}else if($&&!Array.isArray(Y.items.anyOf))return"return v";else if(g0 in Y.items&&Y.items.$ref&&(Y.items[g0]==="Ref"||Y.items[g0]==="This"))Q=dY(e$(X.definitions[Y.items.$ref]),Z,{...X,parentIsOptional:!0,recursion:X.recursion+1});else if(!Array.isArray(Y.items.anyOf)){Q=Z;break}}let J=X.array;X.array++;let M=Z;if($)Q=`const ar${J}v=new Array(${Z}.length);`;else M=`ar${J}s`,Q=`((${M})=>{const ar${J}v=new Array(${M}.length);`;Q+=`for(let i=0;i<${M}.length;i++){const ar${J}p=${M}[i];ar${J}v[i]=${dY(Y.items,`ar${J}p`,X)}`;let G=X.optionalsInArray[J+1];if(G){for(let B=0;B<G.length;B++){let z=`ar${J}v[i]${G[B]}`;Q+=`;if(${z}===undefined)delete ${z}`}X.optionalsInArray[J+1]=[]}if(Q+="}",!$)Q+=`return ar${J}v})(${Z})`;break;default:if(Y.$ref&&Y.$ref in X.definitions)return dY(X.definitions[Y.$ref],Z,X);if(Array.isArray(Y.anyOf)){Q=Hw(Y.anyOf,Z,X);break}Q=H4(Z,X.sanitize?.length,Y);break}if(!$)return Q;if(Y.type==="array")Q=`${Q}const x=ar0v;`;else Q=`const x=${Q}
89
- `;for(let W=0;W<X.optionals.length;W++){let J=X.optionals[W],M=J.slice(1);if(Q+=`if(${J}===undefined`,X.unionKeys[J])Q+=`||x${M}===undefined`;let G=M.charCodeAt(0)!==63&&Y.type!=="array";Q+=`)delete x${G?M.charCodeAt(0)===91?"?.":"?":""}${M}
90
- `}return`${Q}return x`},w6=(Y,{TypeCompiler:Z,modules:X,definitions:$,sanitize:Q,recursionLimit:W=8,removeUnknownUnionType:J=!1}={})=>{let M=[];if(typeof Q==="function")Q=[Q];let G=dY(Y,"v",{optionals:[],optionalsInArray:[],array:0,parentIsOptional:!1,unions:M,unionKeys:{},TypeCompiler:Z,modules:X,definitions:$??X?.$defs??{},sanitize:Q,recursion:0,recursionLimit:W,removeUnknownUnionType:J});if(!M.length&&!Q?.length)return Function("v",G);let B;if(Q?.length){B={};for(let z=0;z<Q.length;z++)B[`h${z}`]=Q[z]}return Function("d",`return function mirror(v){${G}}`)({unions:M,...B})},L6=(Y,Z)=>{if(Array.isArray(Z)){let X=Y;for(let $ of Z)X=A4(X,$);return X}return A4(Y,Z)},A4=(Y,Z)=>{if(Z.rootOnly&&Z.excludeRoot)throw Error("Can't set both rootOnly and excludeRoot");if(Z.rootOnly&&Z.onlyFirst)throw Error("Can't set both rootOnly and onlyFirst");if(Z.rootOnly&&Z.untilObjectFound)throw Error("Can't set both rootOnly and untilObjectFound");let X=({s:$,isRoot:Q,treeLvl:W})=>{if(!$)return $;let J=Q&&Z.excludeRoot,M=Z.from[L];if($.elysiaMeta){if(Z.from.elysiaMeta===$.elysiaMeta&&!J)return Z.to($);return $}let G=M&&$[L]===M;if(!J&&Z.onlyFirst&&$.type===Z.onlyFirst){if(G)return Z.to($);return $}if(Q&&Z.rootOnly){if(G)return Z.to($);return $}if(!Q&&Z.untilObjectFound&&$.type==="object")return $;let B={isRoot:!1,treeLvl:W+1},z={...$};if($.oneOf)z.oneOf=$.oneOf.map((q)=>X({...B,s:q}));if($.anyOf)z.anyOf=$.anyOf.map((q)=>X({...B,s:q}));if($.allOf)z.allOf=$.allOf.map((q)=>X({...B,s:q}));if($.not)z.not=X({...B,s:$.not});if($.properties){z.properties={};for(let[q,A]of Object.entries($.properties))z.properties[q]=X({...B,s:A})}if($.items){let q=$.items;z.items=Array.isArray(q)?q.map((A)=>X({...B,s:A})):X({...B,s:q})}if(!J&&M&&z[L]===M)return Z.to(z);return z};return X({s:Y,isRoot:!0,treeLvl:0})},O6,EX=()=>{if(!O6)O6=[{from:f.Object({}),to:(Y)=>f.ObjectString(Y.properties||{},Y),excludeRoot:!0},{from:f.Array(f.Any()),to:(Y)=>f.ArrayString(Y.items||f.Any(),Y)}];return O6},P6,D4=()=>{if(!P6)P6=[{from:f.Object({}),to:(Y)=>f.ObjectString(Y.properties??{},Y),excludeRoot:!0},{from:f.Array(f.Any()),to:(Y)=>f.ArrayQuery(Y.items??f.Any(),Y)}];return P6},_6,y6=()=>{if(!_6)_6=[{from:f.Number(),to:(Y)=>f.Numeric(Y),rootOnly:!0},{from:f.Boolean(),to:(Y)=>f.BooleanString(Y),rootOnly:!0}];return _6},j6,w4=()=>{if(!j6)j6=[{from:f.Object({}),to:(Y)=>f.ObjectString(Y.properties??{},Y),onlyFirst:"object",excludeRoot:!0},{from:f.Array(f.Any()),to:(Y)=>f.ArrayString(Y.items??f.Any(),Y),onlyFirst:"array",excludeRoot:!0}];return j6},v6=(Y)=>{if(!Y)return!1;if(Y?.[L]==="Import"&&Y.References)return Y.References().some(v6);if(Y.schema)Y=Y.schema;return!!Y&&e1 in Y},gY=(Y)=>{if(!Y)return!1;let Z=Y?.schema??Y;if(Z[L]==="Import"&&Y.References)return Y.References().some(gY);if(Z.anyOf)return Z.anyOf.some(gY);if(Z.someOf)return Z.someOf.some(gY);if(Z.allOf)return Z.allOf.some(gY);if(Z.not)return Z.not.some(gY);if(Z.type==="object"){let X=Z.properties;if("additionalProperties"in Z)return Z.additionalProperties;if("patternProperties"in Z)return!1;for(let $ of Object.keys(X)){let Q=X[$];if(Q.type==="object"){if(gY(Q))return!0}else if(Q.anyOf){for(let W=0;W<Q.anyOf.length;W++)if(gY(Q.anyOf[W]))return!0}return Q.additionalProperties}return!1}if(Z.type==="array"&&Z.items&&!Array.isArray(Z.items))return gY(Z.items);return!1},L4=(Y,Z,X)=>{if(!Y)return;if(typeof Y!=="string")return Y;if(X&&Y in X.$defs)return X.Import(Y);return Z?.[Y]},O0=(Y,Z)=>{if(!Z)return!1;if(L in Z&&Z[L]===Y)return!0;if(L in Z&&Z[L]==="Import"){if(Z.$defs&&Z.$ref){let X=Z.$ref.replace("#/$defs/","");if(Z.$defs[X])return O0(Y,Z.$defs[X])}}if(Z.anyOf)return Z.anyOf.some((X)=>O0(Y,X));if(Z.oneOf)return Z.oneOf.some((X)=>O0(Y,X));if(Z.allOf)return Z.allOf.some((X)=>O0(Y,X));if(Z.type==="array"&&Z.items){if(Y==="Files"&&L in Z.items&&Z.items[L]==="File")return!0;return O0(Y,Z.items)}if(Z.type==="object"){let X=Z.properties;if(!X)return!1;for(let $ of Object.keys(X))if(O0(Y,X[$]))return!0}return!1},fY=(Y,Z)=>{if(!Z)return!1;let X=Z?.schema??Z;if(X.elysiaMeta===Y)return!0;if(X[L]==="Import"&&Z.References)return Z.References().some(($)=>fY(Y,$));if(X.anyOf)return X.anyOf.some(($)=>fY(Y,$));if(X.someOf)return X.someOf.some(($)=>fY(Y,$));if(X.allOf)return X.allOf.some(($)=>fY(Y,$));if(X.not)return X.not.some(($)=>fY(Y,$));if(X.type==="object"){let $=X.properties;if(!$)return!1;for(let Q of Object.keys($)){let W=$[Q];if(W.type==="object"){if(fY(Y,W))return!0}else if(W.anyOf){for(let J=0;J<W.anyOf.length;J++)if(fY(Y,W.anyOf[J]))return!0}return X.elysiaMeta===Y}return!1}if(X.type==="array"&&X.items&&!Array.isArray(X.items))return fY(Y,X.items);return!1},F8=(Y,Z)=>{if(!Z)return!1;let X=Z.schema??Z;if(X[L]==="Import"&&Z.References)return Z.References().some(($)=>F8(Y,$));if(X.anyOf)return X.anyOf.some(($)=>F8(Y,$));if(X.allOf)return X.allOf.some(($)=>F8(Y,$));if(X.oneOf)return X.oneOf.some(($)=>F8(Y,$));if(X.type==="object"){let $=X.properties;if(!$)return!1;for(let Q of Object.keys($)){let W=$[Q];if(Y in W)return!0;if(W.type==="object"){if(F8(Y,W))return!0}else if(W.anyOf){for(let J=0;J<W.anyOf.length;J++)if(F8(Y,W.anyOf[J]))return!0}}return!1}return Y in X},jY=(Y)=>{if(!Y)return!1;if(Y.oneOf){for(let Z=0;Z<Y.oneOf.length;Z++)if(jY(Y.oneOf[Z]))return!0}if(Y.anyOf){for(let Z=0;Z<Y.anyOf.length;Z++)if(jY(Y.anyOf[Z]))return!0}if(Y.oneOf){for(let Z=0;Z<Y.oneOf.length;Z++)if(jY(Y.oneOf[Z]))return!0}if(Y.allOf){for(let Z=0;Z<Y.allOf.length;Z++)if(jY(Y.allOf[Z]))return!0}if(Y.not&&jY(Y.not))return!0;if(Y.type==="object"&&Y.properties){let Z=Y.properties;for(let X of Object.keys(Z)){let $=Z[X];if(jY($))return!0;if($.type==="array"&&$.items&&jY($.items))return!0}}if(Y.type==="array"&&Y.items&&jY(Y.items))return!0;return Y[L]==="Ref"&&"$ref"in Y},KY=(Y)=>{if(!Y)return!1;if(Y.$ref&&Y.$defs&&Y.$ref in Y.$defs&&KY(Y.$defs[Y.$ref]))return!0;if(Y.oneOf){for(let Z=0;Z<Y.oneOf.length;Z++)if(KY(Y.oneOf[Z]))return!0}if(Y.anyOf){for(let Z=0;Z<Y.anyOf.length;Z++)if(KY(Y.anyOf[Z]))return!0}if(Y.allOf){for(let Z=0;Z<Y.allOf.length;Z++)if(KY(Y.allOf[Z]))return!0}if(Y.not&&KY(Y.not))return!0;if(Y.type==="object"&&Y.properties){let Z=Y.properties;for(let X of Object.keys(Z)){let $=Z[X];if(KY($))return!0;if($.type==="array"&&$.items&&KY($.items))return!0}}if(Y.type==="array"&&Y.items&&KY(Y.items))return!0;return C1 in Y},TZ=(Y)=>(Z)=>{if(typeof Z==="object")try{return P1.Clean(Y,Z)}catch{}return Z},$0=(Y,{models:Z={},dynamic:X=!1,modules:$,normalize:Q=!1,additionalProperties:W=!1,forceAdditionalProperties:J=!1,coerce:M=!1,additionalCoerce:G=[],validators:B,sanitize:z}={})=>{if(B=B?.filter((O)=>O),!Y){if(!B?.length)return;Y=B[0],B=B.slice(1)}let q=void 0,A=(O)=>{if(M)return L6(O,[{from:f.Number(),to:(j)=>f.Numeric(j),untilObjectFound:!0},{from:f.Boolean(),to:(j)=>f.BooleanString(j),untilObjectFound:!0},...Array.isArray(G)?G:[G]]);return L6(O,G)},N=(O)=>{if(O&&typeof O!=="string"&&"~standard"in O)return O;if(!O)return;let j;if(typeof O!=="string")j=O;else if(j=$&&O in $.$defs?$.Import(O):Z[O],!j)return;let m=Array.isArray(G)?G.length>0:!!G;if(L in j){if(j[L]==="Import"){if(!jY(j.$defs[j.$ref])){if(j=j.$defs[j.$ref]??Z[j.$ref],M||m){if(j=A(j),"$id"in j&&!j.$defs)j.$id=`${j.$id}_coerced_${xX()}`}}}else if(jY(j)){let k=xX();j=f.Module({...$?.$defs,[k]:j}).Import(k)}else if(M||m)j=A(j)}return j},D=N(Y),P=B;if("~standard"in D||B?.length&&B.some((O)=>O&&typeof O!=="string"&&("~standard"in O))){let O=(g)=>{let v;if(Q===!0||Q==="exactMirror")try{v=w6(g,{TypeCompiler:PY,sanitize:z?.(),modules:$})}catch{console.warn("Failed to create exactMirror. Please report the following code to https://github.com/elysiajs/elysia/issues"),console.warn(g),v=TZ(g)}let b=$0(g,{models:Z,modules:$,dynamic:X,normalize:Q,additionalProperties:!0,forceAdditionalProperties:!0,coerce:M,additionalCoerce:G});return b.Decode=v,(x)=>{if(b.Check(x))return{value:b.Decode(x)};else return{issues:[...b.Errors(x)]}}},j=D["~standard"]?D["~standard"].validate:O(D),m=[];if(B?.length)for(let g of B){if(!g)continue;if(typeof g==="string")continue;if(g?.["~standard"]){m.push(g["~standard"]);continue}if(L in g){m.push(O(g));continue}}async function k(g){let v=j(g);if(v instanceof Promise)v=await v;if(v.issues)return v;let b=[];if(v&&typeof v==="object")b.push(v.value);for(let V=0;V<m.length;V++){if(v=m[V].validate(g),v instanceof Promise)v=await v;if(v.issues)return v;if(v&&typeof v==="object")b.push(v.value)}if(!b.length)return{value:v};if(b.length===1)return{value:b[0]};if(b.length===2)return{value:M0(b[0],b[1])};let x=M0(b[0],b[1]);for(let V=2;V<b.length;V++)x=M0(x,b[V]);return{value:x}}let u={provider:"standard",schema:D,references:"",checkFunc:()=>{},code:"",Check:k,Errors:(g)=>k(g)?.then?.((v)=>v?.issues),Code:()=>"",Decode:k,Encode:(g)=>g,hasAdditionalProperties:!1,hasDefault:!1,isOptional:!1,hasTransform:!1,hasRef:!1};return u.parse=(g)=>{try{return u.Decode(u.Clean?.(g)??g)}catch(v){throw[...u.Errors(g)].map(U0)}},u.safeParse=(g)=>{try{return{success:!0,data:u.Decode(u.Clean?.(g)??g),error:null}}catch(v){let b=[...I.Errors(g)].map(U0);return{success:!1,data:null,error:b[0]?.summary,errors:b}}},u}else if(B?.length){let O=!1,j=P,{schema:m,notObjects:k}=Dw([D,...j.map(N)]);if(k){if(D=f.Intersect([...m?[m]:[],...k.map((u)=>{let g=N(u);if(g.type==="object"&&"additionalProperties"in g){if(!O&&g.additionalProperties===!1)O=!0;delete g.additionalProperties}return g})]),D.type==="object"&&O)D.additionalProperties=!1}}else if(D.type==="object"&&(("additionalProperties"in D)===!1||J))D.additionalProperties=W;else D=L6(D,{onlyFirst:"object",from:f.Object({}),to(O){if(!O.properties)return O;if("additionalProperties"in O)return O;return f.Object(O.properties,{...O,additionalProperties:!1})}});if(X)if(L in D){let O={provider:"typebox",schema:D,references:"",checkFunc:()=>{},code:"",Check:(j)=>P1.Check(D,j),Errors:(j)=>P1.Errors(D,j),Code:()=>"",Clean:TZ(D),Decode:(j)=>P1.Decode(D,j),Encode:(j)=>P1.Encode(D,j),get hasAdditionalProperties(){if("~hasAdditionalProperties"in this)return this["~hasAdditionalProperties"];return this["~hasAdditionalProperties"]=gY(D)},get hasDefault(){if("~hasDefault"in this)return this["~hasDefault"];return this["~hasDefault"]=F8("default",D)},get isOptional(){if("~isOptional"in this)return this["~isOptional"];return this["~isOptional"]=v6(D)},get hasTransform(){if("~hasTransform"in this)return this["~hasTransform"];return this["~hasTransform"]=KY(D)},"~hasRef":q,get hasRef(){if("~hasRef"in this)return this["~hasRef"];return this["~hasRef"]=KY(D)}};if(D.config){if(O.config=D.config,O?.schema?.config)delete O.schema.config}if(Q&&D.additionalProperties===!1)if(Q===!0||Q==="exactMirror")try{O.Clean=w6(D,{TypeCompiler:PY,sanitize:z?.(),modules:$})}catch{console.warn("Failed to create exactMirror. Please report the following code to https://github.com/elysiajs/elysia/issues"),console.warn(D),O.Clean=TZ(D)}else O.Clean=TZ(D);return O.parse=(j)=>{try{return O.Decode(O.Clean?.(j)??j)}catch(m){throw[...O.Errors(j)].map(U0)}},O.safeParse=(j)=>{try{return{success:!0,data:O.Decode(O.Clean?.(j)??j),error:null}}catch(m){let k=[...I.Errors(j)].map(U0);return{success:!1,data:null,error:k[0]?.summary,errors:k}}},O}else{let O={provider:"standard",schema:D,references:"",checkFunc:()=>{},code:"",Check:(j)=>D["~standard"].validate(j),Errors(j){let m=D["~standard"].validate(j);if(m instanceof Promise)throw Error("Async validation is not supported in non-dynamic schema");return m.issues},Code:()=>"",Decode(j){let m=D["~standard"].validate(j);if(m instanceof Promise)throw Error("Async validation is not supported in non-dynamic schema");return m},Encode:(j)=>j,hasAdditionalProperties:!1,hasDefault:!1,isOptional:!1,hasTransform:!1,hasRef:!1};return O.parse=(j)=>{try{return O.Decode(O.Clean?.(j)??j)}catch(m){throw[...O.Errors(j)].map(U0)}},O.safeParse=(j)=>{try{return{success:!0,data:O.Decode(O.Clean?.(j)??j),error:null}}catch(m){let k=[...I.Errors(j)].map(U0);return{success:!1,data:null,error:k[0]?.summary,errors:k}}},O}let I;if(L in D){if(I=PY.Compile(D,Object.values(Z).filter((O)=>(L in O))),I.provider="typebox",D.config){if(I.config=D.config,I?.schema?.config)delete I.schema.config}if(Q===!0||Q==="exactMirror")try{I.Clean=w6(D,{TypeCompiler:PY,sanitize:z?.(),modules:$})}catch(O){console.warn("Failed to create exactMirror. Please report the following code to https://github.com/elysiajs/elysia/issues"),console.dir(D,{depth:null}),I.Clean=TZ(D)}else if(Q==="typebox")I.Clean=TZ(D)}else I={provider:"standard",schema:D,references:"",checkFunc(O){let j=D["~standard"].validate(O);if(j instanceof Promise)throw Error("Async validation is not supported in non-dynamic schema");return j},code:"",Check:(O)=>D["~standard"].validate(O),Errors(O){let j=D["~standard"].validate(O);if(j instanceof Promise)throw Error("Async validation is not supported in non-dynamic schema");return j.issues},Code:()=>"",Decode(O){let j=D["~standard"].validate(O);if(j instanceof Promise)throw Error("Async validation is not supported in non-dynamic schema");return j},Encode:(O)=>O,hasAdditionalProperties:!1,hasDefault:!1,isOptional:!1,hasTransform:!1,hasRef:!1};if(I.parse=(O)=>{try{return I.Decode(I.Clean?.(O)??O)}catch(j){throw[...I.Errors(O)].map(U0)}},I.safeParse=(O)=>{try{return{success:!0,data:I.Decode(I.Clean?.(O)??O),error:null}}catch(j){let m=[...I.Errors(O)].map(U0);return{success:!1,data:null,error:m[0]?.summary,errors:m}}},L in D)Object.assign(I,{get hasAdditionalProperties(){if("~hasAdditionalProperties"in this)return this["~hasAdditionalProperties"];return this["~hasAdditionalProperties"]=gY(I)},get hasDefault(){if("~hasDefault"in this)return this["~hasDefault"];return this["~hasDefault"]=F8("default",I)},get isOptional(){if("~isOptional"in this)return this["~isOptional"];return this["~isOptional"]=v6(I)},get hasTransform(){if("~hasTransform"in this)return this["~hasTransform"];return this["~hasTransform"]=KY(D)},get hasRef(){if("~hasRef"in this)return this["~hasRef"];return this["~hasRef"]=jY(D)},"~hasRef":q});return I},Aw=(Y)=>Y[L]==="Union"||!Y.schema&&!!Y.anyOf,E8=(Y)=>{if(!Y)return;if(Y.properties)return Y.properties;let Z=Y.allOf??Y.anyOf??Y.oneOf;if(Z){let X={};for(let $ of Z){let Q=E8($);if(Q)Object.assign(X,Q)}return Object.keys(X).length>0?X:void 0}return},Dw=(Y)=>{if(Y.length===0)return{schema:void 0,notObjects:[]};if(Y.length===1)return Y[0].type==="object"?{schema:Y[0],notObjects:[]}:{schema:void 0,notObjects:Y};let Z,X=[],$=!1,Q=!1;for(let W of Y){if(W.type!=="object"){X.push(W);continue}if("additionalProperties"in W){if(W.additionalProperties===!0)$=!0;else if(W.additionalProperties===!1)Q=!0}if(!Z){Z=W;continue}Z={...Z,...W,properties:{...Z.properties,...W.properties},required:[...Z?.required??[],...W.required??[]]}}if(Z){if(Z.required)Z.required=[...new Set(Z.required)];if(Q)Z.additionalProperties=!1;else if($)Z.additionalProperties=!0}return{schema:Z,notObjects:X}},O4=(Y,{models:Z={},modules:X,dynamic:$=!1,normalize:Q=!1,additionalProperties:W=!1,validators:J=[],sanitize:M})=>{if(J=J.filter((z)=>z),!Y){if(!J?.length)return;Y=J[0],J=J.slice(1)}let G;if(typeof Y!=="string")G=Y;else if(G=X&&Y in X.$defs?X.Import(Y):Z[Y],!G)return;if(!G)return;if(L in G||"~standard"in G)return{200:$0(G,{modules:X,models:Z,additionalProperties:W,dynamic:$,normalize:Q,coerce:!1,additionalCoerce:[],validators:J.map((z)=>z[200]),sanitize:M})};let B={};return Object.keys(G).forEach((z)=>{if(isNaN(+z))return;let q=G[+z];if(typeof q==="string"){if(q in Z){let A=Z[q];if(!A)return;B[+z]=L in A||"~standard"in A?$0(A,{modules:X,models:Z,additionalProperties:W,dynamic:$,normalize:Q,coerce:!1,additionalCoerce:[],validators:J.map((N)=>N[+z]),sanitize:M}):A}return}B[+z]=L in q||"~standard"in q?$0(q,{modules:X,models:Z,additionalProperties:W,dynamic:$,normalize:Q,coerce:!1,additionalCoerce:[],validators:J.map((A)=>A[+z]),sanitize:M}):q}),B},ww=({validator:Y,modules:Z,defaultConfig:X={},config:$,dynamic:Q,normalize:W=!1,models:J,validators:M,sanitize:G})=>{let B=Y?.provider?Y:$0(Y,{modules:Z,dynamic:Q,models:J,normalize:W,additionalProperties:!0,coerce:!0,additionalCoerce:EX(),validators:M,sanitize:G});if(B)B.config=V6(B.config,$);else B=$0(f.Cookie(f.Any()),{modules:Z,dynamic:Q,models:J,additionalProperties:!0,validators:M,sanitize:G}),B.config=X;return B},xZ=(Y)=>Y&&Y[L]==="Import"&&Y.$defs[Y.$ref][L]==="Object"?Y.$defs[Y.$ref]:Y,h1=(Y,Z)=>Z?Y:"",Lw=["json","text","urlencoded","arrayBuffer","formdata","application/json","text/plain","application/x-www-form-urlencoded","application/octet-stream","multipart/form-data"],fX=({context:Y="c",trace:Z=[],addFn:X})=>{if(!Z.length)return()=>{return{resolveChild(){return()=>{}},resolve(){}}};for(let $=0;$<Z.length;$++)X(`let report${$},reportChild${$},reportErr${$},reportErrChild${$};let trace${$}=${Y}[ELYSIA_TRACE]?.[${$}]??trace[${$}](${Y});
91
- `);return($,{name:Q,total:W=0,alias:J}={})=>{if(!Q)Q="anonymous";let M=$==="error"?"reportErr":"report";for(let G=0;G<Z.length;G++)if(X(`${J?"const ":""}${J??M}${G}=trace${G}.${$}({id,event:'${$}',name:'${Q}',begin:performance.now(),total:${W}})
92
- `),J)X(`${M}${G}=${J}${G}
93
- `);return{resolve(){for(let G=0;G<Z.length;G++)X(`${J??M}${G}.resolve()
94
- `)},resolveChild(G){for(let B=0;B<Z.length;B++)X(`${M}Child${B}=${M}${B}.resolveChild?.shift()?.({id,event:'${$}',name:'${G}',begin:performance.now()})
95
- `);return(B)=>{for(let z=0;z<Z.length;z++)if(B)X(`if(${B} instanceof Error){${M}Child${z}?.(${B}) }else{${M}Child${z}?.()}`);else X(`${M}Child${z}?.()
96
- `)}}}}},VX=({schema:Y,name:Z,type:X,typeAlias:$=X,normalize:Q,ignoreTryCatch:W=!1})=>{if(!Q||!Y.Clean)return"";if(Q===!0||Q==="exactMirror"){if(W)return`${Z}=validator.${$}.Clean(${Z})
97
- `;return`try{${Z}=validator.${$}.Clean(${Z})
98
- }catch{}`}if(Q==="typebox")return`${Z}=validator.${$}.Clean(${Z})
99
- `;return""},Ow=({injectResponse:Y="",normalize:Z=!1,validator:X,encodeSchema:$=!1,isStaticResponse:Q=!1,hasSanitize:W=!1,allowUnsafeValidationDetails:J=!1})=>({validate:(M,G=`c.${M}`,B)=>`c.set.status=422;throw new ValidationError('${M}',validator.${M},${G},${J}${B?","+B:""})`,response:(M="r")=>{if(Q||!X.response)return"";let G=Y+`
100
- `;G+=`if(${M} instanceof ElysiaCustomStatusResponse){c.set.status=${M}.code
101
- ${M}=${M}.response}if(${M} instanceof Response === false && typeof ${M}?.next !== 'function' && !(${M} instanceof ReadableStream))switch(c.set.status){`;for(let[B,z]of Object.entries(X.response)){if(G+=`
102
- case ${B}:
103
- `,z.provider==="standard"){G+=`let vare${B}=validator.response[${B}].Check(${M})
104
- if(vare${B} instanceof Promise)vare${B}=await vare${B}
105
- if(vare${B}.issues)throw new ValidationError('response',validator.response[${B}],${M},${J},vare${B}.issues)
106
- ${M}=vare${B}.value
107
- c.set.status=${B}
85
+ `,code:findDynamicRoute}}},composeError:{mapResponseContext:"",validationError:"set.headers['content-type']='application/json';return mapResponse(error.message,set)",unknownError:"set.status=error.status??set.status??500;return mapResponse(error.message,set)"},listen(){return()=>{throw Error("WebStandard does not support listen, you might want to export default Elysia.fetch instead")}}};var mapResponse2=(response,set,request)=>{if(isNotEmpty(set.headers)||set.status!==200||set.cookie)switch(handleSet(set),response?.constructor?.name){case"String":return new Response(response,set);case"Array":case"Object":return Response.json(response,set);case"ElysiaFile":return handleFile(response.value,set,request);case"File":return handleFile(response,set,request);case"Blob":return handleFile(response,set,request);case"ElysiaCustomStatusResponse":return set.status=response.code,mapResponse2(response.response,set,request);case void 0:return response?Response.json(response,set):new Response("",set);case"Response":return handleResponse2(response,set,request);case"Error":return errorToResponse2(response,set);case"Promise":return response.then((x)=>mapResponse2(x,set,request));case"Function":return mapResponse2(response(),set,request);case"Number":case"Boolean":return new Response(response.toString(),set);case"Cookie":return response instanceof Cookie?new Response(response.value,set):new Response(response?.toString(),set);case"FormData":return new Response(response,set);default:if(response instanceof Response)return handleResponse2(response,set,request);if(response instanceof Promise)return response.then((x)=>mapResponse2(x,set));if(response instanceof Error)return errorToResponse2(response,set);if(response instanceof ElysiaCustomStatusResponse)return set.status=response.code,mapResponse2(response.response,set,request);if(typeof response?.next=="function"||response instanceof ReadableStream)return handleStream2(response,set,request);if(typeof response?.then=="function")return response.then((x)=>mapResponse2(x,set));if(Array.isArray(response))return Response.json(response);if(typeof response?.toResponse=="function")return mapResponse2(response.toResponse(),set);if("charCodeAt"in response){let code=response.charCodeAt(0);if(code===123||code===91)return Response.json(response,set)}return new Response(response,set)}return typeof response?.next=="function"||response instanceof ReadableStream?handleStream2(response,set,request):mapCompactResponse2(response,request)},mapEarlyResponse2=(response,set,request)=>{if(response!=null)if(isNotEmpty(set.headers)||set.status!==200||set.cookie)switch(handleSet(set),response?.constructor?.name){case"String":return new Response(response,set);case"Array":case"Object":return Response.json(response,set);case"ElysiaFile":return handleFile(response.value,set,request);case"File":return handleFile(response,set,request);case"Blob":return handleFile(response,set,request);case"ElysiaCustomStatusResponse":return set.status=response.code,mapEarlyResponse2(response.response,set,request);case void 0:return response?Response.json(response,set):void 0;case"Response":return handleResponse2(response,set,request);case"Promise":return response.then((x)=>mapEarlyResponse2(x,set));case"Error":return errorToResponse2(response,set);case"Function":return mapEarlyResponse2(response(),set);case"Number":case"Boolean":return new Response(response.toString(),set);case"FormData":return new Response(response);case"Cookie":return response instanceof Cookie?new Response(response.value,set):new Response(response?.toString(),set);default:if(response instanceof Response)return handleResponse2(response,set,request);if(response instanceof Promise)return response.then((x)=>mapEarlyResponse2(x,set));if(response instanceof Error)return errorToResponse2(response,set);if(response instanceof ElysiaCustomStatusResponse)return set.status=response.code,mapEarlyResponse2(response.response,set,request);if(typeof response?.next=="function"||response instanceof ReadableStream)return handleStream2(response,set,request);if(typeof response?.then=="function")return response.then((x)=>mapEarlyResponse2(x,set));if(typeof response?.toResponse=="function")return mapEarlyResponse2(response.toResponse(),set);if(Array.isArray(response))return Response.json(response);if("charCodeAt"in response){let code=response.charCodeAt(0);if(code===123||code===91)return Response.json(response,set)}return new Response(response,set)}else switch(response?.constructor?.name){case"String":return new Response(response);case"Array":case"Object":return Response.json(response,set);case"ElysiaFile":return handleFile(response.value,set,request);case"File":return handleFile(response,set,request);case"Blob":return handleFile(response,set,request);case"ElysiaCustomStatusResponse":return set.status=response.code,mapEarlyResponse2(response.response,set,request);case void 0:return response?Response.json(response):new Response("");case"Response":return response;case"Promise":return response.then((x)=>{let r=mapEarlyResponse2(x,set);if(r!==void 0)return r});case"Error":return errorToResponse2(response,set);case"Function":return mapCompactResponse2(response(),request);case"Number":case"Boolean":return new Response(response.toString());case"Cookie":return response instanceof Cookie?new Response(response.value,set):new Response(response?.toString(),set);case"FormData":return new Response(response);default:if(response instanceof Response)return response;if(response instanceof Promise)return response.then((x)=>mapEarlyResponse2(x,set));if(response instanceof Error)return errorToResponse2(response,set);if(response instanceof ElysiaCustomStatusResponse)return set.status=response.code,mapEarlyResponse2(response.response,set,request);if(typeof response?.next=="function"||response instanceof ReadableStream)return handleStream2(response,set,request);if(typeof response?.then=="function")return response.then((x)=>mapEarlyResponse2(x,set));if(typeof response?.toResponse=="function")return mapEarlyResponse2(response.toResponse(),set);if(Array.isArray(response))return Response.json(response);if("charCodeAt"in response){let code=response.charCodeAt(0);if(code===123||code===91)return Response.json(response,set)}return new Response(response)}},mapCompactResponse2=(response,request)=>{switch(response?.constructor?.name){case"String":return new Response(response);case"Object":case"Array":return Response.json(response);case"ElysiaFile":return handleFile(response.value,void 0,request);case"File":return handleFile(response,void 0,request);case"Blob":return handleFile(response,void 0,request);case"ElysiaCustomStatusResponse":return mapResponse2(response.response,{status:response.code,headers:{}});case void 0:return response?Response.json(response):new Response("");case"Response":return response;case"Error":return errorToResponse2(response);case"Promise":return response.then((x)=>mapCompactResponse2(x,request));case"Function":return mapCompactResponse2(response(),request);case"Number":case"Boolean":return new Response(response.toString());case"FormData":return new Response(response);default:if(response instanceof Response)return response;if(response instanceof Promise)return response.then((x)=>mapCompactResponse2(x,request));if(response instanceof Error)return errorToResponse2(response);if(response instanceof ElysiaCustomStatusResponse)return mapResponse2(response.response,{status:response.code,headers:{}});if(typeof response?.next=="function"||response instanceof ReadableStream)return handleStream2(response,void 0,request);if(typeof response?.then=="function")return response.then((x)=>mapCompactResponse2(x,request));if(typeof response?.toResponse=="function")return mapCompactResponse2(response.toResponse());if(Array.isArray(response))return Response.json(response);if("charCodeAt"in response){let code=response.charCodeAt(0);if(code===123||code===91)return Response.json(response)}return new Response(response)}},errorToResponse2=(error,set)=>{if(typeof error?.toResponse=="function"){let raw=error.toResponse(),targetSet=set??{headers:{},status:200,redirect:""},apply=(resolved)=>(resolved instanceof Response&&(targetSet.status=resolved.status),mapResponse2(resolved,targetSet));return typeof raw?.then=="function"?raw.then(apply):apply(raw)}return Response.json({name:error?.name,message:error?.message,cause:error?.cause},{status:set?.status!==200?set?.status??500:500,headers:set?.headers})},createStaticHandler2=(handle,hooks,setHeaders={})=>{if(typeof handle=="function")return;let response=mapResponse2(handle,{headers:setHeaders});if(!hooks.parse?.length&&!hooks.transform?.length&&!hooks.beforeHandle?.length&&!hooks.afterHandle?.length)return()=>response.clone()},handleResponse2=createResponseHandler({mapResponse:mapResponse2,mapCompactResponse:mapCompactResponse2}),handleStream2=createStreamHandler({mapResponse:mapResponse2,mapCompactResponse:mapCompactResponse2});var import_fast_decode_uri_component3=__toESM(require_fast_decode_uri_component(),1);var import_fast_decode_uri_component2=__toESM(require_fast_decode_uri_component(),1),KEY_HAS_PLUS=1,KEY_NEEDS_DECODE=2,VALUE_HAS_PLUS=4,VALUE_NEEDS_DECODE=8;function parseQueryFromURL(input,startIndex=0,array,object){let result=Object.create(null),flags=0,inputLength=input.length,startingIndex=startIndex-1,equalityIndex=startingIndex;for(let i=0;i<inputLength;i++)switch(input.charCodeAt(i)){case 38:processKeyValuePair(input,i),startingIndex=i,equalityIndex=i,flags=0;break;case 61:equalityIndex<=startingIndex?equalityIndex=i:flags|=VALUE_NEEDS_DECODE;break;case 43:equalityIndex>startingIndex?flags|=VALUE_HAS_PLUS:flags|=KEY_HAS_PLUS;break;case 37:equalityIndex>startingIndex?flags|=VALUE_NEEDS_DECODE:flags|=KEY_NEEDS_DECODE;break}return startingIndex<inputLength&&processKeyValuePair(input,inputLength),result;function processKeyValuePair(input2,endIndex){let hasBothKeyValuePair=equalityIndex>startingIndex,effectiveEqualityIndex=hasBothKeyValuePair?equalityIndex:endIndex,keySlice=input2.slice(startingIndex+1,effectiveEqualityIndex);if(!hasBothKeyValuePair&&keySlice.length===0)return;let finalKey=keySlice;flags&KEY_HAS_PLUS&&(finalKey=finalKey.replace(/\+/g," ")),flags&KEY_NEEDS_DECODE&&(finalKey=import_fast_decode_uri_component2.default(finalKey)||finalKey);let finalValue="";if(hasBothKeyValuePair){let valueSlice=input2.slice(equalityIndex+1,endIndex);flags&VALUE_HAS_PLUS&&(valueSlice=valueSlice.replace(/\+/g," ")),flags&VALUE_NEEDS_DECODE&&(valueSlice=import_fast_decode_uri_component2.default(valueSlice)||valueSlice),finalValue=valueSlice}let currentValue=result[finalKey];array&&array?.[finalKey]?finalValue.charCodeAt(0)===91?(object&&object?.[finalKey]?finalValue=JSON.parse(finalValue):finalValue=finalValue.slice(1,-1).split(","),currentValue===void 0?result[finalKey]=finalValue:Array.isArray(currentValue)?currentValue.push(...finalValue):(result[finalKey]=finalValue,result[finalKey].unshift(currentValue))):currentValue===void 0?result[finalKey]=finalValue:Array.isArray(currentValue)?currentValue.push(finalValue):result[finalKey]=[currentValue,finalValue]:result[finalKey]=finalValue}}function parseQueryStandardSchema(input,startIndex=0){let result=Object.create(null),flags=0,inputLength=input.length,startingIndex=startIndex-1,equalityIndex=startingIndex;for(let i=0;i<inputLength;i++)switch(input.charCodeAt(i)){case 38:processKeyValuePair(input,i),startingIndex=i,equalityIndex=i,flags=0;break;case 61:equalityIndex<=startingIndex?equalityIndex=i:flags|=VALUE_NEEDS_DECODE;break;case 43:equalityIndex>startingIndex?flags|=VALUE_HAS_PLUS:flags|=KEY_HAS_PLUS;break;case 37:equalityIndex>startingIndex?flags|=VALUE_NEEDS_DECODE:flags|=KEY_NEEDS_DECODE;break}return startingIndex<inputLength&&processKeyValuePair(input,inputLength),result;function processKeyValuePair(input2,endIndex){let hasBothKeyValuePair=equalityIndex>startingIndex,effectiveEqualityIndex=hasBothKeyValuePair?equalityIndex:endIndex,keySlice=input2.slice(startingIndex+1,effectiveEqualityIndex);if(!hasBothKeyValuePair&&keySlice.length===0)return;let finalKey=keySlice;flags&KEY_HAS_PLUS&&(finalKey=finalKey.replace(/\+/g," ")),flags&KEY_NEEDS_DECODE&&(finalKey=import_fast_decode_uri_component2.default(finalKey)||finalKey);let finalValue="";if(hasBothKeyValuePair){let valueSlice=input2.slice(equalityIndex+1,endIndex);flags&VALUE_HAS_PLUS&&(valueSlice=valueSlice.replace(/\+/g," ")),flags&VALUE_NEEDS_DECODE&&(valueSlice=import_fast_decode_uri_component2.default(valueSlice)||valueSlice),finalValue=valueSlice}let currentValue=result[finalKey];if(finalValue.charCodeAt(0)===91&&finalValue.charCodeAt(finalValue.length-1)===93){try{finalValue=JSON.parse(finalValue)}catch{}currentValue===void 0?result[finalKey]=finalValue:Array.isArray(currentValue)?currentValue.push(finalValue):result[finalKey]=[currentValue,finalValue]}else if(finalValue.charCodeAt(0)===123&&finalValue.charCodeAt(finalValue.length-1)===125){try{finalValue=JSON.parse(finalValue)}catch{}currentValue===void 0?result[finalKey]=finalValue:Array.isArray(currentValue)?currentValue.push(finalValue):result[finalKey]=[currentValue,finalValue]}else finalValue.includes(",")&&(finalValue=finalValue.split(",")),currentValue===void 0?result[finalKey]=finalValue:Array.isArray(currentValue)?currentValue.push(finalValue):result[finalKey]=[currentValue,finalValue]}}function parseQuery(input){let result=Object.create(null),flags=0,inputLength=input.length,startingIndex=-1,equalityIndex=-1;for(let i=0;i<inputLength;i++)switch(input.charCodeAt(i)){case 38:processKeyValuePair(input,i),startingIndex=i,equalityIndex=i,flags=0;break;case 61:equalityIndex<=startingIndex?equalityIndex=i:flags|=VALUE_NEEDS_DECODE;break;case 43:equalityIndex>startingIndex?flags|=VALUE_HAS_PLUS:flags|=KEY_HAS_PLUS;break;case 37:equalityIndex>startingIndex?flags|=VALUE_NEEDS_DECODE:flags|=KEY_NEEDS_DECODE;break}return startingIndex<inputLength&&processKeyValuePair(input,inputLength),result;function processKeyValuePair(input2,endIndex){let hasBothKeyValuePair=equalityIndex>startingIndex,effectiveEqualityIndex=hasBothKeyValuePair?equalityIndex:endIndex,keySlice=input2.slice(startingIndex+1,effectiveEqualityIndex);if(!hasBothKeyValuePair&&keySlice.length===0)return;let finalKey=keySlice;flags&KEY_HAS_PLUS&&(finalKey=finalKey.replace(/\+/g," ")),flags&KEY_NEEDS_DECODE&&(finalKey=import_fast_decode_uri_component2.default(finalKey)||finalKey);let finalValue="";if(hasBothKeyValuePair){let valueSlice=input2.slice(equalityIndex+1,endIndex);flags&VALUE_HAS_PLUS&&(valueSlice=valueSlice.replace(/\+/g," ")),flags&VALUE_NEEDS_DECODE&&(valueSlice=import_fast_decode_uri_component2.default(valueSlice)||valueSlice),finalValue=valueSlice}let currentValue=result[finalKey];currentValue===void 0?result[finalKey]=finalValue:Array.isArray(currentValue)?currentValue.push(finalValue):result[finalKey]=[currentValue,finalValue]}}var ELYSIA_TRACE=Symbol("ElysiaTrace"),createProcess=()=>{let{promise,resolve}=Promise.withResolvers(),{promise:end,resolve:resolveEnd}=Promise.withResolvers(),{promise:error,resolve:resolveError}=Promise.withResolvers(),callbacks=[],callbacksEnd=[];return[(callback)=>(callback&&callbacks.push(callback),promise),(process2)=>{let processes=[],resolvers=[],groupError=null;for(let i=0;i<(process2.total??0);i++){let{promise:promise2,resolve:resolve2}=Promise.withResolvers(),{promise:end2,resolve:resolveEnd2}=Promise.withResolvers(),{promise:error2,resolve:resolveError2}=Promise.withResolvers(),callbacks2=[],callbacksEnd2=[];processes.push((callback)=>(callback&&callbacks2.push(callback),promise2)),resolvers.push((process2)=>{let result2={...process2,end:end2,error:error2,index:i,onStop(callback){return callback&&callbacksEnd2.push(callback),end2}};resolve2(result2);for(let i2=0;i2<callbacks2.length;i2++)callbacks2[i2](result2);return(error3=null)=>{let end3=performance.now();error3&&(groupError=error3);let detail={end:end3,error:error3,get elapsed(){return end3-process2.begin}};for(let i2=0;i2<callbacksEnd2.length;i2++)callbacksEnd2[i2](detail);resolveEnd2(end3),resolveError2(error3)}})}let result={...process2,end,error,onEvent(callback){for(let i=0;i<processes.length;i++)processes[i](callback)},onStop(callback){return callback&&callbacksEnd.push(callback),end}};resolve(result);for(let i=0;i<callbacks.length;i++)callbacks[i](result);return{resolveChild:resolvers,resolve(error2=null){let end2=performance.now();!error2&&groupError&&(error2=groupError);let detail={end:end2,error:error2,get elapsed(){return end2-process2.begin}};for(let i=0;i<callbacksEnd.length;i++)callbacksEnd[i](detail);resolveEnd(end2),resolveError(error2)}}}]},createTracer=(traceListener)=>(context)=>{let[onRequest,resolveRequest]=createProcess(),[onParse,resolveParse]=createProcess(),[onTransform,resolveTransform]=createProcess(),[onBeforeHandle,resolveBeforeHandle]=createProcess(),[onHandle,resolveHandle]=createProcess(),[onAfterHandle,resolveAfterHandle]=createProcess(),[onError,resolveError]=createProcess(),[onMapResponse,resolveMapResponse]=createProcess(),[onAfterResponse,resolveAfterResponse]=createProcess();return traceListener({id:context[ELYSIA_REQUEST_ID],context,set:context.set,onRequest,onParse,onTransform,onBeforeHandle,onHandle,onAfterHandle,onMapResponse,onAfterResponse,onError,time:Date.now(),store:context.store}),{request:resolveRequest,parse:resolveParse,transform:resolveTransform,beforeHandle:resolveBeforeHandle,handle:resolveHandle,afterHandle:resolveAfterHandle,error:resolveError,mapResponse:resolveMapResponse,afterResponse:resolveAfterResponse}};var Kind2=Symbol.for("TypeBox.Kind"),Hint2=Symbol.for("TypeBox.Hint"),isSpecialProperty=(name)=>/(\ |-|\t|\n|\.|\[|\]|\{|\})/.test(name)||!isNaN(+name[0]),joinProperty=(v1,v2,isOptional=!1)=>{if(typeof v2==="number")return`${v1}[${v2}]`;if(isSpecialProperty(v2))return`${v1}${isOptional?"?.":""}["${v2}"]`;return`${v1}${isOptional?"?":""}.${v2}`},encodeProperty=(v)=>isSpecialProperty(v)?`"${v}"`:v,sanitize=(key,sanitize2=0,schema)=>{if(schema.type!=="string"||schema.const||schema.trusted)return key;let hof="";for(let i=sanitize2-1;i>=0;i--)hof+=`d.h${i}(`;return hof+key+")".repeat(sanitize2)},mergeObjectIntersection=(schema)=>{if(!schema.allOf||Kind2 in schema&&(schema[Kind2]!=="Intersect"||schema.type!=="object"))return schema;let{allOf,...newSchema}=schema;if(newSchema.properties={},Kind2 in newSchema)newSchema[Kind2]="Object";for(let type of allOf){if(type.type!=="object")continue;let{properties,required,type:_,[Kind2]:__,...rest}=type;if(required)newSchema.required=newSchema.required?newSchema.required.concat(required):required;Object.assign(newSchema,rest);for(let property in type.properties)newSchema.properties[property]=mergeObjectIntersection(type.properties[property])}return newSchema},handleRecord=(schema,property,instruction)=>{let child=schema.patternProperties["^(.*)$"]??schema.patternProperties[Object.keys(schema.patternProperties)[0]];if(!child)return property;let i=instruction.array;instruction.array++;let v=`(()=>{const ar${i}s=Object.keys(${property}),ar${i}v={};for(let i=0;i<ar${i}s.length;i++){const ar${i}p=${property}[ar${i}s[i]];ar${i}v[ar${i}s[i]]=${mirror(child,`ar${i}p`,instruction)}`,optionals=instruction.optionalsInArray[i+1];if(optionals){for(let oi=0;oi<optionals.length;oi++){let target=`ar${i}v[ar${i}s[i]]${optionals[oi]}`;v+=`;if(${target}===undefined)delete ${target}`}instruction.optionalsInArray[i+1]=[]}return v+=`}return ar${i}v})()`,v},handleTuple=(schema,property,instruction)=>{let i=instruction.array;instruction.array++;let isRoot=property==="v"&&!instruction.unions.length,v="";if(!isRoot)v="(()=>{";v+=`const ar${i}v=[`;for(let i2=0;i2<schema.length;i2++){if(i2!==0)v+=",";v+=mirror(schema[i2],joinProperty(property,i2,instruction.parentIsOptional||instruction.fromUnion),instruction)}if(v+="];",!isRoot)v+=`return ar${i}v})()`;return v};function deepClone(source,weak=new WeakMap){if(source===null||typeof source!=="object"||typeof source==="function")return source;if(weak.has(source))return weak.get(source);if(Array.isArray(source)){let copy=Array(source.length);weak.set(source,copy);for(let i=0;i<source.length;i++)copy[i]=deepClone(source[i],weak);return copy}if(typeof source==="object"){let keys=Object.keys(source).concat(Object.getOwnPropertySymbols(source)),cloned={};for(let key of keys)cloned[key]=deepClone(source[key],weak);return cloned}return source}var handleUnion=(schemas,property,instruction)=>{if(instruction.TypeCompiler===void 0){if(!instruction.typeCompilerWanred)console.warn(Error("[exact-mirror] TypeBox's TypeCompiler is required to use Union")),instruction.typeCompilerWanred=!0;return property}instruction.unionKeys[property]=1;let ui=instruction.unions.length,typeChecks=instruction.unions[ui]=[],v=`(()=>{
86
+ `,unwrapRef=(type)=>{if(!(Kind2 in type)||!type.$ref)return type;if(type[Kind2]==="This")return deepClone(instruction.definitions[type.$ref]);else if(type[Kind2]==="Ref")if(!instruction.modules)console.warn(Error("[exact-mirror] modules is required when using nested cyclic reference"));else return instruction.modules.Import(type.$ref);return type},cleanThenCheck="";for(let i=0;i<schemas.length;i++){let type=unwrapRef(schemas[i]);if(Array.isArray(type.anyOf))for(let i2=0;i2<type.anyOf.length;i2++)type.anyOf[i2]=unwrapRef(type.anyOf[i2]);else if(type.items)if(Array.isArray(type.items))for(let i2=0;i2<type.items.length;i2++)type.items[i2]=unwrapRef(type.items[i2]);else type.items=unwrapRef(type.items);typeChecks.push(TypeCompiler.Compile(type)),v+=`if(d.unions[${ui}][${i}].Check(${property})){return ${mirror(type,property,{...instruction,recursion:instruction.recursion+1,parentIsOptional:!0,fromUnion:!0})}}
87
+ `,cleanThenCheck+=(i?"":"let ")+"tmp="+mirror(type,property,{...instruction,recursion:instruction.recursion+1,parentIsOptional:!0,fromUnion:!0})+`
88
+ if(d.unions[${ui}][${i}].Check(tmp))return tmp
89
+ `}if(cleanThenCheck)v+=cleanThenCheck;return v+=`return ${instruction.removeUnknownUnionType?"undefined":property}`,v+"})()"},mirror=(schema,property,instruction)=>{if(!schema)return"";let isRoot=property==="v"&&!instruction.unions.length;if(Kind2 in schema&&schema[Kind2]==="Import"&&schema.$ref in schema.$defs)return mirror(schema.$defs[schema.$ref],property,{...instruction,definitions:Object.assign(instruction.definitions,schema.$defs)});if(isRoot&&schema.type!=="object"&&schema.type!=="array"&&!schema.anyOf)return`return ${sanitize("v",instruction.sanitize?.length,schema)}`;if(instruction.recursion>=instruction.recursionLimit)return property;let v="";if(schema.$id&&Hint2 in schema)instruction.definitions[schema.$id]=schema;switch(schema.type){case"object":if(schema[Kind2]==="Record"){v=handleRecord(schema,property,instruction);break}if(schema=mergeObjectIntersection(schema),v+="{",schema.additionalProperties)v+=`...${property},`;let keys=Object.keys(schema.properties);for(let i2=0;i2<keys.length;i2++){let key=keys[i2],isOptional=!schema.required||schema.required&&!schema.required.includes(key)||Array.isArray(schema.properties[key].anyOf),name=joinProperty(property,key,instruction.parentIsOptional||instruction.fromUnion);if(isOptional){let index=instruction.array;if(property.startsWith("ar")){let dotIndex=name.indexOf("."),refName;if(dotIndex>=0)refName=name.slice(dotIndex);else refName=name.slice(property.length);if(refName.startsWith("?."))if(refName.charAt(2)==="[")refName=refName.slice(2);else refName=refName.slice(1);let array=instruction.optionalsInArray;if(array[index])array[index].push(refName);else array[index]=[refName]}else instruction.optionals.push(name)}let child=schema.properties[key];if(i2!==0)v+=",";v+=`${encodeProperty(key)}:${isOptional?`${name}===undefined?undefined:`:""}${mirror(child,name,{...instruction,recursion:instruction.recursion+1,parentIsOptional:isOptional})}`}v+="}";break;case"array":if(schema.items.type!=="object"&&schema.items.type!=="array"){if(Array.isArray(schema.items)){v=handleTuple(schema.items,property,instruction);break}else if(isRoot&&!Array.isArray(schema.items.anyOf))return"return v";else if(Kind2 in schema.items&&schema.items.$ref&&(schema.items[Kind2]==="Ref"||schema.items[Kind2]==="This"))v=mirror(deepClone(instruction.definitions[schema.items.$ref]),property,{...instruction,parentIsOptional:!0,recursion:instruction.recursion+1});else if(!Array.isArray(schema.items.anyOf)){v=property;break}}let i=instruction.array;instruction.array++;let reference=property;if(isRoot)v=`const ar${i}v=new Array(${property}.length);`;else reference=`ar${i}s`,v=`((${reference})=>{const ar${i}v=new Array(${reference}.length);`;v+=`for(let i=0;i<${reference}.length;i++){const ar${i}p=${reference}[i];ar${i}v[i]=${mirror(schema.items,`ar${i}p`,instruction)}`;let optionals=instruction.optionalsInArray[i+1];if(optionals){for(let oi=0;oi<optionals.length;oi++){let target=`ar${i}v[i]${optionals[oi]}`;v+=`;if(${target}===undefined)delete ${target}`}instruction.optionalsInArray[i+1]=[]}if(v+="}",!isRoot)v+=`return ar${i}v})(${property})`;break;default:if(schema.$ref&&schema.$ref in instruction.definitions)return mirror(instruction.definitions[schema.$ref],property,instruction);if(Array.isArray(schema.anyOf)){v=handleUnion(schema.anyOf,property,instruction);break}v=sanitize(property,instruction.sanitize?.length,schema);break}if(!isRoot)return v;if(schema.type==="array")v=`${v}const x=ar0v;`;else v=`const x=${v}
90
+ `;for(let i=0;i<instruction.optionals.length;i++){let key=instruction.optionals[i],prop=key.slice(1);if(v+=`if(${key}===undefined`,instruction.unionKeys[key])v+=`||x${prop}===undefined`;let shouldQuestion=prop.charCodeAt(0)!==63&&schema.type!=="array";v+=`)delete x${shouldQuestion?prop.charCodeAt(0)===91?"?.":"?":""}${prop}
91
+ `}return`${v}return x`},createMirror=(schema,{TypeCompiler:TypeCompiler2,modules,definitions,sanitize:sanitize2,recursionLimit=8,removeUnknownUnionType=!1}={})=>{let unions=[];if(typeof sanitize2==="function")sanitize2=[sanitize2];let f=mirror(schema,"v",{optionals:[],optionalsInArray:[],array:0,parentIsOptional:!1,unions,unionKeys:{},TypeCompiler:TypeCompiler2,modules,definitions:definitions??modules?.$defs??{},sanitize:sanitize2,recursion:0,recursionLimit,removeUnknownUnionType});if(!unions.length&&!sanitize2?.length)return Function("v",f);let hof;if(sanitize2?.length){hof={};for(let i=0;i<sanitize2.length;i++)hof[`h${i}`]=sanitize2[i]}return Function("d",`return function mirror(v){${f}}`)({unions,...hof})};var replaceSchemaTypeFromManyOptions=(schema,options)=>{if(Array.isArray(options)){let result=schema;for(let option of options)result=replaceSchemaTypeFromOption(result,option);return result}return replaceSchemaTypeFromOption(schema,options)},replaceSchemaTypeFromOption=(schema,option)=>{if(option.rootOnly&&option.excludeRoot)throw Error("Can't set both rootOnly and excludeRoot");if(option.rootOnly&&option.onlyFirst)throw Error("Can't set both rootOnly and onlyFirst");if(option.rootOnly&&option.untilObjectFound)throw Error("Can't set both rootOnly and untilObjectFound");let walk=({s,isRoot,treeLvl})=>{if(!s)return s;let skipRoot=isRoot&&option.excludeRoot,fromKind=option.from[Kind];if(s.elysiaMeta)return option.from.elysiaMeta===s.elysiaMeta&&!skipRoot?option.to(s):s;let shouldTransform=fromKind&&s[Kind]===fromKind;if(!skipRoot&&option.onlyFirst&&s.type===option.onlyFirst||isRoot&&option.rootOnly)return shouldTransform?option.to(s):s;if(!isRoot&&option.untilObjectFound&&s.type==="object")return s;let newWalkInput={isRoot:!1,treeLvl:treeLvl+1},withTransformedChildren={...s};if(s.oneOf&&(withTransformedChildren.oneOf=s.oneOf.map((x)=>walk({...newWalkInput,s:x}))),s.anyOf&&(withTransformedChildren.anyOf=s.anyOf.map((x)=>walk({...newWalkInput,s:x}))),s.allOf&&(withTransformedChildren.allOf=s.allOf.map((x)=>walk({...newWalkInput,s:x}))),s.not&&(withTransformedChildren.not=walk({...newWalkInput,s:s.not})),s.properties){withTransformedChildren.properties={};for(let[k,v]of Object.entries(s.properties))withTransformedChildren.properties[k]=walk({...newWalkInput,s:v})}if(s.items){let items=s.items;withTransformedChildren.items=Array.isArray(items)?items.map((x)=>walk({...newWalkInput,s:x})):walk({...newWalkInput,s:items})}return!skipRoot&&fromKind&&withTransformedChildren[Kind]===fromKind?option.to(withTransformedChildren):withTransformedChildren};return walk({s:schema,isRoot:!0,treeLvl:0})};var _stringToStructureCoercions,stringToStructureCoercions=()=>(_stringToStructureCoercions||(_stringToStructureCoercions=[{from:t.Object({}),to:(schema)=>t.ObjectString(schema.properties||{},schema),excludeRoot:!0},{from:t.Array(t.Any()),to:(schema)=>t.ArrayString(schema.items||t.Any(),schema)}]),_stringToStructureCoercions),_queryCoercions,queryCoercions=()=>(_queryCoercions||(_queryCoercions=[{from:t.Object({}),to:(schema)=>t.ObjectString(schema.properties??{},schema),excludeRoot:!0},{from:t.Array(t.Any()),to:(schema)=>t.ArrayQuery(schema.items??t.Any(),schema)}]),_queryCoercions),_coercePrimitiveRoot,coercePrimitiveRoot=()=>(_coercePrimitiveRoot||(_coercePrimitiveRoot=[{from:t.Number(),to:(schema)=>t.Numeric(schema),rootOnly:!0},{from:t.Boolean(),to:(schema)=>t.BooleanString(schema),rootOnly:!0}]),_coercePrimitiveRoot),_coerceFormData,coerceFormData=()=>(_coerceFormData||(_coerceFormData=[{from:t.Object({}),to:(schema)=>t.ObjectString(schema.properties??{},schema),onlyFirst:"object",excludeRoot:!0},{from:t.Array(t.Any()),to:(schema)=>t.ArrayString(schema.items??t.Any(),schema),onlyFirst:"array",excludeRoot:!0}]),_coerceFormData);var isOptional=(schema)=>schema?schema?.[Kind]==="Import"&&schema.References?schema.References().some(isOptional):(schema.schema&&(schema=schema.schema),!!schema&&(OptionalKind in schema)):!1,hasAdditionalProperties=(_schema)=>{if(!_schema)return!1;let schema=_schema?.schema??_schema;if(schema[Kind]==="Import"&&_schema.References)return _schema.References().some(hasAdditionalProperties);if(schema.anyOf)return schema.anyOf.some(hasAdditionalProperties);if(schema.someOf)return schema.someOf.some(hasAdditionalProperties);if(schema.allOf)return schema.allOf.some(hasAdditionalProperties);if(schema.not)return schema.not.some(hasAdditionalProperties);if(schema.type==="object"){let properties=schema.properties;if("additionalProperties"in schema)return schema.additionalProperties;if("patternProperties"in schema)return!1;for(let key of Object.keys(properties)){let property=properties[key];if(property.type==="object"){if(hasAdditionalProperties(property))return!0}else if(property.anyOf){for(let i=0;i<property.anyOf.length;i++)if(hasAdditionalProperties(property.anyOf[i]))return!0}return property.additionalProperties}return!1}return schema.type==="array"&&schema.items&&!Array.isArray(schema.items)?hasAdditionalProperties(schema.items):!1},resolveSchema=(schema,models,modules)=>{if(schema)return typeof schema!="string"?schema:modules&&(schema in modules.$defs)?modules.Import(schema):models?.[schema]},hasType=(type,schema)=>{if(!schema)return!1;if(Kind in schema&&schema[Kind]===type)return!0;if(Kind in schema&&schema[Kind]==="Import"&&schema.$defs&&schema.$ref){let ref=schema.$ref.replace("#/$defs/","");if(schema.$defs[ref])return hasType(type,schema.$defs[ref])}if(schema.anyOf)return schema.anyOf.some((s)=>hasType(type,s));if(schema.oneOf)return schema.oneOf.some((s)=>hasType(type,s));if(schema.allOf)return schema.allOf.some((s)=>hasType(type,s));if(schema.type==="array"&&schema.items)return type==="Files"&&Kind in schema.items&&schema.items[Kind]==="File"?!0:hasType(type,schema.items);if(schema.type==="object"){let properties=schema.properties;if(!properties)return!1;for(let key of Object.keys(properties))if(hasType(type,properties[key]))return!0}return!1},hasElysiaMeta=(meta,_schema)=>{if(!_schema)return!1;let schema=_schema?.schema??_schema;if(schema.elysiaMeta===meta)return!0;if(schema[Kind]==="Import"&&_schema.References)return _schema.References().some((schema2)=>hasElysiaMeta(meta,schema2));if(schema.anyOf)return schema.anyOf.some((schema2)=>hasElysiaMeta(meta,schema2));if(schema.someOf)return schema.someOf.some((schema2)=>hasElysiaMeta(meta,schema2));if(schema.allOf)return schema.allOf.some((schema2)=>hasElysiaMeta(meta,schema2));if(schema.not)return schema.not.some((schema2)=>hasElysiaMeta(meta,schema2));if(schema.type==="object"){let properties=schema.properties;if(!properties)return!1;for(let key of Object.keys(properties)){let property=properties[key];if(property.type==="object"){if(hasElysiaMeta(meta,property))return!0}else if(property.anyOf){for(let i=0;i<property.anyOf.length;i++)if(hasElysiaMeta(meta,property.anyOf[i]))return!0}return schema.elysiaMeta===meta}return!1}return schema.type==="array"&&schema.items&&!Array.isArray(schema.items)?hasElysiaMeta(meta,schema.items):!1},hasProperty=(expectedProperty,_schema)=>{if(!_schema)return!1;let schema=_schema.schema??_schema;if(schema[Kind]==="Import"&&_schema.References)return _schema.References().some((schema2)=>hasProperty(expectedProperty,schema2));if(schema.anyOf)return schema.anyOf.some((s)=>hasProperty(expectedProperty,s));if(schema.allOf)return schema.allOf.some((s)=>hasProperty(expectedProperty,s));if(schema.oneOf)return schema.oneOf.some((s)=>hasProperty(expectedProperty,s));if(schema.type==="object"){let properties=schema.properties;if(!properties)return!1;for(let key of Object.keys(properties)){let property=properties[key];if(expectedProperty in property)return!0;if(property.type==="object"){if(hasProperty(expectedProperty,property))return!0}else if(property.anyOf){for(let i=0;i<property.anyOf.length;i++)if(hasProperty(expectedProperty,property.anyOf[i]))return!0}}return!1}return expectedProperty in schema},hasRef=(schema)=>{if(!schema)return!1;if(schema.oneOf){for(let i=0;i<schema.oneOf.length;i++)if(hasRef(schema.oneOf[i]))return!0}if(schema.anyOf){for(let i=0;i<schema.anyOf.length;i++)if(hasRef(schema.anyOf[i]))return!0}if(schema.oneOf){for(let i=0;i<schema.oneOf.length;i++)if(hasRef(schema.oneOf[i]))return!0}if(schema.allOf){for(let i=0;i<schema.allOf.length;i++)if(hasRef(schema.allOf[i]))return!0}if(schema.not&&hasRef(schema.not))return!0;if(schema.type==="object"&&schema.properties){let properties=schema.properties;for(let key of Object.keys(properties)){let property=properties[key];if(hasRef(property)||property.type==="array"&&property.items&&hasRef(property.items))return!0}}return schema.type==="array"&&schema.items&&hasRef(schema.items)?!0:schema[Kind]==="Ref"&&("$ref"in schema)},hasTransform=(schema)=>{if(!schema)return!1;if(schema.$ref&&schema.$defs&&schema.$ref in schema.$defs&&hasTransform(schema.$defs[schema.$ref]))return!0;if(schema.oneOf){for(let i=0;i<schema.oneOf.length;i++)if(hasTransform(schema.oneOf[i]))return!0}if(schema.anyOf){for(let i=0;i<schema.anyOf.length;i++)if(hasTransform(schema.anyOf[i]))return!0}if(schema.allOf){for(let i=0;i<schema.allOf.length;i++)if(hasTransform(schema.allOf[i]))return!0}if(schema.not&&hasTransform(schema.not))return!0;if(schema.type==="object"&&schema.properties){let properties=schema.properties;for(let key of Object.keys(properties)){let property=properties[key];if(hasTransform(property)||property.type==="array"&&property.items&&hasTransform(property.items))return!0}}return schema.type==="array"&&schema.items&&hasTransform(schema.items)?!0:(TransformKind in schema)},createCleaner=(schema)=>(value)=>{if(typeof value=="object")try{return Clean(schema,value)}catch{}return value},getSchemaValidator=(s,{models={},dynamic=!1,modules,normalize=!1,additionalProperties=!1,forceAdditionalProperties=!1,coerce=!1,additionalCoerce=[],validators,sanitize}={})=>{if(validators=validators?.filter((x)=>x),!s){if(!validators?.length)return;s=validators[0],validators=validators.slice(1)}let doesHaveRef,replaceSchema=(schema2)=>coerce?replaceSchemaTypeFromManyOptions(schema2,[{from:t.Number(),to:(options)=>t.Numeric(options),untilObjectFound:!0},{from:t.Boolean(),to:(options)=>t.BooleanString(options),untilObjectFound:!0},...Array.isArray(additionalCoerce)?additionalCoerce:[additionalCoerce]]):replaceSchemaTypeFromManyOptions(schema2,additionalCoerce),mapSchema=(s2)=>{if(s2&&typeof s2!="string"&&"~standard"in s2)return s2;if(!s2)return;let schema2;if(typeof s2!="string")schema2=s2;else if(schema2=modules&&s2 in modules.$defs?modules.Import(s2):models[s2],!schema2)return;let hasAdditionalCoerce=Array.isArray(additionalCoerce)?additionalCoerce.length>0:!!additionalCoerce;if(Kind in schema2)if(schema2[Kind]==="Import")hasRef(schema2.$defs[schema2.$ref])||(schema2=schema2.$defs[schema2.$ref]??models[schema2.$ref],(coerce||hasAdditionalCoerce)&&(schema2=replaceSchema(schema2),("$id"in schema2)&&!schema2.$defs&&(schema2.$id=`${schema2.$id}_coerced_${randomId()}`)));else if(hasRef(schema2)){let id=randomId();schema2=t.Module({...modules?.$defs,[id]:schema2}).Import(id)}else(coerce||hasAdditionalCoerce)&&(schema2=replaceSchema(schema2));return schema2},schema=mapSchema(s),_validators=validators;if("~standard"in schema||validators?.length&&validators.some((x)=>x&&typeof x!="string"&&("~standard"in x))){let Validate2=function(value){let v=mainCheck.validate(value);if(v instanceof Promise)return v.then((resolved)=>{if(resolved.issues)return resolved;let values2=[];return resolved&&typeof resolved=="object"&&values2.push(resolved.value),runCheckers2(value,0,values2,resolved)});if(v.issues)return v;let values=[];return v&&typeof v=="object"&&values.push(v.value),runCheckers2(value,0,values,v)},Check22=function(value){let v=Validate2(value);return v instanceof Promise?!1:!v.issues},runCheckers2=function(value,startIndex,values,lastV){for(let i=startIndex;i<checkers.length;i++){let v=checkers[i].validate(value);if(v instanceof Promise)return v.then((resolved)=>{if(resolved.issues)return resolved;let nextValues=[...values];return resolved&&typeof resolved=="object"&&nextValues.push(resolved.value),runCheckers2(value,i+1,nextValues,resolved)});if(v.issues)return v;v&&typeof v=="object"&&values.push(v.value),lastV=v}return mergeValues2(values,lastV)},mergeValues2=function(values,lastV){if(!values.length)return{value:lastV};if(values.length===1)return{value:values[0]};if(values.length===2)return{value:mergeDeep(values[0],values[1])};let newValue=mergeDeep(values[0],values[1]);for(let i=2;i<values.length;i++)newValue=mergeDeep(newValue,values[i]);return{value:newValue}};var Validate=Validate2,Check2=Check22,runCheckers=runCheckers2,mergeValues=mergeValues2;let typeboxSubValidator=(schema2)=>{let mirror;if(normalize===!0||normalize==="exactMirror")try{mirror=createMirror(schema2,{TypeCompiler,sanitize:sanitize?.(),modules})}catch{console.warn("Failed to create exactMirror. Please report the following code to https://github.com/elysiajs/elysia/issues"),console.warn(schema2),mirror=createCleaner(schema2)}let vali=getSchemaValidator(schema2,{models,modules,dynamic,normalize,additionalProperties:!0,forceAdditionalProperties:!0,coerce,additionalCoerce});return vali.Decode=mirror,{validate:(v)=>vali.Check(v)?{value:mirror?mirror(v):v}:{issues:[...vali.Errors(v)]}}},mainCheck=schema["~standard"]?schema["~standard"]:typeboxSubValidator(schema),checkers=[];if(validators?.length){for(let validator2 of validators)if(validator2&&typeof validator2!="string"){if(validator2?.["~standard"]){checkers.push(validator2["~standard"]);continue}if(Kind in validator2){checkers.push(typeboxSubValidator(validator2));continue}}}let validator={provider:"standard",schema,references:"",checkFunc:()=>{},code:"",Check:Check22,Validate:Validate2,Errors:(value)=>Validate2(value)?.then?.((x)=>x?.issues),Code:()=>"",Decode:Validate2,Encode:(value)=>value,hasAdditionalProperties:!1,hasDefault:!1,isOptional:!1,hasTransform:!1,hasRef:!1};return validator.parse=(v)=>{try{return validator.Decode(validator.Clean?.(v)??v)}catch{throw[...validator.Errors(v)].map(mapValueError)}},validator.safeParse=(v)=>{try{return{success:!0,data:validator.Decode(validator.Clean?.(v)??v),error:null}}catch{let errors=[...compiled.Errors(v)].map(mapValueError);return{success:!1,data:null,error:errors[0]?.summary,errors}}},validator}else if(validators?.length){let hasAdditional=!1,validators2=_validators,{schema:mergedObjectSchema,notObjects}=mergeObjectSchemas([schema,...validators2.map(mapSchema)]);notObjects&&(schema=t.Intersect([...mergedObjectSchema?[mergedObjectSchema]:[],...notObjects.map((x)=>{let schema2=mapSchema(x);return schema2.type==="object"&&"additionalProperties"in schema2&&(!hasAdditional&&schema2.additionalProperties===!1&&(hasAdditional=!0),delete schema2.additionalProperties),schema2})]),schema.type==="object"&&hasAdditional&&(schema.additionalProperties=!1))}else schema.type==="object"&&(!("additionalProperties"in schema)||forceAdditionalProperties)?schema.additionalProperties=additionalProperties:schema=replaceSchemaTypeFromManyOptions(schema,{onlyFirst:"object",from:t.Object({}),to(schema2){return!schema2.properties||"additionalProperties"in schema2?schema2:t.Object(schema2.properties,{...schema2,additionalProperties:!1})}});if(dynamic)if(Kind in schema){let validator={provider:"typebox",schema,references:"",checkFunc:()=>{},code:"",Check:(value)=>Check(schema,value),Errors:(value)=>Errors(schema,value),Code:()=>"",Clean:createCleaner(schema),Decode:(value)=>Decode(schema,value),Encode:(value)=>Encode(schema,value),get hasAdditionalProperties(){return"~hasAdditionalProperties"in this?this["~hasAdditionalProperties"]:this["~hasAdditionalProperties"]=hasAdditionalProperties(schema)},get hasDefault(){return"~hasDefault"in this?this["~hasDefault"]:this["~hasDefault"]=hasProperty("default",schema)},get isOptional(){return"~isOptional"in this?this["~isOptional"]:this["~isOptional"]=isOptional(schema)},get hasTransform(){return"~hasTransform"in this?this["~hasTransform"]:this["~hasTransform"]=hasTransform(schema)},"~hasRef":doesHaveRef,get hasRef(){return"~hasRef"in this?this["~hasRef"]:this["~hasRef"]=hasTransform(schema)}};if(schema.config&&(validator.config=schema.config,validator?.schema?.config&&delete validator.schema.config),normalize&&schema.additionalProperties===!1)if(normalize===!0||normalize==="exactMirror")try{validator.Clean=createMirror(schema,{TypeCompiler,sanitize:sanitize?.(),modules})}catch{console.warn("Failed to create exactMirror. Please report the following code to https://github.com/elysiajs/elysia/issues"),console.warn(schema),validator.Clean=createCleaner(schema)}else validator.Clean=createCleaner(schema);return validator.parse=(v)=>{try{return validator.Decode(validator.Clean?.(v)??v)}catch{throw[...validator.Errors(v)].map(mapValueError)}},validator.safeParse=(v)=>{try{return{success:!0,data:validator.Decode(validator.Clean?.(v)??v),error:null}}catch{let errors=[...compiled.Errors(v)].map(mapValueError);return{success:!1,data:null,error:errors[0]?.summary,errors}}},validator}else{let validator={provider:"standard",schema,references:"",checkFunc:()=>{},code:"",Check:(v)=>schema["~standard"].validate(v),Errors(value){let response=schema["~standard"].validate(value);if(response instanceof Promise)throw Error("Async validation is not supported in non-dynamic schema");return response.issues},Code:()=>"",Decode(value){let response=schema["~standard"].validate(value);if(response instanceof Promise)throw Error("Async validation is not supported in non-dynamic schema");return response},Encode:(value)=>value,hasAdditionalProperties:!1,hasDefault:!1,isOptional:!1,hasTransform:!1,hasRef:!1};return validator.parse=(v)=>{try{return validator.Decode(validator.Clean?.(v)??v)}catch{throw[...validator.Errors(v)].map(mapValueError)}},validator.safeParse=(v)=>{try{return{success:!0,data:validator.Decode(validator.Clean?.(v)??v),error:null}}catch{let errors=[...compiled.Errors(v)].map(mapValueError);return{success:!1,data:null,error:errors[0]?.summary,errors}}},validator}let compiled;if(Kind in schema)if(compiled=TypeCompiler.Compile(schema,Object.values(models).filter((x)=>(Kind in x))),compiled.provider="typebox",schema.config&&(compiled.config=schema.config,compiled?.schema?.config&&delete compiled.schema.config),normalize===!0||normalize==="exactMirror")try{compiled.Clean=createMirror(schema,{TypeCompiler,sanitize:sanitize?.(),modules})}catch{console.warn("Failed to create exactMirror. Please report the following code to https://github.com/elysiajs/elysia/issues"),console.dir(schema,{depth:null}),compiled.Clean=createCleaner(schema)}else normalize==="typebox"&&(compiled.Clean=createCleaner(schema));else compiled={provider:"standard",schema,references:"",checkFunc(value){let response=schema["~standard"].validate(value);if(response instanceof Promise)throw Error("Async validation is not supported in non-dynamic schema");return response},code:"",Check:(v)=>schema["~standard"].validate(v),Errors(value){let response=schema["~standard"].validate(value);if(response instanceof Promise)throw Error("Async validation is not supported in non-dynamic schema");return response.issues},Code:()=>"",Decode(value){let response=schema["~standard"].validate(value);if(response instanceof Promise)throw Error("Async validation is not supported in non-dynamic schema");return response},Encode:(value)=>value,hasAdditionalProperties:!1,hasDefault:!1,isOptional:!1,hasTransform:!1,hasRef:!1};return compiled.parse=(v)=>{try{return compiled.Decode(compiled.Clean?.(v)??v)}catch{throw[...compiled.Errors(v)].map(mapValueError)}},compiled.safeParse=(v)=>{try{return{success:!0,data:compiled.Decode(compiled.Clean?.(v)??v),error:null}}catch{let errors=[...compiled.Errors(v)].map(mapValueError);return{success:!1,data:null,error:errors[0]?.summary,errors}}},Kind in schema&&Object.assign(compiled,{get hasAdditionalProperties(){return"~hasAdditionalProperties"in this?this["~hasAdditionalProperties"]:this["~hasAdditionalProperties"]=hasAdditionalProperties(compiled)},get hasDefault(){return"~hasDefault"in this?this["~hasDefault"]:this["~hasDefault"]=hasProperty("default",compiled)},get isOptional(){return"~isOptional"in this?this["~isOptional"]:this["~isOptional"]=isOptional(compiled)},get hasTransform(){return"~hasTransform"in this?this["~hasTransform"]:this["~hasTransform"]=hasTransform(schema)},get hasRef(){return"~hasRef"in this?this["~hasRef"]:this["~hasRef"]=hasRef(schema)},"~hasRef":doesHaveRef}),compiled},isUnion=(schema)=>schema[Kind]==="Union"||!schema.schema&&!!schema.anyOf,getSchemaProperties=(schema)=>{if(!schema)return;if(schema.properties)return schema.properties;let members=schema.allOf??schema.anyOf??schema.oneOf;if(members){let result={};for(let member of members){let props=getSchemaProperties(member);props&&Object.assign(result,props)}return Object.keys(result).length>0?result:void 0}},mergeObjectSchemas=(schemas)=>{if(schemas.length===0)return{schema:void 0,notObjects:[]};if(schemas.length===1)return schemas[0].type==="object"?{schema:schemas[0],notObjects:[]}:{schema:void 0,notObjects:schemas};let newSchema,notObjects=[],additionalPropertiesIsTrue=!1,additionalPropertiesIsFalse=!1;for(let schema of schemas){if(schema.type!=="object"){notObjects.push(schema);continue}if("additionalProperties"in schema&&(schema.additionalProperties===!0?additionalPropertiesIsTrue=!0:schema.additionalProperties===!1&&(additionalPropertiesIsFalse=!0)),!newSchema){newSchema=schema;continue}newSchema={...newSchema,...schema,properties:{...newSchema.properties,...schema.properties},required:[...newSchema?.required??[],...schema.required??[]]}}return newSchema&&(newSchema.required&&(newSchema.required=[...new Set(newSchema.required)]),additionalPropertiesIsFalse?newSchema.additionalProperties=!1:additionalPropertiesIsTrue&&(newSchema.additionalProperties=!0)),{schema:newSchema,notObjects}},getResponseSchemaValidator=(s,{models={},modules,dynamic=!1,normalize=!1,additionalProperties=!1,validators=[],sanitize})=>{if(validators=validators.filter((x)=>x),!s){if(!validators?.length)return;s=validators[0],validators=validators.slice(1)}let maybeSchemaOrRecord;if(typeof s!="string")maybeSchemaOrRecord=s;else if(maybeSchemaOrRecord=modules&&s in modules.$defs?modules.Import(s):models[s],!maybeSchemaOrRecord)return;if(!maybeSchemaOrRecord)return;if(Kind in maybeSchemaOrRecord||"~standard"in maybeSchemaOrRecord)return{200:getSchemaValidator(maybeSchemaOrRecord,{modules,models,additionalProperties,dynamic,normalize,coerce:!1,additionalCoerce:[],validators:validators.map((x)=>x[200]),sanitize})};let record={};return Object.keys(maybeSchemaOrRecord).forEach((status)=>{if(isNaN(+status))return;let maybeNameOrSchema=maybeSchemaOrRecord[+status];if(typeof maybeNameOrSchema=="string"){if(maybeNameOrSchema in models){let schema=models[maybeNameOrSchema];if(!schema)return;record[+status]=Kind in schema||"~standard"in schema?getSchemaValidator(schema,{modules,models,additionalProperties,dynamic,normalize,coerce:!1,additionalCoerce:[],validators:validators.map((x)=>x[+status]),sanitize}):schema}return}record[+status]=Kind in maybeNameOrSchema||"~standard"in maybeNameOrSchema?getSchemaValidator(maybeNameOrSchema,{modules,models,additionalProperties,dynamic,normalize,coerce:!1,additionalCoerce:[],validators:validators.map((x)=>x[+status]),sanitize}):maybeNameOrSchema}),record},getCookieValidator=({validator,modules,defaultConfig={},config,dynamic,normalize=!1,models,validators,sanitize})=>{let cookieValidator=validator?.provider?validator:getSchemaValidator(validator,{modules,dynamic,models,normalize,additionalProperties:!0,coerce:!0,additionalCoerce:stringToStructureCoercions(),validators,sanitize});return cookieValidator?cookieValidator.config=mergeCookie(cookieValidator.config,config):(cookieValidator=getSchemaValidator(t.Cookie(t.Any()),{modules,dynamic,models,additionalProperties:!0,validators,sanitize}),cookieValidator.config=defaultConfig),cookieValidator},unwrapImportSchema=(schema)=>schema&&schema[Kind]==="Import"&&schema.$defs[schema.$ref][Kind]==="Object"?schema.$defs[schema.$ref]:schema;var allocateIf=(value,condition)=>condition?value:"",defaultParsers=["json","text","urlencoded","arrayBuffer","formdata","application/json","text/plain","application/x-www-form-urlencoded","application/octet-stream","multipart/form-data"],createReport=({context="c",trace=[],addFn})=>{if(!trace.length)return()=>({resolveChild(){return()=>{}},resolve(){}});for(let i=0;i<trace.length;i++)addFn(`let report${i},reportChild${i},reportErr${i},reportErrChild${i};let trace${i}=${context}[ELYSIA_TRACE]?.[${i}]??trace[${i}](${context});
92
+ `);return(event,{name,total=0,alias}={})=>{name||(name="anonymous");let reporter=event==="error"?"reportErr":"report";for(let i=0;i<trace.length;i++)addFn(`${alias?"const ":""}${alias??reporter}${i}=trace${i}.${event}({id,event:'${event}',name:'${name}',begin:performance.now(),total:${total}})
93
+ `),alias&&addFn(`${reporter}${i}=${alias}${i}
94
+ `);return{resolve(){for(let i=0;i<trace.length;i++)addFn(`${alias??reporter}${i}.resolve()
95
+ `)},resolveChild(name2){for(let i=0;i<trace.length;i++)addFn(`${reporter}Child${i}=${reporter}${i}.resolveChild?.shift()?.({id,event:'${event}',name:'${name2}',begin:performance.now()})
96
+ `);return(binding)=>{for(let i=0;i<trace.length;i++)addFn(binding?`if(${binding} instanceof Error){${reporter}Child${i}?.(${binding}) }else{${reporter}Child${i}?.()}`:`${reporter}Child${i}?.()
97
+ `)}}}}},composeCleaner=({schema,name,type,typeAlias=type,normalize,ignoreTryCatch=!1})=>!normalize||!schema.Clean?"":normalize===!0||normalize==="exactMirror"?ignoreTryCatch?`${name}=validator.${typeAlias}.Clean(${name})
98
+ `:`try{${name}=validator.${typeAlias}.Clean(${name})
99
+ }catch{}`:normalize==="typebox"?`${name}=validator.${typeAlias}.Clean(${name})
100
+ `:"",composeValidationFactory=({injectResponse="",normalize=!1,validator,encodeSchema=!1,isStaticResponse=!1,hasSanitize=!1,allowUnsafeValidationDetails=!1})=>({validate:(type,value=`c.${type}`,error)=>`c.set.status=422;throw new ValidationError('${type}',validator.${type},${value},${allowUnsafeValidationDetails}${error?","+error:""})`,response:(name="r")=>{if(isStaticResponse||!validator.response)return"";let code=injectResponse+`
101
+ `;code+=`if(${name} instanceof ElysiaCustomStatusResponse){c.set.status=${name}.code
102
+ ${name}=${name}.response}if(${name} instanceof Response === false && typeof ${name}?.next !== 'function' && !(${name} instanceof ReadableStream))switch(c.set.status){`;for(let[status2,value]of Object.entries(validator.response)){if(code+=`
103
+ case ${status2}:
104
+ `,value.provider==="standard"){code+=`let vare${status2}=validator.response[${status2}].Validate(${name})
105
+ if(vare${status2} instanceof Promise)vare${status2}=await vare${status2}
106
+ if(vare${status2}.issues)throw new ValidationError('response',validator.response[${status2}],${name},${allowUnsafeValidationDetails},vare${status2}.issues)
107
+ ${name}=vare${status2}.value
108
+ c.set.status=${status2}
108
109
  break
109
- `;continue}let q=z.schema?.noValidate===!0;if(!q&&z.schema?.$ref&&z.schema?.$defs){let P=z.schema.$ref,I=typeof P==="string"&&P.includes("/")?P.split("/").pop():P;if(z.schema.$defs[I]?.noValidate===!0)q=!0}let A=q||W,N=({ignoreTryCatch:P=!1}={})=>VX({name:M,schema:z,type:"response",typeAlias:`response[${B}]`,normalize:Z,ignoreTryCatch:P});if(A)G+=N();let D=!A&&Z&&!q;if($&&z.hasTransform&&!q){if(G+=`try{${M}=validator.response[${B}].Encode(${M})
110
- `,!A)G+=N({ignoreTryCatch:!0});G+=`c.set.status=${B}}catch{`+(D?`try{
111
- `+N({ignoreTryCatch:!0})+`${M}=validator.response[${B}].Encode(${M})
112
- }catch{throw new ValidationError('response',validator.response[${B}],${M},${J})}`:`throw new ValidationError('response',validator.response[${B}],${M}),${J}`)+"}"}else{if(!A)G+=N();if(!q)G+=`if(validator.response[${B}].Check(${M})===false)throw new ValidationError('response',validator.response[${B}],${M},${J})
113
- c.set.status=${B}
114
- `}G+=`break
115
- `}return G+"}"}}),V8=(Y)=>{return(Y?.fn??Y).constructor.name==="AsyncFunction"},Pw=/=>\s?response\.clone\(/,_w=/(?:return|=>)\s?\S+\(|a(?:sync|wait)/,t1=(Y)=>{let Z=typeof Y==="object";if(Z&&Y.isAsync!==void 0)return Y.isAsync;let X=Z?Y.fn:Y;if(X.constructor.name==="AsyncFunction"||X.constructor.name==="AsyncGeneratorFunction")return!0;let $=X.toString();if(Pw.test($)){if(Z)Y.isAsync=!1;return!1}let Q=_w.test($);if(Z)Y.isAsync=Q;return Q},TX=(Y)=>{let Z=typeof Y==="object";if(Z&&Y.hasReturn!==void 0)return Y.hasReturn;let X=Z?Y.fn.toString():typeof Y==="string"?Y.toString():Y.toString(),$=X.indexOf(")"),Q=X.indexOf("=>",$);if(Q!==-1){let J=Q+2,M;while(J<X.length&&((M=X.charCodeAt(J))===32||M===9||M===10||M===13))J++;if(J<X.length&&X.charCodeAt(J)!==123){if(Z)Y.hasReturn=!0;return!0}}let W=X.includes("return");if(Z)Y.hasReturn=W;return W},m$=(Y)=>{let Z=Y?.fn??Y;return Z.constructor.name==="AsyncGeneratorFunction"||Z.constructor.name==="GeneratorFunction"},kZ=(Y,Z,X=!1,$=`c.${Z}`)=>`try{${Y}}catch(error){if(error.constructor.name === 'TransformDecodeError'){c.set.status=422
116
- throw error.error ?? new ValidationError('${Z}',validator.${Z},${$},${X})}}`,YQ=I4?"setImmediate":"Promise.resolve().then",jw=({app:Y,path:Z,method:X,hooks:$,validator:Q,handler:W,allowMeta:J=!1,inference:M})=>{let G=Y["~adapter"].composeHandler,B=Y["~adapter"].handler,z=typeof W==="function";if(!z){W=B.mapResponse(W,{headers:Y.setHeaders??{}});let K=W instanceof Response||W?.constructor?.name==="Response"&&typeof W?.clone==="function";if($.parse?.length&&$.transform?.length&&$.beforeHandle?.length&&$.afterHandle?.length){if(K)return Function("a",`"use strict";
117
- return function(){return a.clone()}`)(W);return Function("a",`"use strict";
118
- return function(){return a}`)(W)}if(K){let U=W;W=()=>U.clone()}}let q=z?"handler(c)":"handler",A=!!$.trace?.length,N="";if(M=t$(Object.assign({handler:W},$),M,Y.config.sucrose),G.declare){let K=G.declare(M);if(K)N+=K}if(M.server)N+=`Object.defineProperty(c,'server',{get:function(){return getServer()}})
119
- `;Q.createBody?.(),Q.createQuery?.(),Q.createHeaders?.(),Q.createParams?.(),Q.createCookie?.(),Q.createResponse?.();let D=!!Q.body||!!Q.headers||!!Q.params||!!Q.query||!!Q.cookie||!!Q.response,P=M.query||!!Q.query,I=$.parse?.length===1&&$.parse[0].fn==="none",O=X!==""&&X!=="GET"&&X!=="HEAD"&&(M.body||!!Q.body||!!$.parse?.length)&&!I,j=Y.setHeaders,m=j&&!!Object.keys(j).length,k=M.headers||!!Q.headers||G.preferWebstandardHeaders!==!0&&M.body,u=M.cookie||!!Q.cookie,g=Q.cookie?.config?V6(Q?.cookie?.config,Y.config.cookie):Y.config.cookie,v="",b=()=>{if(v)return v;if(g?.sign){if(g.secrets==="")throw Error(`cookie secret can't be an empty string at (${X}) ${Z}`,{cause:`(${X}) ${Z}`});if(!g.secrets)throw Error(`cookie secret must be defined (${X}) ${Z}`,{cause:`(${X}) ${Z}`});let K=!g.secrets?void 0:typeof g.secrets==="string"?g.secrets:g.secrets[0];if(v+=`const _setCookie = c.set.cookie
120
- if(_setCookie){`,g.sign===!0)v+=`for(const [key, cookie] of Object.entries(_setCookie)){c.set.cookie[key].value=await signCookie(cookie.value,${!K?"undefined":JSON.stringify(K)})}`;else{if(typeof g.sign==="string")g.sign=[g.sign];for(let U of g.sign)v+=`if(_setCookie[${JSON.stringify(U)}]?.value)c.set.cookie[${JSON.stringify(U)}].value=await signCookie(_setCookie[${JSON.stringify(U)}].value,${!K?"undefined":JSON.stringify(K)})
121
- `}v+=`}
122
- `}return v},x=Y.config.normalize,V=Y.config.encodeSchema,T=Y.config.allowUnsafeValidationDetails,y=Ow({normalize:x,validator:Q,encodeSchema:V,isStaticResponse:W instanceof Response,hasSanitize:!!Y.config.sanitize,allowUnsafeValidationDetails:T});if(k)N+=G.headers;if(A)N+=`const id=c[ELYSIA_REQUEST_ID]
123
- `;let c=fX({trace:$.trace,addFn:(K)=>{N+=K}});if(N+="try{",u){let K=(_,F)=>{let R=g?.[_]??F;if(R===void 0)return"";if(!R)return typeof F==="string"?`${_}:"${F}",`:`${_}:${F},`;if(typeof R==="string")return`${_}:${JSON.stringify(R)},`;if(R instanceof Date)return`${_}: new Date(${R.getTime()}),`;return`${_}:${R},`},U=g?`{secrets:${g.secrets!==void 0&&g.secrets!==null?typeof g.secrets==="string"?JSON.stringify(g.secrets):"["+g.secrets.map((_)=>JSON.stringify(_)).join(",")+"]":"undefined"},sign:${g.sign===!0?!0:g.sign!==void 0?typeof g.sign==="string"?JSON.stringify(g.sign):"["+g.sign.map((_)=>JSON.stringify(_)).join(",")+"]":"undefined"},`+K("domain")+K("expires")+K("httpOnly")+K("maxAge")+K("path","/")+K("priority")+K("sameSite")+K("secure")+"}":"undefined";if(k)N+=`
124
- c.cookie=await parseCookie(c.set,c.headers.cookie,${U})
125
- `;else N+=`
126
- c.cookie=await parseCookie(c.set,c.request.headers.get('cookie'),${U})
127
- `}if(P){let K={},U={},_=!1,F=!1;if(Q.query?.schema){let R=xZ(Q.query?.schema),h=E8(R);if(h)for(let[Z1,D1]of Object.entries(h)){if(fY("ArrayQuery",D1))K[Z1]=!0,_=!0;if(fY("ObjectString",D1))U[Z1]=!0,F=!0}}N+=`if(c.qi===-1){c.query=Object.create(null)}else{c.query=parseQueryFromURL(c.url,c.qi+1${_?","+JSON.stringify(K):F?",undefined":""}${F?","+JSON.stringify(U):""})}`}let i=typeof W==="function"&&t1(W),u1=A||$.afterResponse?.length?"c.response=c.responseValue= ":"",s=Object.keys(Q.response??{}),QQ=s.length>1,WQ=s.length===0||s.length===1&&s[0]==="200",J8=u||O||i||!!$.parse?.length||!!$.afterHandle?.some(t1)||!!$.beforeHandle?.some(t1)||!!$.transform?.some(t1)||!!$.mapResponse?.some(t1)||Q.body?.provider==="standard"||Q.headers?.provider==="standard"||Q.query?.provider==="standard"||Q.params?.provider==="standard"||Q.cookie?.provider==="standard"||Object.values(Q.response??{}).find((K)=>K.provider==="standard"),FY=(typeof W==="function"?m$(W):!1)||!!$.beforeHandle?.some(m$)||!!$.afterHandle?.some(m$)||!!$.transform?.some(m$),s1=M.cookie||M.set||k||A||QQ||!WQ||z&&m||FY,P0,SY=(K=!0)=>{if(P0!==void 0)return P0;if(!$.afterResponse?.length&&!A)return"";let U="";U+=`
128
- ${YQ}(async()=>{if(c.responseValue){if(c.responseValue instanceof ElysiaCustomStatusResponse) c.set.status=c.responseValue.code
129
- `+(K?`if(typeof afterHandlerStreamListener!=='undefined')for await(const v of afterHandlerStreamListener){}
110
+ `;continue}let noValidate=value.schema?.noValidate===!0;if(!noValidate&&value.schema?.$ref&&value.schema?.$defs){let refKey=value.schema.$ref,defKey=typeof refKey=="string"&&refKey.includes("/")?refKey.split("/").pop():refKey;value.schema.$defs[defKey]?.noValidate===!0&&(noValidate=!0)}let appliedCleaner=noValidate||hasSanitize,clean=({ignoreTryCatch=!1}={})=>composeCleaner({name,schema:value,type:"response",typeAlias:`response[${status2}]`,normalize,ignoreTryCatch});appliedCleaner&&(code+=clean());let applyErrorCleaner=!appliedCleaner&&normalize&&!noValidate;encodeSchema&&value.hasTransform&&!noValidate?(code+=`try{${name}=validator.response[${status2}].Encode(${name})
111
+ `,appliedCleaner||(code+=clean({ignoreTryCatch:!0})),code+=`c.set.status=${status2}}catch{`+(applyErrorCleaner?`try{
112
+ `+clean({ignoreTryCatch:!0})+`${name}=validator.response[${status2}].Encode(${name})
113
+ }catch{throw new ValidationError('response',validator.response[${status2}],${name},${allowUnsafeValidationDetails})}`:`throw new ValidationError('response',validator.response[${status2}],${name},${allowUnsafeValidationDetails})`)+"}"):(appliedCleaner||(code+=clean()),noValidate||(code+=`if(validator.response[${status2}].Check(${name})===false)throw new ValidationError('response',validator.response[${status2}],${name},${allowUnsafeValidationDetails})
114
+ c.set.status=${status2}
115
+ `)),code+=`break
116
+ `}return code+"}"}}),isAsyncName=(v)=>(v?.fn??v).constructor.name==="AsyncFunction",matchResponseClone=/=>\s?response\.clone\(/,matchFnReturn=/(?:return|=>)\s?\S+\(|a(?:sync|wait)/,isAsync=(v)=>{let isObject=typeof v=="object";if(isObject&&v.isAsync!==void 0)return v.isAsync;let fn=isObject?v.fn:v;if(fn.constructor.name==="AsyncFunction"||fn.constructor.name==="AsyncGeneratorFunction")return!0;let literal=fn.toString();if(matchResponseClone.test(literal))return isObject&&(v.isAsync=!1),!1;let result=matchFnReturn.test(literal);return isObject&&(v.isAsync=result),result},hasReturn=(v)=>{let isObject=typeof v=="object";if(isObject&&v.hasReturn!==void 0)return v.hasReturn;let fnLiteral=isObject?v.fn.toString():v.toString(),parenthesisEnd=fnLiteral.indexOf(")"),arrowIndex=fnLiteral.indexOf("=>",parenthesisEnd);if(arrowIndex!==-1){let afterArrow=arrowIndex+2,charCode;for(;afterArrow<fnLiteral.length&&((charCode=fnLiteral.charCodeAt(afterArrow))===32||charCode===9||charCode===10||charCode===13);)afterArrow++;if(afterArrow<fnLiteral.length&&fnLiteral.charCodeAt(afterArrow)!==123)return isObject&&(v.hasReturn=!0),!0}let result=fnLiteral.includes("return");return isObject&&(v.hasReturn=result),result},isGenerator=(v)=>{let fn=v?.fn??v;return fn.constructor.name==="AsyncGeneratorFunction"||fn.constructor.name==="GeneratorFunction"},coerceTransformDecodeError=(fnLiteral,type,allowUnsafeValidationDetails=!1,value=`c.${type}`)=>`try{${fnLiteral}}catch(error){if(error.constructor.name === 'TransformDecodeError'){c.set.status=422
117
+ throw error.error ?? new ValidationError('${type}',validator.${type},${value},${allowUnsafeValidationDetails})}}`,setImmediateFn=hasSetImmediate?"setImmediate":"Promise.resolve().then",composeHandler=({app,path,method,hooks,validator,handler,allowMeta=!1,inference})=>{let adapter=app["~adapter"].composeHandler,adapterHandler=app["~adapter"].handler,isHandleFn=typeof handler=="function";if(!isHandleFn){handler=adapterHandler.mapResponse(handler,{headers:app.setHeaders??{}});let isResponse=handler instanceof Response||handler?.constructor?.name==="Response"&&typeof handler?.clone=="function";if(hooks.parse?.length&&hooks.transform?.length&&hooks.beforeHandle?.length&&hooks.afterHandle?.length)return isResponse?Function("a",`"use strict";
118
+ return function(){return a.clone()}`)(handler):Function("a",`"use strict";
119
+ return function(){return a}`)(handler);if(isResponse){let response=handler;handler=()=>response.clone()}}let handle=isHandleFn?"handler(c)":"handler",hasTrace=!!hooks.trace?.length,fnLiteral="";if(inference=sucrose(Object.assign({handler},hooks),inference,app.config.sucrose),adapter.declare){let literal=adapter.declare(inference);literal&&(fnLiteral+=literal)}inference.server&&(fnLiteral+=`Object.defineProperty(c,'server',{get:function(){return getServer()}})
120
+ `),validator.createBody?.(),validator.createQuery?.(),validator.createHeaders?.(),validator.createParams?.(),validator.createCookie?.(),validator.createResponse?.();let hasValidation=!!validator.body||!!validator.headers||!!validator.params||!!validator.query||!!validator.cookie||!!validator.response,hasQuery=inference.query||!!validator.query,requestNoBody=hooks.parse?.length===1&&hooks.parse[0].fn==="none",hasBody=method!==""&&method!=="GET"&&method!=="HEAD"&&(inference.body||!!validator.body||!!hooks.parse?.length)&&!requestNoBody,defaultHeaders=app.setHeaders,hasDefaultHeaders=defaultHeaders&&!!Object.keys(defaultHeaders).length,hasHeaders=inference.headers||!!validator.headers||adapter.preferWebstandardHeaders!==!0&&inference.body,hasCookie=inference.cookie||!!validator.cookie,cookieMeta=validator.cookie?.config?mergeCookie(validator?.cookie?.config,app.config.cookie):app.config.cookie,_encodeCookie="",encodeCookie=()=>{if(_encodeCookie)return _encodeCookie;if(cookieMeta?.sign){if(cookieMeta.secrets==="")throw Error(`cookie secret can't be an empty string at (${method}) ${path}`,{cause:`(${method}) ${path}`});if(!cookieMeta.secrets)throw Error(`cookie secret must be defined (${method}) ${path}`,{cause:`(${method}) ${path}`});let secret=cookieMeta.secrets?typeof cookieMeta.secrets=="string"?cookieMeta.secrets:cookieMeta.secrets[0]:void 0;if(_encodeCookie+=`const _setCookie = c.set.cookie
121
+ if(_setCookie){`,cookieMeta.sign===!0)_encodeCookie+=`for(const [key, cookie] of Object.entries(_setCookie)){c.set.cookie[key].value=await signCookie(cookie.value,${secret?JSON.stringify(secret):"undefined"})}`;else{typeof cookieMeta.sign=="string"&&(cookieMeta.sign=[cookieMeta.sign]);for(let name of cookieMeta.sign)_encodeCookie+=`if(_setCookie[${JSON.stringify(name)}]?.value)c.set.cookie[${JSON.stringify(name)}].value=await signCookie(_setCookie[${JSON.stringify(name)}].value,${secret?JSON.stringify(secret):"undefined"})
122
+ `}_encodeCookie+=`}
123
+ `}return _encodeCookie},normalize=app.config.normalize,encodeSchema=app.config.encodeSchema,allowUnsafeValidationDetails=app.config.allowUnsafeValidationDetails,validation=composeValidationFactory({normalize,validator,encodeSchema,isStaticResponse:handler instanceof Response,hasSanitize:!!app.config.sanitize,allowUnsafeValidationDetails});hasHeaders&&(fnLiteral+=adapter.headers),hasTrace&&(fnLiteral+=`const id=c[ELYSIA_REQUEST_ID]
124
+ `);let report=createReport({trace:hooks.trace,addFn:(word)=>{fnLiteral+=word}});if(fnLiteral+="try{",hasCookie){let get=(name,defaultValue)=>{let value=cookieMeta?.[name]??defaultValue;return value===void 0?"":value?typeof value=="string"?`${name}:${JSON.stringify(value)},`:value instanceof Date?`${name}: new Date(${value.getTime()}),`:`${name}:${value},`:typeof defaultValue=="string"?`${name}:"${defaultValue}",`:`${name}:${defaultValue},`},options=cookieMeta?`{secrets:${cookieMeta.secrets!==void 0&&cookieMeta.secrets!==null?typeof cookieMeta.secrets=="string"?JSON.stringify(cookieMeta.secrets):"["+cookieMeta.secrets.map((x)=>JSON.stringify(x)).join(",")+"]":"undefined"},sign:${cookieMeta.sign===!0?!0:cookieMeta.sign!==void 0?typeof cookieMeta.sign=="string"?JSON.stringify(cookieMeta.sign):"["+cookieMeta.sign.map((x)=>JSON.stringify(x)).join(",")+"]":"undefined"},`+get("domain")+get("expires")+get("httpOnly")+get("maxAge")+get("path","/")+get("priority")+get("sameSite")+get("secure")+"}":"undefined";hasHeaders?fnLiteral+=`
125
+ c.cookie=await parseCookie(c.set,c.headers.cookie,${options})
126
+ `:fnLiteral+=`
127
+ c.cookie=await parseCookie(c.set,c.request.headers.get('cookie'),${options})
128
+ `}if(hasQuery){let arrayProperties={},objectProperties={},hasArrayProperty=!1,hasObjectProperty=!1;if(validator.query?.schema){let schema=unwrapImportSchema(validator.query?.schema),properties=getSchemaProperties(schema);if(properties)for(let[key,value]of Object.entries(properties))hasElysiaMeta("ArrayQuery",value)&&(arrayProperties[key]=!0,hasArrayProperty=!0),hasElysiaMeta("ObjectString",value)&&(objectProperties[key]=!0,hasObjectProperty=!0)}fnLiteral+=`if(c.qi===-1){c.query=Object.create(null)}else{c.query=parseQueryFromURL(c.url,c.qi+1${hasArrayProperty?","+JSON.stringify(arrayProperties):hasObjectProperty?",undefined":""}${hasObjectProperty?","+JSON.stringify(objectProperties):""})}`}let isAsyncHandler=typeof handler=="function"&&isAsync(handler),saveResponse=hasTrace||hooks.afterResponse?.length?"c.response=c.responseValue= ":"",responseKeys=Object.keys(validator.response??{}),hasMultipleResponses=responseKeys.length>1,hasSingle200=responseKeys.length===0||responseKeys.length===1&&responseKeys[0]==="200",maybeAsync=hasCookie||hasBody||isAsyncHandler||!!hooks.parse?.length||!!hooks.afterHandle?.some(isAsync)||!!hooks.beforeHandle?.some(isAsync)||!!hooks.transform?.some(isAsync)||!!hooks.mapResponse?.some(isAsync)||validator.body?.provider==="standard"||validator.headers?.provider==="standard"||validator.query?.provider==="standard"||validator.params?.provider==="standard"||validator.cookie?.provider==="standard"||Object.values(validator.response??{}).find((x)=>x.provider==="standard"),maybeStream=(typeof handler=="function"?isGenerator(handler):!1)||!!hooks.beforeHandle?.some(isGenerator)||!!hooks.afterHandle?.some(isGenerator)||!!hooks.transform?.some(isGenerator),hasSet=inference.cookie||inference.set||hasHeaders||hasTrace||hasMultipleResponses||!hasSingle200||isHandleFn&&hasDefaultHeaders||maybeStream,_afterResponse,afterResponse=(hasStream=!0)=>{if(_afterResponse!==void 0)return _afterResponse;if(!hooks.afterResponse?.length&&!hasTrace)return"";let afterResponse2="";afterResponse2+=`
129
+ ${setImmediateFn}(async()=>{if(c.responseValue){if(c.responseValue instanceof ElysiaCustomStatusResponse) c.set.status=c.responseValue.code
130
+ `+(hasStream?`if(typeof afterHandlerStreamListener!=='undefined')for await(const v of afterHandlerStreamListener){}
130
131
  `:"")+`}
131
- `;let _=fX({trace:$.trace,addFn:(F)=>{U+=F}})("afterResponse",{total:$.afterResponse?.length});if($.afterResponse?.length&&$.afterResponse)for(let F=0;F<$.afterResponse.length;F++){let R=_.resolveChild($.afterResponse[F].fn.name),h=t1($.afterResponse[F])?"await ":"";U+=`
132
- ${h}e.afterResponse[${F}](c)
133
- `,R()}return _.resolve(),U+=`})
134
- `,P0=U},q0=(K="r")=>{let U=SY(),_=`${FY&&J8?"await ":""}${s1?"mapResponse":"mapCompactResponse"}(${u1}${K}${s1?",c.set":""}${M8})
135
- `;if(!U)return`return ${_}`;return`const _res=${_}`+U+"return _res"},M8=FY&&G.mapResponseContext?`,${G.mapResponseContext}`:"";if(A||M.route)N+=`c.route=\`${Z}\`
136
- `;if(A||$.afterResponse?.length)N+=`let afterHandlerStreamListener
137
- `;let e8=c("parse",{total:$.parse?.length});if(O){let K=!!$.parse?.length||M.body||Q.body;if(G.parser.declare)N+=G.parser.declare;N+=`
138
- try{`;let U=typeof $.parse==="string"?$.parse:Array.isArray($.parse)&&$.parse.length===1?typeof $.parse[0]==="string"?$.parse[0]:typeof $.parse[0].fn==="string"?$.parse[0].fn:void 0:void 0;if(!U&&Q.body&&!$.parse?.length){let _=Q.body.schema;if(_&&_.anyOf&&_[L]==="Union"&&_.anyOf?.length===2&&_.anyOf?.find((F)=>F[L]==="ElysiaForm"))U="formdata"}if(U&&Lw.includes(U)){let _=c("parse",{total:$.parse?.length}),F=!!Q.body?.isOptional;switch(U){case"json":case"application/json":N+=G.parser.json(F);break;case"text":case"text/plain":N+=G.parser.text(F);break;case"urlencoded":case"application/x-www-form-urlencoded":N+=G.parser.urlencoded(F);break;case"arrayBuffer":case"application/octet-stream":N+=G.parser.arrayBuffer(F);break;case"formdata":case"multipart/form-data":N+=G.parser.formData(F);break;default:if(U[0]in Y["~parser"])N+=k?"let contentType = c.headers['content-type']":"let contentType = c.request.headers.get('content-type')",N+=`
132
+ `;let reporter=createReport({trace:hooks.trace,addFn:(word)=>{afterResponse2+=word}})("afterResponse",{total:hooks.afterResponse?.length});if(hooks.afterResponse?.length&&hooks.afterResponse)for(let i=0;i<hooks.afterResponse.length;i++){let endUnit=reporter.resolveChild(hooks.afterResponse[i].fn.name),prefix=isAsync(hooks.afterResponse[i])?"await ":"";afterResponse2+=`
133
+ ${prefix}e.afterResponse[${i}](c)
134
+ `,endUnit()}return reporter.resolve(),afterResponse2+=`})
135
+ `,_afterResponse=afterResponse2},mapResponse=(r="r")=>{let after=afterResponse(),response=`${maybeStream&&maybeAsync?"await ":""}${hasSet?"mapResponse":"mapCompactResponse"}(${saveResponse}${r}${hasSet?",c.set":""}${mapResponseContext})
136
+ `;return after?`const _res=${response}`+after+"return _res":`return ${response}`},mapResponseContext=adapter.mapResponseContext?`,${adapter.mapResponseContext}`:"";(hasTrace||inference.route)&&(fnLiteral+=`c.route=\`${path}\`
137
+ `),(hasTrace||hooks.afterResponse?.length)&&(fnLiteral+=`let afterHandlerStreamListener
138
+ `);let parseReporter=report("parse",{total:hooks.parse?.length});if(hasBody){let hasBodyInference=!!hooks.parse?.length||inference.body||validator.body;adapter.parser.declare&&(fnLiteral+=adapter.parser.declare),fnLiteral+=`
139
+ try{`;let parser=typeof hooks.parse=="string"?hooks.parse:Array.isArray(hooks.parse)&&hooks.parse.length===1?typeof hooks.parse[0]=="string"?hooks.parse[0]:typeof hooks.parse[0].fn=="string"?hooks.parse[0].fn:void 0:void 0;if(!parser&&validator.body&&!hooks.parse?.length){let schema=validator.body.schema;schema&&schema.anyOf&&schema[Kind]==="Union"&&schema.anyOf?.length===2&&schema.anyOf?.find((x)=>x[Kind]==="ElysiaForm")&&(parser="formdata")}if(parser&&defaultParsers.includes(parser)){let reporter=report("parse",{total:hooks.parse?.length}),isOptionalBody=!!validator.body?.isOptional;switch(parser){case"json":case"application/json":fnLiteral+=adapter.parser.json(isOptionalBody);break;case"text":case"text/plain":fnLiteral+=adapter.parser.text(isOptionalBody);break;case"urlencoded":case"application/x-www-form-urlencoded":fnLiteral+=adapter.parser.urlencoded(isOptionalBody);break;case"arrayBuffer":case"application/octet-stream":fnLiteral+=adapter.parser.arrayBuffer(isOptionalBody);break;case"formdata":case"multipart/form-data":fnLiteral+=adapter.parser.formData(isOptionalBody);break;default:parser in app["~parser"]&&(fnLiteral+=hasHeaders?"let contentType = c.headers['content-type']":"let contentType = c.request.headers.get('content-type')",fnLiteral+=`
139
140
  if(contentType){const index=contentType.indexOf(';')
140
141
  if(index!==-1)contentType=contentType.substring(0,index)}
141
142
  else{contentType=''}c.contentType=contentType
142
- let result=parser['${U}'](c, contentType)
143
+ let result=parser['${parser}'](c, contentType)
143
144
  if(result instanceof Promise)result=await result
144
145
  if(result instanceof ElysiaCustomStatusResponse)throw result
145
146
  if(result!==undefined)c.body=result
146
147
  delete c.contentType
147
- `;break}_.resolve()}else if(K){N+=`
148
- `,N+=`let contentType
149
- if(c.request.body)`,N+=k?`contentType=c.headers['content-type']
148
+ `);break}reporter.resolve()}else if(hasBodyInference){fnLiteral+=`
149
+ `,fnLiteral+=`let contentType
150
+ if(c.request.body)`,fnLiteral+=hasHeaders?`contentType=c.headers['content-type']
150
151
  `:`contentType=c.request.headers.get('content-type')
151
- `;let _=!1;if($.parse?.length)N+=`if(contentType){
152
+ `;let hasDefaultParser=!1;if(hooks.parse?.length)fnLiteral+=`if(contentType){
152
153
  const index=contentType.indexOf(';')
153
154
 
154
155
  if(index!==-1)contentType=contentType.substring(0,index)}else{contentType=''}let used=false
155
156
  c.contentType=contentType
156
- `;else{_=!0;let R=!!Q.body?.isOptional;N+=`if(contentType)switch(contentType.charCodeAt(12)){
157
- case 106:`+G.parser.json(R)+`break
158
- case 120:`+G.parser.urlencoded(R)+`break
159
- case 111:`+G.parser.arrayBuffer(R)+`break
160
- case 114:`+G.parser.formData(R)+`break
161
- default:if(contentType.charCodeAt(0)===116){`+G.parser.text(R)+`}break
162
- }`}let F=c("parse",{total:$.parse?.length});if($.parse)for(let R=0;R<$.parse.length;R++){let h=`bo${R}`;if(R!==0)N+=`
163
- if(!used){`;if(typeof $.parse[R].fn==="string"){let Z1=F.resolveChild($.parse[R].fn),D1=!!Q.body?.isOptional;switch($.parse[R].fn){case"json":case"application/json":_=!0,N+=G.parser.json(D1);break;case"text":case"text/plain":_=!0,N+=G.parser.text(D1);break;case"urlencoded":case"application/x-www-form-urlencoded":_=!0,N+=G.parser.urlencoded(D1);break;case"arrayBuffer":case"application/octet-stream":_=!0,N+=G.parser.arrayBuffer(D1);break;case"formdata":case"multipart/form-data":_=!0,N+=G.parser.formData(D1);break;default:N+=`let ${h}=parser['${$.parse[R].fn}'](c,contentType)
164
- if(${h} instanceof Promise)${h}=await ${h}
165
- if(${h}!==undefined){c.body=${h};used=true;}
166
- `}Z1()}else{let Z1=F.resolveChild($.parse[R].fn.name);N+=`let ${h}=e.parse[${R}]
167
- ${h}=${h}(c,contentType)
168
- if(${h} instanceof Promise)${h}=await ${h}
169
- if(${h}!==undefined){c.body=${h};used=true}`,Z1()}if(R!==0)N+="}";if(_)break}if(F.resolve(),!_){let R=!!Q.body?.isOptional;if($.parse?.length)N+=`
157
+ `;else{hasDefaultParser=!0;let isOptionalBody=!!validator.body?.isOptional;fnLiteral+=`if(contentType)switch(contentType.charCodeAt(12)){
158
+ case 106:`+adapter.parser.json(isOptionalBody)+`break
159
+ case 120:`+adapter.parser.urlencoded(isOptionalBody)+`break
160
+ case 111:`+adapter.parser.arrayBuffer(isOptionalBody)+`break
161
+ case 114:`+adapter.parser.formData(isOptionalBody)+`break
162
+ default:if(contentType.charCodeAt(0)===116){`+adapter.parser.text(isOptionalBody)+`}break
163
+ }`}let reporter=report("parse",{total:hooks.parse?.length});if(hooks.parse)for(let i=0;i<hooks.parse.length;i++){let name=`bo${i}`;if(i!==0&&(fnLiteral+=`
164
+ if(!used){`),typeof hooks.parse[i].fn=="string"){let endUnit=reporter.resolveChild(hooks.parse[i].fn),isOptionalBody=!!validator.body?.isOptional;switch(hooks.parse[i].fn){case"json":case"application/json":hasDefaultParser=!0,fnLiteral+=adapter.parser.json(isOptionalBody);break;case"text":case"text/plain":hasDefaultParser=!0,fnLiteral+=adapter.parser.text(isOptionalBody);break;case"urlencoded":case"application/x-www-form-urlencoded":hasDefaultParser=!0,fnLiteral+=adapter.parser.urlencoded(isOptionalBody);break;case"arrayBuffer":case"application/octet-stream":hasDefaultParser=!0,fnLiteral+=adapter.parser.arrayBuffer(isOptionalBody);break;case"formdata":case"multipart/form-data":hasDefaultParser=!0,fnLiteral+=adapter.parser.formData(isOptionalBody);break;default:fnLiteral+=`let ${name}=parser['${hooks.parse[i].fn}'](c,contentType)
165
+ if(${name} instanceof Promise)${name}=await ${name}
166
+ if(${name}!==undefined){c.body=${name};used=true;}
167
+ `}endUnit()}else{let endUnit=reporter.resolveChild(hooks.parse[i].fn.name);fnLiteral+=`let ${name}=e.parse[${i}]
168
+ ${name}=${name}(c,contentType)
169
+ if(${name} instanceof Promise)${name}=await ${name}
170
+ if(${name}!==undefined){c.body=${name};used=true}`,endUnit()}if(i!==0&&(fnLiteral+="}"),hasDefaultParser)break}if(reporter.resolve(),!hasDefaultParser){let isOptionalBody=!!validator.body?.isOptional;hooks.parse?.length&&(fnLiteral+=`
170
171
  if(!used){
171
- `;N+=`switch(contentType){case 'application/json':
172
- `+G.parser.json(R)+`break
173
- case 'text/plain':`+G.parser.text(R)+`break
174
- case 'application/x-www-form-urlencoded':`+G.parser.urlencoded(R)+`break
175
- case 'application/octet-stream':`+G.parser.arrayBuffer(R)+`break
176
- case 'multipart/form-data':`+G.parser.formData(R)+`break
177
- `;for(let h of Object.keys(Y["~parser"]))N+=`case '${h}':let bo${h}=parser['${h}'](c,contentType)
178
- if(bo${h} instanceof Promise)bo${h}=await bo${h}
179
- if(bo${h} instanceof ElysiaCustomStatusResponse){`+q0(`bo${h}`)+`}if(bo${h}!==undefined)c.body=bo${h}
172
+ `),fnLiteral+=`switch(contentType){case 'application/json':
173
+ `+adapter.parser.json(isOptionalBody)+`break
174
+ case 'text/plain':`+adapter.parser.text(isOptionalBody)+`break
175
+ case 'application/x-www-form-urlencoded':`+adapter.parser.urlencoded(isOptionalBody)+`break
176
+ case 'application/octet-stream':`+adapter.parser.arrayBuffer(isOptionalBody)+`break
177
+ case 'multipart/form-data':`+adapter.parser.formData(isOptionalBody)+`break
178
+ `;for(let key of Object.keys(app["~parser"]))fnLiteral+=`case '${key}':let bo${key}=parser['${key}'](c,contentType)
179
+ if(bo${key} instanceof Promise)bo${key}=await bo${key}
180
+ if(bo${key} instanceof ElysiaCustomStatusResponse){`+mapResponse(`bo${key}`)+`}if(bo${key}!==undefined)c.body=bo${key}
180
181
  break
181
- `;if($.parse?.length)N+="}";N+="}"}if($.parse?.length)N+=`
182
- delete c.contentType`}N+="}catch(error){throw new ParseError(error)}"}if(e8.resolve(),$?.transform||A){let K=c("transform",{total:$.transform?.length});if($.transform?.length){N+=`let transformed
183
- `;for(let U=0;U<$.transform.length;U++){let _=$.transform[U],F=K.resolveChild(_.fn.name);if(N+=t1(_)?`transformed=await e.transform[${U}](c)
184
- `:`transformed=e.transform[${U}](c)
185
- `,_.subType==="mapDerive")N+="if(transformed instanceof ElysiaCustomStatusResponse){"+q0("transformed")+`}else{transformed.request=c.request
182
+ `;hooks.parse?.length&&(fnLiteral+="}"),fnLiteral+="}"}hooks.parse?.length&&(fnLiteral+=`
183
+ delete c.contentType`)}fnLiteral+="}catch(error){throw new ParseError(error)}"}if(parseReporter.resolve(),hooks?.transform||hasTrace){let reporter=report("transform",{total:hooks.transform?.length});if(hooks.transform?.length){fnLiteral+=`let transformed
184
+ `;for(let i=0;i<hooks.transform.length;i++){let transform=hooks.transform[i],endUnit=reporter.resolveChild(transform.fn.name);fnLiteral+=isAsync(transform)?`transformed=await e.transform[${i}](c)
185
+ `:`transformed=e.transform[${i}](c)
186
+ `,transform.subType==="mapDerive"?fnLiteral+="if(transformed instanceof ElysiaCustomStatusResponse){"+mapResponse("transformed")+`}else{transformed.request=c.request
186
187
  transformed.store=c.store
187
188
  transformed.qi=c.qi
188
189
  transformed.path=c.path
@@ -190,51 +191,51 @@ transformed.url=c.url
190
191
  transformed.redirect=c.redirect
191
192
  transformed.set=c.set
192
193
  transformed.error=c.error
193
- c=transformed}`;else N+="if(transformed instanceof ElysiaCustomStatusResponse){"+q0("transformed")+`}else Object.assign(c,transformed)
194
- `;F()}}K.resolve()}let mY=[];if(Q){if(Q.headers){if(Q.headers.hasDefault)for(let[K,U]of Object.entries(P1.Default(Q.headers.schema,{}))){let _=typeof U==="object"?JSON.stringify(U):typeof U==="string"?`'${U}'`:U;if(_!==void 0)N+=`c.headers['${K}']??=${_}
195
- `}if(N+=VX({name:"c.headers",schema:Q.headers,type:"headers",normalize:x}),Q.headers.isOptional)N+="if(isNotEmpty(c.headers)){";if(Q.headers?.provider==="standard")N+=`let vah=validator.headers.Check(c.headers)
194
+ c=transformed}`:fnLiteral+="if(transformed instanceof ElysiaCustomStatusResponse){"+mapResponse("transformed")+`}else Object.assign(c,transformed)
195
+ `,endUnit()}}reporter.resolve()}let fileUnions=[];if(validator){if(validator.headers){if(validator.headers.hasDefault)for(let[key,value]of Object.entries(Default3(validator.headers.schema,{}))){let parsed=typeof value=="object"||typeof value=="string"?JSON.stringify(value):value;parsed!==void 0&&(fnLiteral+=`c.headers[${JSON.stringify(key)}]??=${parsed}
196
+ `)}fnLiteral+=composeCleaner({name:"c.headers",schema:validator.headers,type:"headers",normalize}),validator.headers.isOptional&&(fnLiteral+="if(isNotEmpty(c.headers)){"),validator.headers?.provider==="standard"?fnLiteral+=`let vah=validator.headers.Validate(c.headers)
196
197
  if(vah instanceof Promise)vah=await vah
197
- if(vah.issues){`+y.validate("headers",void 0,"vah.issues")+`}else{c.headers=vah.value}
198
- `;else if(Q.headers?.schema?.noValidate!==!0)N+="if(validator.headers.Check(c.headers) === false){"+y.validate("headers")+"}";if(Q.headers.hasTransform)N+=kZ(`c.headers=validator.headers.Decode(c.headers)
199
- `,"headers",T);if(Q.headers.isOptional)N+="}"}if(Q.params){if(Q.params.hasDefault)for(let[K,U]of Object.entries(P1.Default(Q.params.schema,{}))){let _=typeof U==="object"?JSON.stringify(U):typeof U==="string"?`'${U}'`:U;if(_!==void 0)N+=`c.params['${K}']??=${_}
200
- `}if(Q.params.provider==="standard")N+=`let vap=validator.params.Check(c.params)
198
+ if(vah.issues){`+validation.validate("headers",void 0,"vah.issues")+`}else{c.headers=vah.value}
199
+ `:validator.headers?.schema?.noValidate!==!0&&(fnLiteral+="if(validator.headers.Check(c.headers) === false){"+validation.validate("headers")+"}"),validator.headers.hasTransform&&(fnLiteral+=coerceTransformDecodeError(`c.headers=validator.headers.Decode(c.headers)
200
+ `,"headers",allowUnsafeValidationDetails)),validator.headers.isOptional&&(fnLiteral+="}")}if(validator.params){if(validator.params.hasDefault)for(let[key,value]of Object.entries(Default3(validator.params.schema,{}))){let parsed=typeof value=="object"||typeof value=="string"?JSON.stringify(value):value;parsed!==void 0&&(fnLiteral+=`c.params[${JSON.stringify(key)}]??=${parsed}
201
+ `)}validator.params.provider==="standard"?fnLiteral+=`let vap=validator.params.Validate(c.params)
201
202
  if(vap instanceof Promise)vap=await vap
202
- if(vap.issues){`+y.validate("params",void 0,"vap.issues")+`}else{c.params=vap.value}
203
- `;else if(Q.params?.schema?.noValidate!==!0)N+="if(validator.params.Check(c.params)===false){"+y.validate("params")+"}";if(Q.params.hasTransform)N+=kZ(`c.params=validator.params.Decode(c.params)
204
- `,"params",T)}if(Q.query){if(L in Q.query?.schema&&Q.query.hasDefault)for(let[K,U]of Object.entries(P1.Default(Q.query.schema,{}))){let _=typeof U==="object"?JSON.stringify(U):typeof U==="string"?`'${U}'`:U;if(_!==void 0)N+=`if(c.query['${K}']===undefined)c.query['${K}']=${_}
205
- `}if(N+=VX({name:"c.query",schema:Q.query,type:"query",normalize:x}),Q.query.isOptional)N+="if(isNotEmpty(c.query)){";if(Q.query.provider==="standard")N+=`let vaq=validator.query.Check(c.query)
203
+ if(vap.issues){`+validation.validate("params",void 0,"vap.issues")+`}else{c.params=vap.value}
204
+ `:validator.params?.schema?.noValidate!==!0&&(fnLiteral+="if(validator.params.Check(c.params)===false){"+validation.validate("params")+"}"),validator.params.hasTransform&&(fnLiteral+=coerceTransformDecodeError(`c.params=validator.params.Decode(c.params)
205
+ `,"params",allowUnsafeValidationDetails))}if(validator.query){if(Kind in validator.query?.schema&&validator.query.hasDefault)for(let[key,value]of Object.entries(Default3(validator.query.schema,{}))){let parsed=typeof value=="object"||typeof value=="string"?JSON.stringify(value):value;parsed!==void 0&&(fnLiteral+=`if(c.query[${JSON.stringify(key)}]===undefined)c.query[${JSON.stringify(key)}]=${parsed}
206
+ `)}fnLiteral+=composeCleaner({name:"c.query",schema:validator.query,type:"query",normalize}),validator.query.isOptional&&(fnLiteral+="if(isNotEmpty(c.query)){"),validator.query.provider==="standard"?fnLiteral+=`let vaq=validator.query.Validate(c.query)
206
207
  if(vaq instanceof Promise)vaq=await vaq
207
- if(vaq.issues){`+y.validate("query",void 0,"vaq.issues")+`}else{c.query=vaq.value}
208
- `;else if(Q.query?.schema?.noValidate!==!0)N+="if(validator.query.Check(c.query)===false){"+y.validate("query")+"}";if(Q.query.hasTransform)N+=kZ(`c.query=validator.query.Decode(c.query)
209
- `,"query",T),N+=kZ(`c.query=validator.query.Decode(c.query)
210
- `,"query",T);if(Q.query.isOptional)N+="}"}if(O&&Q.body){if(Q.body.hasTransform||Q.body.isOptional)N+=`const isNotEmptyObject=c.body&&(typeof c.body==="object"&&(isNotEmpty(c.body)||c.body instanceof ArrayBuffer))
211
- `;let K=Aw(Q.body.schema),U=!1;if(Q.body.hasDefault){let _=P1.Default(Q.body.schema,Q.body.schema.type==="object"||xZ(Q.body.schema)[L]==="Object"?{}:void 0),F=xZ(Q.body.schema);if(!K&&_&&typeof _==="object"&&(O0("File",F)||O0("Files",F))){U=!0;for(let[h,Z1]of Object.entries(_))if(Z1==="File"||Z1==="Files")delete _[h];if(!x1(_))_=void 0}let R=typeof _==="object"?JSON.stringify(_):typeof _==="string"?`'${_}'`:_;if(_!==void 0&&_!==null)if(Array.isArray(_))N+=`if(!c.body)c.body=${R}
212
- `;else if(typeof _==="object")N+=`c.body=Object.assign(${R},c.body)
213
- `;else N+=`c.body=${R}
214
- `;if(N+=VX({name:"c.body",schema:Q.body,type:"body",normalize:x}),Q.body.provider==="standard")N+=`let vab=validator.body.Check(c.body)
208
+ if(vaq.issues){`+validation.validate("query",void 0,"vaq.issues")+`}else{c.query=vaq.value}
209
+ `:validator.query?.schema?.noValidate!==!0&&(fnLiteral+="if(validator.query.Check(c.query)===false){"+validation.validate("query")+"}"),validator.query.hasTransform&&(fnLiteral+=coerceTransformDecodeError(`c.query=validator.query.Decode(c.query)
210
+ `,"query",allowUnsafeValidationDetails),fnLiteral+=coerceTransformDecodeError(`c.query=validator.query.Decode(c.query)
211
+ `,"query",allowUnsafeValidationDetails)),validator.query.isOptional&&(fnLiteral+="}")}if(hasBody&&validator.body){(validator.body.hasTransform||validator.body.isOptional)&&(fnLiteral+=`const isNotEmptyObject=c.body&&(typeof c.body==="object"&&(isNotEmpty(c.body)||c.body instanceof ArrayBuffer))
212
+ `);let hasUnion=isUnion(validator.body.schema),hasNonUnionFileWithDefault=!1;if(validator.body.hasDefault){let value=Default3(validator.body.schema,validator.body.schema.type==="object"||unwrapImportSchema(validator.body.schema)[Kind]==="Object"?{}:void 0),schema=unwrapImportSchema(validator.body.schema);if(!hasUnion&&value&&typeof value=="object"&&(hasType("File",schema)||hasType("Files",schema))){hasNonUnionFileWithDefault=!0;for(let[k,v]of Object.entries(value))(v==="File"||v==="Files")&&delete value[k];isNotEmpty(value)||(value=void 0)}let parsed=typeof value=="object"||typeof value=="string"?JSON.stringify(value):value;value!=null&&(Array.isArray(value)?fnLiteral+=`if(!c.body)c.body=${parsed}
213
+ `:typeof value=="object"?fnLiteral+=`c.body=Object.assign(${parsed},c.body)
214
+ `:fnLiteral+=`c.body=${parsed}
215
+ `),fnLiteral+=composeCleaner({name:"c.body",schema:validator.body,type:"body",normalize}),validator.body.provider==="standard"?fnLiteral+=`let vab=validator.body.Validate(c.body)
215
216
  if(vab instanceof Promise)vab=await vab
216
- if(vab.issues){`+y.validate("body",void 0,"vab.issues")+`}else{c.body=vab.value}
217
- `;else if(Q.body?.schema?.noValidate!==!0)if(Q.body.isOptional)N+="if(isNotEmptyObject&&validator.body.Check(c.body)===false){"+y.validate("body")+"}";else N+="if(validator.body.Check(c.body)===false){"+y.validate("body")+"}"}else if(N+=VX({name:"c.body",schema:Q.body,type:"body",normalize:x}),Q.body.provider==="standard")N+=`let vab=validator.body.Check(c.body)
217
+ if(vab.issues){`+validation.validate("body",void 0,"vab.issues")+`}else{c.body=vab.value}
218
+ `:validator.body?.schema?.noValidate!==!0&&(validator.body.isOptional?fnLiteral+="if(isNotEmptyObject&&validator.body.Check(c.body)===false){"+validation.validate("body")+"}":fnLiteral+="if(validator.body.Check(c.body)===false){"+validation.validate("body")+"}")}else fnLiteral+=composeCleaner({name:"c.body",schema:validator.body,type:"body",normalize}),validator.body.provider==="standard"?fnLiteral+=`let vab=validator.body.Validate(c.body)
218
219
  if(vab instanceof Promise)vab=await vab
219
- if(vab.issues){`+y.validate("body",void 0,"vab.issues")+`}else{c.body=vab.value}
220
- `;else if(Q.body?.schema?.noValidate!==!0)if(Q.body.isOptional)N+="if(isNotEmptyObject&&validator.body.Check(c.body)===false){"+y.validate("body")+"}";else N+="if(validator.body.Check(c.body)===false){"+y.validate("body")+"}";if(Q.body.hasTransform)N+=kZ(`if(isNotEmptyObject)c.body=validator.body.Decode(c.body)
221
- `,"body",T);if(K&&Q.body.schema.anyOf?.length){let _=Object.values(Q.body.schema.anyOf);for(let F=0;F<_.length;F++){let R=_[F];if(O0("File",R)||O0("Files",R)){let h=$0(R,{modules:Y.definitions.typebox,dynamic:!Y.config.aot,models:Y.definitions.type,normalize:Y.config.normalize,additionalCoerce:y6(),sanitize:()=>Y.config.sanitize});if(h){let Z1=mY.length===0,D1=E8(h.schema)??E8(R);if(!D1)continue;let E1=Object.entries(D1),f1=Z1?`
222
- `:" else ";f1+=`if(fileUnions[${mY.length}].Check(c.body)){`;let l0="",G8=0;for(let pZ=0;pZ<E1.length;pZ++){let[p6,cX]=E1[pZ];if(!cX.extension||cX[L]!=="File"&&cX[L]!=="Files")continue;if(G8)l0+=",";l0+=`fileType(c.body.${p6},${JSON.stringify(cX.extension)},'body.${p6}')`,G8++}if(l0){if(G8===1)f1+=`await ${l0}
223
- `;else if(G8>1)f1+=`await Promise.all([${l0}])
224
- `;f1+="}",N+=f1,mY.push(h)}}}}}else if(U||!K&&(O0("File",xZ(Q.body.schema))||O0("Files",xZ(Q.body.schema)))){let _="",F=E8(xZ(Q.body.schema)),R=0;if(F)for(let[h,Z1]of Object.entries(F)){if(!Z1.extension||Z1[L]!=="File"&&Z1[L]!=="Files")continue;if(R)_+=",";_+=`fileType(c.body.${h},${JSON.stringify(Z1.extension)},'body.${h}')`,R++}if(R)N+=`
225
- `;if(R===1)N+=`await ${_}
226
- `;else if(R>1)N+=`await Promise.all([${_}])
227
- `}}if(Q.cookie){if(Q.cookie.config=V6(Q.cookie.config,Q.cookie?.config??{}),N+=`let cookieValue={}
220
+ if(vab.issues){`+validation.validate("body",void 0,"vab.issues")+`}else{c.body=vab.value}
221
+ `:validator.body?.schema?.noValidate!==!0&&(validator.body.isOptional?fnLiteral+="if(isNotEmptyObject&&validator.body.Check(c.body)===false){"+validation.validate("body")+"}":fnLiteral+="if(validator.body.Check(c.body)===false){"+validation.validate("body")+"}");if(validator.body.hasTransform&&(fnLiteral+=coerceTransformDecodeError(`if(isNotEmptyObject)c.body=validator.body.Decode(c.body)
222
+ `,"body",allowUnsafeValidationDetails)),hasUnion&&validator.body.schema.anyOf?.length){let iterator=Object.values(validator.body.schema.anyOf);for(let i=0;i<iterator.length;i++){let type=iterator[i];if(hasType("File",type)||hasType("Files",type)){let candidate=getSchemaValidator(type,{modules:app.definitions.typebox,dynamic:!app.config.aot,models:app.definitions.type,normalize:app.config.normalize,additionalCoerce:coercePrimitiveRoot(),sanitize:()=>app.config.sanitize});if(candidate){let isFirst=fileUnions.length===0,properties=getSchemaProperties(candidate.schema)??getSchemaProperties(type);if(!properties)continue;let iterator2=Object.entries(properties),validator2=isFirst?`
223
+ `:" else ";validator2+=`if(fileUnions[${fileUnions.length}].Check(c.body)){`;let validateFile="",validatorLength=0;for(let i2=0;i2<iterator2.length;i2++){let[k,v]=iterator2[i2];!v.extension||v[Kind]!=="File"&&v[Kind]!=="Files"||(validatorLength&&(validateFile+=","),validateFile+=`fileType(c.body.${k},${JSON.stringify(v.extension)},'body.${k}')`,validatorLength++)}validateFile&&(validatorLength===1?validator2+=`await ${validateFile}
224
+ `:validatorLength>1&&(validator2+=`await Promise.all([${validateFile}])
225
+ `),validator2+="}",fnLiteral+=validator2,fileUnions.push(candidate))}}}}else if(hasNonUnionFileWithDefault||!hasUnion&&(hasType("File",unwrapImportSchema(validator.body.schema))||hasType("Files",unwrapImportSchema(validator.body.schema)))){let validateFile="",bodyProperties=getSchemaProperties(unwrapImportSchema(validator.body.schema)),i=0;if(bodyProperties)for(let[k,v]of Object.entries(bodyProperties))!v.extension||v[Kind]!=="File"&&v[Kind]!=="Files"||(i&&(validateFile+=","),validateFile+=`fileType(c.body.${k},${JSON.stringify(v.extension)},'body.${k}')`,i++);i&&(fnLiteral+=`
226
+ `),i===1?fnLiteral+=`await ${validateFile}
227
+ `:i>1&&(fnLiteral+=`await Promise.all([${validateFile}])
228
+ `)}}validator.cookie&&(validator.cookie.config=mergeCookie(validator.cookie.config,app.config.cookie??{}),fnLiteral+=`let cookieValue={}
228
229
  for(const [key,value] of Object.entries(c.cookie))cookieValue[key]=value.value
229
- `,Q.cookie.isOptional)N+="if(isNotEmpty(c.cookie)){";if(Q.cookie.provider==="standard")N+=`let vac=validator.cookie.Check(cookieValue)
230
+ `,validator.cookie.isOptional&&(fnLiteral+="if(isNotEmpty(c.cookie)){"),validator.cookie.provider==="standard"?(fnLiteral+=`let vac=validator.cookie.Validate(cookieValue)
230
231
  if(vac instanceof Promise)vac=await vac
231
- if(vac.issues){`+y.validate("cookie",void 0,"vac.issues")+`}else{cookieValue=vac.value}
232
- `,N+=`for(const k of Object.keys(cookieValue))c.cookie[k].value=cookieValue[k]
233
- `;else if(Q.body?.schema?.noValidate!==!0){if(N+="if(validator.cookie.Check(cookieValue)===false){"+y.validate("cookie","cookieValue")+"}",Q.cookie.hasTransform)N+=kZ("for(const [key,value] of Object.entries(validator.cookie.Decode(cookieValue))){c.cookie[key].cookie.value = value}","cookie",T)}if(Q.cookie.isOptional)N+="}"}}if($?.beforeHandle||A){let K=c("beforeHandle",{total:$.beforeHandle?.length}),U=!1;if($.beforeHandle?.length)for(let _=0;_<$.beforeHandle.length;_++){let F=$.beforeHandle[_],R=K.resolveChild(F.fn.name),h=TX(F);if(F.subType==="resolve"||F.subType==="mapResolve"){if(!U)U=!0,N+=`
232
+ if(vac.issues){`+validation.validate("cookie",void 0,"vac.issues")+`}else{cookieValue=vac.value}
233
+ `,fnLiteral+=`for(const k of Object.keys(cookieValue))c.cookie[k].value=cookieValue[k]
234
+ `):validator.cookie?.schema?.noValidate!==!0&&(fnLiteral+="if(validator.cookie.Check(cookieValue)===false){"+validation.validate("cookie","cookieValue")+"}",validator.cookie.hasTransform&&(fnLiteral+=coerceTransformDecodeError("for(const [key,value] of Object.entries(validator.cookie.Decode(cookieValue))){c.cookie[key].value = value}","cookie",allowUnsafeValidationDetails))),validator.cookie.isOptional&&(fnLiteral+="}"))}if(hooks?.beforeHandle||hasTrace){let reporter=report("beforeHandle",{total:hooks.beforeHandle?.length}),hasResolve=!1;if(hooks.beforeHandle?.length)for(let i=0;i<hooks.beforeHandle.length;i++){let beforeHandle=hooks.beforeHandle[i],endUnit=reporter.resolveChild(beforeHandle.fn.name),returning=hasReturn(beforeHandle);if(beforeHandle.subType==="resolve"||beforeHandle.subType==="mapResolve")hasResolve||(hasResolve=!0,fnLiteral+=`
234
235
  let resolved
235
- `;if(N+=t1(F)?`resolved=await e.beforeHandle[${_}](c);
236
- `:`resolved=e.beforeHandle[${_}](c);
237
- `,F.subType==="mapResolve")N+="if(resolved instanceof ElysiaCustomStatusResponse){"+q0("resolved")+`}else{resolved.request=c.request
236
+ `),fnLiteral+=isAsync(beforeHandle)?`resolved=await e.beforeHandle[${i}](c);
237
+ `:`resolved=e.beforeHandle[${i}](c);
238
+ `,beforeHandle.subType==="mapResolve"?fnLiteral+="if(resolved instanceof ElysiaCustomStatusResponse){"+mapResponse("resolved")+`}else{resolved.request=c.request
238
239
  resolved.store=c.store
239
240
  resolved.qi=c.qi
240
241
  resolved.path=c.path
@@ -242,110 +243,110 @@ resolved.url=c.url
242
243
  resolved.redirect=c.redirect
243
244
  resolved.set=c.set
244
245
  resolved.error=c.error
245
- c=resolved}`;else N+="if(resolved instanceof ElysiaCustomStatusResponse){"+q0("resolved")+`}else Object.assign(c, resolved)
246
- `;R()}else if(!h)N+=t1(F)?`await e.beforeHandle[${_}](c)
247
- `:`e.beforeHandle[${_}](c)
248
- `,R();else{if(N+=t1(F)?`be=await e.beforeHandle[${_}](c)
249
- `:`be=e.beforeHandle[${_}](c)
250
- `,R("be"),N+="if(be!==undefined){",K.resolve(),$.afterHandle?.length||A){c("handle",{name:z?W.name:void 0}).resolve();let D1=c("afterHandle",{total:$.afterHandle?.length});if($.afterHandle?.length)for(let E1=0;E1<$.afterHandle.length;E1++){let f1=$.afterHandle[E1],l0=TX(f1),G8=D1.resolveChild(f1.fn.name);if(N+=`c.response=c.responseValue=be
251
- `,!l0)N+=t1(f1.fn)?`await e.afterHandle[${E1}](c, be)
252
- `:`e.afterHandle[${E1}](c, be)
253
- `;else N+=t1(f1.fn)?`af=await e.afterHandle[${E1}](c)
254
- `:`af=e.afterHandle[${E1}](c)
255
- `,N+=`if(af!==undefined) c.response=c.responseValue=be=af
256
- `;G8("af")}D1.resolve()}if(Q.response)N+=y.response("be");let Z1=c("mapResponse",{total:$.mapResponse?.length});if($.mapResponse?.length){N+=`c.response=c.responseValue=be
257
- `;for(let D1=0;D1<$.mapResponse.length;D1++){let E1=$.mapResponse[D1],f1=Z1.resolveChild(E1.fn.name);N+=`if(mr===undefined){mr=${V8(E1)?"await ":""}e.mapResponse[${D1}](c)
258
- if(mr!==undefined)be=c.response=c.responseValue=mr}`,f1()}}Z1.resolve(),N+=SY(),N+=b(),N+=`return mapEarlyResponse(${u1}be,c.set${M8})}
259
- `}}K.resolve()}function mX(K){let U=c("handle",{name:K,alias:"reportHandler"});return()=>{if(A)N+='if(r&&(r[Symbol.iterator]||r[Symbol.asyncIterator])&&typeof r.next==="function"){'+(J8?"":"(async()=>{")+`const stream=await tee(r,3)
246
+ c=resolved}`:fnLiteral+="if(resolved instanceof ElysiaCustomStatusResponse){"+mapResponse("resolved")+`}else Object.assign(c, resolved)
247
+ `,endUnit();else if(!returning)fnLiteral+=isAsync(beforeHandle)?`await e.beforeHandle[${i}](c)
248
+ `:`e.beforeHandle[${i}](c)
249
+ `,endUnit();else{if(fnLiteral+=isAsync(beforeHandle)?`be=await e.beforeHandle[${i}](c)
250
+ `:`be=e.beforeHandle[${i}](c)
251
+ `,endUnit("be"),fnLiteral+="if(be!==undefined){",reporter.resolve(),hooks.afterHandle?.length||hasTrace){report("handle",{name:isHandleFn?handler.name:void 0}).resolve();let reporter2=report("afterHandle",{total:hooks.afterHandle?.length});if(hooks.afterHandle?.length)for(let i2=0;i2<hooks.afterHandle.length;i2++){let hook=hooks.afterHandle[i2],returning2=hasReturn(hook),endUnit2=reporter2.resolveChild(hook.fn.name);fnLiteral+=`c.response=c.responseValue=be
252
+ `,returning2?(fnLiteral+=isAsync(hook.fn)?`af=await e.afterHandle[${i2}](c)
253
+ `:`af=e.afterHandle[${i2}](c)
254
+ `,fnLiteral+=`if(af!==undefined) c.response=c.responseValue=be=af
255
+ `):fnLiteral+=isAsync(hook.fn)?`await e.afterHandle[${i2}](c, be)
256
+ `:`e.afterHandle[${i2}](c, be)
257
+ `,endUnit2("af")}reporter2.resolve()}validator.response&&(fnLiteral+=validation.response("be"));let mapResponseReporter=report("mapResponse",{total:hooks.mapResponse?.length});if(hooks.mapResponse?.length){fnLiteral+=`c.response=c.responseValue=be
258
+ `;for(let i2=0;i2<hooks.mapResponse.length;i2++){let mapResponse2=hooks.mapResponse[i2],endUnit2=mapResponseReporter.resolveChild(mapResponse2.fn.name);fnLiteral+=`if(mr===undefined){mr=${isAsyncName(mapResponse2)?"await ":""}e.mapResponse[${i2}](c)
259
+ if(mr!==undefined)be=c.response=c.responseValue=mr}`,endUnit2()}}mapResponseReporter.resolve(),fnLiteral+=afterResponse(),fnLiteral+=encodeCookie(),fnLiteral+=`return mapEarlyResponse(${saveResponse}be,c.set${mapResponseContext})}
260
+ `}}reporter.resolve()}function reportHandler(name){let handleReporter=report("handle",{name,alias:"reportHandler"});return()=>{hasTrace&&(fnLiteral+='if(r&&(r[Symbol.iterator]||r[Symbol.asyncIterator])&&typeof r.next==="function"){'+(maybeAsync?"":"(async()=>{")+`const stream=await tee(r,3)
260
261
  r=stream[0]
261
- `+($.afterHandle?.length?`c.response=c.responseValue=r
262
+ `+(hooks.afterHandle?.length?`c.response=c.responseValue=r
262
263
  `:"")+`const listener=stream[1]
263
- `+(A||$.afterResponse?.length?`afterHandlerStreamListener=stream[2]
264
- `:"")+`${YQ}(async ()=>{if(listener)for await(const v of listener){}
265
- `,U.resolve(),N+="})"+(J8?"":"})()")+"}else{",U.resolve(),N+=`}
266
- `}}if($.afterHandle?.length||A){let K=mX(z?W.name:void 0);if($.afterHandle?.length)N+=i?`let r=c.response=c.responseValue=await ${q}
267
- `:`let r=c.response=c.responseValue=${q}
268
- `;else N+=i?`let r=await ${q}
269
- `:`let r=${q}
270
- `;K();let U=c("afterHandle",{total:$.afterHandle?.length});if($.afterHandle?.length)for(let F=0;F<$.afterHandle.length;F++){let R=$.afterHandle[F],h=TX(R),Z1=U.resolveChild(R.fn.name);if(!h)N+=t1(R.fn)?`await e.afterHandle[${F}](c)
271
- `:`e.afterHandle[${F}](c)
272
- `,Z1();else if(N+=t1(R.fn)?`af=await e.afterHandle[${F}](c)
273
- `:`af=e.afterHandle[${F}](c)
274
- `,Z1("af"),Q.response)N+="if(af!==undefined){",U.resolve(),N+=y.response("af"),N+="c.response=c.responseValue=af}";else N+="if(af!==undefined){",U.resolve(),N+="c.response=c.responseValue=af}"}if(U.resolve(),$.afterHandle?.length)N+=`r=c.response
275
- `;if(Q.response)N+=y.response();N+=b();let _=c("mapResponse",{total:$.mapResponse?.length});if($.mapResponse?.length)for(let F=0;F<$.mapResponse.length;F++){let R=$.mapResponse[F],h=_.resolveChild(R.fn.name);N+=`mr=${V8(R)?"await ":""}e.mapResponse[${F}](c)
264
+ `+(hasTrace||hooks.afterResponse?.length?`afterHandlerStreamListener=stream[2]
265
+ `:"")+`${setImmediateFn}(async ()=>{if(listener)for await(const v of listener){}
266
+ `,handleReporter.resolve(),fnLiteral+="})"+(maybeAsync?"":"})()")+"}else{",handleReporter.resolve(),fnLiteral+=`}
267
+ `)}}if(hooks.afterHandle?.length||hasTrace){let resolveHandler=reportHandler(isHandleFn?handler.name:void 0);hooks.afterHandle?.length?fnLiteral+=isAsyncHandler?`let r=c.response=c.responseValue=await ${handle}
268
+ `:`let r=c.response=c.responseValue=${handle}
269
+ `:fnLiteral+=isAsyncHandler?`let r=await ${handle}
270
+ `:`let r=${handle}
271
+ `,resolveHandler();let reporter=report("afterHandle",{total:hooks.afterHandle?.length});if(hooks.afterHandle?.length)for(let i=0;i<hooks.afterHandle.length;i++){let hook=hooks.afterHandle[i],returning=hasReturn(hook),endUnit=reporter.resolveChild(hook.fn.name);returning?(fnLiteral+=isAsync(hook.fn)?`af=await e.afterHandle[${i}](c)
272
+ `:`af=e.afterHandle[${i}](c)
273
+ `,endUnit("af"),validator.response?(fnLiteral+="if(af!==undefined){",reporter.resolve(),fnLiteral+=validation.response("af"),fnLiteral+="c.response=c.responseValue=af}"):(fnLiteral+="if(af!==undefined){",reporter.resolve(),fnLiteral+="c.response=c.responseValue=af}")):(fnLiteral+=isAsync(hook.fn)?`await e.afterHandle[${i}](c)
274
+ `:`e.afterHandle[${i}](c)
275
+ `,endUnit())}reporter.resolve(),hooks.afterHandle?.length&&(fnLiteral+=`r=c.response
276
+ `),validator.response&&(fnLiteral+=validation.response()),fnLiteral+=encodeCookie();let mapResponseReporter=report("mapResponse",{total:hooks.mapResponse?.length});if(hooks.mapResponse?.length)for(let i=0;i<hooks.mapResponse.length;i++){let mapResponse2=hooks.mapResponse[i],endUnit=mapResponseReporter.resolveChild(mapResponse2.fn.name);fnLiteral+=`mr=${isAsyncName(mapResponse2)?"await ":""}e.mapResponse[${i}](c)
276
277
  if(mr!==undefined)r=c.response=c.responseValue=mr
277
- `,h()}_.resolve(),N+=q0()}else{let K=mX(z?W.name:void 0);if(Q.response||$.mapResponse?.length||A){if(N+=i?`let r=await ${q}
278
- `:`let r=${q}
279
- `,K(),Q.response)N+=y.response();let U=c("mapResponse",{total:$.mapResponse?.length});if($.mapResponse?.length){N+=`
278
+ `,endUnit()}mapResponseReporter.resolve(),fnLiteral+=mapResponse()}else{let resolveHandler=reportHandler(isHandleFn?handler.name:void 0);if(validator.response||hooks.mapResponse?.length||hasTrace){fnLiteral+=isAsyncHandler?`let r=await ${handle}
279
+ `:`let r=${handle}
280
+ `,resolveHandler(),validator.response&&(fnLiteral+=validation.response());let mapResponseReporter=report("mapResponse",{total:hooks.mapResponse?.length});if(hooks.mapResponse?.length){fnLiteral+=`
280
281
  c.response=c.responseValue=r
281
- `;for(let _=0;_<$.mapResponse.length;_++){let F=$.mapResponse[_],R=U.resolveChild(F.fn.name);N+=`
282
- if(mr===undefined){mr=${V8(F)?"await ":""}e.mapResponse[${_}](c)
282
+ `;for(let i=0;i<hooks.mapResponse.length;i++){let mapResponse2=hooks.mapResponse[i],endUnit=mapResponseReporter.resolveChild(mapResponse2.fn.name);fnLiteral+=`
283
+ if(mr===undefined){mr=${isAsyncName(mapResponse2)?"await ":""}e.mapResponse[${i}](c)
283
284
  if(mr!==undefined)r=c.response=c.responseValue=mr}
284
- `,R()}}if(U.resolve(),N+=b(),W instanceof Response)N+=SY(),N+=M.set?`if(isNotEmpty(c.set.headers)||c.set.status!==200||c.set.redirect||c.set.cookie)return mapResponse(${u1}${q}.clone(),c.set${M8})
285
- else return ${q}.clone()`:`return ${q}.clone()`,N+=`
286
- `;else N+=q0()}else if(u||A){N+=i?`let r=await ${q}
287
- `:`let r=${q}
288
- `,K();let U=c("mapResponse",{total:$.mapResponse?.length});if($.mapResponse?.length){N+=`c.response=c.responseValue= r
289
- `;for(let _=0;_<$.mapResponse.length;_++){let F=$.mapResponse[_],R=U.resolveChild(F.fn.name);N+=`if(mr===undefined){mr=${V8(F)?"await ":""}e.mapResponse[${_}](c)
290
- if(mr!==undefined)r=c.response=c.responseValue=mr}`,R()}}U.resolve(),N+=b()+q0()}else{K();let U=i?`await ${q}`:q;if(W instanceof Response)N+=SY(),N+=M.set?`if(isNotEmpty(c.set.headers)||c.set.status!==200||c.set.redirect||c.set.cookie)return mapResponse(${u1}${q}.clone(),c.set${M8})
291
- else return ${q}.clone()
292
- `:`return ${q}.clone()
293
- `;else N+=q0(U)}}if(N+=`
294
- }catch(error){`,!J8&&$.error?.length)N+="return(async()=>{";if(N+=`const set=c.set
285
+ `,endUnit()}}mapResponseReporter.resolve(),fnLiteral+=encodeCookie(),handler instanceof Response?(fnLiteral+=afterResponse(),fnLiteral+=inference.set?`if(isNotEmpty(c.set.headers)||c.set.status!==200||c.set.redirect||c.set.cookie)return mapResponse(${saveResponse}${handle}.clone(),c.set${mapResponseContext})
286
+ else return ${handle}.clone()`:`return ${handle}.clone()`,fnLiteral+=`
287
+ `):fnLiteral+=mapResponse()}else if(hasCookie||hasTrace){fnLiteral+=isAsyncHandler?`let r=await ${handle}
288
+ `:`let r=${handle}
289
+ `,resolveHandler();let mapResponseReporter=report("mapResponse",{total:hooks.mapResponse?.length});if(hooks.mapResponse?.length){fnLiteral+=`c.response=c.responseValue= r
290
+ `;for(let i=0;i<hooks.mapResponse.length;i++){let mapResponse2=hooks.mapResponse[i],endUnit=mapResponseReporter.resolveChild(mapResponse2.fn.name);fnLiteral+=`if(mr===undefined){mr=${isAsyncName(mapResponse2)?"await ":""}e.mapResponse[${i}](c)
291
+ if(mr!==undefined)r=c.response=c.responseValue=mr}`,endUnit()}}mapResponseReporter.resolve(),fnLiteral+=encodeCookie()+mapResponse()}else{resolveHandler();let handled=isAsyncHandler?`await ${handle}`:handle;handler instanceof Response?(fnLiteral+=afterResponse(),fnLiteral+=inference.set?`if(isNotEmpty(c.set.headers)||c.set.status!==200||c.set.redirect||c.set.cookie)return mapResponse(${saveResponse}${handle}.clone(),c.set${mapResponseContext})
292
+ else return ${handle}.clone()
293
+ `:`return ${handle}.clone()
294
+ `):fnLiteral+=mapResponse(handled)}}if(fnLiteral+=`
295
+ }catch(error){`,!maybeAsync&&hooks.error?.length&&(fnLiteral+="return(async()=>{"),fnLiteral+=`const set=c.set
295
296
  if(!set.status||set.status<300)set.status=error?.status||500
296
- `,u)N+=b();if(A&&$.trace)for(let K=0;K<$.trace.length;K++)N+=`report${K}?.resolve(error);reportChild${K}?.(error)
297
- `;let YZ=c("error",{total:$.error?.length});if($.error?.length){if(N+=`c.error=error
298
- `,D)N+=`if(error instanceof TypeBoxError){c.code="VALIDATION"
299
- c.set.status=422}else{c.code=error.code??error[ERROR_CODE]??"UNKNOWN"}`;else N+=`c.code=error.code??error[ERROR_CODE]??"UNKNOWN"
300
- `;if(N+=`let er
301
- `,$.mapResponse?.length)N+=`let mep
302
- `;for(let K=0;K<$.error.length;K++){let U=YZ.resolveChild($.error[K].fn.name);if(t1($.error[K]))N+=`er=await e.error[${K}](c)
303
- `;else N+=`er=e.error[${K}](c)
297
+ `,hasCookie&&(fnLiteral+=encodeCookie()),hasTrace&&hooks.trace)for(let i=0;i<hooks.trace.length;i++)fnLiteral+=`report${i}?.resolve(error);reportChild${i}?.(error)
298
+ `;let errorReporter=report("error",{total:hooks.error?.length});if(hooks.error?.length){fnLiteral+=`c.error=error
299
+ `,hasValidation?fnLiteral+=`if(error instanceof TypeBoxError){c.code="VALIDATION"
300
+ c.set.status=422}else{c.code=error.code??error[ERROR_CODE]??"UNKNOWN"}`:fnLiteral+=`c.code=error.code??error[ERROR_CODE]??"UNKNOWN"
301
+ `,fnLiteral+=`let er
302
+ `,hooks.mapResponse?.length&&(fnLiteral+=`let mep
303
+ `);for(let i=0;i<hooks.error.length;i++){let endUnit=errorReporter.resolveChild(hooks.error[i].fn.name);if(isAsync(hooks.error[i])?fnLiteral+=`er=await e.error[${i}](c)
304
+ `:fnLiteral+=`er=e.error[${i}](c)
304
305
  if(er instanceof Promise)er=await er
305
- `;if(U(),$.mapResponse?.length){let _=c("mapResponse",{total:$.mapResponse?.length});for(let F=0;F<$.mapResponse.length;F++){let R=$.mapResponse[F],h=_.resolveChild(R.fn.name);N+=`c.response=c.responseValue=er
306
- mep=e.mapResponse[${F}](c)
307
- if(mep instanceof Promise)er=await er
306
+ `,endUnit(),hooks.mapResponse?.length){let mapResponseReporter=report("mapResponse",{total:hooks.mapResponse?.length});for(let i2=0;i2<hooks.mapResponse.length;i2++){let mapResponse2=hooks.mapResponse[i2],endUnit2=mapResponseReporter.resolveChild(mapResponse2.fn.name);fnLiteral+=`c.response=c.responseValue=er
307
+ mep=e.mapResponse[${i2}](c)
308
+ if(mep instanceof Promise)mep=await mep
308
309
  if(mep!==undefined)er=mep
309
- `,h()}_.resolve()}if(N+=`er=mapEarlyResponse(er,set${M8})
310
- `,N+="if(er){",A&&$.trace){for(let _=0;_<$.trace.length;_++)N+=`report${_}.resolve()
311
- `;YZ.resolve()}N+=SY(!1),N+="return er}"}}if(YZ.resolve(),N+="return handleError(c,error,true)",!J8&&$.error?.length)N+="})()";N+="}";let JQ=G.inject?Object.keys(G.inject).join(",")+",":"",H="const {handler,handleError,hooks:e, "+h1("validator,",D)+"mapResponse,mapCompactResponse,mapEarlyResponse,isNotEmpty,utils:{"+h1("parseQuery,",O)+h1("parseQueryFromURL,",P)+"},error:{"+h1("ValidationError,",D)+h1("ParseError",O)+"},fileType,schema,definitions,tee,ERROR_CODE,"+h1("parseCookie,",u)+h1("signCookie,",u)+h1("decodeURIComponent,",P)+"ElysiaCustomStatusResponse,"+h1("ELYSIA_TRACE,",A)+h1("ELYSIA_REQUEST_ID,",A)+h1("parser,",$.parse?.length)+h1("getServer,",M.server)+h1("fileUnions,",mY.length)+JQ+h1("TypeBoxError",D)+`}=hooks
310
+ `,endUnit2()}mapResponseReporter.resolve()}if(fnLiteral+=`er=mapEarlyResponse(er,set${mapResponseContext})
311
+ `,fnLiteral+="if(er){",hasTrace&&hooks.trace){for(let i2=0;i2<hooks.trace.length;i2++)fnLiteral+=`report${i2}.resolve()
312
+ `;errorReporter.resolve()}fnLiteral+=afterResponse(!1),fnLiteral+="return er}"}}errorReporter.resolve(),fnLiteral+="return handleError(c,error,true)",!maybeAsync&&hooks.error?.length&&(fnLiteral+="})()"),fnLiteral+="}";let adapterVariables=adapter.inject?Object.keys(adapter.inject).join(",")+",":"",init="const {handler,handleError,hooks:e, "+allocateIf("validator,",hasValidation)+"mapResponse,mapCompactResponse,mapEarlyResponse,isNotEmpty,utils:{"+allocateIf("parseQuery,",hasBody)+allocateIf("parseQueryFromURL,",hasQuery)+"},error:{"+allocateIf("ValidationError,",hasValidation)+allocateIf("ParseError",hasBody)+"},fileType,schema,definitions,tee,ERROR_CODE,"+allocateIf("parseCookie,",hasCookie)+allocateIf("signCookie,",hasCookie)+allocateIf("decodeURIComponent,",hasQuery)+"ElysiaCustomStatusResponse,"+allocateIf("ELYSIA_TRACE,",hasTrace)+allocateIf("ELYSIA_REQUEST_ID,",hasTrace)+allocateIf("parser,",hooks.parse?.length)+allocateIf("getServer,",inference.server)+allocateIf("fileUnions,",fileUnions.length)+adapterVariables+allocateIf("TypeBoxError",hasValidation)+`}=hooks
312
313
  const trace=e.trace
313
- return ${J8?"async ":""}function handle(c){`;if($.beforeHandle?.length)H+=`let be
314
- `;if($.afterHandle?.length)H+=`let af
315
- `;if($.mapResponse?.length)H+=`let mr
316
- `;if(J)H+=`c.schema=schema
314
+ return ${maybeAsync?"async ":""}function handle(c){`;hooks.beforeHandle?.length&&(init+=`let be
315
+ `),hooks.afterHandle?.length&&(init+=`let af
316
+ `),hooks.mapResponse?.length&&(init+=`let mr
317
+ `),allowMeta&&(init+=`c.schema=schema
317
318
  c.defs=definitions
318
- `;N=H+N+"}",H="";try{return Function("hooks",`"use strict";
319
- `+N)({handler:W,hooks:Q4($),validator:D?Q:void 0,handleError:Y.handleError,mapResponse:B.mapResponse,mapCompactResponse:B.mapCompactResponse,mapEarlyResponse:B.mapEarlyResponse,isNotEmpty:x1,utils:{parseQuery:O?fZ:void 0,parseQueryFromURL:P?Q.query?.provider==="standard"?Gw:o4:void 0},error:{ValidationError:D?Y1:void 0,ParseError:O?k4:void 0},fileType:g4,schema:Y.router.history,definitions:Y.definitions.type,tee:Qw,ERROR_CODE:l$,parseCookie:u?p4:void 0,signCookie:u?i$:void 0,Cookie:u?hY:void 0,decodeURIComponent:P?Mw.default:void 0,ElysiaCustomStatusResponse:G0,ELYSIA_TRACE:A?$Q:void 0,ELYSIA_REQUEST_ID:A?vX:void 0,getServer:M.server?()=>Y.getServer():void 0,fileUnions:mY.length?mY:void 0,TypeBoxError:D?n:void 0,parser:Y["~parser"],...G.inject})}catch(K){let U=Q4($);if(console.log("[Composer] failed to generate optimized handler"),console.log("---"),console.log({handler:typeof W==="function"?W.toString():W,instruction:N,hooks:{...U,transform:U?.transform?.map?.((_)=>_.toString()),resolve:U?.resolve?.map?.((_)=>_.toString()),beforeHandle:U?.beforeHandle?.map?.((_)=>_.toString()),afterHandle:U?.afterHandle?.map?.((_)=>_.toString()),mapResponse:U?.mapResponse?.map?.((_)=>_.toString()),parse:U?.parse?.map?.((_)=>_.toString()),error:U?.error?.map?.((_)=>_.toString()),afterResponse:U?.afterResponse?.map?.((_)=>_.toString()),stop:U?.stop?.map?.((_)=>_.toString())},validator:Q,definitions:Y.definitions.type,error:K}),console.log("---"),typeof process?.exit==="function")process.exit(1);return()=>new Response("Internal Server Error",{status:500})}},a4=(Y,Z)=>{let X="",$=fX({trace:Y.event.trace,addFn:Z??((Q)=>{X+=Q})})("request",{total:Y.event.request?.length});if(Y.event.request?.length){X+="try{";for(let Q=0;Q<Y.event.request.length;Q++){let W=Y.event.request[Q],J=TX(W),M=t1(W),G=$.resolveChild(Y.event.request[Q].fn.name);if(J)X+=`re=mapEarlyResponse(${M?"await ":""}onRequest[${Q}](c),c.set)
320
- `,G("re"),X+=`if(re!==undefined)return re
321
- `;else X+=`${M?"await ":""}onRequest[${Q}](c)
322
- `,G()}X+="}catch(error){return app.handleError(c,error,false)}"}return $.resolve(),X},e4=(Y,Z="map")=>{let X=Y.extender.higherOrderFunctions;if(!X.length)return"return "+Z;let $=Y["~adapter"].composeGeneralHandler,Q=Z;for(let W=0;W<X.length;W++)Q=`hoc[${W}](${Q},${$.parameters})`;return`return function hocMap(${$.parameters}){return ${Q}(${$.parameters})}`},K6=(Y)=>{let Z=Y["~adapter"].composeGeneralHandler;Y.router.http.build();let X=Y["~adapter"].isWebStandard,$=Y.event.trace?.length,Q="",W=Y.router,J=W.http.root.WS?"const route=router.find(r.method==='GET'&&r.headers.get('upgrade')==='websocket'?'WS':r.method,p)":"const route=router.find(r.method,p)";if(J+=W.http.root.ALL?`??router.find('ALL',p)
319
+ `),fnLiteral=init+fnLiteral+"}",init="";try{return Function("hooks",`"use strict";
320
+ `+fnLiteral)({handler,hooks:lifeCycleToFn(hooks),validator:hasValidation?validator:void 0,handleError:app.handleError,mapResponse:adapterHandler.mapResponse,mapCompactResponse:adapterHandler.mapCompactResponse,mapEarlyResponse:adapterHandler.mapEarlyResponse,isNotEmpty,utils:{parseQuery:hasBody?parseQuery:void 0,parseQueryFromURL:hasQuery?validator.query?.provider==="standard"?parseQueryStandardSchema:parseQueryFromURL:void 0},error:{ValidationError:hasValidation?ValidationError:void 0,ParseError:hasBody?ParseError:void 0},fileType,schema:app.router.history,definitions:app.definitions.type,tee,ERROR_CODE,parseCookie:hasCookie?parseCookie:void 0,signCookie:hasCookie?signCookie:void 0,Cookie:hasCookie?Cookie:void 0,decodeURIComponent:hasQuery?import_fast_decode_uri_component3.default:void 0,ElysiaCustomStatusResponse,ELYSIA_TRACE:hasTrace?ELYSIA_TRACE:void 0,ELYSIA_REQUEST_ID:hasTrace?ELYSIA_REQUEST_ID:void 0,getServer:inference.server?()=>app.getServer():void 0,fileUnions:fileUnions.length?fileUnions:void 0,TypeBoxError:hasValidation?TypeBoxError:void 0,parser:app["~parser"],...adapter.inject})}catch(error){let debugHooks=lifeCycleToFn(hooks);return console.log("[Composer] failed to generate optimized handler"),console.log("---"),console.log({handler:typeof handler=="function"?handler.toString():handler,instruction:fnLiteral,hooks:{...debugHooks,transform:debugHooks?.transform?.map?.((x)=>x.toString()),resolve:debugHooks?.resolve?.map?.((x)=>x.toString()),beforeHandle:debugHooks?.beforeHandle?.map?.((x)=>x.toString()),afterHandle:debugHooks?.afterHandle?.map?.((x)=>x.toString()),mapResponse:debugHooks?.mapResponse?.map?.((x)=>x.toString()),parse:debugHooks?.parse?.map?.((x)=>x.toString()),error:debugHooks?.error?.map?.((x)=>x.toString()),afterResponse:debugHooks?.afterResponse?.map?.((x)=>x.toString()),stop:debugHooks?.stop?.map?.((x)=>x.toString())},validator,definitions:app.definitions.type,error}),console.log("---"),typeof process?.exit=="function"&&process.exit(1),()=>new Response("Internal Server Error",{status:500})}},createOnRequestHandler=(app,addFn)=>{let fnLiteral="",reporter=createReport({trace:app.event.trace,addFn:addFn??((word)=>{fnLiteral+=word})})("request",{total:app.event.request?.length});if(app.event.request?.length){fnLiteral+="try{";for(let i=0;i<app.event.request.length;i++){let hook=app.event.request[i],withReturn=hasReturn(hook),maybeAsync=isAsync(hook),endUnit=reporter.resolveChild(app.event.request[i].fn.name);withReturn?(fnLiteral+=`re=mapEarlyResponse(${maybeAsync?"await ":""}onRequest[${i}](c),c.set)
321
+ `,endUnit("re"),fnLiteral+=`if(re!==undefined)return re
322
+ `):(fnLiteral+=`${maybeAsync?"await ":""}onRequest[${i}](c)
323
+ `,endUnit())}fnLiteral+="}catch(error){return app.handleError(c,error,false)}"}return reporter.resolve(),fnLiteral},createHoc=(app,fnName="map")=>{let hoc=app.extender.higherOrderFunctions;if(!hoc.length)return"return "+fnName;let adapter=app["~adapter"].composeGeneralHandler,handler=fnName;for(let i=0;i<hoc.length;i++)handler=`hoc[${i}](${handler},${adapter.parameters})`;return`return function hocMap(${adapter.parameters}){return ${handler}(${adapter.parameters})}`},composeGeneralHandler=(app)=>{let adapter=app["~adapter"].composeGeneralHandler;app.router.http.build();let isWebstandard=app["~adapter"].isWebStandard,hasTrace=app.event.trace?.length,fnLiteral="",router=app.router,findDynamicRoute=router.http.root.WS?"const route=router.find(r.method==='GET'&&r.headers.get('upgrade')==='websocket'?'WS':r.method,p)":"const route=router.find(r.method,p)";findDynamicRoute+=router.http.root.ALL?`??router.find('ALL',p)
323
324
  `:`
324
- `,X)J+='if(r.method==="HEAD"){const route=router.find("GET",p);if(route){c.params=route.params;const _res=route.store.handler?route.store.handler(c):route.store.compile()(c);if(_res)return Promise.resolve(_res).then((_res)=>{if(!_res.headers)_res.headers=new Headers();return getResponseLength(_res).then((length)=>{_res.headers.set("content-length", length);return new Response(null,{status:_res.status,statusText:_res.statusText,headers:_res.headers});})});}}';let M=`c.error=notFound
325
- `;if(Y.event.afterResponse?.length&&!Y.event.error){M=`
325
+ `,isWebstandard&&(findDynamicRoute+='if(r.method==="HEAD"){const route=router.find("GET",p);if(route){c.params=route.params;const _res=route.store.handler?route.store.handler(c):route.store.compile()(c);if(_res)return Promise.resolve(_res).then((_res)=>{if(!_res.headers)_res.headers=new Headers();return getResponseLength(_res).then((length)=>{_res.headers.set("content-length", length);return new Response(null,{status:_res.status,statusText:_res.statusText,headers:_res.headers});})});}}');let afterResponse=`c.error=notFound
326
+ `;if(app.event.afterResponse?.length&&!app.event.error){afterResponse=`
326
327
  c.error=notFound
327
- `;let D=Y.event.afterResponse.some(t1)?"async":"";M+=`
328
- ${YQ}(${D}()=>{if(c.responseValue instanceof ElysiaCustomStatusResponse) c.set.status=c.responseValue.code
329
- `;for(let P=0;P<Y.event.afterResponse.length;P++){let I=Y.event.afterResponse[P].fn;M+=`
330
- ${V8(I)?"await ":""}afterResponse[${P}](c)
331
- `}M+=`})
332
- `}if(Y.inference.query)M+=`
333
- if(c.qi===-1){c.query={}}else{c.query=parseQueryFromURL(c.url,c.qi+1)}`;let G=Z.error404(!!Y.event.request?.length,!!Y.event.error?.length,M);J+=G.code,J+=`
328
+ `;let prefix=app.event.afterResponse.some(isAsync)?"async":"";afterResponse+=`
329
+ ${setImmediateFn}(${prefix}()=>{if(c.responseValue instanceof ElysiaCustomStatusResponse) c.set.status=c.responseValue.code
330
+ `;for(let i=0;i<app.event.afterResponse.length;i++){let fn2=app.event.afterResponse[i].fn;afterResponse+=`
331
+ ${isAsyncName(fn2)?"await ":""}afterResponse[${i}](c)
332
+ `}afterResponse+=`})
333
+ `}app.inference.query&&(afterResponse+=`
334
+ if(c.qi===-1){c.query={}}else{c.query=parseQueryFromURL(c.url,c.qi+1)}`);let error404=adapter.error404(!!app.event.request?.length,!!app.event.error?.length,afterResponse);findDynamicRoute+=error404.code,findDynamicRoute+=`
334
335
  c.params=route.params
335
336
  if(route.store.handler)return route.store.handler(c)
336
337
  return route.store.compile()(c)
337
- `;let B="";for(let[D,P]of Object.entries(W.static)){if(B+=`case'${D}':`,Y.config.strictPath!==!0)B+=`case'${SX(D)}':`;let I=CX(D);if(D!==I)B+=`case'${I}':`;if(B+="switch(r.method){","GET"in P||"WS"in P){if(B+="case 'GET':","WS"in P){if(B+=`if(r.headers.get('upgrade')==='websocket')return ht[${P.WS}].composed(c)
338
- `,"GET"in P===!1)if("ALL"in P)B+=`return ht[${P.ALL}].composed(c)
339
- `;else B+=`break map
340
- `}if("GET"in P)B+=`return ht[${P.GET}].composed(c)
341
- `}if(X&&(("GET"in P)||("ALL"in P))&&"HEAD"in P===!1)B+=`case 'HEAD':return Promise.resolve(ht[${P.GET??P.ALL}].composed(c)).then(_ht=>getResponseLength(_ht).then((length)=>{_ht.headers.set('content-length', length)
338
+ `;let switchMap="";for(let[path,methods]of Object.entries(router.static)){switchMap+=`case'${path}':`,app.config.strictPath!==!0&&(switchMap+=`case'${getLoosePath(path)}':`);let encoded=encodePath(path);path!==encoded&&(switchMap+=`case'${encoded}':`),switchMap+="switch(r.method){",(("GET"in methods)||("WS"in methods))&&(switchMap+="case 'GET':",("WS"in methods)&&(switchMap+=`if(r.headers.get('upgrade')==='websocket')return ht[${methods.WS}].composed(c)
339
+ `,("GET"in methods)||("ALL"in methods?switchMap+=`return ht[${methods.ALL}].composed(c)
340
+ `:switchMap+=`break map
341
+ `)),("GET"in methods)&&(switchMap+=`return ht[${methods.GET}].composed(c)
342
+ `)),isWebstandard&&(("GET"in methods)||("ALL"in methods))&&!("HEAD"in methods)&&(switchMap+=`case 'HEAD':return Promise.resolve(ht[${methods.GET??methods.ALL}].composed(c)).then(_ht=>getResponseLength(_ht).then((length)=>{_ht.headers.set('content-length', length)
342
343
  return new Response(null,{status:_ht.status,statusText:_ht.statusText,headers:_ht.headers})
343
344
  }))
344
- `;for(let[O,j]of Object.entries(P)){if(O==="ALL"||O==="GET"||O==="WS")continue;B+=`case '${O}':return ht[${j}].composed(c)
345
- `}if("ALL"in P)B+=`default:return ht[${P.ALL}].composed(c)
346
- `;else B+=`default:break map
347
- `;B+="}"}let z=!!Y.event.request?.some(t1),q=Z.inject?Object.keys(Z.inject).join(",")+",":"";if(Q+=`
348
- const {app,mapEarlyResponse,NotFoundError,randomId,handleError,status,redirect,getResponseLength,ElysiaCustomStatusResponse,`+h1("parseQueryFromURL,",Y.inference.query)+h1("ELYSIA_TRACE,",$)+h1("ELYSIA_REQUEST_ID,",$)+q+`}=data
345
+ `);for(let[method,index]of Object.entries(methods))method==="ALL"||method==="GET"||method==="WS"||(switchMap+=`case '${method}':return ht[${index}].composed(c)
346
+ `);"ALL"in methods?switchMap+=`default:return ht[${methods.ALL}].composed(c)
347
+ `:switchMap+=`default:break map
348
+ `,switchMap+="}"}let maybeAsync=!!app.event.request?.some(isAsync),adapterVariables=adapter.inject?Object.keys(adapter.inject).join(",")+",":"";fnLiteral+=`
349
+ const {app,mapEarlyResponse,NotFoundError,randomId,handleError,status,redirect,getResponseLength,ElysiaCustomStatusResponse,`+allocateIf("parseQueryFromURL,",app.inference.query)+allocateIf("ELYSIA_TRACE,",hasTrace)+allocateIf("ELYSIA_REQUEST_ID,",hasTrace)+adapterVariables+`}=data
349
350
  const store=app.singleton.store
350
351
  const decorator=app.singleton.decorator
351
352
  const staticRouter=app.router.static.http
@@ -354,60 +355,60 @@ const router=app.router.http
354
355
  const trace=app.event.trace?.map(x=>typeof x==='function'?x:x.fn)??[]
355
356
  const notFound=new NotFoundError()
356
357
  const hoc=app.extender.higherOrderFunctions.map(x=>x.fn)
357
- `,Y.event.request?.length)Q+=`const onRequest=app.event.request.map(x=>x.fn)
358
- `;if(Y.event.afterResponse?.length)Q+=`const afterResponse=app.event.afterResponse.map(x=>x.fn)
359
- `;if(Q+=G.declare,Y.event.trace?.length)Q+="const "+Y.event.trace.map((D,P)=>`tr${P}=app.event.trace[${P}].fn`).join(",")+`
360
- `;if(Q+=`${z?"async ":""}function map(${Z.parameters}){`,Y.event.request?.length)Q+=`let re
361
- `;if(Q+=Z.createContext(Y),Y.event.trace?.length)Q+="c[ELYSIA_TRACE]=["+Y.event.trace.map((D,P)=>`tr${P}(c)`).join(",")+`]
362
- `;if(Q+=a4(Y),B)Q+=`
358
+ `,app.event.request?.length&&(fnLiteral+=`const onRequest=app.event.request.map(x=>x.fn)
359
+ `),app.event.afterResponse?.length&&(fnLiteral+=`const afterResponse=app.event.afterResponse.map(x=>x.fn)
360
+ `),fnLiteral+=error404.declare,app.event.trace?.length&&(fnLiteral+="const "+app.event.trace.map((_,i)=>`tr${i}=app.event.trace[${i}].fn`).join(",")+`
361
+ `),fnLiteral+=`${maybeAsync?"async ":""}function map(${adapter.parameters}){`,app.event.request?.length&&(fnLiteral+=`let re
362
+ `),fnLiteral+=adapter.createContext(app),app.event.trace?.length&&(fnLiteral+="c[ELYSIA_TRACE]=["+app.event.trace.map((_,i)=>`tr${i}(c)`).join(",")+`]
363
+ `),fnLiteral+=createOnRequestHandler(app),switchMap&&(fnLiteral+=`
363
364
  map: switch(p){
364
- `+B+"}";Q+=J+`}
365
- `+e4(Y);let A=YJ(Y);Y.handleError=A;let N=Function("data",`"use strict";
366
- `+Q)({app:Y,mapEarlyResponse:Y["~adapter"].handler.mapEarlyResponse,NotFoundError:h6,randomId:xX,handleError:A,status:dZ,redirect:XQ,getResponseLength:OD,ElysiaCustomStatusResponse:G0,parseQueryFromURL:Y.inference.query?o4:void 0,ELYSIA_TRACE:$?$Q:void 0,ELYSIA_REQUEST_ID:$?vX:void 0,...Z.inject});if(a8)Bun.gc(!1);return N},YJ=(Y)=>{let Z=Y.event,X="",$=Y["~adapter"].composeError,Q=$.inject?Object.keys($.inject).join(",")+",":"",W=!!Y.event.trace?.length;if(X+="const {mapResponse,ERROR_CODE,ElysiaCustomStatusResponse,ValidationError,TransformDecodeError,"+h1("onError,",Y.event.error)+h1("afterResponse,",Y.event.afterResponse)+h1("trace,",Y.event.trace)+h1("onMapResponse,",Y.event.mapResponse)+h1("ELYSIA_TRACE,",W)+h1("ELYSIA_REQUEST_ID,",W)+Q+`}=inject
367
- `,X+="return async function(context,error,skipGlobal){",X+="",W)X+=`const id=context[ELYSIA_REQUEST_ID]
368
- `;let J=fX({context:"context",trace:Z.trace,addFn:(q)=>{X+=q}}),M=()=>{if(!Z.afterResponse?.length&&!W)return"";let q="",A=Z.afterResponse?.some(t1)?"async":"";q+=`
369
- ${YQ}(${A}()=>{`;let N=fX({context:"context",trace:Z.trace,addFn:(D)=>{q+=D}})("afterResponse",{total:Z.afterResponse?.length,name:"context"});if(Z.afterResponse?.length&&Z.afterResponse)for(let D=0;D<Z.afterResponse.length;D++){let P=Z.afterResponse[D].fn,I=N.resolveChild(P.name);q+=`
370
- ${V8(P)?"await ":""}afterResponse[${D}](context)
371
- `,I()}return N.resolve(),q+=`})
372
- `,q};if(X+=`const set=context.set
365
+ `+switchMap+"}"),fnLiteral+=findDynamicRoute+`}
366
+ `+createHoc(app);let handleError=composeErrorHandler(app);app.handleError=handleError;let fn=Function("data",`"use strict";
367
+ `+fnLiteral)({app,mapEarlyResponse:app["~adapter"].handler.mapEarlyResponse,NotFoundError,randomId,handleError,status,redirect,getResponseLength,ElysiaCustomStatusResponse,parseQueryFromURL:app.inference.query?parseQueryFromURL:void 0,ELYSIA_TRACE:hasTrace?ELYSIA_TRACE:void 0,ELYSIA_REQUEST_ID:hasTrace?ELYSIA_REQUEST_ID:void 0,...adapter.inject});return isBun&&Bun.gc(!1),fn},composeErrorHandler=(app)=>{let hooks=app.event,fnLiteral="",adapter=app["~adapter"].composeError,adapterVariables=adapter.inject?Object.keys(adapter.inject).join(",")+",":"",hasTrace=!!app.event.trace?.length;fnLiteral+="const {mapResponse,ERROR_CODE,ElysiaCustomStatusResponse,ValidationError,TransformDecodeError,"+allocateIf("onError,",app.event.error)+allocateIf("afterResponse,",app.event.afterResponse)+allocateIf("trace,",app.event.trace)+allocateIf("onMapResponse,",app.event.mapResponse)+allocateIf("ELYSIA_TRACE,",hasTrace)+allocateIf("ELYSIA_REQUEST_ID,",hasTrace)+adapterVariables+`}=inject
368
+ `,fnLiteral+="return async function(context,error,skipGlobal){",fnLiteral+="",hasTrace&&(fnLiteral+=`const id=context[ELYSIA_REQUEST_ID]
369
+ `);let report=createReport({context:"context",trace:hooks.trace,addFn:(word)=>{fnLiteral+=word}}),afterResponse=()=>{if(!hooks.afterResponse?.length&&!hasTrace)return"";let afterResponse2="",prefix=hooks.afterResponse?.some(isAsync)?"async":"";afterResponse2+=`
370
+ ${setImmediateFn}(${prefix}()=>{`;let reporter=createReport({context:"context",trace:hooks.trace,addFn:(word)=>{afterResponse2+=word}})("afterResponse",{total:hooks.afterResponse?.length,name:"context"});if(hooks.afterResponse?.length&&hooks.afterResponse)for(let i=0;i<hooks.afterResponse.length;i++){let fn=hooks.afterResponse[i].fn,endUnit=reporter.resolveChild(fn.name);afterResponse2+=`
371
+ ${isAsyncName(fn)?"await ":""}afterResponse[${i}](context)
372
+ `,endUnit()}return reporter.resolve(),afterResponse2+=`})
373
+ `,afterResponse2};fnLiteral+=`const set=context.set
373
374
  let _r
374
375
  if(!context.code)context.code=error.code??error[ERROR_CODE]
375
376
  if(!(context.error instanceof Error))context.error=error
376
377
  if(error instanceof ElysiaCustomStatusResponse){set.status=error.status=error.code
377
- error.message=error.response}`,$.declare)X+=$.declare;let G=W||!!Z.afterResponse?.length?"context.response = ":"";if(X+=`if(typeof error?.toResponse==='function'&&!(error instanceof ValidationError)&&!(error instanceof TransformDecodeError)){try{let raw=error.toResponse()
378
+ error.message=error.response}`,adapter.declare&&(fnLiteral+=adapter.declare);let saveResponse=hasTrace||hooks.afterResponse?.length?"context.response = ":"";if(fnLiteral+=`if(typeof error?.toResponse==='function'&&!(error instanceof ValidationError)&&!(error instanceof TransformDecodeError)){try{let raw=error.toResponse()
378
379
  if(typeof raw?.then==='function')raw=await raw
379
380
  if(raw instanceof Response)set.status=raw.status
380
381
  context.response=context.responseValue=raw
381
382
  }catch(toResponseError){
382
383
  }
383
384
  }
384
- `,Y.event.error)for(let q=0;q<Y.event.error.length;q++){let A=Y.event.error[q],N=`${t1(A)?"await ":""}onError[${q}](context)
385
- `;if(X+="if(skipGlobal!==true&&!context.response){",TX(A)){X+=`_r=${N}
386
- if(_r!==undefined){if(_r instanceof Response){`+M()+`return mapResponse(_r,set${$.mapResponseContext})}if(_r instanceof ElysiaCustomStatusResponse){error.status=error.code
385
+ `,app.event.error)for(let i=0;i<app.event.error.length;i++){let handler=app.event.error[i],response=`${isAsync(handler)?"await ":""}onError[${i}](context)
386
+ `;if(fnLiteral+="if(skipGlobal!==true&&!context.response){",hasReturn(handler)){fnLiteral+=`_r=${response}
387
+ if(_r!==undefined){if(_r instanceof Response){`+afterResponse()+`return mapResponse(_r,set${adapter.mapResponseContext})}if(_r instanceof ElysiaCustomStatusResponse){error.status=error.code
387
388
  error.message=error.response}if(set.status===200||!set.status)set.status=error.status
388
- `;let D=J("mapResponse",{total:Z.mapResponse?.length,name:"context"});if(Z.mapResponse?.length)for(let P=0;P<Z.mapResponse.length;P++){let I=Z.mapResponse[P],O=D.resolveChild(I.fn.name);X+=`context.response=context.responseValue=_r
389
- _r=${V8(I)?"await ":""}onMapResponse[${P}](context)
390
- `,O()}D.resolve(),X+=M()+`return mapResponse(${G}_r,set${$.mapResponseContext})}`}else X+=N;X+="}"}X+=`if(error instanceof ValidationError||error instanceof TransformDecodeError){
389
+ `;let mapResponseReporter2=report("mapResponse",{total:hooks.mapResponse?.length,name:"context"});if(hooks.mapResponse?.length)for(let i2=0;i2<hooks.mapResponse.length;i2++){let mapResponse=hooks.mapResponse[i2],endUnit=mapResponseReporter2.resolveChild(mapResponse.fn.name);fnLiteral+=`context.response=context.responseValue=_r
390
+ _r=${isAsyncName(mapResponse)?"await ":""}onMapResponse[${i2}](context)
391
+ `,endUnit()}mapResponseReporter2.resolve(),fnLiteral+=afterResponse()+`return mapResponse(${saveResponse}_r,set${adapter.mapResponseContext})}`}else fnLiteral+=response;fnLiteral+="}"}fnLiteral+=`if(error instanceof ValidationError||error instanceof TransformDecodeError){
391
392
  if(error.error)error=error.error
392
393
  set.status=error.status??422
393
- `+M()+$.validationError+`
394
+ `+afterResponse()+adapter.validationError+`
394
395
  }
395
- `,X+="if(!context.response&&error instanceof Error){"+M()+$.unknownError+`
396
- }`;let B=J("mapResponse",{total:Z.mapResponse?.length,name:"context"});if(X+=`
396
+ `,fnLiteral+="if(!context.response&&error instanceof Error){"+afterResponse()+adapter.unknownError+`
397
+ }`;let mapResponseReporter=report("mapResponse",{total:hooks.mapResponse?.length,name:"context"});if(fnLiteral+=`
397
398
  if(!context.response)context.response=context.responseValue=error.message??error
398
- `,Z.mapResponse?.length){X+=`let mr
399
- `;for(let q=0;q<Z.mapResponse.length;q++){let A=Z.mapResponse[q],N=B.resolveChild(A.fn.name);X+=`if(mr===undefined){mr=${V8(A)?"await ":""}onMapResponse[${q}](context)
400
- if(mr!==undefined)error=context.response=context.responseValue=mr}`,N()}}B.resolve(),X+=M()+`
401
- return mapResponse(${G}error,set${$.mapResponseContext})}`;let z=(q)=>typeof q==="function"?q:q.fn;return Function("inject",`"use strict";
402
- `+X)({mapResponse:Y["~adapter"].handler.mapResponse,ERROR_CODE:l$,ElysiaCustomStatusResponse:G0,ValidationError:Y1,TransformDecodeError:h8,onError:Y.event.error?.map(z),afterResponse:Y.event.afterResponse?.map(z),trace:Y.event.trace?.map(z),onMapResponse:Y.event.mapResponse?.map(z),ELYSIA_TRACE:W?$Q:void 0,ELYSIA_REQUEST_ID:W?vX:void 0,...$.inject})},Q8=(Y,Z)=>Z?Y:"",P4=(Y,Z,X,$=!1)=>{let Q="",W=Y.setHeaders,J=!!Y.event.trace?.length;if(J)Q+=`const id=randomId()
403
- `;let M=/[:*]/.test(Z.path),G=`const u=request.url,s=u.indexOf('/',${Y.config.handler?.standardHostname??!0?11:7}),qi=u.indexOf('?',s+1)
404
- `,B=X.query||!!Z.hooks.query||!!Z.hooks.standaloneValidator?.find((q)=>q.query)||Y.event.request?.length;if(B)Q+=G;let z=!X.path?"":!M?`path:'${Z.path}',`:"get path(){"+(B?"":G)+`if(qi===-1)return u.substring(s)
399
+ `,hooks.mapResponse?.length){fnLiteral+=`let mr
400
+ `;for(let i=0;i<hooks.mapResponse.length;i++){let mapResponse=hooks.mapResponse[i],endUnit=mapResponseReporter.resolveChild(mapResponse.fn.name);fnLiteral+=`if(mr===undefined){mr=${isAsyncName(mapResponse)?"await ":""}onMapResponse[${i}](context)
401
+ if(mr!==undefined)error=context.response=context.responseValue=mr}`,endUnit()}}mapResponseReporter.resolve(),fnLiteral+=afterResponse()+`
402
+ return mapResponse(${saveResponse}error,set${adapter.mapResponseContext})}`;let mapFn=(x)=>typeof x=="function"?x:x.fn;return Function("inject",`"use strict";
403
+ `+fnLiteral)({mapResponse:app["~adapter"].handler.mapResponse,ERROR_CODE,ElysiaCustomStatusResponse,ValidationError,TransformDecodeError,onError:app.event.error?.map(mapFn),afterResponse:app.event.afterResponse?.map(mapFn),trace:app.event.trace?.map(mapFn),onMapResponse:app.event.mapResponse?.map(mapFn),ELYSIA_TRACE:hasTrace?ELYSIA_TRACE:void 0,ELYSIA_REQUEST_ID:hasTrace?ELYSIA_REQUEST_ID:void 0,...adapter.inject})};var allocateIf2=(value,condition)=>condition?value:"",createContext=(app,route,inference,isInline=!1)=>{let fnLiteral="",defaultHeaders=app.setHeaders,hasTrace=!!app.event.trace?.length;hasTrace&&(fnLiteral+=`const id=randomId()
404
+ `);let isDynamic=/[:*]/.test(route.path),getQi=`const u=request.url,s=u.indexOf('/',${app.config.handler?.standardHostname??!0?11:7}),qi=u.indexOf('?',s+1)
405
+ `,needsQuery=inference.query||!!route.hooks.query||!!route.hooks.standaloneValidator?.find((x)=>x.query)||app.event.request?.length;needsQuery&&(fnLiteral+=getQi);let getPath=inference.path?isDynamic?"get path(){"+(needsQuery?"":getQi)+`if(qi===-1)return u.substring(s)
405
406
  return u.substring(s,qi)
406
- },`;if(Q+=Q8("const c=",!$)+"{request,store,"+Q8("qi,",B)+Q8("params:request.params,",M)+z+Q8("url:request.url,",J||X.url||B)+"redirect,status,set:{headers:"+(x1(W)?"Object.assign({},app.setHeaders)":"Object.create(null)")+",status:200}",X.server)Q+=",get server(){return app.getServer()}";if(J)Q+=",[ELYSIA_REQUEST_ID]:id";{let q="";for(let A of Object.keys(Y.singleton.decorator))q+=`,'${A}':decorator['${A}']`;Q+=q}return Q+=`}
407
- `,Q},F6=(Y,Z)=>{let X=!!Y.event.trace?.length,$=!!Y.extender.higherOrderFunctions.length,Q=t$(Z.hooks,Y.inference);Q=t$({handler:Z.handler},Q);let W="const handler=data.handler,app=data.app,store=data.store,decorator=data.decorator,redirect=data.redirect,route=data.route,mapEarlyResponse=data.mapEarlyResponse,"+Q8("randomId=data.randomId,",X)+Q8("ELYSIA_REQUEST_ID=data.ELYSIA_REQUEST_ID,",X)+Q8("ELYSIA_TRACE=data.ELYSIA_TRACE,",X)+Q8("trace=data.trace,",X)+Q8("hoc=data.hoc,",$)+`status=data.status
408
- `;if(Y.event.request?.length)W+=`const onRequest=app.event.request.map(x=>x.fn)
409
- `;W+=`${Y.event.request?.find(t1)?"async":""} function map(request){`;let J=Q.query||!!Z.hooks.query||!!Z.hooks.standaloneValidator?.find((M)=>M.query);if(X||J||Y.event.request?.length)W+=P4(Y,Z,Q),W+=a4(Y),W+="return handler(c)}";else W+=`return handler(${P4(Y,Z,Q,!0)})}`;return W+=e4(Y),Function("data",W)({app:Y,handler:Z.compile?.()??Z.composed,redirect:XQ,status:dZ,hoc:Y.extender.higherOrderFunctions.map((M)=>M.fn),store:Y.store,decorator:Y.decorator,route:Z.path,randomId:X?xX:void 0,ELYSIA_TRACE:X?$Q:void 0,ELYSIA_REQUEST_ID:X?vX:void 0,trace:X?Y.event.trace?.map((M)=>M?.fn??M):void 0,mapEarlyResponse:F0})},Kw=(Y,Z,X)=>{if(typeof Y==="function"||Y instanceof Blob)return;if(d6(Y))return()=>Y;let $=S0(Y instanceof Response?Y.clone():Y instanceof Promise?Y.then((Q)=>Q instanceof Response?Q.clone():Q):Y,X??{headers:{}});if(!Z.parse?.length&&!Z.transform?.length&&!Z.beforeHandle?.length&&!Z.afterHandle?.length){if($ instanceof Promise)return $.then((Q)=>{if(!Q)return;if(!Q.headers.has("content-type"))Q.headers.append("content-type","text/plain");return Q.clone()});if(!$.headers.has("content-type"))$.headers.append("content-type","text/plain");return()=>$.clone()}},_4={open(Y){Y.data.open?.(Y)},message(Y,Z){Y.data.message?.(Y,Z)},drain(Y){Y.data.drain?.(Y)},close(Y,Z,X){Y.data.close?.(Y,Z,X)},ping(Y){Y.data.ping?.(Y)},pong(Y){Y.data.pong?.(Y)}};class IX{raw;data;body;constructor(Y,Z,X=void 0){this.raw=Y,this.data=Z,this.body=X,this.validator=Y.data?.validator,this.sendText=Y.sendText.bind(Y),this.sendBinary=Y.sendBinary.bind(Y),this.close=Y.close.bind(Y),this.terminate=Y.terminate.bind(Y),this.publishText=Y.publishText.bind(Y),this.publishBinary=Y.publishBinary.bind(Y),this.subscribe=Y.subscribe.bind(Y),this.unsubscribe=Y.unsubscribe.bind(Y),this.isSubscribed=Y.isSubscribed.bind(Y),this.cork=Y.cork.bind(Y),this.remoteAddress=Y.remoteAddress,this.binaryType=Y.binaryType,this.data=Y.data,this.subscriptions=Y.subscriptions,this.send=this.send.bind(this),this.ping=this.ping.bind(this),this.pong=this.pong.bind(this),this.publish=this.publish.bind(this)}send(Y,Z){if(Buffer.isBuffer(Y))return this.raw.send(Y,Z);if(this.validator?.Check(Y)===!1)return this.raw.send(new Y1("message",this.validator,Y).message);if(typeof Y==="object")Y=JSON.stringify(Y);return this.raw.send(Y,Z)}ping(Y){if(Buffer.isBuffer(Y))return this.raw.ping(Y);if(this.validator?.Check(Y)===!1)return this.raw.send(new Y1("message",this.validator,Y).message);if(typeof Y==="object")Y=JSON.stringify(Y);return this.raw.ping(Y)}pong(Y){if(Buffer.isBuffer(Y))return this.raw.pong(Y);if(this.validator?.Check(Y)===!1)return this.raw.send(new Y1("message",this.validator,Y).message);if(typeof Y==="object")Y=JSON.stringify(Y);return this.raw.pong(Y)}publish(Y,Z,X){if(Buffer.isBuffer(Z))return this.raw.publish(Y,Z,X);if(this.validator?.Check(Z)===!1)return this.raw.send(new Y1("message",this.validator,Z).message);if(typeof Z==="object")Z=JSON.stringify(Z);return this.raw.publish(Y,Z,X)}sendText;sendBinary;close;terminate;publishText;publishBinary;subscribe;unsubscribe;isSubscribed;cork;remoteAddress;binaryType;subscriptions;get readyState(){return this.raw.readyState}validator;["~types"];get id(){return this.data.id}}var Fw=(Y)=>{let Z=typeof Y==="function"?[Y]:Y;return async function(X,$){if(typeof $==="string"){let Q=$?.charCodeAt(0);if(Q===34||Q===47||Q===91||Q===123)try{$=JSON.parse($)}catch{}else if(b4($))$=+$;else if($==="true")$=!0;else if($==="false")$=!1;else if($==="null")$=null}if(Z)for(let Q=0;Q<Z.length;Q++){let W=Z[Q](X,$);if(W instanceof Promise)W=await W;if(W!==void 0)return W}return $}},Sw=(Y)=>{let Z=(X,$)=>{if($ instanceof Promise)return $.then((M)=>Z(X,M));if(Buffer.isBuffer($))return X.send($.toString());if($===void 0)return;let Q=Y?Y.provider==="standard"?(M)=>Y.schema["~standard"].validate(M).issues:(M)=>Y.Check(M)===!1:void 0,W=(M)=>{if(Q&&Q(M)===!1)return X.send(new Y1("message",Y,M).message);if(typeof M==="object")return X.send(JSON.stringify(M));X.send(M)};if(typeof $?.next!=="function")return void W($);let J=$.next();if(J instanceof Promise)return(async()=>{let M=await J;if(Q&&Q(M))return X.send(new Y1("message",Y,M).message);if(W(M.value),!M.done)for await(let G of $)W(G)})();if(W(J.value),!J.done)for(let M of $)W(M)};return Z},Cw=/:.+?\?(?=\/|$)/,ZJ=(Y)=>{let Z=Cw.exec(Y);if(!Z)return[Y];let X=[],$=Y.slice(0,Z.index),Q=Z[0].slice(0,-1),W=Y.slice(Z.index+Z[0].length);X.push($.slice(0,-1)),X.push($+Q);for(let J of ZJ(W)){if(!J)continue;if(!J.startsWith("/:"))X.push($.slice(0,-1)+J);X.push($+Q+J)}return X},d6=(Y)=>{return typeof Y==="object"&&Y!==null&&(Y.toString()==="[object HTMLBundle]"||typeof Y.index==="string")},XJ={GET:!0,HEAD:!0,OPTIONS:!0,DELETE:!0,PATCH:!0,POST:!0,PUT:!0},S6=(Y)=>{if(!Y.config.aot||Y.config.systemRouter===!1)return;let Z={},X=(Q,W)=>{let J=encodeURI(Q.path);if(Z[J]){if(!Z[J][Q.method])Z[J][Q.method]=W}else Z[J]={[Q.method]:W}},$=Y.routeTree;for(let Q of Y.router.history){if(typeof Q.handler!=="function")continue;let W=Q.method;if(W==="GET"&&`WS_${Q.path}`in $||W==="WS"||Q.path.charCodeAt(Q.path.length-1)===42||!(W in XJ))continue;if(W==="ALL"){if(!(`WS_${Q.path}`in $))Z[Q.path]=Q.hooks?.config?.mount?Q.hooks.trace||Y.event.trace||Y.extender.higherOrderFunctions?F6(Y,Q):Q.hooks.mount||Q.handler:Q.handler;continue}let J,M=Y.config.precompile?F6(Y,Q):(G)=>{if(J)return J(G);return(J=F6(Y,Q))(G)};for(let G of ZJ(Q.path))X({method:W,path:G},M)}return Z},gZ=(Y,Z)=>{if(!Z)return Y;for(let X of Object.keys(Z)){if(Y[X]===Z[X])continue;if(!Y[X]){Y[X]=Z[X];continue}if(Y[X]&&Z[X]){if(typeof Y[X]==="function"||Y[X]instanceof Response){Y[X]=Z[X];continue}Y[X]={...Y[X],...Z[X]}}}return Y},Rw={...f6,name:"bun",handler:{mapResponse:S0,mapEarlyResponse:F0,mapCompactResponse:vY,createStaticHandler:Jw,createNativeStaticHandler:Kw},composeHandler:{...f6.composeHandler,headers:I6?`c.headers=c.request.headers.toJSON()
407
+ },`:`path:'${route.path}',`:"";fnLiteral+=allocateIf2("const c=",!isInline)+"{request,store,"+allocateIf2("qi,",needsQuery)+allocateIf2("params:request.params,",isDynamic)+getPath+allocateIf2("url:request.url,",hasTrace||inference.url||needsQuery)+"redirect,status,set:{headers:"+(isNotEmpty(defaultHeaders)?"Object.assign({},app.setHeaders)":"Object.create(null)")+",status:200}",inference.server&&(fnLiteral+=",get server(){return app.getServer()}"),hasTrace&&(fnLiteral+=",[ELYSIA_REQUEST_ID]:id");{let decoratorsLiteral="";for(let key of Object.keys(app.singleton.decorator))decoratorsLiteral+=`,'${key}':decorator['${key}']`;fnLiteral+=decoratorsLiteral}return fnLiteral+=`}
408
+ `,fnLiteral},createBunRouteHandler=(app,route)=>{let hasTrace=!!app.event.trace?.length,hasHoc=!!app.extender.higherOrderFunctions.length,inference=sucrose(route.hooks,app.inference);inference=sucrose({handler:route.handler},inference);let fnLiteral="const handler=data.handler,app=data.app,store=data.store,decorator=data.decorator,redirect=data.redirect,route=data.route,mapEarlyResponse=data.mapEarlyResponse,"+allocateIf2("randomId=data.randomId,",hasTrace)+allocateIf2("ELYSIA_REQUEST_ID=data.ELYSIA_REQUEST_ID,",hasTrace)+allocateIf2("ELYSIA_TRACE=data.ELYSIA_TRACE,",hasTrace)+allocateIf2("trace=data.trace,",hasTrace)+allocateIf2("hoc=data.hoc,",hasHoc)+`status=data.status
409
+ `;app.event.request?.length&&(fnLiteral+=`const onRequest=app.event.request.map(x=>x.fn)
410
+ `),fnLiteral+=`${app.event.request?.find(isAsync)?"async":""} function map(request){`;let needsQuery=inference.query||!!route.hooks.query||!!route.hooks.standaloneValidator?.find((x)=>x.query);return hasTrace||needsQuery||app.event.request?.length?(fnLiteral+=createContext(app,route,inference),fnLiteral+=createOnRequestHandler(app),fnLiteral+="return handler(c)}"):fnLiteral+=`return handler(${createContext(app,route,inference,!0)})}`,fnLiteral+=createHoc(app),Function("data",fnLiteral)({app,handler:route.compile?.()??route.composed,redirect,status,hoc:app.extender.higherOrderFunctions.map((x)=>x.fn),store:app.store,decorator:app.decorator,route:route.path,randomId:hasTrace?randomId:void 0,ELYSIA_TRACE:hasTrace?ELYSIA_TRACE:void 0,ELYSIA_REQUEST_ID:hasTrace?ELYSIA_REQUEST_ID:void 0,trace:hasTrace?app.event.trace?.map((x)=>x?.fn??x):void 0,mapEarlyResponse:mapEarlyResponse2})};var isEmptyPipelineHook=(hooks)=>{for(let key in hooks){switch(key){case"detail":case"tags":case"start":case"stop":case"error":case"afterResponse":continue}let value=hooks[key];if(value!==void 0&&value!==!1&&(!Array.isArray(value)||value.length))return!1}return!0},createNativeStaticHandler=(handle,hooks,set)=>{if(typeof handle=="function"||handle instanceof Blob||!isEmptyPipelineHook(hooks))return;if(isHTMLBundle(handle))return()=>handle;let response=mapResponse2(handle instanceof Response?handle.clone():handle instanceof Promise?handle.then((x)=>x instanceof Response?x.clone():isHTMLBundle(x)?()=>x:x):handle,set??{headers:{}});return response instanceof Promise?response.then((response2)=>{if(response2)return response2.clone()}):()=>response.clone()};function isInvalidResponse(validator,data){return validator?validator.provider==="standard"?validator.schema["~standard"].validate(data).issues:validator.Check(data)===!1:!1}var websocket={open(ws){ws.data.open?.(ws)},message(ws,message){ws.data.message?.(ws,message)},drain(ws){ws.data.drain?.(ws)},close(ws,code,reason){ws.data.close?.(ws,code,reason)},ping(ws){ws.data.ping?.(ws)},pong(ws){ws.data.pong?.(ws)}};class ElysiaWS{constructor(raw,data,body=void 0){this.raw=raw,this.data=data,this.body=body,this.validator=raw.data?.validator,this.sendText=raw.sendText.bind(raw),this.sendBinary=raw.sendBinary.bind(raw),this.close=raw.close.bind(raw),this.terminate=raw.terminate.bind(raw),this.publishText=raw.publishText.bind(raw),this.publishBinary=raw.publishBinary.bind(raw),this.subscribe=raw.subscribe.bind(raw),this.unsubscribe=raw.unsubscribe.bind(raw),this.isSubscribed=raw.isSubscribed.bind(raw),this.cork=raw.cork.bind(raw),this.remoteAddress=raw.remoteAddress,this.binaryType=raw.binaryType,this.data=raw.data,this.subscriptions=raw.subscriptions,this.send=this.send.bind(this),this.ping=this.ping.bind(this),this.pong=this.pong.bind(this),this.publish=this.publish.bind(this)}send(data,compress){return Buffer.isBuffer(data)?this.raw.send(data,compress):isInvalidResponse(this.validator,data)?this.raw.send(new ValidationError("message",this.validator,data).message):(typeof data=="object"&&(data=JSON.stringify(data)),this.raw.send(data,compress))}ping(data){return Buffer.isBuffer(data)?this.raw.ping(data):isInvalidResponse(this.validator,data)?this.raw.send(new ValidationError("message",this.validator,data).message):(typeof data=="object"&&(data=JSON.stringify(data)),this.raw.ping(data))}pong(data){return Buffer.isBuffer(data)?this.raw.pong(data):isInvalidResponse(this.validator,data)?this.raw.send(new ValidationError("message",this.validator,data).message):(typeof data=="object"&&(data=JSON.stringify(data)),this.raw.pong(data))}publish(topic,data,compress){return Buffer.isBuffer(data)?this.raw.publish(topic,data,compress):isInvalidResponse(this.validator,data)?this.raw.send(new ValidationError("message",this.validator,data).message):(typeof data=="object"&&(data=JSON.stringify(data)),this.raw.publish(topic,data,compress))}get readyState(){return this.raw.readyState}get id(){return this.data.id}}var createWSMessageParser=(parse)=>{let parsers=typeof parse=="function"?[parse]:parse;return async function(ws,message){if(typeof message=="string"){let start=message?.charCodeAt(0);if(start===34||start===47||start===91||start===123)try{message=JSON.parse(message)}catch{}else isNumericString(message)?message=+message:message==="true"?message=!0:message==="false"?message=!1:message==="null"&&(message=null)}if(parsers)for(let i=0;i<parsers.length;i++){let temp=parsers[i](ws,message);if(temp instanceof Promise&&(temp=await temp),temp!==void 0)return temp}return message}},createHandleWSResponse=(responseValidator)=>{let handleWSResponse=(ws,data)=>{if(data instanceof Promise)return data.then((data2)=>handleWSResponse(ws,data2));if(Buffer.isBuffer(data))return ws.send(data.toString());if(data===void 0)return;let send=(datum)=>{if(datum!==void 0){if(isInvalidResponse(responseValidator,datum))return ws.send(new ValidationError("message",responseValidator,datum).message);if(typeof datum=="object")return ws.send(JSON.stringify(datum));ws.send(datum)}};if(typeof data?.next!="function")return void send(data);let init=data.next();if(init instanceof Promise)return(async()=>{let first=await init;if(send(first.value),!first.done)for await(let datum of data)send(datum)})();if(send(init.value),!init.done)for(let datum of data)send(datum)};return handleWSResponse};var optionalParam=/:.+?\?(?=\/|$)/,getPossibleParams=(path)=>{let match=optionalParam.exec(path);if(!match)return[path];let routes=[],head=path.slice(0,match.index),param=match[0].slice(0,-1),tail=path.slice(match.index+match[0].length);routes.push(head.slice(0,-1)),routes.push(head+param);for(let fragment of getPossibleParams(tail))fragment&&(fragment.startsWith("/:")||routes.push(head.slice(0,-1)+fragment),routes.push(head+param+fragment));return routes},isHTMLBundle=(handle)=>typeof handle=="object"&&handle!==null&&(handle.toString()==="[object HTMLBundle]"||typeof handle.index=="string"),supportedMethods={GET:!0,HEAD:!0,OPTIONS:!0,DELETE:!0,PATCH:!0,POST:!0,PUT:!0},mapRoutes=(app)=>{if(!app.config.aot||app.config.systemRouter===!1)return;let routes={},add=(route,handler)=>{let path=encodeURI(route.path);routes[path]?routes[path][route.method]||(routes[path][route.method]=handler):routes[path]={[route.method]:handler}},tree=app.routeTree;for(let route of app.router.history){if(typeof route.handler!="function")continue;let method=route.method;if(method==="GET"&&`WS_${route.path}`in tree||method==="WS"||route.path.charCodeAt(route.path.length-1)===42||!(method in supportedMethods))continue;if(method==="ALL"){`WS_${route.path}`in tree||(routes[route.path]=route.hooks?.config?.mount?route.hooks.trace||app.event.trace||app.extender.higherOrderFunctions?createBunRouteHandler(app,route):route.hooks.mount||route.handler:route.handler);continue}let compiled,handler=app.config.precompile?createBunRouteHandler(app,route):(request)=>compiled?compiled(request):(compiled=createBunRouteHandler(app,route))(request);for(let path of getPossibleParams(route.path))add({method,path},handler)}return routes},mergeRoutes=(r1,r2)=>{if(!r2)return r1;for(let key of Object.keys(r2))if(r1[key]!==r2[key]){if(!r1[key]){r1[key]=r2[key];continue}if(r1[key]&&r2[key]){if(typeof r1[key]=="function"||r1[key]instanceof Response){r1[key]=r2[key];continue}r1[key]={...r1[key],...r2[key]}}}return r1},removeTrailingPath=(routes)=>{for(let key of Object.keys(routes))key.length>1&&key.charCodeAt(key.length-1)===47&&(routes[key.slice(0,-1)]=routes[key],delete routes[key]);return routes},BunAdapter={...WebStandardAdapter,name:"bun",handler:{mapResponse:mapResponse2,mapEarlyResponse:mapEarlyResponse2,mapCompactResponse:mapCompactResponse2,createStaticHandler:createStaticHandler2,createNativeStaticHandler},composeHandler:{...WebStandardAdapter.composeHandler,headers:hasHeaderShorthand?`c.headers=c.request.headers.toJSON()
410
411
  `:`c.headers={}
411
412
  for(const [k,v] of c.request.headers.entries())c.headers[k]=v
412
- `},listen(Y){return(Z,X)=>{if(typeof Bun>"u")throw Error(".listen() is designed to run on Bun only. If you are running Elysia in other environment please use a dedicated plugin or export the handler via Elysia.fetch");if(Y.compile(),typeof Z==="string"){if(!b4(Z))throw Error("Port must be a numeric value");Z=parseInt(Z)}let $=(W,{withAsync:J=!1}={})=>{let M={},G=[];for(let[B,z]of Object.entries(W))if(B=encodeURI(B),x4){if(!z)continue;for(let[q,A]of Object.entries(z)){if(!A||!(q in XJ))continue;if(A instanceof Promise){if(J){if(!M[B])M[B]={};G.push(A.then((N)=>{if(N instanceof Response)M[B][q]=N;if(d6(N))M[B][q]=N}))}continue}if(!(A instanceof Response)&&!d6(A))continue;if(!M[B])M[B]={};M[B][q]=A}}else{if(!z)continue;if(z instanceof Promise){if(J){if(!M[B])M[B]={};G.push(z.then((q)=>{if(q instanceof Response)M[B]=q}))}continue}if(!(z instanceof Response))continue;M[B]=z}if(J)return Promise.all(G).then(()=>M);return M},Q=typeof Z==="object"?{development:!S8,reusePort:!0,idleTimeout:30,...Y.config.serve||{},...Z||{},routes:gZ(gZ($(Y.router.response),S6(Y)),Y.config.serve?.routes),websocket:{...Y.config.websocket||{},..._4||{},...Z.websocket||{}},fetch:Y.fetch}:{development:!S8,reusePort:!0,idleTimeout:30,...Y.config.serve||{},routes:gZ(gZ($(Y.router.response),S6(Y)),Y.config.serve?.routes),websocket:{...Y.config.websocket||{},..._4||{}},port:Z,fetch:Y.fetch};if(Y.server=Bun.serve(Q),Y.event.start)for(let W=0;W<Y.event.start.length;W++)Y.event.start[W].fn(Y);if(X)X(Y.server);process.on("beforeExit",async()=>{if(Y.server){if(await Y.server.stop?.(),Y.server=null,Y.event.stop)for(let W=0;W<Y.event.stop.length;W++)Y.event.stop[W].fn(Y)}}),Y.promisedModules.then(async()=>{Y.config.aot,Y.compile(),Y.server?.reload({...Q,fetch:Y.fetch,routes:gZ(gZ(await $(Y.router.response,{withAsync:!0}),S6(Y)),Y.config.serve?.routes)}),Bun?.gc(!1)})}},async stop(Y,Z){if(Y.server){if(await Y.server.stop(Z),Y.server=null,Y.event.stop?.length)for(let X=0;X<Y.event.stop.length;X++)Y.event.stop[X].fn(Y)}else console.log("Elysia isn't running. Call `app.listen` to start the server.",Error().stack)},ws(Y,Z,X){let{parse:$,body:Q,response:W,...J}=X,M=$0(Q,{modules:Y.definitions.typebox,models:Y.definitions.type,normalize:Y.config.normalize}),G=M?M.provider==="standard"?(z)=>M.schema["~standard"].validate(z).issues:(z)=>M.Check(z)===!1:void 0,B=$0(W,{modules:Y.definitions.typebox,models:Y.definitions.type,normalize:Y.config.normalize});Y.route("WS",Z,async(z)=>{let q=z.server??Y.server,{set:A,path:N,qi:D,headers:P,query:I,params:O}=z;if(z.validator=B,X.upgrade){if(typeof X.upgrade==="function"){let b=X.upgrade(z);if(b instanceof Promise)await b}else if(X.upgrade)Object.assign(A.headers,X.upgrade)}if(A.cookie&&x1(A.cookie)){let b=i4(A.cookie);if(b)A.headers["set-cookie"]=b}if(A.headers["set-cookie"]&&Array.isArray(A.headers["set-cookie"]))A.headers=l4(new Headers(A.headers),A.headers["set-cookie"]);let j=Sw(B),m=Fw($),k;if(typeof X.beforeHandle==="function"){let b=X.beforeHandle(z);if(b instanceof Promise)await b}let u=[...X.error?Array.isArray(X.error)?X.error:[X.error]:[],...(Y.event.error??[]).map((b)=>typeof b==="function"?b:b.fn)].filter((b)=>b),g=u.length>0,v=!g?()=>{}:async(b,x)=>{for(let V of u){let T=V(Object.assign(z,{error:x}));if(T instanceof Promise)T=await T;if(await j(b,T),T)break}};if(q?.upgrade(z.request,{headers:x1(A.headers)?A.headers:void 0,data:{...z,get id(){if(k)return k;return k=xX()},validator:B,ping(b,x){X.ping?.(b,x)},pong(b,x){X.pong?.(b,x)},open:async(b)=>{try{await j(b,X.open?.(new IX(b,z)))}catch(x){v(b,x)}},message:async(b,x)=>{let V=await m(b,x);if(G&&G(V)){let T=new Y1("message",M,V);if(!g)return void b.send(T.message);return v(b,T)}try{await j(b,X.message?.(new IX(b,z,V),V))}catch(T){v(b,T)}},drain:async(b)=>{try{await j(b,X.drain?.(new IX(b,z)))}catch(x){v(b,x)}},close:async(b,x,V)=>{try{await j(b,X.close?.(new IX(b,z),x,V))}catch(T){v(b,T)}}}}))return;return dZ(400,"Expected a websocket connection")},{...J,websocket:X})}},$J=/^(.+)\[(\d+)\]$/,j4=new Set(["__proto__","constructor","prototype"]),K4=(Y)=>{if(j4.has(Y))return!0;let Z=Y.match($J);return Z?j4.has(Z[1]):!1},F4=(Y)=>{let Z=Y.match($J);if(!Z)return null;return{name:Z[1],index:parseInt(Z[2],10)}},Ew=(Y)=>{if(typeof Y!=="string"||Y.charCodeAt(0)!==123)return;try{let Z=JSON.parse(Y);if(Z&&typeof Z==="object"&&!Array.isArray(Z))return Z}catch{return}},C6=(Y,Z,X)=>{let $=Z.split("."),Q=$.pop();if(K4(Q)||$.some(K4))return;let W=Y;for(let M of $){let G=F4(M);if(G){if(!Array.isArray(W[G.name]))W[G.name]=[];let B=W[G.name][G.index],z=typeof File<"u"&&B instanceof File;if(!B||typeof B!=="object"||Array.isArray(B)||z)W[G.name][G.index]=Ew(B)??{};W=W[G.name][G.index]}else{if(!W[M]||typeof W[M]!=="object")W[M]={};W=W[M]}}let J=F4(Q);if(J){if(!Array.isArray(W[J.name]))W[J.name]=[];W[J.name][J.index]=X}else W[Q]=X},R6=(Y)=>{if(Y.length===1){let Q=Y[0];if(typeof Q==="string"){if(Q.charCodeAt(0)===123||Q.charCodeAt(0)===91)try{let W=JSON.parse(Q);if(W&&typeof W==="object")return W}catch{}}return Y[0]}let Z=Y.find((Q)=>typeof Q==="string");if(!Z)return Y;if(typeof File>"u")return Y;let X=Y.filter((Q)=>Q instanceof File);if(!X.length)return Y;if(Z.charCodeAt(0)!==123)return Y;let $;try{$=JSON.parse(Z)}catch{return Y}if(typeof $!=="object"||$===null)return Y;if(!("file"in $)&&X.length===1)$.file=X[0];else if(!("files"in $)&&X.length>1)$.files=X;return $},E6=(Y,Z)=>{let X=Y.schema;if(!X)return;if(X.$defs?.[X.$ref])X=X.$defs[X.$ref];let $=E8(X);if(!$)return;for(let[Q,W]of Object.entries($))Z[Q]??=W.default},S4=(Y)=>{let{mapResponse:Z,mapEarlyResponse:X}=Y["~adapter"].handler,$=Y.setHeaders;return async(Q)=>{let W=Q.url,J=W.indexOf("/",11),M=W.indexOf("?",J+1),G=M===-1?W.substring(J):W.substring(J,M),B={cookie:{},status:200,headers:$?{...$}:{}},z=Object.assign({},Y.singleton.decorator,{set:B,store:Y.singleton.store,request:Q,path:G,qi:M,error:dZ,status:dZ,redirect:XQ}),q;try{if(Y.event.request)for(let x=0;x<Y.event.request.length;x++){let V=Y.event.request[x].fn,T=V(z);if(T instanceof Promise)T=await T;if(T=X(T,B),T)return z.response=T}let A=Q.method==="GET"&&Q.headers.get("upgrade")?.toLowerCase()==="websocket"?"WS":Q.method,N=Y.router.dynamic.find(Q.method,G)??Y.router.dynamic.find(A,G)??Y.router.dynamic.find("ALL",G);if(!N)throw z.query=M===-1?{}:fZ(W.substring(M+1)),new h6;let{handle:D,validator:P,content:I,route:O}=N.store;if(q=N.store.hooks,q.config?.mount)return await q.config.mount(Q);let j;if(Q.method!=="GET"&&Q.method!=="HEAD")if(I)switch(I){case"application/json":j=await Q.json();break;case"text/plain":j=await Q.text();break;case"application/x-www-form-urlencoded":j=fZ(await Q.text());break;case"application/octet-stream":j=await Q.arrayBuffer();break;case"multipart/form-data":{j={};let x=await Q.formData();for(let V of x.keys()){if(j[V])continue;let T=x.getAll(V),y=R6(T);if(V.includes(".")||V.includes("["))C6(j,V,y);else j[V]=y}break}}else{let x;if(Q.body)x=Q.headers.get("content-type");if(x){let V=x.indexOf(";");if(V!==-1)x=x.slice(0,V);if(z.contentType=x,q.parse)for(let T=0;T<q.parse.length;T++){let y=q.parse[T].fn;if(typeof y==="string")switch(y){case"json":case"application/json":j=await Q.json();break;case"text":case"text/plain":j=await Q.text();break;case"urlencoded":case"application/x-www-form-urlencoded":j=fZ(await Q.text());break;case"arrayBuffer":case"application/octet-stream":j=await Q.arrayBuffer();break;case"formdata":case"multipart/form-data":{j={};let c=await Q.formData();for(let i of c.keys()){if(j[i])continue;let u1=c.getAll(i),s=R6(u1);if(i.includes(".")||i.includes("["))C6(j,i,s);else j[i]=s}break}default:{let c=Y["~parser"][y];if(c){let i=c(z,x);if(i instanceof Promise)i=await i;if(i){j=i;break}}break}}else{let c=y(z,x);if(c instanceof Promise)c=await c;if(c){j=c;break}}}if(delete z.contentType,j===void 0)switch(x){case"application/json":j=await Q.json();break;case"text/plain":j=await Q.text();break;case"application/x-www-form-urlencoded":j=fZ(await Q.text());break;case"application/octet-stream":j=await Q.arrayBuffer();break;case"multipart/form-data":{j={};let T=await Q.formData();for(let y of T.keys()){if(j[y])continue;let c=T.getAll(y),i=R6(c);if(y.includes(".")||y.includes("["))C6(j,y,i);else j[y]=i}break}}}}z.route=O,z.body=j,z.params=N?.params||void 0,z.query=M===-1?{}:fZ(W.substring(M+1)),z.headers={};for(let[x,V]of Q.headers.entries())z.headers[x]=V;let m={domain:Y.config.cookie?.domain??P?.cookie?.config.domain,expires:Y.config.cookie?.expires??P?.cookie?.config.expires,httpOnly:Y.config.cookie?.httpOnly??P?.cookie?.config.httpOnly,maxAge:Y.config.cookie?.maxAge??P?.cookie?.config.maxAge,path:Y.config.cookie?.path??P?.cookie?.config.path,priority:Y.config.cookie?.priority??P?.cookie?.config.priority,partitioned:Y.config.cookie?.partitioned??P?.cookie?.config.partitioned,sameSite:Y.config.cookie?.sameSite??P?.cookie?.config.sameSite,secure:Y.config.cookie?.secure??P?.cookie?.config.secure,secrets:Y.config.cookie?.secrets??P?.cookie?.config.secrets,sign:Y.config.cookie?.sign??P?.cookie?.config.sign},k=Q.headers.get("cookie");z.cookie=await p4(z.set,k,m);let u=P?.createHeaders?.();if(u)E6(u,z.headers);let g=P?.createParams?.();if(g)E6(g,z.params);let v=P?.createQuery?.();if(v)E6(v,z.query);if(q.transform)for(let x=0;x<q.transform.length;x++){let V=q.transform[x],T=V.fn(z);if(T instanceof Promise)T=await T;if(T instanceof G0){let y=X(T,z.set);if(y)return z.response=y}if(V.subType==="derive")Object.assign(z,T)}if(P){if(u){let x=structuredClone(z.headers);for(let[V,T]of Q.headers)x[V]=T;if(P.headers.Check(x)===!1)throw new Y1("header",P.headers,x)}else if(P.headers?.Decode)z.headers=P.headers.Decode(z.headers);if(g?.Check(z.params)===!1)throw new Y1("params",P.params,z.params);else if(P.params?.Decode)z.params=P.params.Decode(z.params);if(P.query?.schema){let x=P.query.schema;if(x.$defs?.[x.$ref])x=x.$defs[x.$ref];let V=E8(x);if(V)for(let T of Object.keys(V)){let y=V[T];if((y.type==="array"||y.items?.type==="string")&&typeof z.query[T]==="string"&&z.query[T])z.query[T]=z.query[T].split(",")}}if(v?.Check(z.query)===!1)throw new Y1("query",P.query,z.query);else if(P.query?.Decode)z.query=P.query.Decode(z.query);if(P.createCookie?.()){let x={};for(let[V,T]of Object.entries(z.cookie))x[V]=T.value;if(P.cookie.Check(x)===!1)throw new Y1("cookie",P.cookie,x);else if(P.cookie?.Decode)x=P.cookie.Decode(x)}if(P.createBody?.()?.Check(j)===!1)throw new Y1("body",P.body,j);else if(P.body?.Decode){let x=P.body.Decode(j);if(x instanceof Promise)x=await x;z.body=x?.value??x}}if(q.beforeHandle)for(let x=0;x<q.beforeHandle.length;x++){let V=q.beforeHandle[x],T=V.fn(z);if(T instanceof Promise)T=await T;if(T instanceof G0){let y=X(T,z.set);if(y)return z.response=y}if(V.subType==="resolve"){Object.assign(z,T);continue}if(T!==void 0){if(z.response=T,q.afterHandle)for(let c=0;c<q.afterHandle.length;c++){let i=q.afterHandle[c].fn(z);if(i instanceof Promise)i=await i;if(i)T=i}let y=X(T,z.set);if(y)return z.response=y}}let b=typeof D==="function"?D(z):D;if(b instanceof Promise)b=await b;if(!q.afterHandle?.length){let x=b instanceof G0,V=x?b.code:B.status?typeof B.status==="string"?vZ[B.status]:B.status:200;if(x)B.status=V,b=b.response;let T=P?.createResponse?.()?.[V];if(T?.Check(b)===!1)if(T?.Clean)try{let y=T.Clean(b);if(T?.Check(y)===!1)throw new Y1("response",T,b);b=y}catch(y){if(y instanceof Y1)throw y;throw new Y1("response",T,b)}else throw new Y1("response",T,b);if(T?.Encode)b=T.Encode(b);if(T?.Clean)try{b=T.Clean(b)}catch{}}else{z.response=b;for(let x=0;x<q.afterHandle.length;x++){let V=q.afterHandle[x].fn(z);if(V instanceof Promise)V=await V;let T=V instanceof G0,y=T?V.code:B.status?typeof B.status==="string"?vZ[B.status]:B.status:200;if(T)B.status=y,V=V.response;let c=P?.createResponse?.()?.[y];if(c?.Check(V)===!1)if(c?.Clean)try{let u1=c.Clean(V);if(c?.Check(u1)===!1)throw new Y1("response",c,V);V=u1}catch(u1){if(u1 instanceof Y1)throw u1;throw new Y1("response",c,V)}else throw new Y1("response",c,V);if(c?.Encode)z.response=V=c.Encode(V);if(c?.Clean)try{z.response=V=c.Clean(V)}catch{}let i=X(V,z.set);if(i!==void 0)return z.response=i}}if(z.set.cookie&&m?.sign){let x=!m.secrets?void 0:typeof m.secrets==="string"?m.secrets:m.secrets[0];if(m.sign===!0){if(x)for(let[V,T]of Object.entries(z.set.cookie))z.set.cookie[V].value=await i$(T.value,x)}else{let V=E8(P?.cookie?.schema);if(x)for(let T of m.sign){if(!V||!(T in V))continue;if(z.set.cookie[T]?.value)z.set.cookie[T].value=await i$(z.set.cookie[T].value,x)}}}return Z(z.response=b,z.set)}catch(A){let N=A instanceof h8&&A.error?A.error:A;return Y.handleError(z,N)}finally{let A=q?q.afterResponse:Y.event.afterResponse;if(A)if(I4)setImmediate(async()=>{for(let N of A)await N.fn(z)});else Promise.resolve().then(async()=>{for(let N of A)await N.fn(z)})}}},Vw=(Y)=>{let{mapResponse:Z}=Y["~adapter"].handler;return async(X,$)=>{let Q=Object.assign(X,{error:$,code:$.code});if(Q.set=X.set,typeof $?.toResponse==="function"&&!($ instanceof Y1)&&!($ instanceof h8))try{let W=$.toResponse();if(typeof W?.then==="function")W=await W;if(W instanceof Response)X.set.status=W.status;X.response=W}catch(W){}if(!X.response&&Y.event.error)for(let W=0;W<Y.event.error.length;W++){let J=Y.event.error[W].fn(Q);if(J instanceof Promise)J=await J;if(J!==void 0&&J!==null)return X.response=Z(J,X.set)}if(X.response){if(Y.event.mapResponse)for(let W=0;W<Y.event.mapResponse.length;W++){let J=Y.event.mapResponse[W].fn(Q);if(J instanceof Promise)J=await J;if(J!==void 0&&J!==null)X.response=J}return Z(X.response,X.set)}return X.set.status=$.status??500,Z(typeof $.cause==="string"?$.cause:$.message,X.set)}};class $Y{config;server=null;dependencies={};"~Prefix"="";"~Singleton"=null;"~Definitions"=null;"~Metadata"=null;"~Ephemeral"=null;"~Volatile"=null;"~Routes"=null;singleton={decorator:{},store:{},derive:{},resolve:{}};get store(){return this.singleton.store}get decorator(){return this.singleton.decorator}definitions={typebox:f.Module({}),type:{},error:{}};extender={macro:{},higherOrderFunctions:[]};validator={global:null,scoped:null,local:null,getCandidate(){if(!this.global&&!this.scoped&&!this.local)return{body:void 0,headers:void 0,params:void 0,query:void 0,cookie:void 0,response:void 0};return _X(_X(this.global,this.scoped),this.local)}};standaloneValidator={global:null,scoped:null,local:null};event={};telemetry;router={"~http":void 0,get http(){if(!this["~http"])this["~http"]=new yZ({lazy:!0,onParam:s5.default});return this["~http"]},"~dynamic":void 0,get dynamic(){if(!this["~dynamic"])this["~dynamic"]=new yZ({onParam:s5.default});return this["~dynamic"]},static:{},response:{},history:[]};routeTree={};get routes(){return this.router.history}getGlobalRoutes(){return this.router.history}getGlobalDefinitions(){return this.definitions}inference={body:!1,cookie:!1,headers:!1,query:!1,set:!1,server:!1,path:!1,route:!1,url:!1};getServer(){return this.server}getParent(){return null}"~parser"={};_promisedModules;get promisedModules(){if(!this._promisedModules)this._promisedModules=new T4(console.error,()=>{});return this._promisedModules}constructor(Y={}){if(Y.tags)if(!Y.detail)Y.detail={tags:Y.tags};else Y.detail.tags=Y.tags;if(this.config={aot:g6.ELYSIA_AOT!=="false",nativeStaticResponse:!0,encodeSchema:!0,normalize:!0,...Y,prefix:Y.prefix?Y.prefix.charCodeAt(0)===47?Y.prefix:`/${Y.prefix}`:void 0,cookie:{path:"/",...Y?.cookie},experimental:Y?.experimental??{},seed:Y?.seed===void 0?"":Y?.seed},this["~adapter"]=Y.adapter??(typeof Bun<"u"?Rw:f6),Y?.analytic&&(Y?.name||Y?.seed!==void 0))this.telemetry={stack:Error().stack}}"~adapter";env(Y,Z=g6){if($0(Y,{modules:this.definitions.typebox,dynamic:!0,additionalProperties:!0,coerce:!0,sanitize:()=>this.config.sanitize}).Check(Z)===!1){let X=new Y1("env",Y,Z);throw Error(X.all.map(($)=>$.summary).join(`
413
- `))}return this}wrap(Y){return this.extender.higherOrderFunctions.push({checksum:FX(JSON.stringify({name:this.config.name,seed:this.config.seed,content:Y.toString()})),fn:Y}),this}get models(){let Y={};for(let Z of Object.keys(this.definitions.type))Y[Z]=$0(this.definitions.typebox.Import(Z),{models:this.definitions.type});return Y.modules=this.definitions.typebox,Y}add(Y,Z,X,$,Q){let W=Q?.skipPrefix??!1,J=Q?.allowMeta??!1;$??={},this.applyMacro($);let M=[];if($.standaloneValidator)M=M.concat($.standaloneValidator);if(this.standaloneValidator.local)M=M.concat(this.standaloneValidator.local);if(this.standaloneValidator.scoped)M=M.concat(this.standaloneValidator.scoped);if(this.standaloneValidator.global)M=M.concat(this.standaloneValidator.global);if(Z!==""&&Z.charCodeAt(0)!==47)Z="/"+Z;if(this.config.prefix&&!W)Z=this.config.prefix+Z;if($?.type)switch($.type){case"text":$.type="text/plain";break;case"json":$.type="application/json";break;case"formdata":$.type="multipart/form-data";break;case"urlencoded":$.type="application/x-www-form-urlencoded";break;case"arrayBuffer":$.type="application/octet-stream";break;default:break}let G=this.validator.getCandidate(),B={body:$?.body??G?.body,headers:$?.headers??G?.headers,params:$?.params??G?.params,query:$?.query??G?.query,cookie:$?.cookie??G?.cookie,response:$?.response??G?.response},z=this.config.precompile===!0||typeof this.config.precompile==="object"&&this.config.precompile.compose===!0,q=()=>{let V=this.definitions.type,T=!this.config.aot,y=this.config.normalize,c=this.definitions.typebox,i=()=>this.config.sanitize,u1=()=>{if(B.cookie||M.find((s)=>s.cookie))return ww({modules:c,validator:B.cookie,defaultConfig:this.config.cookie,normalize:y,config:B.cookie?.config??{},dynamic:T,models:V,validators:M.map((s)=>s.cookie),sanitize:i})};return z?{body:$0(B.body,{modules:c,dynamic:T,models:V,normalize:y,additionalCoerce:(()=>{let s=L4(B.body,V,c);return s&&L in s&&(O0("File",s)||O0("Files",s))?w4():y6()})(),validators:M.map((s)=>s.body),sanitize:i}),headers:$0(B.headers,{modules:c,dynamic:T,models:V,additionalProperties:!0,coerce:!0,additionalCoerce:EX(),validators:M.map((s)=>s.headers),sanitize:i}),params:$0(B.params,{modules:c,dynamic:T,models:V,coerce:!0,additionalCoerce:EX(),validators:M.map((s)=>s.params),sanitize:i}),query:$0(B.query,{modules:c,dynamic:T,models:V,normalize:y,coerce:!0,additionalCoerce:D4(),validators:M.map((s)=>s.query),sanitize:i}),cookie:u1(),response:O4(B.response,{modules:c,dynamic:T,models:V,normalize:y,validators:M.map((s)=>s.response),sanitize:i})}:{createBody(){if(this.body)return this.body;return this.body=$0(B.body,{modules:c,dynamic:T,models:V,normalize:y,additionalCoerce:(()=>{let s=L4(B.body,V,c);return s&&L in s&&(O0("File",s)||O0("Files",s))?w4():y6()})(),validators:M.map((s)=>s.body),sanitize:i})},createHeaders(){if(this.headers)return this.headers;return this.headers=$0(B.headers,{modules:c,dynamic:T,models:V,normalize:y,additionalProperties:!y,coerce:!0,additionalCoerce:EX(),validators:M.map((s)=>s.headers),sanitize:i})},createParams(){if(this.params)return this.params;return this.params=$0(B.params,{modules:c,dynamic:T,models:V,normalize:y,coerce:!0,additionalCoerce:EX(),validators:M.map((s)=>s.params),sanitize:i})},createQuery(){if(this.query)return this.query;return this.query=$0(B.query,{modules:c,dynamic:T,models:V,normalize:y,coerce:!0,additionalCoerce:D4(),validators:M.map((s)=>s.query),sanitize:i})},createCookie(){if(this.cookie)return this.cookie;return this.cookie=u1()},createResponse(){if(this.response)return this.response;return this.response=O4(B.response,{modules:c,dynamic:T,models:V,normalize:y,validators:M.map((s)=>s.response),sanitize:i})}}};if(G.body||G.cookie||G.headers||G.params||G.query||G.response)$=s8($,G);if($.tags)if(!$.detail)$.detail={tags:$.tags};else $.detail.tags=$.tags;if(x1(this.config.detail))$.detail=M0(Object.assign({},this.config.detail),$.detail);let A=x1(this.event)?s8(this.event,$4($)):{...ND($4($))};if(M.length)Object.assign(A,{standaloneValidator:M});if(this.config.aot===!1){let V=q();this.router.dynamic.add(Y,Z,{validator:V,hooks:A,content:$?.type,handle:X,route:Z});let T=CX(Z,{dynamic:!0});if(Z!==T)this.router.dynamic.add(Y,T,{validator:V,hooks:A,content:$?.type,handle:X,route:Z});if(!this.config.strictPath){let y=SX(Z);this.router.dynamic.add(Y,y,{validator:V,hooks:A,content:$?.type,handle:X,route:Z});let c=CX(y);if(y!==c)this.router.dynamic.add(Y,y,{validator:V,hooks:A,content:$?.type,handle:X,route:Z})}this.router.history.push({method:Y,path:Z,composed:null,handler:X,compile:void 0,hooks:A});return}let N=this["~adapter"].handler,D=typeof X!=="function"?()=>{let V={redirect:XQ,request:this["~adapter"].isWebStandard?new Request(`http://ely.sia${Z}`,{method:Y}):void 0,server:null,set:{headers:Object.assign({},this.setHeaders)},status:dZ,store:this.store};try{this.event.request?.map((y)=>{if(typeof y.fn==="function")return y.fn(V);if(typeof y==="function")return y(V)})}catch(y){let c;if(V.error=y,this.event.error?.some((i)=>{if(typeof i.fn==="function")return c=i.fn(V);if(typeof i==="function")return c=i(V)}),c!==void 0)X=c}let T=N.createNativeStaticHandler?.(X,A,V.set);return T instanceof Promise?T.then((y)=>{if(y)return y}):T?.()}:void 0,P=this.config.nativeStaticResponse===!0,I=(V)=>{if(!P||!D)return;if(x4)if(this.router.response[V])this.router.response[V][Y]=D();else this.router.response[V]={[Y]:D()};else this.router.response[V]=D()};I(Z);let O,j=()=>{if(O)return O;let V=jw({app:this,path:Z,method:Y,hooks:A,validator:q(),handler:typeof X!=="function"&&typeof N.createStaticHandler!=="function"?()=>X:X,allowMeta:J,inference:this.inference});if(this.router.history[k])O=this.router.history[k].composed=V;return V},m;if(`${Y}_${Z}`in this.routeTree)for(let V=0;V<this.router.history.length;V++){let T=this.router.history[V];if(T.path===Z&&T.method===Y){m=V;break}}else this.routeTree[`${Y}_${Z}`]=this.router.history.length;let k=m??this.router.history.length,u=this.router.history,g=z?j():(V)=>O?O(V):(u[k].composed=j())(V);if(m!==void 0)this.router.history[m]=Object.assign({method:Y,path:Z,composed:g,compile:j,handler:X,hooks:A},M.length?{standaloneValidators:M}:void 0,$.webSocket?{websocket:$.websocket}:void 0);else this.router.history.push(Object.assign({method:Y,path:Z,composed:g,compile:j,handler:X,hooks:A},$.webSocket?{websocket:$.websocket}:void 0));let v={handler:z?u[k].composed:void 0,compile(){return this.handler=j()}},b=this.router.static,x=Z.indexOf(":")===-1&&Z.indexOf("*")===-1;if(Y==="WS"){if(x){if(Z in b)b[Z][Y]=k;else b[Z]={[Y]:k};return}if(this.router.http.add("WS",Z,v),!this.config.strictPath)this.router.http.add("WS",SX(Z),v);let V=CX(Z,{dynamic:!0});if(Z!==V)this.router.http.add("WS",V,v);return}if(x){if(Z in b)b[Z][Y]=k;else b[Z]={[Y]:k};if(!this.config.strictPath)I(SX(Z))}else{if(this.router.http.add(Y,Z,v),!this.config.strictPath){let T=SX(Z);I(T),this.router.http.add(Y,T,v)}let V=CX(Z,{dynamic:!0});if(Z!==V)this.router.http.add(Y,V,v),I(V)}}setHeaders;headers(Y){if(!Y)return this;if(!this.setHeaders)this.setHeaders={};return this.setHeaders=M0(this.setHeaders,Y),this}onStart(Y){return this.on("start",Y),this}onRequest(Y){return this.on("request",Y),this}onParse(Y,Z){if(!Z){if(typeof Y==="string")return this.on("parse",this["~parser"][Y]);return this.on("parse",Y)}return this.on(Y,"parse",Z)}parser(Y,Z){return this["~parser"][Y]=Z,this}onTransform(Y,Z){if(!Z)return this.on("transform",Y);return this.on(Y,"transform",Z)}resolve(Y,Z){if(!Z)Z=Y,Y={as:"local"};let X={subType:"resolve",fn:Z};return this.onBeforeHandle(Y,X)}mapResolve(Y,Z){if(!Z)Z=Y,Y={as:"local"};let X={subType:"mapResolve",fn:Z};return this.onBeforeHandle(Y,X)}onBeforeHandle(Y,Z){if(!Z)return this.on("beforeHandle",Y);return this.on(Y,"beforeHandle",Z)}onAfterHandle(Y,Z){if(!Z)return this.on("afterHandle",Y);return this.on(Y,"afterHandle",Z)}mapResponse(Y,Z){if(!Z)return this.on("mapResponse",Y);return this.on(Y,"mapResponse",Z)}onAfterResponse(Y,Z){if(!Z)return this.on("afterResponse",Y);return this.on(Y,"afterResponse",Z)}trace(Y,Z){if(!Z)Z=Y,Y={as:"local"};if(!Array.isArray(Z))Z=[Z];for(let X of Z)this.on(Y,"trace",zw(X));return this}error(Y,Z){switch(typeof Y){case"string":return Z.prototype[l$]=Y,this.definitions.error[Y]=Z,this;case"function":return this.definitions.error=Y(this.definitions.error),this}for(let[X,$]of Object.entries(Y))$.prototype[l$]=X,this.definitions.error[X]=$;return this}onError(Y,Z){if(!Z)return this.on("error",Y);return this.on(Y,"error",Z)}onStop(Y){return this.on("stop",Y),this}on(Y,Z,X){let $;switch(typeof Y){case"string":$=Y,X=Z;break;case"object":if($=Z,!Array.isArray(Z)&&typeof Z==="object")X=Z;break}if(Array.isArray(X))X=X0(X);else if(typeof X==="function")X=[{fn:X}];else X=[X];let Q=X;for(let W of Q)if(W.scope=typeof Y==="string"?"local":Y?.as??"local",$==="resolve"||$==="derive")W.subType=$;if($!=="trace")this.inference=t$({[$]:Q.map((W)=>W.fn)},this.inference,this.config.sucrose);for(let W of Q){let J=UD(W,"global",{skipIfHasType:!0});switch($){case"start":this.event.start??=[],this.event.start.push(J);break;case"request":this.event.request??=[],this.event.request.push(J);break;case"parse":this.event.parse??=[],this.event.parse.push(J);break;case"transform":this.event.transform??=[],this.event.transform.push(J);break;case"derive":this.event.transform??=[],this.event.transform.push(X0(J,"derive"));break;case"beforeHandle":this.event.beforeHandle??=[],this.event.beforeHandle.push(J);break;case"resolve":this.event.beforeHandle??=[],this.event.beforeHandle.push(X0(J,"resolve"));break;case"afterHandle":this.event.afterHandle??=[],this.event.afterHandle.push(J);break;case"mapResponse":this.event.mapResponse??=[],this.event.mapResponse.push(J);break;case"afterResponse":this.event.afterResponse??=[],this.event.afterResponse.push(J);break;case"trace":this.event.trace??=[],this.event.trace.push(J);break;case"error":this.event.error??=[],this.event.error.push(J);break;case"stop":this.event.stop??=[],this.event.stop.push(J);break}}return this}as(Y){if(K8(this.event.parse,Y),K8(this.event.transform,Y),K8(this.event.beforeHandle,Y),K8(this.event.afterHandle,Y),K8(this.event.mapResponse,Y),K8(this.event.afterResponse,Y),K8(this.event.trace,Y),K8(this.event.error,Y),Y==="scoped"){if(this.validator.scoped=_X(this.validator.scoped,this.validator.local),this.validator.local=null,this.standaloneValidator.local!==null)this.standaloneValidator.scoped||=[],this.standaloneValidator.scoped.push(...this.standaloneValidator.local),this.standaloneValidator.local=null}else if(Y==="global"){if(this.validator.global=_X(this.validator.global,_X(this.validator.scoped,this.validator.local)),this.validator.scoped=null,this.validator.local=null,this.standaloneValidator.local!==null)this.standaloneValidator.scoped||=[],this.standaloneValidator.scoped.push(...this.standaloneValidator.local),this.standaloneValidator.local=null;if(this.standaloneValidator.scoped!==null)this.standaloneValidator.global||=[],this.standaloneValidator.global.push(...this.standaloneValidator.scoped),this.standaloneValidator.scoped=null}return this}group(Y,Z,X){let $=new $Y({...this.config,prefix:""});$.singleton={...this.singleton},$.definitions={...this.definitions},$.getServer=()=>this.getServer(),$.inference=W4(this.inference),$.extender={...this.extender},$["~parser"]=this["~parser"],$.standaloneValidator={local:[...this.standaloneValidator.local??[]],scoped:[...this.standaloneValidator.scoped??[]],global:[...this.standaloneValidator.global??[]]};let Q=typeof Z==="object",W=(Q?X:Z)($);if(this.singleton=M0(this.singleton,$.singleton),this.definitions=M0(this.definitions,$.definitions),W.event.request?.length)this.event.request=[...this.event.request||[],...W.event.request||[]];if(W.event.mapResponse?.length)this.event.mapResponse=[...this.event.mapResponse||[],...W.event.mapResponse||[]];return this.model(W.definitions.type),Object.values($.router.history).forEach(({method:J,path:M,handler:G,hooks:B})=>{if(M=(Q?"":this.config.prefix??"")+Y+M,Q){let{body:z,headers:q,query:A,params:N,cookie:D,response:P,...I}=Z,O=B;this.applyMacro(I);let j=z||q||A||N||D||P;this.add(J,M,G,s8(I,{...O||{},error:!O.error?W.event.error:Array.isArray(O.error)?[...O.error??[],...W.event.error??[]]:[O.error,...W.event.error??[]],standaloneValidator:I.standaloneValidator||O.standaloneValidator||j?[...I.standaloneValidator??[],...O.standaloneValidator??[],...j?[{body:z,headers:q,query:A,params:N,cookie:D,response:P}]:[]]:void 0}),void 0)}else this.add(J,M,G,s8(B,{error:W.event.error}),{skipPrefix:!0})}),this}guard(Y,Z){if(!Z){if(typeof Y==="object"){if(this.applyMacro(Y),Y.detail)if(this.config.detail)this.config.detail=M0(Object.assign({},this.config.detail),Y.detail);else this.config.detail=Y.detail;if(Y.tags)if(!this.config.detail)this.config.detail={tags:Y.tags};else this.config.detail.tags=Y.tags;let Q=Y.as??"local";if(Y.schema==="standalone"){if(!this.standaloneValidator[Q])this.standaloneValidator[Q]=[];let W=!Y?.response?void 0:typeof Y.response==="string"||(L in Y.response)||("~standard"in Y.response)?{200:Y.response}:Y?.response;this.standaloneValidator[Q].push({body:Y.body,headers:Y.headers,params:Y.params,query:Y.query,response:W,cookie:Y.cookie})}else this.validator[Q]={body:Y.body??this.validator[Q]?.body,headers:Y.headers??this.validator[Q]?.headers,params:Y.params??this.validator[Q]?.params,query:Y.query??this.validator[Q]?.query,response:Y.response??this.validator[Q]?.response,cookie:Y.cookie??this.validator[Q]?.cookie};if(Y.parse)this.on({as:Q},"parse",Y.parse);if(Y.transform)this.on({as:Q},"transform",Y.transform);if(Y.derive)this.on({as:Q},"derive",Y.derive);if(Y.beforeHandle)this.on({as:Q},"beforeHandle",Y.beforeHandle);if(Y.resolve)this.on({as:Q},"resolve",Y.resolve);if(Y.afterHandle)this.on({as:Q},"afterHandle",Y.afterHandle);if(Y.mapResponse)this.on({as:Q},"mapResponse",Y.mapResponse);if(Y.afterResponse)this.on({as:Q},"afterResponse",Y.afterResponse);if(Y.error)this.on({as:Q},"error",Y.error);return this}return this.guard({},Y)}let X=new $Y({...this.config,prefix:""});X.singleton={...this.singleton},X.definitions={...this.definitions},X.inference=W4(this.inference),X.extender={...this.extender},X.getServer=()=>this.getServer();let $=Z(X);if(this.singleton=M0(this.singleton,X.singleton),this.definitions=M0(this.definitions,X.definitions),$.getServer=()=>this.server,$.event.request?.length)this.event.request=[...this.event.request||[],...$.event.request||[]];if($.event.mapResponse?.length)this.event.mapResponse=[...this.event.mapResponse||[],...$.event.mapResponse||[]];return this.model($.definitions.type),Object.values(X.router.history).forEach(({method:Q,path:W,handler:J,hooks:M})=>{let{body:G,headers:B,query:z,params:q,cookie:A,response:N,...D}=Y,P=G||B||z||q||A||N;this.add(Q,W,J,s8(D,{...M||{},error:!M.error?$.event.error:Array.isArray(M.error)?[...M.error??[],...$.event.error??[]]:[M.error,...$.event.error??[]],standaloneValidator:!P?M.standaloneValidator:[...M.standaloneValidator??[],{body:G,headers:B,query:z,params:q,cookie:A,response:N}]}))}),this}use(Y){if(!Y)return this;if(Array.isArray(Y)){let Z=this;for(let X of Y)Z=Z.use(X);return Z}if(Y instanceof Promise)return this.promisedModules.add(Y.then((Z)=>{if(typeof Z==="function")return Z(this);if(Z instanceof $Y)return this._use(Z).compile();if(Z.constructor?.name==="Elysia")return this._use(Z).compile();if(typeof Z.default==="function")return Z.default(this);if(Z.default instanceof $Y)return this._use(Z.default);if(Z.constructor?.name==="Elysia")return this._use(Z.default);if(Z.constructor?.name==="_Elysia")return this._use(Z.default);try{return this._use(Z.default)}catch(X){throw console.error('Invalid plugin type. Expected Elysia instance, function, or module with "default" as Elysia instance or function that returns Elysia instance.'),X}}).then((Z)=>{if(Z&&typeof Z.compile==="function")Z.compile();return Z})),this;return this._use(Y)}propagatePromiseModules(Y){if(Y.promisedModules.size<=0)return this;for(let Z of Y.promisedModules.promises)this.promisedModules.add(Z.then((X)=>{if(!X)return;let $=this._use(X);if($ instanceof Promise)return $.then((Q)=>{if(Q)Q.compile();else X.compile()});return X.compile()}));return this}_use(Y){if(typeof Y==="function"){let $=Y(this);if($ instanceof Promise)return this.promisedModules.add($.then((Q)=>{if(Q instanceof $Y){Q.getServer=()=>this.getServer(),Q.getGlobalRoutes=()=>this.getGlobalRoutes(),Q.getGlobalDefinitions=()=>this.getGlobalDefinitions(),Q.model(this.definitions.type),Q.error(this.definitions.error);for(let{method:W,path:J,handler:M,hooks:G}of Object.values(Q.router.history))this.add(W,J,M,G,void 0);if(Q===this)return;return this.propagatePromiseModules(Q),Q}if(typeof Q==="function")return Q(this);if(typeof Q.default==="function")return Q.default(this);return this._use(Q)}).then((Q)=>{if(Q&&typeof Q.compile==="function")Q.compile();return Q})),this;return $}this.propagatePromiseModules(Y);let Z=Y.config.name,X=Y.config.seed;if(Y.getParent=()=>this,Y.getServer=()=>this.getServer(),Y.getGlobalRoutes=()=>this.getGlobalRoutes(),Y.getGlobalDefinitions=()=>this.getGlobalDefinitions(),Y.standaloneValidator?.scoped)if(this.standaloneValidator.local)this.standaloneValidator.local=this.standaloneValidator.local.concat(Y.standaloneValidator.scoped);else this.standaloneValidator.local=Y.standaloneValidator.scoped;if(Y.standaloneValidator?.global)if(this.standaloneValidator.global)this.standaloneValidator.global=this.standaloneValidator.global.concat(Y.standaloneValidator.global);else this.standaloneValidator.global=Y.standaloneValidator.global;if(x1(Y["~parser"]))this["~parser"]={...Y["~parser"],...this["~parser"]};if(Y.setHeaders)this.headers(Y.setHeaders);if(Z){if(!(Z in this.dependencies))this.dependencies[Z]=[];let $=X!==void 0?FX(Z+JSON.stringify(X)):0;if(!this.dependencies[Z].some(({checksum:Q})=>$===Q))this.extender.macro={...this.extender.macro,...Y.extender.macro},this.extender.higherOrderFunctions=this.extender.higherOrderFunctions.concat(Y.extender.higherOrderFunctions)}else{if(x1(Y.extender.macro))this.extender.macro={...this.extender.macro,...Y.extender.macro};if(Y.extender.higherOrderFunctions.length)this.extender.higherOrderFunctions=this.extender.higherOrderFunctions.concat(Y.extender.higherOrderFunctions)}if(Y.extender.higherOrderFunctions.length){LD(this.extender.higherOrderFunctions);let $=[];for(let Q=0;Q<this.extender.higherOrderFunctions.length;Q++){let W=this.extender.higherOrderFunctions[Q];if(W.checksum){if($.includes(W.checksum))this.extender.higherOrderFunctions.splice(Q,1),Q--;$.push(W.checksum)}}$.length=0}if(this.inference=k6(this.inference,Y.inference),x1(Y.singleton.decorator))this.decorate(Y.singleton.decorator);if(x1(Y.singleton.store))this.state(Y.singleton.store);if(x1(Y.definitions.type))this.model(Y.definitions.type);if(x1(Y.definitions.error))this.error(Y.definitions.error);if(x1(Y.extender.macro))this.extender.macro={...this.extender.macro,...Y.extender.macro};for(let{method:$,path:Q,handler:W,hooks:J}of Object.values(Y.router.history))this.add($,Q,W,J);if(Z){if(!(Z in this.dependencies))this.dependencies[Z]=[];let $=X!==void 0?FX(Z+JSON.stringify(X)):0;if(this.dependencies[Z].some(({checksum:Q})=>$===Q))return this;if(this.dependencies[Z].push(this.config?.analytic?{name:Y.config.name,seed:Y.config.seed,checksum:$,dependencies:Y.dependencies,stack:Y.telemetry?.stack,routes:Y.router.history,decorators:Y.singleton,store:Y.singleton.store,error:Y.definitions.error,derive:Y.event.transform?.filter((Q)=>Q?.subType==="derive").map((Q)=>({fn:Q.toString(),stack:Error().stack??""})),resolve:Y.event.transform?.filter((Q)=>Q?.subType==="resolve").map((Q)=>({fn:Q.toString(),stack:Error().stack??""}))}:{name:Y.config.name,seed:Y.config.seed,checksum:$,dependencies:Y.dependencies}),x1(Y.event))this.event=a5(this.event,e5(Y.event),$)}else if(x1(Y.event))this.event=a5(this.event,e5(Y.event));if(Y.validator.global)this.validator.global=s8(this.validator.global,{...Y.validator.global});if(Y.validator.scoped)this.validator.local=s8(this.validator.local,{...Y.validator.scoped});return this}macro(Y,Z){if(typeof Y==="string"&&!Z)throw Error("Macro function is required");if(typeof Y==="string")this.extender.macro[Y]=Z;else this.extender.macro={...this.extender.macro,...Y};return this}applyMacro(Y,Z=Y,{iteration:X=0,applied:$={}}={}){if(X>=16)return;let Q=this.extender.macro;for(let[W,J]of Object.entries(Z)){if(W in Q===!1)continue;let M=typeof Q[W]==="function"?Q[W](J):Q[W];if(!M||typeof Q[W]==="object"&&J===!1)return;let G=FX(W+JSON.stringify(M.seed??J));if(G in $)continue;$[G]=!0;for(let[B,z]of Object.entries(M)){if(B==="seed")continue;if(B in PD){AD(Y,B,z),delete Y[W];continue}if(B==="introspect"){z?.(Y),delete Y[W];continue}if(B==="detail"){if(!Y.detail)Y.detail={};Y.detail=M0(Y.detail,z,{mergeArray:!0}),delete Y[W];continue}if(B in Q){this.applyMacro(Y,{[B]:z},{applied:$,iteration:X+1}),delete Y[W];continue}if((B==="derive"||B==="resolve")&&typeof z==="function")z={fn:z,subType:B};switch(typeof Y[B]){case"function":Y[B]=[Y[B],z];break;case"object":if(Array.isArray(Y[B]))Y[B].push(z);else Y[B]=[Y[B],z];break;case"undefined":Y[B]=z;break}delete Y[W]}}}mount(Y,Z,X){if(Y instanceof $Y||typeof Y==="function"||Y.length===0||Y==="/"){let J=typeof Y==="function"?Y:Y instanceof $Y?Y.compile().fetch:Z instanceof $Y?Z.compile().fetch:typeof Z==="function"?Z:(()=>{throw Error("Invalid handler")})(),M=({request:G,path:B})=>J(new Request(r5(G.url,B),{method:G.method,headers:G.headers,signal:G.signal,credentials:G.credentials,referrerPolicy:G.referrerPolicy,duplex:G.duplex,redirect:G.redirect,mode:G.mode,keepalive:G.keepalive,integrity:G.integrity,body:G.body}));return this.route("ALL","/*",M,{parse:"none",...X,detail:{...X?.detail,hide:!0},config:{mount:J}}),this}let $=Z instanceof $Y?Z.compile().fetch:typeof Z==="function"?Z:(()=>{throw Error("Invalid handler")})(),Q=(typeof Y==="string"&&this.config.prefix?this.config.prefix+Y:Y).length-(Y.endsWith("*")?1:0),W=({request:J,path:M})=>$(new Request(r5(J.url,M.slice(Q)||"/"),{method:J.method,headers:J.headers,signal:J.signal,credentials:J.credentials,referrerPolicy:J.referrerPolicy,duplex:J.duplex,redirect:J.redirect,mode:J.mode,keepalive:J.keepalive,integrity:J.integrity,body:J.body}));return this.route("ALL",Y,W,{parse:"none",...X,detail:{...X?.detail,hide:!0},config:{mount:$}}),this.route("ALL",Y+(Y.endsWith("/")?"*":"/*"),W,{parse:"none",...X,detail:{...X?.detail,hide:!0},config:{mount:$}}),this}get(Y,Z,X){return this.add("GET",Y,Z,X),this}post(Y,Z,X){return this.add("POST",Y,Z,X),this}put(Y,Z,X){return this.add("PUT",Y,Z,X),this}patch(Y,Z,X){return this.add("PATCH",Y,Z,X),this}delete(Y,Z,X){return this.add("DELETE",Y,Z,X),this}options(Y,Z,X){return this.add("OPTIONS",Y,Z,X),this}all(Y,Z,X){return this.add("ALL",Y,Z,X),this}head(Y,Z,X){return this.add("HEAD",Y,Z,X),this}connect(Y,Z,X){return this.add("CONNECT",Y,Z,X),this}route(Y,Z,X,$){return this.add(Y.toUpperCase(),Z,X,$,$?.config),this}ws(Y,Z){if(this["~adapter"].ws)this["~adapter"].ws(this,Y,Z);else console.warn("Current adapter doesn't support WebSocket");return this}state(Y,Z,X){if(Z===void 0)X=Y,Y={as:"append"},Z="";else if(X===void 0){if(typeof Y==="string")X=Z,Z=Y,Y={as:"append"};else if(typeof Y==="object")X=Z,Z=""}let{as:$}=Y;if(typeof Z!=="string")return this;switch(typeof X){case"object":if(!X||!x1(X))return this;if(Z){if(Z in this.singleton.store)this.singleton.store[Z]=M0(this.singleton.store[Z],X,{override:$==="override"});else this.singleton.store[Z]=X;return this}if(X===null)return this;return this.singleton.store=M0(this.singleton.store,X,{override:$==="override"}),this;case"function":if(Z){if($==="override"||!(Z in this.singleton.store))this.singleton.store[Z]=X}else this.singleton.store=X(this.singleton.store);return this;default:if($==="override"||!(Z in this.singleton.store))this.singleton.store[Z]=X;return this}}decorate(Y,Z,X){if(Z===void 0)X=Y,Y={as:"append"},Z="";else if(X===void 0){if(typeof Y==="string")X=Z,Z=Y,Y={as:"append"};else if(typeof Y==="object")X=Z,Z=""}let{as:$}=Y;if(typeof Z!=="string")return this;switch(typeof X){case"object":if(Z){if(Z in this.singleton.decorator)this.singleton.decorator[Z]=M0(this.singleton.decorator[Z],X,{override:$==="override"});else this.singleton.decorator[Z]=X;return this}if(X===null)return this;return this.singleton.decorator=M0(this.singleton.decorator,X,{override:$==="override"}),this;case"function":if(Z){if($==="override"||!(Z in this.singleton.decorator))this.singleton.decorator[Z]=X}else this.singleton.decorator=X(this.singleton.decorator);return this;default:if($==="override"||!(Z in this.singleton.decorator))this.singleton.decorator[Z]=X;return this}}derive(Y,Z){if(!Z)Z=Y,Y={as:"local"};let X={subType:"derive",fn:Z};return this.onTransform(Y,X)}model(Y,Z){let X=($)=>{let Q={};for(let W in $)if(!("~standard"in $[W]))Q[W]=$[W];return Q};switch(typeof Y){case"object":let $={},Q=Object.entries(Y);if(!Q.length)return this;for(let[M,G]of Q){if(M in this.definitions.type)continue;if("~standard"in G)this.definitions.type[M]=G;else $[M]=this.definitions.type[M]=G,$[M].$id??=`#/components/schemas/${M}`}return this.definitions.typebox=f.Module({...this.definitions.typebox.$defs,...$}),this;case"function":let W=Y(this.definitions.type);return this.definitions.type=W,this.definitions.typebox=f.Module(X(W)),this;case"string":if(!Z)break;if(this.definitions.type[Y]=Z,"~standard"in Z)return this;let J={...Z,id:Z.$id??`#/components/schemas/${Y}`};return this.definitions.typebox=f.Module({...this.definitions.typebox.$defs,...J}),this}if(!Z)return this;if(this.definitions.type[Y]=Z,"~standard"in Z)return this;return this.definitions.typebox=f.Module({...this.definitions.typebox.$defs,[Y]:Z}),this}Ref(Y){return f.Ref(Y)}mapDerive(Y,Z){if(!Z)Z=Y,Y={as:"local"};let X={subType:"mapDerive",fn:Z};return this.onTransform(Y,X)}affix(Y,Z,X){if(X==="")return this;let $=["_","-"," "],Q=(G)=>G[0].toUpperCase()+G.slice(1),W=Y==="prefix"?(G,B)=>$.includes(G.at(-1)??"")?G+B:G+Q(B):$.includes(X.at(-1)??"")?(G,B)=>B+G:(G,B)=>B+Q(G),J=(G)=>{let B={};switch(G){case"decorator":for(let z in this.singleton.decorator)B[W(X,z)]=this.singleton.decorator[z];this.singleton.decorator=B;break;case"state":for(let z in this.singleton.store)B[W(X,z)]=this.singleton.store[z];this.singleton.store=B;break;case"model":for(let z in this.definitions.type)B[W(X,z)]=this.definitions.type[z];this.definitions.type=B;break;case"error":for(let z in this.definitions.error)B[W(X,z)]=this.definitions.error[z];this.definitions.error=B;break}},M=Array.isArray(Z)?Z:[Z];for(let G of M.some((B)=>B==="all")?["decorator","state","model","error"]:M)J(G);return this}prefix(Y,Z){return this.affix("prefix",Y,Z)}suffix(Y,Z){return this.affix("suffix",Y,Z)}compile(){if(this["~adapter"].beforeCompile?.(this),this["~adapter"].isWebStandard){if(this._handle=this.config.aot?K6(this):S4(this),Object.defineProperty(this,"fetch",{value:this._handle,configurable:!0,writable:!0}),typeof this.server?.reload==="function")this.server.reload({...this.server||{},fetch:this.fetch});return this}if(typeof this.server?.reload==="function")this.server.reload(this.server||{});return this._handle=K6(this),this}handle=async(Y)=>this.fetch(Y);get fetch(){let Y=this.config.aot?K6(this):S4(this);return Object.defineProperty(this,"fetch",{value:Y,configurable:!0,writable:!0}),Y}handleError=async(Y,Z)=>{return(this.handleError=this.config.aot?YJ(this):Vw(this))(Y,Z)};listen=(Y,Z)=>{return this["~adapter"].listen(this)(Y,Z),this};stop=async(Y)=>{return await this["~adapter"].stop?.(this,Y),this};[Symbol.dispose]=()=>{if(this.server)this.stop()};get modules(){return this.promisedModules}}var bw=()=>{let Y=Iw.getTracer("@elysiumjs/argus");return new $Y({name:"@elysiumjs/argus"}).derive(({request:Z})=>{let X=new URL(Z.url);return{__argusSpan:Y.startSpan(`${Z.method} ${X.pathname}`,{attributes:{"http.method":Z.method,"http.url":Z.url,"http.target":X.pathname}})}}).onAfterResponse(({__argusSpan:Z,request:X})=>{if(Z)Z.setStatus({code:QJ.OK}),Z.setAttribute("http.method",X.method),Z.end()}).onError(({__argusSpan:Z,error:X})=>{if(Z){if(Z.setStatus({code:QJ.ERROR,message:X instanceof Error?X.message:"Unknown error"}),X instanceof Error)Z.recordException(X);Z.end()}})};export{OJ as withTraceContext,bw as argusPlugin,wJ as Traced,CY as ArgusSDK};
413
+ `},listen(app){return(options,callback)=>{if(typeof Bun>"u")throw Error(".listen() is designed to run on Bun only. If you are running Elysia in other environment please use a dedicated plugin or export the handler via Elysia.fetch");if(app.compile(),typeof options=="string"){if(!isNumericString(options))throw Error("Port must be a numeric value");options=parseInt(options)}let createStaticRoute=(iterator,{withAsync=!1}={})=>{let staticRoutes={},ops=[];if(app.event.request?.length||app.event.trace?.length||app.extender.higherOrderFunctions.length)return withAsync?Promise.resolve(staticRoutes):staticRoutes;for(let[path,route]of Object.entries(iterator))if(path=encodeURI(path),supportPerMethodInlineHandler){if(!route)continue;for(let[method,value]of Object.entries(route))if(!(!value||!(method in supportedMethods))){if(value instanceof Promise){withAsync&&(staticRoutes[path]||(staticRoutes[path]={}),ops.push(value.then((awaited)=>{awaited instanceof Response&&(staticRoutes[path][method]=awaited),isHTMLBundle(awaited)&&(staticRoutes[path][method]=awaited)})));continue}!(value instanceof Response)&&!isHTMLBundle(value)||(staticRoutes[path]||(staticRoutes[path]={}),staticRoutes[path][method]=value)}}else{if(!route)continue;if(route instanceof Promise){withAsync&&(staticRoutes[path]||(staticRoutes[path]={}),ops.push(route.then((awaited)=>{awaited instanceof Response&&(staticRoutes[path]=awaited)})));continue}if(!(route instanceof Response))continue;staticRoutes[path]=route}return withAsync?Promise.all(ops).then(()=>staticRoutes):staticRoutes},routes=removeTrailingPath(mergeRoutes(mergeRoutes(createStaticRoute(app.router.response),mapRoutes(app)),app.config.serve?.routes)),serve=typeof options=="object"?{development:!isProduction,reusePort:!0,idleTimeout:30,...app.config.serve||{},...options||{},routes,websocket:{...app.config.websocket||{},...websocket||{},...options.websocket||{}},fetch:app.fetch}:{development:!isProduction,reusePort:!0,idleTimeout:30,...app.config.serve||{},routes,websocket:{...app.config.websocket||{},...websocket||{}},port:options,fetch:app.fetch};if(app.server=Bun.serve(serve),app.event.start)for(let i=0;i<app.event.start.length;i++)app.event.start[i].fn(app);callback&&callback(app.server),process.on("beforeExit",async()=>{if(app.server&&(await app.server.stop?.(),app.server=null,app.event.stop))for(let i=0;i<app.event.stop.length;i++)app.event.stop[i].fn(app)}),app.promisedModules.then(async()=>{app.config.aot,app.compile();let routes2=removeTrailingPath(mergeRoutes(mergeRoutes(await createStaticRoute(app.router.response,{withAsync:!0}),mapRoutes(app)),app.config.serve?.routes));app.server?.reload({...serve,fetch:app.fetch,routes:routes2}),Bun?.gc(!1)})}},async stop(app,closeActiveConnections){if(app.server){if(await app.server.stop(closeActiveConnections),app.server=null,app.event.stop?.length)for(let i=0;i<app.event.stop.length;i++)app.event.stop[i].fn(app)}else console.log("Elysia isn't running. Call `app.listen` to start the server.",Error().stack)},ws(app,path,options){let{parse,body,response,...rest}=options,messageValidator=getSchemaValidator(body,{modules:app.definitions.typebox,models:app.definitions.type,normalize:app.config.normalize}),validateMessage=messageValidator?messageValidator.provider==="standard"?(data)=>messageValidator.schema["~standard"].validate(data).issues:(data)=>messageValidator.Check(data)===!1:void 0,responseValidator=getSchemaValidator(response,{modules:app.definitions.typebox,models:app.definitions.type,normalize:app.config.normalize});app.route("WS",path,async(context)=>{let server=context.server??app.server,{set,path:path2,qi,headers,query,params}=context;if(context.validator=responseValidator,options.upgrade)if(typeof options.upgrade=="function"){let temp=options.upgrade(context);temp instanceof Promise&&await temp}else options.upgrade&&Object.assign(set.headers,options.upgrade);if(set.cookie&&isNotEmpty(set.cookie)){let cookie=serializeCookie(set.cookie);cookie&&(set.headers["set-cookie"]=cookie)}set.headers["set-cookie"]&&Array.isArray(set.headers["set-cookie"])&&(set.headers=parseSetCookies(new Headers(set.headers),set.headers["set-cookie"]));let handleResponse=createHandleWSResponse(responseValidator),parseMessage=createWSMessageParser(parse),_id;if(typeof options.beforeHandle=="function"){let result=options.beforeHandle(context);result instanceof Promise&&await result}let errorHandlers=[...options.error?Array.isArray(options.error)?options.error:[options.error]:[],...(app.event.error??[]).map((x)=>typeof x=="function"?x:x.fn)].filter((x)=>x),hasCustomErrorHandlers=errorHandlers.length>0,handleErrors=hasCustomErrorHandlers?async(ws,error)=>{for(let handleError of errorHandlers){let response2=handleError(Object.assign(context,{error}));if(response2 instanceof Promise&&(response2=await response2),await handleResponse(ws,response2),response2)break}}:()=>{};if(!server?.upgrade(context.request,{headers:isNotEmpty(set.headers)?set.headers:void 0,data:{...context,get id(){return _id||(_id=randomId())},validator:responseValidator,ping(ws,data){options.ping?.(ws,data)},pong(ws,data){options.pong?.(ws,data)},open:async(ws)=>{try{await handleResponse(ws,options.open?.(new ElysiaWS(ws,context)))}catch(error){handleErrors(ws,error)}},message:async(ws,_message)=>{let message=await parseMessage(ws,_message);if(validateMessage&&validateMessage(message)){let validationError=new ValidationError("message",messageValidator,message);return hasCustomErrorHandlers?handleErrors(ws,validationError):void ws.send(validationError.message)}try{await handleResponse(ws,options.message?.(new ElysiaWS(ws,context,message),message))}catch(error){handleErrors(ws,error)}},drain:async(ws)=>{try{await handleResponse(ws,options.drain?.(new ElysiaWS(ws,context)))}catch(error){handleErrors(ws,error)}},close:async(ws,code,reason)=>{try{await handleResponse(ws,options.close?.(new ElysiaWS(ws,context),code,reason))}catch(error){handleErrors(ws,error)}}}}))return status(400,"Expected a websocket connection")},{...rest,websocket:options})}};var env2=isBun?Bun.env:typeof process<"u"&&process?.env?process.env:{};var ARRAY_INDEX_REGEX=/^(.+)\[(\d+)\]$/,DANGEROUS_KEYS=new Set(["__proto__","constructor","prototype"]),isDangerousKey=(key)=>{if(DANGEROUS_KEYS.has(key))return!0;let match=key.match(ARRAY_INDEX_REGEX);return match?DANGEROUS_KEYS.has(match[1]):!1},parseArrayKey=(key)=>{let match=key.match(ARRAY_INDEX_REGEX);return match?{name:match[1],index:parseInt(match[2],10)}:null},parseObjectString=(entry)=>{if(!(typeof entry!="string"||entry.charCodeAt(0)!==123))try{let parsed=JSON.parse(entry);if(parsed&&typeof parsed=="object"&&!Array.isArray(parsed))return parsed}catch{return}},setNestedValue=(obj,path,value)=>{let keys=path.split("."),lastKey=keys.pop();if(isDangerousKey(lastKey)||keys.some(isDangerousKey))return;let current=obj;for(let key of keys){let arrayInfo2=parseArrayKey(key);if(arrayInfo2){Array.isArray(current[arrayInfo2.name])||(current[arrayInfo2.name]=[]);let existing=current[arrayInfo2.name][arrayInfo2.index],isFile=typeof File<"u"&&existing instanceof File;(!existing||typeof existing!="object"||Array.isArray(existing)||isFile)&&(current[arrayInfo2.name][arrayInfo2.index]=parseObjectString(existing)??{}),current=current[arrayInfo2.name][arrayInfo2.index]}else(!current[key]||typeof current[key]!="object")&&(current[key]={}),current=current[key]}let arrayInfo=parseArrayKey(lastKey);arrayInfo?(Array.isArray(current[arrayInfo.name])||(current[arrayInfo.name]=[]),current[arrayInfo.name][arrayInfo.index]=value):current[lastKey]=value},normalizeFormValue=(value)=>{if(value.length===1){let stringValue2=value[0];if(typeof stringValue2=="string"&&(stringValue2.charCodeAt(0)===123||stringValue2.charCodeAt(0)===91))try{let parsed2=JSON.parse(stringValue2);if(parsed2&&typeof parsed2=="object")return parsed2}catch{}return value[0]}let stringValue=value.find((entry)=>typeof entry=="string");if(!stringValue||typeof File>"u")return value;let files=value.filter((entry)=>entry instanceof File);if(!files.length||stringValue.charCodeAt(0)!==123)return value;let parsed;try{parsed=JSON.parse(stringValue)}catch{return value}return typeof parsed!="object"||parsed===null?value:(!("file"in parsed)&&files.length===1?parsed.file=files[0]:!("files"in parsed)&&files.length>1&&(parsed.files=files),parsed)},injectDefaultValues=(typeChecker,obj)=>{let schema=typeChecker.schema;if(!schema)return;schema.$defs?.[schema.$ref]&&(schema=schema.$defs[schema.$ref]);let properties=getSchemaProperties(schema);if(properties)for(let[key,keySchema]of Object.entries(properties))obj[key]??=keySchema.default};async function validateStandardSchema(type,validator,value){let result=await validator.Validate(value);if(result.issues)throw new ValidationError(type,validator,value,!1,result.issues);return result.value}var createDynamicHandler=(app)=>{let{mapResponse,mapEarlyResponse}=app["~adapter"].handler,defaultHeader=app.setHeaders;return async(request)=>{let url=request.url,s=url.indexOf("/",11),qi=url.indexOf("?",s+1),path=qi===-1?url.substring(s):url.substring(s,qi),set={cookie:{},status:200,headers:defaultHeader?{...defaultHeader}:{}},context=Object.assign({},app.singleton.decorator,{set,store:app.singleton.store,request,path,qi,error:status,status,redirect}),hooks;try{if(app.event.request)for(let i=0;i<app.event.request.length;i++){let onRequest=app.event.request[i].fn,response2=onRequest(context);if(response2 instanceof Promise&&(response2=await response2),response2=mapEarlyResponse(response2,set),response2)return context.response=response2}let methodKey=request.method==="GET"&&request.headers.get("upgrade")?.toLowerCase()==="websocket"?"WS":request.method,handler=app.router.dynamic.find(request.method,path)??app.router.dynamic.find(methodKey,path)??app.router.dynamic.find("ALL",path);if(!handler)throw context.query=qi===-1?{}:parseQuery(url.substring(qi+1)),new NotFoundError;let{handle,validator,content,route}=handler.store;if(hooks=handler.store.hooks,hooks.config?.mount)return await hooks.config.mount(request);let body;if(request.method!=="GET"&&request.method!=="HEAD")if(content)switch(content){case"application/json":body=await request.json();break;case"text/plain":body=await request.text();break;case"application/x-www-form-urlencoded":body=parseQuery(await request.text());break;case"application/octet-stream":body=await request.arrayBuffer();break;case"multipart/form-data":{body={};let form=await request.formData(),grouped=new Map;form.forEach((v,k)=>{let list=grouped.get(k);list?list.push(v):grouped.set(k,[v])});for(let[key,value]of grouped){if(body[key])continue;let finalValue=normalizeFormValue(value);key.includes(".")||key.includes("[")?setNestedValue(body,key,finalValue):body[key]=finalValue}break}}else{let contentType;if(request.body&&(contentType=request.headers.get("content-type")),contentType){let index=contentType.indexOf(";");if(index!==-1&&(contentType=contentType.slice(0,index)),context.contentType=contentType,hooks.parse)for(let i=0;i<hooks.parse.length;i++){let hook=hooks.parse[i].fn;if(typeof hook=="string")switch(hook){case"json":case"application/json":body=await request.json();break;case"text":case"text/plain":body=await request.text();break;case"urlencoded":case"application/x-www-form-urlencoded":body=parseQuery(await request.text());break;case"arrayBuffer":case"application/octet-stream":body=await request.arrayBuffer();break;case"formdata":case"multipart/form-data":{body={};let form=await request.formData(),grouped=new Map;form.forEach((v,k)=>{let list=grouped.get(k);list?list.push(v):grouped.set(k,[v])});for(let[key,value]of grouped){if(body[key])continue;let finalValue=normalizeFormValue(value);key.includes(".")||key.includes("[")?setNestedValue(body,key,finalValue):body[key]=finalValue}break}default:{let parser=app["~parser"][hook];if(parser){let temp=parser(context,contentType);if(temp instanceof Promise&&(temp=await temp),temp){body=temp;break}}break}}else{let temp=hook(context,contentType);if(temp instanceof Promise&&(temp=await temp),temp){body=temp;break}}}if(delete context.contentType,body===void 0)switch(contentType){case"application/json":body=await request.json();break;case"text/plain":body=await request.text();break;case"application/x-www-form-urlencoded":body=parseQuery(await request.text());break;case"application/octet-stream":body=await request.arrayBuffer();break;case"multipart/form-data":{body={};let form=await request.formData(),grouped=new Map;form.forEach((v,k)=>{let list=grouped.get(k);list?list.push(v):grouped.set(k,[v])});for(let[key,value]of grouped){if(body[key])continue;let finalValue=normalizeFormValue(value);key.includes(".")||key.includes("[")?setNestedValue(body,key,finalValue):body[key]=finalValue}break}}}}context.route=route,context.body=body,context.params=handler?.params||void 0,context.query=qi===-1?{}:parseQuery(url.substring(qi+1)),context.headers={};for(let[key,value]of request.headers.entries())context.headers[key]=value;let cookieMeta={domain:app.config.cookie?.domain??validator?.cookie?.config.domain,expires:app.config.cookie?.expires??validator?.cookie?.config.expires,httpOnly:app.config.cookie?.httpOnly??validator?.cookie?.config.httpOnly,maxAge:app.config.cookie?.maxAge??validator?.cookie?.config.maxAge,path:app.config.cookie?.path??validator?.cookie?.config.path,priority:app.config.cookie?.priority??validator?.cookie?.config.priority,partitioned:app.config.cookie?.partitioned??validator?.cookie?.config.partitioned,sameSite:app.config.cookie?.sameSite??validator?.cookie?.config.sameSite,secure:app.config.cookie?.secure??validator?.cookie?.config.secure,secrets:app.config.cookie?.secrets??validator?.cookie?.config.secrets,sign:app.config.cookie?.sign??validator?.cookie?.config.sign},cookieHeaderValue=request.headers.get("cookie");context.cookie=await parseCookie(context.set,cookieHeaderValue,cookieMeta);let headerValidator=validator?.createHeaders?.();headerValidator&&injectDefaultValues(headerValidator,context.headers);let paramsValidator=validator?.createParams?.();paramsValidator&&injectDefaultValues(paramsValidator,context.params);let queryValidator=validator?.createQuery?.();if(queryValidator&&injectDefaultValues(queryValidator,context.query),hooks.transform)for(let i=0;i<hooks.transform.length;i++){let hook=hooks.transform[i],response2=hook.fn(context);if(response2 instanceof Promise&&(response2=await response2),response2 instanceof ElysiaCustomStatusResponse){let result=mapEarlyResponse(response2,context.set);if(result)return context.response=result}hook.subType==="derive"&&Object.assign(context,response2)}if(validator){if(headerValidator){let _header=structuredClone(context.headers);for(let[key,value]of request.headers)_header[key]=value;if(headerValidator.provider==="standard")context.headers=await validateStandardSchema("header",headerValidator,_header);else if(validator.headers.Check(_header)===!1)throw new ValidationError("header",validator.headers,_header)}else validator.headers?.Decode&&(context.headers=validator.headers.Decode(context.headers));if(paramsValidator?.provider==="standard")context.params=await validateStandardSchema("params",paramsValidator,context.params);else{if(paramsValidator?.Check(context.params)===!1)throw new ValidationError("params",validator.params,context.params);validator.params?.Decode&&(context.params=validator.params.Decode(context.params))}if(validator.query?.schema){let schema=validator.query.schema;schema.$defs?.[schema.$ref]&&(schema=schema.$defs[schema.$ref]);let properties=getSchemaProperties(schema);if(properties)for(let property of Object.keys(properties)){let value=properties[property];(value.type==="array"||value.items?.type==="string")&&typeof context.query[property]=="string"&&context.query[property]&&(context.query[property]=context.query[property].split(","))}}if(queryValidator?.provider==="standard")context.query=await validateStandardSchema("query",queryValidator,context.query);else{if(queryValidator?.Check(context.query)===!1)throw new ValidationError("query",validator.query,context.query);validator.query?.Decode&&(context.query=validator.query.Decode(context.query))}if(validator.createCookie?.()){let cookieValue={};for(let[key,value]of Object.entries(context.cookie))cookieValue[key]=value.value;if(validator.cookie.provider==="standard"){cookieValue=await validateStandardSchema("cookie",validator.cookie,cookieValue);for(let key of Object.keys(cookieValue))context.cookie[key].value=cookieValue[key]}else{if(validator.cookie.Check(cookieValue)===!1)throw new ValidationError("cookie",validator.cookie,cookieValue);validator.cookie?.Decode&&(cookieValue=validator.cookie.Decode(cookieValue))}}let bodyValidator=validator.createBody?.();if(bodyValidator?.provider==="standard")context.body=await validateStandardSchema("body",bodyValidator,body);else{if(bodyValidator?.Check(body)===!1)throw new ValidationError("body",validator.body,body);if(validator.body?.Decode){let decoded=validator.body.Decode(body);decoded instanceof Promise&&(decoded=await decoded),context.body=decoded?.value??decoded}}}if(hooks.beforeHandle)for(let i=0;i<hooks.beforeHandle.length;i++){let hook=hooks.beforeHandle[i],response2=hook.fn(context);if(response2 instanceof Promise&&(response2=await response2),response2 instanceof ElysiaCustomStatusResponse){let result=mapEarlyResponse(response2,context.set);if(result)return context.response=result}if(hook.subType==="resolve"){Object.assign(context,response2);continue}if(response2!==void 0){if(context.response=response2,hooks.afterHandle)for(let i2=0;i2<hooks.afterHandle.length;i2++){let newResponse=hooks.afterHandle[i2].fn(context);newResponse instanceof Promise&&(newResponse=await newResponse),newResponse&&(response2=newResponse)}let result=mapEarlyResponse(response2,context.set);if(result)return context.response=result}}let response=typeof handle=="function"?handle(context):handle;if(response instanceof Promise&&(response=await response),hooks.afterHandle?.length){context.response=response;for(let i=0;i<hooks.afterHandle.length;i++){let response2=hooks.afterHandle[i].fn(context);response2 instanceof Promise&&(response2=await response2);let isCustomStatuResponse=response2 instanceof ElysiaCustomStatusResponse,status2=isCustomStatuResponse?response2.code:set.status?typeof set.status=="string"?StatusMap[set.status]:set.status:200;isCustomStatuResponse&&(set.status=status2,response2=response2.response);let responseValidator=validator?.createResponse?.()?.[status2];if(responseValidator?.provider==="standard")response2=await validateStandardSchema("response",responseValidator,response2);else if(responseValidator?.Check(response2)===!1)if(responseValidator?.Clean)try{let temp=responseValidator.Clean(response2);if(responseValidator?.Check(temp)===!1)throw new ValidationError("response",responseValidator,response2);response2=temp}catch(error){throw error instanceof ValidationError?error:new ValidationError("response",responseValidator,response2)}else throw new ValidationError("response",responseValidator,response2);if(responseValidator?.Encode&&(context.response=response2=responseValidator.Encode(response2)),responseValidator?.Clean)try{context.response=response2=responseValidator.Clean(response2)}catch{}let result=mapEarlyResponse(response2,context.set);if(result!==void 0)return context.response=result}}else{let isCustomStatuResponse=response instanceof ElysiaCustomStatusResponse,status2=isCustomStatuResponse?response.code:set.status?typeof set.status=="string"?StatusMap[set.status]:set.status:200;isCustomStatuResponse&&(set.status=status2,response=response.response);let responseValidator=validator?.createResponse?.()?.[status2];if(responseValidator?.provider==="standard")response=await validateStandardSchema("response",responseValidator,response);else if(responseValidator?.Check(response)===!1)if(responseValidator?.Clean)try{let temp=responseValidator.Clean(response);if(responseValidator?.Check(temp)===!1)throw new ValidationError("response",responseValidator,response);response=temp}catch(error){throw error instanceof ValidationError?error:new ValidationError("response",responseValidator,response)}else throw new ValidationError("response",responseValidator,response);if(responseValidator?.Encode&&(response=responseValidator.Encode(response)),responseValidator?.Clean)try{response=responseValidator.Clean(response)}catch{}}if(context.set.cookie&&cookieMeta?.sign){let secret=cookieMeta.secrets?typeof cookieMeta.secrets=="string"?cookieMeta.secrets:cookieMeta.secrets[0]:void 0;if(cookieMeta.sign===!0){if(secret)for(let[key,cookie]of Object.entries(context.set.cookie))context.set.cookie[key].value=await signCookie(cookie.value,secret)}else{let properties=getSchemaProperties(validator?.cookie?.schema);if(secret)for(let name of cookieMeta.sign)!properties||!(name in properties)||context.set.cookie[name]?.value&&(context.set.cookie[name].value=await signCookie(context.set.cookie[name].value,secret))}}return mapResponse(context.response=response,context.set)}catch(error){let reportedError=error instanceof TransformDecodeError&&error.error?error.error:error;return app.handleError(context,reportedError)}finally{let afterResponses=hooks?hooks.afterResponse:app.event.afterResponse;afterResponses&&(hasSetImmediate?setImmediate(async()=>{for(let afterResponse of afterResponses)await afterResponse.fn(context)}):Promise.resolve().then(async()=>{for(let afterResponse of afterResponses)await afterResponse.fn(context)}))}}},createDynamicErrorHandler=(app)=>{let{mapResponse}=app["~adapter"].handler;return async(context,error)=>{let errorContext=Object.assign(context,{error,code:error.code});if(errorContext.set=context.set,typeof error?.toResponse=="function"&&!(error instanceof ValidationError)&&!(error instanceof TransformDecodeError))try{let raw=error.toResponse();typeof raw?.then=="function"&&(raw=await raw),raw instanceof Response&&(context.set.status=raw.status),context.response=raw}catch{}if(!context.response&&app.event.error)for(let i=0;i<app.event.error.length;i++){let response=app.event.error[i].fn(errorContext);if(response instanceof Promise&&(response=await response),response!=null)return context.response=mapResponse(response,context.set)}if(context.response){if(app.event.mapResponse)for(let i=0;i<app.event.mapResponse.length;i++){let response=app.event.mapResponse[i].fn(errorContext);response instanceof Promise&&(response=await response),response!=null&&(context.response=response)}return mapResponse(context.response,context.set)}return context.set.status=error.status??500,mapResponse(typeof error.cause=="string"?error.cause:error.message,context.set)}};var _a;_a=Symbol.dispose;var _Elysia=class _Elysia{constructor(config={}){this.server=null,this.dependencies={},this["~Prefix"]="",this["~Singleton"]=null,this["~Definitions"]=null,this["~Metadata"]=null,this["~Ephemeral"]=null,this["~Volatile"]=null,this["~Routes"]=null,this.singleton={decorator:{},store:{},derive:{},resolve:{}},this.definitions={typebox:t.Module({}),type:{},error:{}},this.extender={macro:{},higherOrderFunctions:[]},this.validator={global:null,scoped:null,local:null,getCandidate(){return!this.global&&!this.scoped&&!this.local?{body:void 0,headers:void 0,params:void 0,query:void 0,cookie:void 0,response:void 0}:mergeSchemaValidator(mergeSchemaValidator(this.global,this.scoped),this.local)}},this.standaloneValidator={global:null,scoped:null,local:null},this.event={},this.router={"~http":void 0,get http(){return this["~http"]||(this["~http"]=new _({lazy:!0,onParam:import_fast_decode_uri_component4.default})),this["~http"]},"~dynamic":void 0,get dynamic(){return this["~dynamic"]||(this["~dynamic"]=new _({onParam:import_fast_decode_uri_component4.default})),this["~dynamic"]},static:{},response:{},history:[]},this.routeTree={},this.inference={body:!1,cookie:!1,headers:!1,query:!1,set:!1,server:!1,path:!1,route:!1,url:!1},this["~parser"]={},this.handle=async(request)=>this.fetch(request),this.handleError=async(context,error)=>(this.handleError=this.config.aot?composeErrorHandler(this):createDynamicErrorHandler(this))(context,error),this.listen=(options,callback)=>(this["~adapter"].listen(this)(options,callback),this),this.stop=async(closeActiveConnections)=>(await this["~adapter"].stop?.(this,closeActiveConnections),this),this[_a]=()=>{this.server&&this.stop()},config.tags&&(config.detail?config.detail.tags=config.tags:config.detail={tags:config.tags}),this.config={aot:env2.ELYSIA_AOT!=="false",nativeStaticResponse:!0,encodeSchema:!0,normalize:!0,...config,prefix:config.prefix?config.prefix.charCodeAt(0)===47?config.prefix:`/${config.prefix}`:void 0,cookie:{path:"/",...config?.cookie},experimental:config?.experimental??{},seed:config?.seed===void 0?"":config?.seed},this["~adapter"]=config.adapter??(typeof Bun<"u"?BunAdapter:WebStandardAdapter),config?.analytic&&(config?.name||config?.seed!==void 0)&&(this.telemetry={stack:Error().stack})}get store(){return this.singleton.store}get decorator(){return this.singleton.decorator}get routes(){return this.router.history}getGlobalRoutes(){return this.router.history}getGlobalDefinitions(){return this.definitions}getServer(){return this.server}getParent(){return null}get promisedModules(){return this._promisedModules||(this._promisedModules=new PromiseGroup(console.error,()=>{})),this._promisedModules}env(model,_env=env2){if(getSchemaValidator(model,{modules:this.definitions.typebox,dynamic:!0,additionalProperties:!0,coerce:!0,sanitize:()=>this.config.sanitize}).Check(_env)===!1){let error=new ValidationError("env",model,_env);throw Error(error.all.map((x)=>x.summary).join(`
414
+ `))}return this}wrap(fn){return this.extender.higherOrderFunctions.push({checksum:checksum(JSON.stringify({name:this.config.name,seed:this.config.seed,content:fn.toString()})),fn}),this}get models(){let models={};for(let name of Object.keys(this.definitions.type))models[name]=getSchemaValidator(this.definitions.typebox.Import(name),{models:this.definitions.type});return models.modules=this.definitions.typebox,models}add(method,path,handle,localHook,options){let skipPrefix=options?.skipPrefix??!1,allowMeta=options?.allowMeta??!1;localHook??={},this.applyMacro(localHook);let standaloneValidators=[];if(localHook.standaloneValidator&&(standaloneValidators=standaloneValidators.concat(localHook.standaloneValidator)),this.standaloneValidator.local&&(standaloneValidators=standaloneValidators.concat(this.standaloneValidator.local)),this.standaloneValidator.scoped&&(standaloneValidators=standaloneValidators.concat(this.standaloneValidator.scoped)),this.standaloneValidator.global&&(standaloneValidators=standaloneValidators.concat(this.standaloneValidator.global)),path!==""&&path.charCodeAt(0)!==47&&(path="/"+path),this.config.prefix&&!skipPrefix&&(path=this.config.prefix+path),localHook?.type)switch(localHook.type){case"text":localHook.type="text/plain";break;case"json":localHook.type="application/json";break;case"formdata":localHook.type="multipart/form-data";break;case"urlencoded":localHook.type="application/x-www-form-urlencoded";break;case"arrayBuffer":localHook.type="application/octet-stream";break;default:break}let instanceValidator=this.validator.getCandidate(),cloned={body:localHook?.body??instanceValidator?.body,headers:localHook?.headers??instanceValidator?.headers,params:localHook?.params??instanceValidator?.params,query:localHook?.query??instanceValidator?.query,cookie:localHook?.cookie??instanceValidator?.cookie,response:localHook?.response??instanceValidator?.response},shouldPrecompile=this.config.precompile===!0||typeof this.config.precompile=="object"&&this.config.precompile.compose===!0,createValidator=()=>{let models=this.definitions.type,dynamic=!this.config.aot,normalize=this.config.normalize,modules=this.definitions.typebox,sanitize=()=>this.config.sanitize,cookieValidator=()=>{if(cloned.cookie||standaloneValidators.find((x)=>x.cookie))return getCookieValidator({modules,validator:cloned.cookie,defaultConfig:this.config.cookie,normalize,config:cloned.cookie?.config??{},dynamic,models,validators:standaloneValidators.map((x)=>x.cookie),sanitize})};return shouldPrecompile?{body:getSchemaValidator(cloned.body,{modules,dynamic,models,normalize,additionalCoerce:(()=>{let resolved=resolveSchema(cloned.body,models,modules);return resolved&&Kind in resolved&&(hasType("File",resolved)||hasType("Files",resolved))?coerceFormData():coercePrimitiveRoot()})(),validators:standaloneValidators.map((x)=>x.body),sanitize}),headers:getSchemaValidator(cloned.headers,{modules,dynamic,models,additionalProperties:!0,coerce:!0,additionalCoerce:stringToStructureCoercions(),validators:standaloneValidators.map((x)=>x.headers),sanitize}),params:getSchemaValidator(cloned.params,{modules,dynamic,models,coerce:!0,additionalCoerce:stringToStructureCoercions(),validators:standaloneValidators.map((x)=>x.params),sanitize}),query:getSchemaValidator(cloned.query,{modules,dynamic,models,normalize,coerce:!0,additionalCoerce:queryCoercions(),validators:standaloneValidators.map((x)=>x.query),sanitize}),cookie:cookieValidator(),response:getResponseSchemaValidator(cloned.response,{modules,dynamic,models,normalize,validators:standaloneValidators.map((x)=>x.response),sanitize})}:{createBody(){return this.body?this.body:this.body=getSchemaValidator(cloned.body,{modules,dynamic,models,normalize,additionalCoerce:(()=>{let resolved=resolveSchema(cloned.body,models,modules);return resolved&&Kind in resolved&&(hasType("File",resolved)||hasType("Files",resolved))?coerceFormData():coercePrimitiveRoot()})(),validators:standaloneValidators.map((x)=>x.body),sanitize})},createHeaders(){return this.headers?this.headers:this.headers=getSchemaValidator(cloned.headers,{modules,dynamic,models,normalize,additionalProperties:!normalize,coerce:!0,additionalCoerce:stringToStructureCoercions(),validators:standaloneValidators.map((x)=>x.headers),sanitize})},createParams(){return this.params?this.params:this.params=getSchemaValidator(cloned.params,{modules,dynamic,models,normalize,coerce:!0,additionalCoerce:stringToStructureCoercions(),validators:standaloneValidators.map((x)=>x.params),sanitize})},createQuery(){return this.query?this.query:this.query=getSchemaValidator(cloned.query,{modules,dynamic,models,normalize,coerce:!0,additionalCoerce:queryCoercions(),validators:standaloneValidators.map((x)=>x.query),sanitize})},createCookie(){return this.cookie?this.cookie:this.cookie=cookieValidator()},createResponse(){return this.response?this.response:this.response=getResponseSchemaValidator(cloned.response,{modules,dynamic,models,normalize,validators:standaloneValidators.map((x)=>x.response),sanitize})}}};(instanceValidator.body||instanceValidator.cookie||instanceValidator.headers||instanceValidator.params||instanceValidator.query||instanceValidator.response)&&(localHook=mergeHook(localHook,instanceValidator)),localHook.tags&&(localHook.detail?localHook.detail.tags=localHook.tags:localHook.detail={tags:localHook.tags}),isNotEmpty(this.config.detail)&&(localHook.detail=mergeDeep(Object.assign({},this.config.detail),localHook.detail));let hooks=isNotEmpty(this.event)?mergeHook(this.event,localHookToLifeCycleStore(localHook)):{...lifeCycleToArray(localHookToLifeCycleStore(localHook))};if(standaloneValidators.length&&Object.assign(hooks,{standaloneValidator:standaloneValidators}),this.config.aot===!1){let validator=createValidator();this.router.dynamic.add(method,path,{validator,hooks,content:localHook?.type,handle,route:path});let encoded=encodePath(path,{dynamic:!0});if(path!==encoded&&this.router.dynamic.add(method,encoded,{validator,hooks,content:localHook?.type,handle,route:path}),!this.config.strictPath){let loosePath=getLoosePath(path);this.router.dynamic.add(method,loosePath,{validator,hooks,content:localHook?.type,handle,route:path});let encoded2=encodePath(loosePath);loosePath!==encoded2&&this.router.dynamic.add(method,loosePath,{validator,hooks,content:localHook?.type,handle,route:path})}this.router.history.push({method,path,composed:null,handler:handle,compile:void 0,hooks});return}let adapter=this["~adapter"].handler,nativeStaticHandler=typeof handle!="function"?()=>{let fn=adapter.createNativeStaticHandler?.(handle,hooks,{headers:Object.assign({},this.setHeaders)});return fn instanceof Promise?fn.then((fn2)=>{if(fn2)return fn2}):fn?.()}:void 0,useNativeStaticResponse=this.config.nativeStaticResponse===!0,addResponsePath=(path2)=>{!useNativeStaticResponse||!nativeStaticHandler||(supportPerMethodInlineHandler?this.router.response[path2]?this.router.response[path2][method]=nativeStaticHandler():this.router.response[path2]={[method]:nativeStaticHandler()}:this.router.response[path2]=nativeStaticHandler())};addResponsePath(path);let _compiled,compile=()=>{if(_compiled)return _compiled;let compiled=composeHandler({app:this,path,method,hooks,validator:createValidator(),handler:typeof handle!="function"&&typeof adapter.createStaticHandler!="function"?()=>handle:handle,allowMeta,inference:this.inference});return this.router.history[index]&&(_compiled=this.router.history[index].composed=compiled),compiled},oldIndex;if(`${method}_${path}`in this.routeTree)for(let i=0;i<this.router.history.length;i++){let route2=this.router.history[i];if(route2.path===path&&route2.method===method){oldIndex=i;break}}else this.routeTree[`${method}_${path}`]=this.router.history.length;let index=oldIndex??this.router.history.length,route=this.router.history,mainHandler=shouldPrecompile?compile():(ctx)=>_compiled?_compiled(ctx):(route[index].composed=compile())(ctx);oldIndex!==void 0?this.router.history[oldIndex]=Object.assign({method,path,composed:mainHandler,compile,handler:handle,hooks},standaloneValidators.length?{standaloneValidators}:void 0,localHook.webSocket?{websocket:localHook.websocket}:void 0):this.router.history.push(Object.assign({method,path,composed:mainHandler,compile,handler:handle,hooks},localHook.webSocket?{websocket:localHook.websocket}:void 0));let handler={handler:shouldPrecompile?route[index].composed:void 0,compile(){return this.handler=compile()}},staticRouter=this.router.static,isStaticPath=path.indexOf(":")===-1&&path.indexOf("*")===-1;if(method==="WS"){if(isStaticPath){path in staticRouter?staticRouter[path][method]=index:staticRouter[path]={[method]:index};return}this.router.http.add("WS",path,handler),this.config.strictPath||this.router.http.add("WS",getLoosePath(path),handler);let encoded=encodePath(path,{dynamic:!0});path!==encoded&&this.router.http.add("WS",encoded,handler);return}if(isStaticPath)path in staticRouter?staticRouter[path][method]=index:staticRouter[path]={[method]:index},this.config.strictPath||addResponsePath(getLoosePath(path));else{if(this.router.http.add(method,path,handler),!this.config.strictPath){let loosePath=getLoosePath(path);addResponsePath(loosePath),this.router.http.add(method,loosePath,handler)}let encoded=encodePath(path,{dynamic:!0});path!==encoded&&(this.router.http.add(method,encoded,handler),addResponsePath(encoded))}}headers(header){return header?(this.setHeaders||(this.setHeaders={}),this.setHeaders=mergeDeep(this.setHeaders,header),this):this}onStart(handler){return this.on("start",handler),this}onRequest(handler){return this.on("request",handler),this}onParse(options,handler){return handler?this.on(options,"parse",handler):typeof options=="string"?this.on("parse",this["~parser"][options]):this.on("parse",options)}parser(name,parser){return this["~parser"][name]=parser,this}onTransform(options,handler){return handler?this.on(options,"transform",handler):this.on("transform",options)}resolve(optionsOrResolve,resolve){resolve||(resolve=optionsOrResolve,optionsOrResolve={as:"local"});let hook={subType:"resolve",fn:resolve};return this.onBeforeHandle(optionsOrResolve,hook)}mapResolve(optionsOrResolve,mapper){mapper||(mapper=optionsOrResolve,optionsOrResolve={as:"local"});let hook={subType:"mapResolve",fn:mapper};return this.onBeforeHandle(optionsOrResolve,hook)}onBeforeHandle(options,handler){return handler?this.on(options,"beforeHandle",handler):this.on("beforeHandle",options)}onAfterHandle(options,handler){return handler?this.on(options,"afterHandle",handler):this.on("afterHandle",options)}mapResponse(options,handler){return handler?this.on(options,"mapResponse",handler):this.on("mapResponse",options)}onAfterResponse(options,handler){return handler?this.on(options,"afterResponse",handler):this.on("afterResponse",options)}trace(options,handler){handler||(handler=options,options={as:"local"}),Array.isArray(handler)||(handler=[handler]);for(let fn of handler)this.on(options,"trace",createTracer(fn));return this}error(name,error){switch(typeof name){case"string":return error.prototype[ERROR_CODE]=name,this.definitions.error[name]=error,this;case"function":return this.definitions.error=name(this.definitions.error),this}for(let[code,error2]of Object.entries(name))error2.prototype[ERROR_CODE]=code,this.definitions.error[code]=error2;return this}onError(options,handler){return handler?this.on(options,"error",handler):this.on("error",options)}onStop(handler){return this.on("stop",handler),this}on(optionsOrType,typeOrHandlers,handlers){let type;switch(typeof optionsOrType){case"string":type=optionsOrType,handlers=typeOrHandlers;break;case"object":type=typeOrHandlers,!Array.isArray(typeOrHandlers)&&typeof typeOrHandlers=="object"&&(handlers=typeOrHandlers);break}Array.isArray(handlers)?handlers=fnToContainer(handlers):typeof handlers=="function"?handlers=[{fn:handlers}]:handlers=[handlers];let handles=handlers;for(let handle of handles)handle.scope=typeof optionsOrType=="string"?"local":optionsOrType?.as??"local",(type==="resolve"||type==="derive")&&(handle.subType=type);type!=="trace"&&(this.inference=sucrose({[type]:handles.map((x)=>x.fn)},this.inference,this.config.sucrose));for(let handle of handles){let fn=asHookType(handle,"global",{skipIfHasType:!0});switch((this.config.name||this.config.seed)&&(fn.checksum=checksum(this.config.name+JSON.stringify(this.config.seed))),type){case"start":this.event.start??=[],this.event.start.push(fn);break;case"request":this.event.request??=[],this.event.request.push(fn);break;case"parse":this.event.parse??=[],this.event.parse.push(fn);break;case"transform":this.event.transform??=[],this.event.transform.push(fn);break;case"derive":this.event.transform??=[],this.event.transform.push(fnToContainer(fn,"derive"));break;case"beforeHandle":this.event.beforeHandle??=[],this.event.beforeHandle.push(fn);break;case"resolve":this.event.beforeHandle??=[],this.event.beforeHandle.push(fnToContainer(fn,"resolve"));break;case"afterHandle":this.event.afterHandle??=[],this.event.afterHandle.push(fn);break;case"mapResponse":this.event.mapResponse??=[],this.event.mapResponse.push(fn);break;case"afterResponse":this.event.afterResponse??=[],this.event.afterResponse.push(fn);break;case"trace":this.event.trace??=[],this.event.trace.push(fn);break;case"error":this.event.error??=[],this.event.error.push(fn);break;case"stop":this.event.stop??=[],this.event.stop.push(fn);break}}return this}as(type){return promoteEvent(this.event.parse,type),promoteEvent(this.event.transform,type),promoteEvent(this.event.beforeHandle,type),promoteEvent(this.event.afterHandle,type),promoteEvent(this.event.mapResponse,type),promoteEvent(this.event.afterResponse,type),promoteEvent(this.event.trace,type),promoteEvent(this.event.error,type),type==="scoped"?(this.validator.scoped=mergeSchemaValidator(this.validator.scoped,this.validator.local),this.validator.local=null,this.standaloneValidator.local!==null&&(this.standaloneValidator.scoped||=[],this.standaloneValidator.scoped.push(...this.standaloneValidator.local),this.standaloneValidator.local=null)):type==="global"&&(this.validator.global=mergeSchemaValidator(this.validator.global,mergeSchemaValidator(this.validator.scoped,this.validator.local)),this.validator.scoped=null,this.validator.local=null,this.standaloneValidator.local!==null&&(this.standaloneValidator.scoped||=[],this.standaloneValidator.scoped.push(...this.standaloneValidator.local),this.standaloneValidator.local=null),this.standaloneValidator.scoped!==null&&(this.standaloneValidator.global||=[],this.standaloneValidator.global.push(...this.standaloneValidator.scoped),this.standaloneValidator.scoped=null)),this}group(prefix,schemaOrRun,run){let instance=new _Elysia({...this.config,prefix:""});instance.singleton={...this.singleton},instance.definitions={...this.definitions},instance.getServer=()=>this.getServer(),instance.inference=cloneInference(this.inference),instance.extender={...this.extender},instance["~parser"]=this["~parser"],instance.standaloneValidator={local:[...this.standaloneValidator.local??[]],scoped:[...this.standaloneValidator.scoped??[]],global:[...this.standaloneValidator.global??[]]};let isSchema=typeof schemaOrRun=="object",sandbox=(isSchema?run:schemaOrRun)(instance);return this.singleton=mergeDeep(this.singleton,instance.singleton),this.definitions=mergeDeep(this.definitions,instance.definitions),sandbox.event.request?.length&&(this.event.request=[...this.event.request||[],...sandbox.event.request||[]]),sandbox.event.mapResponse?.length&&(this.event.mapResponse=[...this.event.mapResponse||[],...sandbox.event.mapResponse||[]]),this.model(sandbox.definitions.type),Object.values(instance.router.history).forEach(({method,path,handler,hooks})=>{if(path=(isSchema?"":this.config.prefix??"")+prefix+path,isSchema){let{body,headers,query,params,cookie,response,...hook}=schemaOrRun,localHook=hooks;this.applyMacro(hook);let hasStandaloneSchema=body||headers||query||params||cookie||response;this.add(method,path,handler,mergeHook(hook,{...localHook||{},error:localHook.error?Array.isArray(localHook.error)?[...localHook.error??[],...sandbox.event.error??[]]:[localHook.error,...sandbox.event.error??[]]:sandbox.event.error,standaloneValidator:hook.standaloneValidator||localHook.standaloneValidator||hasStandaloneSchema?[...hook.standaloneValidator??[],...localHook.standaloneValidator??[],...hasStandaloneSchema?[{body,headers,query,params,cookie,response}]:[]]:void 0}),void 0)}else this.add(method,path,handler,mergeHook(hooks,{error:sandbox.event.error}),{skipPrefix:!0})}),this}guard(hook,run){if(!run){if(typeof hook=="object"){this.applyMacro(hook),hook.detail&&(this.config.detail?this.config.detail=mergeDeep(Object.assign({},this.config.detail),hook.detail):this.config.detail=hook.detail),hook.tags&&(this.config.detail?this.config.detail.tags=hook.tags:this.config.detail={tags:hook.tags});let type=hook.as??"local";if(hook.schema==="standalone"){this.standaloneValidator[type]||(this.standaloneValidator[type]=[]);let response=hook?.response?typeof hook.response=="string"||Kind in hook.response||"~standard"in hook.response?{200:hook.response}:hook?.response:void 0;this.standaloneValidator[type].push({body:hook.body,headers:hook.headers,params:hook.params,query:hook.query,response,cookie:hook.cookie})}else this.validator[type]={body:hook.body??this.validator[type]?.body,headers:hook.headers??this.validator[type]?.headers,params:hook.params??this.validator[type]?.params,query:hook.query??this.validator[type]?.query,response:hook.response??this.validator[type]?.response,cookie:hook.cookie??this.validator[type]?.cookie};return hook.parse&&this.on({as:type},"parse",hook.parse),hook.transform&&this.on({as:type},"transform",hook.transform),hook.derive&&this.on({as:type},"derive",hook.derive),hook.beforeHandle&&this.on({as:type},"beforeHandle",hook.beforeHandle),hook.resolve&&this.on({as:type},"resolve",hook.resolve),hook.afterHandle&&this.on({as:type},"afterHandle",hook.afterHandle),hook.mapResponse&&this.on({as:type},"mapResponse",hook.mapResponse),hook.afterResponse&&this.on({as:type},"afterResponse",hook.afterResponse),hook.error&&this.on({as:type},"error",hook.error),this}return this.guard({},hook)}let instance=new _Elysia({...this.config,prefix:""});instance.singleton={...this.singleton},instance.definitions={...this.definitions},instance.inference=cloneInference(this.inference),instance.extender={...this.extender},instance.getServer=()=>this.getServer();let sandbox=run(instance);if(this.singleton=mergeDeep(this.singleton,instance.singleton),this.definitions=mergeDeep(this.definitions,instance.definitions),sandbox.getServer=()=>this.server,sandbox.event.request?.length&&(this.event.request=[...this.event.request||[],...sandbox.event.request||[]]),sandbox.event.mapResponse?.length&&(this.event.mapResponse=[...this.event.mapResponse||[],...sandbox.event.mapResponse||[]]),this.model(sandbox.definitions.type),Object.values(instance.router.history).forEach(({method,path,handler,hooks:localHook})=>{let{body,headers,query,params,cookie,response,...guardHook}=hook,hasStandaloneSchema=body||headers||query||params||cookie||response;this.add(method,path,handler,mergeHook(guardHook,{...localHook||{},error:localHook.error?Array.isArray(localHook.error)?[...localHook.error??[],...sandbox.event.error??[]]:[localHook.error,...sandbox.event.error??[]]:sandbox.event.error,standaloneValidator:hasStandaloneSchema?[...localHook.standaloneValidator??[],{body,headers,query,params,cookie,response}]:localHook.standaloneValidator}))}),instance.promisedModules.size>0){let processedUntil=instance.router.history.length;for(let promise of instance.promisedModules.promises)this.promisedModules.add(promise.then(()=>{let{body,headers,query,params,cookie,response,...guardHook}=hook,hasStandaloneSchema=body||headers||query||params||cookie||response,startIndex=processedUntil;processedUntil=instance.router.history.length;for(let i=startIndex;i<instance.router.history.length;i++){let{method,path,handler,hooks:localHook}=instance.router.history[i];this.add(method,path,handler,mergeHook(guardHook,{...localHook||{},error:localHook.error?Array.isArray(localHook.error)?[...localHook.error??[],...sandbox.event.error??[]]:[localHook.error,...sandbox.event.error??[]]:sandbox.event.error,standaloneValidator:hasStandaloneSchema?[...localHook.standaloneValidator??[],{body,headers,query,params,cookie,response}]:localHook.standaloneValidator}))}}))}return this}use(plugin){if(!plugin)return this;if(Array.isArray(plugin)){let app=this;for(let p of plugin)app=app.use(p);return app}return plugin instanceof Promise?(this.promisedModules.add(plugin.then((plugin2)=>{if(typeof plugin2=="function")return plugin2(this);if(plugin2 instanceof _Elysia)return this._use(plugin2).compile();if(plugin2.constructor?.name==="Elysia")return this._use(plugin2).compile();if(typeof plugin2.default=="function")return plugin2.default(this);if(plugin2.default instanceof _Elysia)return this._use(plugin2.default);if(plugin2.constructor?.name==="Elysia")return this._use(plugin2.default);if(plugin2.constructor?.name==="_Elysia")return this._use(plugin2.default);try{return this._use(plugin2.default)}catch(error){throw console.error('Invalid plugin type. Expected Elysia instance, function, or module with "default" as Elysia instance or function that returns Elysia instance.'),error}}).then((v)=>(v&&typeof v.compile=="function"&&v.compile(),v))),this):this._use(plugin)}propagatePromiseModules(plugin){if(plugin.promisedModules.size<=0)return this;for(let promise of plugin.promisedModules.promises)this.promisedModules.add(promise.then((v)=>{if(!v)return;let t3=this._use(v);return t3 instanceof Promise?t3.then((v2)=>{v2?v2.compile():v.compile()}):v.compile()}));return this}_use(plugin){if(typeof plugin=="function"){let instance=plugin(this);return instance instanceof Promise?(this.promisedModules.add(instance.then((plugin2)=>{if(plugin2 instanceof _Elysia){plugin2.getServer=()=>this.getServer(),plugin2.getGlobalRoutes=()=>this.getGlobalRoutes(),plugin2.getGlobalDefinitions=()=>this.getGlobalDefinitions(),plugin2.model(this.definitions.type),plugin2.error(this.definitions.error);for(let{method,path,handler,hooks}of Object.values(plugin2.router.history))this.add(method,path,handler,hooks,void 0);return plugin2===this?void 0:(this.propagatePromiseModules(plugin2),plugin2)}return typeof plugin2=="function"?plugin2(this):typeof plugin2.default=="function"?plugin2.default(this):this._use(plugin2)}).then((v)=>(v&&typeof v.compile=="function"&&v.compile(),v))),this):instance}this.propagatePromiseModules(plugin);let name=plugin.config.name,seed=plugin.config.seed;if(plugin.getParent=()=>this,plugin.getServer=()=>this.getServer(),plugin.getGlobalRoutes=()=>this.getGlobalRoutes(),plugin.getGlobalDefinitions=()=>this.getGlobalDefinitions(),plugin.standaloneValidator?.scoped&&(this.standaloneValidator.local?this.standaloneValidator.local=this.standaloneValidator.local.concat(plugin.standaloneValidator.scoped):this.standaloneValidator.local=plugin.standaloneValidator.scoped),plugin.standaloneValidator?.global&&(this.standaloneValidator.global?this.standaloneValidator.global=this.standaloneValidator.global.concat(plugin.standaloneValidator.global):this.standaloneValidator.global=plugin.standaloneValidator.global),isNotEmpty(plugin["~parser"])&&(this["~parser"]={...plugin["~parser"],...this["~parser"]}),plugin.setHeaders&&this.headers(plugin.setHeaders),name){name in this.dependencies||(this.dependencies[name]=[]);let current=seed!==void 0?checksum(name+JSON.stringify(seed)):0;this.dependencies[name].some(({checksum:checksum3})=>current===checksum3)||(this.extender.macro={...this.extender.macro,...plugin.extender.macro},this.extender.higherOrderFunctions=this.extender.higherOrderFunctions.concat(plugin.extender.higherOrderFunctions))}else isNotEmpty(plugin.extender.macro)&&(this.extender.macro={...this.extender.macro,...plugin.extender.macro}),plugin.extender.higherOrderFunctions.length&&(this.extender.higherOrderFunctions=this.extender.higherOrderFunctions.concat(plugin.extender.higherOrderFunctions));if(plugin.extender.higherOrderFunctions.length){deduplicateChecksum(this.extender.higherOrderFunctions);let hofHashes=[];for(let i=0;i<this.extender.higherOrderFunctions.length;i++){let hof=this.extender.higherOrderFunctions[i];hof.checksum&&(hofHashes.includes(hof.checksum)&&(this.extender.higherOrderFunctions.splice(i,1),i--),hofHashes.push(hof.checksum))}hofHashes.length=0}this.inference=mergeInference(this.inference,plugin.inference),isNotEmpty(plugin.singleton.decorator)&&this.decorate(plugin.singleton.decorator),isNotEmpty(plugin.singleton.store)&&this.state(plugin.singleton.store),isNotEmpty(plugin.definitions.type)&&this.model(plugin.definitions.type),isNotEmpty(plugin.definitions.error)&&this.error(plugin.definitions.error),isNotEmpty(plugin.extender.macro)&&(this.extender.macro={...this.extender.macro,...plugin.extender.macro});for(let{method,path,handler,hooks}of Object.values(plugin.router.history))this.add(method,path,handler,hooks);if(name){name in this.dependencies||(this.dependencies[name]=[]);let current=seed!==void 0?checksum(name+JSON.stringify(seed)):0;if(this.dependencies[name].some(({checksum:checksum3})=>current===checksum3))return this;this.dependencies[name].push(this.config?.analytic?{name:plugin.config.name,seed:plugin.config.seed,checksum:current,dependencies:plugin.dependencies,stack:plugin.telemetry?.stack,routes:plugin.router.history,decorators:plugin.singleton,store:plugin.singleton.store,error:plugin.definitions.error,derive:plugin.event.transform?.filter((x)=>x?.subType==="derive").map((x)=>({fn:x.toString(),stack:Error().stack??""})),resolve:plugin.event.transform?.filter((x)=>x?.subType==="resolve").map((x)=>({fn:x.toString(),stack:Error().stack??""}))}:{name:plugin.config.name,seed:plugin.config.seed,checksum:current,dependencies:plugin.dependencies}),isNotEmpty(plugin.event)&&(this.event=mergeLifeCycle(this.event,filterGlobalHook(plugin.event),current))}else isNotEmpty(plugin.event)&&(this.event=mergeLifeCycle(this.event,filterGlobalHook(plugin.event)));return plugin.validator.global&&(this.validator.global=mergeHook(this.validator.global,{...plugin.validator.global})),plugin.validator.scoped&&(this.validator.local=mergeHook(this.validator.local,{...plugin.validator.scoped})),this}macro(macroOrName,macro){if(typeof macroOrName=="string"&&!macro)throw Error("Macro function is required");return typeof macroOrName=="string"?this.extender.macro[macroOrName]=macro:this.extender.macro={...this.extender.macro,...macroOrName},this}applyMacro(localHook,appliable=localHook,{iteration=0,applied={}}={}){if(iteration>=16)return;let macro=this.extender.macro;for(let[key,value]of Object.entries(appliable)){if(!(key in macro))continue;let macroHook=typeof macro[key]=="function"?macro[key](value):macro[key];if(!macroHook||typeof macro[key]=="object"&&value===!1)return;let seed=checksum(key+JSON.stringify(macroHook.seed??value));if(!(seed in applied)){applied[seed]=!0;for(let[k,value2]of Object.entries(macroHook))if(k!=="seed"){if(k in emptySchema){insertStandaloneValidator(localHook,k,value2),delete localHook[key];continue}if(k==="introspect"){value2?.(localHook),delete localHook[key];continue}if(k==="detail"){localHook.detail||(localHook.detail={}),localHook.detail=mergeDeep(localHook.detail,value2,{mergeArray:!0}),delete localHook[key];continue}if(k in macro){this.applyMacro(localHook,{[k]:value2},{applied,iteration:iteration+1}),delete localHook[key];continue}switch((k==="derive"||k==="resolve")&&typeof value2=="function"&&(value2={fn:value2,subType:k}),typeof localHook[k]){case"function":localHook[k]=[localHook[k],value2];break;case"object":Array.isArray(localHook[k])?localHook[k].push(value2):localHook[k]=[localHook[k],value2];break;case"undefined":localHook[k]=value2;break}delete localHook[key]}}}}mount(path,handleOrConfig,config){if(path instanceof _Elysia||typeof path=="function"||path.length===0||path==="/"){let run=typeof path=="function"?path:path instanceof _Elysia?path.compile().fetch:handleOrConfig instanceof _Elysia?handleOrConfig.compile().fetch:typeof handleOrConfig=="function"?handleOrConfig:(()=>{throw Error("Invalid handler")})(),handler2=({request,path:path2})=>run(new Request(replaceUrlPath(request.url,path2),request));return this.route("ALL","/*",handler2,{parse:"none",...config,detail:{...config?.detail,hide:!0},config:{mount:run}}),this}let handle=handleOrConfig instanceof _Elysia?handleOrConfig.compile().fetch:typeof handleOrConfig=="function"?handleOrConfig:(()=>{throw Error("Invalid handler")})(),length=(typeof path=="string"&&this.config.prefix?this.config.prefix+path:path).length-(path.endsWith("*")?1:0),handler=({request,path:path2})=>handle(new Request(replaceUrlPath(request.url,path2.slice(length)||"/"),request));return this.route("ALL",path,handler,{parse:"none",...config,detail:{...config?.detail,hide:!0},config:{mount:handle}}),this.route("ALL",path+(path.endsWith("/")?"*":"/*"),handler,{parse:"none",...config,detail:{...config?.detail,hide:!0},config:{mount:handle}}),this}get(path,handler,hook){return this.add("GET",path,handler,hook),this}post(path,handler,hook){return this.add("POST",path,handler,hook),this}put(path,handler,hook){return this.add("PUT",path,handler,hook),this}patch(path,handler,hook){return this.add("PATCH",path,handler,hook),this}delete(path,handler,hook){return this.add("DELETE",path,handler,hook),this}options(path,handler,hook){return this.add("OPTIONS",path,handler,hook),this}all(path,handler,hook){return this.add("ALL",path,handler,hook),this}head(path,handler,hook){return this.add("HEAD",path,handler,hook),this}connect(path,handler,hook){return this.add("CONNECT",path,handler,hook),this}route(method,path,handler,hook){return this.add(method.toUpperCase(),path,handler,hook,hook?.config),this}ws(path,options){return this["~adapter"].ws?this["~adapter"].ws(this,path,options):console.warn("Current adapter doesn't support WebSocket"),this}state(options,name,value){name===void 0?(value=options,options={as:"append"},name=""):value===void 0&&(typeof options=="string"?(value=name,name=options,options={as:"append"}):typeof options=="object"&&(value=name,name=""));let{as}=options;if(typeof name!="string")return this;switch(typeof value){case"object":return!value||!isNotEmpty(value)?this:name?((name in this.singleton.store)?this.singleton.store[name]=mergeDeep(this.singleton.store[name],value,{override:as==="override"}):this.singleton.store[name]=value,this):value===null?this:(this.singleton.store=mergeDeep(this.singleton.store,value,{override:as==="override"}),this);case"function":return name?(as==="override"||!(name in this.singleton.store))&&(this.singleton.store[name]=value):this.singleton.store=value(this.singleton.store),this;default:return(as==="override"||!(name in this.singleton.store))&&(this.singleton.store[name]=value),this}}decorate(options,name,value){name===void 0?(value=options,options={as:"append"},name=""):value===void 0&&(typeof options=="string"?(value=name,name=options,options={as:"append"}):typeof options=="object"&&(value=name,name=""));let{as}=options;if(typeof name!="string")return this;switch(typeof value){case"object":return name?((name in this.singleton.decorator)?this.singleton.decorator[name]=mergeDeep(this.singleton.decorator[name],value,{override:as==="override"}):this.singleton.decorator[name]=value,this):value===null?this:(this.singleton.decorator=mergeDeep(this.singleton.decorator,value,{override:as==="override"}),this);case"function":return name?(as==="override"||!(name in this.singleton.decorator))&&(this.singleton.decorator[name]=value):this.singleton.decorator=value(this.singleton.decorator),this;default:return(as==="override"||!(name in this.singleton.decorator))&&(this.singleton.decorator[name]=value),this}}derive(optionsOrTransform,transform){transform||(transform=optionsOrTransform,optionsOrTransform={as:"local"});let hook={subType:"derive",fn:transform};return this.onTransform(optionsOrTransform,hook)}model(name,model){let onlyTypebox=(a)=>{let res={};for(let key in a)"~standard"in a[key]||(res[key]=a[key]);return res};switch(typeof name){case"object":let parsedTypebox={},kvs=Object.entries(name);if(!kvs.length)return this;for(let[key,value]of kvs)key in this.definitions.type||("~standard"in value?this.definitions.type[key]=value:(parsedTypebox[key]=this.definitions.type[key]=value,parsedTypebox[key].$id??=`#/components/schemas/${key}`));return this.definitions.typebox=t.Module({...this.definitions.typebox.$defs,...parsedTypebox}),this;case"function":let result=name(this.definitions.type);return this.definitions.type=result,this.definitions.typebox=t.Module(onlyTypebox(result)),this;case"string":if(!model)break;if(this.definitions.type[name]=model,"~standard"in model)return this;let newModel={...model,id:model.$id??`#/components/schemas/${name}`};return this.definitions.typebox=t.Module({...this.definitions.typebox.$defs,...newModel}),this}return model?(this.definitions.type[name]=model,("~standard"in model)?this:(this.definitions.typebox=t.Module({...this.definitions.typebox.$defs,[name]:model}),this)):this}Ref(key){return t.Ref(key)}mapDerive(optionsOrDerive,mapper){mapper||(mapper=optionsOrDerive,optionsOrDerive={as:"local"});let hook={subType:"mapDerive",fn:mapper};return this.onTransform(optionsOrDerive,hook)}affix(base,type,word){if(word==="")return this;let delimieter=["_","-"," "],capitalize=(word2)=>word2[0].toUpperCase()+word2.slice(1),joinKey=base==="prefix"?(prefix,word2)=>delimieter.includes(prefix.at(-1)??"")?prefix+word2:prefix+capitalize(word2):delimieter.includes(word.at(-1)??"")?(suffix,word2)=>word2+suffix:(suffix,word2)=>word2+capitalize(suffix),remap=(type2)=>{let store={};switch(type2){case"decorator":for(let key in this.singleton.decorator)store[joinKey(word,key)]=this.singleton.decorator[key];this.singleton.decorator=store;break;case"state":for(let key in this.singleton.store)store[joinKey(word,key)]=this.singleton.store[key];this.singleton.store=store;break;case"model":for(let key in this.definitions.type)store[joinKey(word,key)]=this.definitions.type[key];this.definitions.type=store;break;case"error":for(let key in this.definitions.error)store[joinKey(word,key)]=this.definitions.error[key];this.definitions.error=store;break}},types=Array.isArray(type)?type:[type];for(let type2 of types.some((x)=>x==="all")?["decorator","state","model","error"]:types)remap(type2);return this}prefix(type,word){return this.affix("prefix",type,word)}suffix(type,word){return this.affix("suffix",type,word)}compile(){return this["~adapter"].beforeCompile?.(this),this["~adapter"].isWebStandard?(this._handle=this.config.aot?composeGeneralHandler(this):createDynamicHandler(this),Object.defineProperty(this,"fetch",{value:this._handle,configurable:!0,writable:!0}),typeof this.server?.reload=="function"&&this.server.reload({...this.server||{},fetch:this.fetch}),this):(typeof this.server?.reload=="function"&&this.server.reload(this.server||{}),this._handle=composeGeneralHandler(this),this)}get fetch(){let fetch=this.config.aot?composeGeneralHandler(this):createDynamicHandler(this);return Object.defineProperty(this,"fetch",{value:fetch,configurable:!0,writable:!0}),fetch}get modules(){return this.promisedModules}},Elysia=_Elysia;var argusPlugin=()=>{let tracer=trace3.getTracer("@elysiumjs/argus");return new Elysia({name:"@elysiumjs/argus"}).derive(({request})=>{let url=new URL(request.url);return{__argusSpan:tracer.startSpan(`${request.method} ${url.pathname}`,{attributes:{"http.method":request.method,"http.url":request.url,"http.target":url.pathname}})}}).onAfterResponse(({__argusSpan,request})=>{if(__argusSpan)__argusSpan.setStatus({code:SpanStatusCode2.OK}),__argusSpan.setAttribute("http.method",request.method),__argusSpan.end()}).onError(({__argusSpan,error})=>{if(__argusSpan){if(__argusSpan.setStatus({code:SpanStatusCode2.ERROR,message:error instanceof Error?error.message:"Unknown error"}),error instanceof Error)__argusSpan.recordException(error);__argusSpan.end()}})};import{Module as Module2}from"@elysiumjs/core";class ArgusModule extends Module2.configurable({defaults:{enabled:!0,exporter:"console"},required:["serviceName"]}){#started=!1;onInit(){if(ArgusSDK.isInitialized())return;ArgusSDK.initialize(this.config),this.#started=!0}onServe(app){app.use(argusPlugin())}async onDestroy(){if(!this.#started)return;this.#started=!1,await ArgusSDK.shutdown()}}ArgusModule=__legacyDecorateClassTS([Module2.register({})],ArgusModule);export{ArgusModule,ArgusSDK,Traced,argusPlugin,withTraceContext};