"use strict";var F=require("./server.js");require("fs"),require("fs/promises"),require("path"),require("process"),require("./_commonjsHelpers.js"),require("url"),require("node:http"),require("node:https"),require("node:zlib"),require("node:stream"),require("node:buffer"),require("node:util"),require("node:url"),require("node:net"),require("os"),require("util"),require("stream"),require("events");let u=0;const t={START_BOUNDARY:u++,HEADER_FIELD_START:u++,HEADER_FIELD:u++,HEADER_VALUE_START:u++,HEADER_VALUE:u++,HEADER_VALUE_ALMOST_DONE:u++,HEADERS_ALMOST_DONE:u++,PART_DATA_START:u++,PART_DATA:u++,END:u++};let k=1;const T={PART_BOUNDARY:k,LAST_BOUNDARY:k*=2},O=10,g=13,U=32,S=45,w=58,q=97,B=122,V=R=>R|32,_=()=>{};class Y{constructor(a){this.index=0,this.flags=0,this.onHeaderEnd=_,this.onHeaderField=_,this.onHeadersEnd=_,this.onHeaderValue=_,this.onPartBegin=_,this.onPartData=_,this.onPartEnd=_,this.boundaryChars={},a=`\r --`+a;const r=new Uint8Array(a.length);for(let n=0;n{this[c+"Mark"]=r},o=c=>{delete this[c+"Mark"]},f=(c,P,D,y)=>{(P===void 0||P!==D)&&this[c](y&&y.subarray(P,D))},L=(c,P)=>{const D=c+"Mark";D in this&&(P?(f(c,this[D],r,a),delete this[D]):(f(c,this[D],a.length,a),this[D]=0))};for(r=0;rB)return;break;case t.HEADER_VALUE_START:if(i===U)break;h("onHeaderValue"),s=t.HEADER_VALUE;case t.HEADER_VALUE:i===g&&(L("onHeaderValue",!0),f("onHeaderEnd"),s=t.HEADER_VALUE_ALMOST_DONE);break;case t.HEADER_VALUE_ALMOST_DONE:if(i!==O)return;s=t.HEADER_FIELD_START;break;case t.HEADERS_ALMOST_DONE:if(i!==O)return;f("onHeadersEnd"),s=t.PART_DATA_START;break;case t.PART_DATA_START:s=t.PART_DATA,h("onPartData");case t.PART_DATA:if(d=e,e===0){for(r+=m;r0)A[e-1]=i;else if(d>0){const c=new Uint8Array(A.buffer,A.byteOffset,A.byteLength);f("onPartData",0,d,c),d=0,h("onPartData"),r--}break;case t.END:break;default:throw new Error(`Unexpected state entered: ${s}`)}L("onHeaderField"),L("onHeaderValue"),L("onPartData"),this.index=e,this.state=s,this.flags=l}end(){if(this.state===t.HEADER_FIELD_START&&this.index===0||this.state===t.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==t.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}}function x(R){const a=R.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!a)return;const r=a[2]||a[3]||"";let n=r.slice(r.lastIndexOf("\\")+1);return n=n.replace(/%22/g,'"'),n=n.replace(/&#(\d{4});/g,(d,A)=>String.fromCharCode(A)),n}async function C(R,a){if(!/multipart/i.test(a))throw new TypeError("Failed to fetch");const r=a.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!r)throw new TypeError("no or bad content-type header, no multipart boundary");const n=new Y(r[1]||r[2]);let d,A,E,H,e,s;const l=[],b=new F.FormData,m=o=>{E+=h.decode(o,{stream:!0})},N=o=>{l.push(o)},i=()=>{const o=new F.File(l,s,{type:e});b.append(H,o)},p=()=>{b.append(H,E)},h=new TextDecoder("utf-8");h.decode(),n.onPartBegin=function(){n.onPartData=m,n.onPartEnd=p,d="",A="",E="",H="",e="",s=null,l.length=0},n.onHeaderField=function(o){d+=h.decode(o,{stream:!0})},n.onHeaderValue=function(o){A+=h.decode(o,{stream:!0})},n.onHeaderEnd=function(){if(A+=h.decode(),d=d.toLowerCase(),d==="content-disposition"){const o=A.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);o&&(H=o[2]||o[3]||""),s=x(A),s&&(n.onPartData=N,n.onPartEnd=i)}else d==="content-type"&&(e=A);A="",d=""};for await(const o of R)n.write(o);return n.end(),b}exports.toFormData=C;