File Explorer

/proc/thread-self/root/proc/thread-self/root/proc/12/task/13/root/proc/1/root/opt/rust

This explorer reads the filesystem of the server it runs on, so /workspace/user isn't present here. Browsing and the terminal still work against this server's own disk from /.

nodejs.js72.2 KB · 45 lines
const { process } = globalThis;"use strict";var Bn=Object.create;var we=Object.defineProperty;var jn=Object.getOwnPropertyDescriptor;var qn=Object.getOwnPropertyNames;var Fn=Object.getPrototypeOf,Vn=Object.prototype.hasOwnProperty;var Ce=(e,t)=>()=>(e&&(t=e(e=0)),t);var Te=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),st=(e,t)=>{for(var r in t)we(e,r,{get:t[r],enumerable:!0})},Nt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of qn(t))!Vn.call(e,o)&&o!==r&&we(e,o,{get:()=>t[o],enumerable:!(n=jn(t,o))||n.enumerable});return e};var G=(e,t,r)=>(r=e!=null?Bn(Fn(e)):{},Nt(t||!e||!e.__esModule?we(r,"default",{value:e,enumerable:!0}):r,e)),$n=e=>Nt(we({},"__esModule",{value:!0}),e);var At=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)};var k=(e,t,r)=>(At(e,t,"read from private field"),r?r.call(e):t.get(e)),N=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},q=(e,t,r,n)=>(At(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r);var qt,F,se,Ft,Vt,$t,te=Ce(()=>{qt=require("async_hooks"),F=new qt.AsyncLocalStorage,se={get:()=>F.getStore(),with:(e,t)=>F.run(e,t)},Ft=()=>globalThis[$t],Vt=()=>{Object.defineProperty(globalThis,$t,{enumerable:!1,configurable:!0,value:se})},$t=Symbol.for("@vercel/request-context")});function Ie(e){if(e.host)return`https://${e.host}`}var ut=Ce(()=>{"use strict"});var zt={};st(zt,{toNodeHandler:()=>zn});function zn(e){return(t,r)=>{let n=Ft()?.get(),o=Jn(t,n?.signal??new AbortController().signal,e.fallbackOrigin);t.on("error",i=>{i.message!=="aborted"&&console.trace(i)});let s={waitUntil:n?.waitUntil??(()=>{}),cache:n?.cache??{delete:()=>Promise.resolve(),get:()=>Promise.resolve(null),set:()=>Promise.resolve(),expireTag:()=>Promise.resolve()},purge:n?.purge??{invalidateByTag:()=>Promise.resolve(),invalidateBySrcImage:()=>Promise.resolve(),dangerouslyDeleteByTag:()=>Promise.resolve(),dangerouslyDeleteBySrcImage:()=>Promise.resolve()}},a=e.handler(o,s);Promise.resolve(a).then(i=>{Kn(i,r)}).catch(i=>{console.error("Error running the exported Web Handler:",i),r.headersSent||r.writeHead(500),r.end("Internal Server Error")})}}function Jn(e,t,r){let n=Ie(e.headers)??r;return new Request(new URL(e.url||"/",n),{method:e.method,headers:Yn(e.headers),duplex:"half",body:["HEAD","GET"].includes(e.method??"")?null:Xn(e),signal:t})}function Yn(e){let t=new Headers;for(let[r,n]of Object.entries(e)){let o=Array.isArray(n)?n:[n];for(let s of o)s!==void 0&&t.append(r,s)}return t}function Xn(e){return new ReadableStream({start(t){e.on("data",r=>{t.enqueue(new Uint8Array([...new Uint8Array(r)]))}),e.on("end",()=>{t.close()}),e.on("error",r=>{t.error(r)})}})}function Kn(e,t){if(!e){t.end();return}let r=Qn(e.headers);if(t.writeHead(e.status,r),!e.body){t.end();return}let n=Zn(e.body);n.once("error",o=>{o&&o.name!=="AbortError"&&console.error(o),n.unpipe(t),n.resume(),t.end()}),n.pipe(t)}function Qn(e){let t={};if(e){let r=typeof e.raw<"u"?Object.entries(e.raw()):e.entries();for(let[n,o]of r)n.toLowerCase()==="set-cookie"?Array.isArray(t["set-cookie"])?t["set-cookie"].push(...Wt(o)):t["set-cookie"]=Wt(o):t[n]=o}return t}function Wt(e){let t=[],r=0,n,o,s,a,i;function d(){for(;r<e.length&&/\s/.test(e.charAt(r));)r+=1;return r<e.length}function c(){return o=e.charAt(r),o!=="="&&o!==";"&&o!==","}for(;r<e.length;){for(n=r,i=!1;d();)if(o=e.charAt(r),o===","){for(s=r,r+=1,d(),a=r;r<e.length&&c();)r+=1;r<e.length&&e.charAt(r)==="="?(i=!0,r=a,t.push(e.substring(n,s)),n=r):r=s+1}else r+=1;(!i||r>=e.length)&&t.push(e.substring(n,e.length))}return t}function Zn(e,t={}){let r=e.getReader(),{highWaterMark:n,encoding:o,objectMode:s=!1,signal:a}=t,i=!1,d=new Gt.Readable({objectMode:s,highWaterMark:n,encoding:o,signal:a,read(){r.read().then(c=>{c.done?d.push(null):d.push(c.value)},c=>d.destroy(c))},destroy(c,l){function u(){try{l(c)}catch(y){process.nextTick(()=>{throw y})}}if(!i){r.cancel(c).then(u,u);return}u()}});return r.closed.then(()=>{i=!0},c=>{i=!0,d.destroy(c)}),d}var Gt,Jt=Ce(()=>{"use strict";te();ut();Gt=require("stream")});var pt=Te(lt=>{"use strict";var Yt=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,eo=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,Xt=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,to=/\\([\u000b\u0020-\u00ff])/g,ro=/([\\"])/g,Kt=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;lt.format=no;lt.parse=oo;function no(e){if(!e||typeof e!="object")throw new TypeError("argument obj is required");var t=e.parameters,r=e.type;if(!r||!Kt.test(r))throw new TypeError("invalid type");var n=r;if(t&&typeof t=="object")for(var o,s=Object.keys(t).sort(),a=0;a<s.length;a++){if(o=s[a],!Xt.test(o))throw new TypeError("invalid parameter name");n+="; "+o+"="+io(t[o])}return n}function oo(e){if(!e)throw new TypeError("argument string is required");var t=typeof e=="object"?so(e):e;if(typeof t!="string")throw new TypeError("argument string is required to be a string");var r=t.indexOf(";"),n=r!==-1?t.substr(0,r).trim():t.trim();if(!Kt.test(n))throw new TypeError("invalid media type");var o=new ao(n.toLowerCase());if(r!==-1){var s,a,i;for(Yt.lastIndex=r;a=Yt.exec(t);){if(a.index!==r)throw new TypeError("invalid parameter format");r+=a[0].length,s=a[1].toLowerCase(),i=a[2],i[0]==='"'&&(i=i.substr(1,i.length-2).replace(to,"$1")),o.parameters[s]=i}if(r!==t.length)throw new TypeError("invalid parameter format")}return o}function so(e){var t;if(typeof e.getHeader=="function"?t=e.getHeader("content-type"):typeof e.headers=="object"&&(t=e.headers&&e.headers["content-type"]),typeof t!="string")throw new TypeError("content-type header is missing from object");return t}function io(e){var t=String(e);if(Xt.test(t))return t;if(t.length>0&&!eo.test(t))throw new TypeError("invalid parameter value");return'"'+t.replace(ro,"\\$1")+'"'}function ao(e){this.parameters=Object.create(null),this.type=e}});var Qt=Te(ft=>{"use strict";ft.parse=po;ft.serialize=fo;var co=decodeURIComponent,uo=encodeURIComponent,lo=/; */,He=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function po(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");for(var r={},n=t||{},o=e.split(lo),s=n.decode||co,a=0;a<o.length;a++){var i=o[a],d=i.indexOf("=");if(!(d<0)){var c=i.substr(0,d).trim(),l=i.substr(++d,i.length).trim();l[0]=='"'&&(l=l.slice(1,-1)),r[c]==null&&(r[c]=go(l,s))}}return r}function fo(e,t,r){var n=r||{},o=n.encode||uo;if(typeof o!="function")throw new TypeError("option encode is invalid");if(!He.test(e))throw new TypeError("argument name is invalid");var s=o(t);if(s&&!He.test(s))throw new TypeError("argument val is invalid");var a=e+"="+s;if(n.maxAge!=null){var i=n.maxAge-0;if(isNaN(i))throw new Error("maxAge should be a Number");a+="; Max-Age="+Math.floor(i)}if(n.domain){if(!He.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!He.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){if(typeof n.expires.toUTCString!="function")throw new TypeError("option expires is invalid");a+="; Expires="+n.expires.toUTCString()}if(n.httpOnly&&(a+="; HttpOnly"),n.secure&&(a+="; Secure"),n.sameSite){var d=typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite;switch(d){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return a}function go(e,t){try{return t(e)}catch{return e}}});var rr=Te((si,tr)=>{"use strict";tr.exports=yo;var mo=require("crypto"),Zt=require("fs").Stats,er=Object.prototype.toString;function ho(e){if(e.length===0)return'"0-2jmj7l5rSw0yVb/vlWAYkK/YBwk"';var t=mo.createHash("sha1").update(e,"utf8").digest("base64").substring(0,27),r=typeof e=="string"?Buffer.byteLength(e,"utf8"):e.length;return'"'+r.toString(16)+"-"+t+'"'}function yo(e,t){if(e==null)throw new TypeError("argument entity is required");var r=vo(e),n=t&&typeof t.weak=="boolean"?t.weak:r;if(!r&&typeof e!="string"&&!Buffer.isBuffer(e))throw new TypeError("argument entity must be string, Buffer, or fs.Stats");var o=r?bo(e):ho(e);return n?"W/"+o:o}function vo(e){return typeof Zt=="function"&&e instanceof Zt?!0:e&&typeof e=="object"&&"ctime"in e&&er.call(e.ctime)==="[object Date]"&&"mtime"in e&&er.call(e.mtime)==="[object Date]"&&"ino"in e&&typeof e.ino=="number"&&"size"in e&&typeof e.size=="number"}function bo(e){var t=e.mtime.getTime().toString(16),r=e.size.toString(16);return'"'+r+"-"+t+'"'}});var sr={};st(sr,{ApiError:()=>ie,handlerWithHelpers:()=>ko});function So(e,t){return function(){if(!e.headers["content-type"])return;let{parse:n}=pt(),{type:o}=n(e.headers["content-type"]);if(o==="application/json")try{let s=t.toString();return s?JSON.parse(s):{}}catch{throw new ie(400,"Invalid JSON")}if(o==="application/octet-stream")return t;if(o==="application/x-www-form-urlencoded"){let{parse:s}=require("querystring");return s(t.toString())}if(o==="text/plain")return t.toString()}}function xo({url:e="/"}){return function(){let{parse:r}=require("url");return r(e,!0).query}}function Eo(e){return function(){let r=e.headers.cookie;if(!r)return{};let{parse:n}=Qt();return n(Array.isArray(r)?r.join(";"):r)}}function wo(e,t){return e.statusCode=t,e}function Co(e,t,r){if(typeof t=="string"&&(r=t,t=307),typeof t!="number"||typeof r!="string")throw new Error("Invalid redirect arguments. Please use a single argument URL, e.g. res.redirect('/destination') or use a status code and URL, e.g. res.redirect(307, '/destination').");return e.writeHead(t,{Location:r}).end(),e}function To(e,t){let{parse:r,format:n}=pt(),o=r(e);return o.parameters.charset=t,n(o)}function Ro(e,t){let r=rr(),n=Buffer.isBuffer(e)?e:Buffer.from(e,t);return r(n,{weak:!0})}function nr(e,t,r){let n=r,o;switch(typeof n){case"string":t.getHeader("content-type")||t.setHeader("content-type","text/html");break;case"boolean":case"number":case"object":if(n===null)n="";else if(Buffer.isBuffer(n))t.getHeader("content-type")||t.setHeader("content-type","application/octet-stream");else return or(e,t,n);break}if(typeof n=="string"){o="utf8";let i=t.getHeader("content-type");typeof i=="string"&&t.setHeader("content-type",To(i,"utf-8"))}let s;if(n!==void 0){if(Buffer.isBuffer(n))s=n.length;else if(typeof n=="string")if(n.length<1e3)s=Buffer.byteLength(n,o);else{let i=Buffer.from(n,o);s=i.length,n=i,o=void 0}else throw new Error("`body` is not a valid string, object, boolean, number, Stream, or Buffer");s!==void 0&&t.setHeader("content-length",s)}let a;return!t.getHeader("etag")&&s!==void 0&&(a=Ro(n,o))&&t.setHeader("etag",a),(t.statusCode===204||t.statusCode===304)&&(t.removeHeader("Content-Type"),t.removeHeader("Content-Length"),t.removeHeader("Transfer-Encoding"),n=""),e.method==="HEAD"?t.end():o?t.end(n,o):t.end(n),t}function or(e,t,r){let n=JSON.stringify(r);return t.getHeader("content-type")||t.setHeader("content-type","application/json; charset=utf-8"),nr(e,t,n)}function gt(e,t,r){let n={configurable:!0,enumerable:!0},o={...n,writable:!0};Object.defineProperty(e,t,{...n,get:()=>{let s=r();return Object.defineProperty(e,t,{...o,value:s}),s},set:s=>{Object.defineProperty(e,t,{...o,value:s})}})}function ko(e){return async(t,r)=>{let n=t,o=r;try{let s=Io(n),a=await Po(s.cloneBodyStream());return await s.finalize(),gt(n,"cookies",Eo(n)),gt(n,"query",xo(n)),gt(n,"body",So(n,a)),o.status=i=>wo(o,i),o.redirect=(i,d)=>Co(o,i,d),o.send=i=>nr(n,o,i),o.json=i=>or(n,o,i),await e(n,o)}catch(s){if(s instanceof ie)o.statusCode=s.statusCode,o.statusMessage=s.message,o.end();else throw s}}}function Io(e){let t=null,r=new Promise((n,o)=>{e.on("end",n),e.on("error",o)}).catch(n=>({error:n}));return{async finalize(){if(t){let n=await r;if(n&&typeof n=="object"&&n.error)throw n.error;Ho(e,t),t=e}},cloneBodyStream(){let n=t??e,o=new mt.PassThrough,s=new mt.PassThrough;return n.on("data",a=>{o.push(a),s.push(a)}),n.on("end",()=>{o.push(null),s.push(null)}),t=s,o}}}function Ho(e,t){for(let r in t){let n=t[r];typeof n=="function"&&(n=n.bind(e)),e[r]=n}return e}function Po(e){return new Promise((t,r)=>{let n=[];e.on("error",o=>r(o)),e.on("data",o=>n.push(o)),e.on("end",()=>t(Buffer.concat(n)))})}var mt,ie,ir=Ce(()=>{"use strict";mt=require("stream");ie=class extends Error{constructor(r,n){super(n);this.statusCode=r}}});var Zr=Te(Ge=>{"use strict";Object.defineProperty(Ge,"__esModule",{value:!0});Ge.getEdgeConfigsFromEnv=void 0;var as="https://edge-config.vercel.com/ecfg_",cs=e=>{let t=[],r=new Set;return Object.values(e).map(n=>{let o=n?ds(n):null;if(o){if(r.has(o.edgeConfigId))return;r.add(o.edgeConfigId),t.push({id:o.edgeConfigId,token:o.token})}}),t};Ge.getEdgeConfigsFromEnv=cs;function ds(e){try{if(e.startsWith("flags:")){let t=new URLSearchParams(e.slice(6)),r=t.get("edgeConfigId"),n=t.get("edgeConfigToken");if(r&&n)return{edgeConfigId:r,token:n}}else if(e.startsWith("edge-config:")){let t=new URLSearchParams(e.slice(12)),r=t.get("id"),n=t.get("token");if(r&&n)return{edgeConfigId:r,token:n}}if(e.startsWith(as)){let t=e.slice(31,64),r=e.indexOf("token=")+6,n=e.slice(r,r+36);return{edgeConfigId:t,token:n}}}catch{}return null}});var Vs={};st(Vs,{startedDate:()=>ne});module.exports=$n(Vs);var Mt=require("module"),_t=Symbol("node-module-hook"),it=Mt.Module;function at(){let e=it._load;!e||e[_t]||(it._load=function(r,n,o){let s=Wn(),a=()=>s()||e;return a().apply(this,[r,n,o,(...i)=>a().apply(this,[...i,a()])])},Object.defineProperty(it._load,_t,{enumerable:!1,value:!0}))}var Lt=[];function Wn(){let e=0;return function(){return Lt[e++]}}function ct(e){Lt.push(e)}var Re=null,dt=new Map;function Dt(e){if(Re)throw new Error("Instrumenting module requires can happen only once");Re=e;for(let[t,r]of dt.entries())e(t,r);return()=>{Re=null}}var Gn=(e,t,r,n)=>{let o=n(e,t,r);return dt.get(e)!==o&&(e==="http"||e==="https"||e==="undici"||e==="next/dist/compiled/undici")&&(Re?.(e,o),dt.set(e,o)),o};at();ct(Gn);var An=require("async_hooks");var ar=require("http");var Ut=require("url");function Bt(e){return(t,r)=>{let n="";t.on("data",o=>{n+=o}),t.on("end",async()=>{let{event:o,context:s}=JSON.parse(n),{query:a}=(0,Ut.parse)(o.path,!0);o.queryStringParameters={},o.multiValueQueryStringParameters=a;for(let[d,c]of Object.entries(a))typeof c=="string"&&(o.queryStringParameters[d]=c);let i=!1;try{let d=await e(o,s,(c,l)=>{i||(i=!0,l?r.end(JSON.stringify(l)):r.end(JSON.stringify({error:c})))});d&&!i&&(i=!0,r.end(JSON.stringify(d)))}catch(d){i||(i=!0,r.end(JSON.stringify({error:d})))}})}}var jt=require("http"),ke=class extends jt.ServerResponse{constructor(){super(...arguments);this.currentSocket=null;this.currentSocketDetacher=null}assignSocket(r){this.currentSocket&&this.currentSocketDetacher&&this.currentSocket.off("close",this.currentSocketDetacher),super.assignSocket(r);let n=()=>{this.writableEnded||this.emit("aborted")};this.currentSocket=r,this.currentSocketDetacher=n,r.once("close",n),this.once("close",()=>{this.currentSocket&&this.currentSocketDetacher&&(this.currentSocket.off("close",this.currentSocketDetacher),this.currentSocket=null,this.currentSocketDetacher=null)})}};async function cr(e,t){let r,n;if("server"in e)return{server:e.server,handler:null};if(e.type==="web"){new Headers;let{toNodeHandler:s}=await Promise.resolve().then(()=>(Jt(),zt));r=s({handler:(a,i)=>e.handlerWeb(a,i),fallbackOrigin:"https://vercel.com"})}else e.type==="aws"?r=Bt(e.handlerAws):(r=async(s,a)=>{s.on("error",()=>{}),await e.handler(s,a)},r.preload=e.handler.preload,n=r.preload);if(t){let{handlerWithHelpers:s}=await Promise.resolve().then(()=>(ir(),sr));r=s(r),r.preload=n}return{server:(0,ar.createServer)({ServerResponse:ke},r),handler:r}}var ht=require("util"),dr;function Oo(e,...t){return(0,ht.format)(e,...t)+``}function pr(e){if(dr)throw new Error("Errors can only be patched once");function t(n,o){let s=n[o].bind(n);return n[o]=function(a,...i){let d=e.storage?.getStore(),c=!1;if(d){let l=(0,ht.format)(a,...i)+``;if(o==="trace"){let u=new Error().stack?.split(``);u&&(l="Trace: "+l+u.slice(2).join(``))}if(l.includes("ExperimentalWarning: vm.USE_MAIN_CONTEXT_DEFAULT_LOADER"))return;c=e.report({payload:{message:Buffer.from(l),level:o==="log"?"info":o??"error",spanContext:ur(d)},context:d})}c||e.storage?.run(null,()=>{process.stdout.write(Oo(a,...i))})}.bind(n),()=>n[o]=s}function r(n,o){let s=n.write.bind(n);return n.write=function(a,...i){let d=e.storage?.getStore(),c=!1;return d&&(c=e.report({payload:{message:Buffer.from(a),stream:o,spanContext:ur(d)},context:d})),typeof a=="string"&&a.includes("ExperimentalWarning: vm.USE_MAIN_CONTEXT_DEFAULT_LOADER")||c?!0:s(a,...i)}.bind(n),()=>n.write=s}dr=[r(process.stdout,"stdout"),r(process.stderr,"stderr"),t(console,"debug"),t(console,"error"),t(console,"info"),t(console,"log"),t(console,"trace"),t(console,"warn")]}function ur(e){return lr(_o())??lr(e.otelContext)}function lr(e){if(!e||"traceFlags"in e&&!e.traceFlags)return;let{traceId:t,spanId:r}=e;return{traceId:t,spanId:r}}var No=Symbol.for("opentelemetry.js.api.1"),Ao=Symbol.for("OpenTelemetry Context Key SPAN");function _o(){try{let e=Mo("context");return e&&e.active()?.getValue(Ao)?.spanContext()||void 0}catch{return}}function Mo(e){return globalThis[No]?.[e]}var fr=e=>parseFloat(e.toFixed(2)),A="performance"in globalThis?globalThis.performance:void 0,ae="__fallback_id__",yt=class{constructor(){this.measures=new Map;this.marks=new Map}_consumeGlobalMarks(t,r){let n=t.getEntries();for(let o=0;o<n.length;o++){let s=n[o];if(s.entryType!=="mark"||!s.name.startsWith("vc:"))continue;t.clearMarks(s.name);let a=this.marks.get(r)??new Map;a.set(s.name,{startTime:s.startTime}),this.marks.set(r,a)}}_measure(t,r,n,o,s){if(typeof o=="string"){let a=this.getMarks(t).get(o);if(!a)throw new Error(`The "${o}" performance mark has not been set`);let i=s?this.getMarks(t).get(s):void 0;if(s&&!i)throw new Error(`The "${s}" performance mark has not been set`);return r.measure(n,{start:a.startTime,end:i?i.startTime:void 0})}return typeof o=="object"?r.measure(n,o):r.measure(n,o,s)}measure(t,r,n,o){let s=Pe(t);if(!s||!A)return;let a=this._measure(s,A,r,n,o);A.clearMeasures(r);let i=this.measures.get(s)??new Map,d=1,c=()=>r+(d===1?"":`-${d}`);for(;i.has(c());)d++;return i.set(c(),{startTime:a.startTime,duration:a.duration,name:c()}),this.measures.set(s,i),a}mark(t,...r){let n=Pe(t);if(!n||!A)return;this._consumeGlobalMarks(A,n);let o=A.mark(...r);A.clearMarks(r[0]);let s=this.marks.get(n)??new Map;return s.set(o.name,{startTime:o.startTime}),this.marks.set(n,s),o}getMarks(t){let r=this.marks.get(t)??new Map,n=this.marks.get(ae)??new Map;for(let[o,s]of n)n.delete(o),r.set(o,s);return r}getMeasures(t){let r=this.measures.get(t)??new Map,n=this.measures.get(ae)??new Map;for(let[o,s]of n)n.delete(o),r.set(o,s);return r}clearEntries(t){this.marks.delete(ae),this.marks.delete(t),this.measures.delete(ae),this.measures.delete(t)}};function Lo(e){let t=Pe(e);if(!t)return{marks:{},measures:{},bytecode:{}};let r=Object.fromEntries(U.getMarks(t)),n=Object.fromEntries(U.getMeasures(t));U.clearEntries(t);let o=Uo()?.getStatus()??{};return{marks:r,measures:n,bytecode:o}}function gr(e,t){if(!Pe(e)||!A)return null;let n=Lo(e),o=[],s=[],a=0;typeof n.bytecode.HIT=="number"&&s.push(`bytecode-${n.bytecode.HIT>0?"hit":"miss"};offset=0`);let i=t.maxHeaderSize??16384,d=t.timingsOffset??0;for(let c of Do(A,n)){let l=fr(Math.max(0,c.offset)+d),u=fr(Math.max(0,c.duration)),y=`${c.name}_${l}+${u}`,f=`${c.name};dur=${u};desc="${y}";offset=${l}`;c.name.startsWith("fetch")?o.push(f):(a>0&&a++,a+=f.length,s.push(f))}for(let c of o){if(a+c.length+1>i)break;s.push(c),a+=c.length+1}return s.join(",")}function Do(e,t){let r=t.marks["vc:init-started"]?.startTime,n=t.marks["vc:import-started"]?.startTime,o=t.marks["vc:import-finished"]?.startTime,s=t.marks["vc:tla-started"]?.startTime,a=t.marks["vc:tla-finished"]?.startTime,i=t.marks["vc:server-ready"]?.startTime,d=t.marks["vc:init-finished"]?.startTime,c=t.marks["invoke-started"]?.startTime,l=t.marks["request-started"]?.startTime,u=t.marks["handler-started"]?.startTime,y=t.marks["response-started"]?.startTime,f=t.marks["n1-request-message"]?.startTime,h=t.marks["tunnel-requested"]?.startTime,v=t.marks["tunnel-connected"]?.startTime,x=t.marks["vc:bytecode-started"]?.startTime,b=t.marks["vc:bytecode-finished"]?.startTime,p=r||c||f||0,m=(E,T)=>{if(typeof T.start=="number"&&typeof T.end=="number"){let R=e.measure(E,T);e.clearMeasures(E);let rt=Math.max(R.duration-(T.delta??0),0);return{name:E,duration:rt,offset:T.start-p}}return null},w=typeof d=="number"&&typeof c=="number"?c-d:0;return[m("bootstrap",{start:r,end:n}),m("tla",{start:s,end:a}),m("post-init-delay",{start:d,end:c}),m("import-fn",{start:n,end:o,delta:typeof d=="number"&&typeof o=="number"&&o>d?w:0}),m("server-ready",{start:o,end:i}),m("request",{start:i||c||f,end:l,delta:typeof d=="number"&&typeof i=="number"&&i<d?w:0}),m("handler-latency",{start:l,end:u}),m("bytecode",{start:x,end:b}),...Object.values(t.measures).map(E=>{let T=typeof r=="number"&&typeof d=="number"&&typeof E.startTime=="number"&&E.startTime<d&&E.startTime+E.duration>d;return{name:E.name,duration:E.duration-(T?w:0),offset:E.startTime?E.startTime-p:0}}),m("response",{start:u,end:y}),m("total-latency",{start:r||c||f,end:u,delta:typeof r=="number"?w:0}),m("ttfb",{start:r||c||f,end:y,delta:typeof r=="number"?w:0}),m("tunnel",{start:h,end:v})].filter(E=>!!E)}function Pe(e){return typeof e?.["x-vercel-id"]=="string"?e["x-vercel-id"]:Array.isArray(e?.["x-vercel-id"])?e["x-vercel-id"][0]:void 0}function mr(e){!("performance"in globalThis)||globalThis.performance!==A||(globalThis.performance=new Proxy(globalThis.performance,{get(t,r){let n={"x-vercel-id":e?.getStore()?.vercelId??ae};return r==="mark"?(...o)=>o[0]?.startsWith("vc:")&&U.mark(n,o[0],o[1])||t.mark(o[0],o[1]):r==="measure"?(o,s,a)=>o.startsWith("vc:")&&U.measure(n,o.slice(3),s,a)||t.measure(o,s,a):t[r]}}))}var U=new yt;function Oe(){return Math.floor(performance.timeOrigin+performance.now())}function Uo(){return globalThis[Symbol.for("@vercel/get-code-cache")]}te();var Ne=class{constructor({onError:t}={}){this.waitFunctions=new Set;this.awaiting=async()=>{let t=this.onError??console.error;for(;this.waitFunctions.size>0;){let r=[...this.waitFunctions];this.waitFunctions.clear(),await Promise.all(r.map(async n=>{try{await n()}catch(o){t(o)}}))}};this.waitUntil=t=>{this.waitFunctions.add(typeof t=="function"?t:()=>t)};this.onError=t}};var Bo="x-vercel-cache-state",hr="x-vercel-cache-tags",jo="x-vercel-revalidate",yr="x-vercel-cache-item-name",qo="x-vercel-internal-sc-client-origin",Fo="x-vercel-internal-sc-client-name",Vo="RUNTIME_CACHE",$o="RUNTIME_CACHE",Wo="",Go={},zo="",Jo="https",ce=class{constructor({scBasepath:t,scHost:r,scHeaders:n,scProtocol:o,requestInit:s,onError:a,client:i,cacheTagApi:d}={}){this.getUrl=t=>`${this.protocol}://${this.host}${this.basepath}/v1/suspense-cache/${t}`;this.get=async(t,r)=>{try{let n={};r?.name&&(n[yr]=r.name);let o=await fetch(this.getUrl(t),{...this.requestInit,headers:{...this.headers,...n},method:"GET"});if(o.status===404)return null;if(o.status===200){if(o.headers.get(Bo)!=="fresh")return o.body?.cancel?.(),null;let a=o.headers.get(hr);return a&&this.cacheTagApi?.addCacheTag(a.split(",")),await o.json()}else throw new Error(`Failed to get cache: ${o.statusText}`)}catch(n){return this.onError?.(n),null}};this.set=async(t,r,n)=>{try{let o={};n?.ttl&&(o[jo]=n.ttl.toString()),n?.tags&&n.tags.length>0&&(o[hr]=n.tags.join(","),this.cacheTagApi?.addCacheTag(n.tags)),n?.name&&(o[yr]=n.name);let s=await fetch(this.getUrl(t),{method:"POST",headers:{...this.headers,...o},body:JSON.stringify(r)});if(s.status!==200)throw new Error(`Failed to set cache: ${s.statusText}`)}catch(o){this.onError?.(o)}};this.delete=async t=>{try{let r=await fetch(this.getUrl(t),{...this.requestInit,method:"DELETE",headers:this.headers});if(r.status!==200)throw new Error(`Failed to delete cache: ${r.statusText}`)}catch(r){this.onError?.(r)}};this.expireTag=async t=>{try{Array.isArray(t)&&(t=t.join(","));let r=await fetch(this.getUrl(`revalidate?tags=${t}`),{...this.requestInit,method:"POST",headers:{...this.headers}});if(r.status!==200)throw new Error(`Failed to expire tag: ${r.statusText}`)}catch(r){this.onError?.(r)}};this.onError=a,this.basepath=t??zo,this.host=r??Wo,this.protocol=o??Jo,this.headers=n??Go,this.headers[qo]=Vo,this.headers[Fo]=i??$o,this.cacheTagApi=d,this.requestInit=s??{cache:"no-store"}}};var vr="_vc_srcimg:",br=typeof process<"u"?process.env:{},Yo=!!br.NEXT_PRIVATE_DEBUG_CACHE,Xo=Number(br.VERCEL_PRIVATE_PURGE_CLIENT_TIMEOUT||"1000"),Ko=e=>new Promise(t=>setTimeout(t,e));async function _e(e,t,r=0){try{let n=await fetch(e,{...t||{},next:{internal:!0},signal:AbortSignal.timeout(Xo)});if(!n.ok)throw new Error(`Unexpected status ${n.status}`);return n}catch(n){let o=n;if(r===3){if(console.warn(`Purge failed after 3 retries with error: ${o.message}`),o.name==="AbortError"||o.name==="TimeoutError")return null;throw o}return Yo&&console.log(`Purge failed for ${e} retry ${r} with error: ${o.message}`),await Ko(Math.pow(2,r)*200),_e(e,t,r+1)}}async function Ae(e){if(!e)return{expiration:0};let{tagsExpiration:t}=await e.json();return{expiration:t}}var de=class{constructor({scBasepath:t,scHost:r,scHeaders:n,scProtocol:o,requestInit:s,onError:a,client:i}={}){this.getInvalidateUrl=(t,r)=>`${this.protocol}://${this.host}${this.basepath}/v1/suspense-cache/invalidate?tags=${encodeURIComponent(t.join(","))}&swr=${encodeURIComponent(r)}`;this.invalidateByTag=async t=>{try{let r=Array.isArray(t)?t:[t],n=await _e(this.getInvalidateUrl(r,31536e3),{...this.requestInit,method:"POST",headers:{...this.headers}});return Ae(n)}catch(r){throw this.onError?.(r),r}};this.invalidateBySrcImage=async t=>{try{let n=(Array.isArray(t)?t:[t]).map(s=>`${vr}${s.replace(/,/g,"!")}`),o=await fetch(this.getInvalidateUrl(n,31536e3),{...this.requestInit,method:"POST",headers:{...this.headers}});return Ae(o)}catch(r){throw this.onError?.(r),r}};this.dangerouslyDeleteByTag=async(t,r)=>{try{let n=Array.isArray(t)?t:[t],o=await _e(this.getInvalidateUrl(n,r?.revalidationDeadlineSeconds??0),{...this.requestInit,method:"POST",headers:{...this.headers}});return Ae(o)}catch(n){throw this.onError?.(n),n}};this.dangerouslyDeleteBySrcImage=async(t,r)=>{try{let o=(Array.isArray(t)?t:[t]).map(a=>`${vr}${a.replace(/,/g,"!")}`),s=await _e(this.getInvalidateUrl(o,r?.revalidationDeadlineSeconds??0),{...this.requestInit,method:"POST",headers:{...this.headers}});return Ae(s)}catch(n){throw this.onError?.(n),n}};this.onError=a,this.basepath=t??"",this.host=r??"",this.protocol=o??"https",this.headers=n??{},this.headers["x-vercel-internal-sc-client-origin"]="PURGE_API",this.headers["x-vercel-internal-sc-client-name"]=i??"PURGE_API",this.requestInit=s??{cache:"no-store"}}};var Me=class{constructor(){this.tag=new Set;this.addCacheTag=(t,...r)=>{r.length>0&&console.warn(`addCacheTag expected 1 tag parameter but received ${r.length+1}. Additional tag parameters will be ignored.`),Array.isArray(t)?t.forEach(n=>this.tag.add(n)):this.tag.add(t)};this.getTags=()=>Array.from(this.tag)}};ut();te();var Q=require("http");var Sr=Symbol.for("@vercel/flags-context");function xr(e){let{symbol:t,value:r}=Qo(e);Reflect.has(globalThis,t)||Object.defineProperty(globalThis,t,{value:r,configurable:!0})}function Qo(e){return{symbol:Sr,value:{reportValue(t,r,n){let o={key:String(t),value:JSON.stringify(r)};if(o.value!==void 0){switch(typeof n?.reason=="string"&&(o.reason=n.reason),typeof n?.outcomeType=="string"&&(o.outcomeType=n.outcomeType),typeof n?.sdkVersion=="string"&&(o.sdkVersion=n.sdkVersion),typeof n?.originProjectId=="string"&&(o.originProjectId=n.originProjectId),typeof n?.originProvider=="string"&&(o.originProvider=n.originProvider),process.env.VC_SOURCE_TEMPLATE_TYPE){case"edge-on-node":o.source="edge",o.edgeType="middleware";break;case"worker":o.source="edge",o.edgeType="edge-function";break;default:break}e(o)}}}}}function Er(){let e=new Map;return{getValues(){return Object.fromEntries(e)},reportValue(t,r,n){e.set(t,r),Reflect.get(globalThis,Sr).reportValue(t,r,n)}}}function wr(e){let t=Buffer.from(JSON.stringify(e.metadata)),r=Buffer.alloc(4);return r.writeUInt32LE(t.length,0),Buffer.concat([r,t,e.buffer])}function Cr(){return Math.floor(performance.timeOrigin+performance.now())}var Le=Buffer.allocUnsafe(8);function Zo(){for(let e=0;e<8/4;e++)Le.writeUInt32BE(Math.random()*2**32>>>0,e*4);for(let e=0;e<8&&!(Le[e]>0);e++)e===8-1&&(Le[8-1]=1);return Le.toString("hex",0,8)}var z,ue,le,pe,fe,De,Ue,vt=class{constructor({name:t,parentSpanId:r,startTime:n,kind:o=1}){N(this,z,void 0);N(this,ue,void 0);N(this,le,void 0);N(this,pe,void 0);N(this,fe,void 0);N(this,De,[]);N(this,Ue,[]);q(this,ue,t),q(this,z,Zo()),q(this,le,r||void 0),q(this,pe,n??Cr()),q(this,fe,o)}spanId(){return k(this,z)}end(){return{name:k(this,ue),spanId:k(this,z),parentSpanId:k(this,le),startTimeUnixNano:k(this,pe)*1e6,endTimeUnixNano:Cr()*1e6,kind:k(this,fe),events:k(this,De),attributes:k(this,Ue)}}childSpan(t){return new vt({parentSpanId:k(this,z),name:t.name,kind:t.kind})}},B=vt;z=new WeakMap,ue=new WeakMap,le=new WeakMap,pe=new WeakMap,fe=new WeakMap,De=new WeakMap,Ue=new WeakMap;var ge,Be=class{constructor({requestContext:t,reportSpans:r}){N(this,ge,void 0);this.requestContext=t,q(this,ge,r)}recordSpan(t,r){t&&this.recordSpans([t],r)}recordSpans(t,r){let n=r??this.requestContext.getStore()?.otelContext;!t.length||!n||k(this,ge).call(this,{resourceSpans:[{scopeSpans:[{scope:{name:"vercel.serverless-runtime"},spans:t.map(es.bind(null,n.traceId))}]}]})}};ge=new WeakMap;function es(e,t){return{...t,traceId:e,kind:1}}var Tr=G(require("https")),Rr=G(require("http")),kr=G(require("crypto")),H=null,ts=12e4;async function Ir(){if(H||process.versions.bun)return;let e=await import("inspector");H=new e.Session,H.connect(),await me(t=>H.post("Profiler.setSamplingInterval",{interval:100},t)),await me(t=>H.post("Profiler.enable",t)),await me(t=>H.post("Profiler.start",t)),setTimeout(()=>{rs()},ts)}async function rs(){if(!H||process.versions.bun)return;let e=await me(t=>H.post("Profiler.stop",t));return await me(t=>H.post("Profiler.disable",t)),H.disconnect(),H=null,JSON.stringify(e.profile)}function me(e){return new Promise((t,r)=>{e((n,o)=>{n?r(n):t(o)})})}async function Hr(e,t){let r=kr.default.randomUUID(),n=[];for(let[l,u]of Object.entries(t.fields))n.push(`--${r}\r`),n.push(`Content-Disposition: form-data; name="${l}"\r\r`),n.push(`${u}\r`);n.push(`--${r}\r`),n.push(`Content-Disposition: form-data; name="file"; filename="filename.json"\r`),n.push(`Content-Type: application/json\r\r`),n.push(e+`\r`),n.push(`--${r}--\r`);let o=Buffer.concat(n.map(l=>Buffer.from(l,"utf8"))),i=(new URL(t.url).protocol==="https:"?Tr.default.request:Rr.default.request)(t.url,{__vercel_ignore:!0,method:"POST",headers:{"Content-Length":o.byteLength,"Content-Type":`multipart/form-data; boundary=${r}`}}),d=new Promise((l,u)=>{i.on("response",l),i.on("error",u)});i.write(o),i.end();let c=await d;if(!c.statusCode||c.statusCode<200||c.statusCode>300){let l=async()=>{let u=[];for await(let y of c)u.push(y);return Buffer.concat(u).toString()};throw new Error(`CPU profile upload failed: HTTP ${c.statusCode}: ${await l()}`)}}function Pr(e,t){let r=[...t.getHeaderNames()];for(let n of r)e.has(n)||t.removeHeader(n);for(let n of e.keys()){if(n.toLowerCase()==="set-cookie"){let s=e.getSetCookie();t.setHeader(n,s);continue}let o=e.get(n);o==null?t.removeHeader(n):t.setHeader(n,o)}}function Or(e){let t=new Headers,r=e.getHeaderNames();for(let n of[...r]){let o=e.getHeader(n);typeof o>"u"||(Array.isArray(o)?o.forEach(s=>t.append(n,s)):t.append(n,String(o)))}return t}var ns=Symbol.for("@vercel/function-healthcheck");function Nr(){let e=globalThis[ns];if(typeof e=="function")return e}var J=globalThis.Function.constructor,Y=function*(){}.constructor,X=async function(){}.constructor,K=async function*(){}.constructor,Fe=!1,re=class extends Error{constructor(t){super(t),this.name="DisallowedEvalError"}};function je(e){return`[vc] indirect dynamic eval detected: ${e?.split(``).find(r=>r.includes("/var/task"))?.trim()}`}function qe(e){if(!e)return!1;for(let t of e.split(``)){if(t.includes("/var/task/")&&!t.includes("node_modules"))return!1;if(t.includes("next-server")||t.includes("react-server-dom-webpack")||t.includes("react-server-dom-turbopack")||t.includes("react-server-dom-parcel")||t.includes("waku/src/router/define-router"))return!0}return!1}function Ar(e){if(Fe)return;Fe=!0;function t(){let s=new Error().stack;return e==="log"?(console.log(je(s)),J):qe(s)?function(){return function(){throw new re('Detected dynamic code evaluation via Function.prototype.constructor which is not allowed on Vercel (use globalThis.Function("...") directly)')}}:J}function r(){let s=new Error().stack;return e==="log"?(console.log(je(s)),Y):qe(s)?function(){return function(){throw new re("Detected dynamic code evaluation via generator function constructor which is not allowed on Vercel")}}:Y}function n(){let s=new Error().stack;return e==="log"?(console.log(je(s)),X):qe(s)?function(){return function(){throw new re("Detected dynamic code evaluation via async function constructor which is not allowed on Vercel")}}:X}function o(){let s=new Error().stack;return e==="log"?(console.log(je(s)),K):qe(s)?function(){return function(){throw new re("Detected dynamic code evaluation via async generator function constructor which is not allowed on Vercel")}}:K}Object.defineProperty(J.prototype,"constructor",{get:t,set(s){this!==J.prototype?Object.defineProperty(this,"constructor",{value:s,configurable:!0,enumerable:!0}):s!==J&&Object.defineProperty(this,"constructor",{value:s})},enumerable:!1,configurable:!0}),Object.defineProperty(Y.prototype,"constructor",{get:r,set(s){this!==Y.prototype?Object.defineProperty(this,"constructor",{value:s,configurable:!0,enumerable:!0}):s!==Y&&Object.defineProperty(this,"constructor",{value:s})},enumerable:!1,configurable:!0}),Object.defineProperty(X.prototype,"constructor",{get:n,set(s){this!==X.prototype?Object.defineProperty(this,"constructor",{value:s,configurable:!0,enumerable:!0}):s!==X&&Object.defineProperty(this,"constructor",{value:s})},enumerable:!1,configurable:!0}),Object.defineProperty(K.prototype,"constructor",{get:o,set(s){this!==K.prototype?Object.defineProperty(this,"constructor",{value:s,configurable:!0,enumerable:!0}):s!==K&&Object.defineProperty(this,"constructor",{value:s})},enumerable:!1,configurable:!0})}function _r(){Fe&&(Fe=!1,Object.defineProperty(J.prototype,"constructor",{value:J,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(Y.prototype,"constructor",{value:Y,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(X.prototype,"constructor",{value:X,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(K.prototype,"constructor",{value:K,writable:!0,enumerable:!1,configurable:!0}))}var Mr=Function.prototype.toString,Ve=!1;function Lr(){if(Ve)return;Ve=!0;let e=function(){return this===e?"function toString() { [native code] }":typeof this=="function"&&"$$typeof"in this&&this.$$typeof===Symbol.for("react.server.reference")?(console.warn("[vc] TypeError: Unexpected toString call"),"function () { [omitted code] }"):Mr.call(this)};Function.prototype.toString=e}function Dr(){Ve&&(Ve=!1,Function.prototype.toString=Mr)}var jr=require("http"),qr=require("async_hooks");te();var Ur=["GET","HEAD","OPTIONS","POST","PUT","DELETE","PATCH"],_=Symbol.for("@vercel/server-context");var We=Symbol.for("@vercel/server-context-upgrade-handler"),$e=Symbol("@vercel/pending-ws-upgrade");function bt(e){let t=e.headers.connection,r=e.headers.upgrade;return typeof t=="string"&&t.split(",").some(n=>n.trim().toLowerCase()==="upgrade")&&typeof r=="string"&&r.split(",").some(n=>n.trim().toLowerCase()==="websocket")}function Fr(e){let{server:t,ensureRequestContextListenersPatched:r,dispatchRequest:n}=e;return(o,s,a)=>{if(!bt(o)||(s.setTimeout(0),s.setNoDelay(!0),t.listenerCount("upgrade")>1))return;let i=new jr.ServerResponse(o);typeof i.assignSocket=="function"&&i.assignSocket(s),Object.defineProperty(o,$e,{enumerable:!1,configurable:!0,value:a});let d=()=>{delete o[$e]};return i.once("close",d),i.once("finish",d),r(t),n(o,i)}}function Vr({withALSContext:e}){return t=>{for(let n of t.listeners("upgrade")){let s=function(a,i,d,...c){return a.headers["x-vercel-internal-invocation-id"]?o.call(this,a,i,d,...c):n.call(this,a,i,d,...c)};var r=s;if(n[_]||n===t[We])continue;t.removeListener("upgrade",n);let o=e(n);Object.defineProperty(s,_,{enumerable:!1,configurable:!0,value:n}),t.addListener("upgrade",s)}}}function $r({socket:e,req:t,context:r,storage:n,abortController:o}){e.once("close",()=>{n.run(r,()=>{t.emit("aborted"),o.abort()})}),t.once("aborted",()=>{t.removeAllListeners("aborted")})}function Wr({req:e,socket:t,storage:r,context:n,requestContext:o}){Br(e,r,n,o),Br(t,r,n,o)}function Gr({socket:e,finalizeInvocation:t,setError:r}){e.once("close",t),e.once("error",r)}function zr({req:e,res:t,context:r,abortController:n,storage:o,finalizeInvocation:s,setError:a}){let i=e[$e];if(!i)throw new Error("No pending WebSocket upgrade state found for this request");delete e[$e];let d=e.socket;t.removeListener("close",s);let c=os(t);t.detachSocket(d),d.once("close",()=>{o.run(r,()=>{e.emit("aborted"),n.abort(),c()})});let l=qr.AsyncLocalStorage.snapshot(),u=d.emit;return d.emit=function(...y){return l(()=>u.apply(this,y))},d.once("close",s),d.once("error",a),{req:e,socket:d,head:i}}function os(e){let t=!1;return e.once("close",()=>{t=!0}),()=>{t||(t=!0,e.emit("close"))}}function Br(e,t,r,n){let o=e.emit;e.emit=function(...s){return t.run(r,()=>F.run(n,()=>o.apply(this,s)))}}var[ss]=process.versions.node.split(".").map(Number),Jr=[];function Kr(e){Vt(),Q.Server.prototype[_]||Object.defineProperty(Q.Server.prototype,_,{configurable:!0,enumerable:!1,value:Q.Server.prototype.emit});let t=n=>{for(let s of n.listeners("request"))if(!s[_]){let i=function(d,...c){if(d.url=="/_vercel/ping"){let l=Nr();l?Promise.resolve(l()).catch(u=>{c[0].statusCode=500,c[0].write(String(u))}).then(()=>{c[0].end()}):c[0].end();return}return d.headers["x-vercel-internal-invocation-id"]?a.call(this,d,...c):s.call(this,d,...c)};var o=i;n.removeListener("request",s);let a=Xr({handler:s,type:"request"},{initSpans:e.initSpans,reportByteCode:e.reportByteCode,reportBodyEnd:e.reportBodyEnd,reportEnd:e.reportEnd,serverId:e.serverId,storage:e.storage,sendMetric:e.sendMetric,reportEdgeOnNode:e.reportEdgeOnNode,reportSpans:e.reportSpans});Object.defineProperty(i,_,{enumerable:!1,configurable:!0,value:s}),n.addListener("request",i)}},r=Vr({withALSContext:n=>Xr({handler:n,type:"upgrade"},{initSpans:e.initSpans,reportByteCode:e.reportByteCode,reportBodyEnd:e.reportBodyEnd,reportEnd:e.reportEnd,serverId:e.serverId,storage:e.storage,sendMetric:e.sendMetric,reportEdgeOnNode:e.reportEdgeOnNode,reportSpans:e.reportSpans})});Q.Server.prototype.emit=function(...n){if(!this[We]){let o=Fr({server:this,ensureRequestContextListenersPatched:s=>t(s),dispatchRequest:(s,a)=>Q.Server.prototype[_].call(this,"request",s,a)});Object.defineProperty(this,We,{enumerable:!1,configurable:!0,value:o}),this.prependListener("upgrade",o)}return(n[0]==="request"||n[0]==="upgrade")&&(Jr.includes(this)||Jr.push(this),t(this),n[0]==="upgrade"&&r(this)),Q.Server.prototype[_].call(this,...n)}}function is(){return globalThis[Symbol.for("@vercel/get-code-cache")]}function Yr(e,t,r,n){let o=e.emit;e.emit=function(...s){return t.run(r,()=>F.run(n,()=>o.apply(this,s)))}}function Xr(e,t){return async function(r,n,...o){let s=e.type==="request"?{type:"request",res:n}:{type:"upgrade",socket:n},a=typeof r.headers["x-vercel-internal-trace-id"]=="string"?r.headers["x-vercel-internal-trace-id"]:null,i=typeof r.headers["x-vercel-internal-span-id"]=="string"?r.headers["x-vercel-internal-span-id"]:null,d=new URL(r.url??"/",Ie(r.headers)),c,l;if(a&&i&&(l={traceId:a,spanId:i},c=new Be({requestContext:t.storage,reportSpans:t.reportSpans}),Oe()-ne<1e4)){let g;for(;g=t.initSpans.pop();)c.recordSpan(g,l)}let u={url:d,invocationId:typeof r.headers["x-vercel-internal-invocation-id"]=="string"?r.headers["x-vercel-internal-invocation-id"]:void 0,serverId:t.serverId,requestId:typeof r.headers["x-vercel-internal-request-id"]=="string"?Number(r.headers["x-vercel-internal-request-id"]):void 0,vercelId:typeof r.headers["x-vercel-id"]=="string"?r.headers["x-vercel-id"]:void 0,intraSession:typeof r.headers["x-vercel-internal-intra-session"]=="string"?r.headers["x-vercel-internal-intra-session"]:void 0,otelContext:l,tracer:c},y=new Ne,f=r.headers["x-vercel-sc-headers"],h=f?JSON.parse(f):void 0,v=r.headers["x-vercel-sc-basepath"],x=r.headers["x-vercel-sc-host"],b=r.headers["x-vercel-sc-protocol"],p=!!r.headers["x-vercel-sc-no-header-leak"];p&&(delete r.headers["x-vercel-sc-basepath"],delete r.headers["x-vercel-sc-host"],delete r.headers["x-vercel-sc-protocol"],delete r.headers["x-vercel-sc-headers"],delete r.headers["x-vercel-sc-no-header-leak"]),delete r.headers["x-vercel-sc-runtime-cache"];let m=new Me,w,C;if(h&&x){let g=new ce({scBasepath:v,scHeaders:{...h},scHost:x,scProtocol:b,cacheTagApi:m});w={delete:g.delete.bind(g),get:g.get.bind(g),set:g.set.bind(g),expireTag:g.expireTag.bind(g)};let S=new de({scBasepath:v,scHeaders:{...h},scHost:x,scProtocol:b});C={invalidateByTag:S.invalidateByTag.bind(S),invalidateBySrcImage:S.invalidateBySrcImage.bind(S),dangerouslyDeleteByTag:S.dangerouslyDeleteByTag.bind(S),dangerouslyDeleteBySrcImage:S.dangerouslyDeleteBySrcImage.bind(S)}}let E=[],T=new AbortController,R={mutateResponseHeadersBeforeFlush(g){E.push(g)},telemetry:{rootSpanContext:l,reportSpans:t.reportSpans},reportEdgeOnNode:t.reportEdgeOnNode,waitUntil:y.waitUntil.bind(y),cache:w,purge:C,addCacheTag:g=>{m.addCacheTag(g)},method:r.method??"GET",url:String(d),flags:Er(),headers:Object.entries(r.headers).reduce((g,[S,L])=>(["x-vercel-internal-timings-offset"].includes(S)||(Array.isArray(L)?g[S]=L.join(","):typeof L=="string"&&(g[S]=L)),g),{}),signal:T.signal,upgradeWebSocket:s.type==="request"&&bt(r)?()=>{if(s.type!=="request")throw new Error("ctx.upgradeWebSocket() can only be called once per request");let g=zr({req:r,res:s.res,context:u,abortController:T,storage:t.storage,finalizeInvocation:nt,setError:S=>{I=S}});return s={type:"upgrade",socket:g.socket},{req:g.req,socket:g.socket,head:g.head}}:void 0};if(p&&(x&&(R.headers["x-vercel-sc-host"]=x),v&&(R.headers["x-vercel-sc-basepath"]=v),f&&(R.headers["x-vercel-sc-headers"]=f),b&&(R.headers["x-vercel-sc-protocol"]=b)),u.intraSession&&(delete r.headers["x-vercel-internal-intra-session"],delete R.headers["x-vercel-internal-intra-session"]),s.type==="request"){let{res:g}=s,S;typeof r.headers["x-vercel-internal-timings-offset"]=="string"&&(S=parseInt(r.headers["x-vercel-internal-timings-offset"]));let L=g.writeHead;g.writeHead=function(...O){if(E.length){let $=Or(this);for(let W of E)W($);Pr($,this)}U.mark(r.headers,"response-started");let D=gr(r.headers,{timingsOffset:S});D&&g.setHeader("x-vercel-internal-timing",D);let ee=[...m.getTags()];ee.length&&g.setHeader("vercel-cache-tag",ee.join(","));let j=O.length==3?O[2]:O[1];if(ss<22&&Array.isArray(j)){let $={};for(let W=0;W<j.length;W+=2){let Ee=j[W+0];Ee&&(Array.isArray($[Ee])?$[Ee].push(j[W+1]):$[Ee]=[j[W+1]])}O=O.slice(0,-1),O.push($)}let Un=L.call(this,...O);return process.versions.bun||g.flushHeaders(),Un},g.once("aborted",()=>{t.storage.run(u,()=>{r.emit("aborted"),T.abort()})}),r.once("aborted",()=>{r.removeAllListeners("aborted")}),Yr(r,t.storage,u,R),Yr(g,t.storage,u,R)}else s.type==="upgrade"&&($r({socket:s.socket,req:r,context:u,storage:t.storage,abortController:T}),Wr({req:r,socket:s.socket,storage:t.storage,context:u,requestContext:R}));U.mark(r.headers,"invoke-started");let rt=typeof r.headers["x-min-bytecode-size"]=="string"?parseInt(r.headers["x-min-bytecode-size"],10):void 0;typeof r.headers["x-min-bytecode-size"]=="string"&&(delete r.headers["x-min-bytecode-size"],delete R.headers["x-min-bytecode-size"]);let Ln=typeof r.headers["x-max-bytecode-size"]=="string"?parseInt(r.headers["x-max-bytecode-size"],10):void 0;typeof r.headers["x-max-bytecode-size"]=="string"&&(delete r.headers["x-max-bytecode-size"],delete R.headers["x-max-bytecode-size"]);let Pt=typeof r.headers["x-vercel-internal-cpu-profile"]=="string"?JSON.parse(r.headers["x-vercel-internal-cpu-profile"]):void 0;if(Pt){let g=l?new B({parentSpanId:l.spanId,name:"Start CPU Profiler",kind:2}):void 0;await Ir(),c?.recordSpan(g?.end(),l)}let Dn=typeof r.headers["x-matched-path"]=="string"?r.headers["x-matched-path"]:d.pathname,I,Ot=!1,nt=()=>{if(Ot)return;Ot=!0;let g;I?.message&&(g=typeof I.message=="string"?I.message:JSON.stringify(I.message)),t.reportBodyEnd({context:u,error:g}),t.storage.run(u,()=>F.run(R,()=>y.awaiting().then(()=>{let S=()=>{setImmediate(()=>{let D;I?.message&&(D=typeof I.message=="string"?I.message:JSON.stringify(I.message)),t.reportEnd({context:u,error:D})})},L=()=>{S()},O=is();if(O){let D=l?new B({parentSpanId:l.spanId,name:"Bytecode Caching",kind:2}):void 0;O.getSnapshot({bytecodeSpan:D,dedupeKey:Dn,maxByteCodeSize:Ln,minByteCodeSize:rt}).then(({snapshot:ee,spans:j})=>{ee&&t.reportByteCode({payload:wr(ee),context:u}),j?.length&&c?.recordSpans(j,l)}).catch(console.error).finally(()=>{c?.recordSpan(D?.end()),L()})}else L()})))};if(s.type==="request"){let{res:g}=s;g.once("close",nt)}else s.type==="upgrade"&&Gr({socket:s.socket,finalizeInvocation:nt,setError:g=>{I=g}});let ot=r.headers["x-vercel-internal-rusty-4372"];ot&&typeof ot=="string"?Ar(ot):_r(),r.headers["x-vercel-internal-rusty-4487"]==="1"?Lr():Dr();try{return U.mark(r.headers,"handler-started"),delete r.headers["x-vercel-internal-request-id"],delete r.headers["x-vercel-internal-invocation-id"],delete r.headers["x-vercel-internal-timings-offset"],delete r.headers["x-vercel-internal-trace-id"],delete r.headers["x-vercel-internal-span-id"],delete r.headers["x-vercel-internal-cpu-profile"],delete r.headers["x-vercel-internal-rusty-4372"],delete r.headers["x-vercel-internal-rusty-4487"],u.vercelId&&(r.headers["x-invocation-id"]=u.vercelId),await t.storage.run(u,()=>F.run(R,()=>e.handler.call(this,r,n,...o)))}catch(g){if(u.requestId){if(I=g instanceof Error?g:new Error(g),t.storage.run(u,()=>console.error(g)),s.type==="request"){let{res:S}=s;S.statusCode=900,S.end()}else if(s.type==="upgrade"){let{socket:S}=s;S.destroy()}}else throw g}}}var _n=require("crypto");async function Qr(e,t){process.env.VERCEL_ENABLE_HANDLER_HOOKS==="1"&&await t?.[e]?.().catch(r=>{console.error(`Error in ${e} hook:`,r)})}te();var on=G(Zr()),wt=require("crypto"),us="/opt/edge-config",ls=/^\/opt\/edge-config\/(?<edgeConfigId>ecfg_\w+)\.json$/,en=Symbol.for("privateEdgeConfig"),tn=new WeakSet,St=!0,Ct=new Map,oe=new Map,he=new Map,Tt=null;var rn=(e=process.hrtime.bigint())=>()=>Math.round(Number(process.hrtime.bigint()-e)/1e6);async function nn(e,t,r,n){return fetch("https://edge-config.vercel.com/embedded",{headers:{"x-edge-config-id":e,"x-edge-config-token":t,"x-edge-config-owner":r,...n?{"x-edge-config-min-updated-at":n.toString()}:null},cache:"no-store",__vercel_ignore:!0}).then(async o=>{if(!o.ok)return;let s=await o.text(),a=JSON.parse(s),i={text:s,parsed:a};return he.set(e,i),i}).catch(()=>{})}function ps(e,t){return!e||!t.updatedAt?!1:e-t.updatedAt>=1e4}function xt(e){return Number(se.get()?.headers?.["x-vercel-edge-config-versions"]?.split(";").find(t=>t.startsWith(`${e}=`))?.split("=")[1])||void 0}function Et(e,t){return!e||!t.updatedAt?!1:e>t.updatedAt}function fs(e,t){if(Tt)return;let r=e.readFile;Tt=e.readFile;let n=e.readFile.toString(),o=e.readFile.toString.toString();async function s(...i){let d=i[0],c=typeof d=="string"&&i[1]==="utf-8"?ls.exec(d):null;if(c?.groups){let l=rn(),u=c.groups.edgeConfigId,y=xt(u),f=he.get(u);if(f){let v=Et(y,f.parsed);return t({purpose:f.parsed.purpose||null,edgeConfigId:u,durationMs:l(),edgeConfigDigest:f.parsed.digest,hasNewVersionInHeader:v,cacheStatus:v?"STALE":"HIT",cacheAction:"NONE",isBlocking:!1,readMethod:"readFile"}),f.text}let h=await r(...i);if(typeof h=="string"&&h)try{let v=JSON.parse(h);he.set(u,{text:h,parsed:v});let x=Et(y,v);t({purpose:v.purpose||null,edgeConfigId:u,durationMs:l(),edgeConfigDigest:v.digest,hasNewVersionInHeader:x,cacheStatus:"MISS",cacheAction:"NONE",isBlocking:!1,readMethod:"readFile"})}catch{}return h}return r(...i)}Object.defineProperty(e,"readFile",{value:s}),Object.defineProperty(e.readFile,"toString",{value:()=>n}),Object.defineProperty(e.readFile.toString,"toString",{value:()=>o});let a={async get(i){let d=rn(),c=he.get(i);if(!c){let p=xt(i);if(!p||oe.get(i))return;let w=se.get()?.headers?.["x-vercel-owner-id"],C=Ct.get(i);if(!w||!C)return;let E=nn(i,C,w,p).finally(()=>{oe.delete(i)});return oe.set(i,E),null}let l=xt(i),u=c.parsed.purpose||null,y=!1,f=!1,h=c.parsed.digest,v="HIT",x="NONE",b;try{let p=se.get()?.headers?.["x-vercel-owner-id"],m=Ct.get(i);if(p&&m&&Et(l,c.parsed)){f=!0,v="STALE";let w=oe.get(i);if(x=w?"FOLLOWING":"REFRESHING",b=()=>{if(w)return w;let C=nn(i,m,p,l).finally(()=>{oe.delete(i)});return oe.set(i,C),C},ps(l,c.parsed)){y=!0;let C=await b();if(C)return v="MISS",h=C.parsed.digest,C.parsed;v="STALE_IF_ERROR"}}return c.parsed}finally{if(t({purpose:u,hasNewVersionInHeader:f,edgeConfigId:i,edgeConfigDigest:h,durationMs:d(),cacheStatus:v,cacheAction:x,isBlocking:y,readMethod:"privateGet"}),b){let p=Reflect.get(globalThis,Symbol.for("@vercel/request-context"));setImmediate(()=>{let m=b?.().catch(()=>{});m&&p?.get?.()?.waitUntil?.(m)})}}}};Object.defineProperty(a.get,"toString",{value:()=>"function get() { [native code] }"}),Reflect.has(globalThis,en)||Object.defineProperty(globalThis,en,{value:a,configurable:!0})}function sn(e){let t=(0,on.getEdgeConfigsFromEnv)(process.env);return t.length===0?!1:(fs(require("fs/promises"),({purpose:r,edgeConfigId:n,durationMs:o,hasNewVersionInHeader:s,edgeConfigDigest:a,cacheStatus:i,cacheAction:d,isBlocking:c,readMethod:l})=>{let u=e?.storage?.getStore();u&&(r==="flags"?tn.has(u)||(tn.add(u),e?.sendMetric({type:"flags-config-read-metric",context:u,payload:{edgeConfigId:n,edgeConfigDigest:a,edgeConfigRequestId:`ecfg:req:${(0,wt.randomUUID)()}`,edgeConfigReadDuration:o,source:"lambda",readMethod:l,cacheStatus:i,cacheAction:d,cacheIsBlocking:c,cacheIsFirstRead:St}})):e?.sendMetric({type:"edge-config-metric",context:u,payload:{edgeConfigId:n,edgeConfigDigest:a,edgeConfigRequestId:`ecfg:req:${(0,wt.randomUUID)()}`,vercelRequestId:u.vercelId||null,duration:o,isFirstEdgeConfigRead:St,source:"layer",hasNewVersionInHeader:s||!1,cacheStatus:i,cacheAction:d,isBlocking:c,readMethod:l}})),St=!1}),t.forEach(({id:r,token:n})=>{Ct.set(r,n),Tt?.(`${us}/${r}.json`,"utf-8").then(o=>{let s=JSON.parse(o);he.set(r,{text:o,parsed:s})}).catch(()=>{})}),!0)}var un=require("async_hooks"),ln=require("diagnostics_channel"),pn=require("perf_hooks");var ye=require("tls");function V(){return Math.floor(performance.timeOrigin+performance.now())}var fn=(()=>{let e=0;return()=>++e})(),P=new un.AsyncLocalStorage,gs=new pn.PerformanceObserver(e=>{let t=P.getStore();if(t){for(let r of e.getEntries())if(r.entryType==="dns"&&(t.dnsDuration=Math.round(r.duration)),r.entryType==="net"){t.netDuration=Math.round(r.duration);let n=r.detail;typeof n?.host=="string"&&(t.resolvedIp=n.host)}}});gs.observe({entryTypes:["net","dns","resource"]});var ms=ye.TLSSocket.prototype._start;ye.TLSSocket.prototype._start=function(){let e=P.getStore();e&&(e.tlsStart=V()),ms.apply(this)};var hs=ye.TLSSocket.prototype._finishInit;ye.TLSSocket.prototype._finishInit=function(){let e=P.getStore();e?.tlsStart&&(e.tlsDuration=V()-e.tlsStart),hs.apply(this)};var an=new WeakMap;function Rt(e){if(e==null)return{};let t=an.get(e)??{bytesWritten:0,bytesRead:0},r=e.bytesWritten,n=e.bytesRead;return an.set(e,{bytesWritten:r,bytesRead:n}),{requestTransferBytes:r-t.bytesWritten,responseTransferBytes:n-t.bytesRead}}(0,ln.channel)("undici:client:sendHeaders").subscribe(e=>{let{socket:t}=e,r=P.getStore();r&&t!=null&&(r.undiciSocket=t)});function ys(e){return e?.toString().toLowerCase().includes("undici")||!!process.versions.bun&&e?.toString().toLowerCase().includes("[native code]")}var cn=!1;function gn(e){cn||(vs(e),Dt((t,r)=>t==="http"||t==="https"?Cs(r,t,e):t==="undici"||t==="next/dist/compiled/undici"?bs(t,e):Rs),cn=!0)}function vs(e){ys(globalThis.fetch)&&mn(globalThis,"fetch",e)}function bs(e,t){try{let r=require(e);mn(r,"undici",t)}catch{}}function dn(e){let t={protocol:e.protocol,hostname:typeof e.hostname=="string"&&e.hostname.startsWith("[")?e.hostname.slice(1,-1):e.hostname,path:`${e.pathname||""}${e.search||""}`,hash:e.hash,search:e.search,pathname:e.pathname,href:e.href};return e.port!==""&&(t.port=Number(e.port)),(e.username||e.password)&&(t.auth=`${decodeURIComponent(e.username)}:${decodeURIComponent(e.password)}`),t}function Ss(e){let t=e.protocol||"http:",r=e.hostname||e.host||"localhost",n=e.port?`:${e.port}`:"",o=e.path||"/";return ze(`${t}//${r}${n}${o}`)}function xs(e,t,r){if(typeof e=="string"){let n=e;e=dn(new URL(n))}else e instanceof URL?e=dn(e):(r=t,t=e,e=null);return typeof t=="function"?(r=t,t=e||{}):t=Object.assign(e||{},t),{options:t,callback:r}}function Es(e){return e.length>0&&Array.isArray(e[0])}function ws(e){let t={};if(Es(e))for(let r=0;r<e.length;r++){let n=e[r];t[n[0]]=n[1]}else{if(e.length%2!==0)throw new Error("specified request headers looks like an array of strings, but its length is not even");for(let r=0;r<e.length;r+=2)t[e[r+0]]=e[r+1]}return t}function Cs(e,t,r){let{request:n}=e;e.request=function(...o){let s=V(),a=fn(),{options:i,callback:d}=xs(...o),c=!1;Array.isArray(i.headers)&&(i.headers=ws(i.headers),c=!0);let l=i.__vercel_ignore===!0,u=Ss(i),y={headers:i.headers??{}};typeof y.headers=="object"&&y.headers!==null&&(r.mutateHeaders?.(u,y),i.headers=c?Object.entries(y.headers):y.headers);let f;d?f=P.run({},()=>n(i,d)):f=P.run({},()=>n(i));let{pathname:h,search:v}=new URL(f.path,"https://127.0.0.1"),x=null;return f.prependOnceListener("socket",b=>{x=b}),l||(r.onNetworkStarted?.({start:s,method:f.method,host:f.host,pathname:h,id:a,requestApi:t}),f.prependOnceListener("response",b=>{let p=V(),m=P.getStore(),w=b?.headers?.["cache-duration"]?Number(b.headers["cache-duration"]):void 0,C=b?.statusCode??-1,E=!1,T=()=>{E||(E=!0,r.onNetwork?.({id:a,start:s,duration:p-s,host:f.host,method:f.method,pathname:h,search:v,statusCode:C,requestApi:t,dnsDuration:m?.dnsDuration,netDuration:m?.netDuration,tlsDuration:m?.tlsDuration,resolvedIp:m?.resolvedIp,cacheDuration:w,...Rt(x)}))};b.prependOnceListener("end",T),b.prependOnceListener("close",T)}),f.prependOnceListener("error",b=>{let p=V(),m=P.getStore();r.onNetworkFailed?.({id:a,reason:yn(b),start:s,duration:p-s,host:f.host,method:f.method,pathname:h,search:v,requestApi:t,dnsDuration:m?.dnsDuration,netDuration:m?.netDuration,tlsDuration:m?.tlsDuration,resolvedIp:m?.resolvedIp,requestTransferBytes:Rt(x).requestTransferBytes})})),f},e.ClientRequest!==void 0&&(e.ClientRequest=e.request),e.get=function(...o){return e.request(...o).end()}}function mn(e,t,r){let{fetch:n}=e;e.fetch=o;async function o(s,a={}){let i=V(),d=fn(),c=a||{},l=ze(s instanceof Request?s.url:s),u=c;s instanceof Request?u.headers?r.mutateHeaders?.(l,u):r.mutateHeaders?.(l,s):r.mutateHeaders?.(l,u);let y=u.method||(s instanceof Request?s.method:"GET"),f=l&&l.hostname?l:void 0,h=c?.__vercel_ignore===!0;return f&&!h&&r.onNetworkStarted?.({id:d,requestApi:t,pathname:f.pathname??"",host:f.host,method:y??"GET",start:i}),P.run({},()=>n(s,u).then(v=>{let x=ze(c?.next?.fetchUrl??""),b=V();if(!f||h)return v;let p=P.getStore(),m=v.headers.get("cache-duration")?Number(v.headers.get("cache-duration")):void 0;return r.onNetwork?.({id:d,start:i,duration:b-i,host:f.hostname,method:y??"GET",pathname:f.pathname??"",search:f.search??"",statusCode:v.status,fetchHost:x?.hostname,fetchIdx:c.next?.fetchIdx,fetchPath:x?.pathname,fetchType:c.next?.fetchType,requestApi:t,dnsDuration:p?.dnsDuration,netDuration:p?.netDuration,tlsDuration:p?.tlsDuration,resolvedIp:p?.resolvedIp,cacheDuration:m,...Rt(p?.undiciSocket??null)}),v},v=>{if(f&&!h){let x=V(),b=ze(c?.next?.fetchUrl??""),p=P.getStore();r.onNetworkFailed?.({id:d,reason:yn(v),start:i,duration:x-i,host:f.hostname,method:y??"GET",pathname:f.pathname??"",search:f.search??"",fetchHost:b?.hostname,fetchIdx:c.next?.fetchIdx,fetchPath:b?.pathname,fetchType:c.next?.fetchType,requestApi:t,dnsDuration:p?.dnsDuration,netDuration:p?.netDuration,tlsDuration:p?.tlsDuration,resolvedIp:p?.resolvedIp})}throw v}))}}var Ts=e=>e&&typeof e=="object"&&e instanceof DOMException&&(e.name==="AbortError"||e.name==="TimeoutError");function hn(e,t){if(!(!e||typeof e!="object")){if("code"in e&&typeof e.code=="string")return e.code;if(t&&"cause"in e&&e.cause&&typeof e.cause=="object")return hn(e.cause,!1)}}function yn(e){return Ts(e)||e?.name==="AbortError"?"aborted":hn(e,!0)??"error"}function ze(e){try{return new URL(e)}catch{return}}function Je(e,t,r){r.headers?Array.isArray(r.headers)?r.headers.push([e,t]):typeof r.headers.set=="function"?r.headers.set(e,t):typeof r.headers=="object"&&(r.headers[e]=t):r.headers={[e]:t}}function Rs(){}var Ye=class{constructor(t){this.params=t;this.cache=new Map;this.add=t=>{let r=this.params.storage?.getStore();!r?.requestId||t.host==="127.0.0.1"||t.host==="localhost"||this.cache.set(t.id,{event:t,context:r,requestId:r.requestId})};this.markUnresolved=t=>{let r=Oe(),n=new Set;for(let[o,s]of this.cache)s.requestId===t&&(this.params.sendMetric({type:"fetch-metric",context:s.context,payload:{...s.event,duration:r-s.event.start,unresolved:!0,statusCode:-1}}),n.add(o));for(let o of n)this.cache.delete(o)}}finished(t){return this.cache.delete(t)}};function vn(e){let t=new Ye(e);return gn({mutateHeaders:(r,n)=>{let o=e.storage?.getStore();o?.vercelId&&(Je("x-vercel-id",o.vercelId,n),Je("x-invocation-id",o.vercelId,n)),o?.intraSession&&o?.url.hostname===r?.hostname&&Je("x-vercel-intra-session",o.intraSession,n)},...process.env.DISABLE_NODE_BRIDGE_O11Y!=="1"&&{onNetworkStarted:t.add,onNetworkFailed:r=>{if(!t.finished(r.id))return;process.env.VERCEL_O11Y_SEARCH_PARAMS||delete r.search;let n=e.storage?.getStore();n&&e.sendMetric({type:"fetch-metric",context:n,payload:{...r,unresolved:!0,statusCode:-1}})},onNetwork:r=>{if(t?.finished(r.id),process.env.VERCEL_O11Y_SEARCH_PARAMS||delete r.search,r.host!=="127.0.0.1"&&r.host!=="localhost"){performance.measure("vc:fetch",{duration:r.duration,start:r.start-performance.timeOrigin});let n=e.storage?.getStore();n&&e.sendMetric({type:"fetch-metric",context:n,payload:r})}}}}),t.markUnresolved}var bn="text/x-component",ve="text/html; charset=utf-8",Xe=".rsc",Sn=".prefetch.rsc",xn=".segment.rsc";function M({revalidate:e,expire:t}){if(e===0)return"private, no-cache, no-store, max-age=0, must-revalidate";if(typeof e=="number"){let r=t!==void 0&&e<t?`, stale-while-revalidate=${t-e}`:"";return`s-maxage=${e}${r}`}return`s-maxage=${31536e3}`}async function En(e,t,r){if(!e.value||!e.value.html||typeof e.value.html.toUnchunkedString!="function"||!e.value.postponed||!t.url||typeof t.url!="string"||t.url.endsWith(Xe))return!1;let{headers:n}=e.value;if(n&&typeof n=="object")for(let[s,a]of Object.entries(n))typeof a>"u"||r.setHeader(s,a);let o=e.value.postponed.length;return r.setHeader("Content-Type",`application/x-nextjs-pre-render; state-length=${o}; origin=${JSON.stringify(ve)}`),typeof e.revalidate<"u"?e.revalidate===0?r.setHeader("Cache-Control",M({revalidate:0,expire:void 0})):typeof e.revalidate=="number"?r.setHeader("Cache-Control",M({revalidate:e.revalidate,expire:void 0})):r.setHeader("Cache-Control",M({revalidate:31536e3,expire:void 0})):e.cacheControl&&r.setHeader("Cache-Control",M(e.cacheControl)),r.write(e.value.postponed),r.write(e.value.html.toUnchunkedString()),r.end(),!0}async function wn(e,t,r){if(!e.value||!e.value.html||typeof e.value.html.toUnchunkedString!="function"||!e.value.postponed||!t.url||typeof t.url!="string"||t.url.endsWith(Sn)||t.url.endsWith(xn))return!1;let{headers:n}=e.value;if(n&&typeof n=="object")for(let[a,i]of Object.entries(n))typeof i>"u"||r.setHeader(a,i);let o;t.url.endsWith(Xe)?o=bn:o=ve;let s=e.value.postponed.length;return r.setHeader("Content-Type",`application/x-nextjs-pre-render; state-length=${s}; origin=${JSON.stringify(o)}`),typeof e.revalidate<"u"?e.revalidate===0?r.setHeader("Cache-Control",M({revalidate:0,expire:void 0})):typeof e.revalidate=="number"?r.setHeader("Cache-Control",M({revalidate:e.revalidate,expire:void 0})):r.setHeader("Cache-Control",M({revalidate:31536e3,expire:void 0})):e.cacheControl&&r.setHeader("Cache-Control",M(e.cacheControl)),r.write(e.value.postponed),o===ve&&r.write(e.value.html.toUnchunkedString()),r.end(),!0}function Is(e){return typeof e=="function"&&"getRequestHandlerWithMetadata"in e&&typeof e.getRequestHandlerWithMetadata=="function"}function Cn(e){let t=Is(e)?Hs(e):e;return Ps(t)}function Hs(e){return(t,r)=>e.getRequestHandlerWithMetadata({onCacheEntry:(o,s)=>En(o,s,r),onCacheEntryV2:(o,s)=>wn(o,s,r)})(t,r)}function Ps(e){let t=!1;function r(o){t||Ns(o)&&(t=!0,console.warn(Os()))}let n=(o,s)=>{let a=e(o,s);if(a&&typeof a.then=="function")return Promise.resolve(a).then(i=>{r(i)});r(a)};return n.preload=e.preload,n}function Os(){return["WARN: default export returned a `Response`.","\u251C\u25B6 The default-export signature is `(req, res) => void` \u2014 returns are","\u2502  ignored. You likely meant the Web `fetch`-style API.","\u2502","\u251C\u25B6 Fix: export a `fetch` function or a named HTTP method:","\u2502         export function GET(request) { return new Response('ok') }","\u2502","\u251C\u25B6 Fix: write the response through `res`:","\u2502         export default function (req, res) { res.end('ok') }","\u2502","\u2570\u25B6 Read more: https://vercel.com/docs/functions/functions-api-reference#function-signature"].join(``)}function Ns(e){if(!e)return!1;if(typeof Response<"u"&&e instanceof Response)return!0;let t=e;return typeof t.status=="number"&&typeof t.text=="function"&&typeof t.json=="function"&&t.headers!=null}var Tn=require("url"),Rn=require("path"),Z=require("http"),As=eval("v => import(v)"),[_s]=process.versions.node.split(".").map(e=>Number(e)),Se=Symbol.for("WebExportHandler");function Ke(e){let t=()=>{},r=!1,n=!1,o=!1;return new Promise(s=>{let a=Z.Server.prototype.listen;Z.Server.prototype.listen=function(){return Z.Server.prototype.listen=a,o=!0,t=()=>{n?this.listen():(console.log("Legacy server listening..."),s({server:this,type:"legacy"}))},r&&t(),this};let i="NODE_ENV";if(!process.env[i]){let c=process.env.VERCEL_REGION||process.env.NOW_REGION;process.env[i]=c==="dev1"?"development":"production"}async function d(c){"performance"in globalThis&&performance.mark("vc:import-started");function l(){return As((0,Rn.isAbsolute)(c)?(0,Tn.pathToFileURL)(c).href:c)}let u;if(c.endsWith(".mjs"))u=await l();else try{u=await require(c)}catch{u=await l()}"performance"in globalThis&&performance.mark("vc:import-finished");for(let h=0;h<5;h++)u.default&&(u=u.default);let y={},f=!1;for(let h of Ur)f||(f=typeof u[h]=="function"),y[h]=typeof u[h]>"u"?()=>new Response(null,{status:405}):u[h];return f?(u=Object.assign({},u),u[Se]=(...h)=>y[h[0].method](...h)):"fetch"in u&&typeof u.fetch=="function"?u={[Se]:u.fetch}:process.env.VERCEL_USE_WEB_API==="1"&&(u={[Se]:u}),u}d(e).then(c=>{let l=process.env.AWS_LAMBDA_HANDLER;if(l){let u=l.split(".").pop();if(typeof u!="string")throw new TypeError(`Invalid \`awsLambdaHandler\` provided: ${l}`);n=!0,s({handlerAws:c[u],type:"aws"})}else typeof c.listen=="function"?(n=!0,Z.Server.prototype.listen=a,s({server:c,type:"server"})):typeof c=="function"?(n=!0,Z.Server.prototype.listen=a,s({handler:Cn(c),type:"handler"})):typeof c[Se]=="function"?(_s<18&&(console.error("Invalid export found in module %j.",e),console.error("Web handlers are only supported on Node.js 18+."),process.exit(1)),n=!0,Z.Server.prototype.listen=a,s({handlerWeb:c[Se],type:"web"})):typeof c=="object"&&Object.keys(c).length===0?setTimeout(()=>{o||(console.error("No exports found in module %j.",e),console.error("Did you forget to export a function or a server?"),process.exit(1))},5e3).unref():(console.error("Invalid export found in module %j.",e),console.error("The default export must be a function or server."),process.exit(1));r=!0,t()}).catch(c=>{c.code==="MODULE_NOT_FOUND"?(console.error(c.message),console.error('Did you forget to add it to "dependencies" in `package.json`?')):console.error(c),process.exit(1)})})}var In=require("path"),Hn=require("fs/promises");async function Pn(){let e=process.env.VERCEL_NODEJS_GROUP_MANIFEST;if(e)return Ms(e).catch(t=>{t.code==="MODULE_NOT_FOUND"?(console.error(t.message),console.error("Failed to load grouped Node.js handler.")):console.error(t),process.exit(1)})}async function Ms(e){let t=await(0,Hn.readFile)(kn(e),"utf8"),r=Ls(JSON.parse(t)),n=await Promise.all(Object.entries(r.routes).map(async([a,{handler:i}])=>{let d=await Ke(kn(i));if(d.type!=="handler"&&d.type!=="web")throw new Error(`Grouped Node.js entrypoint "${i}" resolved to "${d.type}". Only exported Node.js request handlers and Web handlers are supported in grouped mode.`);return[a,d]})),o=n[0]?.[1].type;for(let[,a]of n)if(a.type!==o)throw new Error(`Grouped Node.js entrypoints mix "${o}" and "${a.type}". Grouped mode requires all entrypoints to be the same type.`);if(o==="web"){let a=new Map;for(let[i,d]of n)d.type==="web"&&a.set(i,d.handlerWeb);return{handlerWeb:Us(a),type:"web"}}let s=new Map;for(let[a,i]of n)i.type==="handler"&&s.set(a,i.handler);return{handler:Ds(s),type:"handler"}}function kn(e){return(0,In.resolve)(process.env.LAMBDA_TASK_ROOT,e)}function Ls(e){if(!e||typeof e!="object")throw new Error("Invalid grouped Node.js manifest: expected an object.");let t=e;if(t.version!==1)throw new Error(`Invalid grouped Node.js manifest: unsupported version ${JSON.stringify(t.version)}.`);if(!t.routes||typeof t.routes!="object")throw new Error('Invalid grouped Node.js manifest: "routes" must be an object.');for(let[r,n]of Object.entries(t.routes)){if(!n||typeof n!="object")throw new Error(`Invalid grouped Node.js manifest: route "${r}" must be an object.`);let o=n.handler;if(typeof o!="string"||o.length===0)throw new Error(`Invalid grouped Node.js manifest: route "${r}" is missing a "handler" string.`)}return e}var Qe="This request could not be handled. If you are the site owner, check your logs for more details.";function Ds(e){let t=async(r,n)=>{let o=r.headers["x-matched-path"],s=Array.isArray(o)?o[0]:o;if(!s){console.error("Missing x-matched-path header. Grouped Node.js lambdas require route-level header injection."),n.statusCode=400,n.end(Qe);return}let a=e.get(s);if(typeof a!="function"){console.error(`No grouped Node.js entrypoint found for matched path "${s}".`),n.statusCode=400,n.end(Qe);return}await a(r,n)};return t.preload=async()=>{await Promise.all([...e.values()].map(r=>r.preload?.()))},t}function Us(e){return(t,r)=>{let n=t.headers.get("x-matched-path")??void 0;if(!n)return console.error("Missing x-matched-path header. Grouped Node.js lambdas require route-level header injection."),new Response(Qe,{status:400});let o=e.get(n);return typeof o!="function"?(console.error(`No grouped Node.js entrypoint found for matched path "${n}".`),new Response(Qe,{status:400})):o(t,r)}}function Ze(){let e,t,r="pending",n=[],o=[],s=new Promise((i,d)=>{e=i,t=d}).finally(()=>n.forEach(i=>i())),a=async i=>{let d={...i};for(let[c,l]of o)try{d.type==="rejected"?l&&(d={type:"resolved",value:await l(d.value)}):c&&(d={type:"resolved",value:await c(d.value)})}catch(u){d={type:"rejected",value:u}}if(d.type==="rejected")throw d.value;return d.value};return{get promise(){return s},get resolved(){return r==="resolved"},get rejected(){return r==="rejected"},get settled(){return r!=="pending"},then:(i,d)=>{r==="pending"&&o.push([i,d])},resolve:i=>{r==="pending"&&(r="resolved",a({type:"resolved",value:i}).then(e,t))},reject:i=>{r==="pending"&&(r="rejected",a({type:"rejected",value:i}).then(e,t))},finally:i=>{r==="pending"?n.push(i):i()}}}async function On(e){let t=Ze();typeof e.timeout=="number"&&e.timeout>0&&(e.timeout=0);function r(o){if(!t.resolved){if(o)return t.reject(o);if(!this||typeof this.address!="function")return t.reject(new Error("Missing server.address() function on `this` in server.listen()"));let s=this.address();if(!s)return t.reject(new Error("`server.address()` returned `null`"));if(typeof s=="string")return t.reject(new Error(`Unexpected string for \`server.address()\`: ${s}`));t.resolve(s)}}let n=e.listen({host:"127.0.0.1",port:0},r);return n?.on("error",t.reject),n?.on("listening",r.bind(n)),t.promise}var It=require("stream"),kt=Buffer.from(Uint8Array.of(0)),et=class extends It.Transform{constructor(t){super({...t,objectMode:!0})}_transform(t,r,n){try{this.push(Buffer.concat([Buffer.from(JSON.stringify(t)),kt])),n()}catch(o){n(o)}}},tt=class extends It.Transform{constructor(r){super({...r,objectMode:!0});this.buffer=Buffer.alloc(0)}_transform(r,n,o){this.buffer=Buffer.concat([this.buffer,r]);let s=this.buffer.indexOf(kt);for(;s>-1;){let a;try{a=JSON.parse(this.buffer.subarray(0,s).toString())}catch(i){o(i);return}this.push(a),this.buffer=this.buffer.subarray(s+1),s=this.buffer.indexOf(kt)}o()}};var Mn=G(require("net"));function xe(e){return new Promise((t,r)=>{e((n,o)=>{n?r(n):t(o)})})}async function Bs(e){let t=await xe(r=>e.post("Profiler.stop",r));return await xe(r=>e.post("Profiler.disable",r)),e.disconnect(),JSON.stringify(t.profile)}function Ht(e){process.stdout.write(`[vc] ${e.replace(/\n/g,"\\n")}`)}async function js(){let e=process.env.VERCEL_INTERNAL_CPU_PROFILE;if(!e||(delete process.env.VERCEL_INTERNAL_CPU_PROFILE,process.versions.bun))return;let t;try{t=JSON.parse(e)}catch(o){Ht(`failed to parse VERCEL_INTERNAL_CPU_PROFILE: ${o}`);return}let r=await import("inspector"),n=new r.Session;n.connect();try{await xe(o=>n.post("Profiler.setSamplingInterval",{interval:99},o)),await xe(o=>n.post("Profiler.enable",o)),await xe(o=>n.post("Profiler.start",o))}catch(o){throw n.disconnect(),o}setTimeout(()=>{Bs(n).then(o=>{if(o)return Hr(o,t)}).catch(o=>Ht(`failed to upload CPU profile: ${o}`))},t.duration)}function Nn(){js().catch(e=>{Ht(`failed to initialize CPU profiler: ${e}`)})}var ne=Date.now();performance.mark("vc:init-started");function qs(e){process.on("unhandledRejection",t=>{e({type:"unrecoverable-error",payload:{exitCode:128,message:`Unhandled Rejection: ${t instanceof Error?t.stack||t.message:t}`}})}),process.on("uncaughtException",t=>{e({type:"unrecoverable-error",payload:{exitCode:129,message:`Uncaught Exception: ${t.stack||t}`}})})}async function Fs(){Nn();let e=[],t=new B({parentSpanId:process.env.VERCEL_PARENT_SPAN_ID,startTime:ne,name:"init"}),r=new B({parentSpanId:t.spanId(),startTime:ne,name:"init_runtime"}),n=Mn.default.createConnection(process.env.VERCEL_IPC_PATH),o=new et,s=new tt,a=Ze();n.on("connect",()=>{a.resolve()}),n.setNoDelay(!0),o.pipe(n),n.pipe(s);let i=process.env.VC_EDGE_ON_NODE;delete process.env.VC_EDGE_ON_NODE;let d={entrypointPath:i??process.env.VERCEL_HANDLER,shouldAddHelpers:!!process.env.VERCEL_SHOULD_ADD_HELPERS,serverId:(0,_n.randomUUID)()},c=new An.AsyncLocalStorage,l=p=>o.write(p),u=(p,m,w)=>{let C=c.getStore();C?.requestId&&l({type:"custom-metric",payload:{context:C,metric:{name:p,value:m,attributes:w}}})};(!i||process.env.VERCEL_CRASH_EDGEFNS_ON_ERRORS==="1")&&qs(l),Object.defineProperty(globalThis,Symbol.for("@vercel/rusty-request-context"),{enumerable:!1,value:c}),Object.defineProperty(globalThis,Symbol.for("@vercel/rusty-runtime-ipc"),{enumerable:!1,value:{sendMessage:l,sendMetric:u}}),mr(c),Kr({initSpans:e,serverId:d.serverId,storage:c,reportEdgeOnNode:p=>{let m={type:"edge-on-node-metric",context:c.getStore(),payload:{reason:p}};l({type:"metric",payload:m})},reportByteCode:p=>{l({type:"bytecode",payload:{chunk:p.payload.toString("base64"),context:p.context}})},reportBodyEnd:p=>{l({type:"body-end",payload:{context:p.context,error:p.error}})},reportEnd:p=>{l({type:"end",payload:{context:p.context,error:p.error}})},reportSpans:p=>{l({type:"otel-spans",payload:p})},sendMetric:p=>{l({type:"metric",payload:p})}}),pr({storage:c,report:p=>p.context?.requestId?l({type:"log",payload:{...p.payload,context:p.context,message:p.payload.message.toString("base64")}}):!1});let y=vn({storage:c,sendMetric:p=>{p.context?.requestId&&l({type:"metric",payload:p})}});sn({storage:c,sendMetric:p=>l({type:"metric",payload:p})}),xr(p=>{let m=c.getStore();l({type:"metric",payload:{type:"flag-value",context:m,payload:p}})}),e.push(r.end());let f=t.childSpan({name:"entrypoint"}),h=await Pn()??await Ke(d.entrypointPath),v=await cr(h,d.shouldAddHelpers);e.push(f.end()),s.on("data",p=>{if(p.type==="approaching-timeout"){if(!p.context.requestId)return;y(p.context.requestId)}});let x=t.childSpan({name:"start_server"}),[b]=await Promise.all([On(v.server),Qr("preload",v.handler),a.promise]);l({type:"server-started",payload:{httpPort:b.port,initDuration:Date.now()-ne}}),e.push(x.end()),e.push(t.end()),performance.mark("vc:init-finished")}Fs().catch(console.error);0&&(module.exports={startedDate});/*! Bundled license information: content-type/index.js:  (*!   * content-type   * Copyright(c) 2015 Douglas Christopher Wilson   * MIT Licensed   *) cookie/index.js:  (*!   * cookie   * Copyright(c) 2012-2014 Roman Shtylman   * Copyright(c) 2015 Douglas Christopher Wilson   * MIT Licensed   *) etag/index.js:  (*!   * etag   * Copyright(c) 2014-2016 Douglas Christopher Wilson   * MIT Licensed   *)*/