UNPKG

next

Version:

The React Framework

1 lines • 20.7 kB
(()=>{var e={691:(e,t,r)=>{e.exports=r(498)},498:(e,t,r)=>{"use strict";r.r(t);r.d(t,{ProxyServer:()=>_,createProxyServer:()=>createProxyServer,proxyFetch:()=>proxyFetch,proxyUpgrade:()=>proxyUpgrade});const o=require("node:http");const s=require("node:https");const n=require("node:http2");const i=require("node:events");const a=require("node:net");const c=require("node:stream");const f=/(^|,)\s*upgrade\s*($|,)/i;const d=/(^|,)\s*transfer-encoding\s*($|,)/i;const u={http:new o.Agent({keepAlive:true,maxSockets:256,maxFreeSockets:64}),https:new s.Agent({keepAlive:true,maxSockets:256,maxFreeSockets:64})};const h=/^https|wss/;function forceConnectionCloseForTransferEncoding(e){let t=false;for(const r in e)if(e[r]!==void 0&&r.toLowerCase()==="transfer-encoding"){t=true;break}const r=e.connection;const o=typeof r==="string"&&d.test(r);if(t||o)e.connection="close"}const p=[":method",":path",":scheme",":authority"];function setupOutgoing(e,t,r,o){e.port=t[o||"target"].port||(h.test(t[o||"target"].protocol??"http")?443:80);for(const r of["host","hostname","socketPath","pfx","key","passphrase","cert","ca","ciphers","secureProtocol"]){const s=t[o||"target"][r];if(s!==void 0)e[r]=s}if(e.host===void 0&&typeof e.hostname==="string"){const t=e.hostname.includes(":")&&!e.hostname.startsWith("[")?`[${e.hostname}]`:e.hostname;e.host=e.port?`${t}:${e.port}`:t}e.method=t.method||r.method;e.headers={...r.headers};if(r.headers?.[":authority"])e.headers.host=r.headers[":authority"];if(t.headers)for(const r of Object.keys(t.headers))e.headers[r]=t.headers[r];if(r.httpVersionMajor>1)for(const t of p)delete e.headers[t];if(t.auth)e.auth=t.auth;if(t.ca)e.ca=t.ca;if(h.test(t[o||"target"].protocol??"http"))e.rejectUnauthorized=t.secure===void 0?true:t.secure;if(t.agent!==void 0)e.agent=t.agent||false;else if(r.httpVersionMajor>1||f.test(r.headers.connection||""))e.agent=false;else{const r=t[o||"target"].protocol??"http";e.agent=h.test(r)?u.https:u.http}e.localAddress=t.localAddress;if(!e.agent){e.headers=e.headers||{};if(typeof e.headers.connection!=="string"||!f.test(e.headers.connection))e.headers.connection="close"}e.headers=e.headers||{};forceConnectionCloseForTransferEncoding(e.headers);const s=t[o||"target"];const n=s&&t.prependPath!==false?s.pathname||"":"";const i=s instanceof URL&&t.prependPath!==false?s.search||"":"";const a=r.url||"";const c=a.indexOf("?");const d=c===-1?a:a.slice(0,c);const l=c===-1?"":a.slice(c);const w=d?d[0]==="/"?d:"/"+d:"/";let g=t.toProxy?"/"+a:w+l;g=t.ignorePath?"":g;let y=joinURL(n,g);if(i)y=y.includes("?")?y.replace("?",i+"&"):y+i;e.path=y;if(t.changeOrigin)e.headers.host=requiresPort(e.port,t[o||"target"].protocol)&&!hasPort(e.host)?e.host+":"+e.port:e.host??void 0;return e}function joinURL(e,t){if(!e||e==="/")return t||"/";if(!t||t==="/")return e||"/";const r=e[e.length-1]==="/";const o=t[0]==="/";if(r&&o)return e+t.slice(1);if(!r&&!o)return e+"/"+t;return e+t}function setupSocket(e){e.setTimeout(0);e.setNoDelay(true);e.setKeepAlive(true,0);return e}function getPort(e){const t=e.headers[":authority"]||e.headers.host;const r=t?t.match(/:(\d+)/):"";if(r)return r[1];return hasEncryptedConnection(e)?"443":"80"}function hasEncryptedConnection(e){const t=e.socket;return!!t&&"encrypted"in t&&t.encrypted}function rewriteCookieProperty(e,t,r){if(Array.isArray(e))return e.map((function(e){return rewriteCookieProperty(e,t,r)}));return e.replace(new RegExp(String.raw`(;\s*`+r+"=)([^;]+)","i"),(function(e,r,o){let s;if(o in t)s=t[o];else if("*"in t)s=t["*"];else return e;return s?r+s:""}))}function parseAddr(e){if(typeof e==="string"){if(e.startsWith("unix:"))return{socketPath:e.slice(5)};const t=new URL(e);return{host:t.hostname,port:Number(t.port)||(h.test(t.protocol)?443:80)}}if(!e.socketPath&&!e.port)throw new Error("ProxyAddr must have either `port` or `socketPath`");return e}function hasPort(e){return e?!!~e.indexOf(":"):false}function requiresPort(e,t){const r=t?.split(":")[0];const o=+e;if(!o)return false;switch(r){case"http":case"ws":return o!==80;case"https":case"wss":return o!==443;case"ftp":return o!==21;case"gopher":return o!==70;case"file":return false}return o!==0}function defineProxyMiddleware(e){return e}function defineProxyOutgoingMiddleware(e){return e}const l=/^201|30([12378])$/;const w=[defineProxyOutgoingMiddleware(((e,t,r)=>{if(e.httpVersion==="1.0"||e.httpVersionMajor>=2||r.statusCode===204||r.statusCode===304)delete r.headers["transfer-encoding"]})),defineProxyOutgoingMiddleware(((e,t,r)=>{if(e.httpVersion==="1.0")r.headers.connection=e.headers.connection||"close";else if(e.httpVersionMajor<2&&!r.headers.connection)r.headers.connection=e.headers.connection||"keep-alive";else if(e.httpVersionMajor>=2)delete r.headers.connection})),defineProxyOutgoingMiddleware(((e,t,r,o)=>{if((o.hostRewrite||o.autoRewrite||o.protocolRewrite)&&r.headers.location&&l.test(String(r.statusCode))){const t=_toURL(o.target);const s=r.headers.location.startsWith("//")&&!o.protocolRewrite;const n=new URL(r.headers.location,t);if(t.host!==n.host)return;if(o.hostRewrite)n.host=o.hostRewrite;else if(o.autoRewrite){if(e.headers[":authority"])n.host=e.headers[":authority"];else if(e.headers.host)n.host=e.headers.host}if(o.protocolRewrite)n.protocol=o.protocolRewrite;r.headers.location=s?n.href.slice(n.protocol.length):n.href}})),defineProxyOutgoingMiddleware(((e,t,r,o)=>{const s=typeof o.cookieDomainRewrite==="string"?{"*":o.cookieDomainRewrite}:o.cookieDomainRewrite;const n=typeof o.cookiePathRewrite==="string"?{"*":o.cookiePathRewrite}:o.cookiePathRewrite;const i=o.preserveHeaderKeyCase;let a;const setHeader=function(e,r){if(r===void 0||!String(e).trim())return;if(s&&e.toLowerCase()==="set-cookie")r=rewriteCookieProperty(r,s,"domain");if(n&&e.toLowerCase()==="set-cookie")r=rewriteCookieProperty(r,n,"path");try{t.setHeader(String(e).trim(),r)}catch{}};if(i&&r.rawHeaders!==void 0){a={};for(let e=0;e<r.rawHeaders.length;e+=2){const t=r.rawHeaders[e];a[t.toLowerCase()]=t}}for(let e of Object.keys(r.headers)){const t=r.headers[e];if(i&&a)e=a[e]||e;setHeader(e,t)}})),defineProxyOutgoingMiddleware(((e,t,r)=>{t.statusCode=r.statusCode;if(r.statusMessage&&e.httpVersionMajor<2)t.statusMessage=r.statusMessage}))];function _toURL(e){if(e instanceof URL)return e;if(typeof e==="string")return new URL(e);const t=e.protocol||"http:";const r=e.host||e.hostname||"localhost";const o=e.port;return new URL(`${t}//${r}${o?":"+o:""}`)}const g={http:o,https:s};const y=new Set([301,302,303,307,308]);const m=[defineProxyMiddleware((e=>{if((e.method==="DELETE"||e.method==="OPTIONS")&&!e.headers["content-length"]&&!e.headers["transfer-encoding"])e.headers["content-length"]="0"})),defineProxyMiddleware(((e,t,r)=>{if(r.timeout)e.socket.setTimeout(r.timeout,(()=>{e.socket.destroy()}))})),defineProxyMiddleware(((e,t,r)=>{if(!r.xfwd)return;const o=e.isSpdy||hasEncryptedConnection(e);const s={for:e.connection.remoteAddress||e.socket.remoteAddress,port:getPort(e),proto:o?"https":"http"};for(const t of["for","port","proto"]){const r="x-forwarded-"+t;if(!e.headers[r]&&s[t]!==void 0)e.headers[r]=s[t]}e.headers["x-forwarded-host"]=e.headers["x-forwarded-host"]||e.headers[":authority"]||e.headers.host||""})),defineProxyMiddleware(((e,t,r,o,s,n)=>{o.emit("start",e,t,r.target||r.forward);const i=g.http;const a=g.https;const c=typeof r.followRedirects==="number"?r.followRedirects:r.followRedirects?5:0;if(r.forward){const o=(h.test(r.forward.protocol||"http")?a:i).request(setupOutgoing(r.ssl||{},r,e,"forward"));const s=createErrorHandler(o,r.forward);e.on("error",s);o.on("error",s);(r.buffer||e).pipe(o);if(!r.target){t.end();return}}const f=(h.test(r.target.protocol||"http")?a:i).request(setupOutgoing(r.ssl||{},r,e));f.on("socket",(s=>{if(o&&!f.getHeader("expect"))o.emit("proxyReq",f,e,t,r)}));if(r.proxyTimeout)f.setTimeout(r.proxyTimeout,(function(){f.destroy()}));t.on("close",(function(){if(!t.writableFinished)f.destroy()}));const d=createErrorHandler(f,r.target);e.on("error",d);f.on("error",d);function createErrorHandler(r,s){return function proxyError(i){if(!e.socket?.writable&&i.code==="ECONNRESET"){o.emit("econnreset",i,e,t,s);return r.destroy()}if(n)n(i,e,t,s);else o.emit("error",i,e,t,s)}}let u;if(c>0){const t=[];const o=r.buffer||e;o.on("data",(e=>{t.push(typeof e==="string"?Buffer.from(e):e);f.write(e)}));o.on("end",(()=>{u=Buffer.concat(t);f.end()}));o.on("error",(e=>{f.destroy(e)}))}else f.on("socket",(t=>{if(t.pending)t.on("connect",(()=>(r.buffer||e).pipe(f)));else(r.buffer||e).pipe(f)}));function handleResponse(s,n,f){const d=s.statusCode;if(c>0&&y.has(d)&&n<c&&s.headers.location){s.resume();const c=new URL(s.headers.location,f);const p=d===307||d===308;const l=p?e.method||"GET":"GET";const w=h.test(c.protocol);const g=w?a:i;const y={...e.headers};if(r.headers)Object.assign(y,r.headers);y.host=c.host;if(c.host!==f.host){delete y.authorization;delete y.cookie}if(!p){delete y["content-length"];delete y["content-type"];delete y["transfer-encoding"]}forceConnectionCloseForTransferEncoding(y);const m={hostname:c.hostname,port:c.port||(w?443:80),path:c.pathname+c.search,method:l,headers:y,agent:r.agent||false};if(w)m.rejectUnauthorized=r.secure===void 0?true:r.secure;const x=g.request(m);if(o&&!x.getHeader("expect"))o.emit("proxyReq",x,e,t,r);if(r.proxyTimeout)x.setTimeout(r.proxyTimeout,(()=>{x.destroy()}));const _=createErrorHandler(x,c);x.on("error",_);x.on("response",(e=>{handleResponse(e,n+1,c)}));if(p&&u&&u.length>0)x.end(u);else x.end();return}if(o)o.emit("proxyRes",s,e,t);if(!t.headersSent&&!r.selfHandleResponse){for(const o of w)if(o(e,t,s,r))break}if(t.finished){if(o)o.emit("end",e,t,s)}else{t.on("close",(function(){s.destroy()}));s.on("close",(function(){if(!s.complete&&!t.destroyed)t.destroy()}));s.on("error",(function(r){if(!t.destroyed)t.destroy(r);if(o.listenerCount("error")>0)o.emit("error",r,e,t,f)}));s.on("end",(function(){if(o)o.emit("end",e,t,s)}));if(!r.selfHandleResponse)s.pipe(t)}}f.on("response",(function(e){handleResponse(e,0,r.target)}))}))];const x=[defineProxyMiddleware(((e,t)=>{if(e.method!=="GET"||!e.headers.upgrade){t.destroy();return true}if(e.headers.upgrade.toLowerCase()!=="websocket"){t.destroy();return true}})),defineProxyMiddleware(((e,t,r)=>{if(!r.xfwd)return;const o={for:e.connection.remoteAddress||e.socket.remoteAddress,port:getPort(e),proto:hasEncryptedConnection(e)?"wss":"ws"};for(const t of["for","port","proto"]){const r="x-forwarded-"+t;if(!e.headers[r]&&o[t]!==void 0)e.headers[r]=o[t]}})),defineProxyMiddleware(((e,t,r,n,i,a)=>{const createHttpHeader=function(e,t){return Object.keys(t).reduce((function(e,r){const o=t[r];if(!Array.isArray(o)){e.push(r+": "+o);return e}for(const t of o)e.push(r+": "+t);return e}),[e]).join("\r\n")+"\r\n\r\n"};setupSocket(t);if(i&&i.length>0)t.unshift(i);t.on("error",onSocketError);const c=(h.test(r.target.protocol||"http")?s:o).request(setupOutgoing(r.ssl||{},r,e));if(n)n.emit("proxyReqWs",c,e,t,r,i);c.on("error",onOutgoingError);c.on("response",(function(e){if(!e.upgrade)if(!t.destroyed&&t.writable){t.write(createHttpHeader("HTTP/"+e.httpVersion+" "+e.statusCode+" "+e.statusMessage,e.headers));e.on("error",onOutgoingError);e.pipe(t)}else e.resume()}));c.on("upgrade",(function(e,r,o){r.on("error",onOutgoingError);r.on("end",(function(){n.emit("close",e,r,o)}));t.removeListener("error",onSocketError);t.on("error",(function(){r.end()}));setupSocket(r);if(o&&o.length>0)r.unshift(o);t.write(createHttpHeader("HTTP/1.1 101 Switching Protocols",e.headers));r.pipe(t).pipe(r);n.emit("open",r);n.emit("proxySocket",r)}));c.end();function onSocketError(r){if(a)a(r,e,t);else n.emit("error",r,e,t);c.destroy()}function onOutgoingError(r){if(a)a(r,e,t);else n.emit("error",r,e,t);t.end()}}))];var _=class extends i.EventEmitter{_server;_webPasses=[...m];_wsPasses=[...x];options;web;ws;constructor(e={}){super();this.options=e||{};this.options.prependPath=e.prependPath!==false;this.web=_createProxyFn("web",this);this.ws=_createProxyFn("ws",this)}listen(e,t,r){const closure=(e,t)=>this.web(e,t);if(this.options.http2){if(!this.options.ssl)throw new Error("HTTP/2 requires ssl option");this._server=n.createSecureServer({...this.options.ssl,allowHTTP1:true},closure)}else if(this.options.ssl)this._server=s.createServer(this.options.ssl,closure);else this._server=o.createServer(closure);if(this.options.ws)this._server.on("upgrade",((e,t,r)=>{this.ws(e,t,this.options,r).catch((()=>{}))}));this._server.listen(e,t,r);return this}close(e){if(this._server)this._server.close(((...t)=>{this._server=void 0;if(e)Reflect.apply(e,void 0,t)}))}before(e,t,r){if(e!=="ws"&&e!=="web")throw new Error("type must be `web` or `ws`");const o=this._getPasses(e);let s=false;for(const[e,r]of o.entries())if(r.name===t)s=e;if(s===false)throw new Error("No such pass");o.splice(s,0,r)}after(e,t,r){if(e!=="ws"&&e!=="web")throw new Error("type must be `web` or `ws`");const o=this._getPasses(e);let s=false;for(const[e,r]of o.entries())if(r.name===t)s=e;if(s===false)throw new Error("No such pass");o.splice(s++,0,r)}_getPasses(e){return e==="ws"?this._wsPasses:this._webPasses}};function createProxyServer(e={}){return new _(e)}function _createProxyFn(e,t){return function(r,o,s,n){const i={...s,...t.options};for(const e of["target","forward"])if(typeof i[e]==="string")i[e]=new URL(i[e]);if(!i.target&&!i.forward){this.emit("error",new Error("Must provide a proper URL as target"));return Promise.resolve()}let a;let c;const f=new Promise(((e,t)=>{a=e;c=t}));o.on("close",(()=>{a()}));o.on("error",(e=>{c(e)}));for(const s of t._getPasses(e)){let e;try{e=s(r,o,i,t,n,((e,s,n,i)=>{if(t.listenerCount("error")>0){t.emit("error",e,r,o,i);a()}else c(e)}))}catch(e){if(t.listenerCount("error")>0){t.emit("error",e,r,o,i.target||i.forward);a()}else c(e);break}if(e){a();break}}return f}}async function proxyFetch(e,t,r,n){const i=parseAddr(e);let a=false;let f="";if(typeof e==="string"&&!e.startsWith("unix:")){const t=new URL(e);a=h.test(t.protocol);if(t.pathname&&t.pathname!=="/")f=t.pathname}let d;let p;if(t instanceof Request){d=new URL(t.url);p={...toInit(t),...toInit(r)}}else{d=new URL(t);p=toInit(r)}p={redirect:"manual",...p};if(p.body)p.duplex="half";const l=d.pathname+d.search;const w=f?joinURL(f,l):l;const g={};if(p.headers)if(!(p.headers instanceof Headers)&&!Array.isArray(p.headers))Object.assign(g,p.headers);else for(const[e,t]of p.headers){const r=g[e];if(r===void 0)g[e]=t;else g[e]=Array.isArray(r)?[...r,t]:[r,t]}if(n?.xfwd){if(!g["x-forwarded-for"])g["x-forwarded-for"]=d.hostname;if(!g["x-forwarded-port"])g["x-forwarded-port"]=d.port||(d.protocol==="https:"?"443":"80");if(!g["x-forwarded-proto"])g["x-forwarded-proto"]=d.protocol.replace(":","");if(!g["x-forwarded-host"])g["x-forwarded-host"]=d.host}if(n?.changeOrigin)if(i.socketPath)g.host="localhost";else{const e=i.host||"localhost";const t=i.port;g.host=t&&t!==(a?443:80)?`${e}:${t}`:e}const y=typeof n?.followRedirects==="number"?n.followRedirects:n?.followRedirects?5:0;const m=y>0?await _bufferBody(p.body):_toNodeStream(p.body);const x=n?.agent!==void 0?n.agent||false:a?u.https:u.http;const _=await _sendRequest(a?s.request:o.request,p.method||"GET",w,g,i,m,{signal:p.signal||void 0,agent:x,timeout:n?.timeout,ssl:n?.ssl,maxRedirects:y,redirectCount:0,originalHeaders:g});const P=[];const b=_.rawHeaders;for(let e=0;e<b.length;e+=2){const t=b[e];const r=t.toLowerCase();if(r==="transfer-encoding"||r==="keep-alive"||r==="connection")continue;P.push([t,b[e+1]])}const k=_.statusCode!==204&&_.statusCode!==304;return new Response(k?c.Readable.toWeb(_):null,{status:_.statusCode,statusText:_.statusMessage,headers:P})}function toInit(e){if(!e)return;if(e instanceof Request)return{method:e.method,headers:e.headers,body:e.body,duplex:e.body?"half":void 0};return e}function _toNodeStream(e){if(!e)return;if(typeof e==="string")return Buffer.from(e);if(e instanceof ArrayBuffer||ArrayBuffer.isView(e))return Buffer.from(e);if(e instanceof ReadableStream)return c.Readable.fromWeb(e);if(e instanceof Blob)return c.Readable.fromWeb(e.stream());return Buffer.from(String(e))}async function _bufferBody(e){if(!e)return;if(typeof e==="string")return Buffer.from(e);if(e instanceof ArrayBuffer||ArrayBuffer.isView(e))return Buffer.from(e);if(e instanceof ReadableStream){const t=c.Readable.fromWeb(e);const r=[];for await(const e of t)r.push(typeof e==="string"?Buffer.from(e):e);return Buffer.concat(r)}if(e instanceof Blob)return Buffer.from(await e.arrayBuffer());return Buffer.from(String(e))}const P=new Set([301,302,303,307,308]);function _sendRequest(e,t,r,n,i,a,f){forceConnectionCloseForTransferEncoding(n);return new Promise(((d,u)=>{const p={method:t,path:r,headers:n,agent:f.agent};if(i.socketPath)p.socketPath=i.socketPath;else{p.hostname=i.host||"localhost";p.port=i.port}if(f.signal)p.signal=f.signal;if(f.ssl)Object.assign(p,f.ssl);const l=e(p,(e=>{const n=e.statusCode;if(f.maxRedirects>0&&P.has(n)&&f.redirectCount<f.maxRedirects&&e.headers.location){e.resume();const c=new URL(r,`http://${i.host||"localhost"}:${i.port||80}`);const p=new URL(e.headers.location,c);const l=h.test(p.protocol);const w=n===307||n===308;const g=w?t:"GET";const y={...f.originalHeaders};y.host=p.host;if(p.host!==c.host){delete y.authorization;delete y.cookie}if(!w){delete y["content-length"];delete y["content-type"];delete y["transfer-encoding"]}_sendRequest(l?s.request:o.request,g,p.pathname+p.search,y,{host:p.hostname,port:Number(p.port)||(l?443:80)},w?a:void 0,{...f,redirectCount:f.redirectCount+1}).then(d,u);return}d(e)}));l.on("error",u);if(f.timeout)l.setTimeout(f.timeout,(()=>{l.destroy(new Error("Proxy request timed out"))}));if(a instanceof c.Readable){a.on("error",(e=>{l.destroy(e);u(e)}));a.pipe(l)}else if(a)l.end(a);else l.end()}))}function proxyUpgrade(e,t,r,n,i){const a=parseAddr(e);let c=false;if(typeof e==="string"&&!e.startsWith("unix:"))c=h.test(new URL(e).protocol);if(t.method!=="GET"||t.headers.upgrade?.toLowerCase()!=="websocket"){r.destroy();return Promise.reject(new Error("Not a valid WebSocket upgrade request"))}if(i?.xfwd!==false){const e=t.headers["x-forwarded-for"];const r=t.headers["x-forwarded-port"];const o=t.headers["x-forwarded-proto"];t.headers["x-forwarded-for"]=`${e?`${e},`:""}${t.socket?.remoteAddress}`;t.headers["x-forwarded-port"]=`${r?`${r},`:""}${getPort(t)}`;t.headers["x-forwarded-proto"]=`${o?`${o},`:""}${hasEncryptedConnection(t)?"wss":"ws"}`}const f=_buildTargetURL(a,c);const d={...i,target:f,prependPath:i?.prependPath!==false};const u=setupOutgoing(d.ssl||{},d,t);const p=r;return new Promise(((e,t)=>{let r=false;setupSocket(p);if(n&&n.length>0)p.unshift(n);p.once("error",onSocketError);const i=(h.test(f.protocol)?s.request:o.request)(u);i.once("error",onOutgoingError);i.once("response",(e=>{if(!e.upgrade){if(!p.destroyed&&p.writable){p.write(_createHttpHeader(`HTTP/${e.httpVersion} ${e.statusCode} ${e.statusMessage}`,e.headers));e.on("error",onOutgoingError);e.pipe(p)}else e.resume();if(!r){r=true;t(new Error("Upstream server did not upgrade the connection"))}}}));i.once("upgrade",((t,o,s)=>{o.once("error",onOutgoingError);p.removeListener("error",onSocketError);p.once("error",(()=>{o.end()}));setupSocket(o);if(s&&s.length>0)o.unshift(s);p.write(_createHttpHeader("HTTP/1.1 101 Switching Protocols",t.headers));o.pipe(p).pipe(o);r=true;e(o)}));i.end();function onSocketError(e){i.destroy();if(!r){r=true;t(e)}}function onOutgoingError(e){p.end();if(!r){r=true;t(e)}}}))}function _buildTargetURL(e,t=false){const r=t?"https":"http";if(e.socketPath){const t=new URL(`${r}://unix`);t.socketPath=e.socketPath;return t}return new URL(`${r}://${e.host||"localhost"}${e.port?`:${e.port}`:""}`)}function _createHttpHeader(e,t){let r=e;for(const e of Object.keys(t)){const o=t[e];if(o===void 0)continue;if(Array.isArray(o))for(const t of o)r+=`\r\n${e}: ${t}`;else r+=`\r\n${e}: ${o}`}return`${r}\r\n\r\n`}}};var t={};function __nccwpck_require__(r){var o=t[r];if(o!==undefined){return o.exports}var s=t[r]={exports:{}};var n=true;try{e[r](s,s.exports,__nccwpck_require__);n=false}finally{if(n)delete t[r]}return s.exports}(()=>{__nccwpck_require__.d=(e,t)=>{for(var r in t){if(__nccwpck_require__.o(t,r)&&!__nccwpck_require__.o(e,r)){Object.defineProperty(e,r,{enumerable:true,get:t[r]})}}}})();(()=>{__nccwpck_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})();(()=>{__nccwpck_require__.r=e=>{if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(e,"__esModule",{value:true})}})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var r=__nccwpck_require__(691);module.exports=r})();