@zuplo/graphql 5.1596.0 → 5.1598.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.minified.js +36 -36
  2. package/package.json +1 -1
package/index.minified.js CHANGED
@@ -22,17 +22,17 @@
22
22
  * DEALINGS IN THE SOFTWARE.
23
23
  *--------------------------------------------------------------------------------------------*/
24
24
 
25
- "use strict";var Lb=Object.create;var Kn=Object.defineProperty;var Db=Object.getOwnPropertyDescriptor;var Ub=Object.getOwnPropertyNames;var Mb=Object.getPrototypeOf,kb=Object.prototype.hasOwnProperty;var o=(e,t)=>Kn(e,"name",{value:t,configurable:!0});var I=(e,t)=>()=>(e&&(t=e(e=0)),t);var g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Gi=(e,t)=>{for(var r in t)Kn(e,r,{get:t[r],enumerable:!0})},jp=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ub(t))!kb.call(e,i)&&i!==r&&Kn(e,i,{get:()=>t[i],enumerable:!(n=Db(t,i))||n.enumerable});return e};var Vp=(e,t,r)=>(r=e!=null?Lb(Mb(e)):{},jp(t||!e||!e.__esModule?Kn(r,"default",{value:e,enumerable:!0}):r,e)),Bi=e=>jp(Kn({},"__esModule",{value:!0}),e);var L=g(ht=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.FeatureNotEnabledError=ht.ConfigurationError=ht.RuntimeError=ht.SystemError=void 0;var $c=class extends Error{static{o(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};ht.SystemError=$c;var Jn=class extends Error{static{o(this,"RuntimeError")}extensionMembers;constructor(t,r){typeof t=="string"?super(t,r):(super(t.message,r),this.extensionMembers=t.extensionMembers),this.name="RuntimeError"}};ht.RuntimeError=Jn;var jc=class extends Jn{static{o(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};ht.ConfigurationError=jc;var Vc=class extends Jn{static{o(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};ht.FeatureNotEnabledError=Vc});var ee=g(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.Environment=void 0;var Fb=L(),Gc=class e{static{o(this,"Environment")}config;static#e;static initialize(t,r){this.#e||(this.#e=new e(t,r))}static get instance(){if(!this.#e)throw new Fb.SystemError("Environment has not been initialized");return this.#e}constructor(t,r){let n;try{if(r.__ZUPLO_CONFIG){let i=atob(r.__ZUPLO_CONFIG);n=JSON.parse(i)}}catch{console.warn("Failed to parse runtime configuration")}this.config=n??{},this.build=t,this.runtime=r}build;runtime;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useSha256ServiceRouting(){return this.config.use_sha256_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.dev"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuplo.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuplo.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuplo.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isDeno(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="deno":this.config.runtime_type?this.config.runtime_type==="deno":typeof WebSocketPair!="function"}get isLocalDevelopment(){return this.build.ENVIRONMENT_TYPE?this.build.ENVIRONMENT_TYPE==="LOCAL_DEVELOPMENT":!1}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}};Ki.Environment=Gc});var Jp=g(Kp=>{"use strict";Object.defineProperty(Kp,"__esModule",{value:!0});var Gp=ee();Function.prototype.toString=function(){return"[native code]"};var Ji=globalThis,Bp=Ji.caches;if(Bp){let e=Bp.open;Ji.caches.open=function(t){let r=Gp.Environment.instance.deploymentName??Gp.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete Ji.caches.default,Object.freeze(Ji.caches)}});var Jc=g(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.MemoryCache=void 0;var Hb=1e4,qb=1e3,zp=new Map,Bc=class{static{o(this,"InnerCache")}constructor(t){this.#e=t.maxSize}#e;#t=0;#r=new Map;#n=[];get(t){let r=this.#r.get(t);if(!r)return;let n=Date.now();if(n>r.expiresAt){this.#r.delete(t);return}return r.lastUsed=n,this.#i(),r?.data}put(t,r,n){if(n<=0)return;if(this.#r.size>=this.#e){let a=this.#n.shift();a&&this.#r.delete(a)}let i=Date.now(),s={created:i,lastUsed:i,expiresAt:i+n*1e3,data:r};this.#n.push(t),this.#r.set(t,s)}delete(t){let r=this.#n.indexOf(t);r>=0&&this.#n.slice(r,1),this.#r.delete(t)}get size(){return this.#r.size}#i(){let t=Date.now();this.#t+Hb*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},Kc=class{static{o(this,"MemoryCache")}constructor(t,r={maxSize:qb}){this.name=t;let n=zp.get(t);n||(n=new Bc(r),zp.set(t,n)),this.#e=n}name;#e;get(t){return this.#e.get(t)}put(t,r,n){return this.#e.put(t,r,n)}delete(t){return this.#e.delete(t)}get size(){return this.#e.size}purge(){this.#e.purge()}};zi.MemoryCache=Kc});var Qi=g(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.ZoneCache=void 0;var zc="__zuplo-expiry-header",Wc=class{static{o(this,"ZoneCache")}constructor(t,r){this.#t=t,this.#e=r}#e;#t;#r;async#n(){return this.#r||(this.#r=await caches.open(this.#t)),this.#r}#i(t){return new Request(`https://zone-cache.zuplo.app/${encodeURIComponent(t)}`)}async get(t){try{let r=await this.#n(),n=this.#i(t),i=await r.match(n);if(!i)return;let s=i.headers.get(zc);if(!s){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of missing expiryHeader",u),await this.deleteFallback(t)}return}let a=parseInt(s);if(Date.now()>=a){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of expiration",u),await this.deleteFallback(t)}return}return await i.json()}catch(r){this.logDebug(r)}}async put(t,r,n){let i=new Headers({"cache-control":`s-maxage=${n}, must-revalidate`,"content-type":"application/json"});i.set(zc,`${Date.now()+n*1e3}`);let s=await this.#n(),a=this.#i(t),c=new Response(JSON.stringify(r),{headers:i});await s.put(a,c)}async delete(t){let r=await this.#n(),n=this.#i(t);try{await r.delete(n)}catch(i){this.logDebug("Handled failure to delete with CF cache due to explicit delete call",i),await this.deleteFallback(t)}}async deleteFallback(t){let r=new Headers({"Cache-Control":"s-maxage=0, must-revalidate"});r.set(zc,`${Date.now()}`);let n=await this.#n(),i=this.#i(t),s=new Response("",{headers:r});await n.put(i,s)}logDebug(...t){"logger"in this.#e?this.#e.logger?.debug(`Error in ZoneCache: '${this.#t}'`,t):"log"in this.#e&&this.#e.log.debug(`Error in ZoneCache: '${this.#t}'`,t)}};Wi.ZoneCache=Wc});var Er=g(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.MemoryZoneReadThroughCache=void 0;var $b=Jc(),jb=Qi(),Qc=class{static{o(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new $b.MemoryCache(n),this.#r=new jb.ZoneCache(n,r),this.#n=r}#e;#t;#r;#n;async get(t){let r=this.#t.get(t);if(r)return r;let n=await this.#r.get(t);if(n){let i=Math.floor((n.expires-Date.now())/1e3);if(i>0)return this.#t.put(t,n.data,i),n.data}}put(t,r,n){this.#t.put(t,r,n);let i={data:r,expires:Date.now()+n*1e3};this.#r.put(t,i,n).catch(s=>{"logger"in this.#n?this.#n.logger?.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,s):"log"in this.#n&&this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,s)})}};Yi.MemoryZoneReadThroughCache=Qc});var zn=g(R=>{"use strict";Object.defineProperty(R,"__esModule",{value:!0});R.INTERNAL_HEADERS_TO_REMOVE=R.DISPATCH_HEADERS_TO_REMOVE=R.ZP_TIMEZONE_HEADER=R.ZP_REGION_CODE_HEADER=R.ZP_REGION_HEADER=R.ZP_METRO_CODE_HEADER=R.ZP_POSTAL_CODE_HEADER=R.ZP_COLO_HEADER=R.ZP_AS_ORG_HEADER=R.ZP_ASN_HEADER=R.TRUE_CLIENT_IP=R.ZP_IP_LATITUDE_HEADER=R.ZP_IP_LONGITUDE_HEADER=R.ZP_IP_COUNTRY_HEADER=R.ZP_IP_CONTINENT_HEADER=R.ZP_IP_CITY_HEADER=R.CF_IP_LATITUDE_HEADER=R.CF_IP_LONGITUDE_HEADER=R.CF_IP_COUNTRY_HEADER=R.CF_IP_CONTINENT_HEADER=R.CF_IP_CITY_HEADER=R.RAY_ID_HEADER=R.BODY_REMOVED_HEADER=R.REQUEST_ID_HEADER=R.LEGACY_REQUEST_ID_HEADER=void 0;R.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";R.REQUEST_ID_HEADER="zp-rid";R.BODY_REMOVED_HEADER="zp-body-removed";R.RAY_ID_HEADER="cf-ray";R.CF_IP_CITY_HEADER="cf-ipcity";R.CF_IP_CONTINENT_HEADER="cf-ipcontinent";R.CF_IP_COUNTRY_HEADER="cf-ipcountry";R.CF_IP_LONGITUDE_HEADER="cf-iplongitude";R.CF_IP_LATITUDE_HEADER="cf-iplatitude";R.ZP_IP_CITY_HEADER="zp-ipcity";R.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";R.ZP_IP_COUNTRY_HEADER="zp-ipcountry";R.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";R.ZP_IP_LATITUDE_HEADER="zp-iplatitude";R.TRUE_CLIENT_IP="true-client-ip";R.ZP_ASN_HEADER="zp-asn";R.ZP_AS_ORG_HEADER="zp-asorg";R.ZP_COLO_HEADER="zp-colo";R.ZP_POSTAL_CODE_HEADER="zp-postalcode";R.ZP_METRO_CODE_HEADER="zp-metrocode";R.ZP_REGION_HEADER="zp-region";R.ZP_REGION_CODE_HEADER="zp-regioncode";R.ZP_TIMEZONE_HEADER="zp-timezone";R.DISPATCH_HEADERS_TO_REMOVE=[R.CF_IP_CITY_HEADER,R.CF_IP_CONTINENT_HEADER,R.CF_IP_COUNTRY_HEADER,R.CF_IP_LONGITUDE_HEADER,R.CF_IP_LATITUDE_HEADER,R.ZP_ASN_HEADER,R.ZP_AS_ORG_HEADER,R.ZP_COLO_HEADER,R.ZP_POSTAL_CODE_HEADER,R.ZP_METRO_CODE_HEADER,R.ZP_REGION_HEADER,R.ZP_REGION_CODE_HEADER,R.ZP_TIMEZONE_HEADER];R.INTERNAL_HEADERS_TO_REMOVE=["x-b3-sampled","x-b3-spanid","x-b3-traceid","x-envoy-attempt-count","x-envoy-decorator-operation","x-envoy-external-address","x-envoy-peer-metadata","x-envoy-peer-metadata-id","k-proxy-request","fly-client-ip","fly-forwarded-port","fly-forwarded-proto","fly-forwarded-ssl","fly-region","fly-request-id","fly-traceparent","fly-tracestate"]});var nh=g(w=>{"use strict";Object.defineProperty(w,"__esModule",{value:!0});w.generateColor=w.colorFunctions=w.stripColor=w.bgRgb24=w.rgb24=w.bgRgb8=w.rgb8=w.bgBrightWhite=w.bgBrightCyan=w.bgBrightMagenta=w.bgBrightBlue=w.bgBrightYellow=w.bgBrightGreen=w.bgBrightRed=w.bgBrightBlack=w.bgWhite=w.bgCyan=w.bgMagenta=w.bgBlue=w.bgYellow=w.bgGreen=w.bgRed=w.bgBlack=w.brightWhite=w.brightCyan=w.brightMagenta=w.brightBlue=w.brightYellow=w.brightGreen=w.brightRed=w.brightBlack=w.gray=w.white=w.cyan=w.magenta=w.blue=w.yellow=w.green=w.red=w.black=w.strikethrough=w.hidden=w.inverse=w.underline=w.italic=w.dim=w.bold=w.reset=w.getColorEnabled=w.setColorEnabled=void 0;var Wp=!0,Yc=!Wp;function Vb(e){Wp||(Yc=e)}o(Vb,"setColorEnabled");w.setColorEnabled=Vb;function Gb(){return Yc}o(Gb,"getColorEnabled");w.getColorEnabled=Gb;function H(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}o(H,"code");function q(e,t){return Yc?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}o(q,"run");function Bb(e){return q(e,H([0],0))}o(Bb,"reset");w.reset=Bb;function Kb(e){return q(e,H([1],22))}o(Kb,"bold");w.bold=Kb;function Jb(e){return q(e,H([2],22))}o(Jb,"dim");w.dim=Jb;function zb(e){return q(e,H([3],23))}o(zb,"italic");w.italic=zb;function Wb(e){return q(e,H([4],24))}o(Wb,"underline");w.underline=Wb;function Qb(e){return q(e,H([7],27))}o(Qb,"inverse");w.inverse=Qb;function Yb(e){return q(e,H([8],28))}o(Yb,"hidden");w.hidden=Yb;function Zb(e){return q(e,H([9],29))}o(Zb,"strikethrough");w.strikethrough=Zb;function Xb(e){return q(e,H([30],39))}o(Xb,"black");w.black=Xb;function Qp(e){return q(e,H([31],39))}o(Qp,"red");w.red=Qp;function Yp(e){return q(e,H([32],39))}o(Yp,"green");w.green=Yp;function Zp(e){return q(e,H([33],39))}o(Zp,"yellow");w.yellow=Zp;function Xp(e){return q(e,H([34],39))}o(Xp,"blue");w.blue=Xp;function eh(e){return q(e,H([35],39))}o(eh,"magenta");w.magenta=eh;function th(e){return q(e,H([36],39))}o(th,"cyan");w.cyan=th;function eE(e){return q(e,H([37],39))}o(eE,"white");w.white=eE;function tE(e){return rh(e)}o(tE,"gray");w.gray=tE;function rh(e){return q(e,H([90],39))}o(rh,"brightBlack");w.brightBlack=rh;function rE(e){return q(e,H([91],39))}o(rE,"brightRed");w.brightRed=rE;function nE(e){return q(e,H([92],39))}o(nE,"brightGreen");w.brightGreen=nE;function iE(e){return q(e,H([93],39))}o(iE,"brightYellow");w.brightYellow=iE;function oE(e){return q(e,H([94],39))}o(oE,"brightBlue");w.brightBlue=oE;function sE(e){return q(e,H([95],39))}o(sE,"brightMagenta");w.brightMagenta=sE;function aE(e){return q(e,H([96],39))}o(aE,"brightCyan");w.brightCyan=aE;function cE(e){return q(e,H([97],39))}o(cE,"brightWhite");w.brightWhite=cE;function uE(e){return q(e,H([40],49))}o(uE,"bgBlack");w.bgBlack=uE;function lE(e){return q(e,H([41],49))}o(lE,"bgRed");w.bgRed=lE;function dE(e){return q(e,H([42],49))}o(dE,"bgGreen");w.bgGreen=dE;function pE(e){return q(e,H([43],49))}o(pE,"bgYellow");w.bgYellow=pE;function hE(e){return q(e,H([44],49))}o(hE,"bgBlue");w.bgBlue=hE;function fE(e){return q(e,H([45],49))}o(fE,"bgMagenta");w.bgMagenta=fE;function mE(e){return q(e,H([46],49))}o(mE,"bgCyan");w.bgCyan=mE;function yE(e){return q(e,H([47],49))}o(yE,"bgWhite");w.bgWhite=yE;function gE(e){return q(e,H([100],49))}o(gE,"bgBrightBlack");w.bgBrightBlack=gE;function _E(e){return q(e,H([101],49))}o(_E,"bgBrightRed");w.bgBrightRed=_E;function bE(e){return q(e,H([102],49))}o(bE,"bgBrightGreen");w.bgBrightGreen=bE;function EE(e){return q(e,H([103],49))}o(EE,"bgBrightYellow");w.bgBrightYellow=EE;function wE(e){return q(e,H([104],49))}o(wE,"bgBrightBlue");w.bgBrightBlue=wE;function vE(e){return q(e,H([105],49))}o(vE,"bgBrightMagenta");w.bgBrightMagenta=vE;function TE(e){return q(e,H([106],49))}o(TE,"bgBrightCyan");w.bgBrightCyan=TE;function SE(e){return q(e,H([107],49))}o(SE,"bgBrightWhite");w.bgBrightWhite=SE;function jt(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}o(jt,"clampAndTruncate");function IE(e,t){return q(e,H([38,5,jt(t)],39))}o(IE,"rgb8");w.rgb8=IE;function AE(e,t){return q(e,H([48,5,jt(t)],49))}o(AE,"bgRgb8");w.bgRgb8=AE;function PE(e,t){return typeof t=="number"?q(e,H([38,2,t>>16&255,t>>8&255,t&255],39)):q(e,H([38,2,jt(t.r),jt(t.g),jt(t.b)],39))}o(PE,"rgb24");w.rgb24=PE;function RE(e,t){return typeof t=="number"?q(e,H([48,2,t>>16&255,t>>8&255,t&255],49)):q(e,H([48,2,jt(t.r),jt(t.g),jt(t.b)],49))}o(RE,"bgRgb24");w.bgRgb24=RE;var OE=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"),"g");function xE(e){return e.replace(OE,"")}o(xE,"stripColor");w.stripColor=xE;w.colorFunctions=[Qp,Yp,Zp,Xp,eh,th];function NE(e){let t=0,r=e.length,n=0;if(r>0)for(;n<r;)t=(t<<5)-t+e.charCodeAt(n++)|0;return t}o(NE,"hashCode");function CE(e){let t=Math.abs(NE(e));return w.colorFunctions[t%w.colorFunctions.length]}o(CE,"generateColor");w.generateColor=CE});var ih=g(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.format=void 0;function LE(e,t,...r){let n=0,i=r.length,s=String(t).replace(/%[sdjoO%]/g,a=>{if(a==="%%")return"%";if(n>=i)return a;switch(a){case"%s":return String(r[n++]);case"%d":return Number(r[n++]).toString();case"%o":return e(r[n++]).split(`
26
- `).map(c=>c.trim()).join(" ");case"%O":return e(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch{return"[Circular]"}default:return a}});for(let a of r.splice(n))a===null||!(typeof a=="object"&&a!==null)?s+=" "+a:s+=" "+e(a);return s}o(LE,"format");Zi.format=LE});var lh=g(eo=>{"use strict";Object.defineProperty(eo,"__esModule",{value:!0});eo.inspect=void 0;function wr(e,t,r,n){let i={seen:[],stylize:DE,showHidden:t??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=ME),Xi(i,e,i.depth)}o(wr,"inspect");eo.inspect=wr;wr.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};wr.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function DE(e,t){return e}o(DE,"stylizeNoColor");function UE(e){return typeof e=="boolean"}o(UE,"isBoolean");function sh(e){return e===void 0}o(sh,"isUndefined");function ME(e,t){let r=wr.styles[t];return r?"\x1B["+wr.colors[r][0]+"m"+e+"\x1B["+wr.colors[r][1]+"m":e}o(ME,"stylizeWithColor");function Zc(e){return typeof e=="function"}o(Zc,"isFunction");function ah(e){return typeof e=="string"}o(ah,"isString");function kE(e){return typeof e=="number"}o(kE,"isNumber");function ch(e){return e===null}o(ch,"isNull");function uh(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o(uh,"hasOwn");function Xc(e){return nu(e)&&iu(e)==="[object RegExp]"}o(Xc,"isRegExp");function nu(e){return typeof e=="object"&&e!==null}o(nu,"isObject");function eu(e){return nu(e)&&(iu(e)==="[object Error]"||e instanceof Error)}o(eu,"isError");function oh(e){return nu(e)&&iu(e)==="[object Date]"}o(oh,"isDate");function iu(e){return Object.prototype.toString.call(e)}o(iu,"objectToString");function FE(e){let t={};return e.forEach(function(r,n){t[r]=!0}),t}o(FE,"arrayToHash");function HE(e,t,r,n,i){let s=[];for(let a=0,c=t.length;a<c;++a)uh(t,String(a))?s.push(ru(e,t,r,n,String(a),!0)):s.push("");return i.forEach(function(a){a.match(/^\d+$/)||s.push(ru(e,t,r,n,a,!0))}),s}o(HE,"formatArray");function tu(e){return"["+Error.prototype.toString.call(e)+"]"}o(tu,"formatError");function Xi(e,t,r){if(e.customInspect&&t&&Zc(t.inspect)&&t.inspect!==wr&&!(t.constructor&&t.constructor.prototype===t)){let d=t.inspect(r,e);return ah(d)||(d=Xi(e,d,r)),d}let n=qE(e,t);if(n)return n;let i=Object.keys(t),s=FE(i);try{e.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(t))}catch{}if(eu(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return tu(t);if(i.length===0){if(Zc(t)){let d=t.name?": "+t.name:"";return e.stylize("[Function"+d+"]","special")}if(Xc(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(oh(t))return e.stylize(Date.prototype.toString.call(t),"date");if(eu(t))return tu(t)}let a="",c=!1,u=["{","}"];if(Array.isArray(t)&&(c=!0,u=["[","]"]),Zc(t)&&(a=" [Function"+(t.name?": "+t.name:"")+"]"),Xc(t)&&(a=" "+RegExp.prototype.toString.call(t)),oh(t)&&(a=" "+Date.prototype.toUTCString.call(t)),eu(t)&&(a=" "+tu(t)),i.length===0&&(!c||t.length==0))return u[0]+a+u[1];if(r<0)return Xc(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);let l;return c?l=HE(e,t,r,s,i):l=i.map(function(d){return ru(e,t,r,s,d,c)}),e.seen.pop(),$E(l,a,u)}o(Xi,"formatValue");function ru(e,t,r,n,i,s){let a,c,u;u={value:void 0};try{u.value=t[i]}catch{}try{Object.getOwnPropertyDescriptor&&(u=Object.getOwnPropertyDescriptor(t,i)||u)}catch{}if(u.get?u.set?c=e.stylize("[Getter/Setter]","special"):c=e.stylize("[Getter]","special"):u.set&&(c=e.stylize("[Setter]","special")),uh(n,i)||(a="["+i+"]"),c||(e.seen.indexOf(u.value)<0?(ch(r)?c=Xi(e,u.value,null):c=Xi(e,u.value,r-1),c.indexOf(`
25
+ "use strict";var Ub=Object.create;var Kn=Object.defineProperty;var Mb=Object.getOwnPropertyDescriptor;var kb=Object.getOwnPropertyNames;var Fb=Object.getPrototypeOf,Hb=Object.prototype.hasOwnProperty;var o=(e,t)=>Kn(e,"name",{value:t,configurable:!0});var I=(e,t)=>()=>(e&&(t=e(e=0)),t);var g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Gi=(e,t)=>{for(var r in t)Kn(e,r,{get:t[r],enumerable:!0})},Vp=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of kb(t))!Hb.call(e,i)&&i!==r&&Kn(e,i,{get:()=>t[i],enumerable:!(n=Mb(t,i))||n.enumerable});return e};var Gp=(e,t,r)=>(r=e!=null?Ub(Fb(e)):{},Vp(t||!e||!e.__esModule?Kn(r,"default",{value:e,enumerable:!0}):r,e)),Bi=e=>Vp(Kn({},"__esModule",{value:!0}),e);var L=g(ht=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.FeatureNotEnabledError=ht.ConfigurationError=ht.RuntimeError=ht.SystemError=void 0;var jc=class extends Error{static{o(this,"SystemError")}constructor(t,r){super(t,r),this.name="InternalError"}};ht.SystemError=jc;var Jn=class extends Error{static{o(this,"RuntimeError")}extensionMembers;constructor(t,r){typeof t=="string"?super(t,r):(super(t.message,r),this.extensionMembers=t.extensionMembers),this.name="RuntimeError"}};ht.RuntimeError=Jn;var Vc=class extends Jn{static{o(this,"ConfigurationError")}constructor(t,r){super(t,r),this.name="ConfigurationError"}};ht.ConfigurationError=Vc;var Gc=class extends Jn{static{o(this,"FeatureNotEnabledError")}constructor(t,r){super(t,r),this.name="FeatureNotEnabledError"}};ht.FeatureNotEnabledError=Gc});var ee=g(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.Environment=void 0;var qb=L(),Bc=class e{static{o(this,"Environment")}config;static#e;static initialize(t,r){this.#e||(this.#e=new e(t,r))}static get instance(){if(!this.#e)throw new qb.SystemError("Environment has not been initialized");return this.#e}constructor(t,r){let n;try{if(r.__ZUPLO_CONFIG){let i=atob(r.__ZUPLO_CONFIG);n=JSON.parse(i)}}catch{console.warn("Failed to parse runtime configuration")}this.config=n??{},this.build=t,this.runtime=r}build;runtime;get deploymentName(){return this.runtime.__ZUPLO_DEPLOYMENT_NAME??this.config.deployment_name??void 0}get useSha256ServiceRouting(){return this.config.use_sha256_service_routing??void 0}get useProxyForFetchFromZups(){return this.config.use_proxy_for_fetch_from_zups??void 0}get devPortalBaseUrl(){return this.runtime.__ZUPLO_DEV_PORTAL_URL??this.config.dev_portal_url??"https://dev-portal-v4-1.zuplo.com"}get buildAssetsUrl(){return this.runtime.__ZUPLO_BUILD_ASSETS_URL??this.config.build_assets_url??"https://build-assets.zuplo.dev"}get remoteLogToken(){return this.runtime.__ZUPLO_REMOTE_LOG_TOKEN??this.config.remote_log_token??void 0}get managementApiURL(){return this.runtime.__ZUPLO_MANAGEMENT_API_URL??this.config.management_api_url??"https://api.zuplo.com"}get cdnURL(){return this.runtime.__ZUPLO_CDN_URL??this.config.cdn_url??"https://cdn.zuplo.com"}get remoteLogURL(){return this.runtime.__ZUPLO_REMOTE_LOG_URL??this.config.log_event_api??"https://ellie.zuplo.com"}get loggingId(){return this.runtime.__ZUPLO_LOGGING_ID??this.config.logging_id??void 0}get redisURL(){return this.runtime.__ZUPLO_REDIS_URL??this.config.redis_proxy_url??"https://redis-proxy.zuplo.com"}get apiKeyServiceUrl(){return this.runtime.__ZUPLO_API_KEY_SERVICE_URL??this.config.api_key_service_url??"https://apikey.zuplo.com"}get authApiJWT(){return this.runtime.__ZUPLO_AUTH_API_JWT??void 0}get userLogLevel(){return this.runtime.ZUPLO_LOG_LEVEL??this.runtime.__ZUPLO_LOG_LEVEL??this.config.user_log_level??"debug"}get systemLogLevel(){return this.runtime.__ZUPLO_LOG_LEVEL??this.config.system_log_level??"debug"}get logFormat(){return this.runtime.__ZUPLO_LOG_FORMAT??this.config.log_format??"cloudflare"}get isCloudflare(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="cloudflare":this.config.runtime_type?this.config.runtime_type==="cloudflare":typeof WebSocketPair=="function"}get isDeno(){return this.runtime.__ZUPLO_RUNTIME_TYPE?this.runtime.__ZUPLO_RUNTIME_TYPE==="deno":this.config.runtime_type?this.config.runtime_type==="deno":typeof WebSocketPair!="function"}get isLocalDevelopment(){return this.build.ENVIRONMENT_TYPE?this.build.ENVIRONMENT_TYPE==="LOCAL_DEVELOPMENT":!1}get systemUserAgent(){return`Zuplo/${this.build.ZUPLO_VERSION}`}get loggingEnvironmentType(){return this.isCloudflare?"edge":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}get loggingEnvironmentStage(){return this.build.ENVIRONMENT_TYPE==="PRODUCTION"?"production":this.build.ENVIRONMENT_TYPE==="PREVIEW"?"preview":this.isLocalDevelopment?"local":this.isDeno?"working-copy":"unknown"}};Ki.Environment=Bc});var zp=g(Jp=>{"use strict";Object.defineProperty(Jp,"__esModule",{value:!0});var Bp=ee();Function.prototype.toString=function(){return"[native code]"};var Ji=globalThis,Kp=Ji.caches;if(Kp){let e=Kp.open;Ji.caches.open=function(t){let r=Bp.Environment.instance.deploymentName??Bp.Environment.instance.build.BUILD_ID;return e.call(this,`${r}-${t}`)},delete Ji.caches.default,Object.freeze(Ji.caches)}});var zc=g(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.MemoryCache=void 0;var $b=1e4,jb=1e3,Wp=new Map,Kc=class{static{o(this,"InnerCache")}constructor(t){this.#e=t.maxSize}#e;#t=0;#r=new Map;#n=[];get(t){let r=this.#r.get(t);if(!r)return;let n=Date.now();if(n>r.expiresAt){this.#r.delete(t);return}return r.lastUsed=n,this.#i(),r?.data}put(t,r,n){if(n<=0)return;if(this.#r.size>=this.#e){let a=this.#n.shift();a&&this.#r.delete(a)}let i=Date.now(),s={created:i,lastUsed:i,expiresAt:i+n*1e3,data:r};this.#n.push(t),this.#r.set(t,s)}delete(t){let r=this.#n.indexOf(t);r>=0&&this.#n.slice(r,1),this.#r.delete(t)}get size(){return this.#r.size}#i(){let t=Date.now();this.#t+$b*1e3>t&&(this.purge(),this.#t=t)}purge(){let t=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=t&&this.#r.delete(n)})}},Jc=class{static{o(this,"MemoryCache")}constructor(t,r={maxSize:jb}){this.name=t;let n=Wp.get(t);n||(n=new Kc(r),Wp.set(t,n)),this.#e=n}name;#e;get(t){return this.#e.get(t)}put(t,r,n){return this.#e.put(t,r,n)}delete(t){return this.#e.delete(t)}get size(){return this.#e.size}purge(){this.#e.purge()}};zi.MemoryCache=Jc});var Qi=g(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.ZoneCache=void 0;var Wc="__zuplo-expiry-header",Qc=class{static{o(this,"ZoneCache")}constructor(t,r){this.#t=t,this.#e=r}#e;#t;#r;async#n(){return this.#r||(this.#r=await caches.open(this.#t)),this.#r}#i(t){return new Request(`https://zone-cache.zuplo.app/${encodeURIComponent(t)}`)}async get(t){try{let r=await this.#n(),n=this.#i(t),i=await r.match(n);if(!i)return;let s=i.headers.get(Wc);if(!s){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of missing expiryHeader",u),await this.deleteFallback(t)}return}let a=parseInt(s);if(Date.now()>=a){try{await r.delete(n)}catch(u){this.logDebug("Handled failure to delete with CF cache because of expiration",u),await this.deleteFallback(t)}return}return await i.json()}catch(r){this.logDebug(r)}}async put(t,r,n){let i=new Headers({"cache-control":`s-maxage=${n}, must-revalidate`,"content-type":"application/json"});i.set(Wc,`${Date.now()+n*1e3}`);let s=await this.#n(),a=this.#i(t),c=new Response(JSON.stringify(r),{headers:i});await s.put(a,c)}async delete(t){let r=await this.#n(),n=this.#i(t);try{await r.delete(n)}catch(i){this.logDebug("Handled failure to delete with CF cache due to explicit delete call",i),await this.deleteFallback(t)}}async deleteFallback(t){let r=new Headers({"Cache-Control":"s-maxage=0, must-revalidate"});r.set(Wc,`${Date.now()}`);let n=await this.#n(),i=this.#i(t),s=new Response("",{headers:r});await n.put(i,s)}logDebug(...t){"logger"in this.#e?this.#e.logger?.debug(`Error in ZoneCache: '${this.#t}'`,t):"log"in this.#e&&this.#e.log.debug(`Error in ZoneCache: '${this.#t}'`,t)}};Wi.ZoneCache=Qc});var jt=g(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.MemoryZoneReadThroughCache=void 0;var Vb=zc(),Gb=Qi(),Yc=class{static{o(this,"MemoryZoneReadThroughCache")}constructor(t,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${t}`;this.#e=t,this.#t=new Vb.MemoryCache(n),this.#r=new Gb.ZoneCache(n,r),this.#n=r}#e;#t;#r;#n;async get(t){let r=this.#t.get(t);if(r)return r;let n=await this.#r.get(t);if(n){let i=Math.floor((n.expires-Date.now())/1e3);if(i>0)return this.#t.put(t,n.data,i),n.data}}put(t,r,n){this.#t.put(t,r,n);let i={data:r,expires:Date.now()+n*1e3};this.#r.put(t,i,n).catch(s=>{"logger"in this.#n?this.#n.logger?.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,s):"log"in this.#n&&this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,s)})}};Yi.MemoryZoneReadThroughCache=Yc});var zn=g(R=>{"use strict";Object.defineProperty(R,"__esModule",{value:!0});R.INTERNAL_HEADERS_TO_REMOVE=R.DISPATCH_HEADERS_TO_REMOVE=R.ZP_TIMEZONE_HEADER=R.ZP_REGION_CODE_HEADER=R.ZP_REGION_HEADER=R.ZP_METRO_CODE_HEADER=R.ZP_POSTAL_CODE_HEADER=R.ZP_COLO_HEADER=R.ZP_AS_ORG_HEADER=R.ZP_ASN_HEADER=R.TRUE_CLIENT_IP=R.ZP_IP_LATITUDE_HEADER=R.ZP_IP_LONGITUDE_HEADER=R.ZP_IP_COUNTRY_HEADER=R.ZP_IP_CONTINENT_HEADER=R.ZP_IP_CITY_HEADER=R.CF_IP_LATITUDE_HEADER=R.CF_IP_LONGITUDE_HEADER=R.CF_IP_COUNTRY_HEADER=R.CF_IP_CONTINENT_HEADER=R.CF_IP_CITY_HEADER=R.RAY_ID_HEADER=R.BODY_REMOVED_HEADER=R.REQUEST_ID_HEADER=R.LEGACY_REQUEST_ID_HEADER=void 0;R.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";R.REQUEST_ID_HEADER="zp-rid";R.BODY_REMOVED_HEADER="zp-body-removed";R.RAY_ID_HEADER="cf-ray";R.CF_IP_CITY_HEADER="cf-ipcity";R.CF_IP_CONTINENT_HEADER="cf-ipcontinent";R.CF_IP_COUNTRY_HEADER="cf-ipcountry";R.CF_IP_LONGITUDE_HEADER="cf-iplongitude";R.CF_IP_LATITUDE_HEADER="cf-iplatitude";R.ZP_IP_CITY_HEADER="zp-ipcity";R.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";R.ZP_IP_COUNTRY_HEADER="zp-ipcountry";R.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";R.ZP_IP_LATITUDE_HEADER="zp-iplatitude";R.TRUE_CLIENT_IP="true-client-ip";R.ZP_ASN_HEADER="zp-asn";R.ZP_AS_ORG_HEADER="zp-asorg";R.ZP_COLO_HEADER="zp-colo";R.ZP_POSTAL_CODE_HEADER="zp-postalcode";R.ZP_METRO_CODE_HEADER="zp-metrocode";R.ZP_REGION_HEADER="zp-region";R.ZP_REGION_CODE_HEADER="zp-regioncode";R.ZP_TIMEZONE_HEADER="zp-timezone";R.DISPATCH_HEADERS_TO_REMOVE=[R.CF_IP_CITY_HEADER,R.CF_IP_CONTINENT_HEADER,R.CF_IP_COUNTRY_HEADER,R.CF_IP_LONGITUDE_HEADER,R.CF_IP_LATITUDE_HEADER,R.ZP_ASN_HEADER,R.ZP_AS_ORG_HEADER,R.ZP_COLO_HEADER,R.ZP_POSTAL_CODE_HEADER,R.ZP_METRO_CODE_HEADER,R.ZP_REGION_HEADER,R.ZP_REGION_CODE_HEADER,R.ZP_TIMEZONE_HEADER];R.INTERNAL_HEADERS_TO_REMOVE=["x-b3-sampled","x-b3-spanid","x-b3-traceid","x-envoy-attempt-count","x-envoy-decorator-operation","x-envoy-external-address","x-envoy-peer-metadata","x-envoy-peer-metadata-id","k-proxy-request","fly-client-ip","fly-forwarded-port","fly-forwarded-proto","fly-forwarded-ssl","fly-region","fly-request-id","fly-traceparent","fly-tracestate"]});var ih=g(w=>{"use strict";Object.defineProperty(w,"__esModule",{value:!0});w.generateColor=w.colorFunctions=w.stripColor=w.bgRgb24=w.rgb24=w.bgRgb8=w.rgb8=w.bgBrightWhite=w.bgBrightCyan=w.bgBrightMagenta=w.bgBrightBlue=w.bgBrightYellow=w.bgBrightGreen=w.bgBrightRed=w.bgBrightBlack=w.bgWhite=w.bgCyan=w.bgMagenta=w.bgBlue=w.bgYellow=w.bgGreen=w.bgRed=w.bgBlack=w.brightWhite=w.brightCyan=w.brightMagenta=w.brightBlue=w.brightYellow=w.brightGreen=w.brightRed=w.brightBlack=w.gray=w.white=w.cyan=w.magenta=w.blue=w.yellow=w.green=w.red=w.black=w.strikethrough=w.hidden=w.inverse=w.underline=w.italic=w.dim=w.bold=w.reset=w.getColorEnabled=w.setColorEnabled=void 0;var Qp=!0,Zc=!Qp;function Bb(e){Qp||(Zc=e)}o(Bb,"setColorEnabled");w.setColorEnabled=Bb;function Kb(){return Zc}o(Kb,"getColorEnabled");w.getColorEnabled=Kb;function H(e,t){return{open:`\x1B[${e.join(";")}m`,close:`\x1B[${t}m`,regexp:new RegExp(`\\x1b\\[${t}m`,"g")}}o(H,"code");function q(e,t){return Zc?`${t.open}${e.replace(t.regexp,t.open)}${t.close}`:e}o(q,"run");function Jb(e){return q(e,H([0],0))}o(Jb,"reset");w.reset=Jb;function zb(e){return q(e,H([1],22))}o(zb,"bold");w.bold=zb;function Wb(e){return q(e,H([2],22))}o(Wb,"dim");w.dim=Wb;function Qb(e){return q(e,H([3],23))}o(Qb,"italic");w.italic=Qb;function Yb(e){return q(e,H([4],24))}o(Yb,"underline");w.underline=Yb;function Zb(e){return q(e,H([7],27))}o(Zb,"inverse");w.inverse=Zb;function Xb(e){return q(e,H([8],28))}o(Xb,"hidden");w.hidden=Xb;function eE(e){return q(e,H([9],29))}o(eE,"strikethrough");w.strikethrough=eE;function tE(e){return q(e,H([30],39))}o(tE,"black");w.black=tE;function Yp(e){return q(e,H([31],39))}o(Yp,"red");w.red=Yp;function Zp(e){return q(e,H([32],39))}o(Zp,"green");w.green=Zp;function Xp(e){return q(e,H([33],39))}o(Xp,"yellow");w.yellow=Xp;function eh(e){return q(e,H([34],39))}o(eh,"blue");w.blue=eh;function th(e){return q(e,H([35],39))}o(th,"magenta");w.magenta=th;function rh(e){return q(e,H([36],39))}o(rh,"cyan");w.cyan=rh;function rE(e){return q(e,H([37],39))}o(rE,"white");w.white=rE;function nE(e){return nh(e)}o(nE,"gray");w.gray=nE;function nh(e){return q(e,H([90],39))}o(nh,"brightBlack");w.brightBlack=nh;function iE(e){return q(e,H([91],39))}o(iE,"brightRed");w.brightRed=iE;function oE(e){return q(e,H([92],39))}o(oE,"brightGreen");w.brightGreen=oE;function sE(e){return q(e,H([93],39))}o(sE,"brightYellow");w.brightYellow=sE;function aE(e){return q(e,H([94],39))}o(aE,"brightBlue");w.brightBlue=aE;function cE(e){return q(e,H([95],39))}o(cE,"brightMagenta");w.brightMagenta=cE;function uE(e){return q(e,H([96],39))}o(uE,"brightCyan");w.brightCyan=uE;function lE(e){return q(e,H([97],39))}o(lE,"brightWhite");w.brightWhite=lE;function dE(e){return q(e,H([40],49))}o(dE,"bgBlack");w.bgBlack=dE;function pE(e){return q(e,H([41],49))}o(pE,"bgRed");w.bgRed=pE;function hE(e){return q(e,H([42],49))}o(hE,"bgGreen");w.bgGreen=hE;function fE(e){return q(e,H([43],49))}o(fE,"bgYellow");w.bgYellow=fE;function mE(e){return q(e,H([44],49))}o(mE,"bgBlue");w.bgBlue=mE;function yE(e){return q(e,H([45],49))}o(yE,"bgMagenta");w.bgMagenta=yE;function gE(e){return q(e,H([46],49))}o(gE,"bgCyan");w.bgCyan=gE;function _E(e){return q(e,H([47],49))}o(_E,"bgWhite");w.bgWhite=_E;function bE(e){return q(e,H([100],49))}o(bE,"bgBrightBlack");w.bgBrightBlack=bE;function EE(e){return q(e,H([101],49))}o(EE,"bgBrightRed");w.bgBrightRed=EE;function wE(e){return q(e,H([102],49))}o(wE,"bgBrightGreen");w.bgBrightGreen=wE;function vE(e){return q(e,H([103],49))}o(vE,"bgBrightYellow");w.bgBrightYellow=vE;function TE(e){return q(e,H([104],49))}o(TE,"bgBrightBlue");w.bgBrightBlue=TE;function SE(e){return q(e,H([105],49))}o(SE,"bgBrightMagenta");w.bgBrightMagenta=SE;function IE(e){return q(e,H([106],49))}o(IE,"bgBrightCyan");w.bgBrightCyan=IE;function AE(e){return q(e,H([107],49))}o(AE,"bgBrightWhite");w.bgBrightWhite=AE;function Vt(e,t=255,r=0){return Math.trunc(Math.max(Math.min(e,t),r))}o(Vt,"clampAndTruncate");function PE(e,t){return q(e,H([38,5,Vt(t)],39))}o(PE,"rgb8");w.rgb8=PE;function RE(e,t){return q(e,H([48,5,Vt(t)],49))}o(RE,"bgRgb8");w.bgRgb8=RE;function OE(e,t){return typeof t=="number"?q(e,H([38,2,t>>16&255,t>>8&255,t&255],39)):q(e,H([38,2,Vt(t.r),Vt(t.g),Vt(t.b)],39))}o(OE,"rgb24");w.rgb24=OE;function xE(e,t){return typeof t=="number"?q(e,H([48,2,t>>16&255,t>>8&255,t&255],49)):q(e,H([48,2,Vt(t.r),Vt(t.g),Vt(t.b)],49))}o(xE,"bgRgb24");w.bgRgb24=xE;var NE=new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|"),"g");function CE(e){return e.replace(NE,"")}o(CE,"stripColor");w.stripColor=CE;w.colorFunctions=[Yp,Zp,Xp,eh,th,rh];function LE(e){let t=0,r=e.length,n=0;if(r>0)for(;n<r;)t=(t<<5)-t+e.charCodeAt(n++)|0;return t}o(LE,"hashCode");function DE(e){let t=Math.abs(LE(e));return w.colorFunctions[t%w.colorFunctions.length]}o(DE,"generateColor");w.generateColor=DE});var oh=g(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.format=void 0;function UE(e,t,...r){let n=0,i=r.length,s=String(t).replace(/%[sdjoO%]/g,a=>{if(a==="%%")return"%";if(n>=i)return a;switch(a){case"%s":return String(r[n++]);case"%d":return Number(r[n++]).toString();case"%o":return e(r[n++]).split(`
26
+ `).map(c=>c.trim()).join(" ");case"%O":return e(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch{return"[Circular]"}default:return a}});for(let a of r.splice(n))a===null||!(typeof a=="object"&&a!==null)?s+=" "+a:s+=" "+e(a);return s}o(UE,"format");Zi.format=UE});var dh=g(eo=>{"use strict";Object.defineProperty(eo,"__esModule",{value:!0});eo.inspect=void 0;function wr(e,t,r,n){let i={seen:[],stylize:ME,showHidden:t??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=FE),Xi(i,e,i.depth)}o(wr,"inspect");eo.inspect=wr;wr.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};wr.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function ME(e,t){return e}o(ME,"stylizeNoColor");function kE(e){return typeof e=="boolean"}o(kE,"isBoolean");function ah(e){return e===void 0}o(ah,"isUndefined");function FE(e,t){let r=wr.styles[t];return r?"\x1B["+wr.colors[r][0]+"m"+e+"\x1B["+wr.colors[r][1]+"m":e}o(FE,"stylizeWithColor");function Xc(e){return typeof e=="function"}o(Xc,"isFunction");function ch(e){return typeof e=="string"}o(ch,"isString");function HE(e){return typeof e=="number"}o(HE,"isNumber");function uh(e){return e===null}o(uh,"isNull");function lh(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o(lh,"hasOwn");function eu(e){return iu(e)&&ou(e)==="[object RegExp]"}o(eu,"isRegExp");function iu(e){return typeof e=="object"&&e!==null}o(iu,"isObject");function tu(e){return iu(e)&&(ou(e)==="[object Error]"||e instanceof Error)}o(tu,"isError");function sh(e){return iu(e)&&ou(e)==="[object Date]"}o(sh,"isDate");function ou(e){return Object.prototype.toString.call(e)}o(ou,"objectToString");function qE(e){let t={};return e.forEach(function(r,n){t[r]=!0}),t}o(qE,"arrayToHash");function $E(e,t,r,n,i){let s=[];for(let a=0,c=t.length;a<c;++a)lh(t,String(a))?s.push(nu(e,t,r,n,String(a),!0)):s.push("");return i.forEach(function(a){a.match(/^\d+$/)||s.push(nu(e,t,r,n,a,!0))}),s}o($E,"formatArray");function ru(e){return"["+Error.prototype.toString.call(e)+"]"}o(ru,"formatError");function Xi(e,t,r){if(e.customInspect&&t&&Xc(t.inspect)&&t.inspect!==wr&&!(t.constructor&&t.constructor.prototype===t)){let d=t.inspect(r,e);return ch(d)||(d=Xi(e,d,r)),d}let n=jE(e,t);if(n)return n;let i=Object.keys(t),s=qE(i);try{e.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(t))}catch{}if(tu(t)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return ru(t);if(i.length===0){if(Xc(t)){let d=t.name?": "+t.name:"";return e.stylize("[Function"+d+"]","special")}if(eu(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(sh(t))return e.stylize(Date.prototype.toString.call(t),"date");if(tu(t))return ru(t)}let a="",c=!1,u=["{","}"];if(Array.isArray(t)&&(c=!0,u=["[","]"]),Xc(t)&&(a=" [Function"+(t.name?": "+t.name:"")+"]"),eu(t)&&(a=" "+RegExp.prototype.toString.call(t)),sh(t)&&(a=" "+Date.prototype.toUTCString.call(t)),tu(t)&&(a=" "+ru(t)),i.length===0&&(!c||t.length==0))return u[0]+a+u[1];if(r<0)return eu(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);let l;return c?l=$E(e,t,r,s,i):l=i.map(function(d){return nu(e,t,r,s,d,c)}),e.seen.pop(),VE(l,a,u)}o(Xi,"formatValue");function nu(e,t,r,n,i,s){let a,c,u;u={value:void 0};try{u.value=t[i]}catch{}try{Object.getOwnPropertyDescriptor&&(u=Object.getOwnPropertyDescriptor(t,i)||u)}catch{}if(u.get?u.set?c=e.stylize("[Getter/Setter]","special"):c=e.stylize("[Getter]","special"):u.set&&(c=e.stylize("[Setter]","special")),lh(n,i)||(a="["+i+"]"),c||(e.seen.indexOf(u.value)<0?(uh(r)?c=Xi(e,u.value,null):c=Xi(e,u.value,r-1),c.indexOf(`
27
27
  `)>-1&&(s?c=c.split(`
28
28
  `).map(function(l){return" "+l}).join(`
29
29
  `).substr(2):c=`
30
30
  `+c.split(`
31
31
  `).map(function(l){return" "+l}).join(`
32
- `))):c=e.stylize("[Circular]","special")),sh(a)){if(s&&i.match(/^\d+$/))return c;a=JSON.stringify(""+i),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+c}o(ru,"formatProperty");function qE(e,t){if(sh(t))return e.stylize("undefined","undefined");if(ah(t)){let r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(kE(t))return e.stylize(""+t,"number");if(UE(t))return e.stylize(""+t,"boolean");if(ch(t))return e.stylize("null","null")}o(qE,"formatPrimitive");function $E(e,t,r){let n=0;return e.reduce(function(s,a){return n++,a.indexOf(`
32
+ `))):c=e.stylize("[Circular]","special")),ah(a)){if(s&&i.match(/^\d+$/))return c;a=JSON.stringify(""+i),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+c}o(nu,"formatProperty");function jE(e,t){if(ah(t))return e.stylize("undefined","undefined");if(ch(t)){let r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(HE(t))return e.stylize(""+t,"number");if(kE(t))return e.stylize(""+t,"boolean");if(uh(t))return e.stylize("null","null")}o(jE,"formatPrimitive");function VE(e,t,r){let n=0;return e.reduce(function(s,a){return n++,a.indexOf(`
33
33
  `)>=0&&n++,s+a.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?r[0]+(t===""?"":t+`
34
34
  `)+" "+e.join(`,
35
- `)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}o($E,"reduceToSingleString")});var dh=g(to=>{"use strict";Object.defineProperty(to,"__esModule",{value:!0});to.format=void 0;var jE=ih(),VE=lh(),GE=o((e,...t)=>(0,jE.format)(VE.inspect,e,t),"format");to.format=GE});var vr=g(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.debug=Vt.withoutEnv=Vt.Debugger=void 0;var BE=nh(),KE=dh(),ro=class{static{o(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,BE.generateColor)(r),this.last=0,this.enabled=t.enabled.some(n=>n.test(r))}log(...t){if(!this.enabled)return;let r,n=t[0];typeof n=="function"?r=n():r=String(n);let i=Date.now()-(this.last||Date.now());r=(0,KE.format)(r,...t);let s=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(s),this.last=Date.now()}};Vt.Debugger=ro;var no=class{static{o(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function ph(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}o(ph,"extract");var Wn;function JE(e){e||(e=[]),typeof e=="string"&&(e=ph(e)),Wn=new no(e)}o(JE,"withoutEnv");Vt.withoutEnv=JE;function zE(e){let t=globalThis.DEBUG;Wn||(Wn=new no(ph(t)));let r=new ro(Wn,e);return Wn.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}o(zE,"debug");Vt.debug=zE});var oo=g($r=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});$r.ProblemResponseFormatter=$r.InternalProblemResponseFormatter=void 0;var WE=L(),io=class e{static{o(this,"InternalProblemResponseFormatter")}static problemResponseFormat=async t=>{let r=t.problem,n=JSON.stringify(r,null,2);return new Response(n,{status:t.problem.status,statusText:t.statusText,headers:{...t.additionalHeaders,"content-type":"application/problem+json"}})};static setProblemResponseFormat(t){t&&(e.problemResponseFormat=(r,n,i)=>{try{return t(r,n,i)}catch(s){throw new WE.RuntimeError("Error in custom 'problemResponseFormat'",{cause:s})}})}};$r.InternalProblemResponseFormatter=io;var ou=class{static{o(this,"ProblemResponseFormatter")}static async format(t,r,n){return await io.problemResponseFormat(t,r,n)}};$r.ProblemResponseFormatter=ou});var Ot=g(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.initializeRuntime=me.invokeOnResponseSendingFinalExtensions=me.invokeOnResponseSendingExtensions=me.invokeOnRequestExtensions=me.plugins=me.runtimeExtensions=me.InitializableRuntimePlugin=me.RuntimePlugin=void 0;var QE=oo(),ao=class{static{o(this,"RuntimePlugin")}};me.RuntimePlugin=ao;var co=class extends ao{static{o(this,"InitializableRuntimePlugin")}};me.InitializableRuntimePlugin=co;me.runtimeExtensions={};var su=[];me.plugins=su;var hh=[],fh=[],mh=[],so={addPlugin(e){su.push(e)},addRequestHook(e){hh.push(e)},addResponseSendingHook(e){fh.push(e)},addResponseSendingFinalHook(e){mh.push(e)}},YE=o(async(e,t)=>{let r=e;for(let n of hh)if(r=await n(r,t),r instanceof Response)return r;return r},"invokeOnRequestExtensions");me.invokeOnRequestExtensions=YE;var ZE=o(async(e,t,r)=>{let n=e;for(let i of fh)n=await i(e,t,r);return n},"invokeOnResponseSendingExtensions");me.invokeOnResponseSendingExtensions=ZE;var XE=o(async(e,t,r)=>{for(let n of mh)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");me.invokeOnResponseSendingFinalExtensions=XE;async function ew(e=()=>Promise.resolve()){await e(so),me.runtimeExtensions.value=so;let t=su.filter(r=>r instanceof co);for(let r of t)await r.initialize(so);QE.InternalProblemResponseFormatter.setProblemResponseFormat(so.problemResponseFormat)}o(ew,"initializeRuntime");me.initializeRuntime=ew});var au=g(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.serialize=Gt.ContentTypes=void 0;Gt.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function tw(e,t){if(e!==null)return t&&typeof e=="string"?e:typeof e=="object"&&t?.startsWith(Gt.ContentTypes.Form)?new URLSearchParams(e).toString():typeof e=="object"&&t?.startsWith(Gt.ContentTypes.Json)||!t?JSON.stringify(e):e}o(tw,"serialize");Gt.serialize=tw});var Bt=g(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.Pipeline=void 0;var cu=Tr(),yh=Ot(),rw=au(),uu=class{static{o(this,"Pipeline")}constructor(t,r,n){this.execute=this.#t(t,r,n)}execute;#e=(t,r)=>async(n,i)=>{try{return await t(n,i)}catch(s){return i.log.error("Error executing request handler.",s),r.errorHandler(n,i,s)}};#t=(t,r,n)=>async(i,s)=>{let a=[...t],c=o(async m=>{let v=a.pop();return v?v(i,s,n,c):await this.#e(async S=>{let k=await r(S,s);return nw(k)},n)(m,s)},"nextPipe"),l=await c(i),d=new cu.ResponseSendingEvent(i,l);s.dispatchEvent(d);let p=cu.ZuploContextExtensions.getContextExtensions(s),y=p.latestRequest,h;try{h=await d.mutableResponse}catch(m){return s.log.error(m),n.errorHandler(i,s,m)}try{h=await p.onResponseSending(h,y,s)}catch(m){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${m.message}'`,m),n.errorHandler(i,s,m)}try{h=await(0,yh.invokeOnResponseSendingExtensions)(h,y,s)}catch(m){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${m.message}'`,m),n.errorHandler(i,s,m)}s.dispatchEvent(new cu.ResponseSentEvent(i,h));try{await p.onResponseSendingFinal(l,y,s)}catch(m){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${m.message}'`,m),m}try{await(0,yh.invokeOnResponseSendingFinalExtensions)(l,y,s)}catch(m){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${m.message}'`,m),m}return h}};uo.Pipeline=uu;function nw(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,rw.serialize)(e),{headers:{"content-type":"application/json"}})}o(nw,"resultToResponse")});var po=g(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});lo.MetricsPlugin=void 0;var iw=Ot(),lu=class extends iw.RuntimePlugin{static{o(this,"MetricsPlugin")}};lo.MetricsPlugin=lu});var Ge=g(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.SystemLogMap=void 0;var ow=L(),du=class e{static{o(this,"SystemLogMap")}static#e=new WeakMap;static getLogger(t){let r=e.#e.get(t);if(!r){let n=`No system logger found for context with requestId '${t.requestId}'`;throw console.error(n),new ow.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};ho.SystemLogMap=du});var ve=g(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.BatchDispatch=void 0;var pu=class{static{o(this,"BatchDispatch")}constructor(t,r,n,i){this.#t=t,this.#o=r,this.#n=n,this.#r=i}#e=void 0;#t;#r;#n;#i=[];#o;enqueue=t=>{this.#i.push(t),this.#e||(this.#e=new Promise(r=>{setTimeout(()=>{if(this.#i.length>0){let n=[...this.#i];this.#i.length=0,this.#e=void 0,this.#n(n).catch(i=>{this.#r&&this.#r.error(`Uncaught error in BatchDispatcher named '${this.#t}'}`,i.message,i.stack)}).finally(()=>{r()})}},this.#o)}))};waitUntilFlushed=async()=>{if(this.#e)return this.#e}};fo.BatchDispatch=pu});var _h=g(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.EllieMetricsTransport=void 0;var gh=Ge(),sw=ve(),mo=ee(),hu=class{static{o(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=mo.Environment.instance.loggingId,this.#e=t,this.#t=new sw.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,gh.SystemLogMap.getLogger(t))}pushMetrics(t,r){this.#r!==void 0&&(this.#t.enqueue(t),r.waitUntil(this.#t.waitUntilFlushed()))}dispatchFunction=async t=>{if(t.length===0)return;let r,{loggingId:n,remoteLogURL:i,deploymentName:s}=mo.Environment.instance,a=t.map(c=>{let u=Object.assign({},c);return delete u.requestContentLength,delete u.responseContentLength,u});if(n&&s&&(r=`${i}/v1-alpha/metrics?loggingId=${encodeURI(n)}&deploymentName=${encodeURI(s)}`),r){let c=await fetch(r,{method:"POST",body:JSON.stringify(a),headers:{"content-type":"application/json","zp-dn":mo.Environment.instance.deploymentName??"unknown","user-agent":mo.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();gh.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};yo.EllieMetricsTransport=hu});var ft=g(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.systemNoVersion=Sr.SystemRouteConfiguration=void 0;var fu=class{static{o(this,"SystemRouteConfiguration")}constructor({label:t,path:r,methods:n,systemRouteName:i,corsPolicy:s="none"}){this.label=t,this.path=r,this.methods=n,this.corsPolicy=s,this.version=Sr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Sr.SystemRouteConfiguration=fu;Sr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Ir=g(go=>{"use strict";Object.defineProperty(go,"__esModule",{value:!0});go.metricsProcessor=void 0;var bh=zn(),aw=Tr(),cw=Ot(),uw=po(),lw=_h(),dw=ft(),pw=o(async(e,t,r,n)=>{let i=new Date,s=Date.now(),a=await n(e),c=e.headers.get(bh.RAY_ID_HEADER)??void 0,u=e.headers.get(bh.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof dw.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=aw.ZuploContextExtensions.getContextExtensions(t).latestRequest,y={timestamp:i,statusCode:a.status,durationMs:Date.now()-s,requestContentLength:e.headers.get("content-length")?Number(e.headers.get("content-length")):void 0,responseContentLength:a.headers.get("content-length")?Number(a.headers.get("content-length")):void 0,routePath:t.route?.path??"SYSTEM_OR_NOT_FOUND",systemRouteName:d,requestId:t.requestId,method:e.method,asn:l.asn,asOrganization:l.asOrganization,colo:l.colo,continent:l.continent,country:l.country,city:l.city,latitude:l.latitude,longitude:l.longitude,rayId:c,instanceId:r.instanceId,userSub:p.user?.sub,clientIp:u},h=[];return h.push(new lw.EllieMetricsTransport(t)),cw.plugins.forEach(m=>{if(m instanceof uw.MetricsPlugin){let v=m.getTransport();h.push(v)}}),h.forEach(m=>{m.pushMetrics(y,t)}),a},"metricsProcessor");go.metricsProcessor=pw});var wh=g(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.SystemRouteName=void 0;var Eh;(function(e){e.Build="build-data",e.CorsPreflight="cors-preflight",e.DeveloperPortal="developer-portal",e.DeveloperPortalLegacy="developer-portal-legacy",e.EmptyGatewayCatchall="empty-gateway-catchall",e.Ping="ping",e.UnmatchedPath="unmatched-path"})(Eh||(_o.SystemRouteName=Eh={}))});var Th=g(vh=>{"use strict";Object.defineProperty(vh,"__esModule",{value:!0})});var Ar=g(Kt=>{"use strict";var hw=Kt&&Kt.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Sh=Kt&&Kt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&hw(t,e,r)};Object.defineProperty(Kt,"__esModule",{value:!0});Sh(wh(),Kt);Sh(Th(),Kt)});var Ih=g(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.registerBuildRoute=void 0;var fw=xt(),mw=Bt(),yw=Ir(),gw=Ar(),_w=ft(),bw=Ge(),Ew=ee(),ww=o((e,t)=>{let r=o(async(s,a)=>{let u=new URL(s.url).hostname.toLowerCase();if(!u.endsWith(".zuplo.app")&&!u.endsWith(".zuplo.dev")&&!u.endsWith(".fly.dev")&&!u.endsWith("zuplotest.com")&&u!=="localhost")return fw.HttpProblems.notFound(s,a);let l=Ew.Environment.instance.build,d={buildId:l.BUILD_ID,zuploVersion:l.ZUPLO_VERSION,apiVersion:l.API_VERSION,gitSha:l.GIT_SHA,timestamp:l.TIMESTAMP,isProduction:l.IS_PRODUCTION},p=s.url.toString().split("?");return p.length>0&&new URLSearchParams(p[1]).get("system_log")==="true"&&bw.SystemLogMap.getLogger(a).error("Test System Log",d),new Response(JSON.stringify(d,null,2),{status:200,headers:{"content-type":"application/json"}})},"buildRouteHandler"),n=new mw.Pipeline([yw.metricsProcessor],r,t),i=new _w.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:gw.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");bo.registerBuildRoute=ww});var mu=g(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.HTTP_STATUS_TITLES=jr.HttpStatusCode=void 0;var Ah;(function(e){e[e.CONTINUE=100]="CONTINUE",e[e.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",e[e.PROCESSING=102]="PROCESSING",e[e.EARLY_HINTS=103]="EARLY_HINTS",e[e.OK=200]="OK",e[e.CREATED=201]="CREATED",e[e.ACCEPTED=202]="ACCEPTED",e[e.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",e[e.NO_CONTENT=204]="NO_CONTENT",e[e.RESET_CONTENT=205]="RESET_CONTENT",e[e.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",e[e.MULTI_STATUS=207]="MULTI_STATUS",e[e.ALREADY_REPORTED=208]="ALREADY_REPORTED",e[e.IM_USED=226]="IM_USED",e[e.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",e[e.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",e[e.FOUND=302]="FOUND",e[e.SEE_OTHER=303]="SEE_OTHER",e[e.NOT_MODIFIED=304]="NOT_MODIFIED",e[e.USE_PROXY=305]="USE_PROXY",e[e.SWITCH_PROXY=306]="SWITCH_PROXY",e[e.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",e[e.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",e[e.BAD_REQUEST=400]="BAD_REQUEST",e[e.UNAUTHORIZED=401]="UNAUTHORIZED",e[e.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",e[e.FORBIDDEN=403]="FORBIDDEN",e[e.NOT_FOUND=404]="NOT_FOUND",e[e.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",e[e.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",e[e.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",e[e.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",e[e.CONFLICT=409]="CONFLICT",e[e.GONE=410]="GONE",e[e.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",e[e.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",e[e.CONTENT_TOO_LARGE=413]="CONTENT_TOO_LARGE",e[e.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",e[e.URI_TOO_LONG=414]="URI_TOO_LONG",e[e.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",e[e.RANGE_NOT_SATISFIABLE=416]="RANGE_NOT_SATISFIABLE",e[e.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",e[e.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",e[e.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",e[e.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",e[e.UNPROCESSABLE_CONTENT=422]="UNPROCESSABLE_CONTENT",e[e.LOCKED=423]="LOCKED",e[e.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",e[e.TOO_EARLY=425]="TOO_EARLY",e[e.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",e[e.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",e[e.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",e[e.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",e[e.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",e[e.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",e[e.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",e[e.BAD_GATEWAY=502]="BAD_GATEWAY",e[e.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",e[e.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",e[e.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",e[e.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",e[e.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",e[e.LOOP_DETECTED=508]="LOOP_DETECTED",e[e.NOT_EXTENDED=510]="NOT_EXTENDED",e[e.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(Ah||(jr.HttpStatusCode=Ah={}));jr.HTTP_STATUS_TITLES={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Content Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"}});var gu=g(yu=>{"use strict";Object.defineProperty(yu,"__esModule",{value:!0});var vw={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};yu.default=vw});var ge=g(Vr=>{"use strict";var Tw=Vr&&Vr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Vr,"__esModule",{value:!0});Vr.HttpProblems=void 0;var Sw=zn(),O=mu(),Iw=Tw(gu()),Aw=ee(),_u=oo();function Pw(e){return`${new URL(e.url).pathname}`}o(Pw,"instance");function Rw(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:Aw.Environment.instance.build.BUILD_ID},n=e.headers.get(Sw.RAY_ID_HEADER);return n&&(r.rayId=n),r}o(Rw,"trace");var Ow=o((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:Pw(t),trace:Rw(t,r),...n},additionalHeaders:i,statusText:Iw.default[e.status]}),"merge"),bu=class{static{o(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?_u.ProblemResponseFormatter.format(t,r,n):_u.ProblemResponseFormatter.format({problem:t},r,n);static getProblemFromStatus(t,r){return{type:`https://httpproblems.com/http-status/${t}`,status:t,title:O.HTTP_STATUS_TITLES[t],...r}}},Eu=class extends bu{static{o(this,"HttpProblems")}static#e(t,r,n,i,s){let a=Ow(this.getProblemFromStatus(t),r,n,i,s);return _u.ProblemResponseFormatter.format(a,r,n)}static continue=(t,r,n,i)=>this.#e(O.HttpStatusCode.OK,t,r,n,i);static switchingProtocols=(t,r,n,i)=>this.#e(O.HttpStatusCode.SWITCHING_PROTOCOLS,t,r,n,i);static processing=(t,r,n,i)=>this.#e(O.HttpStatusCode.PROCESSING,t,r,n,i);static earlyHints=(t,r,n,i)=>this.#e(O.HttpStatusCode.EARLY_HINTS,t,r,n,i);static ok=(t,r,n,i)=>this.#e(O.HttpStatusCode.OK,t,r,n,i);static created=(t,r,n,i)=>this.#e(O.HttpStatusCode.CREATED,t,r,n,i);static accepted=(t,r,n,i)=>this.#e(O.HttpStatusCode.ACCEPTED,t,r,n,i);static nonAuthoritativeInformation=(t,r,n,i)=>this.#e(O.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,t,r,n,i);static noContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.NO_CONTENT,t,r,n,i);static resetContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.RESET_CONTENT,t,r,n,i);static partialContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.PARTIAL_CONTENT,t,r,n,i);static multiStatus=(t,r,n,i)=>this.#e(O.HttpStatusCode.MULTI_STATUS,t,r,n,i);static alreadyReported=(t,r,n,i)=>this.#e(O.HttpStatusCode.ALREADY_REPORTED,t,r,n,i);static imUsed=(t,r,n,i)=>this.#e(O.HttpStatusCode.IM_USED,t,r,n,i);static multipleChoices=(t,r,n,i)=>this.#e(O.HttpStatusCode.MULTIPLE_CHOICES,t,r,n,i);static movedPermanently=(t,r,n,i)=>this.#e(O.HttpStatusCode.MOVED_PERMANENTLY,t,r,n,i);static found=(t,r,n,i)=>this.#e(O.HttpStatusCode.FOUND,t,r,n,i);static seeOther=(t,r,n,i)=>this.#e(O.HttpStatusCode.SEE_OTHER,t,r,n,i);static notModified=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_MODIFIED,t,r,n,i);static useProxy=(t,r,n,i)=>this.#e(O.HttpStatusCode.USE_PROXY,t,r,n,i);static switchProxy=(t,r,n,i)=>this.#e(O.HttpStatusCode.SWITCH_PROXY,t,r,n,i);static temporaryRedirect=(t,r,n,i)=>this.#e(O.HttpStatusCode.TEMPORARY_REDIRECT,t,r,n,i);static permanentRedirect=(t,r,n,i)=>this.#e(O.HttpStatusCode.PERMANENT_REDIRECT,t,r,n,i);static badRequest=(t,r,n,i)=>this.#e(O.HttpStatusCode.BAD_REQUEST,t,r,n,i);static unauthorized=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNAUTHORIZED,t,r,n,i);static paymentRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PAYMENT_REQUIRED,t,r,n,i);static forbidden=(t,r,n,i)=>this.#e(O.HttpStatusCode.FORBIDDEN,t,r,n,i);static notFound=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_FOUND,t,r,n,i);static methodNotAllowed=(t,r,n,i)=>this.#e(O.HttpStatusCode.METHOD_NOT_ALLOWED,t,r,n,i);static notAcceptable=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_ACCEPTABLE,t,r,n,i);static proxyAuthenticationRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,t,r,n,i);static requestTimeout=(t,r,n,i)=>this.#e(O.HttpStatusCode.REQUEST_TIMEOUT,t,r,n,i);static conflict=(t,r,n,i)=>this.#e(O.HttpStatusCode.CONFLICT,t,r,n,i);static gone=(t,r,n,i)=>this.#e(O.HttpStatusCode.GONE,t,r,n,i);static lengthRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.LENGTH_REQUIRED,t,r,n,i);static preconditionFailed=(t,r,n,i)=>this.#e(O.HttpStatusCode.PRECONDITION_FAILED,t,r,n,i);static contentTooLarge=(t,r,n,i)=>this.#e(O.HttpStatusCode.CONTENT_TOO_LARGE,t,r,n,i);static uriTooLong=(t,r,n,i)=>this.#e(O.HttpStatusCode.URI_TOO_LONG,t,r,n,i);static unsupportedMediaType=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,t,r,n,i);static rangeNotSatisfiable=(t,r,n,i)=>this.#e(O.HttpStatusCode.RANGE_NOT_SATISFIABLE,t,r,n,i);static expectationFailed=(t,r,n,i)=>this.#e(O.HttpStatusCode.EXPECTATION_FAILED,t,r,n,i);static imATeapot=(t,r,n,i)=>this.#e(O.HttpStatusCode.I_AM_A_TEAPOT,t,r,n,i);static misdirectedRequest=(t,r,n,i)=>this.#e(O.HttpStatusCode.MISDIRECTED_REQUEST,t,r,n,i);static unprocessableContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNPROCESSABLE_CONTENT,t,r,n,i);static locked=(t,r,n,i)=>this.#e(O.HttpStatusCode.LOCKED,t,r,n,i);static failedDependency=(t,r,n,i)=>this.#e(O.HttpStatusCode.FAILED_DEPENDENCY,t,r,n,i);static tooEarly=(t,r,n,i)=>this.#e(O.HttpStatusCode.TOO_EARLY,t,r,n,i);static upgradeRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.UPGRADE_REQUIRED,t,r,n,i);static preconditionRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PRECONDITION_REQUIRED,t,r,n,i);static tooManyRequests=(t,r,n,i)=>this.#e(O.HttpStatusCode.TOO_MANY_REQUESTS,t,r,n,i);static requestHeaderFieldsTooLarge=(t,r,n,i)=>this.#e(O.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,t,r,n,i);static unavailableForLegalReasons=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,t,r,n,i);static internalServerError=(t,r,n,i)=>this.#e(O.HttpStatusCode.INTERNAL_SERVER_ERROR,t,r,n,i);static notImplemented=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_IMPLEMENTED,t,r,n,i);static badGateway=(t,r,n,i)=>this.#e(O.HttpStatusCode.BAD_GATEWAY,t,r,n,i);static serviceUnavailable=(t,r,n,i)=>this.#e(O.HttpStatusCode.SERVICE_UNAVAILABLE,t,r,n,i);static gatewayTimeout=(t,r,n,i)=>this.#e(O.HttpStatusCode.GATEWAY_TIMEOUT,t,r,n,i);static httpVersionNotSupported=(t,r,n,i)=>this.#e(O.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,t,r,n,i);static variantAlsoNegotiates=(t,r,n,i)=>this.#e(O.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,t,r,n,i);static insufficientStorage=(t,r,n,i)=>this.#e(O.HttpStatusCode.INSUFFICIENT_STORAGE,t,r,n,i);static loopDetected=(t,r,n,i)=>this.#e(O.HttpStatusCode.LOOP_DETECTED,t,r,n,i);static notExtended=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_EXTENDED,t,r,n,i);static networkAuthenticationRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,t,r,n,i)};Vr.HttpProblems=Eu});var Jt=g(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.isErrorLike=U.withUndefinedAsNull=U.withNullAsUndefined=U.validateConstraint=U.validateConstraints=U.areFunctions=U.isFunction=U.isEmptyObject=U.assertAllDefined=U.assertIsDefined=U.assertType=U.isUndefinedOrNull=U.isDefined=U.isUndefined=U.isBoolean=U.isIterable=U.isNumber=U.isTypedArray=U.isArray=U.isObject=U.getOwnEnumerableKeys=U.isRegexp=U.isStringArray=U.isNonEmptyString=U.isString=U.toString=void 0;var{toString:xw}=Object.prototype,{propertyIsEnumerable:Nw}=Object.prototype;function Ph(e){return xw.call(e)}o(Ph,"toString");U.toString=Ph;function Eo(e){return typeof e=="string"}o(Eo,"isString");U.isString=Eo;function Cw(e){return Eo(e)&&e!==""}o(Cw,"isNonEmptyString");U.isNonEmptyString=Cw;function Lw(e){return Array.isArray(e)&&e.every(t=>Eo(t))}o(Lw,"isStringArray");U.isStringArray=Lw;function Dw(e){return Ph(e)==="[object RegExp]"}o(Dw,"isRegexp");U.isRegexp=Dw;function Uw(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>Nw.call(e,t))]}o(Uw,"getOwnEnumerableKeys");U.getOwnEnumerableKeys=Uw;function wu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}o(wu,"isObject");U.isObject=wu;function Mw(e){return wu(e)&&Array.isArray(e)}o(Mw,"isArray");U.isArray=Mw;function kw(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}o(kw,"isTypedArray");U.isTypedArray=kw;function Fw(e){return typeof e=="number"&&!isNaN(e)}o(Fw,"isNumber");U.isNumber=Fw;function Hw(e){return!!e&&typeof e[Symbol.iterator]=="function"}o(Hw,"isIterable");U.isIterable=Hw;function qw(e){return e===!0||e===!1}o(qw,"isBoolean");U.isBoolean=qw;function Rh(e){return typeof e>"u"}o(Rh,"isUndefined");U.isUndefined=Rh;function $w(e){return!Qn(e)}o($w,"isDefined");U.isDefined=$w;function Qn(e){return Rh(e)||e===null}o(Qn,"isUndefinedOrNull");U.isUndefinedOrNull=Qn;function jw(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}o(jw,"assertType");U.assertType=jw;function Vw(e){if(Qn(e))throw new Error("Assertion Failed: argument is undefined or null");return e}o(Vw,"assertIsDefined");U.assertIsDefined=Vw;function Gw(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(Qn(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}o(Gw,"assertAllDefined");U.assertAllDefined=Gw;var Bw=Object.prototype.hasOwnProperty;function Kw(e){if(!wu(e))return!1;for(let t in e)if(Bw.call(e,t))return!1;return!0}o(Kw,"isEmptyObject");U.isEmptyObject=Kw;function vu(e){return typeof e=="function"}o(vu,"isFunction");U.isFunction=vu;function Jw(...e){return e.length>0&&e.every(vu)}o(Jw,"areFunctions");U.areFunctions=Jw;function zw(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)Oh(e[n],t[n])}o(zw,"validateConstraints");U.validateConstraints=zw;function Oh(e,t){if(Eo(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(vu(t)){try{if(e instanceof t)return}catch{}if(!Qn(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}o(Oh,"validateConstraint");U.validateConstraint=Oh;function Ww(e){return e===null?void 0:e}o(Ww,"withNullAsUndefined");U.withNullAsUndefined=Ww;function Qw(e){return typeof e>"u"?null:e}o(Qw,"withUndefinedAsNull");U.withUndefinedAsNull=Qw;function Yw(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}o(Yw,"isErrorLike");U.isErrorLike=Yw});var Yn=g(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.parseValueToBoolean=mt.parseValueToStringArray=mt.getValueFromRequestUser=mt.statusCodesStringToNumberArray=void 0;var Gr=L(),Tu=Jt(),xh=new Map;function Zw(e){if(typeof e!="string")throw new Error("Input must be a string");if(!/^\d+(?:-\d+)?(?:,\s*\d+(?:-\d+)?)*$/.test(e))throw new Error("Malformed input string");let t=xh.get(e);if(t)return t;let r=e.split(","),n=[];for(let i of r){let s=i.split("-");if(s.length===2){let a=parseInt(s[0],10),c=parseInt(s[1],10);for(let u=a;u<=c;u++)n.push(u)}else n.push(parseInt(i,10))}return xh.set(e,n),n}o(Zw,"statusCodesStringToNumberArray");mt.statusCodesStringToNumberArray=Zw;function Xw(e,t,r){if(!t.startsWith("."))throw new Gr.ConfigurationError(`Invalid ${r} - must start with '.' - '${t}' does not`);let n=t.split(".").splice(1),i=e;return n.forEach(s=>{if(i===void 0)throw new Gr.RuntimeError(`Error applying ${r} '${t}', reading '${s}'`);i=i[s]}),`${i}`}o(Xw,"getValueFromRequestUser");mt.getValueFromRequestUser=Xw;function ev(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new Gr.ConfigurationError("Received an array that contains non-string values.");return e}if((0,Tu.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new Gr.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}o(ev,"parseValueToStringArray");mt.parseValueToStringArray=ev;function tv(e){if((0,Tu.isBoolean)(e))return e;if((0,Tu.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new Gr.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new Gr.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}o(tv,"parseValueToBoolean");mt.parseValueToBoolean=tv});var vo=g(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.generateCorsHeaders=zt.findMatchingOrigin=zt.parseCorsPolicies=void 0;var Pr=L(),Nh=Yn(),wo=Jt();function rv(e){if(e==null)return[];if(!Array.isArray(e))throw new Pr.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,wo.isObject)(r))throw new Pr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,wo.isNonEmptyString)(r.name))throw new Pr.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,wo.isNumber)(r.maxAge))throw new Pr.ConfigurationError(`Value of 'maxAge' on custom cors policies must be a non-empty string. Received type '${typeof r.maxAge}'`);if(r.allowCredentials!==void 0&&!(0,wo.isBoolean)(r.allowCredentials))throw new Pr.ConfigurationError("Value of 'allowCredentials' on custom cors policies must be a boolean or not be set. If using an environment variable, check that it is set correctly.");let n=Su(r,"allowedHeaders"),i=Su(r,"allowedMethods"),s=Su(r,"exposeHeaders"),a;try{a=(0,Nh.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Pr.ConfigurationError(`Value of 'allowedOrigins' on custom cors policies is invalid. ${u.message} If using an environment variable, check that it is set correctly.`)}return{name:r.name,allowCredentials:typeof r.allowCredentials=="boolean"?String(r.allowCredentials):void 0,allowedOrigins:a,allowedHeaders:n?n.join(", "):void 0,allowedMethods:i?i.join(", "):void 0,exposeHeaders:s?s.join(", "):void 0,maxAge:typeof r.maxAge=="number"?r.maxAge.toString():void 0}})}o(rv,"parseCorsPolicies");zt.parseCorsPolicies=rv;function Su(e,t){let r;if(e[t]!==void 0)try{r=(0,Nh.parseValueToStringArray)(e[t])}catch(n){throw new Pr.ConfigurationError(`Value of '${t}' on custom cors policies is invalid. ${n.message} If using an environment variable, check that it is set correctly.`)}return r}o(Su,"parseOptionalProperty");var nv=o((e,t)=>{if(t===null)return;if(e.find(a=>a==="*"))return t;let n=e.map(a=>a.trim().toLowerCase()),i=t.toLowerCase();return n.find(a=>a===i)},"findMatchingOrigin");zt.findMatchingOrigin=nv;var iv=o((e,t)=>{let r={"access-control-allow-origin":t};e.allowedHeaders&&(r["access-control-allow-headers"]=e.allowedHeaders),e.allowedMethods&&(r["access-control-allow-methods"]=e.allowedMethods),e.exposeHeaders&&(r["access-control-expose-headers"]=e.exposeHeaders);let n=e.allowCredentials;n&&(r["access-control-allow-credentials"]=n);let i=e.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");zt.generateCorsHeaders=iv});var Lh=g(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.registerCorsRoute=void 0;var ov=L(),sv=Bt(),Iu=ge(),av=Ir(),cv=Ar(),uv=ft(),Ch=vo(),lv=o((e,t)=>{let r=t.routeData.corsPolicies,n=o(async(a,c)=>{let u=new URL(a.url.toString()).pathname,l=a.headers.get("access-control-request-method"),d=a.headers.get("access-control-request-headers"),p=a.headers.get("origin");if(p===null||l===null)return Iu.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let y=e.lookup(l,u);if(!y)return Iu.HttpProblems.notFound(a,c);let h=y.routeConfiguration,m=dv(l,d,p,h,r);return m.isValid?new Response(void 0,{status:200,statusText:"OK",headers:m.headers}):(m.error&&c.log.warn(m.error),Iu.HttpProblems.notFound(a,c))},"optionsHandler"),i=new sv.Pipeline([av.metricsProcessor],n,t),s=new uv.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:cv.SystemRouteName.CorsPreflight});e.addRoute(s,i.execute)},"registerCorsRoute");To.registerCorsRoute=lv;var dv=o((e,t,r,n,i)=>{let s={isValid:!1,headers:{}};if(n.corsPolicy==="anything-goes")return{isValid:!0,headers:{"access-control-allow-origin":r,"access-control-allow-methods":e,"access-control-allow-headers":t??"*","access-control-expose-headers":"*","access-control-allow-credentials":"true","access-control-max-age":"600"}};if(n.corsPolicy==="none")return{...s,error:`No CORS policy set for the route '${n.pathPattern}'`};let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new ov.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,Ch.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,Ch.generateCorsHeaders)(a,c)}:{...s,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var Dh=g(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.registerNoRoutes=void 0;var pv=Bt(),hv=Ir(),fv=Ar(),mv=ft(),yv=o((e,t)=>{let r=o(async()=>new Response("You have no routes. Add a route in routes.oas.json to get started",{status:200}),"noRoutesHandler"),n=new pv.Pipeline([hv.metricsProcessor],r,t),i=new mv.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:fv.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");So.registerNoRoutes=yv});var Uh=g(Rr=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});Rr.registerNotMatchedHandler=Rr.notFoundRouteConfiguration=void 0;var gv=Tr(),_v=Ot(),bv=Bt(),Ev=ge(),wv=Ir(),vv=Ar(),Tv=ft();Rr.notFoundRouteConfiguration=new Tv.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:vv.SystemRouteName.UnmatchedPath});var Sv=o((e,t)=>{let r=o(async(i,s)=>{let a=_v.runtimeExtensions.value?.notFoundHandler;if(a){let c=gv.ZuploContextExtensions.getContextExtensions(s);return a(i,s,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return Ev.HttpProblems.notFound(i,s)},"notFoundHandler"),n=new bv.Pipeline([wv.metricsProcessor],r,t);e.addRoute(Rr.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Rr.registerNotMatchedHandler=Sv});var Au=g(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.corsProcessor=void 0;var Fh=L(),Mh=vo(),Iv=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],kh=o(e=>{Iv.forEach(t=>e.delete(t))},"stripCorsHeaders"),Av=o(async(e,t,r,n)=>{let i=t.route;if(!i.corsPolicy||i.corsPolicy==="none"){let d=await n(e),p=new Headers(d.headers);return kh(p),new Response(d.body,{status:d.status,statusText:d.statusText,headers:p,webSocket:d.webSocket})}let s=await n(e);if(!(s instanceof Response))throw new Fh.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof s}'`);let a=Pv(i,r.routeData.corsPolicies),c=Rv(e,a),u=new Headers(s.headers);return kh(u),Object.entries(c).forEach(([d,p])=>{u.set(d,p)}),new Response(s.body,{status:s.status,statusText:s.statusText,headers:u,webSocket:s.webSocket})},"corsProcessor");Io.corsProcessor=Av;var Pv=o((e,t)=>{if(e.corsPolicy==="anything-goes")return{name:"anything-goes",allowedHeaders:"*",allowedOrigins:["*"],allowedMethods:e.methods.join(", "),exposeHeaders:"*",allowCredentials:"true",maxAge:"600"};let r=t?.find(n=>n.name===e.corsPolicy);if(r===void 0)throw new Fh.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),Rv=o((e,t)=>{let r=(0,Mh.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,Mh.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var Hh=g(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.registerPingRoute=void 0;var Ov=Bt(),xv=Au(),Nv=Ar(),Cv=ft(),Lv=o((e,t)=>{let r=o(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new Ov.Pipeline([xv.corsProcessor],r,t),i=new Cv.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:Nv.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");Ao.registerPingRoute=Lv});var $h=g(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.deepFreeze=void 0;function qh(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&qh(r)}return Object.freeze(e)}o(qh,"deepFreeze");Po.deepFreeze=qh});var Be=g(Ro=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});Ro.ZuploRequest=void 0;var jh=$h(),Pu=class e extends Request{static{o(this,"ZuploRequest")}#e=void 0;#t;constructor(t,r){super(t,r);let n=r?.params;n?this.#t=n:t instanceof e?this.#t=t.#t:this.#t={};let i=r?.user;i?this.user=i:t instanceof e&&(this.user=t.user)}get query(){if(this.#e===void 0){this.#e={};let t=new URL(this.url).searchParams;for(let[r,n]of t.entries())this.#e[r]=n}return(0,jh.deepFreeze)(this.#e)}get params(){return(0,jh.deepFreeze)(this.#t)}user};Ro.ZuploRequest=Pu});var Zn=g(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.policyProcessor=Nt.toStackedInboundHandler=Nt.getInboundPolicyHandlerAndOptions=void 0;var Dv=Tr(),Br=L(),Vh=Be();function Gh(e,t){let r,n;return Array.isArray(e)?r=e:(r=e.policies?.inbound??[],n=e.path),r.map(s=>{let a=t?.find(u=>u.name===s);if(!a)throw new Br.ConfigurationError(`Invalid state - no Policy with the name '${s}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);let c;if(typeof a.handler?.module=="object"&&(c=a.handler?.module[a.handler.export]),typeof c!="function")throw new Br.ConfigurationError(`Invalid state - invalid handler on policy '${s}' ${n&&`on route '${n}'`}. Expected a function, received '${typeof c}'`);return{exportName:a.handler.export,handler:c,options:a.handler.options,policyName:a.name}})}o(Gh,"getInboundPolicyHandlerAndOptions");Nt.getInboundPolicyHandlerAndOptions=Gh;function Uv(e,t){return(e.policies?.outbound??[]).map(i=>{let s=t?.find(c=>c.name===i);if(!s)throw new Br.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${e.path}' was found in the policies configuration (check case).`);let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new Br.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${e.path}'`);return{exportName:s.handler.export,handler:a,options:s.handler.options,policyName:s.name}})}o(Uv,"getOutboundPolicyHandlerAndOptions");var Mv=o(e=>async(t,r)=>{let n=Dv.ZuploContextExtensions.getContextExtensions(r),i=[...e],s=t;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,a.options,a.policyName);if(c instanceof Vh.ZuploRequest)s=c;else if(c instanceof Request)s=new Vh.ZuploRequest(c);else{if(c instanceof Response)return c;throw new Br.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=s}return s},"toStackedInboundHandler");Nt.toStackedInboundHandler=Mv;var kv=o(e=>async(t,r,n)=>{let i=[...e],s=t;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,n,a.options,a.policyName);if(!(c instanceof Response))throw new Br.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an outbound policy must be a Response.`);s=c}return s},"toStackedOutboundHandler"),Fv=o(async(e,t,r,n)=>{let i=Gh(t.route,r.routeData.policies),s=Uv(t.route,r.routeData.policies),a=(0,Nt.toStackedInboundHandler)(i);try{let c=await a(e,t);if(c instanceof Response)return c;let u=await n(c),l=kv(s);return u.ok?l(u,e,t):u}catch(c){return t.log.error(c),r.errorHandler(e,t,c)}},"policyProcessor");Nt.policyProcessor=Fv});var Bh=g(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Kr.serialize=Kr.parse=void 0;var Hv=Object.prototype.toString,Oo=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function qv(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||jv,s=0;for(;s<e.length;){let a=e.indexOf("=",s);if(a===-1)break;let c=e.indexOf(";",s);if(c===-1)c=e.length;else if(c<a){s=e.lastIndexOf(";",a-1)+1;continue}let u=e.slice(s,a).trim();if(r[u]===void 0){let l=e.slice(a+1,c).trim();l.charCodeAt(0)===34&&(l=l.slice(1,-1)),r[u]=Bv(l,i)}s=c+1}return r}o(qv,"parse");Kr.parse=qv;function $v(e,t,r){let n=r||{},i=n.encode||Vv;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!Oo.test(e))throw new TypeError("argument name is invalid");let s=i(t);if(s&&!Oo.test(s))throw new TypeError("argument val is invalid");let a=e+"="+s;if(n.maxAge!=null){let c=n.maxAge-0;if(isNaN(c)||!isFinite(c))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+Math.floor(c)}if(n.domain){if(!Oo.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!Oo.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!Gv(c)||isNaN(c.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+c.toUTCString()}if(n.httpOnly&&(a+="; HttpOnly"),n.secure&&(a+="; Secure"),n.priority)switch(typeof n.priority=="string"?n.priority.toLowerCase():n.priority){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}if(n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){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}o($v,"serialize");Kr.serialize=$v;function jv(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}o(jv,"decode");function Vv(e){return encodeURIComponent(e)}o(Vv,"encode");function Gv(e){return Hv.call(e)==="[object Date]"||e instanceof Date}o(Gv,"isDate");function Bv(e,t){try{return t(e)}catch{return e}}o(Bv,"tryDecode")});var Kh=g(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.devPortalBaseURL=void 0;var Kv=Bh();function Jv(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,Kv.parse)(t.get("Cookie")||"")["zp-dev-portal"];return i!==null&&i&&r.test(i)?`https://dev-portal-${i}.zuplo.com`:e}catch{}return e}o(Jv,"devPortalBaseURL");xo.devPortalBaseURL=Jv});var Yh=g(Jr=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});Jr.registerDevPortalLegacyRedirectRoute=Jr.registerDevPortalV3Route=void 0;var Ru=xt(),zh=Bt(),Wh=Ir(),zv=Zn(),Qh=ft(),Wv=Kh(),Wt=ee(),Jh="/__zuplo/dev-portal",Qv="dev-portal-id",Yv="dev-portal-host",Zv="zp-account",Xv="zp-project",eT="dev-portal-build",tT=`
35
+ `)+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}o(VE,"reduceToSingleString")});var ph=g(to=>{"use strict";Object.defineProperty(to,"__esModule",{value:!0});to.format=void 0;var GE=oh(),BE=dh(),KE=o((e,...t)=>(0,GE.format)(BE.inspect,e,t),"format");to.format=KE});var vr=g(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.debug=Gt.withoutEnv=Gt.Debugger=void 0;var JE=ih(),zE=ph(),ro=class{static{o(this,"Debugger")}manager;ns;color;last;enabled;constructor(t,r){this.manager=t,this.ns=r,this.color=(0,JE.generateColor)(r),this.last=0,this.enabled=t.enabled.some(n=>n.test(r))}log(...t){if(!this.enabled)return;let r,n=t[0];typeof n=="function"?r=n():r=String(n);let i=Date.now()-(this.last||Date.now());r=(0,zE.format)(r,...t);let s=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(s),this.last=Date.now()}};Gt.Debugger=ro;var no=class{static{o(this,"DebugManager")}debuggers;enabled;constructor(t){this.debuggers=new Map,this.enabled=t??[]}};function hh(e){return!e||e.length===0?[]:(e=e.replace(/\s/g,"").replace(/\*/g,".+"),e.split(",").map(t=>new RegExp(`^${t}$`)))}o(hh,"extract");var Wn;function WE(e){e||(e=[]),typeof e=="string"&&(e=hh(e)),Wn=new no(e)}o(WE,"withoutEnv");Gt.withoutEnv=WE;function QE(e){let t=globalThis.DEBUG;Wn||(Wn=new no(hh(t)));let r=new ro(Wn,e);return Wn.debuggers.set(e,r),Object.assign(r.log.bind(r),{self:r})}o(QE,"debug");Gt.debug=QE});var oo=g($r=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});$r.ProblemResponseFormatter=$r.InternalProblemResponseFormatter=void 0;var YE=L(),io=class e{static{o(this,"InternalProblemResponseFormatter")}static problemResponseFormat=async t=>{let r=t.problem,n=JSON.stringify(r,null,2);return new Response(n,{status:t.problem.status,statusText:t.statusText,headers:{...t.additionalHeaders,"content-type":"application/problem+json"}})};static setProblemResponseFormat(t){t&&(e.problemResponseFormat=(r,n,i)=>{try{return t(r,n,i)}catch(s){throw new YE.RuntimeError("Error in custom 'problemResponseFormat'",{cause:s})}})}};$r.InternalProblemResponseFormatter=io;var su=class{static{o(this,"ProblemResponseFormatter")}static async format(t,r,n){return await io.problemResponseFormat(t,r,n)}};$r.ProblemResponseFormatter=su});var Ot=g(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.initializeRuntime=me.invokeOnResponseSendingFinalExtensions=me.invokeOnResponseSendingExtensions=me.invokeOnRequestExtensions=me.plugins=me.runtimeExtensions=me.InitializableRuntimePlugin=me.RuntimePlugin=void 0;var ZE=oo(),ao=class{static{o(this,"RuntimePlugin")}};me.RuntimePlugin=ao;var co=class extends ao{static{o(this,"InitializableRuntimePlugin")}};me.InitializableRuntimePlugin=co;me.runtimeExtensions={};var au=[];me.plugins=au;var fh=[],mh=[],yh=[],so={addPlugin(e){au.push(e)},addRequestHook(e){fh.push(e)},addResponseSendingHook(e){mh.push(e)},addResponseSendingFinalHook(e){yh.push(e)}},XE=o(async(e,t)=>{let r=e;for(let n of fh)if(r=await n(r,t),r instanceof Response)return r;return r},"invokeOnRequestExtensions");me.invokeOnRequestExtensions=XE;var ew=o(async(e,t,r)=>{let n=e;for(let i of mh)n=await i(e,t,r);return n},"invokeOnResponseSendingExtensions");me.invokeOnResponseSendingExtensions=ew;var tw=o(async(e,t,r)=>{for(let n of yh)await n(e,t,r)},"invokeOnResponseSendingFinalExtensions");me.invokeOnResponseSendingFinalExtensions=tw;async function rw(e=()=>Promise.resolve()){await e(so),me.runtimeExtensions.value=so;let t=au.filter(r=>r instanceof co);for(let r of t)await r.initialize(so);ZE.InternalProblemResponseFormatter.setProblemResponseFormat(so.problemResponseFormat)}o(rw,"initializeRuntime");me.initializeRuntime=rw});var cu=g(Bt=>{"use strict";Object.defineProperty(Bt,"__esModule",{value:!0});Bt.serialize=Bt.ContentTypes=void 0;Bt.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function nw(e,t){if(e!==null)return t&&typeof e=="string"?e:typeof e=="object"&&t?.startsWith(Bt.ContentTypes.Form)?new URLSearchParams(e).toString():typeof e=="object"&&t?.startsWith(Bt.ContentTypes.Json)||!t?JSON.stringify(e):e}o(nw,"serialize");Bt.serialize=nw});var Kt=g(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.Pipeline=void 0;var uu=Tr(),gh=Ot(),iw=cu(),lu=class{static{o(this,"Pipeline")}constructor(t,r,n){this.execute=this.#t(t,r,n)}execute;#e=(t,r)=>async(n,i)=>{try{return await t(n,i)}catch(s){return i.log.error("Error executing request handler.",s),r.errorHandler(n,i,s)}};#t=(t,r,n)=>async(i,s)=>{let a=[...t],c=o(async m=>{let v=a.pop();return v?v(i,s,n,c):await this.#e(async S=>{let k=await r(S,s);return ow(k)},n)(m,s)},"nextPipe"),l=await c(i),d=new uu.ResponseSendingEvent(i,l);s.dispatchEvent(d);let p=uu.ZuploContextExtensions.getContextExtensions(s),y=p.latestRequest,h;try{h=await d.mutableResponse}catch(m){return s.log.error(m),n.errorHandler(i,s,m)}try{h=await p.onResponseSending(h,y,s)}catch(m){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${m.message}'`,m),n.errorHandler(i,s,m)}try{h=await(0,gh.invokeOnResponseSendingExtensions)(h,y,s)}catch(m){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${m.message}'`,m),n.errorHandler(i,s,m)}s.dispatchEvent(new uu.ResponseSentEvent(i,h));try{await p.onResponseSendingFinal(l,y,s)}catch(m){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${m.message}'`,m),m}try{await(0,gh.invokeOnResponseSendingFinalExtensions)(l,y,s)}catch(m){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${m.message}'`,m),m}return h}};uo.Pipeline=lu;function ow(e){return e instanceof Response?e:typeof e>"u"?new Response:new Response((0,iw.serialize)(e),{headers:{"content-type":"application/json"}})}o(ow,"resultToResponse")});var po=g(lo=>{"use strict";Object.defineProperty(lo,"__esModule",{value:!0});lo.MetricsPlugin=void 0;var sw=Ot(),du=class extends sw.RuntimePlugin{static{o(this,"MetricsPlugin")}};lo.MetricsPlugin=du});var Ge=g(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.SystemLogMap=void 0;var aw=L(),pu=class e{static{o(this,"SystemLogMap")}static#e=new WeakMap;static getLogger(t){let r=e.#e.get(t);if(!r){let n=`No system logger found for context with requestId '${t.requestId}'`;throw console.error(n),new aw.SystemError(n)}return r}static addLogger(t,r){e.#e.set(t,r)}};ho.SystemLogMap=pu});var ve=g(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.BatchDispatch=void 0;var hu=class{static{o(this,"BatchDispatch")}constructor(t,r,n,i){this.#t=t,this.#o=r,this.#n=n,this.#r=i}#e=void 0;#t;#r;#n;#i=[];#o;enqueue=t=>{this.#i.push(t),this.#e||(this.#e=new Promise(r=>{setTimeout(()=>{if(this.#i.length>0){let n=[...this.#i];this.#i.length=0,this.#e=void 0,this.#n(n).catch(i=>{this.#r&&this.#r.error(`Uncaught error in BatchDispatcher named '${this.#t}'}`,i.message,i.stack)}).finally(()=>{r()})}},this.#o)}))};waitUntilFlushed=async()=>{if(this.#e)return this.#e}};fo.BatchDispatch=hu});var bh=g(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.EllieMetricsTransport=void 0;var _h=Ge(),cw=ve(),mo=ee(),fu=class{static{o(this,"EllieMetricsTransport")}#e;#t;#r;constructor(t){this.#r=mo.Environment.instance.loggingId,this.#e=t,this.#t=new cw.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,_h.SystemLogMap.getLogger(t))}pushMetrics(t,r){this.#r!==void 0&&(this.#t.enqueue(t),r.waitUntil(this.#t.waitUntilFlushed()))}dispatchFunction=async t=>{if(t.length===0)return;let r,{loggingId:n,remoteLogURL:i,deploymentName:s}=mo.Environment.instance,a=t.map(c=>{let u=Object.assign({},c);return delete u.requestContentLength,delete u.responseContentLength,u});if(n&&s&&(r=`${i}/v1-alpha/metrics?loggingId=${encodeURI(n)}&deploymentName=${encodeURI(s)}`),r){let c=await fetch(r,{method:"POST",body:JSON.stringify(a),headers:{"content-type":"application/json","zp-dn":mo.Environment.instance.deploymentName??"unknown","user-agent":mo.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();_h.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};yo.EllieMetricsTransport=fu});var ft=g(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});Sr.systemNoVersion=Sr.SystemRouteConfiguration=void 0;var mu=class{static{o(this,"SystemRouteConfiguration")}constructor({label:t,path:r,methods:n,systemRouteName:i,corsPolicy:s="none"}){this.label=t,this.path=r,this.methods=n,this.corsPolicy=s,this.version=Sr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Sr.SystemRouteConfiguration=mu;Sr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var Ir=g(go=>{"use strict";Object.defineProperty(go,"__esModule",{value:!0});go.metricsProcessor=void 0;var Eh=zn(),uw=Tr(),lw=Ot(),dw=po(),pw=bh(),hw=ft(),fw=o(async(e,t,r,n)=>{let i=new Date,s=Date.now(),a=await n(e),c=e.headers.get(Eh.RAY_ID_HEADER)??void 0,u=e.headers.get(Eh.TRUE_CLIENT_IP)??void 0,l=t.incomingRequestProperties,d;t.route instanceof hw.SystemRouteConfiguration&&(d=t.route.systemRouteName);let p=uw.ZuploContextExtensions.getContextExtensions(t).latestRequest,y={timestamp:i,statusCode:a.status,durationMs:Date.now()-s,requestContentLength:e.headers.get("content-length")?Number(e.headers.get("content-length")):void 0,responseContentLength:a.headers.get("content-length")?Number(a.headers.get("content-length")):void 0,routePath:t.route?.path??"SYSTEM_OR_NOT_FOUND",systemRouteName:d,requestId:t.requestId,method:e.method,asn:l.asn,asOrganization:l.asOrganization,colo:l.colo,continent:l.continent,country:l.country,city:l.city,latitude:l.latitude,longitude:l.longitude,rayId:c,instanceId:r.instanceId,userSub:p.user?.sub,clientIp:u},h=[];return h.push(new pw.EllieMetricsTransport(t)),lw.plugins.forEach(m=>{if(m instanceof dw.MetricsPlugin){let v=m.getTransport();h.push(v)}}),h.forEach(m=>{m.pushMetrics(y,t)}),a},"metricsProcessor");go.metricsProcessor=fw});var vh=g(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.SystemRouteName=void 0;var wh;(function(e){e.Build="build-data",e.CorsPreflight="cors-preflight",e.DeveloperPortal="developer-portal",e.DeveloperPortalLegacy="developer-portal-legacy",e.EmptyGatewayCatchall="empty-gateway-catchall",e.Ping="ping",e.UnmatchedPath="unmatched-path"})(wh||(_o.SystemRouteName=wh={}))});var Sh=g(Th=>{"use strict";Object.defineProperty(Th,"__esModule",{value:!0})});var Ar=g(Jt=>{"use strict";var mw=Jt&&Jt.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Ih=Jt&&Jt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&mw(t,e,r)};Object.defineProperty(Jt,"__esModule",{value:!0});Ih(vh(),Jt);Ih(Sh(),Jt)});var Ah=g(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.registerBuildRoute=void 0;var yw=xt(),gw=Kt(),_w=Ir(),bw=Ar(),Ew=ft(),ww=Ge(),vw=ee(),Tw=o((e,t)=>{let r=o(async(s,a)=>{let u=new URL(s.url).hostname.toLowerCase();if(!u.endsWith(".zuplo.app")&&!u.endsWith(".zuplo.dev")&&!u.endsWith(".fly.dev")&&!u.endsWith("zuplotest.com")&&u!=="localhost")return yw.HttpProblems.notFound(s,a);let l=vw.Environment.instance.build,d={buildId:l.BUILD_ID,zuploVersion:l.ZUPLO_VERSION,apiVersion:l.API_VERSION,gitSha:l.GIT_SHA,timestamp:l.TIMESTAMP,isProduction:l.IS_PRODUCTION},p=s.url.toString().split("?");return p.length>0&&new URLSearchParams(p[1]).get("system_log")==="true"&&ww.SystemLogMap.getLogger(a).error("Test System Log",d),new Response(JSON.stringify(d,null,2),{status:200,headers:{"content-type":"application/json"}})},"buildRouteHandler"),n=new gw.Pipeline([_w.metricsProcessor],r,t),i=new Ew.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:bw.SystemRouteName.Build});e.addRoute(i,n.execute)},"registerBuildRoute");bo.registerBuildRoute=Tw});var yu=g(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.HTTP_STATUS_TITLES=jr.HttpStatusCode=void 0;var Ph;(function(e){e[e.CONTINUE=100]="CONTINUE",e[e.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",e[e.PROCESSING=102]="PROCESSING",e[e.EARLY_HINTS=103]="EARLY_HINTS",e[e.OK=200]="OK",e[e.CREATED=201]="CREATED",e[e.ACCEPTED=202]="ACCEPTED",e[e.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",e[e.NO_CONTENT=204]="NO_CONTENT",e[e.RESET_CONTENT=205]="RESET_CONTENT",e[e.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",e[e.MULTI_STATUS=207]="MULTI_STATUS",e[e.ALREADY_REPORTED=208]="ALREADY_REPORTED",e[e.IM_USED=226]="IM_USED",e[e.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",e[e.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",e[e.FOUND=302]="FOUND",e[e.SEE_OTHER=303]="SEE_OTHER",e[e.NOT_MODIFIED=304]="NOT_MODIFIED",e[e.USE_PROXY=305]="USE_PROXY",e[e.SWITCH_PROXY=306]="SWITCH_PROXY",e[e.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",e[e.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",e[e.BAD_REQUEST=400]="BAD_REQUEST",e[e.UNAUTHORIZED=401]="UNAUTHORIZED",e[e.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",e[e.FORBIDDEN=403]="FORBIDDEN",e[e.NOT_FOUND=404]="NOT_FOUND",e[e.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",e[e.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",e[e.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",e[e.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",e[e.CONFLICT=409]="CONFLICT",e[e.GONE=410]="GONE",e[e.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",e[e.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",e[e.CONTENT_TOO_LARGE=413]="CONTENT_TOO_LARGE",e[e.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",e[e.URI_TOO_LONG=414]="URI_TOO_LONG",e[e.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",e[e.RANGE_NOT_SATISFIABLE=416]="RANGE_NOT_SATISFIABLE",e[e.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",e[e.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",e[e.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",e[e.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",e[e.UNPROCESSABLE_CONTENT=422]="UNPROCESSABLE_CONTENT",e[e.LOCKED=423]="LOCKED",e[e.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",e[e.TOO_EARLY=425]="TOO_EARLY",e[e.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",e[e.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",e[e.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",e[e.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",e[e.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",e[e.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",e[e.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",e[e.BAD_GATEWAY=502]="BAD_GATEWAY",e[e.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",e[e.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",e[e.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",e[e.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",e[e.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",e[e.LOOP_DETECTED=508]="LOOP_DETECTED",e[e.NOT_EXTENDED=510]="NOT_EXTENDED",e[e.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(Ph||(jr.HttpStatusCode=Ph={}));jr.HTTP_STATUS_TITLES={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Content Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"}});var _u=g(gu=>{"use strict";Object.defineProperty(gu,"__esModule",{value:!0});var Sw={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};gu.default=Sw});var ye=g(Vr=>{"use strict";var Iw=Vr&&Vr.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Vr,"__esModule",{value:!0});Vr.HttpProblems=void 0;var Aw=zn(),O=yu(),Pw=Iw(_u()),Rw=ee(),bu=oo();function Ow(e){return`${new URL(e.url).pathname}`}o(Ow,"instance");function xw(e,t){let r={timestamp:new Date().toISOString(),requestId:t.requestId,buildId:Rw.Environment.instance.build.BUILD_ID},n=e.headers.get(Aw.RAY_ID_HEADER);return n&&(r.rayId=n),r}o(xw,"trace");var Nw=o((e,t,r,n,i)=>({problem:{type:e.type,title:e.title,status:e.status,detail:e.detail,instance:Ow(t),trace:xw(t,r),...n},additionalHeaders:i,statusText:Pw.default[e.status]}),"merge"),Eu=class{static{o(this,"HttpProblemsBase")}static format=(t,r,n)=>"problem"in t?bu.ProblemResponseFormatter.format(t,r,n):bu.ProblemResponseFormatter.format({problem:t},r,n);static getProblemFromStatus(t,r){return{type:`https://httpproblems.com/http-status/${t}`,status:t,title:O.HTTP_STATUS_TITLES[t],...r}}},wu=class extends Eu{static{o(this,"HttpProblems")}static#e(t,r,n,i,s){let a=Nw(this.getProblemFromStatus(t),r,n,i,s);return bu.ProblemResponseFormatter.format(a,r,n)}static continue=(t,r,n,i)=>this.#e(O.HttpStatusCode.OK,t,r,n,i);static switchingProtocols=(t,r,n,i)=>this.#e(O.HttpStatusCode.SWITCHING_PROTOCOLS,t,r,n,i);static processing=(t,r,n,i)=>this.#e(O.HttpStatusCode.PROCESSING,t,r,n,i);static earlyHints=(t,r,n,i)=>this.#e(O.HttpStatusCode.EARLY_HINTS,t,r,n,i);static ok=(t,r,n,i)=>this.#e(O.HttpStatusCode.OK,t,r,n,i);static created=(t,r,n,i)=>this.#e(O.HttpStatusCode.CREATED,t,r,n,i);static accepted=(t,r,n,i)=>this.#e(O.HttpStatusCode.ACCEPTED,t,r,n,i);static nonAuthoritativeInformation=(t,r,n,i)=>this.#e(O.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,t,r,n,i);static noContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.NO_CONTENT,t,r,n,i);static resetContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.RESET_CONTENT,t,r,n,i);static partialContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.PARTIAL_CONTENT,t,r,n,i);static multiStatus=(t,r,n,i)=>this.#e(O.HttpStatusCode.MULTI_STATUS,t,r,n,i);static alreadyReported=(t,r,n,i)=>this.#e(O.HttpStatusCode.ALREADY_REPORTED,t,r,n,i);static imUsed=(t,r,n,i)=>this.#e(O.HttpStatusCode.IM_USED,t,r,n,i);static multipleChoices=(t,r,n,i)=>this.#e(O.HttpStatusCode.MULTIPLE_CHOICES,t,r,n,i);static movedPermanently=(t,r,n,i)=>this.#e(O.HttpStatusCode.MOVED_PERMANENTLY,t,r,n,i);static found=(t,r,n,i)=>this.#e(O.HttpStatusCode.FOUND,t,r,n,i);static seeOther=(t,r,n,i)=>this.#e(O.HttpStatusCode.SEE_OTHER,t,r,n,i);static notModified=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_MODIFIED,t,r,n,i);static useProxy=(t,r,n,i)=>this.#e(O.HttpStatusCode.USE_PROXY,t,r,n,i);static switchProxy=(t,r,n,i)=>this.#e(O.HttpStatusCode.SWITCH_PROXY,t,r,n,i);static temporaryRedirect=(t,r,n,i)=>this.#e(O.HttpStatusCode.TEMPORARY_REDIRECT,t,r,n,i);static permanentRedirect=(t,r,n,i)=>this.#e(O.HttpStatusCode.PERMANENT_REDIRECT,t,r,n,i);static badRequest=(t,r,n,i)=>this.#e(O.HttpStatusCode.BAD_REQUEST,t,r,n,i);static unauthorized=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNAUTHORIZED,t,r,n,i);static paymentRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PAYMENT_REQUIRED,t,r,n,i);static forbidden=(t,r,n,i)=>this.#e(O.HttpStatusCode.FORBIDDEN,t,r,n,i);static notFound=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_FOUND,t,r,n,i);static methodNotAllowed=(t,r,n,i)=>this.#e(O.HttpStatusCode.METHOD_NOT_ALLOWED,t,r,n,i);static notAcceptable=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_ACCEPTABLE,t,r,n,i);static proxyAuthenticationRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,t,r,n,i);static requestTimeout=(t,r,n,i)=>this.#e(O.HttpStatusCode.REQUEST_TIMEOUT,t,r,n,i);static conflict=(t,r,n,i)=>this.#e(O.HttpStatusCode.CONFLICT,t,r,n,i);static gone=(t,r,n,i)=>this.#e(O.HttpStatusCode.GONE,t,r,n,i);static lengthRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.LENGTH_REQUIRED,t,r,n,i);static preconditionFailed=(t,r,n,i)=>this.#e(O.HttpStatusCode.PRECONDITION_FAILED,t,r,n,i);static contentTooLarge=(t,r,n,i)=>this.#e(O.HttpStatusCode.CONTENT_TOO_LARGE,t,r,n,i);static uriTooLong=(t,r,n,i)=>this.#e(O.HttpStatusCode.URI_TOO_LONG,t,r,n,i);static unsupportedMediaType=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,t,r,n,i);static rangeNotSatisfiable=(t,r,n,i)=>this.#e(O.HttpStatusCode.RANGE_NOT_SATISFIABLE,t,r,n,i);static expectationFailed=(t,r,n,i)=>this.#e(O.HttpStatusCode.EXPECTATION_FAILED,t,r,n,i);static imATeapot=(t,r,n,i)=>this.#e(O.HttpStatusCode.I_AM_A_TEAPOT,t,r,n,i);static misdirectedRequest=(t,r,n,i)=>this.#e(O.HttpStatusCode.MISDIRECTED_REQUEST,t,r,n,i);static unprocessableContent=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNPROCESSABLE_CONTENT,t,r,n,i);static locked=(t,r,n,i)=>this.#e(O.HttpStatusCode.LOCKED,t,r,n,i);static failedDependency=(t,r,n,i)=>this.#e(O.HttpStatusCode.FAILED_DEPENDENCY,t,r,n,i);static tooEarly=(t,r,n,i)=>this.#e(O.HttpStatusCode.TOO_EARLY,t,r,n,i);static upgradeRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.UPGRADE_REQUIRED,t,r,n,i);static preconditionRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.PRECONDITION_REQUIRED,t,r,n,i);static tooManyRequests=(t,r,n,i)=>this.#e(O.HttpStatusCode.TOO_MANY_REQUESTS,t,r,n,i);static requestHeaderFieldsTooLarge=(t,r,n,i)=>this.#e(O.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,t,r,n,i);static unavailableForLegalReasons=(t,r,n,i)=>this.#e(O.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,t,r,n,i);static internalServerError=(t,r,n,i)=>this.#e(O.HttpStatusCode.INTERNAL_SERVER_ERROR,t,r,n,i);static notImplemented=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_IMPLEMENTED,t,r,n,i);static badGateway=(t,r,n,i)=>this.#e(O.HttpStatusCode.BAD_GATEWAY,t,r,n,i);static serviceUnavailable=(t,r,n,i)=>this.#e(O.HttpStatusCode.SERVICE_UNAVAILABLE,t,r,n,i);static gatewayTimeout=(t,r,n,i)=>this.#e(O.HttpStatusCode.GATEWAY_TIMEOUT,t,r,n,i);static httpVersionNotSupported=(t,r,n,i)=>this.#e(O.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,t,r,n,i);static variantAlsoNegotiates=(t,r,n,i)=>this.#e(O.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,t,r,n,i);static insufficientStorage=(t,r,n,i)=>this.#e(O.HttpStatusCode.INSUFFICIENT_STORAGE,t,r,n,i);static loopDetected=(t,r,n,i)=>this.#e(O.HttpStatusCode.LOOP_DETECTED,t,r,n,i);static notExtended=(t,r,n,i)=>this.#e(O.HttpStatusCode.NOT_EXTENDED,t,r,n,i);static networkAuthenticationRequired=(t,r,n,i)=>this.#e(O.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,t,r,n,i)};Vr.HttpProblems=wu});var zt=g(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.isErrorLike=U.withUndefinedAsNull=U.withNullAsUndefined=U.validateConstraint=U.validateConstraints=U.areFunctions=U.isFunction=U.isEmptyObject=U.assertAllDefined=U.assertIsDefined=U.assertType=U.isUndefinedOrNull=U.isDefined=U.isUndefined=U.isBoolean=U.isIterable=U.isNumber=U.isTypedArray=U.isArray=U.isObject=U.getOwnEnumerableKeys=U.isRegexp=U.isStringArray=U.isNonEmptyString=U.isString=U.toString=void 0;var{toString:Cw}=Object.prototype,{propertyIsEnumerable:Lw}=Object.prototype;function Rh(e){return Cw.call(e)}o(Rh,"toString");U.toString=Rh;function Eo(e){return typeof e=="string"}o(Eo,"isString");U.isString=Eo;function Dw(e){return Eo(e)&&e!==""}o(Dw,"isNonEmptyString");U.isNonEmptyString=Dw;function Uw(e){return Array.isArray(e)&&e.every(t=>Eo(t))}o(Uw,"isStringArray");U.isStringArray=Uw;function Mw(e){return Rh(e)==="[object RegExp]"}o(Mw,"isRegexp");U.isRegexp=Mw;function kw(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e).filter(t=>Lw.call(e,t))]}o(kw,"getOwnEnumerableKeys");U.getOwnEnumerableKeys=kw;function vu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}o(vu,"isObject");U.isObject=vu;function Fw(e){return vu(e)&&Array.isArray(e)}o(Fw,"isArray");U.isArray=Fw;function Hw(e){let t=Object.getPrototypeOf(Uint8Array);return typeof e=="object"&&e instanceof t}o(Hw,"isTypedArray");U.isTypedArray=Hw;function qw(e){return typeof e=="number"&&!isNaN(e)}o(qw,"isNumber");U.isNumber=qw;function $w(e){return!!e&&typeof e[Symbol.iterator]=="function"}o($w,"isIterable");U.isIterable=$w;function jw(e){return e===!0||e===!1}o(jw,"isBoolean");U.isBoolean=jw;function Oh(e){return typeof e>"u"}o(Oh,"isUndefined");U.isUndefined=Oh;function Vw(e){return!Qn(e)}o(Vw,"isDefined");U.isDefined=Vw;function Qn(e){return Oh(e)||e===null}o(Qn,"isUndefinedOrNull");U.isUndefinedOrNull=Qn;function Gw(e,t){if(!e)throw new Error(t?`Unexpected type, expected '${t}'`:"Unexpected type")}o(Gw,"assertType");U.assertType=Gw;function Bw(e){if(Qn(e))throw new Error("Assertion Failed: argument is undefined or null");return e}o(Bw,"assertIsDefined");U.assertIsDefined=Bw;function Kw(...e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];if(Qn(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);t.push(n)}return t}o(Kw,"assertAllDefined");U.assertAllDefined=Kw;var Jw=Object.prototype.hasOwnProperty;function zw(e){if(!vu(e))return!1;for(let t in e)if(Jw.call(e,t))return!1;return!0}o(zw,"isEmptyObject");U.isEmptyObject=zw;function Tu(e){return typeof e=="function"}o(Tu,"isFunction");U.isFunction=Tu;function Ww(...e){return e.length>0&&e.every(Tu)}o(Ww,"areFunctions");U.areFunctions=Ww;function Qw(e,t){let r=Math.min(e.length,t.length);for(let n=0;n<r;n++)xh(e[n],t[n])}o(Qw,"validateConstraints");U.validateConstraints=Qw;function xh(e,t){if(Eo(t)){if(typeof e!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(Tu(t)){try{if(e instanceof t)return}catch{}if(!Qn(e)&&e.constructor===t||t.length===1&&t.call(void 0,e)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}o(xh,"validateConstraint");U.validateConstraint=xh;function Yw(e){return e===null?void 0:e}o(Yw,"withNullAsUndefined");U.withNullAsUndefined=Yw;function Zw(e){return typeof e>"u"?null:e}o(Zw,"withUndefinedAsNull");U.withUndefinedAsNull=Zw;function Xw(e){return!!e&&typeof e=="object"&&"name"in e&&"message"in e&&"stack"in e}o(Xw,"isErrorLike");U.isErrorLike=Xw});var Yn=g(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.parseValueToBoolean=mt.parseValueToStringArray=mt.getValueFromRequestUser=mt.statusCodesStringToNumberArray=void 0;var Gr=L(),Su=zt(),Nh=new Map;function ev(e){if(typeof e!="string")throw new Error("Input must be a string");if(!/^\d+(?:-\d+)?(?:,\s*\d+(?:-\d+)?)*$/.test(e))throw new Error("Malformed input string");let t=Nh.get(e);if(t)return t;let r=e.split(","),n=[];for(let i of r){let s=i.split("-");if(s.length===2){let a=parseInt(s[0],10),c=parseInt(s[1],10);for(let u=a;u<=c;u++)n.push(u)}else n.push(parseInt(i,10))}return Nh.set(e,n),n}o(ev,"statusCodesStringToNumberArray");mt.statusCodesStringToNumberArray=ev;function tv(e,t,r){if(!t.startsWith("."))throw new Gr.ConfigurationError(`Invalid ${r} - must start with '.' - '${t}' does not`);let n=t.split(".").splice(1),i=e;return n.forEach(s=>{if(i===void 0)throw new Gr.RuntimeError(`Error applying ${r} '${t}', reading '${s}'`);i=i[s]}),`${i}`}o(tv,"getValueFromRequestUser");mt.getValueFromRequestUser=tv;function rv(e){if(Array.isArray(e)){if(e.includes(r=>typeof r!="string"))throw new Gr.ConfigurationError("Received an array that contains non-string values.");return e}if((0,Su.isString)(e))return e.includes(",")?e.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[e];throw new Gr.ConfigurationError(`Expected type of string, received type '${typeof e}'`)}o(rv,"parseValueToStringArray");mt.parseValueToStringArray=rv;function nv(e){if((0,Su.isBoolean)(e))return e;if((0,Su.isString)(e)){if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;throw new Gr.ConfigurationError(`Attempted to parse string to boolean, but received ${e} which cannot be parsed.`)}throw new Gr.ConfigurationError(`Expected type of boolean, received type '${typeof e}'`)}o(nv,"parseValueToBoolean");mt.parseValueToBoolean=nv});var vo=g(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.generateCorsHeaders=Wt.findMatchingOrigin=Wt.parseCorsPolicies=void 0;var Pr=L(),Ch=Yn(),wo=zt();function iv(e){if(e==null)return[];if(!Array.isArray(e))throw new Pr.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof e}'`);return e.map(r=>{if(!(0,wo.isObject)(r))throw new Pr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,wo.isNonEmptyString)(r.name))throw new Pr.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,wo.isNumber)(r.maxAge))throw new Pr.ConfigurationError(`Value of 'maxAge' on custom cors policies must be a non-empty string. Received type '${typeof r.maxAge}'`);if(r.allowCredentials!==void 0&&!(0,wo.isBoolean)(r.allowCredentials))throw new Pr.ConfigurationError("Value of 'allowCredentials' on custom cors policies must be a boolean or not be set. If using an environment variable, check that it is set correctly.");let n=Iu(r,"allowedHeaders"),i=Iu(r,"allowedMethods"),s=Iu(r,"exposeHeaders"),a;try{a=(0,Ch.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Pr.ConfigurationError(`Value of 'allowedOrigins' on custom cors policies is invalid. ${u.message} If using an environment variable, check that it is set correctly.`)}return{name:r.name,allowCredentials:typeof r.allowCredentials=="boolean"?String(r.allowCredentials):void 0,allowedOrigins:a,allowedHeaders:n?n.join(", "):void 0,allowedMethods:i?i.join(", "):void 0,exposeHeaders:s?s.join(", "):void 0,maxAge:typeof r.maxAge=="number"?r.maxAge.toString():void 0}})}o(iv,"parseCorsPolicies");Wt.parseCorsPolicies=iv;function Iu(e,t){let r;if(e[t]!==void 0)try{r=(0,Ch.parseValueToStringArray)(e[t])}catch(n){throw new Pr.ConfigurationError(`Value of '${t}' on custom cors policies is invalid. ${n.message} If using an environment variable, check that it is set correctly.`)}return r}o(Iu,"parseOptionalProperty");var ov=o((e,t)=>{if(t===null)return;if(e.find(a=>a==="*"))return t;let n=e.map(a=>a.trim().toLowerCase()),i=t.toLowerCase();return n.find(a=>a===i)},"findMatchingOrigin");Wt.findMatchingOrigin=ov;var sv=o((e,t)=>{let r={"access-control-allow-origin":t};e.allowedHeaders&&(r["access-control-allow-headers"]=e.allowedHeaders),e.allowedMethods&&(r["access-control-allow-methods"]=e.allowedMethods),e.exposeHeaders&&(r["access-control-expose-headers"]=e.exposeHeaders);let n=e.allowCredentials;n&&(r["access-control-allow-credentials"]=n);let i=e.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");Wt.generateCorsHeaders=sv});var Dh=g(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.registerCorsRoute=void 0;var av=L(),cv=Kt(),Au=ye(),uv=Ir(),lv=Ar(),dv=ft(),Lh=vo(),pv=o((e,t)=>{let r=t.routeData.corsPolicies,n=o(async(a,c)=>{let u=new URL(a.url.toString()).pathname,l=a.headers.get("access-control-request-method"),d=a.headers.get("access-control-request-headers"),p=a.headers.get("origin");if(p===null||l===null)return Au.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let y=e.lookup(l,u);if(!y)return Au.HttpProblems.notFound(a,c);let h=y.routeConfiguration,m=hv(l,d,p,h,r);return m.isValid?new Response(void 0,{status:200,statusText:"OK",headers:m.headers}):(m.error&&c.log.warn(m.error),Au.HttpProblems.notFound(a,c))},"optionsHandler"),i=new cv.Pipeline([uv.metricsProcessor],n,t),s=new dv.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:lv.SystemRouteName.CorsPreflight});e.addRoute(s,i.execute)},"registerCorsRoute");To.registerCorsRoute=pv;var hv=o((e,t,r,n,i)=>{let s={isValid:!1,headers:{}};if(n.corsPolicy==="anything-goes")return{isValid:!0,headers:{"access-control-allow-origin":r,"access-control-allow-methods":e,"access-control-allow-headers":t??"*","access-control-expose-headers":"*","access-control-allow-credentials":"true","access-control-max-age":"600"}};if(n.corsPolicy==="none")return{...s,error:`No CORS policy set for the route '${n.pathPattern}'`};let a=i?.find(l=>l.name===n.corsPolicy);if(!a)throw new av.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,Lh.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,Lh.generateCorsHeaders)(a,c)}:{...s,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var Uh=g(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.registerNoRoutes=void 0;var fv=Kt(),mv=Ir(),yv=Ar(),gv=ft(),_v=o((e,t)=>{let r=o(async()=>new Response("You have no routes. Add a route in routes.oas.json to get started",{status:200}),"noRoutesHandler"),n=new fv.Pipeline([mv.metricsProcessor],r,t),i=new gv.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:yv.SystemRouteName.EmptyGatewayCatchall});e.addRoute(i,n.execute)},"registerNoRoutes");So.registerNoRoutes=_v});var Mh=g(Rr=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});Rr.registerNotMatchedHandler=Rr.notFoundRouteConfiguration=void 0;var bv=Tr(),Ev=Ot(),wv=Kt(),vv=ye(),Tv=Ir(),Sv=Ar(),Iv=ft();Rr.notFoundRouteConfiguration=new Iv.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:Sv.SystemRouteName.UnmatchedPath});var Av=o((e,t)=>{let r=o(async(i,s)=>{let a=Ev.runtimeExtensions.value?.notFoundHandler;if(a){let c=bv.ZuploContextExtensions.getContextExtensions(s);return a(i,s,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return vv.HttpProblems.notFound(i,s)},"notFoundHandler"),n=new wv.Pipeline([Tv.metricsProcessor],r,t);e.addRoute(Rr.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Rr.registerNotMatchedHandler=Av});var Pu=g(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.corsProcessor=void 0;var Hh=L(),kh=vo(),Pv=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],Fh=o(e=>{Pv.forEach(t=>e.delete(t))},"stripCorsHeaders"),Rv=o(async(e,t,r,n)=>{let i=t.route;if(!i.corsPolicy||i.corsPolicy==="none"){let d=await n(e),p=new Headers(d.headers);return Fh(p),new Response(d.body,{status:d.status,statusText:d.statusText,headers:p,webSocket:d.webSocket})}let s=await n(e);if(!(s instanceof Response))throw new Hh.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof s}'`);let a=Ov(i,r.routeData.corsPolicies),c=xv(e,a),u=new Headers(s.headers);return Fh(u),Object.entries(c).forEach(([d,p])=>{u.set(d,p)}),new Response(s.body,{status:s.status,statusText:s.statusText,headers:u,webSocket:s.webSocket})},"corsProcessor");Io.corsProcessor=Rv;var Ov=o((e,t)=>{if(e.corsPolicy==="anything-goes")return{name:"anything-goes",allowedHeaders:"*",allowedOrigins:["*"],allowedMethods:e.methods.join(", "),exposeHeaders:"*",allowCredentials:"true",maxAge:"600"};let r=t?.find(n=>n.name===e.corsPolicy);if(r===void 0)throw new Hh.ConfigurationError(`Invalid Configuration - no corsPolicy '${e.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),xv=o((e,t)=>{let r=(0,kh.findMatchingOrigin)(t.allowedOrigins,e.headers.get("origin"));return r?(0,kh.generateCorsHeaders)(t,r):{}},"getCorsHeaders")});var qh=g(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.registerPingRoute=void 0;var Nv=Kt(),Cv=Pu(),Lv=Ar(),Dv=ft(),Uv=o((e,t)=>{let r=o(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new Nv.Pipeline([Cv.corsProcessor],r,t),i=new Dv.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:Lv.SystemRouteName.Ping});e.addRoute(i,n.execute)},"registerPingRoute");Ao.registerPingRoute=Uv});var jh=g(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.deepFreeze=void 0;function $h(e){for(let t in e){let r=e[t];r&&typeof r=="object"&&$h(r)}return Object.freeze(e)}o($h,"deepFreeze");Po.deepFreeze=$h});var Be=g(Ro=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});Ro.ZuploRequest=void 0;var Vh=jh(),Ru=class e extends Request{static{o(this,"ZuploRequest")}#e=void 0;#t;constructor(t,r){super(t,r);let n=r?.params;n?this.#t=n:t instanceof e?this.#t=t.#t:this.#t={};let i=r?.user;i?this.user=i:t instanceof e&&(this.user=t.user)}get query(){if(this.#e===void 0){this.#e={};let t=new URL(this.url).searchParams;for(let[r,n]of t.entries())this.#e[r]=n}return(0,Vh.deepFreeze)(this.#e)}get params(){return(0,Vh.deepFreeze)(this.#t)}user};Ro.ZuploRequest=Ru});var Zn=g(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.policyProcessor=Nt.toStackedInboundHandler=Nt.getInboundPolicyHandlerAndOptions=void 0;var Mv=Tr(),Br=L(),Gh=Be();function Bh(e,t){let r,n;return Array.isArray(e)?r=e:(r=e.policies?.inbound??[],n=e.path),r.map(s=>{let a=t?.find(u=>u.name===s);if(!a)throw new Br.ConfigurationError(`Invalid state - no Policy with the name '${s}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);let c;if(typeof a.handler?.module=="object"&&(c=a.handler?.module[a.handler.export]),typeof c!="function")throw new Br.ConfigurationError(`Invalid state - invalid handler on policy '${s}' ${n&&`on route '${n}'`}. Expected a function, received '${typeof c}'`);return{exportName:a.handler.export,handler:c,options:a.handler.options,policyName:a.name}})}o(Bh,"getInboundPolicyHandlerAndOptions");Nt.getInboundPolicyHandlerAndOptions=Bh;function kv(e,t){return(e.policies?.outbound??[]).map(i=>{let s=t?.find(c=>c.name===i);if(!s)throw new Br.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${e.path}' was found in the policies configuration (check case).`);let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new Br.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${e.path}'`);return{exportName:s.handler.export,handler:a,options:s.handler.options,policyName:s.name}})}o(kv,"getOutboundPolicyHandlerAndOptions");var Fv=o(e=>async(t,r)=>{let n=Mv.ZuploContextExtensions.getContextExtensions(r),i=[...e],s=t;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,a.options,a.policyName);if(c instanceof Gh.ZuploRequest)s=c;else if(c instanceof Request)s=new Gh.ZuploRequest(c);else{if(c instanceof Response)return c;throw new Br.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=s}return s},"toStackedInboundHandler");Nt.toStackedInboundHandler=Fv;var Hv=o(e=>async(t,r,n)=>{let i=[...e],s=t;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,n,a.options,a.policyName);if(!(c instanceof Response))throw new Br.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}'${a.routeName?` on route '${a.routeName}`:""}. The result of an outbound policy must be a Response.`);s=c}return s},"toStackedOutboundHandler"),qv=o(async(e,t,r,n)=>{let i=Bh(t.route,r.routeData.policies),s=kv(t.route,r.routeData.policies),a=(0,Nt.toStackedInboundHandler)(i);try{let c=await a(e,t);if(c instanceof Response)return c;let u=await n(c),l=Hv(s);return u.ok?l(u,e,t):u}catch(c){return t.log.error(c),r.errorHandler(e,t,c)}},"policyProcessor");Nt.policyProcessor=qv});var Kh=g(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Kr.serialize=Kr.parse=void 0;var $v=Object.prototype.toString,Oo=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function jv(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");let r={},i=(t||{}).decode||Gv,s=0;for(;s<e.length;){let a=e.indexOf("=",s);if(a===-1)break;let c=e.indexOf(";",s);if(c===-1)c=e.length;else if(c<a){s=e.lastIndexOf(";",a-1)+1;continue}let u=e.slice(s,a).trim();if(r[u]===void 0){let l=e.slice(a+1,c).trim();l.charCodeAt(0)===34&&(l=l.slice(1,-1)),r[u]=Jv(l,i)}s=c+1}return r}o(jv,"parse");Kr.parse=jv;function Vv(e,t,r){let n=r||{},i=n.encode||Bv;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!Oo.test(e))throw new TypeError("argument name is invalid");let s=i(t);if(s&&!Oo.test(s))throw new TypeError("argument val is invalid");let a=e+"="+s;if(n.maxAge!=null){let c=n.maxAge-0;if(isNaN(c)||!isFinite(c))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+Math.floor(c)}if(n.domain){if(!Oo.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!Oo.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!Kv(c)||isNaN(c.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+c.toUTCString()}if(n.httpOnly&&(a+="; HttpOnly"),n.secure&&(a+="; Secure"),n.priority)switch(typeof n.priority=="string"?n.priority.toLowerCase():n.priority){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}if(n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){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}o(Vv,"serialize");Kr.serialize=Vv;function Gv(e){return e.indexOf("%")!==-1?decodeURIComponent(e):e}o(Gv,"decode");function Bv(e){return encodeURIComponent(e)}o(Bv,"encode");function Kv(e){return $v.call(e)==="[object Date]"||e instanceof Date}o(Kv,"isDate");function Jv(e,t){try{return t(e)}catch{return e}}o(Jv,"tryDecode")});var Jh=g(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.devPortalBaseURL=void 0;var zv=Kh();function Wv(e,t){try{let r=/v\d+(-\d+)?/g,i=(0,zv.parse)(t.get("Cookie")||"")["zp-dev-portal"];return i!==null&&i&&r.test(i)?`https://dev-portal-${i}.zuplo.com`:e}catch{}return e}o(Wv,"devPortalBaseURL");xo.devPortalBaseURL=Wv});var Zh=g(Jr=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});Jr.registerDevPortalLegacyRedirectRoute=Jr.registerDevPortalV3Route=void 0;var Ou=xt(),Wh=Kt(),Qh=Ir(),Qv=Zn(),Yh=ft(),Yv=Jh(),Qt=ee(),zh="/__zuplo/dev-portal",Zv="dev-portal-id",Xv="dev-portal-host",eT="zp-account",tT="zp-project",rT="dev-portal-build",nT=`
36
36
  <!DOCTYPE html>
37
37
  <html lang="en">
38
38
  <head>
@@ -46,33 +46,33 @@
46
46
  <p>For more information, see <a href="https://zuplo.com/docs/articles/developer-portal">https://zuplo.com/docs/articles/developer-portal</a>.</p>
47
47
  </body>
48
48
  </html>
49
- `,rT=o((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=Wt.Environment.instance.deploymentName,i=Wt.Environment.instance.devPortalBaseUrl,s=o(async(u,l)=>{if(Wt.Environment.instance.isLocalDevelopment)return new Response(tT,{headers:{"content-type":"text/html"}});if(!n)return Ru.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,Wv.devPortalBaseURL)(i,u.headers),y=new URL(`${d.pathname}${d.search}`,p),{headers:h,method:m,body:v}=u;return Wt.Environment.instance.build.ACCOUNT_NAME&&h.set(Zv,Wt.Environment.instance.build.ACCOUNT_NAME),Wt.Environment.instance.build.PROJECT_NAME&&h.set(Xv,Wt.Environment.instance.build.PROJECT_NAME),h.set(Qv,n),h.set(Yv,d.host),h.set(eT,Wt.Environment.instance.build.BUILD_ID),await fetch(y.toString(),{headers:h,method:m,body:v,redirect:"manual"})},"devPortalRoute"),a=new zh.Pipeline([Wh.metricsProcessor,zv.policyProcessor],s,t),c=new Qh.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:Ru.SystemRouteName.DeveloperPortal});e.addRoute(c,a.execute)},"registerDevPortalV3Route");Jr.registerDevPortalV3Route=rT;var nT=o((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=o(async a=>{let c=new URL(a.url);return c.pathname=`${r}${c.pathname.substring(Jh.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new zh.Pipeline([Wh.metricsProcessor],n,t),s=new Qh.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${Jh}(.*)`,systemRouteName:Ru.SystemRouteName.DeveloperPortalLegacy});e.addRoute(s,i.execute)},"registerDevPortalLegacyRedirectRoute");Jr.registerDevPortalLegacyRedirectRoute=nT});var Ou=g(zr=>{"use strict";Object.defineProperty(zr,"__esModule",{value:!0});zr.API_KEY=zr.SYSTEM_LOGGER=void 0;zr.SYSTEM_LOGGER="system-logger";zr.API_KEY="api-key"});var Zh=g(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.CoreLogger=void 0;var xu=0,Nu=class{static{o(this,"CoreLogger")}constructor(t,r,n,i,s){this.#r=r,this.#n=n??"local",this.#i=i,this.#o=s,this.#e(t)}#e=t=>{let r=["error","warn","info","debug"],n=!1,i=o(()=>{},"emptyFunction"),s=o((a,c)=>{this.#o.forEach(u=>{u.log(a,c)})},"pushFunction");r.forEach(a=>{this.#t[a]=n?i:s,a==t&&(n=!0)})};#t={};#r;#n;#i;#o;log(t,r,n,i,s,a){xu>=Number.MAX_SAFE_INTEGER&&(xu=0);let c={requestId:n,rayId:i,level:t,logSource:r,messages:s,timestamp:new Date,logOwner:this.#r,loggingId:this.#n,buildId:this.#i,vectorClock:xu++};this.#t[t](c,a)}};No.CoreLogger=Nu});var Ct=g(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.LogPlugin=void 0;var iT=Ot(),Cu=class extends iT.RuntimePlugin{static{o(this,"LogPlugin")}};Co.LogPlugin=Cu});var Xh=g(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.LoggingContext=void 0;var Lu=class{static{o(this,"LoggingContext")}constructor(t,r,n){this.#e=t,this.custom=r,this.originalRequest=n}#e;custom;originalRequest;waitUntil=t=>{this.#e.waitUntil(t)}};Lo.LoggingContext=Lu});var ef=g(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.RequestLogger=void 0;var Du=class{static{o(this,"RequestLogger")}constructor(t,r,n,i){this.#t=t,this.#r=r,this.#n=n,this.#i=i}#e="request";#t;#r;#n;#i;debug=(...t)=>{this.#n.log("debug",this.#e,this.#t,this.#r,t,this.#i)};info=(...t)=>{this.#n.log("info",this.#e,this.#t,this.#r,t,this.#i)};log=(...t)=>{this.#n.log("info",this.#e,this.#t,this.#r,t,this.#i)};warn=(...t)=>{this.#n.log("warn",this.#e,this.#t,this.#r,t,this.#i)};error=(...t)=>{this.#n.log("error",this.#e,this.#t,this.#r,t,this.#i)}};Do.RequestLogger=Du});var Or=g(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.cleanStack=Qt.serializeError=Qt.NonError=void 0;var tf=Jt(),oT=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(e=>[e.name,e]),sT=new Map(oT),Uu=class e extends Error{static{o(this,"NonError")}name="NonError";constructor(t){super(e._prepareSuperMessage(t))}static _prepareSuperMessage(t){try{return JSON.stringify(t)}catch{return String(t)}}};Qt.NonError=Uu;var aT=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],Mu=Symbol(".toJSON was called"),cT=o(e=>{e[Mu]=!0;let t=e.toJSON();return delete e[Mu],t},"toJSON"),uT=o(e=>sT.get(e)??Error,"getErrorConstructor"),rf=o(({from:e,seen:t,to:r,forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c})=>{if(!r)if(Array.isArray(e))r=[];else if(!c&&(0,tf.isErrorLike)(e)){let l=uT(e.name);r=new l}else r={};if(t.push(e),s>=i)return r;if(a&&typeof e.toJSON=="function"&&e[Mu]!==!0)return cT(e);let u=o(l=>rf({from:l,seen:[...t],forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c}),"continueDestroyCircular");for(let[l,d]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(d)){r[l]="[object Buffer]";continue}if(d!==null&&typeof d=="object"&&typeof d.pipe=="function"){r[l]="[object Stream]";continue}if(typeof d!="function"){if(!d||typeof d!="object"){r[l]=d;continue}if(!t.includes(e[l])){s++,r[l]=u(e[l]);continue}r[l]="[Circular]"}}for(let{property:l,enumerable:d}of aT)typeof e[l]<"u"&&e[l]!==null&&Object.defineProperty(r,l,{value:(0,tf.isErrorLike)(e[l])?u(e[l]):e[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function lT(e,t){let r=t?.maxDepth??Number.POSITIVE_INFINITY,n=t?.useToJSON??!0;return typeof e=="object"&&e!==null?rf({from:e,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}o(lT,"serializeError");Qt.serializeError=lT;var dT=/file:\/\/\/(.*?)\/dist\//g,pT=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,hT="at async Event.respondWith";function fT(e){return typeof e!="string"?e:e.split(`
50
- `).filter(t=>!t.trim().startsWith("at async file")).map((t,r)=>{let n=t.replaceAll(dT,"").replaceAll(pT,"").replaceAll(hT,"").trim();return r===0||n.length===0?n:` ${n}`}).filter(t=>t.length>0).join(`
51
- `)}o(fT,"cleanStack");Qt.cleanStack=fT});var nf=g(Fu=>{"use strict";Object.defineProperty(Fu,"__esModule",{value:!0});var ku=Jt();function mT(e,t,r=""){let n=[],i=t?.maxDepth??3;return o(function s(a,c={},u,l){let d=c.indent||" ",p;c.inlineCharacterLimit===void 0?p={newline:`
49
+ `,iT=o((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=Qt.Environment.instance.deploymentName,i=Qt.Environment.instance.devPortalBaseUrl,s=o(async(u,l)=>{if(Qt.Environment.instance.isLocalDevelopment)return new Response(nT,{headers:{"content-type":"text/html"}});if(!n)return Ou.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,Yv.devPortalBaseURL)(i,u.headers),y=new URL(`${d.pathname}${d.search}`,p),{headers:h,method:m,body:v}=u;return Qt.Environment.instance.build.ACCOUNT_NAME&&h.set(eT,Qt.Environment.instance.build.ACCOUNT_NAME),Qt.Environment.instance.build.PROJECT_NAME&&h.set(tT,Qt.Environment.instance.build.PROJECT_NAME),h.set(Zv,n),h.set(Xv,d.host),h.set(rT,Qt.Environment.instance.build.BUILD_ID),await fetch(y.toString(),{headers:h,method:m,body:v,redirect:"manual"})},"devPortalRoute"),a=new Wh.Pipeline([Qh.metricsProcessor,Qv.policyProcessor],s,t),c=new Yh.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:Ou.SystemRouteName.DeveloperPortal});e.addRoute(c,a.execute)},"registerDevPortalV3Route");Jr.registerDevPortalV3Route=iT;var oT=o((e,t)=>{let{sitePathname:r}=t.runtimeSettings.developerPortal,n=o(async a=>{let c=new URL(a.url);return c.pathname=`${r}${c.pathname.substring(zh.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new Wh.Pipeline([Qh.metricsProcessor],n,t),s=new Yh.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${zh}(.*)`,systemRouteName:Ou.SystemRouteName.DeveloperPortalLegacy});e.addRoute(s,i.execute)},"registerDevPortalLegacyRedirectRoute");Jr.registerDevPortalLegacyRedirectRoute=oT});var xu=g(zr=>{"use strict";Object.defineProperty(zr,"__esModule",{value:!0});zr.API_KEY=zr.SYSTEM_LOGGER=void 0;zr.SYSTEM_LOGGER="system-logger";zr.API_KEY="api-key"});var Xh=g(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.CoreLogger=void 0;var Nu=0,Cu=class{static{o(this,"CoreLogger")}constructor(t,r,n,i,s){this.#r=r,this.#n=n??"local",this.#i=i,this.#o=s,this.#e(t)}#e=t=>{let r=["error","warn","info","debug"],n=!1,i=o(()=>{},"emptyFunction"),s=o((a,c)=>{this.#o.forEach(u=>{u.log(a,c)})},"pushFunction");r.forEach(a=>{this.#t[a]=n?i:s,a==t&&(n=!0)})};#t={};#r;#n;#i;#o;log(t,r,n,i,s,a){Nu>=Number.MAX_SAFE_INTEGER&&(Nu=0);let c={requestId:n,rayId:i,level:t,logSource:r,messages:s,timestamp:new Date,logOwner:this.#r,loggingId:this.#n,buildId:this.#i,vectorClock:Nu++};this.#t[t](c,a)}};No.CoreLogger=Cu});var Ct=g(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.LogPlugin=void 0;var sT=Ot(),Lu=class extends sT.RuntimePlugin{static{o(this,"LogPlugin")}};Co.LogPlugin=Lu});var ef=g(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.LoggingContext=void 0;var Du=class{static{o(this,"LoggingContext")}constructor(t,r,n){this.#e=t,this.custom=r,this.originalRequest=n}#e;custom;originalRequest;waitUntil=t=>{this.#e.waitUntil(t)}};Lo.LoggingContext=Du});var tf=g(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.RequestLogger=void 0;var Uu=class{static{o(this,"RequestLogger")}constructor(t,r,n,i){this.#t=t,this.#r=r,this.#n=n,this.#i=i}#e="request";#t;#r;#n;#i;debug=(...t)=>{this.#n.log("debug",this.#e,this.#t,this.#r,t,this.#i)};info=(...t)=>{this.#n.log("info",this.#e,this.#t,this.#r,t,this.#i)};log=(...t)=>{this.#n.log("info",this.#e,this.#t,this.#r,t,this.#i)};warn=(...t)=>{this.#n.log("warn",this.#e,this.#t,this.#r,t,this.#i)};error=(...t)=>{this.#n.log("error",this.#e,this.#t,this.#r,t,this.#i)}};Do.RequestLogger=Uu});var Or=g(Yt=>{"use strict";Object.defineProperty(Yt,"__esModule",{value:!0});Yt.cleanStack=Yt.serializeError=Yt.NonError=void 0;var rf=zt(),aT=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(e=>[e.name,e]),cT=new Map(aT),Mu=class e extends Error{static{o(this,"NonError")}name="NonError";constructor(t){super(e._prepareSuperMessage(t))}static _prepareSuperMessage(t){try{return JSON.stringify(t)}catch{return String(t)}}};Yt.NonError=Mu;var uT=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],ku=Symbol(".toJSON was called"),lT=o(e=>{e[ku]=!0;let t=e.toJSON();return delete e[ku],t},"toJSON"),dT=o(e=>cT.get(e)??Error,"getErrorConstructor"),nf=o(({from:e,seen:t,to:r,forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c})=>{if(!r)if(Array.isArray(e))r=[];else if(!c&&(0,rf.isErrorLike)(e)){let l=dT(e.name);r=new l}else r={};if(t.push(e),s>=i)return r;if(a&&typeof e.toJSON=="function"&&e[ku]!==!0)return lT(e);let u=o(l=>nf({from:l,seen:[...t],forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c}),"continueDestroyCircular");for(let[l,d]of Object.entries(e)){if(typeof Buffer=="function"&&Buffer.isBuffer(d)){r[l]="[object Buffer]";continue}if(d!==null&&typeof d=="object"&&typeof d.pipe=="function"){r[l]="[object Stream]";continue}if(typeof d!="function"){if(!d||typeof d!="object"){r[l]=d;continue}if(!t.includes(e[l])){s++,r[l]=u(e[l]);continue}r[l]="[Circular]"}}for(let{property:l,enumerable:d}of uT)typeof e[l]<"u"&&e[l]!==null&&Object.defineProperty(r,l,{value:(0,rf.isErrorLike)(e[l])?u(e[l]):e[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function pT(e,t){let r=t?.maxDepth??Number.POSITIVE_INFINITY,n=t?.useToJSON??!0;return typeof e=="object"&&e!==null?nf({from:e,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof e=="function"?`[Function: ${e.name??"anonymous"}]`:e}o(pT,"serializeError");Yt.serializeError=pT;var hT=/file:\/\/\/(.*?)\/dist\//g,fT=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,mT="at async Event.respondWith";function yT(e){return typeof e!="string"?e:e.split(`
50
+ `).filter(t=>!t.trim().startsWith("at async file")).map((t,r)=>{let n=t.replaceAll(hT,"").replaceAll(fT,"").replaceAll(mT,"").trim();return r===0||n.length===0?n:` ${n}`}).filter(t=>t.length>0).join(`
51
+ `)}o(yT,"cleanStack");Yt.cleanStack=yT});var of=g(Hu=>{"use strict";Object.defineProperty(Hu,"__esModule",{value:!0});var Fu=zt();function gT(e,t,r=""){let n=[],i=t?.maxDepth??3;return o(function s(a,c={},u,l){let d=c.indent||" ",p;c.inlineCharacterLimit===void 0?p={newline:`
52
52
  `,newlineOrSpace:`
53
53
  `,pad:u,indent:u+d}:p={newline:"@@__STRINGIFY_OBJECT_NEW_LINE__@@",newlineOrSpace:"@@__STRINGIFY_OBJECT_NEW_LINE_OR_SPACE__@@",pad:"@@__STRINGIFY_OBJECT_PAD__@@",indent:"@@__STRINGIFY_OBJECT_INDENT__@@"};let y=o(h=>{if(c.inlineCharacterLimit===void 0)return h;let m=h.replace(new RegExp(p.newline,"g"),"").replace(new RegExp(p.newlineOrSpace,"g")," ").replace(new RegExp(p.pad+"|"+p.indent,"g"),"");return m.length<=c.inlineCharacterLimit?m:h.replace(new RegExp(p.newline+"|"+p.newlineOrSpace,"g"),`
54
- `).replace(new RegExp(p.pad,"g"),u).replace(new RegExp(p.indent,"g"),u+d)},"expandWhiteSpace");if(n.includes(a))return'"[Circular]"';if(a==null||typeof a=="number"||typeof a=="boolean"||typeof a=="function"||typeof a=="symbol"||(0,ku.isRegexp)(a))return String(a);if(a instanceof Date)return`new Date('${a.toISOString()}')`;if(l>i)return"...";if(Array.isArray(a)){if(a.length===0)return"[]";n.push(a);let h="["+p.newline+a.map((m,v)=>{let T=a.length-1===v?p.newline:","+p.newlineOrSpace,S=s(m,c,u+d,l+1);return c.transform&&(S=c.transform(a,v,S)),p.indent+S+T}).join("")+p.pad+"]";return n.pop(),y(h)}if((0,ku.isObject)(a)){let h=(0,ku.getOwnEnumerableKeys)(a);if(c.filter&&(h=h.filter(v=>c.filter?.(a,v))),h.length===0)return"{}";n.push(a);let m="{"+p.newline+h.map((v,T)=>{let S=h.length-1===T?p.newline:","+p.newlineOrSpace,k=typeof v=="symbol",j=!k&&/^[a-z$_][$\w]*$/i.test(v),C=k||j?v:s(v,c,"",l+1),re=s(a[v],c,u+d,l+1);return c.transform&&(re=c.transform(a,v,re)),p.indent+String(C)+": "+re+S}).join("")+p.pad+"}";return n.pop(),y(m)}return a=a.replace(/\\/g,"\\\\"),a=String(a).replace(/[\r\n]/g,h=>h===`
55
- `?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(e,t,r,0)}o(mT,"stringifyObject");Fu.default=mT});var yt=g(ke=>{"use strict";var yT=ke&&ke.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(ke,"__esModule",{value:!0});ke.stringifyNonStringToText=ke.stringifyNonString=ke.messagesToMultilineText=ke.extractBestMessage=ke.makeErrorsSerializable=void 0;var Hu=Or(),of=yT(nf()),sf=Jt();function gT(e){return e.map(t=>(0,Hu.serializeError)(t))}o(gT,"makeErrorsSerializable");ke.makeErrorsSerializable=gT;function _T(e){if(e.length===0)return"<no data provided to log>";let t=e[0];return typeof t=="string"?t:t instanceof Error?t.message:af((0,Hu.serializeError)(t))}o(_T,"extractBestMessage");ke.extractBestMessage=_T;function bT(e){let t=[];return e.forEach(r=>{if(typeof r=="string")t.push(r);else if((0,sf.isErrorLike)(r))if(r.stack)t.push(r.stack);else{let n=(0,of.default)((0,Hu.serializeError)(r));t.push(n)}else if(typeof r=="object"){let n=(0,of.default)(r);t.push(n)}else{let n=cf(r);t.push(n)}}),t.join(`
56
- `)}o(bT,"messagesToMultilineText");ke.messagesToMultilineText=bT;function af(e){return typeof e=="string"?e:JSON.stringify(e)}o(af,"stringifyNonString");ke.stringifyNonString=af;function cf(e){return typeof e=="string"?e:e===null?"null":typeof e>"u"?"undefined":typeof e=="number"||typeof e=="boolean"||typeof e=="bigint"||typeof e=="symbol"?e.toString():typeof e=="function"?`[function ${e.name}]`:typeof e=="object"&&Array.isArray(e)?`[array ${e.length}]`:e instanceof Error?`${e.name??"Error"}: ${e.message??"unknown"}`:typeof e=="object"?(0,sf.toString)(e):"unknown"}o(cf,"stringifyNonStringToText");ke.stringifyNonStringToText=cf});var D,se,Te=I(()=>{D=crypto,se=o(e=>e instanceof CryptoKey,"isCryptoKey")});var ET,Uo,qu=I(()=>{Te();ET=o(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await D.subtle.digest(r,t))},"digest"),Uo=ET});function Se(...e){let t=e.reduce((i,{length:s})=>i+s,0),r=new Uint8Array(t),n=0;return e.forEach(i=>{r.set(i,n),n+=i.length}),r}function uf(e,t){return Se(Y.encode(e),new Uint8Array([0]),t)}function $u(e,t,r){if(t<0||t>=Mo)throw new RangeError(`value must be >= 0 and <= ${Mo-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function ko(e){let t=Math.floor(e/Mo),r=e%Mo,n=new Uint8Array(8);return $u(n,t,0),$u(n,r,4),n}function Fo(e){let t=new Uint8Array(4);return $u(t,e),t}function Ho(e){return Se(Fo(e.length),e)}async function lf(e,t,r){let n=Math.ceil((t>>3)/32),i=new Uint8Array(n*32);for(let s=0;s<n;s++){let a=new Uint8Array(4+e.length+r.length);a.set(Fo(s+1)),a.set(e,4),a.set(r,4+e.length),i.set(await Uo("sha256",a),s*32)}return i.slice(0,t>>3)}var Y,ce,Mo,ye=I(()=>{qu();Y=new TextEncoder,ce=new TextDecoder,Mo=2**32;o(Se,"concat");o(uf,"p2s");o($u,"writeUInt32BE");o(ko,"uint64be");o(Fo,"uint32be");o(Ho,"lengthAndInput");o(lf,"concatKdf")});var qo,Z,ju,te,Ie=I(()=>{ye();qo=o(e=>{let t=e;typeof t=="string"&&(t=Y.encode(t));let r=32768,n=[];for(let i=0;i<t.length;i+=r)n.push(String.fromCharCode.apply(null,t.subarray(i,i+r)));return btoa(n.join(""))},"encodeBase64"),Z=o(e=>qo(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),ju=o(e=>{let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r},"decodeBase64"),te=o(e=>{let t=e;t instanceof Uint8Array&&(t=ce.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return ju(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var Vu={};Gi(Vu,{JOSEAlgNotAllowed:()=>Yt,JOSEError:()=>pe,JOSENotSupported:()=>M,JWEDecryptionFailed:()=>Lt,JWEInvalid:()=>P,JWKInvalid:()=>Xn,JWKSInvalid:()=>Zt,JWKSMultipleMatchingKeys:()=>ei,JWKSNoMatchingKey:()=>xr,JWKSTimeout:()=>ti,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>Nr,JWTClaimValidationFailed:()=>_e,JWTExpired:()=>Wr,JWTInvalid:()=>ue});var pe,_e,Wr,Yt,M,Lt,P,z,ue,Xn,Zt,xr,ei,ti,Nr,V=I(()=>{pe=class extends Error{static{o(this,"JOSEError")}static get code(){return"ERR_JOSE_GENERIC"}constructor(t){var r;super(t),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)===null||r===void 0||r.call(Error,this,this.constructor)}},_e=class extends pe{static{o(this,"JWTClaimValidationFailed")}static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n}},Wr=class extends pe{static{o(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},Yt=class extends pe{static{o(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},M=class extends pe{static{o(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},Lt=class extends pe{static{o(this,"JWEDecryptionFailed")}constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}},P=class extends pe{static{o(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},z=class extends pe{static{o(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},ue=class extends pe{static{o(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},Xn=class extends pe{static{o(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},Zt=class extends pe{static{o(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},xr=class extends pe{static{o(this,"JWKSNoMatchingKey")}constructor(){super(...arguments),this.code="ERR_JWKS_NO_MATCHING_KEY",this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}},ei=class extends pe{static{o(this,"JWKSMultipleMatchingKeys")}constructor(){super(...arguments),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS",this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}},ti=class extends pe{static{o(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Nr=class extends pe{static{o(this,"JWSSignatureVerificationFailed")}constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}});var Xt,ri=I(()=>{Te();Xt=D.getRandomValues.bind(D)});function Gu(e){switch(e){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new M(`Unsupported JWE Algorithm: ${e}`)}}var $o,jo=I(()=>{V();ri();o(Gu,"bitLength");$o=o(e=>Xt(new Uint8Array(Gu(e)>>3)),"default")});var wT,Vo,Bu=I(()=>{V();jo();wT=o((e,t)=>{if(t.length<<3!==Gu(e))throw new P("Invalid Initialization Vector length")},"checkIvLength"),Vo=wT});var vT,Qr,Ku=I(()=>{V();vT=o((e,t)=>{let r=e.byteLength<<3;if(r!==t)throw new P(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)},"checkCekLength"),Qr=vT});var TT,pf,hf=I(()=>{TT=o((e,t)=>{if(!(e instanceof Uint8Array))throw new TypeError("First argument must be a buffer");if(!(t instanceof Uint8Array))throw new TypeError("Second argument must be a buffer");if(e.length!==t.length)throw new TypeError("Input buffers must have the same length");let r=e.length,n=0,i=-1;for(;++i<r;)n|=e[i]^t[i];return n===0},"timingSafeEqual"),pf=TT});function Ae(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function er(e,t){return e.name===t}function Go(e){return parseInt(e.name.slice(4),10)}function ST(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function ff(e,t){if(t.length&&!t.some(r=>e.usages.includes(r))){let r="CryptoKey does not support this operation, its usages must include ";if(t.length>2){let n=t.pop();r+=`one of ${t.join(", ")}, or ${n}.`}else t.length===2?r+=`one of ${t[0]} or ${t[1]}.`:r+=`${t[0]}.`;throw new TypeError(r)}}function mf(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!er(e.algorithm,"HMAC"))throw Ae("HMAC");let n=parseInt(t.slice(2),10);if(Go(e.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!er(e.algorithm,"RSASSA-PKCS1-v1_5"))throw Ae("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(Go(e.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!er(e.algorithm,"RSA-PSS"))throw Ae("RSA-PSS");let n=parseInt(t.slice(2),10);if(Go(e.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(e.algorithm.name!=="Ed25519"&&e.algorithm.name!=="Ed448")throw Ae("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!er(e.algorithm,"ECDSA"))throw Ae("ECDSA");let n=ST(t);if(e.algorithm.namedCurve!==n)throw Ae(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}ff(e,r)}function Fe(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!er(e.algorithm,"AES-GCM"))throw Ae("AES-GCM");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Ae(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!er(e.algorithm,"AES-KW"))throw Ae("AES-KW");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Ae(n,"algorithm.length");break}case"ECDH":{switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw Ae("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!er(e.algorithm,"PBKDF2"))throw Ae("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!er(e.algorithm,"RSA-OAEP"))throw Ae("RSA-OAEP");let n=parseInt(t.slice(9),10)||1;if(Go(e.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}ff(e,r)}var tr=I(()=>{o(Ae,"unusable");o(er,"isAlgorithm");o(Go,"getHashLength");o(ST,"getNamedCurve");o(ff,"checkUsage");o(mf,"checkSigCryptoKey");o(Fe,"checkEncCryptoKey")});function yf(e,t,...r){if(r.length>2){let n=r.pop();e+=`one of type ${r.join(", ")}, or ${n}.`}else r.length===2?e+=`one of type ${r[0]} or ${r[1]}.`:e+=`of type ${r[0]}.`;return t==null?e+=` Received ${t}`:typeof t=="function"&&t.name?e+=` Received function ${t.name}`:typeof t=="object"&&t!=null&&t.constructor&&t.constructor.name&&(e+=` Received an instance of ${t.constructor.name}`),e}function Ju(e,t,...r){return yf(`Key for the ${e} algorithm must be `,t,...r)}var ie,ot=I(()=>{o(yf,"message");ie=o((e,...t)=>yf("Key must be ",e,...t),"default");o(Ju,"withAlg")});var zu,W,st=I(()=>{Te();zu=o(e=>se(e),"default"),W=["CryptoKey"]});async function IT(e,t,r,n,i,s){if(!(t instanceof Uint8Array))throw new TypeError(ie(t,"Uint8Array"));let a=parseInt(e.slice(1,4),10),c=await D.subtle.importKey("raw",t.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await D.subtle.importKey("raw",t.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Se(s,n,r,ko(s.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=pf(i,d)}catch{}if(!p)throw new Lt;let y;try{y=new Uint8Array(await D.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!y)throw new Lt;return y}async function AT(e,t,r,n,i,s){let a;t instanceof Uint8Array?a=await D.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(Fe(t,e,"decrypt"),a=t);try{return new Uint8Array(await D.subtle.decrypt({additionalData:s,iv:n,name:"AES-GCM",tagLength:128},a,Se(r,i)))}catch{throw new Lt}}var PT,Bo,Wu=I(()=>{ye();Bu();Ku();hf();V();Te();tr();ot();st();o(IT,"cbcDecrypt");o(AT,"gcmDecrypt");PT=o(async(e,t,r,n,i,s)=>{if(!se(t)&&!(t instanceof Uint8Array))throw new TypeError(ie(t,...W,"Uint8Array"));switch(Vo(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&Qr(t,parseInt(e.slice(-3),10)),IT(e,t,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&Qr(t,parseInt(e.slice(1,4),10)),AT(e,t,r,n,i,s);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),Bo=PT});var gf,_f,Qu=I(()=>{V();gf=o(async()=>{throw new M('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.')},"inflate"),_f=o(async()=>{throw new M('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `deflateRaw` encrypt option to provide Deflate Raw implementation.')},"deflate")});var RT,gt,Yr=I(()=>{RT=o((...e)=>{let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let r;for(let n of t){let i=Object.keys(n);if(!r||r.size===0){r=new Set(i);continue}for(let s of i){if(r.has(s))return!1;r.add(s)}}return!0},"isDisjoint"),gt=RT});function OT(e){return typeof e=="object"&&e!==null}function Q(e){if(!OT(e)||Object.prototype.toString.call(e)!=="[object Object]")return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}var He=I(()=>{o(OT,"isObjectLike");o(Q,"isObject")});var xT,Zr,Yu=I(()=>{xT=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],Zr=xT});function bf(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function Ef(e,t,r){if(se(e))return Fe(e,t,r),e;if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"AES-KW",!0,[r]);throw new TypeError(ie(e,...W,"Uint8Array"))}var ni,ii,Ko=I(()=>{Yu();Te();tr();ot();st();o(bf,"checkKeySize");o(Ef,"getCryptoKey");ni=o(async(e,t,r)=>{let n=await Ef(t,e,"wrapKey");bf(n,e);let i=await D.subtle.importKey("raw",r,...Zr);return new Uint8Array(await D.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),ii=o(async(e,t,r)=>{let n=await Ef(t,e,"unwrapKey");bf(n,e);let i=await D.subtle.unwrapKey("raw",r,n,"AES-KW",...Zr);return new Uint8Array(await D.subtle.exportKey("raw",i))},"unwrap")});async function Jo(e,t,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){if(!se(e))throw new TypeError(ie(e,...W));if(Fe(e,"ECDH"),!se(t))throw new TypeError(ie(t,...W));Fe(t,"ECDH","deriveBits");let a=Se(Ho(Y.encode(r)),Ho(i),Ho(s),Fo(n)),c;e.algorithm.name==="X25519"?c=256:e.algorithm.name==="X448"?c=448:c=Math.ceil(parseInt(e.algorithm.namedCurve.substr(-3),10)/8)<<3;let u=new Uint8Array(await D.subtle.deriveBits({name:e.algorithm.name,public:e},t,c));return lf(u,n,a)}async function wf(e){if(!se(e))throw new TypeError(ie(e,...W));return D.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function zo(e){if(!se(e))throw new TypeError(ie(e,...W));return["P-256","P-384","P-521"].includes(e.algorithm.namedCurve)||e.algorithm.name==="X25519"||e.algorithm.name==="X448"}var Zu=I(()=>{ye();Te();tr();ot();st();o(Jo,"deriveKey");o(wf,"generateEpk");o(zo,"ecdhAllowed")});function Xu(e){if(!(e instanceof Uint8Array)||e.length<8)throw new P("PBES2 Salt Input must be 8 or more octets")}var Tf=I(()=>{V();o(Xu,"checkP2s")});function NT(e,t){if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(se(e))return Fe(e,t,"deriveBits","deriveKey"),e;throw new TypeError(ie(e,...W,"Uint8Array"))}async function Sf(e,t,r,n){Xu(e);let i=uf(t,e),s=parseInt(t.slice(13,16),10),a={hash:`SHA-${t.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},c={length:s,name:"AES-KW"},u=await NT(n,t);if(u.usages.includes("deriveBits"))return new Uint8Array(await D.subtle.deriveBits(a,u,s));if(u.usages.includes("deriveKey"))return D.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var If,Af,el=I(()=>{ri();ye();Ie();Ko();Tf();Te();tr();ot();st();o(NT,"getCryptoKey");o(Sf,"deriveKey");If=o(async(e,t,r,n=2048,i=Xt(new Uint8Array(16)))=>{let s=await Sf(i,e,n,t);return{encryptedKey:await ni(e.slice(-6),s,r),p2c:n,p2s:Z(i)}},"encrypt"),Af=o(async(e,t,r,n,i)=>{let s=await Sf(i,e,n,t);return ii(e.slice(-6),s,r)},"decrypt")});function Xr(e){switch(e){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new M(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var Pf=I(()=>{V();o(Xr,"subtleRsaEs")});var Cr,Wo=I(()=>{Cr=o((e,t)=>{if(e.startsWith("RS")||e.startsWith("PS")){let{modulusLength:r}=t.algorithm;if(typeof r!="number"||r<2048)throw new TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}},"default")});var Rf,Of,tl=I(()=>{Pf();Yu();Te();tr();Wo();ot();st();Rf=o(async(e,t,r)=>{if(!se(t))throw new TypeError(ie(t,...W));if(Fe(t,e,"encrypt","wrapKey"),Cr(e,t),t.usages.includes("encrypt"))return new Uint8Array(await D.subtle.encrypt(Xr(e),t,r));if(t.usages.includes("wrapKey")){let n=await D.subtle.importKey("raw",r,...Zr);return new Uint8Array(await D.subtle.wrapKey("raw",n,t,Xr(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),Of=o(async(e,t,r)=>{if(!se(t))throw new TypeError(ie(t,...W));if(Fe(t,e,"decrypt","unwrapKey"),Cr(e,t),t.usages.includes("decrypt"))return new Uint8Array(await D.subtle.decrypt(Xr(e),t,r));if(t.usages.includes("unwrapKey")){let n=await D.subtle.unwrapKey("raw",r,t,Xr(e),...Zr);return new Uint8Array(await D.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')},"decrypt")});function oi(e){switch(e){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new M(`Unsupported JWE Algorithm: ${e}`)}}var _t,si=I(()=>{V();ri();o(oi,"bitLength");_t=o(e=>Xt(new Uint8Array(oi(e)>>3)),"default")});var rl,xf=I(()=>{rl=o((e,t)=>{let r=(e.match(/.{1,64}/g)||[]).join(`
54
+ `).replace(new RegExp(p.pad,"g"),u).replace(new RegExp(p.indent,"g"),u+d)},"expandWhiteSpace");if(n.includes(a))return'"[Circular]"';if(a==null||typeof a=="number"||typeof a=="boolean"||typeof a=="function"||typeof a=="symbol"||(0,Fu.isRegexp)(a))return String(a);if(a instanceof Date)return`new Date('${a.toISOString()}')`;if(l>i)return"...";if(Array.isArray(a)){if(a.length===0)return"[]";n.push(a);let h="["+p.newline+a.map((m,v)=>{let T=a.length-1===v?p.newline:","+p.newlineOrSpace,S=s(m,c,u+d,l+1);return c.transform&&(S=c.transform(a,v,S)),p.indent+S+T}).join("")+p.pad+"]";return n.pop(),y(h)}if((0,Fu.isObject)(a)){let h=(0,Fu.getOwnEnumerableKeys)(a);if(c.filter&&(h=h.filter(v=>c.filter?.(a,v))),h.length===0)return"{}";n.push(a);let m="{"+p.newline+h.map((v,T)=>{let S=h.length-1===T?p.newline:","+p.newlineOrSpace,k=typeof v=="symbol",j=!k&&/^[a-z$_][$\w]*$/i.test(v),C=k||j?v:s(v,c,"",l+1),re=s(a[v],c,u+d,l+1);return c.transform&&(re=c.transform(a,v,re)),p.indent+String(C)+": "+re+S}).join("")+p.pad+"}";return n.pop(),y(m)}return a=a.replace(/\\/g,"\\\\"),a=String(a).replace(/[\r\n]/g,h=>h===`
55
+ `?"\\n":"\\r"),c.singleQuotes===!1?(a=a.replace(/"/g,'\\"'),`"${a}"`):(a=a.replace(/'/g,"\\'"),`'${a}'`)},"stringify")(e,t,r,0)}o(gT,"stringifyObject");Hu.default=gT});var yt=g(ke=>{"use strict";var _T=ke&&ke.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(ke,"__esModule",{value:!0});ke.stringifyNonStringToText=ke.stringifyNonString=ke.messagesToMultilineText=ke.extractBestMessage=ke.makeErrorsSerializable=void 0;var qu=Or(),sf=_T(of()),af=zt();function bT(e){return e.map(t=>(0,qu.serializeError)(t))}o(bT,"makeErrorsSerializable");ke.makeErrorsSerializable=bT;function ET(e){if(e.length===0)return"<no data provided to log>";let t=e[0];return typeof t=="string"?t:t instanceof Error?t.message:cf((0,qu.serializeError)(t))}o(ET,"extractBestMessage");ke.extractBestMessage=ET;function wT(e){let t=[];return e.forEach(r=>{if(typeof r=="string")t.push(r);else if((0,af.isErrorLike)(r))if(r.stack)t.push(r.stack);else{let n=(0,sf.default)((0,qu.serializeError)(r));t.push(n)}else if(typeof r=="object"){let n=(0,sf.default)(r);t.push(n)}else{let n=uf(r);t.push(n)}}),t.join(`
56
+ `)}o(wT,"messagesToMultilineText");ke.messagesToMultilineText=wT;function cf(e){return typeof e=="string"?e:JSON.stringify(e)}o(cf,"stringifyNonString");ke.stringifyNonString=cf;function uf(e){return typeof e=="string"?e:e===null?"null":typeof e>"u"?"undefined":typeof e=="number"||typeof e=="boolean"||typeof e=="bigint"||typeof e=="symbol"?e.toString():typeof e=="function"?`[function ${e.name}]`:typeof e=="object"&&Array.isArray(e)?`[array ${e.length}]`:e instanceof Error?`${e.name??"Error"}: ${e.message??"unknown"}`:typeof e=="object"?(0,af.toString)(e):"unknown"}o(uf,"stringifyNonStringToText");ke.stringifyNonStringToText=uf});var D,se,Te=I(()=>{D=crypto,se=o(e=>e instanceof CryptoKey,"isCryptoKey")});var vT,Uo,$u=I(()=>{Te();vT=o(async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await D.subtle.digest(r,t))},"digest"),Uo=vT});function Se(...e){let t=e.reduce((i,{length:s})=>i+s,0),r=new Uint8Array(t),n=0;return e.forEach(i=>{r.set(i,n),n+=i.length}),r}function lf(e,t){return Se(Y.encode(e),new Uint8Array([0]),t)}function ju(e,t,r){if(t<0||t>=Mo)throw new RangeError(`value must be >= 0 and <= ${Mo-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function ko(e){let t=Math.floor(e/Mo),r=e%Mo,n=new Uint8Array(8);return ju(n,t,0),ju(n,r,4),n}function Fo(e){let t=new Uint8Array(4);return ju(t,e),t}function Ho(e){return Se(Fo(e.length),e)}async function df(e,t,r){let n=Math.ceil((t>>3)/32),i=new Uint8Array(n*32);for(let s=0;s<n;s++){let a=new Uint8Array(4+e.length+r.length);a.set(Fo(s+1)),a.set(e,4),a.set(r,4+e.length),i.set(await Uo("sha256",a),s*32)}return i.slice(0,t>>3)}var Y,ce,Mo,ge=I(()=>{$u();Y=new TextEncoder,ce=new TextDecoder,Mo=2**32;o(Se,"concat");o(lf,"p2s");o(ju,"writeUInt32BE");o(ko,"uint64be");o(Fo,"uint32be");o(Ho,"lengthAndInput");o(df,"concatKdf")});var qo,Z,Vu,te,Ie=I(()=>{ge();qo=o(e=>{let t=e;typeof t=="string"&&(t=Y.encode(t));let r=32768,n=[];for(let i=0;i<t.length;i+=r)n.push(String.fromCharCode.apply(null,t.subarray(i,i+r)));return btoa(n.join(""))},"encodeBase64"),Z=o(e=>qo(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),Vu=o(e=>{let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r},"decodeBase64"),te=o(e=>{let t=e;t instanceof Uint8Array&&(t=ce.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return Vu(t)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var Gu={};Gi(Gu,{JOSEAlgNotAllowed:()=>Zt,JOSEError:()=>pe,JOSENotSupported:()=>M,JWEDecryptionFailed:()=>Lt,JWEInvalid:()=>P,JWKInvalid:()=>Xn,JWKSInvalid:()=>Xt,JWKSMultipleMatchingKeys:()=>ei,JWKSNoMatchingKey:()=>xr,JWKSTimeout:()=>ti,JWSInvalid:()=>z,JWSSignatureVerificationFailed:()=>Nr,JWTClaimValidationFailed:()=>_e,JWTExpired:()=>Wr,JWTInvalid:()=>ue});var pe,_e,Wr,Zt,M,Lt,P,z,ue,Xn,Xt,xr,ei,ti,Nr,V=I(()=>{pe=class extends Error{static{o(this,"JOSEError")}static get code(){return"ERR_JOSE_GENERIC"}constructor(t){var r;super(t),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)===null||r===void 0||r.call(Error,this,this.constructor)}},_e=class extends pe{static{o(this,"JWTClaimValidationFailed")}static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n}},Wr=class extends pe{static{o(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(t,r="unspecified",n="unspecified"){super(t),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},Zt=class extends pe{static{o(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},M=class extends pe{static{o(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},Lt=class extends pe{static{o(this,"JWEDecryptionFailed")}constructor(){super(...arguments),this.code="ERR_JWE_DECRYPTION_FAILED",this.message="decryption operation failed"}static get code(){return"ERR_JWE_DECRYPTION_FAILED"}},P=class extends pe{static{o(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},z=class extends pe{static{o(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},ue=class extends pe{static{o(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},Xn=class extends pe{static{o(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},Xt=class extends pe{static{o(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},xr=class extends pe{static{o(this,"JWKSNoMatchingKey")}constructor(){super(...arguments),this.code="ERR_JWKS_NO_MATCHING_KEY",this.message="no applicable key found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_NO_MATCHING_KEY"}},ei=class extends pe{static{o(this,"JWKSMultipleMatchingKeys")}constructor(){super(...arguments),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS",this.message="multiple matching keys found in the JSON Web Key Set"}static get code(){return"ERR_JWKS_MULTIPLE_MATCHING_KEYS"}},ti=class extends pe{static{o(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Nr=class extends pe{static{o(this,"JWSSignatureVerificationFailed")}constructor(){super(...arguments),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED",this.message="signature verification failed"}static get code(){return"ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}});var er,ri=I(()=>{Te();er=D.getRandomValues.bind(D)});function Bu(e){switch(e){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new M(`Unsupported JWE Algorithm: ${e}`)}}var $o,jo=I(()=>{V();ri();o(Bu,"bitLength");$o=o(e=>er(new Uint8Array(Bu(e)>>3)),"default")});var TT,Vo,Ku=I(()=>{V();jo();TT=o((e,t)=>{if(t.length<<3!==Bu(e))throw new P("Invalid Initialization Vector length")},"checkIvLength"),Vo=TT});var ST,Qr,Ju=I(()=>{V();ST=o((e,t)=>{let r=e.byteLength<<3;if(r!==t)throw new P(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)},"checkCekLength"),Qr=ST});var IT,hf,ff=I(()=>{IT=o((e,t)=>{if(!(e instanceof Uint8Array))throw new TypeError("First argument must be a buffer");if(!(t instanceof Uint8Array))throw new TypeError("Second argument must be a buffer");if(e.length!==t.length)throw new TypeError("Input buffers must have the same length");let r=e.length,n=0,i=-1;for(;++i<r;)n|=e[i]^t[i];return n===0},"timingSafeEqual"),hf=IT});function Ae(e,t="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function tr(e,t){return e.name===t}function Go(e){return parseInt(e.name.slice(4),10)}function AT(e){switch(e){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function mf(e,t){if(t.length&&!t.some(r=>e.usages.includes(r))){let r="CryptoKey does not support this operation, its usages must include ";if(t.length>2){let n=t.pop();r+=`one of ${t.join(", ")}, or ${n}.`}else t.length===2?r+=`one of ${t[0]} or ${t[1]}.`:r+=`${t[0]}.`;throw new TypeError(r)}}function yf(e,t,...r){switch(t){case"HS256":case"HS384":case"HS512":{if(!tr(e.algorithm,"HMAC"))throw Ae("HMAC");let n=parseInt(t.slice(2),10);if(Go(e.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!tr(e.algorithm,"RSASSA-PKCS1-v1_5"))throw Ae("RSASSA-PKCS1-v1_5");let n=parseInt(t.slice(2),10);if(Go(e.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!tr(e.algorithm,"RSA-PSS"))throw Ae("RSA-PSS");let n=parseInt(t.slice(2),10);if(Go(e.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(e.algorithm.name!=="Ed25519"&&e.algorithm.name!=="Ed448")throw Ae("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!tr(e.algorithm,"ECDSA"))throw Ae("ECDSA");let n=AT(t);if(e.algorithm.namedCurve!==n)throw Ae(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}mf(e,r)}function Fe(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!tr(e.algorithm,"AES-GCM"))throw Ae("AES-GCM");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Ae(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!tr(e.algorithm,"AES-KW"))throw Ae("AES-KW");let n=parseInt(t.slice(1,4),10);if(e.algorithm.length!==n)throw Ae(n,"algorithm.length");break}case"ECDH":{switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw Ae("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!tr(e.algorithm,"PBKDF2"))throw Ae("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!tr(e.algorithm,"RSA-OAEP"))throw Ae("RSA-OAEP");let n=parseInt(t.slice(9),10)||1;if(Go(e.algorithm.hash)!==n)throw Ae(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}mf(e,r)}var rr=I(()=>{o(Ae,"unusable");o(tr,"isAlgorithm");o(Go,"getHashLength");o(AT,"getNamedCurve");o(mf,"checkUsage");o(yf,"checkSigCryptoKey");o(Fe,"checkEncCryptoKey")});function gf(e,t,...r){if(r.length>2){let n=r.pop();e+=`one of type ${r.join(", ")}, or ${n}.`}else r.length===2?e+=`one of type ${r[0]} or ${r[1]}.`:e+=`of type ${r[0]}.`;return t==null?e+=` Received ${t}`:typeof t=="function"&&t.name?e+=` Received function ${t.name}`:typeof t=="object"&&t!=null&&t.constructor&&t.constructor.name&&(e+=` Received an instance of ${t.constructor.name}`),e}function zu(e,t,...r){return gf(`Key for the ${e} algorithm must be `,t,...r)}var ie,ot=I(()=>{o(gf,"message");ie=o((e,...t)=>gf("Key must be ",e,...t),"default");o(zu,"withAlg")});var Wu,W,st=I(()=>{Te();Wu=o(e=>se(e),"default"),W=["CryptoKey"]});async function PT(e,t,r,n,i,s){if(!(t instanceof Uint8Array))throw new TypeError(ie(t,"Uint8Array"));let a=parseInt(e.slice(1,4),10),c=await D.subtle.importKey("raw",t.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await D.subtle.importKey("raw",t.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Se(s,n,r,ko(s.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=hf(i,d)}catch{}if(!p)throw new Lt;let y;try{y=new Uint8Array(await D.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!y)throw new Lt;return y}async function RT(e,t,r,n,i,s){let a;t instanceof Uint8Array?a=await D.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(Fe(t,e,"decrypt"),a=t);try{return new Uint8Array(await D.subtle.decrypt({additionalData:s,iv:n,name:"AES-GCM",tagLength:128},a,Se(r,i)))}catch{throw new Lt}}var OT,Bo,Qu=I(()=>{ge();Ku();Ju();ff();V();Te();rr();ot();st();o(PT,"cbcDecrypt");o(RT,"gcmDecrypt");OT=o(async(e,t,r,n,i,s)=>{if(!se(t)&&!(t instanceof Uint8Array))throw new TypeError(ie(t,...W,"Uint8Array"));switch(Vo(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&Qr(t,parseInt(e.slice(-3),10)),PT(e,t,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&Qr(t,parseInt(e.slice(1,4),10)),RT(e,t,r,n,i,s);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),Bo=OT});var _f,bf,Yu=I(()=>{V();_f=o(async()=>{throw new M('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `inflateRaw` decrypt option to provide Inflate Raw implementation.')},"inflate"),bf=o(async()=>{throw new M('JWE "zip" (Compression Algorithm) Header Parameter is not supported by your javascript runtime. You need to use the `deflateRaw` encrypt option to provide Deflate Raw implementation.')},"deflate")});var xT,gt,Yr=I(()=>{xT=o((...e)=>{let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let r;for(let n of t){let i=Object.keys(n);if(!r||r.size===0){r=new Set(i);continue}for(let s of i){if(r.has(s))return!1;r.add(s)}}return!0},"isDisjoint"),gt=xT});function NT(e){return typeof e=="object"&&e!==null}function Q(e){if(!NT(e)||Object.prototype.toString.call(e)!=="[object Object]")return!1;if(Object.getPrototypeOf(e)===null)return!0;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}var He=I(()=>{o(NT,"isObjectLike");o(Q,"isObject")});var CT,Zr,Zu=I(()=>{CT=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],Zr=CT});function Ef(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${t}`)}function wf(e,t,r){if(se(e))return Fe(e,t,r),e;if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"AES-KW",!0,[r]);throw new TypeError(ie(e,...W,"Uint8Array"))}var ni,ii,Ko=I(()=>{Zu();Te();rr();ot();st();o(Ef,"checkKeySize");o(wf,"getCryptoKey");ni=o(async(e,t,r)=>{let n=await wf(t,e,"wrapKey");Ef(n,e);let i=await D.subtle.importKey("raw",r,...Zr);return new Uint8Array(await D.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),ii=o(async(e,t,r)=>{let n=await wf(t,e,"unwrapKey");Ef(n,e);let i=await D.subtle.unwrapKey("raw",r,n,"AES-KW",...Zr);return new Uint8Array(await D.subtle.exportKey("raw",i))},"unwrap")});async function Jo(e,t,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){if(!se(e))throw new TypeError(ie(e,...W));if(Fe(e,"ECDH"),!se(t))throw new TypeError(ie(t,...W));Fe(t,"ECDH","deriveBits");let a=Se(Ho(Y.encode(r)),Ho(i),Ho(s),Fo(n)),c;e.algorithm.name==="X25519"?c=256:e.algorithm.name==="X448"?c=448:c=Math.ceil(parseInt(e.algorithm.namedCurve.substr(-3),10)/8)<<3;let u=new Uint8Array(await D.subtle.deriveBits({name:e.algorithm.name,public:e},t,c));return df(u,n,a)}async function vf(e){if(!se(e))throw new TypeError(ie(e,...W));return D.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function zo(e){if(!se(e))throw new TypeError(ie(e,...W));return["P-256","P-384","P-521"].includes(e.algorithm.namedCurve)||e.algorithm.name==="X25519"||e.algorithm.name==="X448"}var Xu=I(()=>{ge();Te();rr();ot();st();o(Jo,"deriveKey");o(vf,"generateEpk");o(zo,"ecdhAllowed")});function el(e){if(!(e instanceof Uint8Array)||e.length<8)throw new P("PBES2 Salt Input must be 8 or more octets")}var Sf=I(()=>{V();o(el,"checkP2s")});function LT(e,t){if(e instanceof Uint8Array)return D.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(se(e))return Fe(e,t,"deriveBits","deriveKey"),e;throw new TypeError(ie(e,...W,"Uint8Array"))}async function If(e,t,r,n){el(e);let i=lf(t,e),s=parseInt(t.slice(13,16),10),a={hash:`SHA-${t.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},c={length:s,name:"AES-KW"},u=await LT(n,t);if(u.usages.includes("deriveBits"))return new Uint8Array(await D.subtle.deriveBits(a,u,s));if(u.usages.includes("deriveKey"))return D.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var Af,Pf,tl=I(()=>{ri();ge();Ie();Ko();Sf();Te();rr();ot();st();o(LT,"getCryptoKey");o(If,"deriveKey");Af=o(async(e,t,r,n=2048,i=er(new Uint8Array(16)))=>{let s=await If(i,e,n,t);return{encryptedKey:await ni(e.slice(-6),s,r),p2c:n,p2s:Z(i)}},"encrypt"),Pf=o(async(e,t,r,n,i)=>{let s=await If(i,e,n,t);return ii(e.slice(-6),s,r)},"decrypt")});function Xr(e){switch(e){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new M(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var Rf=I(()=>{V();o(Xr,"subtleRsaEs")});var Cr,Wo=I(()=>{Cr=o((e,t)=>{if(e.startsWith("RS")||e.startsWith("PS")){let{modulusLength:r}=t.algorithm;if(typeof r!="number"||r<2048)throw new TypeError(`${e} requires key modulusLength to be 2048 bits or larger`)}},"default")});var Of,xf,rl=I(()=>{Rf();Zu();Te();rr();Wo();ot();st();Of=o(async(e,t,r)=>{if(!se(t))throw new TypeError(ie(t,...W));if(Fe(t,e,"encrypt","wrapKey"),Cr(e,t),t.usages.includes("encrypt"))return new Uint8Array(await D.subtle.encrypt(Xr(e),t,r));if(t.usages.includes("wrapKey")){let n=await D.subtle.importKey("raw",r,...Zr);return new Uint8Array(await D.subtle.wrapKey("raw",n,t,Xr(e)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),xf=o(async(e,t,r)=>{if(!se(t))throw new TypeError(ie(t,...W));if(Fe(t,e,"decrypt","unwrapKey"),Cr(e,t),t.usages.includes("decrypt"))return new Uint8Array(await D.subtle.decrypt(Xr(e),t,r));if(t.usages.includes("unwrapKey")){let n=await D.subtle.unwrapKey("raw",r,t,Xr(e),...Zr);return new Uint8Array(await D.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')},"decrypt")});function oi(e){switch(e){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new M(`Unsupported JWE Algorithm: ${e}`)}}var _t,si=I(()=>{V();ri();o(oi,"bitLength");_t=o(e=>er(new Uint8Array(oi(e)>>3)),"default")});var nl,Nf=I(()=>{nl=o((e,t)=>{let r=(e.match(/.{1,64}/g)||[]).join(`
57
57
  `);return`-----BEGIN ${t}-----
58
58
  ${r}
59
- -----END ${t}-----`},"default")});function Cf(e){let t=[],r=0;for(;r<e.length;){let n=Ff(e.subarray(r));t.push(n),r+=n.byteLength}return t}function Ff(e){let t=0,r=e[0]&31;if(t++,r===31){for(r=0;e[t]>=128;)r=r*128+e[t]-128,t++;r=r*128+e[t]-128,t++}let n=0;if(e[t]<128)n=e[t],t++;else if(n===128){for(n=0;e[t+n]!==0||e[t+n+1]!==0;){if(n>e.byteLength)throw new TypeError("invalid indefinite form length");n++}let s=t+n+2;return{byteLength:s,contents:e.subarray(t,t+n),raw:e.subarray(0,s)}}else{let s=e[t]&127;t++,n=0;for(let a=0;a<s;a++)n=n*256+e[t],t++}let i=t+n;return{byteLength:i,contents:e.subarray(t,i),raw:e.subarray(0,i)}}function CT(e){let t=Cf(Cf(Ff(e).contents)[0].contents);return qo(t[t[0].raw[0]===160?6:5].raw)}function LT(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=ju(t);return rl(CT(r),"PUBLIC KEY")}var Lf,Df,Uf,rr,Nf,Mf,kf,nl,Hf,Qo=I(()=>{Te();ot();Ie();xf();V();st();Lf=o(async(e,t,r)=>{if(!se(r))throw new TypeError(ie(r,...W));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==e)throw new TypeError(`key is not a ${e} key`);return rl(qo(new Uint8Array(await D.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),Df=o(e=>Lf("public","spki",e),"toSPKI"),Uf=o(e=>Lf("private","pkcs8",e),"toPKCS8"),rr=o((e,t,r=0)=>{r===0&&(t.unshift(t.length),t.unshift(6));let n=e.indexOf(t[0],r);if(n===-1)return!1;let i=e.subarray(n,n+t.length);return i.length!==t.length?!1:i.every((s,a)=>s===t[a])||rr(e,t,n+1)},"findOid"),Nf=o(e=>{switch(!0){case rr(e,[42,134,72,206,61,3,1,7]):return"P-256";case rr(e,[43,129,4,0,34]):return"P-384";case rr(e,[43,129,4,0,35]):return"P-521";case rr(e,[43,101,110]):return"X25519";case rr(e,[43,101,111]):return"X448";case rr(e,[43,101,112]):return"Ed25519";case rr(e,[43,101,113]):return"Ed448";default:throw new M("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),Mf=o(async(e,t,r,n,i)=>{var s;let a,c,u=new Uint8Array(atob(r.replace(e,"")).split("").map(d=>d.charCodeAt(0))),l=t==="spki";switch(n){case"PS256":case"PS384":case"PS512":a={name:"RSA-PSS",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RS256":case"RS384":case"RS512":a={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":a={name:"RSA-OAEP",hash:`SHA-${parseInt(n.slice(-3),10)||1}`},c=l?["encrypt","wrapKey"]:["decrypt","unwrapKey"];break;case"ES256":a={name:"ECDSA",namedCurve:"P-256"},c=l?["verify"]:["sign"];break;case"ES384":a={name:"ECDSA",namedCurve:"P-384"},c=l?["verify"]:["sign"];break;case"ES512":a={name:"ECDSA",namedCurve:"P-521"},c=l?["verify"]:["sign"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{let d=Nf(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:Nf(u)},c=l?["verify"]:["sign"];break;default:throw new M('Invalid or unsupported "alg" (Algorithm) value')}return D.subtle.importKey(t,u,a,(s=i?.extractable)!==null&&s!==void 0?s:!1,c)},"genericImport"),kf=o((e,t,r)=>Mf(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),nl=o((e,t,r)=>Mf(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");o(Cf,"getElement");o(Ff,"parseElement");o(CT,"spkiFromX509");o(LT,"getSPKI");Hf=o((e,t,r)=>{let n;try{n=LT(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return nl(n,t,r)},"fromX509")});function DT(e){let t,r;switch(e.kty){case"oct":{switch(e.alg){case"HS256":case"HS384":case"HS512":t={name:"HMAC",hash:`SHA-${e.alg.slice(-3)}`},r=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":throw new M(`${e.alg} keys cannot be imported as CryptoKey instances`);case"A128GCM":case"A192GCM":case"A256GCM":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":t={name:"AES-GCM"},r=["encrypt","decrypt"];break;case"A128KW":case"A192KW":case"A256KW":t={name:"AES-KW"},r=["wrapKey","unwrapKey"];break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":t={name:"PBKDF2"},r=["deriveBits"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"RSA":{switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},r=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"EC":{switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},r=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},r=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"OKP":{switch(e.alg){case"EdDSA":t={name:e.crv},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new M('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:r}}var UT,il,qf=I(()=>{Te();V();Ie();o(DT,"subtleMapping");UT=o(async e=>{var t,r;if(!e.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:n,keyUsages:i}=DT(e),s=[n,(t=e.ext)!==null&&t!==void 0?t:!1,(r=e.key_ops)!==null&&r!==void 0?r:i];if(n.name==="PBKDF2")return D.subtle.importKey("raw",te(e.k),...s);let a={...e};return delete a.alg,delete a.use,D.subtle.importKey("jwk",a,...s)},"parse"),il=UT});async function $f(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return nl(e,t,r)}async function jf(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return Hf(e,t,r)}async function Vf(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return kf(e,t,r)}async function nr(e,t,r){var n;if(!Q(e))throw new TypeError("JWK must be an object");switch(t||(t=e.alg),e.kty){case"oct":if(typeof e.k!="string"||!e.k)throw new TypeError('missing "k" (Key Value) Parameter value');return r??(r=e.ext!==!0),r?il({...e,alg:t,ext:(n=e.ext)!==null&&n!==void 0?n:!1}):te(e.k);case"RSA":if(e.oth!==void 0)throw new M('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return il({...e,alg:t});default:throw new M('Unsupported "kty" (Key Type) Parameter value')}}var ai=I(()=>{Ie();Qo();qf();V();He();o($f,"importSPKI");o(jf,"importX509");o(Vf,"importPKCS8");o(nr,"importJWK")});var MT,kT,FT,ir,ci=I(()=>{ot();st();MT=o((e,t)=>{if(!(t instanceof Uint8Array)){if(!zu(t))throw new TypeError(Ju(e,t,...W,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${W.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),kT=o((e,t,r)=>{if(!zu(t))throw new TypeError(Ju(e,t,...W));if(t.type==="secret")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&t.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&t.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&r==="verify"&&t.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(t.algorithm&&r==="encrypt"&&t.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),FT=o((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?MT(e,t):kT(e,t,r)},"checkKeyType"),ir=FT});async function HT(e,t,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(ie(r,"Uint8Array"));let s=parseInt(e.slice(1,4),10),a=await D.subtle.importKey("raw",r.subarray(s>>3),"AES-CBC",!1,["encrypt"]),c=await D.subtle.importKey("raw",r.subarray(0,s>>3),{hash:`SHA-${s<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await D.subtle.encrypt({iv:n,name:"AES-CBC"},a,t)),l=Se(i,n,u,ko(i.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",c,l)).slice(0,s>>3));return{ciphertext:u,tag:d}}async function qT(e,t,r,n,i){let s;r instanceof Uint8Array?s=await D.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(Fe(r,e,"encrypt"),s=r);let a=new Uint8Array(await D.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},s,t)),c=a.slice(-16);return{ciphertext:a.slice(0,-16),tag:c}}var $T,ui,ol=I(()=>{ye();Bu();Ku();Te();tr();ot();V();st();o(HT,"cbcEncrypt");o(qT,"gcmEncrypt");$T=o(async(e,t,r,n,i)=>{if(!se(r)&&!(r instanceof Uint8Array))throw new TypeError(ie(r,...W,"Uint8Array"));switch(Vo(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&Qr(r,parseInt(e.slice(-3),10)),HT(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&Qr(r,parseInt(e.slice(1,4),10)),qT(e,t,r,n,i);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),ui=$T});async function Gf(e,t,r,n){let i=e.slice(0,7);n||(n=$o(i));let{ciphertext:s,tag:a}=await ui(i,r,t,n,new Uint8Array(0));return{encryptedKey:s,iv:Z(n),tag:Z(a)}}async function Bf(e,t,r,n,i){let s=e.slice(0,7);return Bo(s,t,r,n,i,new Uint8Array(0))}var sl=I(()=>{ol();Wu();jo();Ie();o(Gf,"wrap");o(Bf,"unwrap")});async function jT(e,t,r,n,i){switch(ir(e,t,"decrypt"),e){case"dir":{if(r!==void 0)throw new P("Encountered unexpected JWE Encrypted Key");return t}case"ECDH-ES":if(r!==void 0)throw new P("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Q(n.epk))throw new P('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!zo(t))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let s=await nr(n.epk,e),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new P('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=te(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new P('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=te(n.apv)}let u=await Jo(s,t,e==="ECDH-ES"?n.enc:e,e==="ECDH-ES"?oi(n.enc):parseInt(e.slice(-5,-2),10),a,c);if(e==="ECDH-ES")return u;if(r===void 0)throw new P("JWE Encrypted Key missing");return ii(e.slice(-6),u,r)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(r===void 0)throw new P("JWE Encrypted Key missing");return Of(e,t,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new P("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new P('JOSE Header "p2c" (PBES2 Count) missing or invalid');let s=i?.maxPBES2Count||1e4;if(n.p2c>s)throw new P('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new P('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return Af(e,t,r,n.p2c,te(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new P("JWE Encrypted Key missing");return ii(e,t,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new P("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new P('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new P('JOSE Header "tag" (Authentication Tag) missing or invalid');let s=te(n.iv),a=te(n.tag);return Bf(e,t,r,s,a)}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var Kf,Jf=I(()=>{Ko();Zu();el();tl();Ie();V();si();ai();ci();He();sl();o(jT,"decryptKeyManagement");Kf=jT});function VT(e,t,r,n,i){if(i.crit!==void 0&&n.crit===void 0)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||n.crit===void 0)return new Set;if(!Array.isArray(n.crit)||n.crit.length===0||n.crit.some(a=>typeof a!="string"||a.length===0))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let s;r!==void 0?s=new Map([...Object.entries(r),...t.entries()]):s=t;for(let a of n.crit){if(!s.has(a))throw new M(`Extension Header Parameter "${a}" is not recognized`);if(i[a]===void 0)throw new e(`Extension Header Parameter "${a}" is missing`);if(s.get(a)&&n[a]===void 0)throw new e(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(n.crit)}var bt,en=I(()=>{V();o(VT,"validateCrit");bt=VT});var GT,li,al=I(()=>{GT=o((e,t)=>{if(t!==void 0&&(!Array.isArray(t)||t.some(r=>typeof r!="string")))throw new TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)},"validateAlgorithms"),li=GT});async function tn(e,t,r){var n;if(!Q(e))throw new P("Flattened JWE must be an object");if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new P("JOSE Header missing");if(typeof e.iv!="string")throw new P("JWE Initialization Vector missing or incorrect type");if(typeof e.ciphertext!="string")throw new P("JWE Ciphertext missing or incorrect type");if(typeof e.tag!="string")throw new P("JWE Authentication Tag missing or incorrect type");if(e.protected!==void 0&&typeof e.protected!="string")throw new P("JWE Protected Header incorrect type");if(e.encrypted_key!==void 0&&typeof e.encrypted_key!="string")throw new P("JWE Encrypted Key incorrect type");if(e.aad!==void 0&&typeof e.aad!="string")throw new P("JWE AAD incorrect type");if(e.header!==void 0&&!Q(e.header))throw new P("JWE Shared Unprotected Header incorrect type");if(e.unprotected!==void 0&&!Q(e.unprotected))throw new P("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{let j=te(e.protected);i=JSON.parse(ce.decode(j))}catch{throw new P("JWE Protected Header is invalid")}if(!gt(i,e.header,e.unprotected))throw new P("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let s={...i,...e.header,...e.unprotected};if(bt(P,new Map,r?.crit,i,s),s.zip!==void 0){if(!i||!i.zip)throw new P('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(s.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=s;if(typeof a!="string"||!a)throw new P("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new P("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&li("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&li("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new Yt('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new Yt('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;e.encrypted_key!==void 0&&(d=te(e.encrypted_key));let p=!1;typeof t=="function"&&(t=await t(i,e),p=!0);let y;try{y=await Kf(a,t,d,s,r)}catch(j){if(j instanceof TypeError||j instanceof P||j instanceof M)throw j;y=_t(c)}let h=te(e.iv),m=te(e.tag),v=Y.encode((n=e.protected)!==null&&n!==void 0?n:""),T;e.aad!==void 0?T=Se(v,Y.encode("."),Y.encode(e.aad)):T=v;let S=await Bo(c,y,te(e.ciphertext),h,m,T);s.zip==="DEF"&&(S=await(r?.inflateRaw||gf)(S));let k={plaintext:S};return e.protected!==void 0&&(k.protectedHeader=i),e.aad!==void 0&&(k.additionalAuthenticatedData=te(e.aad)),e.unprotected!==void 0&&(k.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(k.unprotectedHeader=e.header),p?{...k,key:t}:k}var Yo=I(()=>{Ie();Wu();Qu();V();Yr();He();Jf();ye();si();en();al();o(tn,"flattenedDecrypt")});async function Zo(e,t,r){if(e instanceof Uint8Array&&(e=ce.decode(e)),typeof e!="string")throw new P("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:s,3:a,4:c,length:u}=e.split(".");if(u!==5)throw new P("Invalid Compact JWE");let l=await tn({ciphertext:a,iv:s||void 0,protected:n||void 0,tag:c||void 0,encrypted_key:i||void 0},t,r),d={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return typeof t=="function"?{...d,key:l.key}:d}var cl=I(()=>{Yo();V();ye();o(Zo,"compactDecrypt")});async function zf(e,t,r){if(!Q(e))throw new P("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(Q))throw new P("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new P("JWE Recipients has no members");for(let n of e.recipients)try{return await tn({aad:e.aad,ciphertext:e.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:e.iv,protected:e.protected,tag:e.tag,unprotected:e.unprotected},t,r)}catch{}throw new Lt}var Wf=I(()=>{Yo();V();He();o(zf,"generalDecrypt")});var BT,Qf,Yf=I(()=>{Te();ot();Ie();st();BT=o(async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:Z(e)};if(!se(e))throw new TypeError(ie(e,...W,"Uint8Array"));if(!e.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:t,key_ops:r,alg:n,use:i,...s}=await D.subtle.exportKey("jwk",e);return s},"keyToJWK"),Qf=BT});async function Zf(e){return Df(e)}async function Xf(e){return Uf(e)}async function Xo(e){return Qf(e)}var ul=I(()=>{Qo();Qo();Yf();o(Zf,"exportSPKI");o(Xf,"exportPKCS8");o(Xo,"exportJWK")});async function KT(e,t,r,n,i={}){let s,a,c;switch(ir(e,r,"encrypt"),e){case"dir":{c=r;break}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!zo(r))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let{apu:u,apv:l}=i,{epk:d}=i;d||(d=(await wf(r)).privateKey);let{x:p,y,crv:h,kty:m}=await Xo(d),v=await Jo(r,d,e==="ECDH-ES"?t:e,e==="ECDH-ES"?oi(t):parseInt(e.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:m}},m==="EC"&&(a.epk.y=y),u&&(a.apu=Z(u)),l&&(a.apv=Z(l)),e==="ECDH-ES"){c=v;break}c=n||_t(t);let T=e.slice(-6);s=await ni(T,v,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||_t(t),s=await Rf(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||_t(t);let{p2c:u,p2s:l}=i;({encryptedKey:s,...a}=await If(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||_t(t),s=await ni(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||_t(t);let{iv:u}=i;({encryptedKey:s,...a}=await Gf(e,r,c,u));break}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:s,parameters:a}}var es,ll=I(()=>{Ko();Zu();el();tl();Ie();si();V();ul();ci();sl();o(KT,"encryptKeyManagement");es=KT});var dl,Dt,ts=I(()=>{Ie();ol();Qu();jo();ll();V();Yr();ye();en();dl=Symbol(),Dt=class{static{o(this,"FlattenedEncrypt")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=t}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}async encrypt(t,r){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new P("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!gt(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new P("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(bt(P,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new P('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:s}=n;if(typeof i!="string"||!i)throw new P('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof s!="string"||!s)throw new P('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let a;if(i==="dir"){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if(i==="ECDH-ES"&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");let c;{let m;({cek:c,encryptedKey:a,parameters:m}=await es(i,s,t,this._cek,this._keyManagementParameters)),m&&(r&&dl in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...m}:this.setUnprotectedHeader(m):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...m}:this.setProtectedHeader(m))}this._iv||(this._iv=$o(s));let u,l,d;this._protectedHeader?l=Y.encode(Z(JSON.stringify(this._protectedHeader))):l=Y.encode(""),this._aad?(d=Z(this._aad),u=Se(l,Y.encode("."),Y.encode(d))):u=l;let p,y;if(n.zip==="DEF"){let m=await(r?.deflateRaw||_f)(this._plaintext);({ciphertext:p,tag:y}=await ui(s,m,c,this._iv,u))}else({ciphertext:p,tag:y}=await ui(s,this._plaintext,c,this._iv,u));let h={ciphertext:Z(p),iv:Z(this._iv),tag:Z(y)};return a&&(h.encrypted_key=Z(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=ce.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var pl,rs,em=I(()=>{ts();V();si();Yr();ll();Ie();en();pl=class{static{o(this,"IndividualRecipient")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addRecipient(...t){return this.parent.addRecipient(...t)}encrypt(...t){return this.parent.encrypt(...t)}done(){return this.parent}},rs=class{static{o(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new pl(this,t,{crit:r?.crit});return this._recipients.push(n),n}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}async encrypt(t){var r,n,i;if(!this._recipients.length)throw new P("at least one recipient must be added");if(t={deflateRaw:t?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Dt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(u.unprotectedHeader).encrypt(u.key,{...u.options,...t}),d={ciphertext:l.ciphertext,iv:l.iv,recipients:[{}],tag:l.tag};return l.aad&&(d.aad=l.aad),l.protected&&(d.protected=l.protected),l.unprotected&&(d.unprotected=l.unprotected),l.encrypted_key&&(d.recipients[0].encrypted_key=l.encrypted_key),l.header&&(d.recipients[0].header=l.header),d}let s;for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u];if(!gt(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new P("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let d={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader},{alg:p}=d;if(typeof p!="string"||!p)throw new P('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new P('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new P('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!s)s=d.enc;else if(s!==d.enc)throw new P('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(bt(P,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new P('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=_t(s),c={ciphertext:"",iv:"",recipients:[],tag:""};for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u],d={};c.recipients.push(d);let y={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let v=await new Dt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:y}).encrypt(l.key,{...l.options,...t,[dl]:!0});c.ciphertext=v.ciphertext,c.iv=v.iv,c.tag=v.tag,v.aad&&(c.aad=v.aad),v.protected&&(c.protected=v.protected),v.unprotected&&(c.unprotected=v.unprotected),d.encrypted_key=v.encrypted_key,v.header&&(d.header=v.header);continue}let{encryptedKey:h,parameters:m}=await es(((r=l.unprotectedHeader)===null||r===void 0?void 0:r.alg)||((n=this._protectedHeader)===null||n===void 0?void 0:n.alg)||((i=this._unprotectedHeader)===null||i===void 0?void 0:i.alg),s,l.key,a,{p2c:y});d.encrypted_key=Z(h),(l.unprotectedHeader||m)&&(d.header={...l.unprotectedHeader,...m})}return c}}});function di(e,t){let r=`SHA-${e.slice(-3)}`;switch(e){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:e.slice(-3)>>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:t.namedCurve};case"EdDSA":return{name:t.name};default:throw new M(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var hl=I(()=>{V();o(di,"subtleDsa")});function pi(e,t,r){if(se(t))return mf(t,e,r),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(ie(t,...W));return D.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(ie(t,...W,"Uint8Array"))}var fl=I(()=>{Te();tr();ot();st();o(pi,"getCryptoKey")});var JT,tm,rm=I(()=>{hl();Te();Wo();fl();JT=o(async(e,t,r,n)=>{let i=await pi(e,t,"verify");Cr(e,i);let s=di(e,i.algorithm);try{return await D.subtle.verify(s,i,r,n)}catch{return!1}},"verify"),tm=JT});async function rn(e,t,r){var n;if(!Q(e))throw new z("Flattened JWS must be an object");if(e.protected===void 0&&e.header===void 0)throw new z('Flattened JWS must have either of the "protected" or "header" members');if(e.protected!==void 0&&typeof e.protected!="string")throw new z("JWS Protected Header incorrect type");if(e.payload===void 0)throw new z("JWS Payload missing");if(typeof e.signature!="string")throw new z("JWS Signature missing or incorrect type");if(e.header!==void 0&&!Q(e.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let T=te(e.protected);i=JSON.parse(ce.decode(T))}catch{throw new z("JWS Protected Header is invalid")}if(!gt(i,e.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let s={...i,...e.header},a=bt(z,new Map([["b64",!0]]),r?.crit,i,s),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=s;if(typeof u!="string"||!u)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&li("algorithms",r.algorithms);if(l&&!l.has(u))throw new Yt('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof e.payload!="string")throw new z("JWS Payload must be a string")}else if(typeof e.payload!="string"&&!(e.payload instanceof Uint8Array))throw new z("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof t=="function"&&(t=await t(i,e),d=!0),ir(u,t,"verify");let p=Se(Y.encode((n=e.protected)!==null&&n!==void 0?n:""),Y.encode("."),typeof e.payload=="string"?Y.encode(e.payload):e.payload),y=te(e.signature);if(!await tm(u,t,y,p))throw new Nr;let m;c?m=te(e.payload):typeof e.payload=="string"?m=Y.encode(e.payload):m=e.payload;let v={payload:m};return e.protected!==void 0&&(v.protectedHeader=i),e.header!==void 0&&(v.unprotectedHeader=e.header),d?{...v,key:t}:v}var ns=I(()=>{Ie();rm();V();ye();Yr();He();ci();en();al();o(rn,"flattenedVerify")});async function is(e,t,r){if(e instanceof Uint8Array&&(e=ce.decode(e)),typeof e!="string")throw new z("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:s,length:a}=e.split(".");if(a!==3)throw new z("Invalid Compact JWS");let c=await rn({payload:i,protected:n,signature:s},t,r),u={payload:c.payload,protectedHeader:c.protectedHeader};return typeof t=="function"?{...u,key:c.key}:u}var ml=I(()=>{ns();V();ye();o(is,"compactVerify")});async function nm(e,t,r){if(!Q(e))throw new z("General JWS must be an object");if(!Array.isArray(e.signatures)||!e.signatures.every(Q))throw new z("JWS Signatures missing or incorrect type");for(let n of e.signatures)try{return await rn({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new Nr}var im=I(()=>{ns();V();He();o(nm,"generalVerify")});var nn,yl=I(()=>{nn=o(e=>Math.floor(e.getTime()/1e3),"default")});var zT,on,gl=I(()=>{zT=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,on=o(e=>{let t=zT.exec(e);if(!t)throw new TypeError("Invalid time period format");let r=parseFloat(t[1]);switch(t[2].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":return Math.round(r);case"minute":case"minutes":case"min":case"mins":case"m":return Math.round(r*60);case"hour":case"hours":case"hr":case"hrs":case"h":return Math.round(r*3600);case"day":case"days":case"d":return Math.round(r*86400);case"week":case"weeks":case"w":return Math.round(r*604800);default:return Math.round(r*31557600)}},"default")});var om,WT,sn,os=I(()=>{V();ye();yl();gl();He();om=o(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),WT=o((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),sn=o((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||om(e.typ)!==om(n)))throw new _e('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ce.decode(t))}catch{}if(!Q(i))throw new ue("JWT Claims Set must be a top-level JSON object");let{requiredClaims:s=[],issuer:a,subject:c,audience:u,maxTokenAge:l}=r;l!==void 0&&s.push("iat"),u!==void 0&&s.push("aud"),c!==void 0&&s.push("sub"),a!==void 0&&s.push("iss");for(let h of new Set(s.reverse()))if(!(h in i))throw new _e(`missing required "${h}" claim`,h,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new _e('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new _e('unexpected "sub" claim value',"sub","check_failed");if(u&&!WT(i.aud,typeof u=="string"?[u]:u))throw new _e('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=on(r.clockTolerance);break;case"number":d=r.clockTolerance;break;case"undefined":d=0;break;default:throw new TypeError("Invalid clockTolerance option type")}let{currentDate:p}=r,y=nn(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new _e('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new _e('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>y+d)throw new _e('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new _e('"exp" claim must be a number',"exp","invalid");if(i.exp<=y-d)throw new Wr('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=y-i.iat,m=typeof l=="number"?l:on(l);if(h-d>m)throw new Wr('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(h<0-d)throw new _e('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function sm(e,t,r){var n;let i=await is(e,t,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new ue("JWTs MUST NOT use unencoded payload");let a={payload:sn(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var am=I(()=>{ml();os();V();o(sm,"jwtVerify")});async function cm(e,t,r){let n=await Zo(e,t,r),i=sn(n.protectedHeader,n.plaintext,r),{protectedHeader:s}=n;if(s.iss!==void 0&&s.iss!==i.iss)throw new _e('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(s.sub!==void 0&&s.sub!==i.sub)throw new _e('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(s.aud!==void 0&&JSON.stringify(s.aud)!==JSON.stringify(i.aud))throw new _e('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:s};return typeof t=="function"?{...a,key:n.key}:a}var um=I(()=>{cl();os();V();o(cm,"jwtDecrypt")});var an,_l=I(()=>{ts();an=class{static{o(this,"CompactEncrypt")}constructor(t){this._flattened=new Dt(t)}setContentEncryptionKey(t){return this._flattened.setContentEncryptionKey(t),this}setInitializationVector(t){return this._flattened.setInitializationVector(t),this}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}setKeyManagementParameters(t){return this._flattened.setKeyManagementParameters(t),this}async encrypt(t,r){let n=await this._flattened.encrypt(t,r);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(".")}}});var QT,lm,dm=I(()=>{hl();Te();Wo();fl();QT=o(async(e,t,r)=>{let n=await pi(e,t,"sign");Cr(e,n);let i=await D.subtle.sign(di(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),lm=QT});var or,ss=I(()=>{Ie();dm();Yr();V();ye();ci();en();or=class{static{o(this,"FlattenedSign")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=t}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}async sign(t,r){if(!this._protectedHeader&&!this._unprotectedHeader)throw new z("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!gt(this._protectedHeader,this._unprotectedHeader))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=bt(z,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),s=!0;if(i.has("b64")&&(s=this._protectedHeader.b64,typeof s!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');ir(a,t,"sign");let c=this._payload;s&&(c=Y.encode(Z(c)));let u;this._protectedHeader?u=Y.encode(Z(JSON.stringify(this._protectedHeader))):u=Y.encode("");let l=Se(u,Y.encode("."),c),d=await lm(a,t,l),p={signature:Z(d),payload:""};return s&&(p.payload=ce.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ce.decode(u)),p}}});var cn,bl=I(()=>{ss();cn=class{static{o(this,"CompactSign")}constructor(t){this._flattened=new or(t)}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}async sign(t,r){let n=await this._flattened.sign(t,r);if(n.payload===void 0)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${n.protected}.${n.payload}.${n.signature}`}}});var El,as,pm=I(()=>{ss();V();El=class{static{o(this,"IndividualSignature")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setProtectedHeader(t){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=t,this}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addSignature(...t){return this.parent.addSignature(...t)}sign(...t){return this.parent.sign(...t)}done(){return this.parent}},as=class{static{o(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new El(this,t,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new z("at least one signature must be added");let t={signatures:[],payload:""};for(let r=0;r<this._signatures.length;r++){let n=this._signatures[r],i=new or(this._payload);i.setProtectedHeader(n.protectedHeader),i.setUnprotectedHeader(n.unprotectedHeader);let{payload:s,...a}=await i.sign(n.key,n.options);if(r===0)t.payload=s;else if(t.payload!==s)throw new z("inconsistent use of JWS Unencoded Payload (RFC7797)");t.signatures.push(a)}return t}}});var sr,cs=I(()=>{yl();He();gl();sr=class{static{o(this,"ProduceJWT")}constructor(t){if(!Q(t))throw new TypeError("JWT Claims Set MUST be an object");this._payload=t}setIssuer(t){return this._payload={...this._payload,iss:t},this}setSubject(t){return this._payload={...this._payload,sub:t},this}setAudience(t){return this._payload={...this._payload,aud:t},this}setJti(t){return this._payload={...this._payload,jti:t},this}setNotBefore(t){return typeof t=="number"?this._payload={...this._payload,nbf:t}:this._payload={...this._payload,nbf:nn(new Date)+on(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:nn(new Date)+on(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:nn(new Date)}:this._payload={...this._payload,iat:t},this}}});var us,hm=I(()=>{bl();V();ye();cs();us=class extends sr{static{o(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new cn(Y.encode(JSON.stringify(this._payload)));if(i.setProtectedHeader(this._protectedHeader),Array.isArray((n=this._protectedHeader)===null||n===void 0?void 0:n.crit)&&this._protectedHeader.crit.includes("b64")&&this._protectedHeader.b64===!1)throw new ue("JWTs MUST NOT use unencoded payload");return i.sign(t,r)}}});var ls,fm=I(()=>{_l();ye();cs();ls=class extends sr{static{o(this,"EncryptJWT")}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(t,r){let n=new an(Y.encode(JSON.stringify(this._payload)));return this._replicateIssuerAsHeader&&(this._protectedHeader={...this._protectedHeader,iss:this._payload.iss}),this._replicateSubjectAsHeader&&(this._protectedHeader={...this._protectedHeader,sub:this._payload.sub}),this._replicateAudienceAsHeader&&(this._protectedHeader={...this._protectedHeader,aud:this._payload.aud}),n.setProtectedHeader(this._protectedHeader),this._iv&&n.setInitializationVector(this._iv),this._cek&&n.setContentEncryptionKey(this._cek),this._keyManagementParameters&&n.setKeyManagementParameters(this._keyManagementParameters),n.encrypt(t,r)}}});async function wl(e,t){if(!Q(e))throw new TypeError("JWK must be an object");if(t??(t="sha256"),t!=="sha256"&&t!=="sha384"&&t!=="sha512")throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(e.kty){case"EC":ar(e.crv,'"crv" (Curve) Parameter'),ar(e.x,'"x" (X Coordinate) Parameter'),ar(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":ar(e.crv,'"crv" (Subtype of Key Pair) Parameter'),ar(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":ar(e.e,'"e" (Exponent) Parameter'),ar(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":ar(e.k,'"k" (Key Value) Parameter'),r={k:e.k,kty:e.kty};break;default:throw new M('"kty" (Key Type) Parameter missing or unsupported')}let n=Y.encode(JSON.stringify(r));return Z(await Uo(t,n))}async function mm(e,t){t??(t="sha256");let r=await wl(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var ar,ym=I(()=>{qu();Ie();V();ye();He();ar=o((e,t)=>{if(typeof e!="string"||!e)throw new Xn(`${t} missing or invalid`)},"check");o(wl,"calculateJwkThumbprint");o(mm,"calculateJwkThumbprintUri")});async function gm(e,t){let r={...e,...t?.header};if(!Q(r.jwk))throw new z('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await nr({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new z('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var _m=I(()=>{ai();He();V();o(gm,"EmbeddedJWK")});function YT(e){switch(typeof e=="string"&&e.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new M('Unsupported "alg" value for a JSON Web Key Set')}}function vl(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every(ZT)}function ZT(e){return Q(e)}function XT(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function bm(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(n[r]===void 0){let i=await nr({...t,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new Zt("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function Em(e){let t=new hi(e);return async function(r,n){return t.getKey(r,n)}}var hi,Tl=I(()=>{ai();V();He();o(YT,"getKtyFromAlg");o(vl,"isJWKSLike");o(ZT,"isJWKLike");o(XT,"clone");hi=class{static{o(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!vl(t))throw new Zt("JSON Web Key Set malformed");this._jwks=XT(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},s=YT(n),a=this._jwks.keys.filter(l=>{let d=s===l.kty;if(d&&typeof i=="string"&&(d=i===l.kid),d&&typeof l.alg=="string"&&(d=n===l.alg),d&&typeof l.use=="string"&&(d=l.use==="sig"),d&&Array.isArray(l.key_ops)&&(d=l.key_ops.includes("verify")),d&&n==="EdDSA"&&(d=l.crv==="Ed25519"||l.crv==="Ed448"),d)switch(n){case"ES256":d=l.crv==="P-256";break;case"ES256K":d=l.crv==="secp256k1";break;case"ES384":d=l.crv==="P-384";break;case"ES512":d=l.crv==="P-521";break}return d}),{0:c,length:u}=a;if(u===0)throw new xr;if(u!==1){let l=new ei,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await bm(d,p,n)}catch{continue}},l}return bm(this._cached,c,n)}};o(bm,"importWithAlgCache");o(Em,"createLocalJWKSet")});var eS,wm,vm=I(()=>{V();eS=o(async(e,t,r)=>{let n,i,s=!1;typeof AbortController=="function"&&(n=new AbortController,i=setTimeout(()=>{s=!0,n.abort()},t));let a=await fetch(e.href,{signal:n?n.signal:void 0,redirect:"manual",headers:r.headers}).catch(c=>{throw s?new ti:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new pe("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new pe("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),wm=eS});function tS(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function Tm(e,t){let r=new Sl(e,t);return async function(n,i){return r.getKey(n,i)}}var Sl,Sm=I(()=>{vm();V();Tl();o(tS,"isCloudflareWorkers");Sl=class extends hi{static{o(this,"RemoteJWKSet")}constructor(t,r){if(super({keys:[]}),this._jwks=void 0,!(t instanceof URL))throw new TypeError("url must be an instance of URL");this._url=new URL(t.href),this._options={agent:r?.agent,headers:r?.headers},this._timeoutDuration=typeof r?.timeoutDuration=="number"?r?.timeoutDuration:5e3,this._cooldownDuration=typeof r?.cooldownDuration=="number"?r?.cooldownDuration:3e4,this._cacheMaxAge=typeof r?.cacheMaxAge=="number"?r?.cacheMaxAge:6e5}coolingDown(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cooldownDuration:!1}fresh(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cacheMaxAge:!1}async getKey(t,r){(!this._jwks||!this.fresh())&&await this.reload();try{return await super.getKey(t,r)}catch(n){if(n instanceof xr&&this.coolingDown()===!1)return await this.reload(),super.getKey(t,r);throw n}}async reload(){this._pendingFetch&&tS()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=wm(this._url,this._timeoutDuration,this._options).then(t=>{if(!vl(t))throw new Zt("JSON Web Key Set malformed");this._jwks={keys:t.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(t=>{throw this._pendingFetch=void 0,t})),await this._pendingFetch}};o(Tm,"createRemoteJWKSet")});var ds,Im=I(()=>{Ie();ye();V();os();cs();ds=class extends sr{static{o(this,"UnsecuredJWT")}encode(){let t=Z(JSON.stringify({alg:"none"})),r=Z(JSON.stringify(this._payload));return`${t}.${r}.`}static decode(t,r){if(typeof t!="string")throw new ue("Unsecured JWT must be a string");let{0:n,1:i,2:s,length:a}=t.split(".");if(a!==3||s!=="")throw new ue("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ce.decode(te(n))),c.alg!=="none")throw new Error}catch{throw new ue("Invalid Unsecured JWT")}return{payload:sn(c,te(i),r),header:c}}}});var Il={};Gi(Il,{decode:()=>fi,encode:()=>rS});var rS,fi,ps=I(()=>{Ie();rS=Z,fi=te});function Am(e){let t;if(typeof e=="string"){let r=e.split(".");(r.length===3||r.length===5)&&([t]=r)}else if(typeof e=="object"&&e)if("protected"in e)t=e.protected;else throw new TypeError("Token does not contain a Protected Header");try{if(typeof t!="string"||!t)throw new Error;let r=JSON.parse(ce.decode(fi(t)));if(!Q(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var Pm=I(()=>{ps();ye();He();o(Am,"decodeProtectedHeader")});function Rm(e){if(typeof e!="string")throw new ue("JWTs must use Compact JWS serialization, JWT must be a string");let{1:t,length:r}=e.split(".");if(r===5)throw new ue("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new ue("Invalid JWT");if(!t)throw new ue("JWTs must contain a payload");let n;try{n=fi(t)}catch{throw new ue("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ce.decode(n))}catch{throw new ue("Failed to parse the decoded payload as JSON")}if(!Q(i))throw new ue("Invalid JWT Claims Set");return i}var Om=I(()=>{ps();ye();He();V();o(Rm,"decodeJwt")});async function xm(e,t){var r;let n,i,s;switch(e){case"HS256":case"HS384":case"HS512":n=parseInt(e.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},s=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n=parseInt(e.slice(-3),10),Xt(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(e.slice(1,4),10),i={name:"AES-KW",length:n},s=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":n=parseInt(e.slice(1,4),10),i={name:"AES-GCM",length:n},s=["encrypt","decrypt"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(i,(r=t?.extractable)!==null&&r!==void 0?r:!1,s)}function Al(e){var t;let r=(t=e?.modulusLength)!==null&&t!==void 0?t:2048;if(typeof r!="number"||r<2048)throw new M("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function Nm(e,t){var r,n,i;let s,a;switch(e){case"PS256":case"PS384":case"PS512":s={name:"RSA-PSS",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Al(t)},a=["sign","verify"];break;case"RS256":case"RS384":case"RS512":s={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Al(t)},a=["sign","verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":s={name:"RSA-OAEP",hash:`SHA-${parseInt(e.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Al(t)},a=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":s={name:"ECDSA",namedCurve:"P-256"},a=["sign","verify"];break;case"ES384":s={name:"ECDSA",namedCurve:"P-384"},a=["sign","verify"];break;case"ES512":s={name:"ECDSA",namedCurve:"P-521"},a=["sign","verify"];break;case"EdDSA":a=["sign","verify"];let c=(r=t?.crv)!==null&&r!==void 0?r:"Ed25519";switch(c){case"Ed25519":case"Ed448":s={name:c};break;default:throw new M("Invalid or unsupported crv option provided")}break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{a=["deriveKey","deriveBits"];let u=(n=t?.crv)!==null&&n!==void 0?n:"P-256";switch(u){case"P-256":case"P-384":case"P-521":{s={name:"ECDH",namedCurve:u};break}case"X25519":case"X448":s={name:u};break;default:throw new M("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(s,(i=t?.extractable)!==null&&i!==void 0?i:!1,a)}var Pl=I(()=>{Te();V();ri();o(xm,"generateSecret");o(Al,"getModulusLengthOption");o(Nm,"generateKeyPair")});async function Cm(e,t){return Nm(e,t)}var Lm=I(()=>{Pl();o(Cm,"generateKeyPair")});async function Dm(e,t){return xm(e,t)}var Um=I(()=>{Pl();o(Dm,"generateSecret")});var hs={};Gi(hs,{CompactEncrypt:()=>an,CompactSign:()=>cn,EmbeddedJWK:()=>gm,EncryptJWT:()=>ls,FlattenedEncrypt:()=>Dt,FlattenedSign:()=>or,GeneralEncrypt:()=>rs,GeneralSign:()=>as,SignJWT:()=>us,UnsecuredJWT:()=>ds,base64url:()=>Il,calculateJwkThumbprint:()=>wl,calculateJwkThumbprintUri:()=>mm,compactDecrypt:()=>Zo,compactVerify:()=>is,createLocalJWKSet:()=>Em,createRemoteJWKSet:()=>Tm,decodeJwt:()=>Rm,decodeProtectedHeader:()=>Am,errors:()=>Vu,exportJWK:()=>Xo,exportPKCS8:()=>Xf,exportSPKI:()=>Zf,flattenedDecrypt:()=>tn,flattenedVerify:()=>rn,generalDecrypt:()=>zf,generalVerify:()=>nm,generateKeyPair:()=>Cm,generateSecret:()=>Dm,importJWK:()=>nr,importPKCS8:()=>Vf,importSPKI:()=>$f,importX509:()=>jf,jwtDecrypt:()=>cm,jwtVerify:()=>sm});var fs=I(()=>{cl();Yo();Wf();em();ml();ns();im();am();um();_l();ts();bl();ss();pm();hm();fm();ym();_m();Tl();Sm();Im();ul();ai();Pm();Om();V();Lm();Um();ps()});var ys=g(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});ms.fetchRetry=void 0;var nS=L();async function iS(e,t,r){for(let n=0;n<=e.retries;n++){let i=fetch(t,r);if(n===e.retries)return i;let s=await i;if(s.status<500&&s.status!==429)return s;e?.logger?.error("Request failed, retrying",{method:typeof t=="string"?"GET":t.method,url:typeof t=="string"?t:t.url,status:s.status}),await new Promise(a=>setTimeout(a,e.retryDelayMs*Math.pow(2,n)))}throw new nS.ConfigurationError("An unknown error occurred, ensure retries is not negative")}o(iS,"fetchRetry");ms.fetchRetry=iS});var un=g(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.GcpServiceAccount=Ze.fetchToken=Ze.exchangeGgpJwtForIdToken=Ze.exchangeFirebaseJwtForIdToken=Ze.getTokenFromGcpServiceAccount=void 0;var Mm=(fs(),Bi(hs)),oS=L(),sS=ys();async function aS({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:s,privateKey:a}=e;return await new Mm.SignJWT(n).setProtectedHeader({alg:"RS256",kid:s}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}o(aS,"getTokenFromGcpServiceAccount");Ze.getTokenFromGcpServiceAccount=aS;async function cS(e,t,r){return Ol(e,{token:t,returnSecureToken:!0},r)}o(cS,"exchangeFirebaseJwtForIdToken");Ze.exchangeFirebaseJwtForIdToken=cS;async function uS(e,t,r){return Ol(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}o(uS,"exchangeGgpJwtForIdToken");Ze.exchangeGgpJwtForIdToken=uS;async function Ol(e,t,r){let n=await(0,sS.fetchRetry)(r,e,{method:"POST",headers:{"Content-Type":"application/json"},redirect:"follow",body:JSON.stringify(t)});if(n.status!==200){let s;try{let a=await n.text(),c=JSON.parse(a);s={cause:c.error??c}}catch{}throw new oS.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:s})}return await n.json()}o(Ol,"fetchToken");Ze.fetchToken=Ol;var Rl=class e{static{o(this,"GcpServiceAccount")}#e;#t;constructor({serviceAccount:t,privateKey:r}){this.#t=t,this.#e=r}static async init(t){let r=JSON.parse(t),n=await(0,Mm.importPKCS8)(r.private_key.trim(),"RS256");return new e({serviceAccount:r,privateKey:n})}get type(){return this.#t.type}get projectId(){return this.#t.project_id}get privateKeyId(){return this.#t.private_key_id}get privateKey(){return this.#e}get clientEmail(){return this.#t.client_email}get clientId(){return this.#t.client_id}get authUri(){return this.#t.auth_uri}get tokenUrl(){return this.#t.token_url}get authProviderX509CertUrl(){return this.#t.auth_provider_x509_cert_url}get clientX509CertUrl(){return this.#t.client_x509_cert_url}get universalDomain(){return this.#t.universe_domain}};Ze.GcpServiceAccount=Rl});var _s=g(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.GoogleLogTransport=Ut.ZuploToGCPMap=Ut.GoogleCloudLoggingPlugin=void 0;var lS=ve(),xl=ee(),Nl=un(),dS=Ct(),km=yt(),Cl=class extends dS.LogPlugin{static{o(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new gs(this.options)}};Ut.GoogleCloudLoggingPlugin=Cl;var pS="https://logging.googleapis.com/v2/entries:write?alt=json";Ut.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var gs=class{static{o(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=xl.Environment.instance.loggingEnvironmentType,this.#o=xl.Environment.instance.loggingEnvironmentStage,this.#n=xl.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(t,r){if(t.messages.length===0)return;let n={allMessages:(0,km.makeErrorsSerializable)(t.messages)};this.#t||(this.#t=await Nl.GcpServiceAccount.init(this.#e));let i=this.#t.projectId??"zuplo-production",s={logName:this.#r,resource:{type:"global"},severity:Ut.ZuploToGCPMap[t.level],timestamp:t.timestamp,trace:`projects/${i}/traces/${t.requestId}`,labels:{requestId:t.requestId,buildId:t.buildId,source:t.logSource,loggingId:t.loggingId,logOwner:t.logOwner,environment:this.#n,environmentType:this.#i,environmentStage:this.#o}};t.rayId&&(s.labels.rayId=t.rayId);let a=(0,km.extractBestMessage)(n.allMessages);s.jsonPayload={...n,message:a},this.batcher.enqueue(s),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;this.#t||(this.#t=await Nl.GcpServiceAccount.init(this.#e));let r=await(0,Nl.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(pS,{method:"POST",body:JSON.stringify({entries:t}),headers:{Authorization:`Bearer ${r}`,"content-type":"application/json;charset=UTF-8"}});n.ok||console.error(n.status,n.statusText,await n.text())};batcher=new lS.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Ut.GoogleLogTransport=gs});var Ll=g(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.gcpLogFormat=ln.GCP_LOG_FORMAT=void 0;var Fm=yt(),hS=_s();ln.GCP_LOG_FORMAT="gcp";function fS(e){let t={allMessages:(0,Fm.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,Fm.extractBestMessage)(t.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:hS.ZuploToGCPMap[e.level],timestamp:e.timestamp,"logging.googleapis.com/labels":{buildId:e.buildId,source:e.logSource,loggingId:e.loggingId,logOwner:e.logOwner},"logging.googleapis.com/trace":`projects/${r}/traces/${e.requestId}`,allMessages:t.allMessages};return e.rayId&&(i["logging.googleapis.com/labels"].rayId=e.rayId),i}o(fS,"gcpLogFormat");ln.gcpLogFormat=fS});var qm=g(bs=>{"use strict";Object.defineProperty(bs,"__esModule",{value:!0});bs.ConsoleTransport=void 0;var Hm=Ll(),Dl=class{static{o(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;async log(t){if(this.#t===Hm.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,Hm.gcpLogFormat)(t)])}else this.#e[t.level].apply(null,[...t.messages,{logOwner:t.logOwner,logSource:t.logSource,level:t.level,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId}])}};bs.ConsoleTransport=Dl});var ql=g(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.DataDogTransport=dn.DataDogLoggingPlugin=void 0;var mS=ve(),Ul=ee(),yS=Ct(),$m=yt(),Hl=class extends yS.LogPlugin{static{o(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Es(this.options)}};dn.DataDogLoggingPlugin=Hl;var Ml="__ddtags",kl="__ddattr",Fl=o(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),gS=o(e=>{let t=Object.keys(e),r=[];return t.forEach(n=>{let i=e[n];i==null?r.push(Fl(n)):r.push(`${Fl(n)}:${Fl(i.toString())}`)}),r.join(",")},"formatTags"),Es=class{static{o(this,"DataDogTransport")}constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://http-intake.logs.datadoghq.com/api/v2/logs",this.#n=Ul.Environment.instance.loggingEnvironmentType,this.#i=Ul.Environment.instance.loggingEnvironmentStage,this.#r=Ul.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){let n={},i=r.custom[Ml];i&&typeof i=="object"&&Object.assign(n,i);let s=[...t.messages],a=t.messages.findIndex(h=>h[Ml]!==void 0);a>-1&&(Object.assign(n,s[a][Ml]),s.splice(a,1));let c={},u=r.custom[kl];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[kl]!==void 0);l>-1&&(Object.assign(c,s[l][kl]),s.splice(l,1));let d=(0,$m.makeErrorsSerializable)(s),y={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,$m.extractBestMessage)(d),service:t.loggingId,ddtags:gS(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(y,c),this.batcher.enqueue(y),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{t.length!==0&&await fetch(this.#t,{method:"POST",body:JSON.stringify([...t]),headers:{"content-type":"application/json","DD-API-KEY":this.#e}})};batcher=new mS.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};dn.DataDogTransport=Es});var Vm=g(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});ws.ProcessTransport=void 0;var jm=Ll(),$l=class{static{o(this,"ProcessTransport")}constructor(t,r){this.#e=t,this.#t=r}#e;#t;async log(t){if(this.#t===jm.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,jm.gcpLogFormat)(t)])}else this.#e[t.level].apply(null,[...t.messages,{logOwner:t.logOwner,logSource:t.logSource,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId,vectorClock:t.vectorClock}])}};ws.ProcessTransport=$l});var Bm=g(Ts=>{"use strict";Object.defineProperty(Ts,"__esModule",{value:!0});Ts.RemoteLogTransport=void 0;var _S=ve(),Gm=ee(),bS=yt(),ES=o(({url:e,remoteLogToken:t,loggingId:r,sendOnlyErrors:n})=>async i=>{let s;n===!0?s=i.filter(a=>a.level==="error"):s=i,s.length!==0&&fetch(`${e}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:s.map(a=>({...a,messages:(0,bS.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":Gm.Environment.instance.systemUserAgent,"zp-dn":Gm.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),vs,jl=class{static{o(this,"RemoteLogTransport")}constructor(t){vs||(vs=new _S.BatchDispatch("remote-log-transport",1,ES(t)))}async log(t,r){vs.enqueue(t),r.waitUntil(vs.waitUntilFlushed())}};Ts.RemoteLogTransport=jl});var Km=g(Lr=>{"use strict";Object.defineProperty(Lr,"__esModule",{value:!0});Lr.unifiedFormatter=Lr.SeverityNumberOpenTelemetryMap=void 0;Lr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var wS=o((e,t)=>r=>{let n={};return n.deploymentName=e,n.labels={requestId:r.requestId,source:r.logSource,loggingId:r.loggingId,logOwner:r.logOwner},n.rayId=r.rayId??"",n.runtime={buildId:t.BUILD_ID,buildTimestamp:t.TIMESTAMP,gitSHA:t.GIT_SHA,version:t.ZUPLO_VERSION},n.atomicCounter=r.vectorClock,{timestamp:r.timestamp,observerdTimestamp:r.timestamp,traceId:r.requestId,severityText:r.level,severityNumber:Lr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Lr.unifiedFormatter=wS});var zm=g(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});Is.UnifiedLogTransport=void 0;var vS=ve(),Jm=ee(),TS=Km(),SS=o(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let s=(0,TS.unifiedFormatter)(r,n);fetch(`${e}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(s)}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":Jm.Environment.instance.systemUserAgent,"zp-dn":Jm.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),Ss,Vl=class{static{o(this,"UnifiedLogTransport")}constructor(t){Ss||(Ss=new vS.BatchDispatch("unified-log-transport",1,SS(t)))}async log(t,r){Ss.enqueue(t),r.waitUntil(Ss.waitUntilFlushed())}};Is.UnifiedLogTransport=Vl});var ty=g(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});As.LogInitializer=void 0;var IS=vr(),AS=Ot(),Wm=Ou(),Qm=ee(),Ym=Zh(),PS=Ct(),RS=Xh(),Zm=ef(),Xm=qm(),OS=ql(),xS=_s(),ey=Vm(),NS=Bm(),CS=zm(),Gl=(0,IS.debug)("zuplo:logging"),Bl=class{static{o(this,"LogInitializer")}serviceProvider;systemCoreLogger;userCoreLogger;constructor(t){this.serviceProvider=t,this.systemCoreLogger=this.setupSystemCoreLogger(Qm.Environment.instance),this.userCoreLogger=this.setupUserCoreLogger(Qm.Environment.instance)}setupSystemCoreLogger(t){let{build:r}=t;Gl("Gateway.setupSystemCoreLogger");let n=[],i=this.serviceProvider.getService(Wm.SYSTEM_LOGGER);return i?n.push(new ey.ProcessTransport(i.logger,t.logFormat)):t.isDeno&&n.push(new Xm.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&n.push(new CS.UnifiedLogTransport({url:t.remoteLogURL,deploymentName:t.deploymentName,remoteLogToken:t.remoteLogToken,build:t.build})),new Ym.CoreLogger(t.systemLogLevel,"system",t.loggingId,r.BUILD_ID,n)}setupUserCoreLogger(t){Gl("Gateway.setupUserCoreLogger");let r=[],{runtime:n,build:i}=t,s=this.serviceProvider.getService(Wm.SYSTEM_LOGGER);if(s&&s.captureUserLogs===!0?r.push(new ey.ProcessTransport(s.logger,t.logFormat)):t.isDeno&&r.push(new Xm.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&r.push(new NS.RemoteLogTransport({loggingId:t.loggingId,url:t.remoteLogURL,remoteLogToken:t.remoteLogToken,sendOnlyErrors:t.isCloudflare})),n.GCP_USER_LOG_NAME&&n.GCP_USER_LOG_SVC_ACCT_JSON&&r.push(new xS.GoogleLogTransport({serviceAccountJson:n.GCP_USER_LOG_SVC_ACCT_JSON,logName:n.GCP_USER_LOG_NAME})),n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY){let a=n.ZUPLO_USER_LOGGER_DATA_DOG_URL;r.push(new OS.DataDogTransport({apiKey:n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:a}))}return AS.plugins.forEach(a=>{a instanceof PS.LogPlugin&&r.push(a.getTransport())}),new Ym.CoreLogger(t.userLogLevel,"user",t.loggingId,i.BUILD_ID,r)}createRequestLoggers(t,r,n,i,s){Gl("Gateway.createRequestLoggers");let a=new RS.LoggingContext(n,i,s),c=new Zm.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new Zm.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};As.LogInitializer=Bl});var Jl=g(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});Ps.UserRouteConfiguration=void 0;var Kl=class{static{o(this,"UserRouteConfiguration")}constructor(t){this.path=t.path,this.methods=t.methods,this.label=t.label,this.key=t.key,this.handler=t.handler,this.corsPolicy=t.corsPolicy,this.custom=t.custom,this.version=t.version,this.policies=t.policies,this.excludeFromOpenApi=t.excludeFromOpenApi,this.pathPattern=t.pathPattern,t.raw?(this.#e=t.raw(),this.operationId=this.raw()?.operationId,this.summary=this.raw()?.summary,this.tags=this.raw()?.tags,this.parameters=this.raw()?.parameters,this.responses=this.raw()?.responses):(this.operationId=t.operationId,this.summary=t.summary,this.tags=t.tags,this.parameters=t.parameters,this.responses=t.responses)}raw(){return this.#e}#e;label;key;path;summary;operationId;tags;parameters;responses;excludeFromOpenApi;pathPattern;custom;methods;handler;corsPolicy;version;policies};Ps.UserRouteConfiguration=Kl});var Wl=g(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.Router=Et.RouterError=Et.LookupResult=Et.RouterEntry=void 0;var ry=L(),LS=ft(),DS=Jl(),Rs=class{static{o(this,"RouterEntry")}constructor(t,r,n,i){this.fullPath=t,this.urlPattern=r,this.config=n,this.executableHandler=i}fullPath;urlPattern;config;executableHandler};Et.RouterEntry=Rs;var mi=class{static{o(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};Et.LookupResult=mi;var Os=class extends Error{static{o(this,"RouterError")}constructor(t,r){super(t,r)}};Et.RouterError=Os;var zl=class{static{o(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof DS.UserRouteConfiguration||t instanceof LS.SystemRouteConfiguration))throw new ry.SystemError("Config must be a UserRouteConfiguration or SystemRouteConfiguration");let n=this.versions.find(s=>s.name===t.version)?.pathPrefix,i;"pathPattern"in t&&t.pathPattern?i=`${n??""}${t.pathPattern}`:i=`${n??""}${t.path}`;try{let s=new URLPattern({pathname:i}),a=new Rs(i,s,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(s){throw new Os(`addRoute-error: Invalid path '${i}'. '${s.message}'`,{cause:s})}}lookup(t,r){if(typeof t>"u")throw new ry.ConfigurationError(`Invalid request - Method was undefined. Path: '${r}'`);let n=this.routeEntries.filter(i=>i.config.methods.includes(t));if(n.length!==0)for(let i=0;i<n.length;i++){let s=n[i],c=s.urlPattern.exec({pathname:r});if(c!==null)return new mi(s.config,s.executableHandler,c.pathname.groups)}}lookupByPathOnly(t){let r=[];for(let n=0;n<this.routeEntries.length;n++){let i=this.routeEntries[n],a=i.urlPattern.exec({pathname:t});if(a!==null){let c=new mi(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};Et.Router=zl});var pn=g(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});Ns.Gateway=void 0;var US=vr(),ny=Ih(),iy=Lh(),MS=Dh(),oy=Uh(),sy=Hh(),Mt=zn(),xs=Tr(),ay=Yh(),vt=L(),Ql=Ot(),kS=ty(),FS=Bt(),HS=ge(),qS=Au(),$S=Ir(),jS=Zn(),VS=Be(),GS=Wl(),Yl=ft(),cy=Jl(),BS=Ge(),KS=vo(),uy=ee(),ly=Or(),JS=["/__zuplo/ping","/__zuplo/open-api","/__zuplo/docs","/__zuplo/consumers","/__zuplo/external-users","/__zuplo/assets","/__zuplo/config","/__zuplo/build","/favicon.ico"],wt=(0,US.debug)("zuplo:runtime"),zS=o(e=>{let t=e.findIndex(r=>r.name===Yl.systemNoVersion.name);return t>-1?[...e.splice(t),Yl.systemNoVersion]:[...e,Yl.systemNoVersion]},"setupSystemNoVersion"),Zl=class e{static{o(this,"Gateway")}routeData;runtimeSettings;schemaValidator;static#e;constructor(t,r,n,i){this.routeData=t,this.runtimeSettings=r,this.schemaValidator=i,wt("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=new kS.LogInitializer(n)}static async initialize(t,r,n,i,s){if(wt("Gateway.initialize"),!e.#e){await(0,Ql.initializeRuntime)(s);let a={...t,corsPolicies:(0,KS.parseCorsPolicies)(t.corsPolicies)},c=new e(a,r,n,i);e.#e=c}return e.#e}static purgeGatewayCache(){wt("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new vt.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[jS.policyProcessor,qS.corsProcessor,$S.metricsProcessor];#i;setupRoutes=()=>{wt("Gateway.setupRoutes");let t=this.routeData,r=zS(t.versions),n=new GS.Router(r);if(t.routes.length===0)return(0,ny.registerBuildRoute)(n,this),(0,sy.registerPingRoute)(n,this),(0,iy.registerCorsRoute)(n,this),(0,MS.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;return i&&((0,ay.registerDevPortalLegacyRedirectRoute)(n,this),(0,ay.registerDevPortalV3Route)(n,this)),(0,ny.registerBuildRoute)(n,this),(0,sy.registerPingRoute)(n,this),(0,iy.registerCorsRoute)(n,this),t.routes.forEach(s=>{let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new vt.ConfigurationError(`Invalid state - No handler on route for path '${s.path}'`);let c=a,u=new FS.Pipeline(this.#n,c,this),l=new cy.UserRouteConfiguration(s);n.addRoute(l,u.execute)}),(0,oy.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let t;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(t=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof t!="function")throw new vt.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else t=o((r,n,i)=>this.#o(r,n,i),"errorHandler");return t};errorHandler(t,r,n){try{return this.#i(t,r,n)}catch(i){return wt("An error occurred in the user's errorHandler",i),this.#o(t,r,i)}}#o(t,r,n){wt("Gateway.internalErrorResponse");let i={};if(uy.Environment.instance.isDeno){if(n instanceof vt.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let s=(0,ly.serializeError)(n.cause);"stack"in s&&(s.stack=(0,ly.cleanStack)(s.stack)),i={cause:s}}}return HS.HttpProblems.internalServerError(t,r,{detail:n.message,...i})}#s(t){let r=new Headers(t.headers);return Mt.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),uy.Environment.instance.isDeno&&Mt.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(t,{headers:r})}async handleRequest(t,r){let n=t.headers.get(Mt.REQUEST_ID_HEADER)??t.headers.get(Mt.LEGACY_REQUEST_ID_HEADER),i=t.headers.get(Mt.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let T=new Headers(t.headers);T.set(Mt.REQUEST_ID_HEADER,n),t=new Request(t,{headers:T})}if(["GET","HEAD"].includes(t.method)&&t.body){let T=new Headers(t.headers);T.set(Mt.BODY_REMOVED_HEADER,"true"),t=new Request(t,{headers:T,body:null})}let s={},{userRequestLogger:a,systemRequestLogger:c}=this.#t.createRequestLoggers(n,i,r,s,t),u=new URL(t.url),l=u.pathname,d=this.#r.lookup(t.method,l);if(!d)throw new vt.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new xs.HeaderIncomingRequestProperties(t.headers),y=this.#s(t),h=new VS.ZuploRequest(y,{params:d.params}),m=new xs.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:s,incomingRequestProperties:p}),v=xs.ZuploContextExtensions.initialize(m,h);if(d.routeConfiguration===oy.notFoundRouteConfiguration&&Ql.runtimeExtensions.value?.notFoundHandler!==void 0){let T=this.#r.lookupByPathOnly(l);v.pathOnlyMatches=T.map(S=>S.routeConfiguration).filter(S=>S instanceof cy.UserRouteConfiguration)}try{if(BS.SystemLogMap.addLogger(m,c),!u.pathname.startsWith("/__zuplo")){let j=await(0,Ql.invokeOnRequestExtensions)(h,m);if(j instanceof Response)return j;{let C=xs.ZuploContextExtensions.getContextExtensions(m);h=j,C.latestRequest=h}}[...JS,...this.runtimeSettings.developerPortal.enabled?[this.runtimeSettings.developerPortal.sitePathname]:[]].filter(j=>new RegExp(j).test(u.pathname)).length===0&&a.debug(`Request received '${u.pathname}'`,{method:t.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let S=d.executableHandler;WS(S,d,t),wt("Gateway.handleRequest - call user handler");let k=await S(h,m);if(wt("Gateway.handleRequest - user handler"),!(k instanceof Response))throw new vt.RuntimeError(`Invalid Response type from the request handler: ${typeof k}`);if(k.bodyUsed)throw new vt.RuntimeError("The response object has already been used. Return a new response instead.");if(k.headers.get(Mt.REQUEST_ID_HEADER)===null&&!k.webSocket){let j=new Headers(k.headers);return j.set(Mt.REQUEST_ID_HEADER,n),new Response(k.body,{status:k.status,statusText:k.statusText,headers:j,cf:k.cf})}else return k}catch(T){return wt("Gateway - error executing handler",T),T instanceof vt.RuntimeError?(a.error(T),c.warn(T)):c.error(T),await this.#o(h,m,T)}}};Ns.Gateway=Zl;function WS(e,t,r){if(wt("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new vt.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new vt.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}o(WS,"checkHandler")});var dy=g(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});Cs.invokeInboundPolicy=void 0;var QS=L(),YS=pn(),ZS=Zn(),XS=o(async(e,t,r)=>{let n=YS.Gateway.instance.routeData.policies,i=(0,ZS.getInboundPolicyHandlerAndOptions)([e],n);if(i.length===0)throw new QS.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);let s=i[0];return s.handler(t,r,s.options,e)},"invokeInboundPolicy");Cs.invokeInboundPolicy=XS});var Tr=g(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.SystemZuploContext=Xe.ZuploContextExtensions=Xe.ResponseSentEvent=Xe.ResponseSendingEvent=Xe.HeaderIncomingRequestProperties=void 0;var be=zn(),eI=L(),tI=dy(),Xl=class{static{o(this,"HeaderIncomingRequestProperties")}#e;constructor(t){this.#e=t}get asn(){try{let t=this.#e.get(be.ZP_ASN_HEADER);if(typeof t=="string")return parseInt(t)}catch{}}get asOrganization(){return this.#e.get(be.ZP_AS_ORG_HEADER)??void 0}get city(){return this.#e.get(be.CF_IP_CITY_HEADER)??this.#e.get(be.ZP_IP_CITY_HEADER)??void 0}get continent(){return this.#e.get(be.CF_IP_CONTINENT_HEADER)??this.#e.get(be.ZP_IP_CONTINENT_HEADER)??void 0}get country(){return this.#e.get(be.CF_IP_COUNTRY_HEADER)??this.#e.get(be.ZP_IP_COUNTRY_HEADER)??void 0}get latitude(){return this.#e.get(be.CF_IP_LATITUDE_HEADER)??this.#e.get(be.ZP_IP_LATITUDE_HEADER)??void 0}get longitude(){return this.#e.get(be.CF_IP_LONGITUDE_HEADER)??this.#e.get(be.ZP_IP_LONGITUDE_HEADER)??void 0}get colo(){return this.#e.get(be.ZP_COLO_HEADER)??void 0}get postalCode(){return this.#e.get(be.ZP_POSTAL_CODE_HEADER)??void 0}get metroCode(){return this.#e.get(be.ZP_METRO_CODE_HEADER)??void 0}get region(){return this.#e.get(be.ZP_REGION_HEADER)??void 0}get regionCode(){return this.#e.get(be.ZP_REGION_CODE_HEADER)??void 0}get timezone(){return this.#e.get(be.ZP_TIMEZONE_HEADER)??void 0}toJSON(){return{asn:this.asn,asOrganization:this.asOrganization,city:this.city,continent:this.continent,country:this.country,latitude:this.latitude,longitude:this.longitude,colo:this.colo,postalCode:this.postalCode,metroCode:this.metroCode,region:this.region,regionCode:this.regionCode,timezone:this.timezone}}};Xe.HeaderIncomingRequestProperties=Xl;var ed=class extends Event{static{o(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};Xe.ResponseSendingEvent=ed;var td=class extends Event{static{o(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};Xe.ResponseSentEvent=td;var Ls=class e{static{o(this,"ZuploContextExtensions")}static#e=new WeakMap;static initialize(t,r){if(!e.#e.has(t)){let n=new e(r);return e.#e.set(t,n),n}throw new Error(`ZuploContextExtensions already initialized for context with requestId '${t.requestId}'`)}static getContextExtensions(t){let r=e.#e.get(t);if(!r)throw new eI.RuntimeError(`Invalid state, could not get ZuploContext extensions for context with requestId '${t.requestId}'`);return r}latestRequest;pathOnlyMatches;#t;#r;constructor(t){this.latestRequest=t,this.#t=[],this.#r=[]}addResponseSendingHook(t){this.#r.push(t)}addResponseSendingFinalHook(t){this.#t.push(t)}onResponseSendingFinal=async(t,r,n)=>{for(let i of this.#t)await i(t,r,n)};onResponseSending=async(t,r,n)=>{let i=t;for(let s of this.#r)i=await s(t,r,n);return i}};Xe.ZuploContextExtensions=Ls;var rd=class extends EventTarget{static{o(this,"SystemZuploContext")}constructor({logger:t,route:r,requestId:n,fetchEvent:i,custom:s,incomingRequestProperties:a}){super(),this.log=Object.freeze(t),this.route=r,this.requestId=n,this.custom=s,this.incomingRequestProperties=a,this.#e=i,this.invokeInboundPolicy=(c,u)=>(0,tI.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingFinalHook=c=>{Ls.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingFinalHook;addEventListener(t,r,n){let i=o(s=>{try{typeof r=="function"?r(s):r.handleEvent(s)}catch(a){throw this.log.error(`Error invoking event ${t}. See following logs for details.`),a}},"wrapped");super.addEventListener(t,i,n)}};Xe.SystemZuploContext=rd});var py=g(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.ContextData=void 0;var nd=class e{static{o(this,"ContextData")}static#e;#t;constructor(t){this.#t=t}set(t,r){e.set(t,this.#t,r)}get(t){return e.get(t,this.#t)}static set(t,r,n){e.#e||(e.#e=new WeakMap);let i=e.#e.get(t);i||(i=new Map),i.set(r,n)}static get(t,r){return e.#e||(e.#e=new WeakMap),e.#e.get(t)?.get(r)}};Ds.ContextData=nd});var id=g(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.environment=cr.isZuploReadableEnvVariableName=cr.isRestrictedEnvVariableName=void 0;var rI=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function hy(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!rI.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}o(hy,"isRestrictedEnvVariableName");cr.isRestrictedEnvVariableName=hy;function fy(e){return!!e.startsWith("ZUPLO_")}o(fy,"isZuploReadableEnvVariableName");cr.isZuploReadableEnvVariableName=fy;var nI=new Proxy({},{get(e,t){if(hy(String(t))&&!fy(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});cr.environment=nI});var od=g(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.externalServiceHandler=hn.externalServiceTunnelConfig=void 0;var iI=vr(),Dr=L(),oI=sd(),yi=ee(),at=(0,iI.debug)("zuplo:runtime:external-service");function yy(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=yi.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}o(yy,"getServiceAuth");async function sI(e){let t=yy();if(!t)throw at("There is no external service auth configured for this zup."),new Dr.RuntimeError("There are no external services configured for this zup.");if(typeof e!="string")throw at("Cannot call external service with Request object"),new Dr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");let n=new URL(e).hostname,i={};i["CF-Access-Client-Id"]=t.clientId,i["CF-Access-Client-Secret"]=t.clientSecret;let s;if(t.customServiceMapping&&t.customServiceMapping[n])s=`https://${t.customServiceMapping[n]}`;else if(yi.Environment.instance.useSha256ServiceRouting){at("Using sha256 service routing");let a=yi.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)s=`https://${await gy(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw at("Cannot use sha256 service routing, missing build variables"),new Dr.RuntimeError("Failed to generate fully qualified tunnel url.")}else s=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:s,tunnelHeaders:i}}o(sI,"externalServiceTunnelConfig");hn.externalServiceTunnelConfig=sI;async function aI(e,t){let r=yy();if(r)if(at(`Using external service auth. ClientId: ${r.clientId})`),typeof e=="string"){let n=new URL(e),i=n.hostname,s=t??{},a=new Headers(s.headers||{});a.set("CF-Access-Client-Id",r.clientId),a.set("CF-Access-Client-Secret",r.clientSecret),s.headers=a;let c;if(r.customServiceMapping&&r.customServiceMapping[i])c=`https://${r.customServiceMapping[i]}`;else if(yi.Environment.instance.useSha256ServiceRouting){at("Using sha256 service routing");let d=yi.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await gy(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw at("Cannot use sha256 service routing, missing build variables"),new Dr.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);at(`Calling external service: ${u.toString()}`);let l=await(0,oI.originalFetch)(u.toString(),s);if(l.status===403&&l.headers.get("cf-access-domain")!==null)throw console.error("403 Forbidden when calling external service.",{clientId:r.clientId,tunnelHost:c}),new Dr.RuntimeError("Could not connect to secure tunnel.");return l}else throw at("Cannot call external service with Request object"),new Dr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw at("There is no external service auth configured for this zup."),new Dr.RuntimeError("There are no external services configured for this zup.")}o(aI,"externalServiceHandler");hn.externalServiceHandler=aI;async function gy(e,t,r,n){let i=e.toLowerCase(),s=t.toLowerCase(),a=r.toLowerCase(),c=cI(n);at(`Hashing service name: ${s}-${i}.${s}-${a}-${c}`);let u=await my(`${s}-${i}`),l=await my(`${s}-${a}-${c}`);return`${u}.${l}`}o(gy,"hashServiceName");async function my(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("").slice(0,-1)}o(my,"hashSegment");function cI(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}o(cI,"sanitizeEnvironmentType")});var sd=g(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.originalFetch=void 0;var uI=od(),_y=new Map;_y.set("service:",uI.externalServiceHandler);fn.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=lI(t);if(typeof e=="string"){let n=new URL(e),i=_y.get(n.protocol);return i?i(e,r):(0,fn.originalFetch)(e,r)}else return(0,fn.originalFetch)(e,r)};var lI=o(e=>{if(!e||e instanceof Request)return e;let t=e;if(!t.zuplo)return e;let r=e;return r.cf={cacheEverything:t.zuplo?.cacheEverything,cacheTtl:t.zuplo?.cacheTtlSeconds},delete e.zuplo,e},"transformInit")});var wy=g(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.Handler=mn.purgeGatewayCache=void 0;var dI=L(),Ey=pn(),by=ee(),pI=o(()=>{Ey.Gateway.purgeGatewayCache()},"purgeGatewayCache");mn.purgeGatewayCache=pI;var ad=class{static{o(this,"Handler")}routeData;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(t,r,n,i,s,a,c){this.routeData=t,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=s,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(t,r)=>{by.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await Ey.Gateway.initialize(this.routeData,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(i){console.error("Error initializing gateway.",i);let s="Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.";i instanceof dI.ConfigurationError&&(s=i.message);let a={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:s,instance:t.url,trace:{timestamp:Date.now(),rayId:t.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:by.Environment.instance.isDeno?i.message:void 0};return new Response(JSON.stringify(a,null,2),{status:500,headers:{"content-type":"application/json"}})}return n.handleRequest(t,r)}};mn.Handler=ad});var Iy=g(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});Re.pathToRegexp=Re.tokensToRegexp=Re.regexpToFunction=Re.match=Re.tokensToFunction=Re.compile=Re.parse=void 0;function hI(e){for(var t=[],r=0;r<e.length;){var n=e[r];if(n==="*"||n==="+"||n==="?"){t.push({type:"MODIFIER",index:r,value:e[r++]});continue}if(n==="\\"){t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});continue}if(n==="{"){t.push({type:"OPEN",index:r,value:e[r++]});continue}if(n==="}"){t.push({type:"CLOSE",index:r,value:e[r++]});continue}if(n===":"){for(var i="",s=r+1;s<e.length;){var a=e.charCodeAt(s);if(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||a===95){i+=e[s++];continue}break}if(!i)throw new TypeError("Missing parameter name at ".concat(r));t.push({type:"NAME",index:r,value:i}),r=s;continue}if(n==="("){var c=1,u="",s=r+1;if(e[s]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(s));for(;s<e.length;){if(e[s]==="\\"){u+=e[s++]+e[s++];continue}if(e[s]===")"){if(c--,c===0){s++;break}}else if(e[s]==="("&&(c++,e[s+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(s));u+=e[s++]}if(c)throw new TypeError("Unbalanced pattern at ".concat(r));if(!u)throw new TypeError("Missing pattern at ".concat(r));t.push({type:"PATTERN",index:r,value:u}),r=s;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}o(hI,"lexer");function cd(e,t){t===void 0&&(t={});for(var r=hI(e),n=t.prefixes,i=n===void 0?"./":n,s="[^".concat(yn(t.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=o(function(ne){if(u<r.length&&r[u].type===ne)return r[u++].value},"tryConsume"),p=o(function(ne){var fe=d(ne);if(fe!==void 0)return fe;var Ve=r[u],E=Ve.type,F=Ve.index;throw new TypeError("Unexpected ".concat(E," at ").concat(F,", expected ").concat(ne))},"mustConsume"),y=o(function(){for(var ne="",fe;fe=d("CHAR")||d("ESCAPED_CHAR");)ne+=fe;return ne},"consumeText");u<r.length;){var h=d("CHAR"),m=d("NAME"),v=d("PATTERN");if(m||v){var T=h||"";i.indexOf(T)===-1&&(l+=T,T=""),l&&(a.push(l),l=""),a.push({name:m||c++,prefix:T,suffix:"",pattern:v||s,modifier:d("MODIFIER")||""});continue}var S=h||d("ESCAPED_CHAR");if(S){l+=S;continue}l&&(a.push(l),l="");var k=d("OPEN");if(k){var T=y(),j=d("NAME")||"",C=d("PATTERN")||"",re=y();p("CLOSE"),a.push({name:j||(C?c++:""),pattern:j&&!C?s:C,prefix:T,suffix:re,modifier:d("MODIFIER")||""});continue}p("END")}return a}o(cd,"parse");Re.parse=cd;function fI(e,t){return vy(cd(e,t),t)}o(fI,"compile");Re.compile=fI;function vy(e,t){t===void 0&&(t={});var r=ud(t),n=t.encode,i=n===void 0?function(u){return u}:n,s=t.validate,a=s===void 0?!0:s,c=e.map(function(u){if(typeof u=="object")return new RegExp("^(?:".concat(u.pattern,")$"),r)});return function(u){for(var l="",d=0;d<e.length;d++){var p=e[d];if(typeof p=="string"){l+=p;continue}var y=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",m=p.modifier==="*"||p.modifier==="+";if(Array.isArray(y)){if(!m)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(y.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var v=0;v<y.length;v++){var T=i(y[v],p);if(a&&!c[d].test(T))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix}continue}if(typeof y=="string"||typeof y=="number"){var T=i(String(y),p);if(a&&!c[d].test(T))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix;continue}if(!h){var S=m?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(S))}}return l}}o(vy,"tokensToFunction");Re.tokensToFunction=vy;function mI(e,t){var r=[],n=ld(e,r,t);return Ty(n,r,t)}o(mI,"match");Re.match=mI;function Ty(e,t,r){r===void 0&&(r={});var n=r.decode,i=n===void 0?function(s){return s}:n;return function(s){var a=e.exec(s);if(!a)return!1;for(var c=a[0],u=a.index,l=Object.create(null),d=o(function(y){if(a[y]===void 0)return"continue";var h=t[y-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[y].split(h.prefix+h.suffix).map(function(m){return i(m,h)}):l[h.name]=i(a[y],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}o(Ty,"regexpToFunction");Re.regexpToFunction=Ty;function yn(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}o(yn,"escapeString");function ud(e){return e&&e.sensitive?"":"i"}o(ud,"flags");function yI(e,t){if(!t)return e;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,i=r.exec(e.source);i;)t.push({name:i[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),i=r.exec(e.source);return e}o(yI,"regexpToRegexp");function gI(e,t,r){var n=e.map(function(i){return ld(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),ud(r))}o(gI,"arrayToRegexp");function _I(e,t,r){return Sy(cd(e,r),t,r)}o(_I,"stringToRegexp");function Sy(e,t,r){r===void 0&&(r={});for(var n=r.strict,i=n===void 0?!1:n,s=r.start,a=s===void 0?!0:s,c=r.end,u=c===void 0?!0:c,l=r.encode,d=l===void 0?function(F){return F}:l,p=r.delimiter,y=p===void 0?"/#?":p,h=r.endsWith,m=h===void 0?"":h,v="[".concat(yn(m),"]|$"),T="[".concat(yn(y),"]"),S=a?"^":"",k=0,j=e;k<j.length;k++){var C=j[k];if(typeof C=="string")S+=yn(d(C));else{var re=yn(d(C.prefix)),ne=yn(d(C.suffix));if(C.pattern)if(t&&t.push(C),re||ne)if(C.modifier==="+"||C.modifier==="*"){var fe=C.modifier==="*"?"?":"";S+="(?:".concat(re,"((?:").concat(C.pattern,")(?:").concat(ne).concat(re,"(?:").concat(C.pattern,"))*)").concat(ne,")").concat(fe)}else S+="(?:".concat(re,"(").concat(C.pattern,")").concat(ne,")").concat(C.modifier);else C.modifier==="+"||C.modifier==="*"?S+="((?:".concat(C.pattern,")").concat(C.modifier,")"):S+="(".concat(C.pattern,")").concat(C.modifier);else S+="(?:".concat(re).concat(ne,")").concat(C.modifier)}}if(u)i||(S+="".concat(T,"?")),S+=r.endsWith?"(?=".concat(v,")"):"$";else{var Ve=e[e.length-1],E=typeof Ve=="string"?T.indexOf(Ve[Ve.length-1])>-1:Ve===void 0;i||(S+="(?:".concat(T,"(?=").concat(v,"))?")),E||(S+="(?=".concat(T,"|").concat(v,")"))}return new RegExp(S,ud(r))}o(Sy,"tokensToRegexp");Re.tokensToRegexp=Sy;function ld(e,t,r){return e instanceof RegExp?yI(e,t):Array.isArray(e)?gI(e,t,r):_I(e,t,r)}o(ld,"pathToRegexp");Re.pathToRegexp=ld});var fd=g(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.AwsV4Signer=gn.AwsClient=void 0;var bI=vr(),Oy=L(),EI=(0,bI.debug)("zuplo:runtime"),pd=new TextEncoder,Ay={appstream2:"appstream",cloudhsmv2:"cloudhsm",email:"ses",marketplace:"aws-marketplace",mobile:"AWSMobileHubService",pinpoint:"mobiletargeting",queue:"sqs","git-codecommit":"codecommit","mturk-requester-sandbox":"mturk-requester","personalize-runtime":"personalize"},wI=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],hd=class{static{o(this,"AwsClient")}accessKeyId;secretAccessKey;sessionToken;service;region;cache;retries;initRetryMs;constructor({accessKeyId:t,secretAccessKey:r,sessionToken:n,service:i,region:s,cache:a,retries:c,initRetryMs:u}){if(t==null)throw new TypeError("accessKeyId is a required option");if(r==null)throw new TypeError("secretAccessKey is a required option");this.accessKeyId=t,this.secretAccessKey=r,this.sessionToken=n,this.service=i,this.region=s,this.cache=a||new Map,this.retries=c??0,this.initRetryMs=u||50}async sign(t,r){let n=new Us(Object.assign({url:t},r,this,r&&r.aws)),i=Object.assign({},r,await n.sign());return delete i.aws,{url:i.url.toString(),request:i}}async fetch(t,r){EI("AWS fetch",t);for(let n=0;n<=this.retries;n++){let{url:i,request:s}=await this.sign(t,r),a=fetch(i,s);if(n===this.retries)return a;let c=await a;if(c.status<500&&c.status!==429)return c;await new Promise(u=>setTimeout(u,Math.random()*this.initRetryMs*Math.pow(2,n)))}throw new Oy.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};gn.AwsClient=hd;var Us=class{static{o(this,"AwsV4Signer")}method;url;headers;body;accessKeyId;secretAccessKey;sessionToken;service;region;cache;datetime;signQuery;appendSessionToken;signableHeaders;signedHeaders;canonicalHeaders;credentialString;encodedPath;encodedSearch;constructor({method:t,url:r,headers:n,body:i,accessKeyId:s,secretAccessKey:a,sessionToken:c,service:u,region:l,cache:d,datetime:p,signQuery:y,appendSessionToken:h,allHeaders:m,singleEncode:v}){if(r==null)throw new TypeError("url is a required option");if(s==null)throw new TypeError("accessKeyId is a required option");if(a==null)throw new TypeError("secretAccessKey is a required option");this.method=t||(i?"POST":"GET"),this.url=new URL(r),this.headers=new Headers(n||{}),this.body=i,this.accessKeyId=s,this.secretAccessKey=a,this.sessionToken=c;let T,S;(!u||!l)&&([T,S]=vI(this.url,this.headers)),this.service=u||T||"",this.region=l||S||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=y,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let k=this.signQuery?this.url.searchParams:this.headers;if(this.service==="s3"&&!this.headers.has("X-Amz-Content-Sha256")&&this.headers.set("X-Amz-Content-Sha256","UNSIGNED-PAYLOAD"),k.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&k.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(C=>m||!wI.includes(C)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(C=>C+":"+(C==="host"?this.url.host:(this.headers.get(C)||"").replace(/\s+/g," "))).join(`
60
- `),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!k.has("X-Amz-Expires")&&k.set("X-Amz-Expires","86400"),k.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),k.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),k.set("X-Amz-SignedHeaders",this.signedHeaders)),this.service==="s3")try{this.encodedPath=decodeURIComponent(this.url.pathname.replace(/\+/g," "))}catch{this.encodedPath=this.url.pathname}else this.encodedPath=this.url.pathname.replace(/\/+/g,"/");v||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=Ry(this.encodedPath);let j=new Set;this.encodedSearch=[...this.url.searchParams].filter(([C])=>{if(!C)return!1;if(this.service==="s3"){if(j.has(C))return!1;j.add(C)}return!0}).map(C=>C.map(re=>Ry(encodeURIComponent(re)))).sort(([C,re],[ne,fe])=>C<ne?-1:C>ne?1:re<fe?-1:re>fe?1:0).map(C=>C.join("=")).join("&")}async sign(){return this.signQuery?(this.url.searchParams.set("X-Amz-Signature",await this.signature()),this.sessionToken&&this.appendSessionToken&&this.url.searchParams.set("X-Amz-Security-Token",this.sessionToken)):this.headers.set("Authorization",await this.authHeader()),{method:this.method,url:this.url,headers:this.headers,body:this.body}}async authHeader(){return["AWS4-HMAC-SHA256 Credential="+this.accessKeyId+"/"+this.credentialString,"SignedHeaders="+this.signedHeaders,"Signature="+await this.signature()].join(", ")}async signature(){let t=this.datetime.slice(0,8),r=[this.secretAccessKey,t,this.region,this.service].join(),n=this.cache.get(r);if(!n){let i=await gi("AWS4"+this.secretAccessKey,t),s=await gi(i,this.region),a=await gi(s,this.service);n=await gi(a,"aws4_request"),this.cache.set(r,n)}return dd(await gi(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,dd(await Py(await this.canonicalString()))].join(`
59
+ -----END ${t}-----`},"default")});function Lf(e){let t=[],r=0;for(;r<e.length;){let n=Hf(e.subarray(r));t.push(n),r+=n.byteLength}return t}function Hf(e){let t=0,r=e[0]&31;if(t++,r===31){for(r=0;e[t]>=128;)r=r*128+e[t]-128,t++;r=r*128+e[t]-128,t++}let n=0;if(e[t]<128)n=e[t],t++;else if(n===128){for(n=0;e[t+n]!==0||e[t+n+1]!==0;){if(n>e.byteLength)throw new TypeError("invalid indefinite form length");n++}let s=t+n+2;return{byteLength:s,contents:e.subarray(t,t+n),raw:e.subarray(0,s)}}else{let s=e[t]&127;t++,n=0;for(let a=0;a<s;a++)n=n*256+e[t],t++}let i=t+n;return{byteLength:i,contents:e.subarray(t,i),raw:e.subarray(0,i)}}function DT(e){let t=Lf(Lf(Hf(e).contents)[0].contents);return qo(t[t[0].raw[0]===160?6:5].raw)}function UT(e){let t=e.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=Vu(t);return nl(DT(r),"PUBLIC KEY")}var Df,Uf,Mf,nr,Cf,kf,Ff,il,qf,Qo=I(()=>{Te();ot();Ie();Nf();V();st();Df=o(async(e,t,r)=>{if(!se(r))throw new TypeError(ie(r,...W));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==e)throw new TypeError(`key is not a ${e} key`);return nl(qo(new Uint8Array(await D.subtle.exportKey(t,r))),`${e.toUpperCase()} KEY`)},"genericExport"),Uf=o(e=>Df("public","spki",e),"toSPKI"),Mf=o(e=>Df("private","pkcs8",e),"toPKCS8"),nr=o((e,t,r=0)=>{r===0&&(t.unshift(t.length),t.unshift(6));let n=e.indexOf(t[0],r);if(n===-1)return!1;let i=e.subarray(n,n+t.length);return i.length!==t.length?!1:i.every((s,a)=>s===t[a])||nr(e,t,n+1)},"findOid"),Cf=o(e=>{switch(!0){case nr(e,[42,134,72,206,61,3,1,7]):return"P-256";case nr(e,[43,129,4,0,34]):return"P-384";case nr(e,[43,129,4,0,35]):return"P-521";case nr(e,[43,101,110]):return"X25519";case nr(e,[43,101,111]):return"X448";case nr(e,[43,101,112]):return"Ed25519";case nr(e,[43,101,113]):return"Ed448";default:throw new M("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),kf=o(async(e,t,r,n,i)=>{var s;let a,c,u=new Uint8Array(atob(r.replace(e,"")).split("").map(d=>d.charCodeAt(0))),l=t==="spki";switch(n){case"PS256":case"PS384":case"PS512":a={name:"RSA-PSS",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RS256":case"RS384":case"RS512":a={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${n.slice(-3)}`},c=l?["verify"]:["sign"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":a={name:"RSA-OAEP",hash:`SHA-${parseInt(n.slice(-3),10)||1}`},c=l?["encrypt","wrapKey"]:["decrypt","unwrapKey"];break;case"ES256":a={name:"ECDSA",namedCurve:"P-256"},c=l?["verify"]:["sign"];break;case"ES384":a={name:"ECDSA",namedCurve:"P-384"},c=l?["verify"]:["sign"];break;case"ES512":a={name:"ECDSA",namedCurve:"P-521"},c=l?["verify"]:["sign"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{let d=Cf(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:Cf(u)},c=l?["verify"]:["sign"];break;default:throw new M('Invalid or unsupported "alg" (Algorithm) value')}return D.subtle.importKey(t,u,a,(s=i?.extractable)!==null&&s!==void 0?s:!1,c)},"genericImport"),Ff=o((e,t,r)=>kf(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",e,t,r),"fromPKCS8"),il=o((e,t,r)=>kf(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",e,t,r),"fromSPKI");o(Lf,"getElement");o(Hf,"parseElement");o(DT,"spkiFromX509");o(UT,"getSPKI");qf=o((e,t,r)=>{let n;try{n=UT(e)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return il(n,t,r)},"fromX509")});function MT(e){let t,r;switch(e.kty){case"oct":{switch(e.alg){case"HS256":case"HS384":case"HS512":t={name:"HMAC",hash:`SHA-${e.alg.slice(-3)}`},r=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":throw new M(`${e.alg} keys cannot be imported as CryptoKey instances`);case"A128GCM":case"A192GCM":case"A256GCM":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":t={name:"AES-GCM"},r=["encrypt","decrypt"];break;case"A128KW":case"A192KW":case"A256KW":t={name:"AES-KW"},r=["wrapKey","unwrapKey"];break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":t={name:"PBKDF2"},r=["deriveBits"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"RSA":{switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},r=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"EC":{switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},r=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},r=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"OKP":{switch(e.alg){case"EdDSA":t={name:e.crv},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new M('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:r}}var kT,ol,$f=I(()=>{Te();V();Ie();o(MT,"subtleMapping");kT=o(async e=>{var t,r;if(!e.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:n,keyUsages:i}=MT(e),s=[n,(t=e.ext)!==null&&t!==void 0?t:!1,(r=e.key_ops)!==null&&r!==void 0?r:i];if(n.name==="PBKDF2")return D.subtle.importKey("raw",te(e.k),...s);let a={...e};return delete a.alg,delete a.use,D.subtle.importKey("jwk",a,...s)},"parse"),ol=kT});async function jf(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return il(e,t,r)}async function Vf(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return qf(e,t,r)}async function Gf(e,t,r){if(typeof e!="string"||e.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return Ff(e,t,r)}async function ir(e,t,r){var n;if(!Q(e))throw new TypeError("JWK must be an object");switch(t||(t=e.alg),e.kty){case"oct":if(typeof e.k!="string"||!e.k)throw new TypeError('missing "k" (Key Value) Parameter value');return r??(r=e.ext!==!0),r?ol({...e,alg:t,ext:(n=e.ext)!==null&&n!==void 0?n:!1}):te(e.k);case"RSA":if(e.oth!==void 0)throw new M('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return ol({...e,alg:t});default:throw new M('Unsupported "kty" (Key Type) Parameter value')}}var ai=I(()=>{Ie();Qo();$f();V();He();o(jf,"importSPKI");o(Vf,"importX509");o(Gf,"importPKCS8");o(ir,"importJWK")});var FT,HT,qT,or,ci=I(()=>{ot();st();FT=o((e,t)=>{if(!(t instanceof Uint8Array)){if(!Wu(t))throw new TypeError(zu(e,t,...W,"Uint8Array"));if(t.type!=="secret")throw new TypeError(`${W.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),HT=o((e,t,r)=>{if(!Wu(t))throw new TypeError(zu(e,t,...W));if(t.type==="secret")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&t.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&t.type==="public")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&r==="verify"&&t.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(t.algorithm&&r==="encrypt"&&t.type==="private")throw new TypeError(`${W.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),qT=o((e,t,r)=>{e.startsWith("HS")||e==="dir"||e.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(e)?FT(e,t):HT(e,t,r)},"checkKeyType"),or=qT});async function $T(e,t,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(ie(r,"Uint8Array"));let s=parseInt(e.slice(1,4),10),a=await D.subtle.importKey("raw",r.subarray(s>>3),"AES-CBC",!1,["encrypt"]),c=await D.subtle.importKey("raw",r.subarray(0,s>>3),{hash:`SHA-${s<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await D.subtle.encrypt({iv:n,name:"AES-CBC"},a,t)),l=Se(i,n,u,ko(i.length<<3)),d=new Uint8Array((await D.subtle.sign("HMAC",c,l)).slice(0,s>>3));return{ciphertext:u,tag:d}}async function jT(e,t,r,n,i){let s;r instanceof Uint8Array?s=await D.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(Fe(r,e,"encrypt"),s=r);let a=new Uint8Array(await D.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},s,t)),c=a.slice(-16);return{ciphertext:a.slice(0,-16),tag:c}}var VT,ui,sl=I(()=>{ge();Ku();Ju();Te();rr();ot();V();st();o($T,"cbcEncrypt");o(jT,"gcmEncrypt");VT=o(async(e,t,r,n,i)=>{if(!se(r)&&!(r instanceof Uint8Array))throw new TypeError(ie(r,...W,"Uint8Array"));switch(Vo(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&Qr(r,parseInt(e.slice(-3),10)),$T(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&Qr(r,parseInt(e.slice(1,4),10)),jT(e,t,r,n,i);default:throw new M("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),ui=VT});async function Bf(e,t,r,n){let i=e.slice(0,7);n||(n=$o(i));let{ciphertext:s,tag:a}=await ui(i,r,t,n,new Uint8Array(0));return{encryptedKey:s,iv:Z(n),tag:Z(a)}}async function Kf(e,t,r,n,i){let s=e.slice(0,7);return Bo(s,t,r,n,i,new Uint8Array(0))}var al=I(()=>{sl();Qu();jo();Ie();o(Bf,"wrap");o(Kf,"unwrap")});async function GT(e,t,r,n,i){switch(or(e,t,"decrypt"),e){case"dir":{if(r!==void 0)throw new P("Encountered unexpected JWE Encrypted Key");return t}case"ECDH-ES":if(r!==void 0)throw new P("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!Q(n.epk))throw new P('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!zo(t))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let s=await ir(n.epk,e),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new P('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=te(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new P('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=te(n.apv)}let u=await Jo(s,t,e==="ECDH-ES"?n.enc:e,e==="ECDH-ES"?oi(n.enc):parseInt(e.slice(-5,-2),10),a,c);if(e==="ECDH-ES")return u;if(r===void 0)throw new P("JWE Encrypted Key missing");return ii(e.slice(-6),u,r)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(r===void 0)throw new P("JWE Encrypted Key missing");return xf(e,t,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new P("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new P('JOSE Header "p2c" (PBES2 Count) missing or invalid');let s=i?.maxPBES2Count||1e4;if(n.p2c>s)throw new P('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new P('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return Pf(e,t,r,n.p2c,te(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new P("JWE Encrypted Key missing");return ii(e,t,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new P("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new P('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new P('JOSE Header "tag" (Authentication Tag) missing or invalid');let s=te(n.iv),a=te(n.tag);return Kf(e,t,r,s,a)}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var Jf,zf=I(()=>{Ko();Xu();tl();rl();Ie();V();si();ai();ci();He();al();o(GT,"decryptKeyManagement");Jf=GT});function BT(e,t,r,n,i){if(i.crit!==void 0&&n.crit===void 0)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||n.crit===void 0)return new Set;if(!Array.isArray(n.crit)||n.crit.length===0||n.crit.some(a=>typeof a!="string"||a.length===0))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let s;r!==void 0?s=new Map([...Object.entries(r),...t.entries()]):s=t;for(let a of n.crit){if(!s.has(a))throw new M(`Extension Header Parameter "${a}" is not recognized`);if(i[a]===void 0)throw new e(`Extension Header Parameter "${a}" is missing`);if(s.get(a)&&n[a]===void 0)throw new e(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(n.crit)}var bt,en=I(()=>{V();o(BT,"validateCrit");bt=BT});var KT,li,cl=I(()=>{KT=o((e,t)=>{if(t!==void 0&&(!Array.isArray(t)||t.some(r=>typeof r!="string")))throw new TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)},"validateAlgorithms"),li=KT});async function tn(e,t,r){var n;if(!Q(e))throw new P("Flattened JWE must be an object");if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new P("JOSE Header missing");if(typeof e.iv!="string")throw new P("JWE Initialization Vector missing or incorrect type");if(typeof e.ciphertext!="string")throw new P("JWE Ciphertext missing or incorrect type");if(typeof e.tag!="string")throw new P("JWE Authentication Tag missing or incorrect type");if(e.protected!==void 0&&typeof e.protected!="string")throw new P("JWE Protected Header incorrect type");if(e.encrypted_key!==void 0&&typeof e.encrypted_key!="string")throw new P("JWE Encrypted Key incorrect type");if(e.aad!==void 0&&typeof e.aad!="string")throw new P("JWE AAD incorrect type");if(e.header!==void 0&&!Q(e.header))throw new P("JWE Shared Unprotected Header incorrect type");if(e.unprotected!==void 0&&!Q(e.unprotected))throw new P("JWE Per-Recipient Unprotected Header incorrect type");let i;if(e.protected)try{let j=te(e.protected);i=JSON.parse(ce.decode(j))}catch{throw new P("JWE Protected Header is invalid")}if(!gt(i,e.header,e.unprotected))throw new P("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let s={...i,...e.header,...e.unprotected};if(bt(P,new Map,r?.crit,i,s),s.zip!==void 0){if(!i||!i.zip)throw new P('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(s.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=s;if(typeof a!="string"||!a)throw new P("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new P("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&li("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&li("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new Zt('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new Zt('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;e.encrypted_key!==void 0&&(d=te(e.encrypted_key));let p=!1;typeof t=="function"&&(t=await t(i,e),p=!0);let y;try{y=await Jf(a,t,d,s,r)}catch(j){if(j instanceof TypeError||j instanceof P||j instanceof M)throw j;y=_t(c)}let h=te(e.iv),m=te(e.tag),v=Y.encode((n=e.protected)!==null&&n!==void 0?n:""),T;e.aad!==void 0?T=Se(v,Y.encode("."),Y.encode(e.aad)):T=v;let S=await Bo(c,y,te(e.ciphertext),h,m,T);s.zip==="DEF"&&(S=await(r?.inflateRaw||_f)(S));let k={plaintext:S};return e.protected!==void 0&&(k.protectedHeader=i),e.aad!==void 0&&(k.additionalAuthenticatedData=te(e.aad)),e.unprotected!==void 0&&(k.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(k.unprotectedHeader=e.header),p?{...k,key:t}:k}var Yo=I(()=>{Ie();Qu();Yu();V();Yr();He();zf();ge();si();en();cl();o(tn,"flattenedDecrypt")});async function Zo(e,t,r){if(e instanceof Uint8Array&&(e=ce.decode(e)),typeof e!="string")throw new P("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:s,3:a,4:c,length:u}=e.split(".");if(u!==5)throw new P("Invalid Compact JWE");let l=await tn({ciphertext:a,iv:s||void 0,protected:n||void 0,tag:c||void 0,encrypted_key:i||void 0},t,r),d={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return typeof t=="function"?{...d,key:l.key}:d}var ul=I(()=>{Yo();V();ge();o(Zo,"compactDecrypt")});async function Wf(e,t,r){if(!Q(e))throw new P("General JWE must be an object");if(!Array.isArray(e.recipients)||!e.recipients.every(Q))throw new P("JWE Recipients missing or incorrect type");if(!e.recipients.length)throw new P("JWE Recipients has no members");for(let n of e.recipients)try{return await tn({aad:e.aad,ciphertext:e.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:e.iv,protected:e.protected,tag:e.tag,unprotected:e.unprotected},t,r)}catch{}throw new Lt}var Qf=I(()=>{Yo();V();He();o(Wf,"generalDecrypt")});var JT,Yf,Zf=I(()=>{Te();ot();Ie();st();JT=o(async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:Z(e)};if(!se(e))throw new TypeError(ie(e,...W,"Uint8Array"));if(!e.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:t,key_ops:r,alg:n,use:i,...s}=await D.subtle.exportKey("jwk",e);return s},"keyToJWK"),Yf=JT});async function Xf(e){return Uf(e)}async function em(e){return Mf(e)}async function Xo(e){return Yf(e)}var ll=I(()=>{Qo();Qo();Zf();o(Xf,"exportSPKI");o(em,"exportPKCS8");o(Xo,"exportJWK")});async function zT(e,t,r,n,i={}){let s,a,c;switch(or(e,r,"encrypt"),e){case"dir":{c=r;break}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!zo(r))throw new M("ECDH with the provided key is not allowed or not supported by your javascript runtime");let{apu:u,apv:l}=i,{epk:d}=i;d||(d=(await vf(r)).privateKey);let{x:p,y,crv:h,kty:m}=await Xo(d),v=await Jo(r,d,e==="ECDH-ES"?t:e,e==="ECDH-ES"?oi(t):parseInt(e.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:m}},m==="EC"&&(a.epk.y=y),u&&(a.apu=Z(u)),l&&(a.apv=Z(l)),e==="ECDH-ES"){c=v;break}c=n||_t(t);let T=e.slice(-6);s=await ni(T,v,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||_t(t),s=await Of(e,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||_t(t);let{p2c:u,p2s:l}=i;({encryptedKey:s,...a}=await Af(e,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||_t(t),s=await ni(e,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||_t(t);let{iv:u}=i;({encryptedKey:s,...a}=await Bf(e,r,c,u));break}default:throw new M('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:s,parameters:a}}var es,dl=I(()=>{Ko();Xu();tl();rl();Ie();si();V();ll();ci();al();o(zT,"encryptKeyManagement");es=zT});var pl,Dt,ts=I(()=>{Ie();sl();Yu();jo();dl();V();Yr();ge();en();pl=Symbol(),Dt=class{static{o(this,"FlattenedEncrypt")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=t}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}async encrypt(t,r){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new P("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!gt(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new P("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(bt(P,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new P('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new M('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:s}=n;if(typeof i!="string"||!i)throw new P('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof s!="string"||!s)throw new P('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');let a;if(i==="dir"){if(this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Encryption")}else if(i==="ECDH-ES"&&this._cek)throw new TypeError("setContentEncryptionKey cannot be called when using Direct Key Agreement");let c;{let m;({cek:c,encryptedKey:a,parameters:m}=await es(i,s,t,this._cek,this._keyManagementParameters)),m&&(r&&pl in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...m}:this.setUnprotectedHeader(m):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...m}:this.setProtectedHeader(m))}this._iv||(this._iv=$o(s));let u,l,d;this._protectedHeader?l=Y.encode(Z(JSON.stringify(this._protectedHeader))):l=Y.encode(""),this._aad?(d=Z(this._aad),u=Se(l,Y.encode("."),Y.encode(d))):u=l;let p,y;if(n.zip==="DEF"){let m=await(r?.deflateRaw||bf)(this._plaintext);({ciphertext:p,tag:y}=await ui(s,m,c,this._iv,u))}else({ciphertext:p,tag:y}=await ui(s,this._plaintext,c,this._iv,u));let h={ciphertext:Z(p),iv:Z(this._iv),tag:Z(y)};return a&&(h.encrypted_key=Z(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=ce.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var hl,rs,tm=I(()=>{ts();V();si();Yr();dl();Ie();en();hl=class{static{o(this,"IndividualRecipient")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addRecipient(...t){return this.parent.addRecipient(...t)}encrypt(...t){return this.parent.encrypt(...t)}done(){return this.parent}},rs=class{static{o(this,"GeneralEncrypt")}constructor(t){this._recipients=[],this._plaintext=t}addRecipient(t,r){let n=new hl(this,t,{crit:r?.crit});return this._recipients.push(n),n}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setSharedUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}setAdditionalAuthenticatedData(t){return this._aad=t,this}async encrypt(t){var r,n,i;if(!this._recipients.length)throw new P("at least one recipient must be added");if(t={deflateRaw:t?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Dt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(u.unprotectedHeader).encrypt(u.key,{...u.options,...t}),d={ciphertext:l.ciphertext,iv:l.iv,recipients:[{}],tag:l.tag};return l.aad&&(d.aad=l.aad),l.protected&&(d.protected=l.protected),l.unprotected&&(d.unprotected=l.unprotected),l.encrypted_key&&(d.recipients[0].encrypted_key=l.encrypted_key),l.header&&(d.recipients[0].header=l.header),d}let s;for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u];if(!gt(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new P("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let d={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader},{alg:p}=d;if(typeof p!="string"||!p)throw new P('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new P('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new P('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!s)s=d.enc;else if(s!==d.enc)throw new P('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(bt(P,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new P('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=_t(s),c={ciphertext:"",iv:"",recipients:[],tag:""};for(let u=0;u<this._recipients.length;u++){let l=this._recipients[u],d={};c.recipients.push(d);let y={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let v=await new Dt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:y}).encrypt(l.key,{...l.options,...t,[pl]:!0});c.ciphertext=v.ciphertext,c.iv=v.iv,c.tag=v.tag,v.aad&&(c.aad=v.aad),v.protected&&(c.protected=v.protected),v.unprotected&&(c.unprotected=v.unprotected),d.encrypted_key=v.encrypted_key,v.header&&(d.header=v.header);continue}let{encryptedKey:h,parameters:m}=await es(((r=l.unprotectedHeader)===null||r===void 0?void 0:r.alg)||((n=this._protectedHeader)===null||n===void 0?void 0:n.alg)||((i=this._unprotectedHeader)===null||i===void 0?void 0:i.alg),s,l.key,a,{p2c:y});d.encrypted_key=Z(h),(l.unprotectedHeader||m)&&(d.header={...l.unprotectedHeader,...m})}return c}}});function di(e,t){let r=`SHA-${e.slice(-3)}`;switch(e){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:e.slice(-3)>>3};case"RS256":case"RS384":case"RS512":return{hash:r,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:r,name:"ECDSA",namedCurve:t.namedCurve};case"EdDSA":return{name:t.name};default:throw new M(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var fl=I(()=>{V();o(di,"subtleDsa")});function pi(e,t,r){if(se(t))return yf(t,e,r),t;if(t instanceof Uint8Array){if(!e.startsWith("HS"))throw new TypeError(ie(t,...W));return D.subtle.importKey("raw",t,{hash:`SHA-${e.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(ie(t,...W,"Uint8Array"))}var ml=I(()=>{Te();rr();ot();st();o(pi,"getCryptoKey")});var WT,rm,nm=I(()=>{fl();Te();Wo();ml();WT=o(async(e,t,r,n)=>{let i=await pi(e,t,"verify");Cr(e,i);let s=di(e,i.algorithm);try{return await D.subtle.verify(s,i,r,n)}catch{return!1}},"verify"),rm=WT});async function rn(e,t,r){var n;if(!Q(e))throw new z("Flattened JWS must be an object");if(e.protected===void 0&&e.header===void 0)throw new z('Flattened JWS must have either of the "protected" or "header" members');if(e.protected!==void 0&&typeof e.protected!="string")throw new z("JWS Protected Header incorrect type");if(e.payload===void 0)throw new z("JWS Payload missing");if(typeof e.signature!="string")throw new z("JWS Signature missing or incorrect type");if(e.header!==void 0&&!Q(e.header))throw new z("JWS Unprotected Header incorrect type");let i={};if(e.protected)try{let T=te(e.protected);i=JSON.parse(ce.decode(T))}catch{throw new z("JWS Protected Header is invalid")}if(!gt(i,e.header))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let s={...i,...e.header},a=bt(z,new Map([["b64",!0]]),r?.crit,i,s),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=s;if(typeof u!="string"||!u)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&li("algorithms",r.algorithms);if(l&&!l.has(u))throw new Zt('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof e.payload!="string")throw new z("JWS Payload must be a string")}else if(typeof e.payload!="string"&&!(e.payload instanceof Uint8Array))throw new z("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof t=="function"&&(t=await t(i,e),d=!0),or(u,t,"verify");let p=Se(Y.encode((n=e.protected)!==null&&n!==void 0?n:""),Y.encode("."),typeof e.payload=="string"?Y.encode(e.payload):e.payload),y=te(e.signature);if(!await rm(u,t,y,p))throw new Nr;let m;c?m=te(e.payload):typeof e.payload=="string"?m=Y.encode(e.payload):m=e.payload;let v={payload:m};return e.protected!==void 0&&(v.protectedHeader=i),e.header!==void 0&&(v.unprotectedHeader=e.header),d?{...v,key:t}:v}var ns=I(()=>{Ie();nm();V();ge();Yr();He();ci();en();cl();o(rn,"flattenedVerify")});async function is(e,t,r){if(e instanceof Uint8Array&&(e=ce.decode(e)),typeof e!="string")throw new z("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:s,length:a}=e.split(".");if(a!==3)throw new z("Invalid Compact JWS");let c=await rn({payload:i,protected:n,signature:s},t,r),u={payload:c.payload,protectedHeader:c.protectedHeader};return typeof t=="function"?{...u,key:c.key}:u}var yl=I(()=>{ns();V();ge();o(is,"compactVerify")});async function im(e,t,r){if(!Q(e))throw new z("General JWS must be an object");if(!Array.isArray(e.signatures)||!e.signatures.every(Q))throw new z("JWS Signatures missing or incorrect type");for(let n of e.signatures)try{return await rn({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},t,r)}catch{}throw new Nr}var om=I(()=>{ns();V();He();o(im,"generalVerify")});var nn,gl=I(()=>{nn=o(e=>Math.floor(e.getTime()/1e3),"default")});var QT,on,_l=I(()=>{QT=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,on=o(e=>{let t=QT.exec(e);if(!t)throw new TypeError("Invalid time period format");let r=parseFloat(t[1]);switch(t[2].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":return Math.round(r);case"minute":case"minutes":case"min":case"mins":case"m":return Math.round(r*60);case"hour":case"hours":case"hr":case"hrs":case"h":return Math.round(r*3600);case"day":case"days":case"d":return Math.round(r*86400);case"week":case"weeks":case"w":return Math.round(r*604800);default:return Math.round(r*31557600)}},"default")});var sm,YT,sn,os=I(()=>{V();ge();gl();_l();He();sm=o(e=>e.toLowerCase().replace(/^application\//,""),"normalizeTyp"),YT=o((e,t)=>typeof e=="string"?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1,"checkAudiencePresence"),sn=o((e,t,r={})=>{let{typ:n}=r;if(n&&(typeof e.typ!="string"||sm(e.typ)!==sm(n)))throw new _e('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ce.decode(t))}catch{}if(!Q(i))throw new ue("JWT Claims Set must be a top-level JSON object");let{requiredClaims:s=[],issuer:a,subject:c,audience:u,maxTokenAge:l}=r;l!==void 0&&s.push("iat"),u!==void 0&&s.push("aud"),c!==void 0&&s.push("sub"),a!==void 0&&s.push("iss");for(let h of new Set(s.reverse()))if(!(h in i))throw new _e(`missing required "${h}" claim`,h,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new _e('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new _e('unexpected "sub" claim value',"sub","check_failed");if(u&&!YT(i.aud,typeof u=="string"?[u]:u))throw new _e('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=on(r.clockTolerance);break;case"number":d=r.clockTolerance;break;case"undefined":d=0;break;default:throw new TypeError("Invalid clockTolerance option type")}let{currentDate:p}=r,y=nn(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new _e('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new _e('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>y+d)throw new _e('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new _e('"exp" claim must be a number',"exp","invalid");if(i.exp<=y-d)throw new Wr('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=y-i.iat,m=typeof l=="number"?l:on(l);if(h-d>m)throw new Wr('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(h<0-d)throw new _e('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function am(e,t,r){var n;let i=await is(e,t,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new ue("JWTs MUST NOT use unencoded payload");let a={payload:sn(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof t=="function"?{...a,key:i.key}:a}var cm=I(()=>{yl();os();V();o(am,"jwtVerify")});async function um(e,t,r){let n=await Zo(e,t,r),i=sn(n.protectedHeader,n.plaintext,r),{protectedHeader:s}=n;if(s.iss!==void 0&&s.iss!==i.iss)throw new _e('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(s.sub!==void 0&&s.sub!==i.sub)throw new _e('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(s.aud!==void 0&&JSON.stringify(s.aud)!==JSON.stringify(i.aud))throw new _e('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:s};return typeof t=="function"?{...a,key:n.key}:a}var lm=I(()=>{ul();os();V();o(um,"jwtDecrypt")});var an,bl=I(()=>{ts();an=class{static{o(this,"CompactEncrypt")}constructor(t){this._flattened=new Dt(t)}setContentEncryptionKey(t){return this._flattened.setContentEncryptionKey(t),this}setInitializationVector(t){return this._flattened.setInitializationVector(t),this}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}setKeyManagementParameters(t){return this._flattened.setKeyManagementParameters(t),this}async encrypt(t,r){let n=await this._flattened.encrypt(t,r);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(".")}}});var ZT,dm,pm=I(()=>{fl();Te();Wo();ml();ZT=o(async(e,t,r)=>{let n=await pi(e,t,"sign");Cr(e,n);let i=await D.subtle.sign(di(e,n.algorithm),n,r);return new Uint8Array(i)},"sign"),dm=ZT});var sr,ss=I(()=>{Ie();pm();Yr();V();ge();ci();en();sr=class{static{o(this,"FlattenedSign")}constructor(t){if(!(t instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=t}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setUnprotectedHeader(t){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=t,this}async sign(t,r){if(!this._protectedHeader&&!this._unprotectedHeader)throw new z("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!gt(this._protectedHeader,this._unprotectedHeader))throw new z("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=bt(z,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),s=!0;if(i.has("b64")&&(s=this._protectedHeader.b64,typeof s!="boolean"))throw new z('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new z('JWS "alg" (Algorithm) Header Parameter missing or invalid');or(a,t,"sign");let c=this._payload;s&&(c=Y.encode(Z(c)));let u;this._protectedHeader?u=Y.encode(Z(JSON.stringify(this._protectedHeader))):u=Y.encode("");let l=Se(u,Y.encode("."),c),d=await dm(a,t,l),p={signature:Z(d),payload:""};return s&&(p.payload=ce.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ce.decode(u)),p}}});var cn,El=I(()=>{ss();cn=class{static{o(this,"CompactSign")}constructor(t){this._flattened=new sr(t)}setProtectedHeader(t){return this._flattened.setProtectedHeader(t),this}async sign(t,r){let n=await this._flattened.sign(t,r);if(n.payload===void 0)throw new TypeError("use the flattened module for creating JWS with b64: false");return`${n.protected}.${n.payload}.${n.signature}`}}});var wl,as,hm=I(()=>{ss();V();wl=class{static{o(this,"IndividualSignature")}constructor(t,r,n){this.parent=t,this.key=r,this.options=n}setProtectedHeader(t){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=t,this}setUnprotectedHeader(t){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=t,this}addSignature(...t){return this.parent.addSignature(...t)}sign(...t){return this.parent.sign(...t)}done(){return this.parent}},as=class{static{o(this,"GeneralSign")}constructor(t){this._signatures=[],this._payload=t}addSignature(t,r){let n=new wl(this,t,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new z("at least one signature must be added");let t={signatures:[],payload:""};for(let r=0;r<this._signatures.length;r++){let n=this._signatures[r],i=new sr(this._payload);i.setProtectedHeader(n.protectedHeader),i.setUnprotectedHeader(n.unprotectedHeader);let{payload:s,...a}=await i.sign(n.key,n.options);if(r===0)t.payload=s;else if(t.payload!==s)throw new z("inconsistent use of JWS Unencoded Payload (RFC7797)");t.signatures.push(a)}return t}}});var ar,cs=I(()=>{gl();He();_l();ar=class{static{o(this,"ProduceJWT")}constructor(t){if(!Q(t))throw new TypeError("JWT Claims Set MUST be an object");this._payload=t}setIssuer(t){return this._payload={...this._payload,iss:t},this}setSubject(t){return this._payload={...this._payload,sub:t},this}setAudience(t){return this._payload={...this._payload,aud:t},this}setJti(t){return this._payload={...this._payload,jti:t},this}setNotBefore(t){return typeof t=="number"?this._payload={...this._payload,nbf:t}:this._payload={...this._payload,nbf:nn(new Date)+on(t)},this}setExpirationTime(t){return typeof t=="number"?this._payload={...this._payload,exp:t}:this._payload={...this._payload,exp:nn(new Date)+on(t)},this}setIssuedAt(t){return typeof t>"u"?this._payload={...this._payload,iat:nn(new Date)}:this._payload={...this._payload,iat:t},this}}});var us,fm=I(()=>{El();V();ge();cs();us=class extends ar{static{o(this,"SignJWT")}setProtectedHeader(t){return this._protectedHeader=t,this}async sign(t,r){var n;let i=new cn(Y.encode(JSON.stringify(this._payload)));if(i.setProtectedHeader(this._protectedHeader),Array.isArray((n=this._protectedHeader)===null||n===void 0?void 0:n.crit)&&this._protectedHeader.crit.includes("b64")&&this._protectedHeader.b64===!1)throw new ue("JWTs MUST NOT use unencoded payload");return i.sign(t,r)}}});var ls,mm=I(()=>{bl();ge();cs();ls=class extends ar{static{o(this,"EncryptJWT")}setProtectedHeader(t){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=t,this}setKeyManagementParameters(t){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=t,this}setContentEncryptionKey(t){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=t,this}setInitializationVector(t){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=t,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(t,r){let n=new an(Y.encode(JSON.stringify(this._payload)));return this._replicateIssuerAsHeader&&(this._protectedHeader={...this._protectedHeader,iss:this._payload.iss}),this._replicateSubjectAsHeader&&(this._protectedHeader={...this._protectedHeader,sub:this._payload.sub}),this._replicateAudienceAsHeader&&(this._protectedHeader={...this._protectedHeader,aud:this._payload.aud}),n.setProtectedHeader(this._protectedHeader),this._iv&&n.setInitializationVector(this._iv),this._cek&&n.setContentEncryptionKey(this._cek),this._keyManagementParameters&&n.setKeyManagementParameters(this._keyManagementParameters),n.encrypt(t,r)}}});async function vl(e,t){if(!Q(e))throw new TypeError("JWK must be an object");if(t??(t="sha256"),t!=="sha256"&&t!=="sha384"&&t!=="sha512")throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(e.kty){case"EC":cr(e.crv,'"crv" (Curve) Parameter'),cr(e.x,'"x" (X Coordinate) Parameter'),cr(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":cr(e.crv,'"crv" (Subtype of Key Pair) Parameter'),cr(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":cr(e.e,'"e" (Exponent) Parameter'),cr(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":cr(e.k,'"k" (Key Value) Parameter'),r={k:e.k,kty:e.kty};break;default:throw new M('"kty" (Key Type) Parameter missing or unsupported')}let n=Y.encode(JSON.stringify(r));return Z(await Uo(t,n))}async function ym(e,t){t??(t="sha256");let r=await vl(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${r}`}var cr,gm=I(()=>{$u();Ie();V();ge();He();cr=o((e,t)=>{if(typeof e!="string"||!e)throw new Xn(`${t} missing or invalid`)},"check");o(vl,"calculateJwkThumbprint");o(ym,"calculateJwkThumbprintUri")});async function _m(e,t){let r={...e,...t?.header};if(!Q(r.jwk))throw new z('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await ir({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new z('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var bm=I(()=>{ai();He();V();o(_m,"EmbeddedJWK")});function XT(e){switch(typeof e=="string"&&e.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new M('Unsupported "alg" value for a JSON Web Key Set')}}function Tl(e){return e&&typeof e=="object"&&Array.isArray(e.keys)&&e.keys.every(eS)}function eS(e){return Q(e)}function tS(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}async function Em(e,t,r){let n=e.get(t)||e.set(t,{}).get(t);if(n[r]===void 0){let i=await ir({...t,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new Xt("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function wm(e){let t=new hi(e);return async function(r,n){return t.getKey(r,n)}}var hi,Sl=I(()=>{ai();V();He();o(XT,"getKtyFromAlg");o(Tl,"isJWKSLike");o(eS,"isJWKLike");o(tS,"clone");hi=class{static{o(this,"LocalJWKSet")}constructor(t){if(this._cached=new WeakMap,!Tl(t))throw new Xt("JSON Web Key Set malformed");this._jwks=tS(t)}async getKey(t,r){let{alg:n,kid:i}={...t,...r?.header},s=XT(n),a=this._jwks.keys.filter(l=>{let d=s===l.kty;if(d&&typeof i=="string"&&(d=i===l.kid),d&&typeof l.alg=="string"&&(d=n===l.alg),d&&typeof l.use=="string"&&(d=l.use==="sig"),d&&Array.isArray(l.key_ops)&&(d=l.key_ops.includes("verify")),d&&n==="EdDSA"&&(d=l.crv==="Ed25519"||l.crv==="Ed448"),d)switch(n){case"ES256":d=l.crv==="P-256";break;case"ES256K":d=l.crv==="secp256k1";break;case"ES384":d=l.crv==="P-384";break;case"ES512":d=l.crv==="P-521";break}return d}),{0:c,length:u}=a;if(u===0)throw new xr;if(u!==1){let l=new ei,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await Em(d,p,n)}catch{continue}},l}return Em(this._cached,c,n)}};o(Em,"importWithAlgCache");o(wm,"createLocalJWKSet")});var rS,vm,Tm=I(()=>{V();rS=o(async(e,t,r)=>{let n,i,s=!1;typeof AbortController=="function"&&(n=new AbortController,i=setTimeout(()=>{s=!0,n.abort()},t));let a=await fetch(e.href,{signal:n?n.signal:void 0,redirect:"manual",headers:r.headers}).catch(c=>{throw s?new ti:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new pe("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new pe("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),vm=rS});function nS(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function Sm(e,t){let r=new Il(e,t);return async function(n,i){return r.getKey(n,i)}}var Il,Im=I(()=>{Tm();V();Sl();o(nS,"isCloudflareWorkers");Il=class extends hi{static{o(this,"RemoteJWKSet")}constructor(t,r){if(super({keys:[]}),this._jwks=void 0,!(t instanceof URL))throw new TypeError("url must be an instance of URL");this._url=new URL(t.href),this._options={agent:r?.agent,headers:r?.headers},this._timeoutDuration=typeof r?.timeoutDuration=="number"?r?.timeoutDuration:5e3,this._cooldownDuration=typeof r?.cooldownDuration=="number"?r?.cooldownDuration:3e4,this._cacheMaxAge=typeof r?.cacheMaxAge=="number"?r?.cacheMaxAge:6e5}coolingDown(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cooldownDuration:!1}fresh(){return typeof this._jwksTimestamp=="number"?Date.now()<this._jwksTimestamp+this._cacheMaxAge:!1}async getKey(t,r){(!this._jwks||!this.fresh())&&await this.reload();try{return await super.getKey(t,r)}catch(n){if(n instanceof xr&&this.coolingDown()===!1)return await this.reload(),super.getKey(t,r);throw n}}async reload(){this._pendingFetch&&nS()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=vm(this._url,this._timeoutDuration,this._options).then(t=>{if(!Tl(t))throw new Xt("JSON Web Key Set malformed");this._jwks={keys:t.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(t=>{throw this._pendingFetch=void 0,t})),await this._pendingFetch}};o(Sm,"createRemoteJWKSet")});var ds,Am=I(()=>{Ie();ge();V();os();cs();ds=class extends ar{static{o(this,"UnsecuredJWT")}encode(){let t=Z(JSON.stringify({alg:"none"})),r=Z(JSON.stringify(this._payload));return`${t}.${r}.`}static decode(t,r){if(typeof t!="string")throw new ue("Unsecured JWT must be a string");let{0:n,1:i,2:s,length:a}=t.split(".");if(a!==3||s!=="")throw new ue("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ce.decode(te(n))),c.alg!=="none")throw new Error}catch{throw new ue("Invalid Unsecured JWT")}return{payload:sn(c,te(i),r),header:c}}}});var Al={};Gi(Al,{decode:()=>fi,encode:()=>iS});var iS,fi,ps=I(()=>{Ie();iS=Z,fi=te});function Pm(e){let t;if(typeof e=="string"){let r=e.split(".");(r.length===3||r.length===5)&&([t]=r)}else if(typeof e=="object"&&e)if("protected"in e)t=e.protected;else throw new TypeError("Token does not contain a Protected Header");try{if(typeof t!="string"||!t)throw new Error;let r=JSON.parse(ce.decode(fi(t)));if(!Q(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var Rm=I(()=>{ps();ge();He();o(Pm,"decodeProtectedHeader")});function Om(e){if(typeof e!="string")throw new ue("JWTs must use Compact JWS serialization, JWT must be a string");let{1:t,length:r}=e.split(".");if(r===5)throw new ue("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new ue("Invalid JWT");if(!t)throw new ue("JWTs must contain a payload");let n;try{n=fi(t)}catch{throw new ue("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ce.decode(n))}catch{throw new ue("Failed to parse the decoded payload as JSON")}if(!Q(i))throw new ue("Invalid JWT Claims Set");return i}var xm=I(()=>{ps();ge();He();V();o(Om,"decodeJwt")});async function Nm(e,t){var r;let n,i,s;switch(e){case"HS256":case"HS384":case"HS512":n=parseInt(e.slice(-3),10),i={name:"HMAC",hash:`SHA-${n}`,length:n},s=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return n=parseInt(e.slice(-3),10),er(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(e.slice(1,4),10),i={name:"AES-KW",length:n},s=["wrapKey","unwrapKey"];break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":case"A128GCM":case"A192GCM":case"A256GCM":n=parseInt(e.slice(1,4),10),i={name:"AES-GCM",length:n},s=["encrypt","decrypt"];break;default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(i,(r=t?.extractable)!==null&&r!==void 0?r:!1,s)}function Pl(e){var t;let r=(t=e?.modulusLength)!==null&&t!==void 0?t:2048;if(typeof r!="number"||r<2048)throw new M("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function Cm(e,t){var r,n,i;let s,a;switch(e){case"PS256":case"PS384":case"PS512":s={name:"RSA-PSS",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Pl(t)},a=["sign","verify"];break;case"RS256":case"RS384":case"RS512":s={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Pl(t)},a=["sign","verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":s={name:"RSA-OAEP",hash:`SHA-${parseInt(e.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Pl(t)},a=["decrypt","unwrapKey","encrypt","wrapKey"];break;case"ES256":s={name:"ECDSA",namedCurve:"P-256"},a=["sign","verify"];break;case"ES384":s={name:"ECDSA",namedCurve:"P-384"},a=["sign","verify"];break;case"ES512":s={name:"ECDSA",namedCurve:"P-521"},a=["sign","verify"];break;case"EdDSA":a=["sign","verify"];let c=(r=t?.crv)!==null&&r!==void 0?r:"Ed25519";switch(c){case"Ed25519":case"Ed448":s={name:c};break;default:throw new M("Invalid or unsupported crv option provided")}break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{a=["deriveKey","deriveBits"];let u=(n=t?.crv)!==null&&n!==void 0?n:"P-256";switch(u){case"P-256":case"P-384":case"P-521":{s={name:"ECDH",namedCurve:u};break}case"X25519":case"X448":s={name:u};break;default:throw new M("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new M('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return D.subtle.generateKey(s,(i=t?.extractable)!==null&&i!==void 0?i:!1,a)}var Rl=I(()=>{Te();V();ri();o(Nm,"generateSecret");o(Pl,"getModulusLengthOption");o(Cm,"generateKeyPair")});async function Lm(e,t){return Cm(e,t)}var Dm=I(()=>{Rl();o(Lm,"generateKeyPair")});async function Um(e,t){return Nm(e,t)}var Mm=I(()=>{Rl();o(Um,"generateSecret")});var hs={};Gi(hs,{CompactEncrypt:()=>an,CompactSign:()=>cn,EmbeddedJWK:()=>_m,EncryptJWT:()=>ls,FlattenedEncrypt:()=>Dt,FlattenedSign:()=>sr,GeneralEncrypt:()=>rs,GeneralSign:()=>as,SignJWT:()=>us,UnsecuredJWT:()=>ds,base64url:()=>Al,calculateJwkThumbprint:()=>vl,calculateJwkThumbprintUri:()=>ym,compactDecrypt:()=>Zo,compactVerify:()=>is,createLocalJWKSet:()=>wm,createRemoteJWKSet:()=>Sm,decodeJwt:()=>Om,decodeProtectedHeader:()=>Pm,errors:()=>Gu,exportJWK:()=>Xo,exportPKCS8:()=>em,exportSPKI:()=>Xf,flattenedDecrypt:()=>tn,flattenedVerify:()=>rn,generalDecrypt:()=>Wf,generalVerify:()=>im,generateKeyPair:()=>Lm,generateSecret:()=>Um,importJWK:()=>ir,importPKCS8:()=>Gf,importSPKI:()=>jf,importX509:()=>Vf,jwtDecrypt:()=>um,jwtVerify:()=>am});var fs=I(()=>{ul();Yo();Qf();tm();yl();ns();om();cm();lm();bl();ts();El();ss();hm();fm();mm();gm();bm();Sl();Im();Am();ll();ai();Rm();xm();V();Dm();Mm();ps()});var ys=g(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});ms.fetchRetry=void 0;var oS=L();async function sS(e,t,r){for(let n=0;n<=e.retries;n++){let i=fetch(t,r);if(n===e.retries)return i;let s=await i;if(s.status<500&&s.status!==429)return s;e?.logger?.error("Request failed, retrying",{method:typeof t=="string"?"GET":t.method,url:typeof t=="string"?t:t.url,status:s.status}),await new Promise(a=>setTimeout(a,e.retryDelayMs*Math.pow(2,n)))}throw new oS.ConfigurationError("An unknown error occurred, ensure retries is not negative")}o(sS,"fetchRetry");ms.fetchRetry=sS});var un=g(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.GcpServiceAccount=Ze.fetchToken=Ze.exchangeGgpJwtForIdToken=Ze.exchangeFirebaseJwtForIdToken=Ze.getTokenFromGcpServiceAccount=void 0;var km=(fs(),Bi(hs)),aS=L(),cS=ys();async function uS({serviceAccount:e,audience:t,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:s,privateKey:a}=e;return await new km.SignJWT(n).setProtectedHeader({alg:"RS256",kid:s}).setIssuer(i).setSubject(i).setAudience(t).setIssuedAt().setExpirationTime(r).sign(a)}o(uS,"getTokenFromGcpServiceAccount");Ze.getTokenFromGcpServiceAccount=uS;async function lS(e,t,r){return xl(e,{token:t,returnSecureToken:!0},r)}o(lS,"exchangeFirebaseJwtForIdToken");Ze.exchangeFirebaseJwtForIdToken=lS;async function dS(e,t,r){return xl(e,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:t},r)}o(dS,"exchangeGgpJwtForIdToken");Ze.exchangeGgpJwtForIdToken=dS;async function xl(e,t,r){let n=await(0,cS.fetchRetry)(r,e,{method:"POST",headers:{"Content-Type":"application/json"},redirect:"follow",body:JSON.stringify(t)});if(n.status!==200){let s;try{let a=await n.text(),c=JSON.parse(a);s={cause:c.error??c}}catch{}throw new aS.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:s})}return await n.json()}o(xl,"fetchToken");Ze.fetchToken=xl;var Ol=class e{static{o(this,"GcpServiceAccount")}#e;#t;constructor({serviceAccount:t,privateKey:r}){this.#t=t,this.#e=r}static async init(t){let r=JSON.parse(t),n=await(0,km.importPKCS8)(r.private_key.trim(),"RS256");return new e({serviceAccount:r,privateKey:n})}get type(){return this.#t.type}get projectId(){return this.#t.project_id}get privateKeyId(){return this.#t.private_key_id}get privateKey(){return this.#e}get clientEmail(){return this.#t.client_email}get clientId(){return this.#t.client_id}get authUri(){return this.#t.auth_uri}get tokenUrl(){return this.#t.token_url}get authProviderX509CertUrl(){return this.#t.auth_provider_x509_cert_url}get clientX509CertUrl(){return this.#t.client_x509_cert_url}get universalDomain(){return this.#t.universe_domain}};Ze.GcpServiceAccount=Ol});var _s=g(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.GoogleLogTransport=Ut.ZuploToGCPMap=Ut.GoogleCloudLoggingPlugin=void 0;var pS=ve(),Nl=ee(),Cl=un(),hS=Ct(),Fm=yt(),Ll=class extends hS.LogPlugin{static{o(this,"GoogleCloudLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new gs(this.options)}};Ut.GoogleCloudLoggingPlugin=Ll;var fS="https://logging.googleapis.com/v2/entries:write?alt=json";Ut.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var gs=class{static{o(this,"GoogleLogTransport")}constructor(t){this.#r=t.logName,this.#e=t.serviceAccountJson,this.#i=Nl.Environment.instance.loggingEnvironmentType,this.#o=Nl.Environment.instance.loggingEnvironmentStage,this.#n=Nl.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(t,r){if(t.messages.length===0)return;let n={allMessages:(0,Fm.makeErrorsSerializable)(t.messages)};this.#t||(this.#t=await Cl.GcpServiceAccount.init(this.#e));let i=this.#t.projectId??"zuplo-production",s={logName:this.#r,resource:{type:"global"},severity:Ut.ZuploToGCPMap[t.level],timestamp:t.timestamp,trace:`projects/${i}/traces/${t.requestId}`,labels:{requestId:t.requestId,buildId:t.buildId,source:t.logSource,loggingId:t.loggingId,logOwner:t.logOwner,environment:this.#n,environmentType:this.#i,environmentStage:this.#o}};t.rayId&&(s.labels.rayId=t.rayId);let a=(0,Fm.extractBestMessage)(n.allMessages);s.jsonPayload={...n,message:a},this.batcher.enqueue(s),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;this.#t||(this.#t=await Cl.GcpServiceAccount.init(this.#e));let r=await(0,Cl.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(fS,{method:"POST",body:JSON.stringify({entries:t}),headers:{Authorization:`Bearer ${r}`,"content-type":"application/json;charset=UTF-8"}});n.ok||console.error(n.status,n.statusText,await n.text())};batcher=new pS.BatchDispatch("google-log-transport",1,this.dispatchFunction)};Ut.GoogleLogTransport=gs});var Dl=g(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.gcpLogFormat=ln.GCP_LOG_FORMAT=void 0;var Hm=yt(),mS=_s();ln.GCP_LOG_FORMAT="gcp";function yS(e){let t={allMessages:(0,Hm.makeErrorsSerializable)(e.messages)},r="zuplo-production",n=(0,Hm.extractBestMessage)(t.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:mS.ZuploToGCPMap[e.level],timestamp:e.timestamp,"logging.googleapis.com/labels":{buildId:e.buildId,source:e.logSource,loggingId:e.loggingId,logOwner:e.logOwner},"logging.googleapis.com/trace":`projects/${r}/traces/${e.requestId}`,allMessages:t.allMessages};return e.rayId&&(i["logging.googleapis.com/labels"].rayId=e.rayId),i}o(yS,"gcpLogFormat");ln.gcpLogFormat=yS});var $m=g(bs=>{"use strict";Object.defineProperty(bs,"__esModule",{value:!0});bs.ConsoleTransport=void 0;var qm=Dl(),Ul=class{static{o(this,"ConsoleTransport")}constructor(t,r){this.#e=t??console,this.#t=r}#e;#t;async log(t){if(this.#t===qm.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,qm.gcpLogFormat)(t)])}else this.#e[t.level].apply(null,[...t.messages,{logOwner:t.logOwner,logSource:t.logSource,level:t.level,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId}])}};bs.ConsoleTransport=Ul});var $l=g(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.DataDogTransport=dn.DataDogLoggingPlugin=void 0;var gS=ve(),Ml=ee(),_S=Ct(),jm=yt(),ql=class extends _S.LogPlugin{static{o(this,"DataDogLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Es(this.options)}};dn.DataDogLoggingPlugin=ql;var kl="__ddtags",Fl="__ddattr",Hl=o(e=>e.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),bS=o(e=>{let t=Object.keys(e),r=[];return t.forEach(n=>{let i=e[n];i==null?r.push(Hl(n)):r.push(`${Hl(n)}:${Hl(i.toString())}`)}),r.join(",")},"formatTags"),Es=class{static{o(this,"DataDogTransport")}constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://http-intake.logs.datadoghq.com/api/v2/logs",this.#n=Ml.Environment.instance.loggingEnvironmentType,this.#i=Ml.Environment.instance.loggingEnvironmentStage,this.#r=Ml.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){let n={},i=r.custom[kl];i&&typeof i=="object"&&Object.assign(n,i);let s=[...t.messages],a=t.messages.findIndex(h=>h[kl]!==void 0);a>-1&&(Object.assign(n,s[a][kl]),s.splice(a,1));let c={},u=r.custom[Fl];u&&typeof u=="object"&&Object.assign(c,u);let l=t.messages.findIndex(h=>h[Fl]!==void 0);l>-1&&(Object.assign(c,s[l][Fl]),s.splice(l,1));let d=(0,jm.makeErrorsSerializable)(s),y={message:{...{...t,activityId:t.requestId,trace:t.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,jm.extractBestMessage)(d),service:t.loggingId,ddtags:bS(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(y,c),this.batcher.enqueue(y),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async t=>{t.length!==0&&await fetch(this.#t,{method:"POST",body:JSON.stringify([...t]),headers:{"content-type":"application/json","DD-API-KEY":this.#e}})};batcher=new gS.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};dn.DataDogTransport=Es});var Gm=g(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});ws.ProcessTransport=void 0;var Vm=Dl(),jl=class{static{o(this,"ProcessTransport")}constructor(t,r){this.#e=t,this.#t=r}#e;#t;async log(t){if(this.#t===Vm.GCP_LOG_FORMAT){if(t.messages.length===0)return;this.#e[t.level].apply(null,[(0,Vm.gcpLogFormat)(t)])}else this.#e[t.level].apply(null,[...t.messages,{logOwner:t.logOwner,logSource:t.logSource,timestamp:t.timestamp,loggingId:t.loggingId,rayId:t.rayId,requestId:t.requestId,buildId:t.buildId,vectorClock:t.vectorClock}])}};ws.ProcessTransport=jl});var Km=g(Ts=>{"use strict";Object.defineProperty(Ts,"__esModule",{value:!0});Ts.RemoteLogTransport=void 0;var ES=ve(),Bm=ee(),wS=yt(),vS=o(({url:e,remoteLogToken:t,loggingId:r,sendOnlyErrors:n})=>async i=>{let s;n===!0?s=i.filter(a=>a.level==="error"):s=i,s.length!==0&&fetch(`${e}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:s.map(a=>({...a,messages:(0,wS.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":Bm.Environment.instance.systemUserAgent,"zp-dn":Bm.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),vs,Vl=class{static{o(this,"RemoteLogTransport")}constructor(t){vs||(vs=new ES.BatchDispatch("remote-log-transport",1,vS(t)))}async log(t,r){vs.enqueue(t),r.waitUntil(vs.waitUntilFlushed())}};Ts.RemoteLogTransport=Vl});var Jm=g(Lr=>{"use strict";Object.defineProperty(Lr,"__esModule",{value:!0});Lr.unifiedFormatter=Lr.SeverityNumberOpenTelemetryMap=void 0;Lr.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var TS=o((e,t)=>r=>{let n={};return n.deploymentName=e,n.labels={requestId:r.requestId,source:r.logSource,loggingId:r.loggingId,logOwner:r.logOwner},n.rayId=r.rayId??"",n.runtime={buildId:t.BUILD_ID,buildTimestamp:t.TIMESTAMP,gitSHA:t.GIT_SHA,version:t.ZUPLO_VERSION},n.atomicCounter=r.vectorClock,{timestamp:r.timestamp,observerdTimestamp:r.timestamp,traceId:r.requestId,severityText:r.level,severityNumber:Lr.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");Lr.unifiedFormatter=TS});var Wm=g(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});Is.UnifiedLogTransport=void 0;var SS=ve(),zm=ee(),IS=Jm(),AS=o(({url:e,remoteLogToken:t,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let s=(0,IS.unifiedFormatter)(r,n);fetch(`${e}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(s)}),headers:{"content-type":"application/json",authentication:`Bearer ${t}`,"user-agent":zm.Environment.instance.systemUserAgent,"zp-dn":zm.Environment.instance.deploymentName??"unknown"}}).catch(a=>{console.error(a)})},"dispatchFunction"),Ss,Gl=class{static{o(this,"UnifiedLogTransport")}constructor(t){Ss||(Ss=new SS.BatchDispatch("unified-log-transport",1,AS(t)))}async log(t,r){Ss.enqueue(t),r.waitUntil(Ss.waitUntilFlushed())}};Is.UnifiedLogTransport=Gl});var ry=g(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});As.LogInitializer=void 0;var PS=vr(),RS=Ot(),Qm=xu(),Ym=ee(),Zm=Xh(),OS=Ct(),xS=ef(),Xm=tf(),ey=$m(),NS=$l(),CS=_s(),ty=Gm(),LS=Km(),DS=Wm(),Bl=(0,PS.debug)("zuplo:logging"),Kl=class{static{o(this,"LogInitializer")}serviceProvider;systemCoreLogger;userCoreLogger;constructor(t){this.serviceProvider=t,this.systemCoreLogger=this.setupSystemCoreLogger(Ym.Environment.instance),this.userCoreLogger=this.setupUserCoreLogger(Ym.Environment.instance)}setupSystemCoreLogger(t){let{build:r}=t;Bl("Gateway.setupSystemCoreLogger");let n=[],i=this.serviceProvider.getService(Qm.SYSTEM_LOGGER);return i?n.push(new ty.ProcessTransport(i.logger,t.logFormat)):t.isDeno&&n.push(new ey.ConsoleTransport(console,t.logFormat)),t.isCloudflare&&t.deploymentName&&t.remoteLogToken&&n.push(new DS.UnifiedLogTransport({url:t.remoteLogURL,deploymentName:t.deploymentName,remoteLogToken:t.remoteLogToken,build:t.build})),new Zm.CoreLogger(t.systemLogLevel,"system",t.loggingId,r.BUILD_ID,n)}setupUserCoreLogger(t){Bl("Gateway.setupUserCoreLogger");let r=[],{runtime:n,build:i}=t,s=this.serviceProvider.getService(Qm.SYSTEM_LOGGER);if(s&&s.captureUserLogs===!0?r.push(new ty.ProcessTransport(s.logger,t.logFormat)):t.isDeno&&r.push(new ey.ConsoleTransport(console,t.logFormat)),t.remoteLogToken&&t.loggingId&&r.push(new LS.RemoteLogTransport({loggingId:t.loggingId,url:t.remoteLogURL,remoteLogToken:t.remoteLogToken,sendOnlyErrors:t.isCloudflare})),n.GCP_USER_LOG_NAME&&n.GCP_USER_LOG_SVC_ACCT_JSON&&r.push(new CS.GoogleLogTransport({serviceAccountJson:n.GCP_USER_LOG_SVC_ACCT_JSON,logName:n.GCP_USER_LOG_NAME})),n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY){let a=n.ZUPLO_USER_LOGGER_DATA_DOG_URL;r.push(new NS.DataDogTransport({apiKey:n.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:a}))}return RS.plugins.forEach(a=>{a instanceof OS.LogPlugin&&r.push(a.getTransport())}),new Zm.CoreLogger(t.userLogLevel,"user",t.loggingId,i.BUILD_ID,r)}createRequestLoggers(t,r,n,i,s){Bl("Gateway.createRequestLoggers");let a=new xS.LoggingContext(n,i,s),c=new Xm.RequestLogger(t,r,this.systemCoreLogger,a);return{userRequestLogger:new Xm.RequestLogger(t,r,this.userCoreLogger,a),systemRequestLogger:c}}};As.LogInitializer=Kl});var zl=g(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});Ps.UserRouteConfiguration=void 0;var Jl=class{static{o(this,"UserRouteConfiguration")}constructor(t){this.path=t.path,this.methods=t.methods,this.label=t.label,this.key=t.key,this.handler=t.handler,this.corsPolicy=t.corsPolicy,this.custom=t.custom,this.version=t.version,this.policies=t.policies,this.excludeFromOpenApi=t.excludeFromOpenApi,this.pathPattern=t.pathPattern,t.raw?(this.#e=t.raw(),this.operationId=this.raw()?.operationId,this.summary=this.raw()?.summary,this.tags=this.raw()?.tags,this.parameters=this.raw()?.parameters,this.responses=this.raw()?.responses):(this.operationId=t.operationId,this.summary=t.summary,this.tags=t.tags,this.parameters=t.parameters,this.responses=t.responses)}raw(){return this.#e}#e;label;key;path;summary;operationId;tags;parameters;responses;excludeFromOpenApi;pathPattern;custom;methods;handler;corsPolicy;version;policies};Ps.UserRouteConfiguration=Jl});var Ql=g(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.Router=Et.RouterError=Et.LookupResult=Et.RouterEntry=void 0;var ny=L(),US=ft(),MS=zl(),Rs=class{static{o(this,"RouterEntry")}constructor(t,r,n,i){this.fullPath=t,this.urlPattern=r,this.config=n,this.executableHandler=i}fullPath;urlPattern;config;executableHandler};Et.RouterEntry=Rs;var mi=class{static{o(this,"LookupResult")}constructor(t,r,n){this.routeConfiguration=t,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};Et.LookupResult=mi;var Os=class extends Error{static{o(this,"RouterError")}constructor(t,r){super(t,r)}};Et.RouterError=Os;var Wl=class{static{o(this,"Router")}constructor(t){this.routeEntries=[],this.versions=t}versions;routeEntries;addRoute(t,r){if(!(t instanceof MS.UserRouteConfiguration||t instanceof US.SystemRouteConfiguration))throw new ny.SystemError("Config must be a UserRouteConfiguration or SystemRouteConfiguration");let n=this.versions.find(s=>s.name===t.version)?.pathPrefix,i;"pathPattern"in t&&t.pathPattern?i=`${n??""}${t.pathPattern}`:i=`${n??""}${t.path}`;try{let s=new URLPattern({pathname:i}),a=new Rs(i,s,t,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(s){throw new Os(`addRoute-error: Invalid path '${i}'. '${s.message}'`,{cause:s})}}lookup(t,r){if(typeof t>"u")throw new ny.ConfigurationError(`Invalid request - Method was undefined. Path: '${r}'`);let n=this.routeEntries.filter(i=>i.config.methods.includes(t));if(n.length!==0)for(let i=0;i<n.length;i++){let s=n[i],c=s.urlPattern.exec({pathname:r});if(c!==null)return new mi(s.config,s.executableHandler,c.pathname.groups)}}lookupByPathOnly(t){let r=[];for(let n=0;n<this.routeEntries.length;n++){let i=this.routeEntries[n],a=i.urlPattern.exec({pathname:t});if(a!==null){let c=new mi(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};Et.Router=Wl});var pn=g(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});Ns.Gateway=void 0;var kS=vr(),iy=Ah(),oy=Dh(),FS=Uh(),sy=Mh(),ay=qh(),Mt=zn(),xs=Tr(),cy=Zh(),vt=L(),Yl=Ot(),HS=ry(),qS=Kt(),$S=ye(),jS=Pu(),VS=Ir(),GS=Zn(),BS=Be(),KS=Ql(),Zl=ft(),uy=zl(),JS=Ge(),zS=vo(),ly=ee(),dy=Or(),WS=["/__zuplo/ping","/__zuplo/open-api","/__zuplo/docs","/__zuplo/consumers","/__zuplo/external-users","/__zuplo/assets","/__zuplo/config","/__zuplo/build","/favicon.ico"],wt=(0,kS.debug)("zuplo:runtime"),QS=o(e=>{let t=e.findIndex(r=>r.name===Zl.systemNoVersion.name);return t>-1?[...e.splice(t),Zl.systemNoVersion]:[...e,Zl.systemNoVersion]},"setupSystemNoVersion"),Xl=class e{static{o(this,"Gateway")}routeData;runtimeSettings;schemaValidator;static#e;constructor(t,r,n,i){this.routeData=t,this.runtimeSettings=r,this.schemaValidator=i,wt("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=new HS.LogInitializer(n)}static async initialize(t,r,n,i,s){if(wt("Gateway.initialize"),!e.#e){await(0,Yl.initializeRuntime)(s);let a={...t,corsPolicies:(0,zS.parseCorsPolicies)(t.corsPolicies)},c=new e(a,r,n,i);e.#e=c}return e.#e}static purgeGatewayCache(){wt("Gateway.purgeGatewayCache"),e.#e=void 0}static get instance(){if(!e.#e)throw new vt.SystemError("Gateway cannot be used before it is initialized");return e.#e}instanceId=crypto.randomUUID();#t;#r;#n=[GS.policyProcessor,jS.corsProcessor,VS.metricsProcessor];#i;setupRoutes=()=>{wt("Gateway.setupRoutes");let t=this.routeData,r=QS(t.versions),n=new KS.Router(r);if(t.routes.length===0)return(0,iy.registerBuildRoute)(n,this),(0,ay.registerPingRoute)(n,this),(0,oy.registerCorsRoute)(n,this),(0,FS.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;return i&&((0,cy.registerDevPortalLegacyRedirectRoute)(n,this),(0,cy.registerDevPortalV3Route)(n,this)),(0,iy.registerBuildRoute)(n,this),(0,ay.registerPingRoute)(n,this),(0,oy.registerCorsRoute)(n,this),t.routes.forEach(s=>{let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new vt.ConfigurationError(`Invalid state - No handler on route for path '${s.path}'`);let c=a,u=new qS.Pipeline(this.#n,c,this),l=new uy.UserRouteConfiguration(s);n.addRoute(l,u.execute)}),(0,sy.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let t;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(t=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof t!="function")throw new vt.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else t=o((r,n,i)=>this.#o(r,n,i),"errorHandler");return t};errorHandler(t,r,n){try{return this.#i(t,r,n)}catch(i){return wt("An error occurred in the user's errorHandler",i),this.#o(t,r,i)}}#o(t,r,n){wt("Gateway.internalErrorResponse");let i={};if(ly.Environment.instance.isDeno){if(n instanceof vt.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let s=(0,dy.serializeError)(n.cause);"stack"in s&&(s.stack=(0,dy.cleanStack)(s.stack)),i={cause:s}}}return $S.HttpProblems.internalServerError(t,r,{detail:n.message,...i})}#s(t){let r=new Headers(t.headers);return Mt.DISPATCH_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),ly.Environment.instance.isDeno&&Mt.INTERNAL_HEADERS_TO_REMOVE.forEach(n=>{r.delete(n)}),new Request(t,{headers:r})}async handleRequest(t,r){let n=t.headers.get(Mt.REQUEST_ID_HEADER)??t.headers.get(Mt.LEGACY_REQUEST_ID_HEADER),i=t.headers.get(Mt.RAY_ID_HEADER);if(!n){n=crypto.randomUUID();let T=new Headers(t.headers);T.set(Mt.REQUEST_ID_HEADER,n),t=new Request(t,{headers:T})}if(["GET","HEAD"].includes(t.method)&&t.body){let T=new Headers(t.headers);T.set(Mt.BODY_REMOVED_HEADER,"true"),t=new Request(t,{headers:T,body:null})}let s={},{userRequestLogger:a,systemRequestLogger:c}=this.#t.createRequestLoggers(n,i,r,s,t),u=new URL(t.url),l=u.pathname,d=this.#r.lookup(t.method,l);if(!d)throw new vt.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${l}'`);let p=new xs.HeaderIncomingRequestProperties(t.headers),y=this.#s(t),h=new BS.ZuploRequest(y,{params:d.params}),m=new xs.SystemZuploContext({logger:a,route:d.routeConfiguration,requestId:n,fetchEvent:r,custom:s,incomingRequestProperties:p}),v=xs.ZuploContextExtensions.initialize(m,h);if(d.routeConfiguration===sy.notFoundRouteConfiguration&&Yl.runtimeExtensions.value?.notFoundHandler!==void 0){let T=this.#r.lookupByPathOnly(l);v.pathOnlyMatches=T.map(S=>S.routeConfiguration).filter(S=>S instanceof uy.UserRouteConfiguration)}try{if(JS.SystemLogMap.addLogger(m,c),!u.pathname.startsWith("/__zuplo")){let j=await(0,Yl.invokeOnRequestExtensions)(h,m);if(j instanceof Response)return j;{let C=xs.ZuploContextExtensions.getContextExtensions(m);h=j,C.latestRequest=h}}[...WS,...this.runtimeSettings.developerPortal.enabled?[this.runtimeSettings.developerPortal.sitePathname]:[]].filter(j=>new RegExp(j).test(u.pathname)).length===0&&a.debug(`Request received '${u.pathname}'`,{method:t.method,url:u.pathname,hostname:u.hostname,route:d.routeConfiguration.path});let S=d.executableHandler;YS(S,d,t),wt("Gateway.handleRequest - call user handler");let k=await S(h,m);if(wt("Gateway.handleRequest - user handler"),!(k instanceof Response))throw new vt.RuntimeError(`Invalid Response type from the request handler: ${typeof k}`);if(k.bodyUsed)throw new vt.RuntimeError("The response object has already been used. Return a new response instead.");if(k.headers.get(Mt.REQUEST_ID_HEADER)===null&&!k.webSocket){let j=new Headers(k.headers);return j.set(Mt.REQUEST_ID_HEADER,n),new Response(k.body,{status:k.status,statusText:k.statusText,headers:j,cf:k.cf})}else return k}catch(T){return wt("Gateway - error executing handler",T),T instanceof vt.RuntimeError?(a.error(T),c.warn(T)):c.error(T),await this.#o(h,m,T)}}};Ns.Gateway=Xl;function YS(e,t,r){if(wt("Gateway.checkHandler"),!e)throw typeof t.routeConfiguration>"u"?new vt.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new vt.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${t.routeConfiguration.path}'`)}o(YS,"checkHandler")});var py=g(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});Cs.invokeInboundPolicy=void 0;var ZS=L(),XS=pn(),eI=Zn(),tI=o(async(e,t,r)=>{let n=XS.Gateway.instance.routeData.policies,i=(0,eI.getInboundPolicyHandlerAndOptions)([e],n);if(i.length===0)throw new ZS.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${e}' found.`);let s=i[0];return s.handler(t,r,s.options,e)},"invokeInboundPolicy");Cs.invokeInboundPolicy=tI});var Tr=g(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.SystemZuploContext=Xe.ZuploContextExtensions=Xe.ResponseSentEvent=Xe.ResponseSendingEvent=Xe.HeaderIncomingRequestProperties=void 0;var be=zn(),rI=L(),nI=py(),ed=class{static{o(this,"HeaderIncomingRequestProperties")}#e;constructor(t){this.#e=t}get asn(){try{let t=this.#e.get(be.ZP_ASN_HEADER);if(typeof t=="string")return parseInt(t)}catch{}}get asOrganization(){return this.#e.get(be.ZP_AS_ORG_HEADER)??void 0}get city(){return this.#e.get(be.CF_IP_CITY_HEADER)??this.#e.get(be.ZP_IP_CITY_HEADER)??void 0}get continent(){return this.#e.get(be.CF_IP_CONTINENT_HEADER)??this.#e.get(be.ZP_IP_CONTINENT_HEADER)??void 0}get country(){return this.#e.get(be.CF_IP_COUNTRY_HEADER)??this.#e.get(be.ZP_IP_COUNTRY_HEADER)??void 0}get latitude(){return this.#e.get(be.CF_IP_LATITUDE_HEADER)??this.#e.get(be.ZP_IP_LATITUDE_HEADER)??void 0}get longitude(){return this.#e.get(be.CF_IP_LONGITUDE_HEADER)??this.#e.get(be.ZP_IP_LONGITUDE_HEADER)??void 0}get colo(){return this.#e.get(be.ZP_COLO_HEADER)??void 0}get postalCode(){return this.#e.get(be.ZP_POSTAL_CODE_HEADER)??void 0}get metroCode(){return this.#e.get(be.ZP_METRO_CODE_HEADER)??void 0}get region(){return this.#e.get(be.ZP_REGION_HEADER)??void 0}get regionCode(){return this.#e.get(be.ZP_REGION_CODE_HEADER)??void 0}get timezone(){return this.#e.get(be.ZP_TIMEZONE_HEADER)??void 0}toJSON(){return{asn:this.asn,asOrganization:this.asOrganization,city:this.city,continent:this.continent,country:this.country,latitude:this.latitude,longitude:this.longitude,colo:this.colo,postalCode:this.postalCode,metroCode:this.metroCode,region:this.region,regionCode:this.regionCode,timezone:this.timezone}}};Xe.HeaderIncomingRequestProperties=ed;var td=class extends Event{static{o(this,"ResponseSendingEvent")}constructor(t,r){super("responseSending"),this.request=t,this.mutableResponse=r}request;mutableResponse};Xe.ResponseSendingEvent=td;var rd=class extends Event{static{o(this,"ResponseSentEvent")}constructor(t,r){super("responseSent"),this.request=t,this.response=r}request;response};Xe.ResponseSentEvent=rd;var Ls=class e{static{o(this,"ZuploContextExtensions")}static#e=new WeakMap;static initialize(t,r){if(!e.#e.has(t)){let n=new e(r);return e.#e.set(t,n),n}throw new Error(`ZuploContextExtensions already initialized for context with requestId '${t.requestId}'`)}static getContextExtensions(t){let r=e.#e.get(t);if(!r)throw new rI.RuntimeError(`Invalid state, could not get ZuploContext extensions for context with requestId '${t.requestId}'`);return r}latestRequest;pathOnlyMatches;#t;#r;constructor(t){this.latestRequest=t,this.#t=[],this.#r=[]}addResponseSendingHook(t){this.#r.push(t)}addResponseSendingFinalHook(t){this.#t.push(t)}onResponseSendingFinal=async(t,r,n)=>{for(let i of this.#t)await i(t,r,n)};onResponseSending=async(t,r,n)=>{let i=t;for(let s of this.#r)i=await s(t,r,n);return i}};Xe.ZuploContextExtensions=Ls;var nd=class extends EventTarget{static{o(this,"SystemZuploContext")}constructor({logger:t,route:r,requestId:n,fetchEvent:i,custom:s,incomingRequestProperties:a}){super(),this.log=Object.freeze(t),this.route=r,this.requestId=n,this.custom=s,this.incomingRequestProperties=a,this.#e=i,this.invokeInboundPolicy=(c,u)=>(0,nI.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingFinalHook=c=>{Ls.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingFinalHook;addEventListener(t,r,n){let i=o(s=>{try{typeof r=="function"?r(s):r.handleEvent(s)}catch(a){throw this.log.error(`Error invoking event ${t}. See following logs for details.`),a}},"wrapped");super.addEventListener(t,i,n)}};Xe.SystemZuploContext=nd});var hy=g(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.ContextData=void 0;var id=class e{static{o(this,"ContextData")}static#e;#t;constructor(t){this.#t=t}set(t,r){e.set(t,this.#t,r)}get(t){return e.get(t,this.#t)}static set(t,r,n){e.#e||(e.#e=new WeakMap);let i=e.#e.get(t);i||(i=new Map),i.set(r,n)}static get(t,r){return e.#e||(e.#e=new WeakMap),e.#e.get(t)?.get(r)}};Ds.ContextData=id});var od=g(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.environment=ur.isZuploReadableEnvVariableName=ur.isRestrictedEnvVariableName=void 0;var iI=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function fy(e){return e.startsWith("__ZUPLO")||e.startsWith("ZUPLO_")?!iI.includes(e)&&!e.startsWith("ZUPLO_PUBLIC_"):!1}o(fy,"isRestrictedEnvVariableName");ur.isRestrictedEnvVariableName=fy;function my(e){return!!e.startsWith("ZUPLO_")}o(my,"isZuploReadableEnvVariableName");ur.isZuploReadableEnvVariableName=my;var oI=new Proxy({},{get(e,t){if(fy(String(t))&&!my(String(t)))return;let r=globalThis,n;return r.process?n=r.process.env[t]:n=r[t],n}});ur.environment=oI});var sd=g(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.externalServiceHandler=hn.externalServiceTunnelConfig=void 0;var sI=vr(),Dr=L(),aI=ad(),yi=ee(),at=(0,sI.debug)("zuplo:runtime:external-service");function gy(){let e,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:t}=yi.Environment.instance.runtime;if(t&&t!=="undefined")try{let r=atob(t);e=JSON.parse(r)}catch{}return e}o(gy,"getServiceAuth");async function cI(e){let t=gy();if(!t)throw at("There is no external service auth configured for this zup."),new Dr.RuntimeError("There are no external services configured for this zup.");if(typeof e!="string")throw at("Cannot call external service with Request object"),new Dr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");let n=new URL(e).hostname,i={};i["CF-Access-Client-Id"]=t.clientId,i["CF-Access-Client-Secret"]=t.clientSecret;let s;if(t.customServiceMapping&&t.customServiceMapping[n])s=`https://${t.customServiceMapping[n]}`;else if(yi.Environment.instance.useSha256ServiceRouting){at("Using sha256 service routing");let a=yi.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)s=`https://${await _y(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw at("Cannot use sha256 service routing, missing build variables"),new Dr.RuntimeError("Failed to generate fully qualified tunnel url.")}else s=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:s,tunnelHeaders:i}}o(cI,"externalServiceTunnelConfig");hn.externalServiceTunnelConfig=cI;async function uI(e,t){let r=gy();if(r)if(at(`Using external service auth. ClientId: ${r.clientId})`),typeof e=="string"){let n=new URL(e),i=n.hostname,s=t??{},a=new Headers(s.headers||{});a.set("CF-Access-Client-Id",r.clientId),a.set("CF-Access-Client-Secret",r.clientSecret),s.headers=a;let c;if(r.customServiceMapping&&r.customServiceMapping[i])c=`https://${r.customServiceMapping[i]}`;else if(yi.Environment.instance.useSha256ServiceRouting){at("Using sha256 service routing");let d=yi.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await _y(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw at("Cannot use sha256 service routing, missing build variables"),new Dr.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);at(`Calling external service: ${u.toString()}`);let l=await(0,aI.originalFetch)(u.toString(),s);if(l.status===403&&l.headers.get("cf-access-domain")!==null)throw console.error("403 Forbidden when calling external service.",{clientId:r.clientId,tunnelHost:c}),new Dr.RuntimeError("Could not connect to secure tunnel.");return l}else throw at("Cannot call external service with Request object"),new Dr.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw at("There is no external service auth configured for this zup."),new Dr.RuntimeError("There are no external services configured for this zup.")}o(uI,"externalServiceHandler");hn.externalServiceHandler=uI;async function _y(e,t,r,n){let i=e.toLowerCase(),s=t.toLowerCase(),a=r.toLowerCase(),c=lI(n);at(`Hashing service name: ${s}-${i}.${s}-${a}-${c}`);let u=await yy(`${s}-${i}`),l=await yy(`${s}-${a}-${c}`);return`${u}.${l}`}o(_y,"hashServiceName");async function yy(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("").slice(0,-1)}o(yy,"hashSegment");function lI(e){let t=e.toLowerCase();switch(t){case"production":case"preview":return t;default:return"working-copy"}}o(lI,"sanitizeEnvironmentType")});var ad=g(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.originalFetch=void 0;var dI=sd(),by=new Map;by.set("service:",dI.externalServiceHandler);fn.originalFetch=globalThis.fetch;globalThis.fetch=function(e,t){let r=pI(t);if(typeof e=="string"){let n=new URL(e),i=by.get(n.protocol);return i?i(e,r):(0,fn.originalFetch)(e,r)}else return(0,fn.originalFetch)(e,r)};var pI=o(e=>{if(!e||e instanceof Request)return e;let t=e;if(!t.zuplo)return e;let r=e;return r.cf={cacheEverything:t.zuplo?.cacheEverything,cacheTtl:t.zuplo?.cacheTtlSeconds},delete e.zuplo,e},"transformInit")});var vy=g(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.Handler=mn.purgeGatewayCache=void 0;var hI=L(),wy=pn(),Ey=ee(),fI=o(()=>{wy.Gateway.purgeGatewayCache()},"purgeGatewayCache");mn.purgeGatewayCache=fI;var cd=class{static{o(this,"Handler")}routeData;buildEnvironment;runtimeEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(t,r,n,i,s,a,c){this.routeData=t,this.buildEnvironment=r,this.runtimeEnvironment=n,this.runtimeSettings=i,this.serviceProvider=s,this.schemaValidations=a,this.runtimeInit=c}requestHandler=async(t,r)=>{Ey.Environment.initialize(this.buildEnvironment,this.runtimeEnvironment);let n;try{n=await wy.Gateway.initialize(this.routeData,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(i){console.error("Error initializing gateway.",i);let s="Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.";i instanceof hI.ConfigurationError&&(s=i.message);let a={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:s,instance:t.url,trace:{timestamp:Date.now(),rayId:t.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:Ey.Environment.instance.isDeno?i.message:void 0};return new Response(JSON.stringify(a,null,2),{status:500,headers:{"content-type":"application/json"}})}return n.handleRequest(t,r)}};mn.Handler=cd});var Ay=g(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});Re.pathToRegexp=Re.tokensToRegexp=Re.regexpToFunction=Re.match=Re.tokensToFunction=Re.compile=Re.parse=void 0;function mI(e){for(var t=[],r=0;r<e.length;){var n=e[r];if(n==="*"||n==="+"||n==="?"){t.push({type:"MODIFIER",index:r,value:e[r++]});continue}if(n==="\\"){t.push({type:"ESCAPED_CHAR",index:r++,value:e[r++]});continue}if(n==="{"){t.push({type:"OPEN",index:r,value:e[r++]});continue}if(n==="}"){t.push({type:"CLOSE",index:r,value:e[r++]});continue}if(n===":"){for(var i="",s=r+1;s<e.length;){var a=e.charCodeAt(s);if(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||a===95){i+=e[s++];continue}break}if(!i)throw new TypeError("Missing parameter name at ".concat(r));t.push({type:"NAME",index:r,value:i}),r=s;continue}if(n==="("){var c=1,u="",s=r+1;if(e[s]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(s));for(;s<e.length;){if(e[s]==="\\"){u+=e[s++]+e[s++];continue}if(e[s]===")"){if(c--,c===0){s++;break}}else if(e[s]==="("&&(c++,e[s+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(s));u+=e[s++]}if(c)throw new TypeError("Unbalanced pattern at ".concat(r));if(!u)throw new TypeError("Missing pattern at ".concat(r));t.push({type:"PATTERN",index:r,value:u}),r=s;continue}t.push({type:"CHAR",index:r,value:e[r++]})}return t.push({type:"END",index:r,value:""}),t}o(mI,"lexer");function ud(e,t){t===void 0&&(t={});for(var r=mI(e),n=t.prefixes,i=n===void 0?"./":n,s="[^".concat(yn(t.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=o(function(ne){if(u<r.length&&r[u].type===ne)return r[u++].value},"tryConsume"),p=o(function(ne){var fe=d(ne);if(fe!==void 0)return fe;var Ve=r[u],E=Ve.type,F=Ve.index;throw new TypeError("Unexpected ".concat(E," at ").concat(F,", expected ").concat(ne))},"mustConsume"),y=o(function(){for(var ne="",fe;fe=d("CHAR")||d("ESCAPED_CHAR");)ne+=fe;return ne},"consumeText");u<r.length;){var h=d("CHAR"),m=d("NAME"),v=d("PATTERN");if(m||v){var T=h||"";i.indexOf(T)===-1&&(l+=T,T=""),l&&(a.push(l),l=""),a.push({name:m||c++,prefix:T,suffix:"",pattern:v||s,modifier:d("MODIFIER")||""});continue}var S=h||d("ESCAPED_CHAR");if(S){l+=S;continue}l&&(a.push(l),l="");var k=d("OPEN");if(k){var T=y(),j=d("NAME")||"",C=d("PATTERN")||"",re=y();p("CLOSE"),a.push({name:j||(C?c++:""),pattern:j&&!C?s:C,prefix:T,suffix:re,modifier:d("MODIFIER")||""});continue}p("END")}return a}o(ud,"parse");Re.parse=ud;function yI(e,t){return Ty(ud(e,t),t)}o(yI,"compile");Re.compile=yI;function Ty(e,t){t===void 0&&(t={});var r=ld(t),n=t.encode,i=n===void 0?function(u){return u}:n,s=t.validate,a=s===void 0?!0:s,c=e.map(function(u){if(typeof u=="object")return new RegExp("^(?:".concat(u.pattern,")$"),r)});return function(u){for(var l="",d=0;d<e.length;d++){var p=e[d];if(typeof p=="string"){l+=p;continue}var y=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",m=p.modifier==="*"||p.modifier==="+";if(Array.isArray(y)){if(!m)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(y.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var v=0;v<y.length;v++){var T=i(y[v],p);if(a&&!c[d].test(T))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix}continue}if(typeof y=="string"||typeof y=="number"){var T=i(String(y),p);if(a&&!c[d].test(T))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(T,'"'));l+=p.prefix+T+p.suffix;continue}if(!h){var S=m?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(S))}}return l}}o(Ty,"tokensToFunction");Re.tokensToFunction=Ty;function gI(e,t){var r=[],n=dd(e,r,t);return Sy(n,r,t)}o(gI,"match");Re.match=gI;function Sy(e,t,r){r===void 0&&(r={});var n=r.decode,i=n===void 0?function(s){return s}:n;return function(s){var a=e.exec(s);if(!a)return!1;for(var c=a[0],u=a.index,l=Object.create(null),d=o(function(y){if(a[y]===void 0)return"continue";var h=t[y-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[y].split(h.prefix+h.suffix).map(function(m){return i(m,h)}):l[h.name]=i(a[y],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}o(Sy,"regexpToFunction");Re.regexpToFunction=Sy;function yn(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}o(yn,"escapeString");function ld(e){return e&&e.sensitive?"":"i"}o(ld,"flags");function _I(e,t){if(!t)return e;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,i=r.exec(e.source);i;)t.push({name:i[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),i=r.exec(e.source);return e}o(_I,"regexpToRegexp");function bI(e,t,r){var n=e.map(function(i){return dd(i,t,r).source});return new RegExp("(?:".concat(n.join("|"),")"),ld(r))}o(bI,"arrayToRegexp");function EI(e,t,r){return Iy(ud(e,r),t,r)}o(EI,"stringToRegexp");function Iy(e,t,r){r===void 0&&(r={});for(var n=r.strict,i=n===void 0?!1:n,s=r.start,a=s===void 0?!0:s,c=r.end,u=c===void 0?!0:c,l=r.encode,d=l===void 0?function(F){return F}:l,p=r.delimiter,y=p===void 0?"/#?":p,h=r.endsWith,m=h===void 0?"":h,v="[".concat(yn(m),"]|$"),T="[".concat(yn(y),"]"),S=a?"^":"",k=0,j=e;k<j.length;k++){var C=j[k];if(typeof C=="string")S+=yn(d(C));else{var re=yn(d(C.prefix)),ne=yn(d(C.suffix));if(C.pattern)if(t&&t.push(C),re||ne)if(C.modifier==="+"||C.modifier==="*"){var fe=C.modifier==="*"?"?":"";S+="(?:".concat(re,"((?:").concat(C.pattern,")(?:").concat(ne).concat(re,"(?:").concat(C.pattern,"))*)").concat(ne,")").concat(fe)}else S+="(?:".concat(re,"(").concat(C.pattern,")").concat(ne,")").concat(C.modifier);else C.modifier==="+"||C.modifier==="*"?S+="((?:".concat(C.pattern,")").concat(C.modifier,")"):S+="(".concat(C.pattern,")").concat(C.modifier);else S+="(?:".concat(re).concat(ne,")").concat(C.modifier)}}if(u)i||(S+="".concat(T,"?")),S+=r.endsWith?"(?=".concat(v,")"):"$";else{var Ve=e[e.length-1],E=typeof Ve=="string"?T.indexOf(Ve[Ve.length-1])>-1:Ve===void 0;i||(S+="(?:".concat(T,"(?=").concat(v,"))?")),E||(S+="(?=".concat(T,"|").concat(v,")"))}return new RegExp(S,ld(r))}o(Iy,"tokensToRegexp");Re.tokensToRegexp=Iy;function dd(e,t,r){return e instanceof RegExp?_I(e,t):Array.isArray(e)?bI(e,t,r):EI(e,t,r)}o(dd,"pathToRegexp");Re.pathToRegexp=dd});var md=g(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.AwsV4Signer=gn.AwsClient=void 0;var wI=vr(),xy=L(),vI=(0,wI.debug)("zuplo:runtime"),hd=new TextEncoder,Py={appstream2:"appstream",cloudhsmv2:"cloudhsm",email:"ses",marketplace:"aws-marketplace",mobile:"AWSMobileHubService",pinpoint:"mobiletargeting",queue:"sqs","git-codecommit":"codecommit","mturk-requester-sandbox":"mturk-requester","personalize-runtime":"personalize"},TI=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],fd=class{static{o(this,"AwsClient")}accessKeyId;secretAccessKey;sessionToken;service;region;cache;retries;initRetryMs;constructor({accessKeyId:t,secretAccessKey:r,sessionToken:n,service:i,region:s,cache:a,retries:c,initRetryMs:u}){if(t==null)throw new TypeError("accessKeyId is a required option");if(r==null)throw new TypeError("secretAccessKey is a required option");this.accessKeyId=t,this.secretAccessKey=r,this.sessionToken=n,this.service=i,this.region=s,this.cache=a||new Map,this.retries=c??0,this.initRetryMs=u||50}async sign(t,r){let n=new Us(Object.assign({url:t},r,this,r&&r.aws)),i=Object.assign({},r,await n.sign());return delete i.aws,{url:i.url.toString(),request:i}}async fetch(t,r){vI("AWS fetch",t);for(let n=0;n<=this.retries;n++){let{url:i,request:s}=await this.sign(t,r),a=fetch(i,s);if(n===this.retries)return a;let c=await a;if(c.status<500&&c.status!==429)return c;await new Promise(u=>setTimeout(u,Math.random()*this.initRetryMs*Math.pow(2,n)))}throw new xy.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};gn.AwsClient=fd;var Us=class{static{o(this,"AwsV4Signer")}method;url;headers;body;accessKeyId;secretAccessKey;sessionToken;service;region;cache;datetime;signQuery;appendSessionToken;signableHeaders;signedHeaders;canonicalHeaders;credentialString;encodedPath;encodedSearch;constructor({method:t,url:r,headers:n,body:i,accessKeyId:s,secretAccessKey:a,sessionToken:c,service:u,region:l,cache:d,datetime:p,signQuery:y,appendSessionToken:h,allHeaders:m,singleEncode:v}){if(r==null)throw new TypeError("url is a required option");if(s==null)throw new TypeError("accessKeyId is a required option");if(a==null)throw new TypeError("secretAccessKey is a required option");this.method=t||(i?"POST":"GET"),this.url=new URL(r),this.headers=new Headers(n||{}),this.body=i,this.accessKeyId=s,this.secretAccessKey=a,this.sessionToken=c;let T,S;(!u||!l)&&([T,S]=SI(this.url,this.headers)),this.service=u||T||"",this.region=l||S||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=y,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let k=this.signQuery?this.url.searchParams:this.headers;if(this.service==="s3"&&!this.headers.has("X-Amz-Content-Sha256")&&this.headers.set("X-Amz-Content-Sha256","UNSIGNED-PAYLOAD"),k.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&k.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(C=>m||!TI.includes(C)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(C=>C+":"+(C==="host"?this.url.host:(this.headers.get(C)||"").replace(/\s+/g," "))).join(`
60
+ `),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!k.has("X-Amz-Expires")&&k.set("X-Amz-Expires","86400"),k.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),k.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),k.set("X-Amz-SignedHeaders",this.signedHeaders)),this.service==="s3")try{this.encodedPath=decodeURIComponent(this.url.pathname.replace(/\+/g," "))}catch{this.encodedPath=this.url.pathname}else this.encodedPath=this.url.pathname.replace(/\/+/g,"/");v||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=Oy(this.encodedPath);let j=new Set;this.encodedSearch=[...this.url.searchParams].filter(([C])=>{if(!C)return!1;if(this.service==="s3"){if(j.has(C))return!1;j.add(C)}return!0}).map(C=>C.map(re=>Oy(encodeURIComponent(re)))).sort(([C,re],[ne,fe])=>C<ne?-1:C>ne?1:re<fe?-1:re>fe?1:0).map(C=>C.join("=")).join("&")}async sign(){return this.signQuery?(this.url.searchParams.set("X-Amz-Signature",await this.signature()),this.sessionToken&&this.appendSessionToken&&this.url.searchParams.set("X-Amz-Security-Token",this.sessionToken)):this.headers.set("Authorization",await this.authHeader()),{method:this.method,url:this.url,headers:this.headers,body:this.body}}async authHeader(){return["AWS4-HMAC-SHA256 Credential="+this.accessKeyId+"/"+this.credentialString,"SignedHeaders="+this.signedHeaders,"Signature="+await this.signature()].join(", ")}async signature(){let t=this.datetime.slice(0,8),r=[this.secretAccessKey,t,this.region,this.service].join(),n=this.cache.get(r);if(!n){let i=await gi("AWS4"+this.secretAccessKey,t),s=await gi(i,this.region),a=await gi(s,this.service);n=await gi(a,"aws4_request"),this.cache.set(r,n)}return pd(await gi(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,pd(await Ry(await this.canonicalString()))].join(`
61
61
  `)}async canonicalString(){return[this.method.toUpperCase(),this.encodedPath,this.encodedSearch,this.canonicalHeaders+`
62
62
  `,this.signedHeaders,await this.hexBodyHash()].join(`
63
- `)}async hexBodyHash(){let t=this.headers.get("X-Amz-Content-Sha256");if(t==null){if(this.body&&typeof this.body!="string"&&!("byteLength"in this.body))throw new Oy.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=dd(await Py(this.body||""))}return t}};gn.AwsV4Signer=Us;async function gi(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?pd.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,pd.encode(t))}o(gi,"hmac");async function Py(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?pd.encode(e):e)}o(Py,"hash");function dd(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}o(dd,"buf2hex");function Ry(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}o(Ry,"encodeRfc3986");function vI(e,t){let{hostname:r,pathname:n}=e,i=r.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/),[s,a]=(i||["",""]).slice(1,3);if(a==="us-gov")a="us-gov-west-1";else if(a==="s3"||a==="s3-accelerate")a="us-east-1",s="s3";else if(s==="iot")r.startsWith("iot.")?s="execute-api":r.startsWith("data.jobs.iot.")?s="iot-jobs-data":s=n==="/mqtt"?"iotdevicegateway":"iotdata";else if(s==="autoscaling"){let c=(t.get("X-Amz-Target")||"").split(".")[0];c==="AnyScaleFrontendService"?s="application-autoscaling":c==="AnyScaleScalingPlannerFrontendService"&&(s="autoscaling-plans")}else a==null&&s.startsWith("s3-")?(a=s.slice(3).replace(/^fips-|^external-1/,""),s="s3"):s.endsWith("-fips")?s=s.slice(0,-5):a&&/-\d$/.test(s)&&!/-\d$/.test(a)&&([s,a]=[a,s]);return s in Ay?[Ay[s],a]:[s,a]}o(vI,"guessServiceRegion")});var xy=g(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.convertStringToUtf8Array=Tt.convertUtf8ArrayToString=Tt.base64Encode=Tt.base64Decode=void 0;function TI(e){return e>64&&e<91?e-65:e>96&&e<123?e-71:e>47&&e<58?e+4:e===43?62:e===47?63:0}o(TI,"b64ToUint6");function SI(e,t){let r=e.replace(/[^A-Za-z0-9+/]/g,""),n=r.length,i=t?Math.ceil((n*3+1>>2)/t)*t:n*3+1>>2,s=new Uint8Array(i),a,c,u=0,l=0;for(let d=0;d<n;d++)if(c=d&3,u|=TI(r.charCodeAt(d))<<6*(3-c),c===3||n-d===1){for(a=0;a<3&&l<i;)s[l]=u>>>(16>>>a&24)&255,a++,l++;u=0}return s}o(SI,"base64Decode");Tt.base64Decode=SI;function Ms(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}o(Ms,"uint6ToB64");function II(e){let t=2,r="",n=e.length,i=0;for(let s=0;s<n;s++)t=s%3,i|=e[s]<<(16>>>t&24),(t===2||e.length-s===1)&&(r+=String.fromCodePoint(Ms(i>>>18&63),Ms(i>>>12&63),Ms(i>>>6&63),Ms(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}o(II,"base64Encode");Tt.base64Encode=II;function AI(e){let t="",r,n=e.length;for(let i=0;i<n;i++)r=e[i],t+=String.fromCodePoint(r>251&&r<254&&i+5<n?(r-252)*1073741824+(e[++i]-128<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>247&&r<252&&i+4<n?(r-248<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>239&&r<248&&i+3<n?(r-240<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>223&&r<240&&i+2<n?(r-224<<12)+(e[++i]-128<<6)+e[++i]-128:r>191&&r<224&&i+1<n?(r-192<<6)+e[++i]-128:r);return t}o(AI,"convertUtf8ArrayToString");Tt.convertUtf8ArrayToString=AI;function PI(e){let t,r=e.length,n=0;for(let c=0;c<r;c++)t=e.codePointAt(c),t>=65536&&c++,n+=t<128?1:t<2048?2:t<65536?3:t<2097152?4:t<67108864?5:6;let i=new Uint8Array(n),s=0,a=0;for(;s<n;)t=e.codePointAt(a),t<128?i[s++]=t:t<2048?(i[s++]=192+(t>>>6),i[s++]=128+(t&63)):t<65536?(i[s++]=224+(t>>>12),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63)):t<2097152?(i[s++]=240+(t>>>18),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++):t<67108864?(i[s++]=248+(t>>>24),i[s++]=128+(t>>>18&63),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++):(i[s++]=252+(t>>>30),i[s++]=128+(t>>>24&63),i[s++]=128+(t>>>18&63),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++),a++;return i}o(PI,"convertStringToUtf8Array");Tt.convertStringToUtf8Array=PI});var Ny=g(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.toCLFDate=void 0;function _n(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}o(_n,"numberToString");function RI(e){let t=e.getTimezoneOffset(),r=Math.abs(t),n=t>0?"-":"+",i=_n(Math.floor(r/60)),s=_n(r%60);return`${n}${i}${s}`}o(RI,"getCLFOffset");function OI(e=new Date){if(!(e instanceof Date))throw new Error("clf-date: invalid parameter");let t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=_n(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),s=_n(e.getHours()),a=_n(e.getMinutes()),c=_n(e.getSeconds()),u=RI(e);return`${r}/${n}/${i}:${s}:${a}:${c} ${u}`}o(OI,"toCLFDate");ks.toCLFDate=OI});var Fy=g(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.getResponse=ur.awsLambdaHandler=ur.AwsLambdaHandlerExtensions=void 0;var xI=vr(),Cy=Iy(),_i=L(),NI=xt(),CI=fd(),Dy=xy(),Uy=Ny(),Ly=(0,xI.debug)("zuplo:runtime"),LI="X-Amzn-Trace-Id",DI="x-amzn-errortype",My=[],UI=o(async(e,t,r)=>{let n=r;for await(let i of My)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),Ke=class extends _i.RuntimeError{static{o(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get(LI)??void 0,this.errorType=r.get(DI)??void 0}};ur.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{My.push(e)}};async function MI(e,t){let{accessKeyId:r,secretAccessKey:n,region:i,functionName:s,useLambdaProxyIntegration:a=!0,useAwsResourcePathStyle:c=!1,binaryMediaTypes:u}=t.route.handler.options;if(!r)throw new _i.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new _i.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new _i.ConfigurationError("region is not set in the handler options");if(!s)throw new _i.ConfigurationError("functionName is not set in the handler options");let l=new CI.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${s}/invocations`;if(Ly(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,y]=await HI(e,{binaryMediaTypes:u}),{options:h}=t.route.handler,m;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?m=FI(e,t):m=await kI(e,t,{useAwsResourcePathStyle:c}),Ly("Calling onSendingAwsLambdaEvent hook");let v=await UI(e,t,m);v.body=p,v.isBase64Encoded=y;let T=await l.fetch(d,{body:JSON.stringify(v)});try{return ky(T)}catch(S){if(S instanceof Ke){let k=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&S.traceId?{AMZN_TRACE_ID_HEADER:S.traceId}:void 0;return NI.HttpProblems.internalServerError(e,t,void 0,k)}throw S}}o(MI,"awsLambdaHandler");ur.awsLambdaHandler=MI;async function ky(e){let t;try{t=await e.json()}catch{throw new Ke("Lambda response did not contain valid JSON",e.headers)}if(e.status!==200)throw t&&typeof t=="object"&&"message"in t&&typeof t.message=="string"?new Ke(t.message,e.headers):new Ke(`Status: ${e.statusText}`,e.headers);if(t&&typeof t=="object"&&"errorMessage"in t&&typeof t.errorMessage=="string")throw new Ke(t.errorMessage,e.headers);if(!t||typeof t!="object"||!("statusCode"in t)||typeof t.statusCode!="number")return new Response(JSON.stringify(t),{status:e.status,headers:{"content-type":"application/json"}});let r=new Headers;if("headers"in t&&t.headers){if(typeof t.headers!="object")throw new Ke(`Response headers must be an object. Received ${typeof t.headers}`,e.headers);for(let[i,s]of Object.entries(t.headers))r.set(i,s)}if("cookies"in t&&t.cookies){if(!Array.isArray(t.cookies))throw new Ke(`Response cookies must be an array. Received ${typeof t.cookies}`,e.headers);r.set("cookie",t.cookies.join(";"))}let n;if("isBase64Encoded"in t&&typeof t.isBase64Encoded!="boolean")throw new Ke(`Response property isBase64Encoded must be a boolean. Received ${typeof t.isBase64Encoded}`,e.headers);if("isBase64Encoded"in t&&t.isBase64Encoded===!0){if(!("body"in t))throw new Ke("Response was set to base64 encoded but no body was set",e.headers);if(typeof t.body!="string")throw new Ke("Response was set to base64 encoded but body was not a string",e.headers);n=(0,Dy.base64Decode)(t.body)}else"body"in t&&typeof t.body=="string"?n=t.statusCode===204&&t.body===""?null:t.body:"body"in t&&t.body!==null&&t.body!==void 0?n=JSON.stringify(t.body):n=null;if(n!==null&&"bodyEncoding"in t){if(typeof t.bodyEncoding!="string"||!(t.bodyEncoding==="gzip"||t.bodyEncoding==="deflate"))throw new Ke(`Response property bodyEncoding can only be set to 'gzip' or 'deflate'. Received ${t.bodyEncoding}`,e.headers);let i=new Blob([n]).stream().pipeThrough(new DecompressionStream(t.bodyEncoding));n=await new Response(i).arrayBuffer()}return new Response(n,{headers:r,status:t.statusCode})}o(ky,"getResponse");ur.getResponse=ky;async function kI(e,t,{useAwsResourcePathStyle:r}){let n={},i={};e.headers.forEach((l,d)=>{n[d]=l,i[d]=[l]});let s=e.query,a={};for(let[l,d]of Object.entries(s))a[l]=[d];let c=new URL(e.url);return{version:"1.0",resource:c.pathname,path:c.pathname,httpMethod:e.method,headers:n,multiValueHeaders:i,queryStringParameters:s,multiValueQueryStringParameters:a,requestContext:{accountId:null,apiId:null,authorizer:{claims:{},scopes:[]},domainName:c.hostname,domainPrefix:null,extendedRequestId:t.requestId,httpMethod:e.method,identity:{accessKey:null,accountId:null,caller:null,cognitoAuthenticationProvider:null,cognitoAuthenticationType:null,cognitoIdentityId:null,cognitoIdentityPoolId:null,principalOrgId:null,sourceIp:e.headers.get("CF-Connecting-IP"),user:null,userAgent:e.headers.get("user-agent"),userArn:null,clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},path:c.pathname,protocol:"HTTP/1.1",requestId:t.requestId,requestTime:(0,Uy.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:$I(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}o(kI,"buildEventVersion1");function FI(e,t){let r={};e.headers.forEach((s,a)=>{r[a]=s});let n=new URL(e.url);return{version:"2.0",routeKey:null,rawPath:n.pathname,rawQueryString:n.search,cookies:[],headers:r,queryStringParameters:e.query,requestContext:{accountId:null,apiId:null,authentication:{clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},authorizer:{jwt:{claims:{},scopes:[]}},domainName:n.hostname,domainPrefix:null,http:{method:e.method,path:n.pathname,protocol:"HTTP/1.1",sourceIp:e.headers.get("CF-Connecting-IP"),userAgent:e.headers.get("user-agent")},requestId:t.requestId,routeKey:null,stage:null,time:(0,Uy.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}o(FI,"buildEventVersion2");async function HI(e,{binaryMediaTypes:t}){let r,n=!1,i=e.headers.get("content-type");if(e.method==="GET"||e.method==="HEAD")r=null;else if(t&&i&&qI(t,i)){let s=await e.arrayBuffer();r=(0,Dy.base64Encode)(new Uint8Array(s)),n=!0}else r=await e.clone().text();return[r,n]}o(HI,"getBodyResult");function qI(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}o(qI,"matchesContentType");function $I(e,t=!1){if(!t)return e;let r=(0,Cy.parse)(e),n=(0,Cy.compile)(e),i={};return r.forEach(s=>{typeof s=="string"?i[s]=`{${s}}`:i[s.name]=`{${s.name}}`}),n(i)}o($I,"getResourcePath")});var En=g(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.getHandlerUserLogFunction=bn.logBadGatewayResponses=void 0;var jI=Ge(),VI=ee(),GI=[502,503,504];async function BI(e,t){if(GI.includes(e.status)){let r=jI.SystemLogMap.getLogger(t),i=await e.clone().text(),s={};for(let[a,c]of e.headers)s[a]=c;r.warn(`BadGatewayResponse ${e.status}`,{status:e.status,statusText:e.statusText,body:i,headers:s})}}o(BI,"logBadGatewayResponses");bn.logBadGatewayResponses=BI;var md;function KI(e){if(md===void 0){let r=VI.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),md=r}return e.log[md]}o(KI,"getHandlerUserLogFunction");bn.getHandlerUserLogFunction=KI});var qy=g(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});Fs.openApiSpecHandler=void 0;var Hy=L(),JI=ge(),yd=ee(),zI=En();async function WI(e,t){let r=yd.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=yd.Environment.instance,i=t.route.handler.options,{openApiFilePath:s}=i;if(!s)throw new Hy.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=QI(s);if(!a.isValid)throw new Hy.ConfigurationError(a.error);let c;yd.Environment.instance.isLocalDevelopment?c=`${n}/${s.substring(1)}`:c=`${n}/${r}${s.substring(1)}`;let u=await fetch(c,{method:e.method,body:e.body,headers:e.headers});if(u.status!==200)return JI.HttpProblems.notFound(e,t,{detail:"OpenAPI file could not be found."});let l=new Response(u.body,{headers:{"content-type":"application/json"},status:u.status,statusText:u.statusText});return(0,zI.logBadGatewayResponses)(l,t),l}o(WI,"openApiSpecHandler");Fs.openApiSpecHandler=WI;var QI=o(e=>e.startsWith("./")?e.startsWith("./config")?e.endsWith(".oas.json")?{isValid:!0}:{isValid:!1,error:"'openApiFilePath' must point to a file ending in '.oas.json'"}:{isValid:!1,error:"'openApiFilePath' must point to a file in your /config directory"}:{isValid:!1,error:"'openApiFilePath' must start with './'"},"validateOpenApiPath")});var $y=g(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.redirectHandler=void 0;var YI=L();async function ZI(e,t){let r=t.route.handler.options;if(!r.location)throw new YI.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}o(ZI,"redirectHandler");Hs.redirectHandler=ZI});var Vy=g(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.urlForwardHandler=void 0;var XI=L(),jy=En();function eA(e,t){let r=e.endsWith("/"),n=t.startsWith("/");return r&&n?`${e.substring(0,e.length-1)}${t}`:!r&&!n?`${e}/${t}`:`${e}${t}`}o(eA,"join");async function tA(e,t){let r=(0,jy.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1;if(!n.baseUrl)throw new Error("URL Forward Handler must have 'baseUrl' specified");if(!n||typeof n.__rewriteFunction!="function")throw new XI.ConfigurationError("Invalid options for this route");let s={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},a=new URL(e.url),c=n.__rewriteFunction(e,s),u=eA(c,a.pathname),l=i?`${u}${a.search}`:u.toString(),d=Date.now();r(`URL Forwarding to '${l}'`);let p=await fetch(l,{method:e.method,body:e.body,headers:e.headers}),y=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${y}ms`),(0,jy.logBadGatewayResponses)(p,t),p}o(tA,"urlForwardHandler");qs.urlForwardHandler=tA});var By=g($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.urlRewriteHandler=void 0;var rA=L(),Gy=En(),nA=o((e,t)=>{let r=new URL(e),n=new URL(t);for(let[i,s]of n.searchParams.entries())r.searchParams.append(i,s);return r.toString()},"addQuery");async function iA(e,t){let r=(0,Gy.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,s=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new rA.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=i?nA(c,e.url):c,l=Date.now();r(`URL Rewriting to '${u}'`);let d=await fetch(u.toString(),{method:e.method,body:e.body,headers:e.headers,redirect:s?"follow":"manual"}),p=Date.now()-l;return r(`URL Rewrite received response ${d.status} - ${d.statusText} in ${p}ms`),(0,Gy.logBadGatewayResponses)(d,t),d}o(iA,"urlRewriteHandler");$s.urlRewriteHandler=iA});var Jy=g(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.webSocketHandler=void 0;var Ky=L(),oA=od(),sA=xt(),aA=ee(),cA=En();async function uA(e,t){let r=aA.Environment.instance,n=t.route.handler.options,i=(0,cA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new Ky.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return sA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Ky.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno){let p=new Headers(e.headers);if(c.startsWith("service:")){let h=await(0,oA.externalServiceTunnelConfig)(c),m=new URL(c);c=new URL(`${h.serviceBaseUrl}${m.pathname}${m.search}`).toString();for(let T in h.tunnelHeaders)p.set(T,h.tunnelHeaders[T])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let h=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${h}`}}catch{}let y=JSON.stringify({url:c});return new Response(y,{headers:p})}c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let p=await l.text(),y=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(y)}let d=Date.now()-u;return i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${d}ms`),new Response(null,{status:101,webSocket:l.webSocket})}o(uA,"webSocketHandler");js.webSocketHandler=uA});var zy=g(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.webSocketPolicyProcessor=wn.getWebSocketPolicyFunctions=void 0;var lA=L(),dA=o((e,t)=>e.map((n,i)=>{let s;if(typeof n.module=="object"&&(s=n.module[n.export]),!s||typeof s!="function"){let a=t==="inbound"?"WebSocketInboundPolicy":"WebSocketOutboundPolicy",c=`policy in position: ${i+1}, export name: ${n.export}`;throw new lA.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return s}),"getWebSocketPolicyFunctions");wn.getWebSocketPolicyFunctions=dA;var pA=o(async(e,t,r,n,i,s)=>{let a=e.data;if(s&&s.length>0){let c=[...s];for(;c.length>0;){let u=c.shift();if(!u)return a;if(a=await u(a,r,t,n,i),a===void 0)return}}return a},"webSocketPolicyProcessor");wn.webSocketPolicyProcessor=pA});var Qy=g(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.webSocketPipelineHandler=void 0;var gd=L(),hA=xt(),fA=ee(),mA=En(),_d=zy();function Wy(e,t,r,n,i){e.addEventListener("close",()=>{t.close()}),e.addEventListener("error",s=>{n.log.error("WebSocket error: ",s),t.send(JSON.stringify(s))}),e.addEventListener("message",s=>{try{o(async c=>{let u=await(0,_d.webSocketPolicyProcessor)(c,e,t,r,n,i);u!==void 0&&t.send(u)},"innerPipeline")(s).catch(n.log.error)}catch(a){n.log.error(a)}})}o(Wy,"wireUpListeners");async function yA(e,t){let r=fA.Environment.instance,n=t.route.handler.options,i=(0,mA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new gd.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return hA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new gd.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno)throw new gd.ConfigurationError("Websocket pipeline handler is currently not supported on working-copy environments");c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let S=await l.text(),k=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${S}'`;throw new Error(k)}let d=new WebSocketPair,[p,y]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let m=l.webSocket;m.accept(),y.accept();let v=n.policies&&n.policies.inbound?(0,_d.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],T=n.policies&&n.policies.outbound?(0,_d.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return Wy(y,m,e,t,v),Wy(m,y,e,t,T),new Response(null,{status:101,webSocket:p})}o(yA,"webSocketPipelineHandler");Vs.webSocketPipelineHandler=yA});var Yy=g(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.DynaTraceLoggingPlugin=void 0;var gA=ve(),bd=ee(),_A=Or(),bA=Ct(),EA=yt(),Ed=class extends bA.LogPlugin{static{o(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new wd(this.options)}};Gs.DynaTraceLoggingPlugin=Ed;var wd=class{static{o(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=bd.Environment.instance.loggingEnvironmentType,this.#i=bd.Environment.instance.loggingEnvironmentStage,this.#r=bd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,EA.stringifyNonString)((0,_A.serializeError)(n)),severity:t.level,"log.source":t.logSource,requestId:t.requestId,"custom.environment":this.#r,"custom.environmentStage":this.#i,"custom.environmentType":this.#n,"custom.loggingId":t.loggingId,"custom.rayId":t.rayId===null?void 0:t.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=async t=>{t.length!==0&&await fetch(this.#e,{method:"POST",body:JSON.stringify(t),headers:{"content-type":"application/json; charset=utf-8",authorization:`Api-Token ${this.#t}`}})};batcher=new gA.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var Zy=g(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});Bs.LokiLoggingPlugin=void 0;var wA=ve(),vd=ee(),vA=Or(),TA=Ct(),SA=yt(),Td=class extends TA.LogPlugin{static{o(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Id(this.options)}};Bs.LokiLoggingPlugin=Td;var Sd=class{static{o(this,"LokiStream")}constructor(t,r,n,i,s){this.level=t,this.environment=r,this.environmentType=n,this.environmentStage=i,this.requestId=s}job="zuplo";level;environment;environmentType;environmentStage;requestId;equals=t=>this.level===t.level&&this.requestId===t.requestId};function IA(e,t){return btoa(`${e}:${t}`)}o(IA,"createBasicDigest");var Id=class{static{o(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=IA(t.username,t.password),this.#n=vd.Environment.instance.loggingEnvironmentType,this.#i=vd.Environment.instance.loggingEnvironmentStage,this.#r=vd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){let n=new Sd(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let s={stream:n,message:(0,SA.stringifyNonString)((0,vA.serializeError)(i)),nanoSecondEpoch:`${t.timestamp.getTime()}000000`};this.batcher.enqueue(s)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=t=>{let r={streams:[]};return t.forEach(n=>{let i=r.streams.find(s=>s.stream.equals(n.stream));i||(i={stream:n.stream,values:[]},r.streams.push(i)),i.values.push([n.nanoSecondEpoch,n.message])}),r};#s=async t=>{if(t.length===0)return;let r=this.#o(t);await fetch(this.#e,{method:"POST",body:JSON.stringify(r),headers:{"content-type":"application/json",authorization:`Basic ${this.#t}`}})};batcher=new wA.BatchDispatch("loki-log-transport",10,this.#s)}});var Xy=g(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.SumoLogicLoggingPlugin=void 0;var AA=ve(),Ad=ee(),PA=Or(),RA=Ct(),OA=yt(),Pd=class extends RA.LogPlugin{static{o(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Rd(this.options)}};Ks.SumoLogicLoggingPlugin=Pd;var Rd=class{static{o(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=Ad.Environment.instance.loggingEnvironmentType,this.#n=Ad.Environment.instance.loggingEnvironmentStage,this.#t=Ad.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,OA.stringifyNonString)((0,PA.serializeError)(n)),severity:t.level,source:t.logSource,requestId:t.requestId,environment:this.#t,environmentType:this.#r,environmentStage:this.#n,rayId:t.rayId===null?void 0:t.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#s=async t=>{if(t.length===0)return;let r=t.map(i=>JSON.stringify(i)).join(`
64
- `),n=new Headers({"content-type":"application/json; charset=utf-8"});this.#o&&n.set("X-Sumo-Name",this.#o),this.#i&&n.set("X-Sumo-Category",this.#i),await fetch(this.#e,{method:"POST",body:r,headers:n})};batcher=new AA.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var tg=g(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.VMWareLogInsightTransport=vn.VMWareLogInsightLoggingPlugin=void 0;var xA=L(),NA=ve(),Od=ee(),CA=Ct(),eg=yt(),LA="d3a5b78f-8236-48f5-b1df-4fe269d41172",xd=class extends CA.LogPlugin{static{o(this,"VMWareLogInsightLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Js(this.options)}};vn.VMWareLogInsightLoggingPlugin=xd;var Js=class{static{o(this,"VMWareLogInsightTransport")}constructor(t){let r;try{r=new URL(t.url)}catch{throw new xA.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${t.url}'`)}this.#e=r.origin,this.#r=Od.Environment.instance.loggingEnvironmentType,this.#n=Od.Environment.instance.loggingEnvironmentStage,this.#t=Od.Environment.instance.deploymentName,this.#i=t.onMessageSending,t.fields&&(this.#o=Object.entries(t.fields).map(([n,i])=>({name:n,content:i})))}#e;#t;#r;#n;#i;#o;async log(t,r){let n=this.buildEntry(t,r);this.batcher.enqueue(n),r.waitUntil(this.batcher.waitUntilFlushed())}buildEntry(t,r){let n=(0,eg.messagesToMultilineText)(t.messages),i={timestamp:Date.now(),text:n,fields:[{name:"severity",content:t.level.toUpperCase()},{name:"request_id",content:t.requestId},{name:"environment_type",content:this.#r},{name:"environment_stage",content:this.#n},{name:"log_source",content:t.logSource},{name:"atomic_counter",content:t.vectorClock}]};return t.rayId&&i.fields.push({name:"request_ray_id",content:t.rayId}),this.#t&&i.fields.push({name:"environment",content:this.#t}),this.#o&&i.fields.push(...this.#o),r.custom&&Object.entries(r.custom).forEach(([s,a])=>{let c=(0,eg.stringifyNonStringToText)(a);c&&i.fields.push({name:s,content:c})}),this.#i&&(i=this.#i(i)),i}#s=async t=>{if(t.length===0)return;let r=await fetch(`${this.#e}/api/v1/events/ingest/${LA}`,{method:"POST",body:JSON.stringify(t),headers:{"content-type":"application/json; charset=utf-8"}});if(r.status!==200)try{let n=await r.text();console.error("Error logging to Log Insight",n)}catch(n){console.error(n)}};batcher=new NA.BatchDispatch("vmware-log-insights-log-transport",10,this.#s)};vn.VMWareLogInsightTransport=Js});var ng=g(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.AWSLogTransport=Tn.AWSLoggingPlugin=void 0;var DA=ve(),rg=ee(),UA=Or(),MA=Ct(),kA=yt(),FA=fd(),Nd=class extends MA.LogPlugin{static{o(this,"AWSLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new zs(this.options)}};Tn.AWSLoggingPlugin=Nd;var zs=class{static{o(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new DA.BatchDispatch("aws-log-transport",10,async t=>{if(t.length===0)return;let r=JSON.stringify({logGroupName:this.logGroupName,logStreamName:this.logStreamName,logEvents:t});await this.awsClient.fetch(`https://logs.${this.region}.amazonaws.com`,{headers:{"Content-Type":"application/x-amz-json-1.1","x-amz-Target":"Logs_20140328.PutLogEvents"},body:r,aws:{accessKeyId:this.awsClient.accessKeyId,secretAccessKey:this.awsClient.secretAccessKey,service:this.awsClient.service,region:this.awsClient.region}})});constructor({accessKeyId:t,logStreamName:r,logGroupName:n,secretAccessKey:i,region:s}){this.awsClient=new FA.AwsClient({accessKeyId:t,secretAccessKey:i,service:"logs",region:s}),this.logGroupName=n,this.logStreamName=r,this.region=s,this.environmentType=rg.Environment.instance.loggingEnvironmentType,this.environment=rg.Environment.instance.deploymentName}async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,kA.stringifyNonString)((0,UA.serializeError)(n)),severity:t.level,source:t.logSource,environment:this.environment,requestId:t.requestId,environmentType:this.environmentType,rayId:t.rayId===null?void 0:t.rayId})};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}};Tn.AWSLogTransport=zs});var ig=g(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.AWSLoggingPlugin=Oe.VMWareLogInsightLoggingPlugin=Oe.SumoLogicLoggingPlugin=Oe.LokiLoggingPlugin=Oe.GoogleCloudLoggingPlugin=Oe.DynaTraceLoggingPlugin=Oe.DataDogLoggingPlugin=void 0;var HA=ql();Object.defineProperty(Oe,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return HA.DataDogLoggingPlugin}});var qA=Yy();Object.defineProperty(Oe,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return qA.DynaTraceLoggingPlugin}});var $A=_s();Object.defineProperty(Oe,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return $A.GoogleCloudLoggingPlugin}});var jA=Zy();Object.defineProperty(Oe,"LokiLoggingPlugin",{enumerable:!0,get:function(){return jA.LokiLoggingPlugin}});var VA=Xy();Object.defineProperty(Oe,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return VA.SumoLogicLoggingPlugin}});var GA=tg();Object.defineProperty(Oe,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return GA.VMWareLogInsightLoggingPlugin}});var BA=ng();Object.defineProperty(Oe,"AWSLoggingPlugin",{enumerable:!0,get:function(){return BA.AWSLoggingPlugin}})});var og=g(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.DataDogMetricsError=lr.DataDogMetricsTransport=lr.DataDogMetricsPlugin=void 0;var KA=Ge(),JA=ve(),zA=po(),Cd=new WeakMap,WA={tags:[]},Ld=class extends zA.MetricsPlugin{static{o(this,"DataDogMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ws(this.options)}static setContext(t,r){let n=Cd.get(t);n||(n=WA);let i=Object.assign({...n},r);Cd.set(t,i)}};lr.DataDogMetricsPlugin=Ld;var Ws=class{static{o(this,"DataDogMetricsTransport")}#e;#t;#r;#n;#i;#o=void 0;constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://api.datadoghq.com/api/v2/series",this.#r=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},t.metrics),this.#i=t.include??{},this.#n=t.tags??[]}pushMetrics(t,r){this.#o===void 0&&(this.#o=new JA.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,KA.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()/1e3),i=this.#n.concat(Cd.get(r)?.tags??[]);if(this.#i.country&&i.push(`country:${t.country}`),this.#i.httpMethod&&i.push(`httpMethod:${t.method}`),this.#i.statusCode&&i.push(`statusCode:${t.statusCode}`),this.#i.path){let s=t.systemRouteName||t.routePath;i.push(`path:${s}`)}this.#r.latency&&this.#o.enqueue({metric:"zuplo.request.latency",type:3,points:[{timestamp:n,value:t.durationMs}],tags:i}),this.#r.requestContentLength&&t.requestContentLength&&this.#o.enqueue({metric:"zuplo.request.content_length",type:3,points:[{timestamp:n,value:t.requestContentLength}],tags:i}),this.#r.responseContentLength&&t.responseContentLength&&this.#o.enqueue({metric:"zuplo.response.content_length",type:3,points:[{timestamp:n,value:t.responseContentLength}],tags:i}),r.waitUntil(this.#o.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;let r=JSON.stringify({series:t}),n=await fetch(this.#t,{method:"POST",body:r,headers:{"content-type":"application/json","DD-API-KEY":this.#e}});if(!n.ok)throw new Qs(await n.text())}};lr.DataDogMetricsTransport=Ws;var Qs=class e extends Error{static{o(this,"DataDogMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};lr.DataDogMetricsError=Qs});var sg=g(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.DynaTraceMetricsError=dr.DynaTraceMetricsTransport=dr.DynatraceMetricsPlugin=void 0;var QA=Ge(),YA=ve(),ZA=po(),Dd=new WeakMap,XA={dimensions:[]},Ud=class extends ZA.MetricsPlugin{static{o(this,"DynatraceMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ys(this.options)}static setContext(t,r){let n=Dd.get(t);n||(n=XA);let i=Object.assign({...n},r);Dd.set(t,i)}};dr.DynatraceMetricsPlugin=Ud;var Ys=class{static{o(this,"DynaTraceMetricsTransport")}apiToken;#e;#t;dimensions;#r;#n=void 0;constructor(t){this.apiToken=t.apiToken,this.#e=t.url,this.#t=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},t.metrics),this.#r=t.include??{},this.dimensions=t.dimensions??[]}pushMetrics(t,r){this.#n===void 0&&(this.#n=new YA.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,QA.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()),i=this.dimensions.concat(Dd.get(r)?.dimensions??[]);if(this.#r.country&&i.push(`country="${t.country}"`),this.#r.httpMethod&&i.push(`http_method="${t.method}"`),this.#r.statusCode&&i.push(`status_code="${t.statusCode}"`),this.#r.path){let a=t.systemRouteName||t.routePath;i.push(`path="${a}"`)}let s=i.join(",");this.#t.latency&&this.#n.enqueue(`zuplo.request.latency,${s} ${t.durationMs} ${n}`),this.#t.requestContentLength&&t.requestContentLength&&this.#n.enqueue(`zuplo.request.content_length,${s} ${t.requestContentLength} ${n}`),this.#t.responseContentLength&&t.responseContentLength&&this.#n.enqueue(`zuplo.response.content_length,${s} ${t.responseContentLength} ${n}`),r.waitUntil(this.#n.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;let r=t.join(`
65
- `),n=await fetch(this.#e,{method:"POST",body:r,headers:{"content-type":"text/plain",Authorization:`Api-Token ${this.apiToken}`}});if(!n.ok)throw new Zs(await n.text())}};dr.DynaTraceMetricsTransport=Ys;var Zs=class e extends Error{static{o(this,"DynaTraceMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};dr.DynaTraceMetricsError=Zs});var ag=g(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.DynatraceMetricsPlugin=Sn.DataDogMetricsPlugin=void 0;var eP=og();Object.defineProperty(Sn,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return eP.DataDogMetricsPlugin}});var tP=sg();Object.defineProperty(Sn,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return tP.DynatraceMetricsPlugin}})});var cg=g(Xs=>{"use strict";Object.defineProperty(Xs,"__esModule",{value:!0});Xs.AuditLogDataStaxProvider=void 0;var Md=class{static{o(this,"AuditLogDataStaxProvider")}constructor(t){this.#e=t}#e;writeLogBatch=async t=>{await Promise.allSettled(t.map(async r=>{await fetch(this.#e.url,{method:"POST",headers:{"X-Cassandra-Token":this.#e.xCassandraToken,"content-type":"application/json"},body:JSON.stringify(r)})}))}};Xs.AuditLogDataStaxProvider=Md});var lg=g(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.AuditLogPlugin=void 0;var rP=Ot(),nP=ve(),kd=class extends rP.InitializableRuntimePlugin{static{o(this,"AuditLogPlugin")}constructor(t,r){super(),this.#e=t,this.#t=r}#e;#t;async initialize(t){new Fd(t,this.#e,this.#t)}};ea.AuditLogPlugin=kd;var ug=o(e=>{let t={};return e.forEach((r,n)=>{t[n]=r}),t},"serializableHeaders"),iP={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},Fd=class{static{o(this,"AuditPluginImpl")}constructor(t,r,n){this.#t=r;let i={...iP};n?.requestFilter&&(i.requestFilter=n.requestFilter),n?.include?.request&&Object.assign(i,n.include.request),n?.include?.response&&Object.assign(i,n.include.response),this.#e=i,t.addRequestHook(this.#o),this.#r=new nP.BatchDispatch("audit-log",10,this.#n)}#e;#t;#r;#n=async t=>{await this.#t.writeLogBatch(t)};#i=async(t,r,n,i,s,a)=>{try{let c={timestamp:i,durationMs:s,routePath:n.route.path,requestId:n.requestId,userSub:a,request:{url:r.url,method:r.method,headers:this.#e.include?.request?.headers?ug(r.headers):void 0,body:this.#e.include?.request?.body?await r.text():void 0},response:{status:t.status,statusText:t.statusText,headers:this.#e.include?.response?.headers?ug(t.headers):void 0,body:this.#e.include?.response?.body?await t.text():void 0}};this.#r.enqueue(c),n.waitUntil(this.#r.waitUntilFlushed())}catch(c){n.log.error(c)}};#o=async(t,r)=>{try{if(!await this.#e.requestFilter(t,r))return t;let i=new Date,s=Date.now(),a=t.clone();return r.addResponseSendingFinalHook(async(c,u)=>{let l=Date.now(),d=c.clone(),p=this.#i(d,a,r,i,l-s,u.user?.sub).catch(y=>{r.log.error(y)});r.waitUntil(p)}),t}catch(n){return r.log.error(n),t}}}});var mg=g(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.AmberfloMeteringInboundPolicy=In.AmberfloMeteringPolicy=void 0;var dg=L(),oP=ve(),pg=Yn(),fg=new WeakMap,hg={},Hd=class{static{o(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){fg.set(t,r)}};In.AmberfloMeteringPolicy=Hd;async function sP(e,t,r,n){if(!r.statusCodes)throw new dg.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,pg.statusCodesStringToNumberArray)(r.statusCodes);return t.addResponseSendingFinalHook(async s=>{if(i.includes(s.status)){let a=fg.get(t),c=r.customerId;if(r.customerIdPropertyPath){if(!e.user)throw new dg.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,pg.getValueFromRequestUser)(e.user,r.customerIdPropertyPath,"customerIdPropertyPath")}let u=a?.customerId??c;if(!u){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': customerId cannot be undefined`);return}let l=a?.meterApiName??r.meterApiName;if(!l){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterApiName cannot be undefined`);return}let d=a?.meterValue??r.meterValue;if(!d){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterValue cannot be undefined`);return}let p={customerId:u,meterApiName:l,meterValue:d,meterTimeInMillis:Date.now(),dimensions:Object.apply(r.dimensions??{},a?.dimensions)},y=hg[r.apiKey];if(!y){let h=r.apiKey,m=e.headers.get("zm-test-id")??"";y=new oP.BatchDispatch("amberflo-ingest-meter",10,async v=>{try{let T=r.url??"https://app.amberflo.io/ingest",S=await fetch(T,{method:"POST",body:JSON.stringify(v),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":m}});S.ok||t.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${S.status}: ${await S.text()}`)}catch(T){throw t.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${T.message}`),T}}),hg[h]=y}y.enqueue(p),t.waitUntil(y.waitUntilFlushed())}}),e}o(sP,"AmberfloMeteringInboundPolicy");In.AmberfloMeteringInboundPolicy=sP});var qd=g(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.sha256=void 0;async function aP(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest({name:"SHA-256"},t);return[...new Uint8Array(r)].map(i=>i.toString(16).padStart(2,"0")).join("")}o(aP,"sha256");ta.sha256=aP});var pr=g(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.getPolicyCacheName=void 0;var cP=qd(),yg=new Map;async function uP(e,t){let r,n=yg.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,cP.sha256)(JSON.stringify({policyName:e,options:t}))}`,yg.set(e,r)),r}o(uP,"getPolicyCacheName");ra.getPolicyCacheName=uP});var Gd=g(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.ApiKeyInboundPolicy=void 0;var lP=pr(),dP=Er(),gg=id(),$d=L(),pP=xt(),jd=Ge(),Vd=ee(),hP=ys(),_g="key-metadata-cache-type";function fP(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}o(fP,"getKeyValue");async function mP(e,t,r,n){if(!r.bucketName)if(gg.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=gg.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new $d.ConfigurationError(`ApiKeyInboundPolicy '${n}' - no bucketName property provided`);let i={authHeader:r.authHeader??"authorization",authScheme:r.authScheme??"Bearer",bucketName:r.bucketName,cacheTtlSeconds:r.cacheTtlSeconds??60,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1,disableAutomaticallyAddingKeyHeaderToOpenApi:r.disableAutomaticallyAddingKeyHeaderToOpenApi??!1};if(i.cacheTtlSeconds<60)throw new $d.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let s=o(T=>i.allowUnauthenticatedRequests?e:pP.HttpProblems.unauthorized(e,t,{detail:T}),"unauthorizedResponse"),a=e.headers.get(i.authHeader);if(!a)return s("No Authorization Header");if(!a.toLowerCase().startsWith(i.authScheme.toLowerCase()))return s("Invalid Authorization Scheme");let c=fP(a,i);if(!c||c==="")return s("No key present");let u=await yP(c),l=await(0,lP.getPolicyCacheName)(n,i),d=new dP.MemoryZoneReadThroughCache(l,{logger:jd.SystemLogMap.getLogger(t)}),p=await d.get(u);if(p&&p.isValid===!0)return e.user=p.user,e;if(p&&!p.isValid)return p.typeId!==_g&&jd.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),s("Authorization Failed");let y={key:c},h=await(0,hP.fetchRetry)({retryDelayMs:5,retries:2,logger:jd.SystemLogMap.getLogger(t)},`${Vd.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":Vd.Environment.instance.deploymentName??"unknown","User-Agent":Vd.Environment.instance.systemUserAgent},body:JSON.stringify(y)});if(h.status===401)return t.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),s("Authorization Failed");if(h.status!==200){try{let T=await h.text(),S=JSON.parse(T);t.log.error("Unexpected response from key service",S)}catch{t.log.error("Invalid response from key service")}throw new $d.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let m=await h.json(),v={isValid:!0,typeId:_g,user:{sub:m.name,data:m.metadata}};return e.user=v.user,d.put(u,v,i.cacheTtlSeconds),e}o(mP,"ApiKeyInboundPolicy");na.ApiKeyInboundPolicy=mP;async function yP(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(yP,"hashValue")});var bg=g(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.ApiAuthKeyInboundPolicy=void 0;var gP=Gd();ia.ApiAuthKeyInboundPolicy=gP.ApiKeyInboundPolicy});var kt=g(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.OpenIdJwtInboundPolicy=void 0;var Kd=(fs(),Bi(hs)),Jd=L(),_P=ge(),Bd={},bP=o(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new Jd.ConfigurationError("Invalid State - jwkUrl not set");Bd[t.jwkUrl]||(Bd[t.jwkUrl]=(0,Kd.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,Kd.jwtVerify)(e,Bd[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),EP=o(async(e,t)=>{let r;if(t.secret===void 0)throw new Error("secretVerifier requires secret to be defined");if(typeof t.secret=="string"){let s=new TextEncoder().encode(t.secret);r=new Uint8Array(s)}else r=t.secret;let{payload:n}=await(0,Kd.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),wP=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),s="bearer ",a=o(y=>_P.HttpProblems.unauthorized(e,t,{detail:y}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new Jd.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new Jd.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?bP:EP,l=await o(async()=>{if(!i)return a("No authorization header");if(i.toLowerCase().indexOf(s)!==0)return a("Invalid bearer token format for authorization header");let y=i.substring(s.length);if(!y||y.length===0)return a("No bearer token on authorization header");try{return await c(y,r)}catch(h){let m=new URL(e.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?t.log.warn(`Expired token used on url: ${m.pathname} `,h):t.log.warn(`Invalid token on: ${e.method} ${m.pathname}`,h),a("Invalid token")}},"getJwtOrRejectedResponse")();if(l instanceof Response)return r.allowUnauthenticatedRequests===!0?e:l;let d=r.subPropertyName??"sub",p=l[d];return p?(e.user={sub:p,data:l},e):a(`Token is not valid, no '${d}' property found.`)},"OpenIdJwtInboundPolicy");oa.OpenIdJwtInboundPolicy=wP});var Eg=g(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.Auth0JwtInboundPolicy=void 0;var vP=kt(),TP=o(async(e,t,r,n)=>(0,vP.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");sa.Auth0JwtInboundPolicy=TP});var wg=g(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.BasicAuthInboundPolicy=void 0;var SP=ge(),IP=o(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",s=o(l=>SP.HttpProblems.unauthorized(e,t,{detail:l}),"unauthorizedResponse"),c=await o(async()=>{if(!n)return await s("No Authorization header");if(n.toLowerCase().indexOf(i)!==0)return await s("Invalid Basic token format for Authorization header");let l=n.substring(i.length);if(!l||l.length===0)return await s("No username:password provided");let d=atob(l).normalize(),p=d.indexOf(":");if(p===-1||/[\0-\x1F\x7F]/.test(d))return await s("Invalid basic token value - see https://tools.ietf.org/html/rfc5234#appendix-B.1");let y=d.substring(0,p),h=d.substring(p+1),m=r.accounts.find(v=>v.username===y&&v.password===h);return m||await s("Invalid username or password")},"getAccountOrRejectedResponse")();if(c instanceof Response)return r.allowUnauthenticatedRequests?e:c;let u=c.username;return e.user={sub:u,data:c.data},e},"BasicAuthInboundPolicy");aa.BasicAuthInboundPolicy=IP});var vg=g(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.CachingInboundPolicy=void 0;var AP=pr(),PP=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function RP(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(RP,"digestMessage");var OP=o(async(e,t)=>{let r=[...t.dangerouslyIgnoreAuthorizationHeader===!0?[]:["authorization"],...t.headers??[]],n=[];for(let[d,p]of e.headers.entries())r.includes(d)&&n.push({key:d.toLowerCase(),value:p});n.sort((d,p)=>d.key.localeCompare(p.key));let i=await RP(JSON.stringify(n)),s=new URL(e.url),a=new URLSearchParams(s.searchParams);a.set("_z-hdr-dgst",i);let c=t.cacheHttpMethods?.includes(e.method.toUpperCase())&&e.method.toUpperCase()!=="GET";c&&a.set("_z-original-method",e.method);let u=`${s.origin}${s.pathname}?${a}`;return new Request(u,{method:c?"GET":e.method})},"createCacheKeyRequest");async function xP(e,t,r,n){let i=await(0,AP.getPolicyCacheName)(n,r),s=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await OP(e,r),u=await s.match(c);return u||(t.addEventListener("responseSent",l=>{try{let d=r.statusCodes??[200,206,301,302,303,404,410],p=l.response.clone();if(!d.includes(p.status)||!a.includes(e.method.toUpperCase()))return;let y=r?.expirationSecondsTtl??60,h=new Response(p.body,p);PP.forEach(m=>h.headers.delete(m)),h.headers.set("cache-control",`s-maxage=${y}`),t.waitUntil(s.put(c,h))}catch(d){t.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),e)}o(xP,"CachingInboundPolicy");ca.CachingInboundPolicy=xP});var Tg=g(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.ChangeMethodInboundPolicy=void 0;var NP=L(),CP=Be(),LP=o(async(e,t,r,n)=>{if(!r.method)throw new NP.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new CP.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");ua.ChangeMethodInboundPolicy=LP});var Sg=g(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.ClearHeadersInboundPolicy=void 0;var DP=Be(),UP=o(async(e,t,r)=>{let n=[...r.exclude??[]],i=new Headers;return n.forEach(a=>{let c=e.headers.get(a);c&&i.set(a,c)}),new DP.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");la.ClearHeadersInboundPolicy=UP});var Ig=g(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.ClearHeadersOutboundPolicy=void 0;var MP=o(async(e,t,r,n)=>{let i=[...n.exclude??[]],s=new Headers;return i.forEach(c=>{let u=e.headers.get(c);u&&s.set(c,u)}),new Response(e.body,{headers:s,status:e.status,statusText:e.statusText})},"ClearHeadersOutboundPolicy");da.ClearHeadersOutboundPolicy=MP});var Ag=g(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.ClerkJwtInboundPolicy=void 0;var kP=kt(),FP=o(async(e,t,r,n)=>{let i=new URL(r.frontendApiUrl.startsWith("https://")||r.frontendApiUrl.startsWith("http://")?r.frontendApiUrl:`https://${r.frontendApiUrl}`),s=new URL(i);return s.pathname="/.well-known/jwks.json",(0,kP.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:s.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");pa.ClerkJwtInboundPolicy=FP});var Rg=g(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.CognitoJwtInboundPolicy=void 0;var Pg=L(),HP=kt(),qP=o(async(e,t,r,n)=>{if(!r.userPoolId)throw new Pg.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new Pg.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,HP.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}`,jwkUrl:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"CognitoJwtInboundPolicy");ha.CognitoJwtInboundPolicy=qP});var xg=g(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.CompositeInboundPolicy=void 0;var $P=L(),jP=pn(),Og=Zn(),VP=o(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new $P.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=jP.Gateway.instance,s=(0,Og.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,Og.toStackedInboundHandler)(s)(e,t)},"CompositeInboundPolicy");fa.CompositeInboundPolicy=VP});var hr=g(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.optionValidator=void 0;var bi=L();function GP(e,t){let r=o((s,a,c)=>{let u=e[s];if(!(c&&u===void 0)){if(u===void 0)throw new bi.ConfigurationError(`Value of '${String(s)}' on policy '${t}' is required, but no value was set. If using an environment variable, check that it is set correctly.`);if(a==="array"&&Array.isArray(u))throw new bi.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new bi.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be of type ${a}. Received type ${typeof u}.`);if(typeof u=="string"&&u.length===0)throw new bi.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be a non-empty string. The value received is empty. If using an environment variable, check that it is set correctly.`);if(typeof u=="number"&&isNaN(u))throw new bi.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be valid number. If using an environment variable, check that it is set correctly.`)}},"validate"),n=o((s,a)=>(r(s,a,!0),{optional:n,required:i}),"optional"),i=o((s,a)=>(r(s,a,!1),{optional:n,required:i}),"required");return{optional:n,required:i}}o(GP,"optionValidator");ma.optionValidator=GP});var Ng=g(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.FirebaseJwtInboundPolicy=void 0;var BP=hr(),KP=kt(),JP=o(async(e,t,r,n)=>((0,BP.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,KP.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://securetoken.google.com/${r.projectId}`,audience:r.projectId,jwkUrl:"https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com",allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)),"FirebaseJwtInboundPolicy");ya.FirebaseJwtInboundPolicy=JP});var Cg=g(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.FormDataToJsonInboundPolicy=void 0;var zP=Be(),WP=o(async(e,t,r)=>{let n="application/x-www-form-urlencoded",i="multipart/form-data",s=e.headers.get("content-type")?.toLowerCase();if(!s||![i,n].includes(s))return r&&r.badRequestIfNotFormData?new Response(`Bad Request - expected content-type '${n}' or ${i}`,{status:400,statusText:"Bad Request"}):e;let a=await e.formData();if(r&&r.optionalHoneypotName&&a.get(r.optionalHoneypotName)!=="")return new Response("Bad Request",{status:400,statusText:"Bad Request"});let c={};for(let[d,p]of a)c[d]=p.toString();let u=new Headers(e.headers);return u.set("content-type","application/json"),u.delete("content-length"),new zP.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");ga.FormDataToJsonInboundPolicy=WP});var Lg=g(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.GeoFilterInboundPolicy=void 0;var QP=L(),YP=ge(),An="__unknown__",ZP=o(async(e,t,r,n)=>{let i={allow:{countries:Rn(r.allow?.countries,"allow.countries",n),regionCodes:Rn(r.allow?.regionCodes,"allow.regionCode",n),asns:Rn(r.allow?.asns,"allow.asOrganization",n)},block:{countries:Rn(r.block?.countries,"block.countries",n),regionCodes:Rn(r.block?.regionCodes,"block.regionCode",n),asns:Rn(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},s=t.incomingRequestProperties.country?.toLowerCase()??An,a=t.incomingRequestProperties.regionCode?.toLowerCase()??An,c=t.incomingRequestProperties.asn?.toString()??An,u=i.ignoreUnknown&&s===An,l=i.ignoreUnknown&&a===An,d=i.ignoreUnknown&&c===An,p=i.allow.countries,y=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(s)&&!u||y.length>0&&!y.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return Pn(e,t,n,s,a,c);let m=i.block.countries,v=i.block.regionCodes,T=i.block.asns;return m.length>0&&m.includes(s)&&!u||v.length>0&&v.includes(a)&&!l||T.length>0&&T.includes(c)&&!d?Pn(e,t,n,s,a,c):e},"GeoFilterInboundPolicy");_a.GeoFilterInboundPolicy=ZP;function Pn(e,t,r,n,i,s){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${s}')`),YP.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:s}})}o(Pn,"blockedResponse");function Rn(e,t,r){if(typeof e=="string")return e.split(",").map(n=>n.trim().toLowerCase());if(typeof e>"u")return[];if(Array.isArray(e))return e.map(n=>n.trim().toLowerCase());throw new QP.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}o(Rn,"toLowerStringArray")});var Dg=g(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.JWTScopeValidationInboundPolicy=void 0;var XP=o(async(e,t,r)=>{let n=e.user?.data.scope.split(" ")||[];if(!o((s,a)=>a.every(c=>s.includes(c)),"scopeChecker")(n,r.scopes)){let s={code:"UNAUTHORIZED",help_url:"https://zup.fail/UNAUTHORIZED",message:`JWT must have all the following scopes: ${r.scopes}`};return new Response(JSON.stringify(s),{status:401,statusText:"Unauthorized",headers:{"content-type":"application/json"}})}return e},"JWTScopeValidationInboundPolicy");ba.JWTScopeValidationInboundPolicy=XP});var Mg=g(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.MockApiInboundPolicy=void 0;var eR=ge(),tR=o(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return zd(n,e,t,"No responses defined in the OpenAPI document. Add some responses with examples to use this policy.");let s=Object.keys(i),a=[];if(s.length===0)return zd(n,e,t,"No response object defined under responses in the OpenAPI document. Add some response objects with examples to use this policy.");if(s.forEach(c=>{i[c].content&&Object.keys(i[c].content).forEach(l=>{let d=i[c].content[l].examples;d&&Object.keys(d).forEach(y=>{a.push({responseName:c,contentName:l,exampleName:y,exampleValue:d[y]})})})}),a=a.filter(c=>!(r.responsePrefixFilter&&!c.responseName.startsWith(r.responsePrefixFilter)||r.contentType&&c.contentName!==r.contentType||r.exampleName&&c.exampleName!==r.exampleName)),r.random&&a.length>1){let c=Math.floor(Math.random()*a.length);return Ug(a[c])}else return a.length>0?Ug(a[0]):zd(n,e,t,"No examples matching the mocking options found in the OpenAPI document. Add examples to the OpenAPI document matching the options for this policy or change the mocking options to match the examples in the OpenAPI document.")},"MockApiInboundPolicy");Ea.MockApiInboundPolicy=tR;function Ug(e){let t=JSON.stringify(e.exampleValue,null,2),r=new Headers;switch(r.set("Content-Type",e.contentName),e.responseName){case"1XX":return new Response(t,{status:100,headers:r});case"2XX":return new Response(t,{status:200,headers:r});case"3XX":return new Response(t,{status:300,headers:r});case"4XX":return new Response(t,{status:400,headers:r});case"5XX":case"default":return new Response(t,{status:500,headers:r});default:return new Response(t,{status:Number(e.responseName),headers:r})}}o(Ug,"generateResponse");var zd=o((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return eR.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var $g=g(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.MoesifInboundPolicy=On.setMoesifContext=void 0;var rR=L(),nR=ve(),iR="Incoming",oR={logRequestBody:!0,logResponseBody:!0};function kg(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}o(kg,"headersToObject");function Fg(){return new Date().toISOString()}o(Fg,"timestamp");var Wd=new WeakMap,sR={};function aR(e,t){let r=Wd.get(e);r||(r=sR);let n=Object.assign({...r},t);Wd.set(e,n)}o(aR,"setMoesifContext");On.setMoesifContext=aR;async function Hg(e,t){let r=e.headers.get("content-type");if(r&&r.indexOf("json")!==0)try{return await e.clone().json()}catch(i){t.log.error(i)}let n=await e.clone().text();return t.log.debug({textBody:n}),n}o(Hg,"readBody");var cR={},Qd;function qg(){if(!Qd)throw new rR.RuntimeError("Invalid State - no _lastLogger");return Qd}o(qg,"getLastLogger");function uR(e){let t=cR[e];return t||(t=new nR.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);qg().debug("posting",n);let i=await fetch("https://api.moesif.net/v1/events/batch",{method:"POST",headers:{"content-type":"application/json","X-Moesif-Application-Id":e},body:n});i.ok||qg().error({status:i.status,body:await i.text()})})),t}o(uR,"getDispatcher");async function lR(e,t,r,n){Qd=t.log;let i=Fg(),s=Object.assign(oR,r);if(!s.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=s.logRequestBody?await Hg(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=uR(s.applicationId),d=e.headers.get("true-client-ip"),p=Wd.get(t)??{},y={time:i,uri:e.url,verb:e.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:kg(e.headers)},h=s.logResponseBody?await Hg(c,t):void 0,m={time:Fg(),status:c.status,headers:kg(c.headers),body:h},v={request:y,response:m,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:iR};l.enqueue(v),t.waitUntil(l.waitUntilFlushed())}),e}o(lR,"MoesifInboundPolicy");On.MoesifInboundPolicy=lR});var jg=g(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.OktaJwtInboundPolicy=void 0;var dR=kt(),pR=o(async(e,t,r,n)=>(0,dR.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");wa.OktaJwtInboundPolicy=pR});var Vg=g(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.PropelAuthJwtInboundPolicy=void 0;var hR=(fs(),Bi(hs)),fR=kt(),Yd,mR=o(async(e,t,r,n)=>{if(!Yd)try{Yd=await(0,hR.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,fR.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:Yd,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");va.PropelAuthJwtInboundPolicy=mR});var Gg=g(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.throwIfStateNotObject=G.throwIfStateNotNumber=G.throwIfStateNotString=G.throwIfStateUndefinedOrNull=G.throwIfStateUndefined=G.throwIfOptionNotObject=G.throwIfOptionNotNumber=G.throwIfOptionNotString=G.throwIfOptionUndefinedOrNull=G.throwIfOptionUndefined=G.OptionTypeError=G.OptionUndefinedError=G.throwIfNotNumber=G.throwIfNotString=G.throwIfUndefinedOrNull=G.throwIfUndefined=G.ArgumentTypeError=G.ArgumentUndefinedError=G.ValidationError=void 0;var qe=Jt(),et=class extends Error{static{o(this,"ValidationError")}constructor(t){super(t)}};G.ValidationError=et;var Ei=class extends et{static{o(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};G.ArgumentUndefinedError=Ei;var wi=class extends et{static{o(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};G.ArgumentTypeError=wi;function yR(e,t){if((0,qe.isUndefined)(e))throw new Ei(t)}o(yR,"throwIfUndefined");G.throwIfUndefined=yR;function Zd(e,t){if((0,qe.isUndefinedOrNull)(e))throw new Ei(t)}o(Zd,"throwIfUndefinedOrNull");G.throwIfUndefinedOrNull=Zd;function gR(e,t){if(Zd(e,t),!(0,qe.isString)(e))throw new wi(t,"string")}o(gR,"throwIfNotString");G.throwIfNotString=gR;function _R(e,t){if(Zd(e,t),!(0,qe.isNumber)(e))throw new wi(t,"number")}o(_R,"throwIfNotNumber");G.throwIfNotNumber=_R;var vi=class extends et{static{o(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};G.OptionUndefinedError=vi;var xn=class extends et{static{o(this,"OptionTypeError")}constructor(t,r,n,i){super(`The option '${n}' on the ${t} named '${r}' must be of type '${i}'.`)}};G.OptionTypeError=xn;function bR(e,t,r,n){if((0,qe.isUndefined)(n))throw new vi(e,t,r)}o(bR,"throwIfOptionUndefined");G.throwIfOptionUndefined=bR;function Ta(e,t,r,n){if((0,qe.isUndefinedOrNull)(n))throw new vi(e,t,r)}o(Ta,"throwIfOptionUndefinedOrNull");G.throwIfOptionUndefinedOrNull=Ta;function ER(e,t,r,n){if(Ta(e,t,r,n),!(0,qe.isString)(n))throw new xn(e,t,r,"string")}o(ER,"throwIfOptionNotString");G.throwIfOptionNotString=ER;function wR(e,t,r,n){if(Ta(e,t,r,n),!(0,qe.isNumber)(n))throw new xn(e,t,r,"number")}o(wR,"throwIfOptionNotNumber");G.throwIfOptionNotNumber=wR;function vR(e,t,r,n){if(Ta(e,t,r,n),!(0,qe.isObject)(n))throw new xn(e,t,r,"object")}o(vR,"throwIfOptionNotObject");G.throwIfOptionNotObject=vR;function TR(e,t){if((0,qe.isUndefined)(e))throw new et(t)}o(TR,"throwIfStateUndefined");G.throwIfStateUndefined=TR;function Sa(e,t){if((0,qe.isUndefinedOrNull)(e))throw new et(t)}o(Sa,"throwIfStateUndefinedOrNull");G.throwIfStateUndefinedOrNull=Sa;function SR(e,t){if(Sa(e,t),!(0,qe.isString)(e))throw new et(t);return!0}o(SR,"throwIfStateNotString");G.throwIfStateNotString=SR;function IR(e,t){if(Sa(e,t),!(0,qe.isNumber)(e))throw new et(t);return!0}o(IR,"throwIfStateNotNumber");G.throwIfStateNotNumber=IR;function AR(e,t){if(Sa(e,t),!(0,qe.isObject)(e))throw new et(t);return!0}o(AR,"throwIfStateNotObject");G.throwIfStateNotObject=AR});var Bg=g(Nn=>{"use strict";Object.defineProperty(Nn,"__esModule",{value:!0});Nn.InMemoryRedisClient=Nn.StandardRedisClient=void 0;var Xd=L(),Ia=Gg(),ep=class e{static{o(this,"StandardRedisClient")}static instance;redisClientUrl;clientAuthToken;userAgent;deploymentName;constructor(t,r,n,i){this.redisClientUrl=t,this.clientAuthToken=r,this.deploymentName=n,this.userAgent=i}static initialize(t,r,n,i){return(0,Ia.throwIfNotString)(t,"redisClientUrl"),(0,Ia.throwIfNotString)(r,"clientAuthToken"),e.instance||(e.instance=new e(t,r,n,i)),e.instance}isEnabled(){return this.redisClientUrl!==void 0&&this.clientAuthToken!==void 0}async fetch({url:t,body:r,method:n,requestId:i}){(0,Ia.throwIfNotString)(t,"url");let s=await fetch(`${this.redisClientUrl}${t}`,{method:n,body:r,headers:{"content-type":"application/json",authorization:`Bearer ${this.clientAuthToken}`,"zp-rid":i,"zp-dn":this.deploymentName,"User-Agent":this.userAgent}}),a=s.headers.get("Content-Type")?.includes("application/json")?await s.json():await s.text();if(s.ok)return a;throw s.status===401?new Xd.SystemError("Redis client failed with 401: Unauthorized"):new Xd.SystemError(`Redis client failed with (${s.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};Nn.StandardRedisClient=ep;var tp=class{static{o(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,Ia.throwIfNotString)(t,"url"),n==="POST"&&t==="/rate-limit"){let{incrBy:i,expire:s,key:a}=JSON.parse(r),c=Date.now()+s*1e3,u=this.keyValueStore.get(a);u?Date.now()>u.expiresAt?this.keyValueStore.set(a,{value:i,expiresAt:c}):this.keyValueStore.set(a,{value:u.value+i,expiresAt:u.expiresAt}):this.keyValueStore.set(a,{value:i,expiresAt:c});let l=this.keyValueStore.get(a);return Promise.resolve({count:l.value,ttlSeconds:Math.round((l.expiresAt-Date.now())/1e3)})}throw new Xd.SystemError("The in-memory redis client only supports /rate-limit calls")}};Nn.InMemoryRedisClient=tp});var Qg=g(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.RateLimitInboundPolicy=void 0;var PR=vr(),RR=pr(),OR=Qi(),Ft=L(),xR=ge(),Kg=Ge(),Ti=ee(),Jg=Bg(),zg=Jt(),Aa=(0,PR.debug)("zuplo:policies:RateLimitInboundPolicy"),NR="strict",CR=o(e=>{let t=e.headers.get("cf-connecting-ip")??e.headers.get("true-client-ip");if(t)return t;let r=e.headers.get("x-forwarded-for");return r?r.split(",")[0]:"127.0.0.1"},"getRealIP"),LR=o(async e=>({key:`ip-${CR(e)}`}),"getIP"),DR=o(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),UR=o(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),Pa;function MR(e,t){let r;if(Pa)return Pa;if(Ti.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new Jg.InMemoryRedisClient,Pa=r,r;let{authApiJWT:n,redisURL:i}=Ti.Environment.instance;if(!(0,zg.isString)(i))throw new Ft.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,zg.isString)(n))throw new Ft.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=Jg.StandardRedisClient.initialize(i,n,Ti.Environment.instance.deploymentName??"unknown",Ti.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new Ft.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return Pa=r,r}o(MR,"getRedisClient");async function Wg(e,t,r,n,i){let s=Math.floor(t*60);return await r.fetch({url:"/rate-limit",method:"POST",body:JSON.stringify({incrBy:1,expire:s,key:e}),requestId:i})}o(Wg,"getCountAndUpdateExpiry");function kR(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new Ft.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new Ft.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new Ft.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.export must be specified`);if(r=e.identifier.module[e.identifier.export],!r||typeof r!="function")throw new Ft.ConfigurationError(`RateLimitInboundPolicy '${t}' - Custom rate limit function must be a valid function`)}return o(async(i,s,a)=>{let c=await r(i,s,a);if(!c.key){let u=`RateLimitInboundPolicy '${a}' - Custom rate limit function must return a valid key property '${JSON.stringify(c,null,2)}'`;throw s.log.error(u),new Ft.RuntimeError(u)}return c},"outerFunction")}o(kR,"wrapUserFunction");var FR="Retry-After",HR=o(async(e,t,r,n)=>{let i=Date.now(),s=Kg.SystemLogMap.getLogger(t),a=o((u,l)=>{if(r.throwOnFailure)throw new Ft.SystemError(u,{cause:l});s.error(u,l)},"throwOrLog"),c=o((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[FR]=l.toString()),xR.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:kR(r,n),user:DR,ip:LR,all:UR}[r.rateLimitBy],d=await l(e,t,n),p=d.key,y=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,m=r.headerMode??"retry-after",v=MR(n,s),S=`bucket/${Ti.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??NR)==="async"){let C=await(0,RR.getPolicyCacheName)(n,r),re=new OR.ZoneCache(C,{logger:Kg.SystemLogMap.getLogger(t)}),ne=Wg(S,h,v,s,t.requestId),fe=await re.get(S);if(fe!==void 0&&fe<=Date.now()){Aa(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${S}' (async mode)`);let Ve=Math.round((fe-Date.now())/1e3);return c(m,Ve)}return t.addEventListener("responseSending",Ve=>{try{let E=Ve,F=E.mutableResponse;E.mutableResponse=(async()=>{let Ce=await ne;if(Ce.count>y){let qc=Date.now()+Ce.ttlSeconds*1e3;return re.put(S,qc,Ce.ttlSeconds).catch($p=>{throw s.error($p),$p}),Aa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (async mode)`),c(m,Ce.ttlSeconds)}return F})()}catch(E){s.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,E)}}),e}let j=await Wg(S,h,v,s,t.requestId);return j.count>y?(Aa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (strict mode)`),c(m,j.ttlSeconds)):e}catch(u){return a(u.message,u),e}finally{let u=Date.now()-i;Aa(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");Ra.RateLimitInboundPolicy=HR});var e_=g(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.ReadmeMetricsInboundPolicy=void 0;var qR=ve(),rp=ee(),Yg=Yn(),np;function Zg(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}o(Zg,"headersToNameValuePairs");function $R(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}o($R,"queryToNameValueParis");function jR(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}o(jR,"parseIntOrUndefined");var Xg={};async function VR(e,t,r,n){let i=new Date,s=Date.now();return np||(np={name:"zuplo",version:rp.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${rp.Environment.instance.build.ZUPLO_VERSION}`}),t.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&e.user?(0,Yg.getValueFromRequestUser)(e.user,r.userLabelPropertyPath,"userLabelPropertyPath"):e.user?.sub,u=r.userEmailPropertyPath&&e.user?(0,Yg.getValueFromRequestUser)(e.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:e.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:rp.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:np,entries:[{startedDateTime:i.toISOString(),time:Date.now()-s,request:{method:e.method,url:r.useFullRequestPath?new URL(e.url).pathname:t.route.path,httpVersion:"2",headers:Zg(e.headers),queryString:$R(e.query)},response:{status:a.status,statusText:a.statusText,headers:Zg(a.headers),content:{size:jR(e.headers.get("content-length"))}}}]}}},d=Xg[r.apiKey];if(!d){let p=r.apiKey;d=new qR.BatchDispatch("readme-metering-inbound-policy",10,async y=>{try{let h=r.url??"https://metrics.readme.io/request",m=await fetch(h,{method:"POST",body:JSON.stringify(y),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});m.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${m.status}: '${await m.text()}'`)}catch(h){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),Xg[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}o(VR,"ReadmeMetricsInboundPolicy");Oa.ReadmeMetricsInboundPolicy=VR});var t_=g(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.RemoveHeadersInboundPolicy=void 0;var GR=L(),BR=Be(),KR=o(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new GR.ConfigurationError(`RemoveHeadersInboundPolicy '${n}' options.headers must be a non-empty string array of header names`);let s=new Headers(e.headers);return i.forEach(c=>{s.delete(c)}),new BR.ZuploRequest(e,{headers:s})},"RemoveHeadersInboundPolicy");xa.RemoveHeadersInboundPolicy=KR});var r_=g(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.RemoveHeadersOutboundPolicy=void 0;var JR=L(),zR=o(async(e,t,r,n,i)=>{let s=n?.headers;if(!s||!Array.isArray(s)||s.length===0)throw new JR.ConfigurationError(`RemoveHeadersOutboundPolicy '${i}' options.headers must be a non-empty string array of header names`);let a=new Headers(e.headers);return s.forEach(u=>{a.delete(u)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"RemoveHeadersOutboundPolicy");Na.RemoveHeadersOutboundPolicy=zR});var n_=g(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.RemoveQueryParamsInboundPolicy=void 0;var WR=L(),QR=Be(),YR=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new WR.ConfigurationError(`RemoveQueryParamsInboundPolicy '${n}' options.params must be a non-empty string array of header names`);let s=new URL(e.url);return i.forEach(c=>{s.searchParams.delete(c)}),new QR.ZuploRequest(s.toString(),e)},"RemoveQueryParamsInboundPolicy");Ca.RemoveQueryParamsInboundPolicy=YR});var i_=g(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.ReplaceStringOutboundPolicy=void 0;var ZR=o(async(e,t,r,n)=>{let i=await e.text(),s=n.mode==="regexp"?new RegExp(n.match,"gm"):n.match,a=i.replaceAll(s,n.replaceWith);return new Response(a,{headers:e.headers,status:e.status,statusText:e.statusText})},"ReplaceStringOutboundPolicy");La.ReplaceStringOutboundPolicy=ZR});var s_=g(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.RequestSizeLimitInboundPolicy=void 0;var o_=o(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),XR=o(async(e,t,r)=>{let n=r.trustContentLengthHeader??!1;if(["GET","HEAD"].includes(e.method))return e;let i=e.headers.get("content-length"),s=i!==null?parseInt(i):void 0;return s&&!isNaN(s)&&s>r.maxSizeInBytes?o_():s&&n?e:(await e.clone().text()).length>r.maxSizeInBytes?o_():e},"RequestSizeLimitInboundPolicy");Da.RequestSizeLimitInboundPolicy=XR});var Ua=g(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.sanitizedIdentifierName=tt.getIdForRefSchema=tt.getIdForRequestBodySchema=tt.getIdForParameterSchema=tt.getRawOperationDataIdentifierName=void 0;function e0(e,t,r){return`_${Ur(e+"_"+t+"_"+r)}`}o(e0,"getRawOperationDataIdentifierName");tt.getRawOperationDataIdentifierName=e0;function t0(e,t,r,n){return`_${Ur(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o(t0,"getIdForParameterSchema");tt.getIdForParameterSchema=t0;function r0(e,t,r){return`_${Ur(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${Ur(r.toLowerCase())}`}o(r0,"getIdForRequestBodySchema");tt.getIdForRequestBodySchema=r0;function n0(e,t){return`_${Ur(e)}__${Ur(t)}`}o(n0,"getIdForRefSchema");tt.getIdForRefSchema=n0;function Ur(e){let t=[];for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);n>="0".charCodeAt(0)&&n<="9".charCodeAt(0)||n>="A".charCodeAt(0)&&n<="Z".charCodeAt(0)||n>="a".charCodeAt(0)&&n<="z".charCodeAt(0)?t.push(e.charAt(r)):t.push("_")}return t.join("")}o(Ur,"sanitizedIdentifierName");tt.sanitizedIdentifierName=Ur});var Si=g(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.getErrorsFromValidator=Le.shouldReject=Le.shouldLog=Le.logErrors=Le.validateParameters=Le.getParametersForOperation=void 0;var i0=pn(),o0=Ua(),s0=o(e=>{let t=e.route.raw();return t.parameters?t.parameters.map(n=>({name:n.name,location:n.in,required:n.required,deprecated:n.deprecated,allowEmptyValue:n.allowEmptyValue})):[]},"getParametersForOperation");Le.getParametersForOperation=s0;var a0=o((e,t,r,n,i)=>{let s=[],a=!0,c=[];return e.forEach(u=>{if(u.required&&!t[u.name])a=!1,s.push(`Required ${i} parameter '${u.name}' not found`);else{let l=(0,o0.getIdForParameterSchema)(r,n,i,u.name),d=i0.Gateway.instance.schemaValidator[l],p=d(t[u.name]),y=(0,Le.getErrorsFromValidator)(d.errors);p||(a=!1,c.push(`${i} parameter: ${u.name} : ${t[u.name]}`),s.push(`Invalid value for ${i} parameter: '${u.name}' ${y.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateParameters");Le.validateParameters=a0;var c0=o((e,t,r,n,i)=>{n?e.log[t](r,n,i):e.log[t](r,i)},"logErrors");Le.logErrors=c0;var u0=o(e=>e==="log-only"||e==="reject-and-log","shouldLog");Le.shouldLog=u0;var l0=o(e=>e==="reject-only"||e==="reject-and-log","shouldReject");Le.shouldReject=l0;var d0=o(e=>e?.map(t=>t.instancePath===void 0||t.instancePath===""?t.message??"Unknown validation error":t.instancePath.replace("/","")+" "+t.message)??["Unknown validation error"],"getErrorsFromValidator");Le.getErrorsFromValidator=d0});var a_=g(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.handleBodyValidation=void 0;var p0=pn(),Ma=ge(),h0=Ua(),Je=Si();async function f0(e,t,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await t.clone().json()}catch(h){let m=`Error in request body for method : ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,v=Ma.HttpProblems.badRequest(t,e,{detail:`${m}, see errors property for more details`,errors:`${h}`});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",m,[n],h),(0,Je.shouldReject)(r.validateBody))return v}if(!t.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${t.method} in route: ${e.route.path}`,m=Ma.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?m:void 0}let i=t.headers.get("Content-Type"),s=i.indexOf(";");s>-1&&(i=i.substring(0,s));let a=(0,h0.getIdForRequestBodySchema)(e.route.path,t.method,i),c=p0.Gateway.instance.schemaValidator[a];if(!c){let h=`No schema defined for method: ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,m=Ma.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?m:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,Je.getErrorsFromValidator)(l),y=Ma.HttpProblems.badRequest(t,e,{detail:`${d}, see errors property for more details`,errors:p});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",d,[n],p),(0,Je.shouldReject)(r.validateBody))return y}o(f0,"handleBodyValidation");ka.handleBodyValidation=f0});var c_=g(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.handleHeadersValidation=void 0;var m0=ge(),Ii=Si();function y0(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,Ii.getParametersForOperation)(e),s=(0,Ii.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!s.isValid){let a="Header validation failed",c=m0.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:s.errors});if((0,Ii.shouldLog)(r.validateHeaders)&&(0,Ii.logErrors)(e,r.logLevel??"info",a,s.invalidValues,s.errors),(0,Ii.shouldReject)(r.validateHeaders))return c}}o(y0,"handleHeadersValidation");Fa.handleHeadersValidation=y0});var u_=g(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.handlePathParameterValidation=void 0;var g0=ge(),Ai=Si();function _0(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,Ai.getParametersForOperation)(e),i=(0,Ai.validateParameters)(n.filter(s=>s.location==="path"),t.params,e.route.path,t.method.toLowerCase(),"path");if(!i.isValid){let s="Path parameters validation failed",a=g0.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Ai.shouldLog)(r.validatePathParameters)&&(0,Ai.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Ai.shouldReject)(r.validatePathParameters))return a}}o(_0,"handlePathParameterValidation");Ha.handlePathParameterValidation=_0});var l_=g(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.handleQueryParameterValidation=void 0;var b0=ge(),Pi=Si();function E0(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,Pi.getParametersForOperation)(e),i=(0,Pi.validateParameters)(n.filter(s=>s.location==="query"),t.query,e.route.path,t.method.toLowerCase(),"query");if(!i.isValid){let s="Query parameters validation failed",a=b0.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Pi.shouldLog)(r.validateQueryParameters)&&(0,Pi.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Pi.shouldReject)(r.validateQueryParameters))return a}}o(E0,"handleQueryParameterValidation");qa.handleQueryParameterValidation=E0});var d_=g(Mr=>{"use strict";Object.defineProperty(Mr,"__esModule",{value:!0});Mr.SchemaBasedRequestValidation=Mr.RequestValidationInboundPolicy=void 0;var w0=a_(),v0=c_(),T0=u_(),S0=l_(),I0=o(async(e,t,r)=>{let n=(0,S0.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,T0.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,v0.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,w0.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");Mr.RequestValidationInboundPolicy=I0;Mr.SchemaBasedRequestValidation=Mr.RequestValidationInboundPolicy});var p_=g($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.RequireOriginInboundPolicy=void 0;var A0=L(),P0=ge(),R0=o(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new A0.ConfigurationError(`RequireOriginInboundPolicy '${n}' configuration error - no allowed origins specified`);let i=typeof r.origins=="string"?r.origins.split(","):r.origins;i=i.map(a=>a.trim());let s=e.headers.get("origin");if(!s||!i.includes(s)){let a=r.failureDetail??"Forbidden";return P0.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");$a.RequireOriginInboundPolicy=R0});var h_=g(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.SetBodyInboundPolicy=void 0;var O0=Be(),x0=o(async(e,t,r)=>new O0.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");ja.SetBodyInboundPolicy=x0});var m_=g(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.SetHeadersInboundPolicy=void 0;var f_=L(),N0=Be(),C0=o(async(e,t,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new f_.ConfigurationError(`SetHeadersInboundPolicy '${n}' options.headers must be a valid array of { name, value }`);let s=new Headers(e.headers);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new f_.ConfigurationError(`SetHeadersInboundPolicy '${n}' each option.headers[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!s.has(c.name)||u)&&s.set(c.name,c.value)}),new N0.ZuploRequest(e,{headers:s})},"SetHeadersInboundPolicy");Va.SetHeadersInboundPolicy=C0});var g_=g(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.SetHeadersOutboundPolicy=void 0;var y_=L(),L0=o(async(e,t,r,n,i)=>{let s=n.headers;if(!s||!Array.isArray(s)||s.length==0)throw new y_.ConfigurationError(`SetHeadersOutboundPolicy '${i}' options.headers must be a valid array of { name, value }`);let a=new Headers(e.headers);return s.forEach(u=>{if(!u.name||u.name.length===0)throw new y_.ConfigurationError(`SetHeadersOutboundPolicy '${i}' each option.headers[] entry must have a name property`);let l=u.overwrite===void 0?!0:u.overwrite;(!a.has(u.name)||l)&&a.set(u.name,u.value)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"SetHeadersOutboundPolicy");Ga.SetHeadersOutboundPolicy=L0});var b_=g(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.SetQueryParamsInboundPolicy=void 0;var __=L(),D0=Be(),U0=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new __.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' options.params must be a valid array of { name, value }`);let s=new URL(e.url);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new __.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' each option.params[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!s.searchParams.has(c.name)||u)&&s.searchParams.set(c.name,c.value)}),new D0.ZuploRequest(s.toString(),e)},"SetQueryParamsInboundPolicy");Ba.SetQueryParamsInboundPolicy=U0});var E_=g(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.SetStatusOutboundPolicy=void 0;var M0=o(async(e,t,r,n,i)=>{if(!n.status||isNaN(n.status)||n.status<100||n.status>599)throw new Error(`Invalid SetStatusOutboundPolicy '${i}' - status must be a valid number between 100 and 599, not '${n.status}'`);return new Response(e.body,{headers:e.headers,status:n.status,statusText:n.statusText??e.statusText})},"SetStatusOutboundPolicy");Ka.SetStatusOutboundPolicy=M0});var w_=g(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.SleepInboundPolicy=void 0;var k0=L(),F0=o(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),H0=o(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new k0.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await F0(r.sleepInMs),e},"SleepInboundPolicy");Ja.SleepInboundPolicy=H0});var T_=g(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.SupabaseJwtInboundPolicy=void 0;var v_=L(),q0=ge(),$0=Be(),j0=hr(),V0=kt(),G0=o(async(e,t,r,n)=>{(0,j0.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},s=await(0,V0.OpenIdJwtInboundPolicy)(e,t,i,n);if(s instanceof Response)return s;if(!(s instanceof $0.ZuploRequest))throw new v_.SystemError("Invalid State - SupabaseJwtInboundPolicy encountered a non-response that wasn't a ZuploRequest type')");let a=r.requiredClaims;if(!a)return s;let c=e.user?.data.app_metadata;if(!c)throw new v_.RuntimeError(`SupabaseJwtInboundPolicy policy '${n}' - has requiredClaims but the JWT token had no app_metadata property`);let u=Object.keys(a),l=[];return u.forEach(d=>{let p=a[d];Array.isArray(p)?p.includes(c[d])||l.push(d):p!==c[d]&&l.push(d)}),l.length>0?q0.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):s},"SupabaseJwtInboundPolicy");za.SupabaseJwtInboundPolicy=G0});var I_=g(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var B0=pr(),K0=Er(),S_=L(),J0=Ge(),z0=ys(),W0=hr(),Q0=o(async(e,t,r,n)=>{(0,W0.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,B0.getPolicyCacheName)(n,r),s=new K0.MemoryZoneReadThroughCache(i,{logger:J0.SystemLogMap.getLogger(t)}),a=await s.get(n);if(!a){let c=await Y0(r,t);s.put(n,c.access_token,c.expires_in-(r.expirationOffsetSeconds??300)),a=c.access_token}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamAzureAdServiceAuthInboundPolicy");Wa.UpstreamAzureAdServiceAuthInboundPolicy=Q0;async function Y0(e,t){let r=new URLSearchParams({client_id:e.activeDirectoryClientId,scope:`${e.activeDirectoryClientId}/.default`,client_secret:e.activeDirectoryClientSecret,grant_type:"client_credentials"}),n=await(0,z0.fetchRetry)({retries:e.tokenRetries??3,retryDelayMs:10},`https://login.microsoftonline.com/${e.activeDirectoryTenantId}/oauth2/v2.0/token`,{headers:{"content-type":"application/x-www-form-urlencoded"},method:"POST",body:r});if(n.status!==200){try{let s=await n.text();t.log.error("Could not get token from Azure AD",s)}catch{}throw new S_.RuntimeError("Could not get token from Azure AD")}let i=await n.json();if(i&&typeof i=="object"&&"access_token"in i&&typeof i.access_token=="string"&&"expires_in"in i&&typeof i.expires_in=="number")return{access_token:i.access_token,expires_in:i.expires_in};throw new S_.RuntimeError("Response returned from Azure AD is not in the expected format.")}o(Y0,"getAccessToken")});var P_=g(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var Z0=pr(),X0=Er(),eO=L(),tO=Ge(),ip=un(),rO=hr(),A_="https://accounts.google.com/o/oauth2/token",op,nO=o(async(e,t,r,n)=>{(0,rO.optionValidator)(r,n).required("serviceAccountJson","string"),op||(op=await ip.GcpServiceAccount.init(r.serviceAccountJson));let i={scope:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/firebase.database","https://www.googleapis.com/auth/firebase.messaging","https://www.googleapis.com/auth/identitytoolkit","https://www.googleapis.com/auth/userinfo.email"].join(" ")},s=await(0,Z0.getPolicyCacheName)(n,r),a=new X0.MemoryZoneReadThroughCache(s,{logger:tO.SystemLogMap.getLogger(t)}),c=await a.get(n);if(!c){let u=await(0,ip.getTokenFromGcpServiceAccount)({serviceAccount:op,audience:A_,payload:i}),l=await(0,ip.exchangeGgpJwtForIdToken)(A_,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new eO.RuntimeError("Invalid OAuth response from Firebase");c=l.access_token,a.put(n,c,(l.expires_in??3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${c}`),e},"UpstreamFirebaseAdminAuthInboundPolicy");Qa.UpstreamFirebaseAdminAuthInboundPolicy=nO});var R_=g(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.UpstreamFirebaseUserAuthInboundPolicy=void 0;var iO=pr(),oO=Er(),Cn=L(),sO=Ge(),aO=qd(),sp=un(),cO=Yn(),uO=hr(),lO="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",dO=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],ap,pO=o(async(e,t,r,n)=>{if((0,uO.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new Cn.ConfigurationError(`Either 'userId' or 'userIdPropertyPath' options must be set on policy '${n}'.`);let i={};if(typeof r.developerClaims<"u"){for(let p in r.developerClaims)if(Object.prototype.hasOwnProperty.call(r.developerClaims,p)){if(dO.indexOf(p)!==-1)throw new Cn.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}ap||(ap=await sp.GcpServiceAccount.init(r.serviceAccountJson));let s=r.userId;if(!s&&!r.userIdPropertyPath){if(!e.user)throw new Cn.RuntimeError("Unable to set userId for upstream auth policy as request.user is 'undefined'. Do you have an authentication policy before this policy?.");s=e.user?.sub}else if(r.userIdPropertyPath){if(!e.user)throw new Cn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);s=(0,cO.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!s)throw new Cn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,iO.getPolicyCacheName)(n,r),c=new oO.MemoryZoneReadThroughCache(a,{logger:sO.SystemLogMap.getLogger(t)}),u={uid:s,claims:i},l=await(0,aO.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,sp.getTokenFromGcpServiceAccount)({serviceAccount:ap,audience:lO,payload:u}),y=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,sp.exchangeFirebaseJwtForIdToken)(y,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new Cn.RuntimeError("Invalid token response from Firebase");d=h.idToken,c.put(l,d,(h.expiresIn?parseInt(h.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${d}`),e},"UpstreamFirebaseUserAuthInboundPolicy");Ya.UpstreamFirebaseUserAuthInboundPolicy=pO});var x_=g(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.UpstreamGcpJwtInboundPolicy=void 0;var O_=un(),hO=hr(),cp,fO=o(async(e,t,r,n)=>{(0,hO.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),cp||(cp=await O_.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,O_.getTokenFromGcpServiceAccount)({serviceAccount:cp,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");Za.UpstreamGcpJwtInboundPolicy=fO});var C_=g(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.UpstreamGcpServiceAuthInboundPolicy=void 0;var mO=pr(),yO=Jc(),gO=Er(),_O=L(),up=un(),bO=hr(),N_="https://www.googleapis.com/oauth2/v4/token",lp,EO=o(async(e,t,r,n)=>{(0,bO.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),lp||(lp=await up.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,mO.getPolicyCacheName)(n,r),s;r.useMemoryCacheOnly?s=new yO.MemoryCache(i):s=new gO.MemoryZoneReadThroughCache(i,t);let a=await s.get(n);if(!a){let c=await(0,up.getTokenFromGcpServiceAccount)({serviceAccount:lp,audience:N_,payload:{target_audience:`${r.audience}`}}),{id_token:u}=await(0,up.exchangeGgpJwtForIdToken)(N_,c,{retries:r.tokenRetries??3,retryDelayMs:10});if(!u)throw new _O.RuntimeError("Invalid token response from GCP");a=u,s.put(n,a,3600-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamGcpServiceAuthInboundPolicy");Xa.UpstreamGcpServiceAuthInboundPolicy=EO});var D_=g(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.ValidateJsonSchemaInbound=void 0;var wO=L(),L_=ge(),vO=o(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return L_.HttpProblems.badRequest(e,t,{detail:"Invalid JSON body - expected well-formed JSON document"})}if(r.validator(i))return e;let{errors:a}=r.validator;if(!a)throw new wO.SystemError("Invalid state - validator error object is undefined even though validation failed.");let c=a.map(u=>u.instancePath===void 0||u.instancePath===""?"Body "+u.message:u.instancePath.replace("/","")+" "+u.message);return L_.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");ec.ValidateJsonSchemaInbound=vO});var U_=g(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.ServiceProviderImpl=void 0;var TO=L(),dp=class e{static{o(this,"ServiceProviderImpl")}static#e;services=new Map;constructor(){}static getInstance(){return e.#e||(e.#e=new e),e.#e}setInstance(t){e.#e=t}addService(t,r){if(this.services.get(t))throw new TO.SystemError(`A service with the name ${t} already exists -- you cannot have duplicate services`);this.services.set(t,r)}getService(t){return this.services.get(t)}};tc.ServiceProviderImpl=dp});var J_=g(f=>{"use strict";var SO=f&&f.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),M_=f&&f.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&SO(t,e,r)},IO=f&&f.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0});f.RemoveHeadersInboundPolicy=f.ReadmeMetricsInboundPolicy=f.RateLimitInboundPolicy=f.BasicRateLimitInboundPolicy=f.PropelAuthJwtInboundPolicy=f.OpenIdJwtInboundPolicy=f.OktaJwtInboundPolicy=f.setMoesifContext=f.MoesifInboundPolicy=f.MockApiInboundPolicy=f.JWTScopeValidationInboundPolicy=f.GeoFilterInboundPolicy=f.FormDataToJsonInboundPolicy=f.FirebaseJwtInboundPolicy=f.CompositeInboundPolicy=f.CognitoJwtInboundPolicy=f.ClerkJwtInboundPolicy=f.ClearHeadersOutboundPolicy=f.ClearHeadersInboundPolicy=f.ChangeMethodInboundPolicy=f.CachingInboundPolicy=f.BasicAuthInboundPolicy=f.Auth0JwtInboundPolicy=f.ApiKeyInboundPolicy=f.ApiAuthKeyInboundPolicy=f.AmberfloMeteringPolicy=f.AmberfloMeteringInboundPolicy=f.AuditLogPlugin=f.AuditLogDataStaxProvider=f.HttpStatusCode=f.webSocketPipelineHandler=f.webSocketHandler=f.urlRewriteHandler=f.urlForwardHandler=f.redirectHandler=f.openApiSpecHandler=f.awsLambdaHandler=f.AwsLambdaHandlerExtensions=f.purgeGatewayCache=f.Handler=f.originalFetch=f.ConfigurationError=f.isZuploReadableEnvVariableName=f.isRestrictedEnvVariableName=f.environment=f.ContextData=f.ResponseSentEvent=f.ResponseSendingEvent=f.ZoneCache=f.MemoryZoneReadThroughCache=void 0;f.sanitizedIdentifierName=f.getRawOperationDataIdentifierName=f.getIdForRequestBodySchema=f.getIdForRefSchema=f.getIdForParameterSchema=f.SystemLogMap=f.httpStatuses=f.SYSTEM_LOGGER=f.API_KEY=f.ServiceProviderImpl=f.serialize=f.ContentTypes=f.Router=f.LookupResult=f.SystemRouteName=f.ZuploRequest=f.ProblemResponseFormatter=f.HttpProblems=f.ValidateJsonSchemaInbound=f.UpstreamGcpServiceAuthInboundPolicy=f.UpstreamGcpJwtInboundPolicy=f.UpstreamFirebaseUserAuthInboundPolicy=f.UpstreamFirebaseAdminAuthInboundPolicy=f.UpstreamAzureAdServiceAuthInboundPolicy=f.SupabaseJwtInboundPolicy=f.SleepInboundPolicy=f.SetStatusOutboundPolicy=f.SetQueryParamsInboundPolicy=f.SetHeadersOutboundPolicy=f.SetHeadersInboundPolicy=f.SetBodyInboundPolicy=f.RequireOriginInboundPolicy=f.SchemaBasedRequestValidation=f.RequestValidationInboundPolicy=f.RequestSizeLimitInboundPolicy=f.ReplaceStringOutboundPolicy=f.RemoveQueryParamsInboundPolicy=f.RemoveHeadersOutboundPolicy=void 0;Jp();var AO=Er();Object.defineProperty(f,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return AO.MemoryZoneReadThroughCache}});var PO=Qi();Object.defineProperty(f,"ZoneCache",{enumerable:!0,get:function(){return PO.ZoneCache}});var k_=Tr();Object.defineProperty(f,"ResponseSendingEvent",{enumerable:!0,get:function(){return k_.ResponseSendingEvent}});Object.defineProperty(f,"ResponseSentEvent",{enumerable:!0,get:function(){return k_.ResponseSentEvent}});var RO=py();Object.defineProperty(f,"ContextData",{enumerable:!0,get:function(){return RO.ContextData}});var pp=id();Object.defineProperty(f,"environment",{enumerable:!0,get:function(){return pp.environment}});Object.defineProperty(f,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return pp.isRestrictedEnvVariableName}});Object.defineProperty(f,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return pp.isZuploReadableEnvVariableName}});var OO=L();Object.defineProperty(f,"ConfigurationError",{enumerable:!0,get:function(){return OO.ConfigurationError}});var xO=sd();Object.defineProperty(f,"originalFetch",{enumerable:!0,get:function(){return xO.originalFetch}});var F_=wy();Object.defineProperty(f,"Handler",{enumerable:!0,get:function(){return F_.Handler}});Object.defineProperty(f,"purgeGatewayCache",{enumerable:!0,get:function(){return F_.purgeGatewayCache}});var H_=Fy();Object.defineProperty(f,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return H_.AwsLambdaHandlerExtensions}});Object.defineProperty(f,"awsLambdaHandler",{enumerable:!0,get:function(){return H_.awsLambdaHandler}});var NO=qy();Object.defineProperty(f,"openApiSpecHandler",{enumerable:!0,get:function(){return NO.openApiSpecHandler}});var CO=$y();Object.defineProperty(f,"redirectHandler",{enumerable:!0,get:function(){return CO.redirectHandler}});var LO=Vy();Object.defineProperty(f,"urlForwardHandler",{enumerable:!0,get:function(){return LO.urlForwardHandler}});var DO=By();Object.defineProperty(f,"urlRewriteHandler",{enumerable:!0,get:function(){return DO.urlRewriteHandler}});var UO=Jy();Object.defineProperty(f,"webSocketHandler",{enumerable:!0,get:function(){return UO.webSocketHandler}});var MO=Qy();Object.defineProperty(f,"webSocketPipelineHandler",{enumerable:!0,get:function(){return MO.webSocketPipelineHandler}});var kO=mu();Object.defineProperty(f,"HttpStatusCode",{enumerable:!0,get:function(){return kO.HttpStatusCode}});M_(ig(),f);M_(ag(),f);var FO=cg();Object.defineProperty(f,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return FO.AuditLogDataStaxProvider}});var HO=lg();Object.defineProperty(f,"AuditLogPlugin",{enumerable:!0,get:function(){return HO.AuditLogPlugin}});var q_=mg();Object.defineProperty(f,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return q_.AmberfloMeteringInboundPolicy}});Object.defineProperty(f,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return q_.AmberfloMeteringPolicy}});var qO=bg();Object.defineProperty(f,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return qO.ApiAuthKeyInboundPolicy}});var $O=Gd();Object.defineProperty(f,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return $O.ApiKeyInboundPolicy}});var jO=Eg();Object.defineProperty(f,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return jO.Auth0JwtInboundPolicy}});var VO=wg();Object.defineProperty(f,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return VO.BasicAuthInboundPolicy}});var GO=vg();Object.defineProperty(f,"CachingInboundPolicy",{enumerable:!0,get:function(){return GO.CachingInboundPolicy}});var BO=Tg();Object.defineProperty(f,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return BO.ChangeMethodInboundPolicy}});var KO=Sg();Object.defineProperty(f,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return KO.ClearHeadersInboundPolicy}});var JO=Ig();Object.defineProperty(f,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return JO.ClearHeadersOutboundPolicy}});var zO=Ag();Object.defineProperty(f,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return zO.ClerkJwtInboundPolicy}});var WO=Rg();Object.defineProperty(f,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return WO.CognitoJwtInboundPolicy}});var QO=xg();Object.defineProperty(f,"CompositeInboundPolicy",{enumerable:!0,get:function(){return QO.CompositeInboundPolicy}});var YO=Ng();Object.defineProperty(f,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return YO.FirebaseJwtInboundPolicy}});var ZO=Cg();Object.defineProperty(f,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return ZO.FormDataToJsonInboundPolicy}});var XO=Lg();Object.defineProperty(f,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return XO.GeoFilterInboundPolicy}});var ex=Dg();Object.defineProperty(f,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return ex.JWTScopeValidationInboundPolicy}});var tx=Mg();Object.defineProperty(f,"MockApiInboundPolicy",{enumerable:!0,get:function(){return tx.MockApiInboundPolicy}});var $_=$g();Object.defineProperty(f,"MoesifInboundPolicy",{enumerable:!0,get:function(){return $_.MoesifInboundPolicy}});Object.defineProperty(f,"setMoesifContext",{enumerable:!0,get:function(){return $_.setMoesifContext}});var rx=jg();Object.defineProperty(f,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return rx.OktaJwtInboundPolicy}});var nx=kt();Object.defineProperty(f,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return nx.OpenIdJwtInboundPolicy}});var ix=Vg();Object.defineProperty(f,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return ix.PropelAuthJwtInboundPolicy}});var j_=Qg();Object.defineProperty(f,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return j_.RateLimitInboundPolicy}});Object.defineProperty(f,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return j_.RateLimitInboundPolicy}});var ox=e_();Object.defineProperty(f,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return ox.ReadmeMetricsInboundPolicy}});var sx=t_();Object.defineProperty(f,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return sx.RemoveHeadersInboundPolicy}});var ax=r_();Object.defineProperty(f,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return ax.RemoveHeadersOutboundPolicy}});var cx=n_();Object.defineProperty(f,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return cx.RemoveQueryParamsInboundPolicy}});var ux=i_();Object.defineProperty(f,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return ux.ReplaceStringOutboundPolicy}});var lx=s_();Object.defineProperty(f,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return lx.RequestSizeLimitInboundPolicy}});var V_=d_();Object.defineProperty(f,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return V_.RequestValidationInboundPolicy}});Object.defineProperty(f,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return V_.SchemaBasedRequestValidation}});var dx=p_();Object.defineProperty(f,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return dx.RequireOriginInboundPolicy}});var px=h_();Object.defineProperty(f,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return px.SetBodyInboundPolicy}});var hx=m_();Object.defineProperty(f,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return hx.SetHeadersInboundPolicy}});var fx=g_();Object.defineProperty(f,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return fx.SetHeadersOutboundPolicy}});var mx=b_();Object.defineProperty(f,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return mx.SetQueryParamsInboundPolicy}});var yx=E_();Object.defineProperty(f,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return yx.SetStatusOutboundPolicy}});var gx=w_();Object.defineProperty(f,"SleepInboundPolicy",{enumerable:!0,get:function(){return gx.SleepInboundPolicy}});var _x=T_();Object.defineProperty(f,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return _x.SupabaseJwtInboundPolicy}});var bx=I_();Object.defineProperty(f,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return bx.UpstreamAzureAdServiceAuthInboundPolicy}});var Ex=P_();Object.defineProperty(f,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return Ex.UpstreamFirebaseAdminAuthInboundPolicy}});var wx=R_();Object.defineProperty(f,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return wx.UpstreamFirebaseUserAuthInboundPolicy}});var vx=x_();Object.defineProperty(f,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return vx.UpstreamGcpJwtInboundPolicy}});var Tx=C_();Object.defineProperty(f,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return Tx.UpstreamGcpServiceAuthInboundPolicy}});var Sx=D_();Object.defineProperty(f,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return Sx.ValidateJsonSchemaInbound}});var Ix=ge();Object.defineProperty(f,"HttpProblems",{enumerable:!0,get:function(){return Ix.HttpProblems}});var Ax=oo();Object.defineProperty(f,"ProblemResponseFormatter",{enumerable:!0,get:function(){return Ax.ProblemResponseFormatter}});var Px=Be();Object.defineProperty(f,"ZuploRequest",{enumerable:!0,get:function(){return Px.ZuploRequest}});var Rx=Ar();Object.defineProperty(f,"SystemRouteName",{enumerable:!0,get:function(){return Rx.SystemRouteName}});var G_=Wl();Object.defineProperty(f,"LookupResult",{enumerable:!0,get:function(){return G_.LookupResult}});Object.defineProperty(f,"Router",{enumerable:!0,get:function(){return G_.Router}});var B_=au();Object.defineProperty(f,"ContentTypes",{enumerable:!0,get:function(){return B_.ContentTypes}});Object.defineProperty(f,"serialize",{enumerable:!0,get:function(){return B_.serialize}});var Ox=U_();Object.defineProperty(f,"ServiceProviderImpl",{enumerable:!0,get:function(){return Ox.ServiceProviderImpl}});var K_=Ou();Object.defineProperty(f,"API_KEY",{enumerable:!0,get:function(){return K_.API_KEY}});Object.defineProperty(f,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return K_.SYSTEM_LOGGER}});var xx=gu();Object.defineProperty(f,"httpStatuses",{enumerable:!0,get:function(){return IO(xx).default}});var Nx=Ge();Object.defineProperty(f,"SystemLogMap",{enumerable:!0,get:function(){return Nx.SystemLogMap}});var Ri=Ua();Object.defineProperty(f,"getIdForParameterSchema",{enumerable:!0,get:function(){return Ri.getIdForParameterSchema}});Object.defineProperty(f,"getIdForRefSchema",{enumerable:!0,get:function(){return Ri.getIdForRefSchema}});Object.defineProperty(f,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return Ri.getIdForRequestBodySchema}});Object.defineProperty(f,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return Ri.getRawOperationDataIdentifierName}});Object.defineProperty(f,"sanitizedIdentifierName",{enumerable:!0,get:function(){return Ri.sanitizedIdentifierName}})});var z_=g(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.BaseCryptoBeta=Ln.supportedDigests=void 0;Ln.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var hp=class{static{o(this,"BaseCryptoBeta")}};Ln.BaseCryptoBeta=hp});var W_=g(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.WorkerCryptoBeta=void 0;var fp=z_(),Cx=L(),mp=class extends fp.BaseCryptoBeta{static{o(this,"WorkerCryptoBeta")}async digest(t,r){if(!fp.supportedDigests.includes(t.toLowerCase()))throw new Cx.RuntimeError(`Algorithm ${t} is not supported. Try using ${fp.supportedDigests.join(", ")}`);let n=new TextEncoder().encode(r),i=await crypto.subtle.digest(t,n);return Array.from(new Uint8Array(i)).map(c=>c.toString(16).padStart(2,"0")).join("")}};rc.WorkerCryptoBeta=mp});var Q_=g(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.BaseKeyValueStore=void 0;var yp=class{static{o(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};nc.BaseKeyValueStore=yp});var Z_=g(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.WorkerKeyValueStore=void 0;var Y_=L(),Lx=Q_(),gp=class extends Lx.BaseKeyValueStore{static{o(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new Y_.FeatureNotEnabledError("The Key Value Store feature is not enabled for this project.");this.#e=n}put(t,r,n){if(typeof t!="string")throw new Y_.ConfigurationError("value must be of type string");return this.#e.put(t,r,n?{expirationTtl:n.expirationSecondsTtl}:void 0)}get(t,r){return this.#e.get(t,{type:"text",cacheTtl:r?.cacheSecondsTtl})}delete(t){return this.#e.delete(t)}};ic.WorkerKeyValueStore=gp});var xt=g(ct=>{"use strict";var Dx=ct&&ct.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Ux=ct&&ct.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Dx(t,e,r)};Object.defineProperty(ct,"__esModule",{value:!0});ct.KeyValueStore=ct.CryptoBeta=void 0;Ux(J_(),ct);var Mx=W_();Object.defineProperty(ct,"CryptoBeta",{enumerable:!0,get:function(){return Mx.WorkerCryptoBeta}});var kx=Z_();Object.defineProperty(ct,"KeyValueStore",{enumerable:!0,get:function(){return kx.WorkerKeyValueStore}})});var GN={};Gi(GN,{GraphQLComplexityLimitInboundPolicy:()=>xb,GraphQLDisableIntrospectionInboundPolicy:()=>Cb});module.exports=Bi(GN);var Bn=Vp(xt());function B(e,t){if(!!!e)throw new Error(t)}o(B,"devAssert");function Ee(e){return typeof e=="object"&&e!==null}o(Ee,"isObjectLike");function St(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}o(St,"invariant");var Fx=/\r\n|[\n\r]/g;function Dn(e,t){let r=0,n=1;for(let i of e.body.matchAll(Fx)){if(typeof i.index=="number"||St(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}o(Dn,"getLocation");function _p(e){return oc(e.source,Dn(e.source,e.start))}o(_p,"printLocation");function oc(e,t){let r=e.locationOffset.column-1,n="".padStart(r)+e.body,i=t.line-1,s=e.locationOffset.line-1,a=t.line+s,c=t.line===1?r:0,u=t.column+c,l=`${e.name}:${a}:${u}
66
- `,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let y=Math.floor(u/80),h=u%80,m=[];for(let v=0;v<p.length;v+=80)m.push(p.slice(v,v+80));return l+X_([[`${a} |`,m[0]],...m.slice(1,y+1).map(v=>["|",v]),["|","^".padStart(h)],["|",m[y+1]]])}return l+X_([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}o(oc,"printSourceLocation");function X_(e){let t=e.filter(([n,i])=>i!==void 0),r=Math.max(...t.map(([n])=>n.length));return t.map(([n,i])=>n.padStart(r)+(i?" "+i:"")).join(`
67
- `)}o(X_,"printPrefixedLines");function Hx(e){let t=e[0];return t==null||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}o(Hx,"toNormalizedOptions");var N=class e extends Error{static{o(this,"GraphQLError")}constructor(t,...r){var n,i,s;let{nodes:a,source:c,positions:u,path:l,originalError:d,extensions:p}=Hx(r);super(t),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=eb(Array.isArray(a)?a:a?[a]:void 0);let y=eb((n=this.nodes)===null||n===void 0?void 0:n.map(m=>m.loc).filter(m=>m!=null));this.source=c??(y==null||(i=y[0])===null||i===void 0?void 0:i.source),this.positions=u??y?.map(m=>m.start),this.locations=u&&c?u.map(m=>Dn(c,m)):y?.map(m=>Dn(m.source,m.start));let h=Ee(d?.extensions)?d?.extensions:void 0;this.extensions=(s=p??h)!==null&&s!==void 0?s:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),d!=null&&d.stack?Object.defineProperty(this,"stack",{value:d.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let t=this.message;if(this.nodes)for(let r of this.nodes)r.loc&&(t+=`
63
+ `)}async hexBodyHash(){let t=this.headers.get("X-Amz-Content-Sha256");if(t==null){if(this.body&&typeof this.body!="string"&&!("byteLength"in this.body))throw new xy.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");t=pd(await Ry(this.body||""))}return t}};gn.AwsV4Signer=Us;async function gi(e,t){let r=await crypto.subtle.importKey("raw",typeof e=="string"?hd.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,hd.encode(t))}o(gi,"hmac");async function Ry(e){return crypto.subtle.digest("SHA-256",typeof e=="string"?hd.encode(e):e)}o(Ry,"hash");function pd(e){return Array.prototype.map.call(new Uint8Array(e),t=>("0"+t.toString(16)).slice(-2)).join("")}o(pd,"buf2hex");function Oy(e){return e.replace(/[!'()*]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}o(Oy,"encodeRfc3986");function SI(e,t){let{hostname:r,pathname:n}=e,i=r.replace("dualstack.","").match(/([^.]+)\.(?:([^.]*)\.)?amazonaws\.com(?:\.cn)?$/),[s,a]=(i||["",""]).slice(1,3);if(a==="us-gov")a="us-gov-west-1";else if(a==="s3"||a==="s3-accelerate")a="us-east-1",s="s3";else if(s==="iot")r.startsWith("iot.")?s="execute-api":r.startsWith("data.jobs.iot.")?s="iot-jobs-data":s=n==="/mqtt"?"iotdevicegateway":"iotdata";else if(s==="autoscaling"){let c=(t.get("X-Amz-Target")||"").split(".")[0];c==="AnyScaleFrontendService"?s="application-autoscaling":c==="AnyScaleScalingPlannerFrontendService"&&(s="autoscaling-plans")}else a==null&&s.startsWith("s3-")?(a=s.slice(3).replace(/^fips-|^external-1/,""),s="s3"):s.endsWith("-fips")?s=s.slice(0,-5):a&&/-\d$/.test(s)&&!/-\d$/.test(a)&&([s,a]=[a,s]);return s in Py?[Py[s],a]:[s,a]}o(SI,"guessServiceRegion")});var Ny=g(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.convertStringToUtf8Array=Tt.convertUtf8ArrayToString=Tt.base64Encode=Tt.base64Decode=void 0;function II(e){return e>64&&e<91?e-65:e>96&&e<123?e-71:e>47&&e<58?e+4:e===43?62:e===47?63:0}o(II,"b64ToUint6");function AI(e,t){let r=e.replace(/[^A-Za-z0-9+/]/g,""),n=r.length,i=t?Math.ceil((n*3+1>>2)/t)*t:n*3+1>>2,s=new Uint8Array(i),a,c,u=0,l=0;for(let d=0;d<n;d++)if(c=d&3,u|=II(r.charCodeAt(d))<<6*(3-c),c===3||n-d===1){for(a=0;a<3&&l<i;)s[l]=u>>>(16>>>a&24)&255,a++,l++;u=0}return s}o(AI,"base64Decode");Tt.base64Decode=AI;function Ms(e){return e<26?e+65:e<52?e+71:e<62?e-4:e===62?43:e===63?47:65}o(Ms,"uint6ToB64");function PI(e){let t=2,r="",n=e.length,i=0;for(let s=0;s<n;s++)t=s%3,i|=e[s]<<(16>>>t&24),(t===2||e.length-s===1)&&(r+=String.fromCodePoint(Ms(i>>>18&63),Ms(i>>>12&63),Ms(i>>>6&63),Ms(i&63)),i=0);return r.substring(0,r.length-2+t)+(t===2?"":t===1?"=":"==")}o(PI,"base64Encode");Tt.base64Encode=PI;function RI(e){let t="",r,n=e.length;for(let i=0;i<n;i++)r=e[i],t+=String.fromCodePoint(r>251&&r<254&&i+5<n?(r-252)*1073741824+(e[++i]-128<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>247&&r<252&&i+4<n?(r-248<<24)+(e[++i]-128<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>239&&r<248&&i+3<n?(r-240<<18)+(e[++i]-128<<12)+(e[++i]-128<<6)+e[++i]-128:r>223&&r<240&&i+2<n?(r-224<<12)+(e[++i]-128<<6)+e[++i]-128:r>191&&r<224&&i+1<n?(r-192<<6)+e[++i]-128:r);return t}o(RI,"convertUtf8ArrayToString");Tt.convertUtf8ArrayToString=RI;function OI(e){let t,r=e.length,n=0;for(let c=0;c<r;c++)t=e.codePointAt(c),t>=65536&&c++,n+=t<128?1:t<2048?2:t<65536?3:t<2097152?4:t<67108864?5:6;let i=new Uint8Array(n),s=0,a=0;for(;s<n;)t=e.codePointAt(a),t<128?i[s++]=t:t<2048?(i[s++]=192+(t>>>6),i[s++]=128+(t&63)):t<65536?(i[s++]=224+(t>>>12),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63)):t<2097152?(i[s++]=240+(t>>>18),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++):t<67108864?(i[s++]=248+(t>>>24),i[s++]=128+(t>>>18&63),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++):(i[s++]=252+(t>>>30),i[s++]=128+(t>>>24&63),i[s++]=128+(t>>>18&63),i[s++]=128+(t>>>12&63),i[s++]=128+(t>>>6&63),i[s++]=128+(t&63),a++),a++;return i}o(OI,"convertStringToUtf8Array");Tt.convertStringToUtf8Array=OI});var Cy=g(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.toCLFDate=void 0;function _n(e){let t=e.toString();return`${t.length===1?"0":""}${t}`}o(_n,"numberToString");function xI(e){let t=e.getTimezoneOffset(),r=Math.abs(t),n=t>0?"-":"+",i=_n(Math.floor(r/60)),s=_n(r%60);return`${n}${i}${s}`}o(xI,"getCLFOffset");function NI(e=new Date){if(!(e instanceof Date))throw new Error("clf-date: invalid parameter");let t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=_n(e.getDate()),n=t[e.getMonth()],i=e.getFullYear(),s=_n(e.getHours()),a=_n(e.getMinutes()),c=_n(e.getSeconds()),u=xI(e);return`${r}/${n}/${i}:${s}:${a}:${c} ${u}`}o(NI,"toCLFDate");ks.toCLFDate=NI});var Hy=g(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.getResponse=lr.awsLambdaHandler=lr.AwsLambdaHandlerExtensions=void 0;var CI=vr(),Ly=Ay(),_i=L(),LI=xt(),DI=md(),Uy=Ny(),My=Cy(),Dy=(0,CI.debug)("zuplo:runtime"),UI="X-Amzn-Trace-Id",MI="x-amzn-errortype",ky=[],kI=o(async(e,t,r)=>{let n=r;for await(let i of ky)n=await i(e,t,r);return n},"onSendingAwsLambdaEvent"),Ke=class extends _i.RuntimeError{static{o(this,"AwsLambdaError")}traceId;errorType;constructor(t,r){super(`Failed to invoke AWS Lambda function. ${t}`),this.traceId=r.get(UI)??void 0,this.errorType=r.get(MI)??void 0}};lr.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:e=>{ky.push(e)}};async function FI(e,t){let{accessKeyId:r,secretAccessKey:n,region:i,functionName:s,useLambdaProxyIntegration:a=!0,useAwsResourcePathStyle:c=!1,binaryMediaTypes:u}=t.route.handler.options;if(!r)throw new _i.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new _i.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new _i.ConfigurationError("region is not set in the handler options");if(!s)throw new _i.ConfigurationError("functionName is not set in the handler options");let l=new DI.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${s}/invocations`;if(Dy(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await e.arrayBuffer()});let[p,y]=await $I(e,{binaryMediaTypes:u}),{options:h}=t.route.handler,m;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?m=qI(e,t):m=await HI(e,t,{useAwsResourcePathStyle:c}),Dy("Calling onSendingAwsLambdaEvent hook");let v=await kI(e,t,m);v.body=p,v.isBase64Encoded=y;let T=await l.fetch(d,{body:JSON.stringify(v)});try{return Fy(T)}catch(S){if(S instanceof Ke){let k=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&S.traceId?{AMZN_TRACE_ID_HEADER:S.traceId}:void 0;return LI.HttpProblems.internalServerError(e,t,void 0,k)}throw S}}o(FI,"awsLambdaHandler");lr.awsLambdaHandler=FI;async function Fy(e){let t;try{t=await e.json()}catch{throw new Ke("Lambda response did not contain valid JSON",e.headers)}if(e.status!==200)throw t&&typeof t=="object"&&"message"in t&&typeof t.message=="string"?new Ke(t.message,e.headers):new Ke(`Status: ${e.statusText}`,e.headers);if(t&&typeof t=="object"&&"errorMessage"in t&&typeof t.errorMessage=="string")throw new Ke(t.errorMessage,e.headers);if(!t||typeof t!="object"||!("statusCode"in t)||typeof t.statusCode!="number")return new Response(JSON.stringify(t),{status:e.status,headers:{"content-type":"application/json"}});let r=new Headers;if("headers"in t&&t.headers){if(typeof t.headers!="object")throw new Ke(`Response headers must be an object. Received ${typeof t.headers}`,e.headers);for(let[i,s]of Object.entries(t.headers))r.set(i,s)}if("cookies"in t&&t.cookies){if(!Array.isArray(t.cookies))throw new Ke(`Response cookies must be an array. Received ${typeof t.cookies}`,e.headers);r.set("cookie",t.cookies.join(";"))}let n;if("isBase64Encoded"in t&&typeof t.isBase64Encoded!="boolean")throw new Ke(`Response property isBase64Encoded must be a boolean. Received ${typeof t.isBase64Encoded}`,e.headers);if("isBase64Encoded"in t&&t.isBase64Encoded===!0){if(!("body"in t))throw new Ke("Response was set to base64 encoded but no body was set",e.headers);if(typeof t.body!="string")throw new Ke("Response was set to base64 encoded but body was not a string",e.headers);n=(0,Uy.base64Decode)(t.body)}else"body"in t&&typeof t.body=="string"?n=t.statusCode===204&&t.body===""?null:t.body:"body"in t&&t.body!==null&&t.body!==void 0?n=JSON.stringify(t.body):n=null;if(n!==null&&"bodyEncoding"in t){if(typeof t.bodyEncoding!="string"||!(t.bodyEncoding==="gzip"||t.bodyEncoding==="deflate"))throw new Ke(`Response property bodyEncoding can only be set to 'gzip' or 'deflate'. Received ${t.bodyEncoding}`,e.headers);let i=new Blob([n]).stream().pipeThrough(new DecompressionStream(t.bodyEncoding));n=await new Response(i).arrayBuffer()}return new Response(n,{headers:r,status:t.statusCode})}o(Fy,"getResponse");lr.getResponse=Fy;async function HI(e,t,{useAwsResourcePathStyle:r}){let n={},i={};e.headers.forEach((l,d)=>{n[d]=l,i[d]=[l]});let s=e.query,a={};for(let[l,d]of Object.entries(s))a[l]=[d];let c=new URL(e.url);return{version:"1.0",resource:c.pathname,path:c.pathname,httpMethod:e.method,headers:n,multiValueHeaders:i,queryStringParameters:s,multiValueQueryStringParameters:a,requestContext:{accountId:null,apiId:null,authorizer:{claims:{},scopes:[]},domainName:c.hostname,domainPrefix:null,extendedRequestId:t.requestId,httpMethod:e.method,identity:{accessKey:null,accountId:null,caller:null,cognitoAuthenticationProvider:null,cognitoAuthenticationType:null,cognitoIdentityId:null,cognitoIdentityPoolId:null,principalOrgId:null,sourceIp:e.headers.get("CF-Connecting-IP"),user:null,userAgent:e.headers.get("user-agent"),userArn:null,clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},path:c.pathname,protocol:"HTTP/1.1",requestId:t.requestId,requestTime:(0,My.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:t.route.operationId??null,resourcePath:VI(t.route.path,r),stage:null},pathParameters:e.params,stageVariables:null}}o(HI,"buildEventVersion1");function qI(e,t){let r={};e.headers.forEach((s,a)=>{r[a]=s});let n=new URL(e.url);return{version:"2.0",routeKey:null,rawPath:n.pathname,rawQueryString:n.search,cookies:[],headers:r,queryStringParameters:e.query,requestContext:{accountId:null,apiId:null,authentication:{clientCert:{clientCertPem:null,subjectDN:null,issuerDN:null,serialNumber:null,validity:{notBefore:null,notAfter:null}}},authorizer:{jwt:{claims:{},scopes:[]}},domainName:n.hostname,domainPrefix:null,http:{method:e.method,path:n.pathname,protocol:"HTTP/1.1",sourceIp:e.headers.get("CF-Connecting-IP"),userAgent:e.headers.get("user-agent")},requestId:t.requestId,routeKey:null,stage:null,time:(0,My.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:e.params,stageVariables:null}}o(qI,"buildEventVersion2");async function $I(e,{binaryMediaTypes:t}){let r,n=!1,i=e.headers.get("content-type");if(e.method==="GET"||e.method==="HEAD")r=null;else if(t&&i&&jI(t,i)){let s=await e.arrayBuffer();r=(0,Uy.base64Encode)(new Uint8Array(s)),n=!0}else r=await e.clone().text();return[r,n]}o($I,"getBodyResult");function jI(e,t){let r=t.split(";")[0].trim().toLowerCase();return e.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}o(jI,"matchesContentType");function VI(e,t=!1){if(!t)return e;let r=(0,Ly.parse)(e),n=(0,Ly.compile)(e),i={};return r.forEach(s=>{typeof s=="string"?i[s]=`{${s}}`:i[s.name]=`{${s.name}}`}),n(i)}o(VI,"getResourcePath")});var En=g(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.getHandlerUserLogFunction=bn.logBadGatewayResponses=void 0;var GI=Ge(),BI=ee(),KI=[502,503,504];async function JI(e,t){if(KI.includes(e.status)){let r=GI.SystemLogMap.getLogger(t),i=await e.clone().text(),s={};for(let[a,c]of e.headers)s[a]=c;r.warn(`BadGatewayResponse ${e.status}`,{status:e.status,statusText:e.statusText,body:i,headers:s})}}o(JI,"logBadGatewayResponses");bn.logBadGatewayResponses=JI;var yd;function zI(e){if(yd===void 0){let r=BI.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),yd=r}return e.log[yd]}o(zI,"getHandlerUserLogFunction");bn.getHandlerUserLogFunction=zI});var $y=g(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});Fs.openApiSpecHandler=void 0;var qy=L(),WI=ye(),gd=ee(),QI=En();async function YI(e,t){let r=gd.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=gd.Environment.instance,i=t.route.handler.options,{openApiFilePath:s}=i;if(!s)throw new qy.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=ZI(s);if(!a.isValid)throw new qy.ConfigurationError(a.error);let c;gd.Environment.instance.isLocalDevelopment?c=`${n}/${s.substring(1)}`:c=`${n}/${r}${s.substring(1)}`;let u=await fetch(c,{method:e.method,body:e.body,headers:e.headers});if(u.status!==200)return WI.HttpProblems.notFound(e,t,{detail:"OpenAPI file could not be found."});let l=new Response(u.body,{headers:{"content-type":"application/json"},status:u.status,statusText:u.statusText});return(0,QI.logBadGatewayResponses)(l,t),l}o(YI,"openApiSpecHandler");Fs.openApiSpecHandler=YI;var ZI=o(e=>e.startsWith("./")?e.startsWith("./config")?e.endsWith(".oas.json")?{isValid:!0}:{isValid:!1,error:"'openApiFilePath' must point to a file ending in '.oas.json'"}:{isValid:!1,error:"'openApiFilePath' must point to a file in your /config directory"}:{isValid:!1,error:"'openApiFilePath' must start with './'"},"validateOpenApiPath")});var jy=g(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.redirectHandler=void 0;var XI=L();async function eA(e,t){let r=t.route.handler.options;if(!r.location)throw new XI.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}o(eA,"redirectHandler");Hs.redirectHandler=eA});var Gy=g(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.urlForwardHandler=void 0;var tA=L(),Vy=En();function rA(e,t){let r=e.endsWith("/"),n=t.startsWith("/");return r&&n?`${e.substring(0,e.length-1)}${t}`:!r&&!n?`${e}/${t}`:`${e}${t}`}o(rA,"join");async function nA(e,t){let r=(0,Vy.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1;if(!n.baseUrl)throw new Error("URL Forward Handler must have 'baseUrl' specified");if(!n||typeof n.__rewriteFunction!="function")throw new tA.ConfigurationError("Invalid options for this route");let s={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},a=new URL(e.url),c=n.__rewriteFunction(e,s),u=rA(c,a.pathname),l=i?`${u}${a.search}`:u.toString(),d=Date.now();r(`URL Forwarding to '${l}'`);let p=await fetch(l,{method:e.method,body:e.body,headers:e.headers}),y=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${y}ms`),(0,Vy.logBadGatewayResponses)(p,t),p}o(nA,"urlForwardHandler");qs.urlForwardHandler=nA});var Ky=g($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.urlRewriteHandler=void 0;var iA=L(),By=En(),oA=o((e,t)=>{let r=new URL(e),n=new URL(t);for(let[i,s]of n.searchParams.entries())r.searchParams.append(i,s);return r.toString()},"addQuery");async function sA(e,t){let r=(0,By.getHandlerUserLogFunction)(t),n=t.route.handler.options,i=n.forwardSearch!==!1,s=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new iA.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=i?oA(c,e.url):c,l=Date.now();r(`URL Rewriting to '${u}'`);let d=await fetch(u.toString(),{method:e.method,body:e.body,headers:e.headers,redirect:s?"follow":"manual"}),p=Date.now()-l;return r(`URL Rewrite received response ${d.status} - ${d.statusText} in ${p}ms`),(0,By.logBadGatewayResponses)(d,t),d}o(sA,"urlRewriteHandler");$s.urlRewriteHandler=sA});var zy=g(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.webSocketHandler=void 0;var Jy=L(),aA=sd(),cA=xt(),uA=ee(),lA=En();async function dA(e,t){let r=uA.Environment.instance,n=t.route.handler.options,i=(0,lA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new Jy.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return cA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Jy.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno){let p=new Headers(e.headers);if(c.startsWith("service:")){let h=await(0,aA.externalServiceTunnelConfig)(c),m=new URL(c);c=new URL(`${h.serviceBaseUrl}${m.pathname}${m.search}`).toString();for(let T in h.tunnelHeaders)p.set(T,h.tunnelHeaders[T])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let h=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${h}`}}catch{}let y=JSON.stringify({url:c});return new Response(y,{headers:p})}c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let p=await l.text(),y=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(y)}let d=Date.now()-u;return i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${d}ms`),new Response(null,{status:101,webSocket:l.webSocket})}o(dA,"webSocketHandler");js.webSocketHandler=dA});var Wy=g(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.webSocketPolicyProcessor=wn.getWebSocketPolicyFunctions=void 0;var pA=L(),hA=o((e,t)=>e.map((n,i)=>{let s;if(typeof n.module=="object"&&(s=n.module[n.export]),!s||typeof s!="function"){let a=t==="inbound"?"WebSocketInboundPolicy":"WebSocketOutboundPolicy",c=`policy in position: ${i+1}, export name: ${n.export}`;throw new pA.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return s}),"getWebSocketPolicyFunctions");wn.getWebSocketPolicyFunctions=hA;var fA=o(async(e,t,r,n,i,s)=>{let a=e.data;if(s&&s.length>0){let c=[...s];for(;c.length>0;){let u=c.shift();if(!u)return a;if(a=await u(a,r,t,n,i),a===void 0)return}}return a},"webSocketPolicyProcessor");wn.webSocketPolicyProcessor=fA});var Yy=g(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.webSocketPipelineHandler=void 0;var _d=L(),mA=xt(),yA=ee(),gA=En(),bd=Wy();function Qy(e,t,r,n,i){e.addEventListener("close",()=>{t.close()}),e.addEventListener("error",s=>{n.log.error("WebSocket error: ",s),t.send(JSON.stringify(s))}),e.addEventListener("message",s=>{try{o(async c=>{let u=await(0,bd.webSocketPolicyProcessor)(c,e,t,r,n,i);u!==void 0&&t.send(u)},"innerPipeline")(s).catch(n.log.error)}catch(a){n.log.error(a)}})}o(Qy,"wireUpListeners");async function _A(e,t){let r=yA.Environment.instance,n=t.route.handler.options,i=(0,gA.getHandlerUserLogFunction)(t);if(!n||!n.rewritePattern)throw new _d.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let s=e.headers.get("Upgrade");if(!s||s!=="websocket")return mA.HttpProblems.badRequest(e,t,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new _d.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:t.incomingRequestProperties,requestId:t.requestId,route:t.route,custom:t.custom},c=n.__rewriteFunction(e,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno)throw new _d.ConfigurationError("Websocket pipeline handler is currently not supported on working-copy environments");c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:e.method,headers:e.headers,body:e.body});if(l.status!==101||!l.webSocket){let S=await l.text(),k=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${S}'`;throw new Error(k)}let d=new WebSocketPair,[p,y]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let m=l.webSocket;m.accept(),y.accept();let v=n.policies&&n.policies.inbound?(0,bd.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],T=n.policies&&n.policies.outbound?(0,bd.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return Qy(y,m,e,t,v),Qy(m,y,e,t,T),new Response(null,{status:101,webSocket:p})}o(_A,"webSocketPipelineHandler");Vs.webSocketPipelineHandler=_A});var Zy=g(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.DynaTraceLoggingPlugin=void 0;var bA=ve(),Ed=ee(),EA=Or(),wA=Ct(),vA=yt(),wd=class extends wA.LogPlugin{static{o(this,"DynaTraceLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new vd(this.options)}};Gs.DynaTraceLoggingPlugin=wd;var vd=class{static{o(this,"DynaTraceTransport")}constructor(t){this.#e=t.url,this.#t=t.apiToken,this.#n=Ed.Environment.instance.loggingEnvironmentType,this.#i=Ed.Environment.instance.loggingEnvironmentStage,this.#r=Ed.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,vA.stringifyNonString)((0,EA.serializeError)(n)),severity:t.level,"log.source":t.logSource,requestId:t.requestId,"custom.environment":this.#r,"custom.environmentStage":this.#i,"custom.environmentType":this.#n,"custom.loggingId":t.loggingId,"custom.rayId":t.rayId===null?void 0:t.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=async t=>{t.length!==0&&await fetch(this.#e,{method:"POST",body:JSON.stringify(t),headers:{"content-type":"application/json; charset=utf-8",authorization:`Api-Token ${this.#t}`}})};batcher=new bA.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var Xy=g(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});Bs.LokiLoggingPlugin=void 0;var TA=ve(),Td=ee(),SA=Or(),IA=Ct(),AA=yt(),Sd=class extends IA.LogPlugin{static{o(this,"LokiLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ad(this.options)}};Bs.LokiLoggingPlugin=Sd;var Id=class{static{o(this,"LokiStream")}constructor(t,r,n,i,s){this.level=t,this.environment=r,this.environmentType=n,this.environmentStage=i,this.requestId=s}job="zuplo";level;environment;environmentType;environmentStage;requestId;equals=t=>this.level===t.level&&this.requestId===t.requestId};function PA(e,t){return btoa(`${e}:${t}`)}o(PA,"createBasicDigest");var Ad=class{static{o(this,"LokiTransport")}constructor(t){this.#e=t.url,this.#t=PA(t.username,t.password),this.#n=Td.Environment.instance.loggingEnvironmentType,this.#i=Td.Environment.instance.loggingEnvironmentStage,this.#r=Td.Environment.instance.deploymentName}#e;#t;#r;#n;#i;async log(t,r){let n=new Id(t.level,this.#r,this.#n,this.#i,t.requestId);t.messages.forEach(i=>{let s={stream:n,message:(0,AA.stringifyNonString)((0,SA.serializeError)(i)),nanoSecondEpoch:`${t.timestamp.getTime()}000000`};this.batcher.enqueue(s)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=t=>{let r={streams:[]};return t.forEach(n=>{let i=r.streams.find(s=>s.stream.equals(n.stream));i||(i={stream:n.stream,values:[]},r.streams.push(i)),i.values.push([n.nanoSecondEpoch,n.message])}),r};#s=async t=>{if(t.length===0)return;let r=this.#o(t);await fetch(this.#e,{method:"POST",body:JSON.stringify(r),headers:{"content-type":"application/json",authorization:`Basic ${this.#t}`}})};batcher=new TA.BatchDispatch("loki-log-transport",10,this.#s)}});var eg=g(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.SumoLogicLoggingPlugin=void 0;var RA=ve(),Pd=ee(),OA=Or(),xA=Ct(),NA=yt(),Rd=class extends xA.LogPlugin{static{o(this,"SumoLogicLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Od(this.options)}};Ks.SumoLogicLoggingPlugin=Rd;var Od=class{static{o(this,"SumoLogicTransport")}constructor(t){this.#e=t.url,this.#i=t.category,this.#o=t.name,this.#r=Pd.Environment.instance.loggingEnvironmentType,this.#n=Pd.Environment.instance.loggingEnvironmentStage,this.#t=Pd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,NA.stringifyNonString)((0,OA.serializeError)(n)),severity:t.level,source:t.logSource,requestId:t.requestId,environment:this.#t,environmentType:this.#r,environmentStage:this.#n,rayId:t.rayId===null?void 0:t.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#s=async t=>{if(t.length===0)return;let r=t.map(i=>JSON.stringify(i)).join(`
64
+ `),n=new Headers({"content-type":"application/json; charset=utf-8"});this.#o&&n.set("X-Sumo-Name",this.#o),this.#i&&n.set("X-Sumo-Category",this.#i),await fetch(this.#e,{method:"POST",body:r,headers:n})};batcher=new RA.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var rg=g(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.VMWareLogInsightTransport=vn.VMWareLogInsightLoggingPlugin=void 0;var CA=L(),LA=ve(),xd=ee(),DA=Ct(),tg=yt(),UA="d3a5b78f-8236-48f5-b1df-4fe269d41172",Nd=class extends DA.LogPlugin{static{o(this,"VMWareLogInsightLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Js(this.options)}};vn.VMWareLogInsightLoggingPlugin=Nd;var Js=class{static{o(this,"VMWareLogInsightTransport")}constructor(t){let r;try{r=new URL(t.url)}catch{throw new CA.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${t.url}'`)}this.#e=r.origin,this.#r=xd.Environment.instance.loggingEnvironmentType,this.#n=xd.Environment.instance.loggingEnvironmentStage,this.#t=xd.Environment.instance.deploymentName,this.#i=t.onMessageSending,t.fields&&(this.#o=Object.entries(t.fields).map(([n,i])=>({name:n,content:i})))}#e;#t;#r;#n;#i;#o;async log(t,r){let n=this.buildEntry(t,r);this.batcher.enqueue(n),r.waitUntil(this.batcher.waitUntilFlushed())}buildEntry(t,r){let n=(0,tg.messagesToMultilineText)(t.messages),i={timestamp:Date.now(),text:n,fields:[{name:"severity",content:t.level.toUpperCase()},{name:"request_id",content:t.requestId},{name:"environment_type",content:this.#r},{name:"environment_stage",content:this.#n},{name:"log_source",content:t.logSource},{name:"atomic_counter",content:t.vectorClock}]};return t.rayId&&i.fields.push({name:"request_ray_id",content:t.rayId}),this.#t&&i.fields.push({name:"environment",content:this.#t}),this.#o&&i.fields.push(...this.#o),r.custom&&Object.entries(r.custom).forEach(([s,a])=>{let c=(0,tg.stringifyNonStringToText)(a);c&&i.fields.push({name:s,content:c})}),this.#i&&(i=this.#i(i)),i}#s=async t=>{if(t.length===0)return;let r=await fetch(`${this.#e}/api/v1/events/ingest/${UA}`,{method:"POST",body:JSON.stringify(t),headers:{"content-type":"application/json; charset=utf-8"}});if(r.status!==200)try{let n=await r.text();console.error("Error logging to Log Insight",n)}catch(n){console.error(n)}};batcher=new LA.BatchDispatch("vmware-log-insights-log-transport",10,this.#s)};vn.VMWareLogInsightTransport=Js});var ig=g(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.AWSLogTransport=Tn.AWSLoggingPlugin=void 0;var MA=ve(),ng=ee(),kA=Or(),FA=Ct(),HA=yt(),qA=md(),Cd=class extends FA.LogPlugin{static{o(this,"AWSLoggingPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new zs(this.options)}};Tn.AWSLoggingPlugin=Cd;var zs=class{static{o(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new MA.BatchDispatch("aws-log-transport",10,async t=>{if(t.length===0)return;let r=JSON.stringify({logGroupName:this.logGroupName,logStreamName:this.logStreamName,logEvents:t});await this.awsClient.fetch(`https://logs.${this.region}.amazonaws.com`,{headers:{"Content-Type":"application/x-amz-json-1.1","x-amz-Target":"Logs_20140328.PutLogEvents"},body:r,aws:{accessKeyId:this.awsClient.accessKeyId,secretAccessKey:this.awsClient.secretAccessKey,service:this.awsClient.service,region:this.awsClient.region}})});constructor({accessKeyId:t,logStreamName:r,logGroupName:n,secretAccessKey:i,region:s}){this.awsClient=new qA.AwsClient({accessKeyId:t,secretAccessKey:i,service:"logs",region:s}),this.logGroupName=n,this.logStreamName=r,this.region=s,this.environmentType=ng.Environment.instance.loggingEnvironmentType,this.environment=ng.Environment.instance.deploymentName}async log(t,r){t.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,HA.stringifyNonString)((0,kA.serializeError)(n)),severity:t.level,source:t.logSource,environment:this.environment,requestId:t.requestId,environmentType:this.environmentType,rayId:t.rayId===null?void 0:t.rayId})};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}};Tn.AWSLogTransport=zs});var og=g(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.AWSLoggingPlugin=Oe.VMWareLogInsightLoggingPlugin=Oe.SumoLogicLoggingPlugin=Oe.LokiLoggingPlugin=Oe.GoogleCloudLoggingPlugin=Oe.DynaTraceLoggingPlugin=Oe.DataDogLoggingPlugin=void 0;var $A=$l();Object.defineProperty(Oe,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return $A.DataDogLoggingPlugin}});var jA=Zy();Object.defineProperty(Oe,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return jA.DynaTraceLoggingPlugin}});var VA=_s();Object.defineProperty(Oe,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return VA.GoogleCloudLoggingPlugin}});var GA=Xy();Object.defineProperty(Oe,"LokiLoggingPlugin",{enumerable:!0,get:function(){return GA.LokiLoggingPlugin}});var BA=eg();Object.defineProperty(Oe,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return BA.SumoLogicLoggingPlugin}});var KA=rg();Object.defineProperty(Oe,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return KA.VMWareLogInsightLoggingPlugin}});var JA=ig();Object.defineProperty(Oe,"AWSLoggingPlugin",{enumerable:!0,get:function(){return JA.AWSLoggingPlugin}})});var sg=g(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.DataDogMetricsError=dr.DataDogMetricsTransport=dr.DataDogMetricsPlugin=void 0;var zA=Ge(),WA=ve(),QA=po(),Ld=new WeakMap,YA={tags:[]},Dd=class extends QA.MetricsPlugin{static{o(this,"DataDogMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ws(this.options)}static setContext(t,r){let n=Ld.get(t);n||(n=YA);let i=Object.assign({...n},r);Ld.set(t,i)}};dr.DataDogMetricsPlugin=Dd;var Ws=class{static{o(this,"DataDogMetricsTransport")}#e;#t;#r;#n;#i;#o=void 0;constructor(t){this.#e=t.apiKey,this.#t=t.url??"https://api.datadoghq.com/api/v2/series",this.#r=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},t.metrics),this.#i=t.include??{},this.#n=t.tags??[]}pushMetrics(t,r){this.#o===void 0&&(this.#o=new WA.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,zA.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()/1e3),i=this.#n.concat(Ld.get(r)?.tags??[]);if(this.#i.country&&i.push(`country:${t.country}`),this.#i.httpMethod&&i.push(`httpMethod:${t.method}`),this.#i.statusCode&&i.push(`statusCode:${t.statusCode}`),this.#i.path){let s=t.systemRouteName||t.routePath;i.push(`path:${s}`)}this.#r.latency&&this.#o.enqueue({metric:"zuplo.request.latency",type:3,points:[{timestamp:n,value:t.durationMs}],tags:i}),this.#r.requestContentLength&&t.requestContentLength&&this.#o.enqueue({metric:"zuplo.request.content_length",type:3,points:[{timestamp:n,value:t.requestContentLength}],tags:i}),this.#r.responseContentLength&&t.responseContentLength&&this.#o.enqueue({metric:"zuplo.response.content_length",type:3,points:[{timestamp:n,value:t.responseContentLength}],tags:i}),r.waitUntil(this.#o.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;let r=JSON.stringify({series:t}),n=await fetch(this.#t,{method:"POST",body:r,headers:{"content-type":"application/json","DD-API-KEY":this.#e}});if(!n.ok)throw new Qs(await n.text())}};dr.DataDogMetricsTransport=Ws;var Qs=class e extends Error{static{o(this,"DataDogMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};dr.DataDogMetricsError=Qs});var ag=g(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.DynaTraceMetricsError=pr.DynaTraceMetricsTransport=pr.DynatraceMetricsPlugin=void 0;var ZA=Ge(),XA=ve(),eP=po(),Ud=new WeakMap,tP={dimensions:[]},Md=class extends eP.MetricsPlugin{static{o(this,"DynatraceMetricsPlugin")}options;constructor(t){super(),this.options=t}getTransport(){return new Ys(this.options)}static setContext(t,r){let n=Ud.get(t);n||(n=tP);let i=Object.assign({...n},r);Ud.set(t,i)}};pr.DynatraceMetricsPlugin=Md;var Ys=class{static{o(this,"DynaTraceMetricsTransport")}apiToken;#e;#t;dimensions;#r;#n=void 0;constructor(t){this.apiToken=t.apiToken,this.#e=t.url,this.#t=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},t.metrics),this.#r=t.include??{},this.dimensions=t.dimensions??[]}pushMetrics(t,r){this.#n===void 0&&(this.#n=new XA.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,ZA.SystemLogMap.getLogger(r)));let n=Math.floor(t.timestamp.getTime()),i=this.dimensions.concat(Ud.get(r)?.dimensions??[]);if(this.#r.country&&i.push(`country="${t.country}"`),this.#r.httpMethod&&i.push(`http_method="${t.method}"`),this.#r.statusCode&&i.push(`status_code="${t.statusCode}"`),this.#r.path){let a=t.systemRouteName||t.routePath;i.push(`path="${a}"`)}let s=i.join(",");this.#t.latency&&this.#n.enqueue(`zuplo.request.latency,${s} ${t.durationMs} ${n}`),this.#t.requestContentLength&&t.requestContentLength&&this.#n.enqueue(`zuplo.request.content_length,${s} ${t.requestContentLength} ${n}`),this.#t.responseContentLength&&t.responseContentLength&&this.#n.enqueue(`zuplo.response.content_length,${s} ${t.responseContentLength} ${n}`),r.waitUntil(this.#n.waitUntilFlushed())}dispatchFunction=async t=>{if(t.length===0)return;let r=t.join(`
65
+ `),n=await fetch(this.#e,{method:"POST",body:r,headers:{"content-type":"text/plain",Authorization:`Api-Token ${this.apiToken}`}});if(!n.ok)throw new Zs(await n.text())}};pr.DynaTraceMetricsTransport=Ys;var Zs=class e extends Error{static{o(this,"DynaTraceMetricsError")}constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}};pr.DynaTraceMetricsError=Zs});var cg=g(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.DynatraceMetricsPlugin=Sn.DataDogMetricsPlugin=void 0;var rP=sg();Object.defineProperty(Sn,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return rP.DataDogMetricsPlugin}});var nP=ag();Object.defineProperty(Sn,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return nP.DynatraceMetricsPlugin}})});var ug=g(Xs=>{"use strict";Object.defineProperty(Xs,"__esModule",{value:!0});Xs.AuditLogDataStaxProvider=void 0;var kd=class{static{o(this,"AuditLogDataStaxProvider")}constructor(t){this.#e=t}#e;writeLogBatch=async t=>{await Promise.allSettled(t.map(async r=>{await fetch(this.#e.url,{method:"POST",headers:{"X-Cassandra-Token":this.#e.xCassandraToken,"content-type":"application/json"},body:JSON.stringify(r)})}))}};Xs.AuditLogDataStaxProvider=kd});var dg=g(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.AuditLogPlugin=void 0;var iP=Ot(),oP=ve(),Fd=class extends iP.InitializableRuntimePlugin{static{o(this,"AuditLogPlugin")}constructor(t,r){super(),this.#e=t,this.#t=r}#e;#t;async initialize(t){new Hd(t,this.#e,this.#t)}};ea.AuditLogPlugin=Fd;var lg=o(e=>{let t={};return e.forEach((r,n)=>{t[n]=r}),t},"serializableHeaders"),sP={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},Hd=class{static{o(this,"AuditPluginImpl")}constructor(t,r,n){this.#t=r;let i={...sP};n?.requestFilter&&(i.requestFilter=n.requestFilter),n?.include?.request&&Object.assign(i,n.include.request),n?.include?.response&&Object.assign(i,n.include.response),this.#e=i,t.addRequestHook(this.#o),this.#r=new oP.BatchDispatch("audit-log",10,this.#n)}#e;#t;#r;#n=async t=>{await this.#t.writeLogBatch(t)};#i=async(t,r,n,i,s,a)=>{try{let c={timestamp:i,durationMs:s,routePath:n.route.path,requestId:n.requestId,userSub:a,request:{url:r.url,method:r.method,headers:this.#e.include?.request?.headers?lg(r.headers):void 0,body:this.#e.include?.request?.body?await r.text():void 0},response:{status:t.status,statusText:t.statusText,headers:this.#e.include?.response?.headers?lg(t.headers):void 0,body:this.#e.include?.response?.body?await t.text():void 0}};this.#r.enqueue(c),n.waitUntil(this.#r.waitUntilFlushed())}catch(c){n.log.error(c)}};#o=async(t,r)=>{try{if(!await this.#e.requestFilter(t,r))return t;let i=new Date,s=Date.now(),a=t.clone();return r.addResponseSendingFinalHook(async(c,u)=>{let l=Date.now(),d=c.clone(),p=this.#i(d,a,r,i,l-s,u.user?.sub).catch(y=>{r.log.error(y)});r.waitUntil(p)}),t}catch(n){return r.log.error(n),t}}}});var yg=g(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.AmberfloMeteringInboundPolicy=In.AmberfloMeteringPolicy=void 0;var pg=L(),aP=ve(),hg=Yn(),mg=new WeakMap,fg={},qd=class{static{o(this,"AmberfloMeteringPolicy")}static setRequestProperties(t,r){mg.set(t,r)}};In.AmberfloMeteringPolicy=qd;async function cP(e,t,r,n){if(!r.statusCodes)throw new pg.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=Array.isArray(r.statusCodes)?r.statusCodes:(0,hg.statusCodesStringToNumberArray)(r.statusCodes);return t.addResponseSendingFinalHook(async s=>{if(i.includes(s.status)){let a=mg.get(t),c=r.customerId;if(r.customerIdPropertyPath){if(!e.user)throw new pg.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,hg.getValueFromRequestUser)(e.user,r.customerIdPropertyPath,"customerIdPropertyPath")}let u=a?.customerId??c;if(!u){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': customerId cannot be undefined`);return}let l=a?.meterApiName??r.meterApiName;if(!l){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterApiName cannot be undefined`);return}let d=a?.meterValue??r.meterValue;if(!d){t.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterValue cannot be undefined`);return}let p={customerId:u,meterApiName:l,meterValue:d,meterTimeInMillis:Date.now(),dimensions:Object.apply(r.dimensions??{},a?.dimensions)},y=fg[r.apiKey];if(!y){let h=r.apiKey,m=e.headers.get("zm-test-id")??"";y=new aP.BatchDispatch("amberflo-ingest-meter",10,async v=>{try{let T=r.url??"https://app.amberflo.io/ingest",S=await fetch(T,{method:"POST",body:JSON.stringify(v),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":m}});S.ok||t.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${S.status}: ${await S.text()}`)}catch(T){throw t.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${T.message}`),T}}),fg[h]=y}y.enqueue(p),t.waitUntil(y.waitUntilFlushed())}}),e}o(cP,"AmberfloMeteringInboundPolicy");In.AmberfloMeteringInboundPolicy=cP});var $d=g(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.sha256=void 0;async function uP(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest({name:"SHA-256"},t);return[...new Uint8Array(r)].map(i=>i.toString(16).padStart(2,"0")).join("")}o(uP,"sha256");ta.sha256=uP});var hr=g(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.getPolicyCacheName=void 0;var lP=$d(),gg=new Map;async function dP(e,t){let r,n=gg.get(e);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,lP.sha256)(JSON.stringify({policyName:e,options:t}))}`,gg.set(e,r)),r}o(dP,"getPolicyCacheName");ra.getPolicyCacheName=dP});var Bd=g(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.ApiKeyInboundPolicy=void 0;var pP=hr(),hP=jt(),_g=od(),jd=L(),fP=xt(),Vd=Ge(),Gd=ee(),mP=ys(),bg="key-metadata-cache-type";function yP(e,t){return t.authScheme===""?e:e.replace(`${t.authScheme} `,"")}o(yP,"getKeyValue");async function gP(e,t,r,n){if(!r.bucketName)if(_g.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=_g.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new jd.ConfigurationError(`ApiKeyInboundPolicy '${n}' - no bucketName property provided`);let i={authHeader:r.authHeader??"authorization",authScheme:r.authScheme??"Bearer",bucketName:r.bucketName,cacheTtlSeconds:r.cacheTtlSeconds??60,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1,disableAutomaticallyAddingKeyHeaderToOpenApi:r.disableAutomaticallyAddingKeyHeaderToOpenApi??!1};if(i.cacheTtlSeconds<60)throw new jd.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let s=o(T=>i.allowUnauthenticatedRequests?e:fP.HttpProblems.unauthorized(e,t,{detail:T}),"unauthorizedResponse"),a=e.headers.get(i.authHeader);if(!a)return s("No Authorization Header");if(!a.toLowerCase().startsWith(i.authScheme.toLowerCase()))return s("Invalid Authorization Scheme");let c=yP(a,i);if(!c||c==="")return s("No key present");let u=await _P(c),l=await(0,pP.getPolicyCacheName)(n,i),d=new hP.MemoryZoneReadThroughCache(l,{logger:Vd.SystemLogMap.getLogger(t)}),p=await d.get(u);if(p&&p.isValid===!0)return e.user=p.user,e;if(p&&!p.isValid)return p.typeId!==bg&&Vd.SystemLogMap.getLogger(t).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),s("Authorization Failed");let y={key:c},h=await(0,mP.fetchRetry)({retryDelayMs:5,retries:2,logger:Vd.SystemLogMap.getLogger(t)},`${Gd.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":t.requestId,"zp-dn":Gd.Environment.instance.deploymentName??"unknown","User-Agent":Gd.Environment.instance.systemUserAgent},body:JSON.stringify(y)});if(h.status===401)return t.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),s("Authorization Failed");if(h.status!==200){try{let T=await h.text(),S=JSON.parse(T);t.log.error("Unexpected response from key service",S)}catch{t.log.error("Invalid response from key service")}throw new jd.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let m=await h.json(),v={isValid:!0,typeId:bg,user:{sub:m.name,data:m.metadata}};return e.user=v.user,d.put(u,v,i.cacheTtlSeconds),e}o(gP,"ApiKeyInboundPolicy");na.ApiKeyInboundPolicy=gP;async function _P(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(_P,"hashValue")});var Eg=g(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.ApiAuthKeyInboundPolicy=void 0;var bP=Bd();ia.ApiAuthKeyInboundPolicy=bP.ApiKeyInboundPolicy});var wg=g(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0});oa.CurityPhantomTokenInboundPolicy=void 0;var EP=jt(),wP=ye(),vP=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization");if(!i)return wP.HttpProblems.unauthorized(e,t,{detail:"No authorization header"});let s=SP(i);if(!s)return new Response("Failed to parse token from Authorization header",{status:401});let a=new EP.MemoryZoneReadThroughCache(`${n}-f7dacd40-50b8-4a28-a119-2c6ca6c16af2`,t),c=await a.get(s);return c||(c=await TP(r,s,t),a.put(s,c,r.cacheDurationSeconds??600)),e.headers.set("Authorization",`Bearer ${c}`),e},"CurityPhantomTokenInboundPolicy");oa.CurityPhantomTokenInboundPolicy=vP;async function TP(e,t,r){let n=await fetch(e.introspectionUrl,{headers:{Authorization:"Basic "+btoa(`${e.clientId}:${e.clientSecret}`),Accept:"application/jwt","Content-Type":"application/x-www-form-urlencoded"},method:"POST",body:"token="+t+"&token_type_hint=access_token"}),i=await n.text();return n.ok||r.log.warn(`Error introspecting token - ${n.status}: '${i}'`),i}o(TP,"getJwt");function SP(e){return e.split(" ")[0]==="Bearer"?e.split(" ")[1]:null}o(SP,"getToken")});var kt=g(sa=>{"use strict";Object.defineProperty(sa,"__esModule",{value:!0});sa.OpenIdJwtInboundPolicy=void 0;var Jd=(fs(),Bi(hs)),zd=L(),IP=ye(),Kd={},AP=o(async(e,t)=>{if(!t.jwkUrl||typeof t.jwkUrl!="string")throw new zd.ConfigurationError("Invalid State - jwkUrl not set");Kd[t.jwkUrl]||(Kd[t.jwkUrl]=(0,Jd.createRemoteJWKSet)(new URL(t.jwkUrl),t.headers?{headers:t.headers}:void 0));let{payload:r}=await(0,Jd.jwtVerify)(e,Kd[t.jwkUrl],{issuer:t.issuer,audience:t.audience});return r},"jwkVerifier"),PP=o(async(e,t)=>{let r;if(t.secret===void 0)throw new Error("secretVerifier requires secret to be defined");if(typeof t.secret=="string"){let s=new TextEncoder().encode(t.secret);r=new Uint8Array(s)}else r=t.secret;let{payload:n}=await(0,Jd.jwtVerify)(e,r,{issuer:t.issuer,audience:t.audience});return n},"secretVerifier"),RP=o(async(e,t,r,n)=>{let i=e.headers.get("Authorization"),s="bearer ",a=o(y=>IP.HttpProblems.unauthorized(e,t,{detail:y}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new zd.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new zd.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?AP:PP,l=await o(async()=>{if(!i)return a("No authorization header");if(i.toLowerCase().indexOf(s)!==0)return a("Invalid bearer token format for authorization header");let y=i.substring(s.length);if(!y||y.length===0)return a("No bearer token on authorization header");try{return await c(y,r)}catch(h){let m=new URL(e.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?t.log.warn(`Expired token used on url: ${m.pathname} `,h):t.log.warn(`Invalid token on: ${e.method} ${m.pathname}`,h),a("Invalid token")}},"getJwtOrRejectedResponse")();if(l instanceof Response)return r.allowUnauthenticatedRequests===!0?e:l;let d=r.subPropertyName??"sub",p=l[d];return p?(e.user={sub:p,data:l},e):a(`Token is not valid, no '${d}' property found.`)},"OpenIdJwtInboundPolicy");sa.OpenIdJwtInboundPolicy=RP});var vg=g(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.Auth0JwtInboundPolicy=void 0;var OP=kt(),xP=o(async(e,t,r,n)=>(0,OP.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");aa.Auth0JwtInboundPolicy=xP});var Tg=g(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.BasicAuthInboundPolicy=void 0;var NP=ye(),CP=o(async(e,t,r)=>{let n=e.headers.get("Authorization"),i="basic ",s=o(l=>NP.HttpProblems.unauthorized(e,t,{detail:l}),"unauthorizedResponse"),c=await o(async()=>{if(!n)return await s("No Authorization header");if(n.toLowerCase().indexOf(i)!==0)return await s("Invalid Basic token format for Authorization header");let l=n.substring(i.length);if(!l||l.length===0)return await s("No username:password provided");let d=atob(l).normalize(),p=d.indexOf(":");if(p===-1||/[\0-\x1F\x7F]/.test(d))return await s("Invalid basic token value - see https://tools.ietf.org/html/rfc5234#appendix-B.1");let y=d.substring(0,p),h=d.substring(p+1),m=r.accounts.find(v=>v.username===y&&v.password===h);return m||await s("Invalid username or password")},"getAccountOrRejectedResponse")();if(c instanceof Response)return r.allowUnauthenticatedRequests?e:c;let u=c.username;return e.user={sub:u,data:c.data},e},"BasicAuthInboundPolicy");ca.BasicAuthInboundPolicy=CP});var Sg=g(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.CachingInboundPolicy=void 0;var LP=hr(),DP=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function UP(e){let t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(UP,"digestMessage");var MP=o(async(e,t)=>{let r=[...t.dangerouslyIgnoreAuthorizationHeader===!0?[]:["authorization"],...t.headers??[]],n=[];for(let[d,p]of e.headers.entries())r.includes(d)&&n.push({key:d.toLowerCase(),value:p});n.sort((d,p)=>d.key.localeCompare(p.key));let i=await UP(JSON.stringify(n)),s=new URL(e.url),a=new URLSearchParams(s.searchParams);a.set("_z-hdr-dgst",i);let c=t.cacheHttpMethods?.includes(e.method.toUpperCase())&&e.method.toUpperCase()!=="GET";c&&a.set("_z-original-method",e.method);let u=`${s.origin}${s.pathname}?${a}`;return new Request(u,{method:c?"GET":e.method})},"createCacheKeyRequest");async function kP(e,t,r,n){let i=await(0,LP.getPolicyCacheName)(n,r),s=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await MP(e,r),u=await s.match(c);return u||(t.addEventListener("responseSent",l=>{try{let d=r.statusCodes??[200,206,301,302,303,404,410],p=l.response.clone();if(!d.includes(p.status)||!a.includes(e.method.toUpperCase()))return;let y=r?.expirationSecondsTtl??60,h=new Response(p.body,p);DP.forEach(m=>h.headers.delete(m)),h.headers.set("cache-control",`s-maxage=${y}`),t.waitUntil(s.put(c,h))}catch(d){t.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),e)}o(kP,"CachingInboundPolicy");ua.CachingInboundPolicy=kP});var Ig=g(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.ChangeMethodInboundPolicy=void 0;var FP=L(),HP=Be(),qP=o(async(e,t,r,n)=>{if(!r.method)throw new FP.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new HP.ZuploRequest(e,{method:r.method})},"ChangeMethodInboundPolicy");la.ChangeMethodInboundPolicy=qP});var Ag=g(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.ClearHeadersInboundPolicy=void 0;var $P=Be(),jP=o(async(e,t,r)=>{let n=[...r.exclude??[]],i=new Headers;return n.forEach(a=>{let c=e.headers.get(a);c&&i.set(a,c)}),new $P.ZuploRequest(e,{headers:i})},"ClearHeadersInboundPolicy");da.ClearHeadersInboundPolicy=jP});var Pg=g(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.ClearHeadersOutboundPolicy=void 0;var VP=o(async(e,t,r,n)=>{let i=[...n.exclude??[]],s=new Headers;return i.forEach(c=>{let u=e.headers.get(c);u&&s.set(c,u)}),new Response(e.body,{headers:s,status:e.status,statusText:e.statusText})},"ClearHeadersOutboundPolicy");pa.ClearHeadersOutboundPolicy=VP});var Rg=g(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.ClerkJwtInboundPolicy=void 0;var GP=kt(),BP=o(async(e,t,r,n)=>{let i=new URL(r.frontendApiUrl.startsWith("https://")||r.frontendApiUrl.startsWith("http://")?r.frontendApiUrl:`https://${r.frontendApiUrl}`),s=new URL(i);return s.pathname="/.well-known/jwks.json",(0,GP.OpenIdJwtInboundPolicy)(e,t,{issuer:i.href.slice(0,-1),jwkUrl:s.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");ha.ClerkJwtInboundPolicy=BP});var xg=g(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.CognitoJwtInboundPolicy=void 0;var Og=L(),KP=kt(),JP=o(async(e,t,r,n)=>{if(!r.userPoolId)throw new Og.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new Og.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,KP.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}`,jwkUrl:`https://cognito-idp.${r.region}.amazonaws.com/${r.userPoolId}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"CognitoJwtInboundPolicy");fa.CognitoJwtInboundPolicy=JP});var Cg=g(ma=>{"use strict";Object.defineProperty(ma,"__esModule",{value:!0});ma.CompositeInboundPolicy=void 0;var zP=L(),WP=pn(),Ng=Zn(),QP=o(async(e,t,r,n)=>{if(!r.policies||r.policies.length===0)throw new zP.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=WP.Gateway.instance,s=(0,Ng.getInboundPolicyHandlerAndOptions)(r.policies,i?.routeData.policies);return(0,Ng.toStackedInboundHandler)(s)(e,t)},"CompositeInboundPolicy");ma.CompositeInboundPolicy=QP});var fr=g(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.optionValidator=void 0;var bi=L();function YP(e,t){let r=o((s,a,c)=>{let u=e[s];if(!(c&&u===void 0)){if(u===void 0)throw new bi.ConfigurationError(`Value of '${String(s)}' on policy '${t}' is required, but no value was set. If using an environment variable, check that it is set correctly.`);if(a==="array"&&Array.isArray(u))throw new bi.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be an array. Received type ${typeof u}.`);if(typeof u!==a)throw new bi.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be of type ${a}. Received type ${typeof u}.`);if(typeof u=="string"&&u.length===0)throw new bi.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be a non-empty string. The value received is empty. If using an environment variable, check that it is set correctly.`);if(typeof u=="number"&&isNaN(u))throw new bi.ConfigurationError(`Value of '${String(s)}' on policy '${t}' must be valid number. If using an environment variable, check that it is set correctly.`)}},"validate"),n=o((s,a)=>(r(s,a,!0),{optional:n,required:i}),"optional"),i=o((s,a)=>(r(s,a,!1),{optional:n,required:i}),"required");return{optional:n,required:i}}o(YP,"optionValidator");ya.optionValidator=YP});var Lg=g(ga=>{"use strict";Object.defineProperty(ga,"__esModule",{value:!0});ga.FirebaseJwtInboundPolicy=void 0;var ZP=fr(),XP=kt(),eR=o(async(e,t,r,n)=>((0,ZP.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,XP.OpenIdJwtInboundPolicy)(e,t,{issuer:`https://securetoken.google.com/${r.projectId}`,audience:r.projectId,jwkUrl:"https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com",allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)),"FirebaseJwtInboundPolicy");ga.FirebaseJwtInboundPolicy=eR});var Dg=g(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.FormDataToJsonInboundPolicy=void 0;var tR=Be(),rR=o(async(e,t,r)=>{let n="application/x-www-form-urlencoded",i="multipart/form-data",s=e.headers.get("content-type")?.toLowerCase();if(!s||![i,n].includes(s))return r&&r.badRequestIfNotFormData?new Response(`Bad Request - expected content-type '${n}' or ${i}`,{status:400,statusText:"Bad Request"}):e;let a=await e.formData();if(r&&r.optionalHoneypotName&&a.get(r.optionalHoneypotName)!=="")return new Response("Bad Request",{status:400,statusText:"Bad Request"});let c={};for(let[d,p]of a)c[d]=p.toString();let u=new Headers(e.headers);return u.set("content-type","application/json"),u.delete("content-length"),new tR.ZuploRequest(e,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");_a.FormDataToJsonInboundPolicy=rR});var Ug=g(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.GeoFilterInboundPolicy=void 0;var nR=L(),iR=ye(),An="__unknown__",oR=o(async(e,t,r,n)=>{let i={allow:{countries:Rn(r.allow?.countries,"allow.countries",n),regionCodes:Rn(r.allow?.regionCodes,"allow.regionCode",n),asns:Rn(r.allow?.asns,"allow.asOrganization",n)},block:{countries:Rn(r.block?.countries,"block.countries",n),regionCodes:Rn(r.block?.regionCodes,"block.regionCode",n),asns:Rn(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},s=t.incomingRequestProperties.country?.toLowerCase()??An,a=t.incomingRequestProperties.regionCode?.toLowerCase()??An,c=t.incomingRequestProperties.asn?.toString()??An,u=i.ignoreUnknown&&s===An,l=i.ignoreUnknown&&a===An,d=i.ignoreUnknown&&c===An,p=i.allow.countries,y=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(s)&&!u||y.length>0&&!y.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return Pn(e,t,n,s,a,c);let m=i.block.countries,v=i.block.regionCodes,T=i.block.asns;return m.length>0&&m.includes(s)&&!u||v.length>0&&v.includes(a)&&!l||T.length>0&&T.includes(c)&&!d?Pn(e,t,n,s,a,c):e},"GeoFilterInboundPolicy");ba.GeoFilterInboundPolicy=oR;function Pn(e,t,r,n,i,s){return t.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${s}')`),iR.HttpProblems.forbidden(e,t,{geographicContext:{country:n,regionCode:i,asn:s}})}o(Pn,"blockedResponse");function Rn(e,t,r){if(typeof e=="string")return e.split(",").map(n=>n.trim().toLowerCase());if(typeof e>"u")return[];if(Array.isArray(e))return e.map(n=>n.trim().toLowerCase());throw new nR.ConfigurationError(`Invalid '${t}' for GeoFilterInboundPolicy '${r}': '${e}', must be a string or string[]`)}o(Rn,"toLowerStringArray")});var Mg=g(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.JWTScopeValidationInboundPolicy=void 0;var sR=o(async(e,t,r)=>{let n=e.user?.data.scope.split(" ")||[];if(!o((s,a)=>a.every(c=>s.includes(c)),"scopeChecker")(n,r.scopes)){let s={code:"UNAUTHORIZED",help_url:"https://zup.fail/UNAUTHORIZED",message:`JWT must have all the following scopes: ${r.scopes}`};return new Response(JSON.stringify(s),{status:401,statusText:"Unauthorized",headers:{"content-type":"application/json"}})}return e},"JWTScopeValidationInboundPolicy");Ea.JWTScopeValidationInboundPolicy=sR});var Fg=g(wa=>{"use strict";Object.defineProperty(wa,"__esModule",{value:!0});wa.MockApiInboundPolicy=void 0;var aR=ye(),cR=o(async(e,t,r,n)=>{let i=t.route.raw().responses;if(!i)return Wd(n,e,t,"No responses defined in the OpenAPI document. Add some responses with examples to use this policy.");let s=Object.keys(i),a=[];if(s.length===0)return Wd(n,e,t,"No response object defined under responses in the OpenAPI document. Add some response objects with examples to use this policy.");if(s.forEach(c=>{i[c].content&&Object.keys(i[c].content).forEach(l=>{let d=i[c].content[l].examples;d&&Object.keys(d).forEach(y=>{a.push({responseName:c,contentName:l,exampleName:y,exampleValue:d[y]})})})}),a=a.filter(c=>!(r.responsePrefixFilter&&!c.responseName.startsWith(r.responsePrefixFilter)||r.contentType&&c.contentName!==r.contentType||r.exampleName&&c.exampleName!==r.exampleName)),r.random&&a.length>1){let c=Math.floor(Math.random()*a.length);return kg(a[c])}else return a.length>0?kg(a[0]):Wd(n,e,t,"No examples matching the mocking options found in the OpenAPI document. Add examples to the OpenAPI document matching the options for this policy or change the mocking options to match the examples in the OpenAPI document.")},"MockApiInboundPolicy");wa.MockApiInboundPolicy=cR;function kg(e){let t=JSON.stringify(e.exampleValue,null,2),r=new Headers;switch(r.set("Content-Type",e.contentName),e.responseName){case"1XX":return new Response(t,{status:100,headers:r});case"2XX":return new Response(t,{status:200,headers:r});case"3XX":return new Response(t,{status:300,headers:r});case"4XX":return new Response(t,{status:400,headers:r});case"5XX":case"default":return new Response(t,{status:500,headers:r});default:return new Response(t,{status:Number(e.responseName),headers:r})}}o(kg,"generateResponse");var Wd=o((e,t,r,n)=>{let i=`Error in policy: ${e} - On route ${t.method} ${r.route.path}. ${n}`;return aR.HttpProblems.internalServerError(t,r,{detail:i})},"getProblemDetailResponse")});var Vg=g(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.MoesifInboundPolicy=On.setMoesifContext=void 0;var uR=L(),lR=ve(),dR="Incoming",pR={logRequestBody:!0,logResponseBody:!0};function Hg(e){let t={};return e.forEach((r,n)=>{t[n]=r}),t}o(Hg,"headersToObject");function qg(){return new Date().toISOString()}o(qg,"timestamp");var Qd=new WeakMap,hR={};function fR(e,t){let r=Qd.get(e);r||(r=hR);let n=Object.assign({...r},t);Qd.set(e,n)}o(fR,"setMoesifContext");On.setMoesifContext=fR;async function $g(e,t){let r=e.headers.get("content-type");if(r&&r.indexOf("json")!==0)try{return await e.clone().json()}catch(i){t.log.error(i)}let n=await e.clone().text();return t.log.debug({textBody:n}),n}o($g,"readBody");var mR={},Yd;function jg(){if(!Yd)throw new uR.RuntimeError("Invalid State - no _lastLogger");return Yd}o(jg,"getLastLogger");function yR(e){let t=mR[e];return t||(t=new lR.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);jg().debug("posting",n);let i=await fetch("https://api.moesif.net/v1/events/batch",{method:"POST",headers:{"content-type":"application/json","X-Moesif-Application-Id":e},body:n});i.ok||jg().error({status:i.status,body:await i.text()})})),t}o(yR,"getDispatcher");async function gR(e,t,r,n){Yd=t.log;let i=qg(),s=Object.assign(pR,r);if(!s.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=s.logRequestBody?await $g(e,t):void 0;return t.addResponseSendingFinalHook(async(c,u)=>{let l=yR(s.applicationId),d=e.headers.get("true-client-ip"),p=Qd.get(t)??{},y={time:i,uri:e.url,verb:e.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:Hg(e.headers)},h=s.logResponseBody?await $g(c,t):void 0,m={time:qg(),status:c.status,headers:Hg(c.headers),body:h},v={request:y,response:m,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:dR};l.enqueue(v),t.waitUntil(l.waitUntilFlushed())}),e}o(gR,"MoesifInboundPolicy");On.MoesifInboundPolicy=gR});var Gg=g(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.OktaJwtInboundPolicy=void 0;var _R=kt(),bR=o(async(e,t,r,n)=>(0,_R.OpenIdJwtInboundPolicy)(e,t,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");va.OktaJwtInboundPolicy=bR});var Bg=g(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.PropelAuthJwtInboundPolicy=void 0;var ER=(fs(),Bi(hs)),wR=kt(),Zd,vR=o(async(e,t,r,n)=>{if(!Zd)try{Zd=await(0,ER.importSPKI)(r.verifierKey,"RS256")}catch(i){throw t.log.error("Could not import verifier key"),i}return(0,wR.OpenIdJwtInboundPolicy)(e,t,{issuer:r.authUrl,secret:Zd,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");Ta.PropelAuthJwtInboundPolicy=vR});var Kg=g(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.throwIfStateNotObject=G.throwIfStateNotNumber=G.throwIfStateNotString=G.throwIfStateUndefinedOrNull=G.throwIfStateUndefined=G.throwIfOptionNotObject=G.throwIfOptionNotNumber=G.throwIfOptionNotString=G.throwIfOptionUndefinedOrNull=G.throwIfOptionUndefined=G.OptionTypeError=G.OptionUndefinedError=G.throwIfNotNumber=G.throwIfNotString=G.throwIfUndefinedOrNull=G.throwIfUndefined=G.ArgumentTypeError=G.ArgumentUndefinedError=G.ValidationError=void 0;var qe=zt(),et=class extends Error{static{o(this,"ValidationError")}constructor(t){super(t)}};G.ValidationError=et;var Ei=class extends et{static{o(this,"ArgumentUndefinedError")}constructor(t){super(`The argument '${t}' is undefined.`)}};G.ArgumentUndefinedError=Ei;var wi=class extends et{static{o(this,"ArgumentTypeError")}constructor(t,r){super(`The argument '${t}' must be of type '${r}'.`)}};G.ArgumentTypeError=wi;function TR(e,t){if((0,qe.isUndefined)(e))throw new Ei(t)}o(TR,"throwIfUndefined");G.throwIfUndefined=TR;function Xd(e,t){if((0,qe.isUndefinedOrNull)(e))throw new Ei(t)}o(Xd,"throwIfUndefinedOrNull");G.throwIfUndefinedOrNull=Xd;function SR(e,t){if(Xd(e,t),!(0,qe.isString)(e))throw new wi(t,"string")}o(SR,"throwIfNotString");G.throwIfNotString=SR;function IR(e,t){if(Xd(e,t),!(0,qe.isNumber)(e))throw new wi(t,"number")}o(IR,"throwIfNotNumber");G.throwIfNotNumber=IR;var vi=class extends et{static{o(this,"OptionUndefinedError")}constructor(t,r,n){super(`The option '${n}' on the ${t} named '${r}' is undefined.`)}};G.OptionUndefinedError=vi;var xn=class extends et{static{o(this,"OptionTypeError")}constructor(t,r,n,i){super(`The option '${n}' on the ${t} named '${r}' must be of type '${i}'.`)}};G.OptionTypeError=xn;function AR(e,t,r,n){if((0,qe.isUndefined)(n))throw new vi(e,t,r)}o(AR,"throwIfOptionUndefined");G.throwIfOptionUndefined=AR;function Sa(e,t,r,n){if((0,qe.isUndefinedOrNull)(n))throw new vi(e,t,r)}o(Sa,"throwIfOptionUndefinedOrNull");G.throwIfOptionUndefinedOrNull=Sa;function PR(e,t,r,n){if(Sa(e,t,r,n),!(0,qe.isString)(n))throw new xn(e,t,r,"string")}o(PR,"throwIfOptionNotString");G.throwIfOptionNotString=PR;function RR(e,t,r,n){if(Sa(e,t,r,n),!(0,qe.isNumber)(n))throw new xn(e,t,r,"number")}o(RR,"throwIfOptionNotNumber");G.throwIfOptionNotNumber=RR;function OR(e,t,r,n){if(Sa(e,t,r,n),!(0,qe.isObject)(n))throw new xn(e,t,r,"object")}o(OR,"throwIfOptionNotObject");G.throwIfOptionNotObject=OR;function xR(e,t){if((0,qe.isUndefined)(e))throw new et(t)}o(xR,"throwIfStateUndefined");G.throwIfStateUndefined=xR;function Ia(e,t){if((0,qe.isUndefinedOrNull)(e))throw new et(t)}o(Ia,"throwIfStateUndefinedOrNull");G.throwIfStateUndefinedOrNull=Ia;function NR(e,t){if(Ia(e,t),!(0,qe.isString)(e))throw new et(t);return!0}o(NR,"throwIfStateNotString");G.throwIfStateNotString=NR;function CR(e,t){if(Ia(e,t),!(0,qe.isNumber)(e))throw new et(t);return!0}o(CR,"throwIfStateNotNumber");G.throwIfStateNotNumber=CR;function LR(e,t){if(Ia(e,t),!(0,qe.isObject)(e))throw new et(t);return!0}o(LR,"throwIfStateNotObject");G.throwIfStateNotObject=LR});var Jg=g(Nn=>{"use strict";Object.defineProperty(Nn,"__esModule",{value:!0});Nn.InMemoryRedisClient=Nn.StandardRedisClient=void 0;var ep=L(),Aa=Kg(),tp=class e{static{o(this,"StandardRedisClient")}static instance;redisClientUrl;clientAuthToken;userAgent;deploymentName;constructor(t,r,n,i){this.redisClientUrl=t,this.clientAuthToken=r,this.deploymentName=n,this.userAgent=i}static initialize(t,r,n,i){return(0,Aa.throwIfNotString)(t,"redisClientUrl"),(0,Aa.throwIfNotString)(r,"clientAuthToken"),e.instance||(e.instance=new e(t,r,n,i)),e.instance}isEnabled(){return this.redisClientUrl!==void 0&&this.clientAuthToken!==void 0}async fetch({url:t,body:r,method:n,requestId:i}){(0,Aa.throwIfNotString)(t,"url");let s=await fetch(`${this.redisClientUrl}${t}`,{method:n,body:r,headers:{"content-type":"application/json",authorization:`Bearer ${this.clientAuthToken}`,"zp-rid":i,"zp-dn":this.deploymentName,"User-Agent":this.userAgent}}),a=s.headers.get("Content-Type")?.includes("application/json")?await s.json():await s.text();if(s.ok)return a;throw s.status===401?new ep.SystemError("Redis client failed with 401: Unauthorized"):new ep.SystemError(`Redis client failed with (${s.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};Nn.StandardRedisClient=tp;var rp=class{static{o(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:t,body:r,method:n}){if((0,Aa.throwIfNotString)(t,"url"),n==="POST"&&t==="/rate-limit"){let{incrBy:i,expire:s,key:a}=JSON.parse(r),c=Date.now()+s*1e3,u=this.keyValueStore.get(a);u?Date.now()>u.expiresAt?this.keyValueStore.set(a,{value:i,expiresAt:c}):this.keyValueStore.set(a,{value:u.value+i,expiresAt:u.expiresAt}):this.keyValueStore.set(a,{value:i,expiresAt:c});let l=this.keyValueStore.get(a);return Promise.resolve({count:l.value,ttlSeconds:Math.round((l.expiresAt-Date.now())/1e3)})}throw new ep.SystemError("The in-memory redis client only supports /rate-limit calls")}};Nn.InMemoryRedisClient=rp});var Zg=g(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.RateLimitInboundPolicy=void 0;var DR=vr(),UR=hr(),MR=Qi(),Ft=L(),kR=ye(),zg=Ge(),Ti=ee(),Wg=Jg(),Qg=zt(),Pa=(0,DR.debug)("zuplo:policies:RateLimitInboundPolicy"),FR="strict",HR=o(e=>{let t=e.headers.get("cf-connecting-ip")??e.headers.get("true-client-ip");if(t)return t;let r=e.headers.get("x-forwarded-for");return r?r.split(",")[0]:"127.0.0.1"},"getRealIP"),qR=o(async e=>({key:`ip-${HR(e)}`}),"getIP"),$R=o(async e=>({key:`user-${e.user?.sub??"anonymous"}`}),"getUser"),jR=o(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll"),Ra;function VR(e,t){let r;if(Ra)return Ra;if(Ti.Environment.instance.isLocalDevelopment)return t.info("Using in-memory redis client for local development."),r=new Wg.InMemoryRedisClient,Ra=r,r;let{authApiJWT:n,redisURL:i}=Ti.Environment.instance;if(!(0,Qg.isString)(i))throw new Ft.SystemError(`RateLimitInboundPolicy '${e}' - rate limit service URL not configured`);if(!(0,Qg.isString)(n))throw new Ft.SystemError(`RateLimitInboundPolicy '${e}' - service authentication not configured`);if(i&&(r=Wg.StandardRedisClient.initialize(i,n,Ti.Environment.instance.deploymentName??"unknown",Ti.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new Ft.SystemError(`RateLimitInboundPolicy '${e}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return Ra=r,r}o(VR,"getRedisClient");async function Yg(e,t,r,n,i){let s=Math.floor(t*60);return await r.fetch({url:"/rate-limit",method:"POST",body:JSON.stringify({incrBy:1,expire:s,key:e}),requestId:i})}o(Yg,"getCountAndUpdateExpiry");function GR(e,t){let r;if(e.rateLimitBy==="function"){if(!e.identifier)throw new Ft.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!e.identifier.module)throw new Ft.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!e.identifier.export)throw new Ft.ConfigurationError(`RateLimitInboundPolicy '${t}' - If rateLimitBy set to 'function' options.identifier.export must be specified`);if(r=e.identifier.module[e.identifier.export],!r||typeof r!="function")throw new Ft.ConfigurationError(`RateLimitInboundPolicy '${t}' - Custom rate limit function must be a valid function`)}return o(async(i,s,a)=>{let c=await r(i,s,a);if(!c.key){let u=`RateLimitInboundPolicy '${a}' - Custom rate limit function must return a valid key property '${JSON.stringify(c,null,2)}'`;throw s.log.error(u),new Ft.RuntimeError(u)}return c},"outerFunction")}o(GR,"wrapUserFunction");var BR="Retry-After",KR=o(async(e,t,r,n)=>{let i=Date.now(),s=zg.SystemLogMap.getLogger(t),a=o((u,l)=>{if(r.throwOnFailure)throw new Ft.SystemError(u,{cause:l});s.error(u,l)},"throwOrLog"),c=o((u,l)=>{let d={};return(!u||u==="retry-after")&&(d[BR]=l.toString()),kR.HttpProblems.tooManyRequests(e,t,void 0,d)},"rateLimited");try{let l={function:GR(r,n),user:$R,ip:qR,all:jR}[r.rateLimitBy],d=await l(e,t,n),p=d.key,y=d.requestsAllowed??r.requestsAllowed,h=d.timeWindowMinutes??r.timeWindowMinutes,m=r.headerMode??"retry-after",v=VR(n,s),S=`bucket/${Ti.Environment.instance.build.BUILD_ID}/${n}/${p}`;if((r.mode??FR)==="async"){let C=await(0,UR.getPolicyCacheName)(n,r),re=new MR.ZoneCache(C,{logger:zg.SystemLogMap.getLogger(t)}),ne=Yg(S,h,v,s,t.requestId),fe=await re.get(S);if(fe!==void 0&&fe<=Date.now()){Pa(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${S}' (async mode)`);let Ve=Math.round((fe-Date.now())/1e3);return c(m,Ve)}return t.addEventListener("responseSending",Ve=>{try{let E=Ve,F=E.mutableResponse;E.mutableResponse=(async()=>{let Ce=await ne;if(Ce.count>y){let $c=Date.now()+Ce.ttlSeconds*1e3;return re.put(S,$c,Ce.ttlSeconds).catch(jp=>{throw s.error(jp),jp}),Pa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (async mode)`),c(m,Ce.ttlSeconds)}return F})()}catch(E){s.error(`RateLimitInboundPolicy '${n}' -error in responseSending`,E)}}),e}let j=await Yg(S,h,v,s,t.requestId);return j.count>y?(Pa(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${S}' (strict mode)`),c(m,j.ttlSeconds)):e}catch(u){return a(u.message,u),e}finally{let u=Date.now()-i;Pa(`RateLimitInboundPolicy '${n}' - latency ${u}ms`)}},"RateLimitInboundPolicy");Oa.RateLimitInboundPolicy=KR});var r_=g(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.ReadmeMetricsInboundPolicy=void 0;var JR=ve(),np=ee(),Xg=Yn(),ip;function e_(e){let t=[];for(let[r,n]of e)t.push({name:r,value:n});return t}o(e_,"headersToNameValuePairs");function zR(e){let t=[];return Object.entries(e).forEach(([r,n])=>{t.push({name:r,value:n})}),t}o(zR,"queryToNameValueParis");function WR(e){if(e===null)return;let t=parseFloat(e);if(!isNaN(t))return t}o(WR,"parseIntOrUndefined");var t_={};async function QR(e,t,r,n){let i=new Date,s=Date.now();return ip||(ip={name:"zuplo",version:np.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${np.Environment.instance.build.ZUPLO_VERSION}`}),t.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&e.user?(0,Xg.getValueFromRequestUser)(e.user,r.userLabelPropertyPath,"userLabelPropertyPath"):e.user?.sub,u=r.userEmailPropertyPath&&e.user?(0,Xg.getValueFromRequestUser)(e.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:e.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:np.Environment.instance.isDeno,group:{label:c,email:u,id:e.user?.sub??"anonymous"},request:{log:{creator:ip,entries:[{startedDateTime:i.toISOString(),time:Date.now()-s,request:{method:e.method,url:r.useFullRequestPath?new URL(e.url).pathname:t.route.path,httpVersion:"2",headers:e_(e.headers),queryString:zR(e.query)},response:{status:a.status,statusText:a.statusText,headers:e_(a.headers),content:{size:WR(e.headers.get("content-length"))}}}]}}},d=t_[r.apiKey];if(!d){let p=r.apiKey;d=new JR.BatchDispatch("readme-metering-inbound-policy",10,async y=>{try{let h=r.url??"https://metrics.readme.io/request",m=await fetch(h,{method:"POST",body:JSON.stringify(y),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});m.status!==202&&t.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${m.status}: '${await m.text()}'`)}catch(h){throw t.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),t_[p]=d}d.enqueue(l),t.waitUntil(d.waitUntilFlushed())}catch(c){t.log.error(c)}}),e}o(QR,"ReadmeMetricsInboundPolicy");xa.ReadmeMetricsInboundPolicy=QR});var n_=g(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.RemoveHeadersInboundPolicy=void 0;var YR=L(),ZR=Be(),XR=o(async(e,t,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new YR.ConfigurationError(`RemoveHeadersInboundPolicy '${n}' options.headers must be a non-empty string array of header names`);let s=new Headers(e.headers);return i.forEach(c=>{s.delete(c)}),new ZR.ZuploRequest(e,{headers:s})},"RemoveHeadersInboundPolicy");Na.RemoveHeadersInboundPolicy=XR});var i_=g(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});Ca.RemoveHeadersOutboundPolicy=void 0;var e0=L(),t0=o(async(e,t,r,n,i)=>{let s=n?.headers;if(!s||!Array.isArray(s)||s.length===0)throw new e0.ConfigurationError(`RemoveHeadersOutboundPolicy '${i}' options.headers must be a non-empty string array of header names`);let a=new Headers(e.headers);return s.forEach(u=>{a.delete(u)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"RemoveHeadersOutboundPolicy");Ca.RemoveHeadersOutboundPolicy=t0});var o_=g(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.RemoveQueryParamsInboundPolicy=void 0;var r0=L(),n0=Be(),i0=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new r0.ConfigurationError(`RemoveQueryParamsInboundPolicy '${n}' options.params must be a non-empty string array of header names`);let s=new URL(e.url);return i.forEach(c=>{s.searchParams.delete(c)}),new n0.ZuploRequest(s.toString(),e)},"RemoveQueryParamsInboundPolicy");La.RemoveQueryParamsInboundPolicy=i0});var s_=g(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.ReplaceStringOutboundPolicy=void 0;var o0=o(async(e,t,r,n)=>{let i=await e.text(),s=n.mode==="regexp"?new RegExp(n.match,"gm"):n.match,a=i.replaceAll(s,n.replaceWith);return new Response(a,{headers:e.headers,status:e.status,statusText:e.statusText})},"ReplaceStringOutboundPolicy");Da.ReplaceStringOutboundPolicy=o0});var c_=g(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.RequestSizeLimitInboundPolicy=void 0;var a_=o(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),s0=o(async(e,t,r)=>{let n=r.trustContentLengthHeader??!1;if(["GET","HEAD"].includes(e.method))return e;let i=e.headers.get("content-length"),s=i!==null?parseInt(i):void 0;return s&&!isNaN(s)&&s>r.maxSizeInBytes?a_():s&&n?e:(await e.clone().text()).length>r.maxSizeInBytes?a_():e},"RequestSizeLimitInboundPolicy");Ua.RequestSizeLimitInboundPolicy=s0});var Ma=g(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.sanitizedIdentifierName=tt.getIdForRefSchema=tt.getIdForRequestBodySchema=tt.getIdForParameterSchema=tt.getRawOperationDataIdentifierName=void 0;function a0(e,t,r){return`_${Ur(e+"_"+t+"_"+r)}`}o(a0,"getRawOperationDataIdentifierName");tt.getRawOperationDataIdentifierName=a0;function c0(e,t,r,n){return`_${Ur(e.toLowerCase())}_`+t.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o(c0,"getIdForParameterSchema");tt.getIdForParameterSchema=c0;function u0(e,t,r){return`_${Ur(e.toLowerCase())}_`+t.toLowerCase()+`_rb_${Ur(r.toLowerCase())}`}o(u0,"getIdForRequestBodySchema");tt.getIdForRequestBodySchema=u0;function l0(e,t){return`_${Ur(e)}__${Ur(t)}`}o(l0,"getIdForRefSchema");tt.getIdForRefSchema=l0;function Ur(e){let t=[];for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);n>="0".charCodeAt(0)&&n<="9".charCodeAt(0)||n>="A".charCodeAt(0)&&n<="Z".charCodeAt(0)||n>="a".charCodeAt(0)&&n<="z".charCodeAt(0)?t.push(e.charAt(r)):t.push("_")}return t.join("")}o(Ur,"sanitizedIdentifierName");tt.sanitizedIdentifierName=Ur});var Si=g(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.getErrorsFromValidator=Le.shouldReject=Le.shouldLog=Le.logErrors=Le.validateParameters=Le.getParametersForOperation=void 0;var d0=pn(),p0=Ma(),h0=o(e=>{let t=e.route.raw();return t.parameters?t.parameters.map(n=>({name:n.name,location:n.in,required:n.required,deprecated:n.deprecated,allowEmptyValue:n.allowEmptyValue})):[]},"getParametersForOperation");Le.getParametersForOperation=h0;var f0=o((e,t,r,n,i)=>{let s=[],a=!0,c=[];return e.forEach(u=>{if(u.required&&!t[u.name])a=!1,s.push(`Required ${i} parameter '${u.name}' not found`);else{let l=(0,p0.getIdForParameterSchema)(r,n,i,u.name),d=d0.Gateway.instance.schemaValidator[l],p=d(t[u.name]),y=(0,Le.getErrorsFromValidator)(d.errors);p||(a=!1,c.push(`${i} parameter: ${u.name} : ${t[u.name]}`),s.push(`Invalid value for ${i} parameter: '${u.name}' ${y.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateParameters");Le.validateParameters=f0;var m0=o((e,t,r,n,i)=>{n?e.log[t](r,n,i):e.log[t](r,i)},"logErrors");Le.logErrors=m0;var y0=o(e=>e==="log-only"||e==="reject-and-log","shouldLog");Le.shouldLog=y0;var g0=o(e=>e==="reject-only"||e==="reject-and-log","shouldReject");Le.shouldReject=g0;var _0=o(e=>e?.map(t=>t.instancePath===void 0||t.instancePath===""?t.message??"Unknown validation error":t.instancePath.replace("/","")+" "+t.message)??["Unknown validation error"],"getErrorsFromValidator");Le.getErrorsFromValidator=_0});var u_=g(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.handleBodyValidation=void 0;var b0=pn(),ka=ye(),E0=Ma(),Je=Si();async function w0(e,t,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await t.clone().json()}catch(h){let m=`Error in request body for method : ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,v=ka.HttpProblems.badRequest(t,e,{detail:`${m}, see errors property for more details`,errors:`${h}`});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",m,[n],h),(0,Je.shouldReject)(r.validateBody))return v}if(!t.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${t.method} in route: ${e.route.path}`,m=ka.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?m:void 0}let i=t.headers.get("Content-Type"),s=i.indexOf(";");s>-1&&(i=i.substring(0,s));let a=(0,E0.getIdForRequestBodySchema)(e.route.path,t.method,i),c=b0.Gateway.instance.schemaValidator[a];if(!c){let h=`No schema defined for method: ${t.method} in route: ${e.route.path} with content-type: ${t.headers.get("Content-Type")}`,m=ka.HttpProblems.badRequest(t,e,{detail:h});return(0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",h,[n],[h]),(0,Je.shouldReject)(r.validateBody)?m:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,Je.getErrorsFromValidator)(l),y=ka.HttpProblems.badRequest(t,e,{detail:`${d}, see errors property for more details`,errors:p});if((0,Je.shouldLog)(r.validateBody)&&(0,Je.logErrors)(e,r.logLevel??"info",d,[n],p),(0,Je.shouldReject)(r.validateBody))return y}o(w0,"handleBodyValidation");Fa.handleBodyValidation=w0});var l_=g(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.handleHeadersValidation=void 0;var v0=ye(),Ii=Si();function T0(e,t,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};t.headers.forEach((a,c)=>{n[c]=a});let i=(0,Ii.getParametersForOperation)(e),s=(0,Ii.validateParameters)(i.filter(a=>a.location==="header"),n,e.route.path,t.method.toLowerCase(),"header");if(!s.isValid){let a="Header validation failed",c=v0.HttpProblems.badRequest(t,e,{detail:`${a}, see errors property for more details`,errors:s.errors});if((0,Ii.shouldLog)(r.validateHeaders)&&(0,Ii.logErrors)(e,r.logLevel??"info",a,s.invalidValues,s.errors),(0,Ii.shouldReject)(r.validateHeaders))return c}}o(T0,"handleHeadersValidation");Ha.handleHeadersValidation=T0});var d_=g(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.handlePathParameterValidation=void 0;var S0=ye(),Ai=Si();function I0(e,t,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,Ai.getParametersForOperation)(e),i=(0,Ai.validateParameters)(n.filter(s=>s.location==="path"),t.params,e.route.path,t.method.toLowerCase(),"path");if(!i.isValid){let s="Path parameters validation failed",a=S0.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Ai.shouldLog)(r.validatePathParameters)&&(0,Ai.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Ai.shouldReject)(r.validatePathParameters))return a}}o(I0,"handlePathParameterValidation");qa.handlePathParameterValidation=I0});var p_=g($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.handleQueryParameterValidation=void 0;var A0=ye(),Pi=Si();function P0(e,t,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,Pi.getParametersForOperation)(e),i=(0,Pi.validateParameters)(n.filter(s=>s.location==="query"),t.query,e.route.path,t.method.toLowerCase(),"query");if(!i.isValid){let s="Query parameters validation failed",a=A0.HttpProblems.badRequest(t,e,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,Pi.shouldLog)(r.validateQueryParameters)&&(0,Pi.logErrors)(e,r.logLevel??"info",s,i.invalidValues,i.errors),(0,Pi.shouldReject)(r.validateQueryParameters))return a}}o(P0,"handleQueryParameterValidation");$a.handleQueryParameterValidation=P0});var h_=g(Mr=>{"use strict";Object.defineProperty(Mr,"__esModule",{value:!0});Mr.SchemaBasedRequestValidation=Mr.RequestValidationInboundPolicy=void 0;var R0=u_(),O0=l_(),x0=d_(),N0=p_(),C0=o(async(e,t,r)=>{let n=(0,N0.handleQueryParameterValidation)(t,e,r);if(n!==void 0||(n=(0,x0.handlePathParameterValidation)(t,e,r),n!==void 0)||(n=(0,O0.handleHeadersValidation)(t,e,r),n!==void 0))return n;let i=await(0,R0.handleBodyValidation)(t,e,r);return i!==void 0?i:e},"RequestValidationInboundPolicy");Mr.RequestValidationInboundPolicy=C0;Mr.SchemaBasedRequestValidation=Mr.RequestValidationInboundPolicy});var f_=g(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});ja.RequireOriginInboundPolicy=void 0;var L0=L(),D0=ye(),U0=o(async(e,t,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new L0.ConfigurationError(`RequireOriginInboundPolicy '${n}' configuration error - no allowed origins specified`);let i=typeof r.origins=="string"?r.origins.split(","):r.origins;i=i.map(a=>a.trim());let s=e.headers.get("origin");if(!s||!i.includes(s)){let a=r.failureDetail??"Forbidden";return D0.HttpProblems.forbidden(e,t,{detail:a})}return e},"RequireOriginInboundPolicy");ja.RequireOriginInboundPolicy=U0});var m_=g(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.SetBodyInboundPolicy=void 0;var M0=Be(),k0=o(async(e,t,r)=>new M0.ZuploRequest(e,{body:r.body}),"SetBodyInboundPolicy");Va.SetBodyInboundPolicy=k0});var g_=g(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.SetHeadersInboundPolicy=void 0;var y_=L(),F0=Be(),H0=o(async(e,t,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new y_.ConfigurationError(`SetHeadersInboundPolicy '${n}' options.headers must be a valid array of { name, value }`);let s=new Headers(e.headers);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new y_.ConfigurationError(`SetHeadersInboundPolicy '${n}' each option.headers[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!s.has(c.name)||u)&&s.set(c.name,c.value)}),new F0.ZuploRequest(e,{headers:s})},"SetHeadersInboundPolicy");Ga.SetHeadersInboundPolicy=H0});var b_=g(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});Ba.SetHeadersOutboundPolicy=void 0;var __=L(),q0=o(async(e,t,r,n,i)=>{let s=n.headers;if(!s||!Array.isArray(s)||s.length==0)throw new __.ConfigurationError(`SetHeadersOutboundPolicy '${i}' options.headers must be a valid array of { name, value }`);let a=new Headers(e.headers);return s.forEach(u=>{if(!u.name||u.name.length===0)throw new __.ConfigurationError(`SetHeadersOutboundPolicy '${i}' each option.headers[] entry must have a name property`);let l=u.overwrite===void 0?!0:u.overwrite;(!a.has(u.name)||l)&&a.set(u.name,u.value)}),new Response(e.body,{headers:a,status:e.status,statusText:e.statusText})},"SetHeadersOutboundPolicy");Ba.SetHeadersOutboundPolicy=q0});var w_=g(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.SetQueryParamsInboundPolicy=void 0;var E_=L(),$0=Be(),j0=o(async(e,t,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new E_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' options.params must be a valid array of { name, value }`);let s=new URL(e.url);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new E_.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' each option.params[] entry must have a name property`);let u=c.overwrite===void 0?!0:c.overwrite;(!s.searchParams.has(c.name)||u)&&s.searchParams.set(c.name,c.value)}),new $0.ZuploRequest(s.toString(),e)},"SetQueryParamsInboundPolicy");Ka.SetQueryParamsInboundPolicy=j0});var v_=g(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});Ja.SetStatusOutboundPolicy=void 0;var V0=o(async(e,t,r,n,i)=>{if(!n.status||isNaN(n.status)||n.status<100||n.status>599)throw new Error(`Invalid SetStatusOutboundPolicy '${i}' - status must be a valid number between 100 and 599, not '${n.status}'`);return new Response(e.body,{headers:e.headers,status:n.status,statusText:n.statusText??e.statusText})},"SetStatusOutboundPolicy");Ja.SetStatusOutboundPolicy=V0});var T_=g(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.SleepInboundPolicy=void 0;var G0=L(),B0=o(async e=>new Promise(r=>{setTimeout(r,e)}),"sleep"),K0=o(async(e,t,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new G0.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await B0(r.sleepInMs),e},"SleepInboundPolicy");za.SleepInboundPolicy=K0});var I_=g(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.SupabaseJwtInboundPolicy=void 0;var S_=L(),J0=ye(),z0=Be(),W0=fr(),Q0=kt(),Y0=o(async(e,t,r,n)=>{(0,W0.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},s=await(0,Q0.OpenIdJwtInboundPolicy)(e,t,i,n);if(s instanceof Response)return s;if(!(s instanceof z0.ZuploRequest))throw new S_.SystemError("Invalid State - SupabaseJwtInboundPolicy encountered a non-response that wasn't a ZuploRequest type')");let a=r.requiredClaims;if(!a)return s;let c=e.user?.data.app_metadata;if(!c)throw new S_.RuntimeError(`SupabaseJwtInboundPolicy policy '${n}' - has requiredClaims but the JWT token had no app_metadata property`);let u=Object.keys(a),l=[];return u.forEach(d=>{let p=a[d];Array.isArray(p)?p.includes(c[d])||l.push(d):p!==c[d]&&l.push(d)}),l.length>0?J0.HttpProblems.unauthorized(e,t,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):s},"SupabaseJwtInboundPolicy");Wa.SupabaseJwtInboundPolicy=Y0});var P_=g(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});Qa.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var Z0=hr(),X0=jt(),A_=L(),eO=Ge(),tO=ys(),rO=fr(),nO=o(async(e,t,r,n)=>{(0,rO.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,Z0.getPolicyCacheName)(n,r),s=new X0.MemoryZoneReadThroughCache(i,{logger:eO.SystemLogMap.getLogger(t)}),a=await s.get(n);if(!a){let c=await iO(r,t);s.put(n,c.access_token,c.expires_in-(r.expirationOffsetSeconds??300)),a=c.access_token}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamAzureAdServiceAuthInboundPolicy");Qa.UpstreamAzureAdServiceAuthInboundPolicy=nO;async function iO(e,t){let r=new URLSearchParams({client_id:e.activeDirectoryClientId,scope:`${e.activeDirectoryClientId}/.default`,client_secret:e.activeDirectoryClientSecret,grant_type:"client_credentials"}),n=await(0,tO.fetchRetry)({retries:e.tokenRetries??3,retryDelayMs:10},`https://login.microsoftonline.com/${e.activeDirectoryTenantId}/oauth2/v2.0/token`,{headers:{"content-type":"application/x-www-form-urlencoded"},method:"POST",body:r});if(n.status!==200){try{let s=await n.text();t.log.error("Could not get token from Azure AD",s)}catch{}throw new A_.RuntimeError("Could not get token from Azure AD")}let i=await n.json();if(i&&typeof i=="object"&&"access_token"in i&&typeof i.access_token=="string"&&"expires_in"in i&&typeof i.expires_in=="number")return{access_token:i.access_token,expires_in:i.expires_in};throw new A_.RuntimeError("Response returned from Azure AD is not in the expected format.")}o(iO,"getAccessToken")});var O_=g(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var oO=hr(),sO=jt(),aO=L(),cO=Ge(),op=un(),uO=fr(),R_="https://accounts.google.com/o/oauth2/token",sp,lO=o(async(e,t,r,n)=>{(0,uO.optionValidator)(r,n).required("serviceAccountJson","string"),sp||(sp=await op.GcpServiceAccount.init(r.serviceAccountJson));let i={scope:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/firebase.database","https://www.googleapis.com/auth/firebase.messaging","https://www.googleapis.com/auth/identitytoolkit","https://www.googleapis.com/auth/userinfo.email"].join(" ")},s=await(0,oO.getPolicyCacheName)(n,r),a=new sO.MemoryZoneReadThroughCache(s,{logger:cO.SystemLogMap.getLogger(t)}),c=await a.get(n);if(!c){let u=await(0,op.getTokenFromGcpServiceAccount)({serviceAccount:sp,audience:R_,payload:i}),l=await(0,op.exchangeGgpJwtForIdToken)(R_,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new aO.RuntimeError("Invalid OAuth response from Firebase");c=l.access_token,a.put(n,c,(l.expires_in??3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${c}`),e},"UpstreamFirebaseAdminAuthInboundPolicy");Ya.UpstreamFirebaseAdminAuthInboundPolicy=lO});var x_=g(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.UpstreamFirebaseUserAuthInboundPolicy=void 0;var dO=hr(),pO=jt(),Cn=L(),hO=Ge(),fO=$d(),ap=un(),mO=Yn(),yO=fr(),gO="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",_O=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],cp,bO=o(async(e,t,r,n)=>{if((0,yO.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new Cn.ConfigurationError(`Either 'userId' or 'userIdPropertyPath' options must be set on policy '${n}'.`);let i={};if(typeof r.developerClaims<"u"){for(let p in r.developerClaims)if(Object.prototype.hasOwnProperty.call(r.developerClaims,p)){if(_O.indexOf(p)!==-1)throw new Cn.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}cp||(cp=await ap.GcpServiceAccount.init(r.serviceAccountJson));let s=r.userId;if(!s&&!r.userIdPropertyPath){if(!e.user)throw new Cn.RuntimeError("Unable to set userId for upstream auth policy as request.user is 'undefined'. Do you have an authentication policy before this policy?.");s=e.user?.sub}else if(r.userIdPropertyPath){if(!e.user)throw new Cn.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);s=(0,mO.getValueFromRequestUser)(e.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!s)throw new Cn.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,dO.getPolicyCacheName)(n,r),c=new pO.MemoryZoneReadThroughCache(a,{logger:hO.SystemLogMap.getLogger(t)}),u={uid:s,claims:i},l=await(0,fO.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,ap.getTokenFromGcpServiceAccount)({serviceAccount:cp,audience:gO,payload:u}),y=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,ap.exchangeFirebaseJwtForIdToken)(y,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new Cn.RuntimeError("Invalid token response from Firebase");d=h.idToken,c.put(l,d,(h.expiresIn?parseInt(h.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${d}`),e},"UpstreamFirebaseUserAuthInboundPolicy");Za.UpstreamFirebaseUserAuthInboundPolicy=bO});var C_=g(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.UpstreamGcpJwtInboundPolicy=void 0;var N_=un(),EO=fr(),up,wO=o(async(e,t,r,n)=>{(0,EO.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),up||(up=await N_.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,N_.getTokenFromGcpServiceAccount)({serviceAccount:up,audience:r.audience});return e.headers.set("Authorization",`Bearer ${i}`),e},"UpstreamGcpJwtInboundPolicy");Xa.UpstreamGcpJwtInboundPolicy=wO});var D_=g(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.UpstreamGcpServiceAuthInboundPolicy=void 0;var vO=hr(),TO=zc(),SO=jt(),IO=L(),lp=un(),AO=fr(),L_="https://www.googleapis.com/oauth2/v4/token",dp,PO=o(async(e,t,r,n)=>{(0,AO.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),dp||(dp=await lp.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,vO.getPolicyCacheName)(n,r),s;r.useMemoryCacheOnly?s=new TO.MemoryCache(i):s=new SO.MemoryZoneReadThroughCache(i,t);let a=await s.get(n);if(!a){let c=await(0,lp.getTokenFromGcpServiceAccount)({serviceAccount:dp,audience:L_,payload:{target_audience:`${r.audience}`}}),{id_token:u}=await(0,lp.exchangeGgpJwtForIdToken)(L_,c,{retries:r.tokenRetries??3,retryDelayMs:10});if(!u)throw new IO.RuntimeError("Invalid token response from GCP");a=u,s.put(n,a,3600-(r.expirationOffsetSeconds??300))}return e.headers.set("Authorization",`Bearer ${a}`),e},"UpstreamGcpServiceAuthInboundPolicy");ec.UpstreamGcpServiceAuthInboundPolicy=PO});var M_=g(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.ValidateJsonSchemaInbound=void 0;var RO=L(),U_=ye(),OO=o(async(e,t,r)=>{let n=e.clone(),i;try{i=await n.json()}catch{return U_.HttpProblems.badRequest(e,t,{detail:"Invalid JSON body - expected well-formed JSON document"})}if(r.validator(i))return e;let{errors:a}=r.validator;if(!a)throw new RO.SystemError("Invalid state - validator error object is undefined even though validation failed.");let c=a.map(u=>u.instancePath===void 0||u.instancePath===""?"Body "+u.message:u.instancePath.replace("/","")+" "+u.message);return U_.HttpProblems.badRequest(e,t,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");tc.ValidateJsonSchemaInbound=OO});var k_=g(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.ServiceProviderImpl=void 0;var xO=L(),pp=class e{static{o(this,"ServiceProviderImpl")}static#e;services=new Map;constructor(){}static getInstance(){return e.#e||(e.#e=new e),e.#e}setInstance(t){e.#e=t}addService(t,r){if(this.services.get(t))throw new xO.SystemError(`A service with the name ${t} already exists -- you cannot have duplicate services`);this.services.set(t,r)}getService(t){return this.services.get(t)}};rc.ServiceProviderImpl=pp});var W_=g(f=>{"use strict";var NO=f&&f.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),F_=f&&f.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&NO(t,e,r)},CO=f&&f.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(f,"__esModule",{value:!0});f.ReadmeMetricsInboundPolicy=f.RateLimitInboundPolicy=f.BasicRateLimitInboundPolicy=f.PropelAuthJwtInboundPolicy=f.OpenIdJwtInboundPolicy=f.OktaJwtInboundPolicy=f.setMoesifContext=f.MoesifInboundPolicy=f.MockApiInboundPolicy=f.JWTScopeValidationInboundPolicy=f.GeoFilterInboundPolicy=f.FormDataToJsonInboundPolicy=f.FirebaseJwtInboundPolicy=f.CompositeInboundPolicy=f.CognitoJwtInboundPolicy=f.ClerkJwtInboundPolicy=f.ClearHeadersOutboundPolicy=f.ClearHeadersInboundPolicy=f.ChangeMethodInboundPolicy=f.CachingInboundPolicy=f.BasicAuthInboundPolicy=f.Auth0JwtInboundPolicy=f.ApiKeyInboundPolicy=f.CurityPhantomTokenInboundPolicy=f.ApiAuthKeyInboundPolicy=f.AmberfloMeteringPolicy=f.AmberfloMeteringInboundPolicy=f.AuditLogPlugin=f.AuditLogDataStaxProvider=f.HttpStatusCode=f.webSocketPipelineHandler=f.webSocketHandler=f.urlRewriteHandler=f.urlForwardHandler=f.redirectHandler=f.openApiSpecHandler=f.awsLambdaHandler=f.AwsLambdaHandlerExtensions=f.purgeGatewayCache=f.Handler=f.originalFetch=f.ConfigurationError=f.isZuploReadableEnvVariableName=f.isRestrictedEnvVariableName=f.environment=f.ContextData=f.ResponseSentEvent=f.ResponseSendingEvent=f.ZoneCache=f.MemoryZoneReadThroughCache=void 0;f.sanitizedIdentifierName=f.getRawOperationDataIdentifierName=f.getIdForRequestBodySchema=f.getIdForRefSchema=f.getIdForParameterSchema=f.SystemLogMap=f.httpStatuses=f.SYSTEM_LOGGER=f.API_KEY=f.ServiceProviderImpl=f.serialize=f.ContentTypes=f.Router=f.LookupResult=f.SystemRouteName=f.ZuploRequest=f.ProblemResponseFormatter=f.HttpProblems=f.ValidateJsonSchemaInbound=f.UpstreamGcpServiceAuthInboundPolicy=f.UpstreamGcpJwtInboundPolicy=f.UpstreamFirebaseUserAuthInboundPolicy=f.UpstreamFirebaseAdminAuthInboundPolicy=f.UpstreamAzureAdServiceAuthInboundPolicy=f.SupabaseJwtInboundPolicy=f.SleepInboundPolicy=f.SetStatusOutboundPolicy=f.SetQueryParamsInboundPolicy=f.SetHeadersOutboundPolicy=f.SetHeadersInboundPolicy=f.SetBodyInboundPolicy=f.RequireOriginInboundPolicy=f.SchemaBasedRequestValidation=f.RequestValidationInboundPolicy=f.RequestSizeLimitInboundPolicy=f.ReplaceStringOutboundPolicy=f.RemoveQueryParamsInboundPolicy=f.RemoveHeadersOutboundPolicy=f.RemoveHeadersInboundPolicy=void 0;zp();var LO=jt();Object.defineProperty(f,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return LO.MemoryZoneReadThroughCache}});var DO=Qi();Object.defineProperty(f,"ZoneCache",{enumerable:!0,get:function(){return DO.ZoneCache}});var H_=Tr();Object.defineProperty(f,"ResponseSendingEvent",{enumerable:!0,get:function(){return H_.ResponseSendingEvent}});Object.defineProperty(f,"ResponseSentEvent",{enumerable:!0,get:function(){return H_.ResponseSentEvent}});var UO=hy();Object.defineProperty(f,"ContextData",{enumerable:!0,get:function(){return UO.ContextData}});var hp=od();Object.defineProperty(f,"environment",{enumerable:!0,get:function(){return hp.environment}});Object.defineProperty(f,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return hp.isRestrictedEnvVariableName}});Object.defineProperty(f,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return hp.isZuploReadableEnvVariableName}});var MO=L();Object.defineProperty(f,"ConfigurationError",{enumerable:!0,get:function(){return MO.ConfigurationError}});var kO=ad();Object.defineProperty(f,"originalFetch",{enumerable:!0,get:function(){return kO.originalFetch}});var q_=vy();Object.defineProperty(f,"Handler",{enumerable:!0,get:function(){return q_.Handler}});Object.defineProperty(f,"purgeGatewayCache",{enumerable:!0,get:function(){return q_.purgeGatewayCache}});var $_=Hy();Object.defineProperty(f,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return $_.AwsLambdaHandlerExtensions}});Object.defineProperty(f,"awsLambdaHandler",{enumerable:!0,get:function(){return $_.awsLambdaHandler}});var FO=$y();Object.defineProperty(f,"openApiSpecHandler",{enumerable:!0,get:function(){return FO.openApiSpecHandler}});var HO=jy();Object.defineProperty(f,"redirectHandler",{enumerable:!0,get:function(){return HO.redirectHandler}});var qO=Gy();Object.defineProperty(f,"urlForwardHandler",{enumerable:!0,get:function(){return qO.urlForwardHandler}});var $O=Ky();Object.defineProperty(f,"urlRewriteHandler",{enumerable:!0,get:function(){return $O.urlRewriteHandler}});var jO=zy();Object.defineProperty(f,"webSocketHandler",{enumerable:!0,get:function(){return jO.webSocketHandler}});var VO=Yy();Object.defineProperty(f,"webSocketPipelineHandler",{enumerable:!0,get:function(){return VO.webSocketPipelineHandler}});var GO=yu();Object.defineProperty(f,"HttpStatusCode",{enumerable:!0,get:function(){return GO.HttpStatusCode}});F_(og(),f);F_(cg(),f);var BO=ug();Object.defineProperty(f,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return BO.AuditLogDataStaxProvider}});var KO=dg();Object.defineProperty(f,"AuditLogPlugin",{enumerable:!0,get:function(){return KO.AuditLogPlugin}});var j_=yg();Object.defineProperty(f,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return j_.AmberfloMeteringInboundPolicy}});Object.defineProperty(f,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return j_.AmberfloMeteringPolicy}});var JO=Eg();Object.defineProperty(f,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return JO.ApiAuthKeyInboundPolicy}});var zO=wg();Object.defineProperty(f,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return zO.CurityPhantomTokenInboundPolicy}});var WO=Bd();Object.defineProperty(f,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return WO.ApiKeyInboundPolicy}});var QO=vg();Object.defineProperty(f,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return QO.Auth0JwtInboundPolicy}});var YO=Tg();Object.defineProperty(f,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return YO.BasicAuthInboundPolicy}});var ZO=Sg();Object.defineProperty(f,"CachingInboundPolicy",{enumerable:!0,get:function(){return ZO.CachingInboundPolicy}});var XO=Ig();Object.defineProperty(f,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return XO.ChangeMethodInboundPolicy}});var ex=Ag();Object.defineProperty(f,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return ex.ClearHeadersInboundPolicy}});var tx=Pg();Object.defineProperty(f,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return tx.ClearHeadersOutboundPolicy}});var rx=Rg();Object.defineProperty(f,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return rx.ClerkJwtInboundPolicy}});var nx=xg();Object.defineProperty(f,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return nx.CognitoJwtInboundPolicy}});var ix=Cg();Object.defineProperty(f,"CompositeInboundPolicy",{enumerable:!0,get:function(){return ix.CompositeInboundPolicy}});var ox=Lg();Object.defineProperty(f,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return ox.FirebaseJwtInboundPolicy}});var sx=Dg();Object.defineProperty(f,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return sx.FormDataToJsonInboundPolicy}});var ax=Ug();Object.defineProperty(f,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return ax.GeoFilterInboundPolicy}});var cx=Mg();Object.defineProperty(f,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return cx.JWTScopeValidationInboundPolicy}});var ux=Fg();Object.defineProperty(f,"MockApiInboundPolicy",{enumerable:!0,get:function(){return ux.MockApiInboundPolicy}});var V_=Vg();Object.defineProperty(f,"MoesifInboundPolicy",{enumerable:!0,get:function(){return V_.MoesifInboundPolicy}});Object.defineProperty(f,"setMoesifContext",{enumerable:!0,get:function(){return V_.setMoesifContext}});var lx=Gg();Object.defineProperty(f,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return lx.OktaJwtInboundPolicy}});var dx=kt();Object.defineProperty(f,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return dx.OpenIdJwtInboundPolicy}});var px=Bg();Object.defineProperty(f,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return px.PropelAuthJwtInboundPolicy}});var G_=Zg();Object.defineProperty(f,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return G_.RateLimitInboundPolicy}});Object.defineProperty(f,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return G_.RateLimitInboundPolicy}});var hx=r_();Object.defineProperty(f,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return hx.ReadmeMetricsInboundPolicy}});var fx=n_();Object.defineProperty(f,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return fx.RemoveHeadersInboundPolicy}});var mx=i_();Object.defineProperty(f,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return mx.RemoveHeadersOutboundPolicy}});var yx=o_();Object.defineProperty(f,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return yx.RemoveQueryParamsInboundPolicy}});var gx=s_();Object.defineProperty(f,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return gx.ReplaceStringOutboundPolicy}});var _x=c_();Object.defineProperty(f,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return _x.RequestSizeLimitInboundPolicy}});var B_=h_();Object.defineProperty(f,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return B_.RequestValidationInboundPolicy}});Object.defineProperty(f,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return B_.SchemaBasedRequestValidation}});var bx=f_();Object.defineProperty(f,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return bx.RequireOriginInboundPolicy}});var Ex=m_();Object.defineProperty(f,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return Ex.SetBodyInboundPolicy}});var wx=g_();Object.defineProperty(f,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return wx.SetHeadersInboundPolicy}});var vx=b_();Object.defineProperty(f,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return vx.SetHeadersOutboundPolicy}});var Tx=w_();Object.defineProperty(f,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return Tx.SetQueryParamsInboundPolicy}});var Sx=v_();Object.defineProperty(f,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return Sx.SetStatusOutboundPolicy}});var Ix=T_();Object.defineProperty(f,"SleepInboundPolicy",{enumerable:!0,get:function(){return Ix.SleepInboundPolicy}});var Ax=I_();Object.defineProperty(f,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return Ax.SupabaseJwtInboundPolicy}});var Px=P_();Object.defineProperty(f,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return Px.UpstreamAzureAdServiceAuthInboundPolicy}});var Rx=O_();Object.defineProperty(f,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return Rx.UpstreamFirebaseAdminAuthInboundPolicy}});var Ox=x_();Object.defineProperty(f,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return Ox.UpstreamFirebaseUserAuthInboundPolicy}});var xx=C_();Object.defineProperty(f,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return xx.UpstreamGcpJwtInboundPolicy}});var Nx=D_();Object.defineProperty(f,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return Nx.UpstreamGcpServiceAuthInboundPolicy}});var Cx=M_();Object.defineProperty(f,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return Cx.ValidateJsonSchemaInbound}});var Lx=ye();Object.defineProperty(f,"HttpProblems",{enumerable:!0,get:function(){return Lx.HttpProblems}});var Dx=oo();Object.defineProperty(f,"ProblemResponseFormatter",{enumerable:!0,get:function(){return Dx.ProblemResponseFormatter}});var Ux=Be();Object.defineProperty(f,"ZuploRequest",{enumerable:!0,get:function(){return Ux.ZuploRequest}});var Mx=Ar();Object.defineProperty(f,"SystemRouteName",{enumerable:!0,get:function(){return Mx.SystemRouteName}});var K_=Ql();Object.defineProperty(f,"LookupResult",{enumerable:!0,get:function(){return K_.LookupResult}});Object.defineProperty(f,"Router",{enumerable:!0,get:function(){return K_.Router}});var J_=cu();Object.defineProperty(f,"ContentTypes",{enumerable:!0,get:function(){return J_.ContentTypes}});Object.defineProperty(f,"serialize",{enumerable:!0,get:function(){return J_.serialize}});var kx=k_();Object.defineProperty(f,"ServiceProviderImpl",{enumerable:!0,get:function(){return kx.ServiceProviderImpl}});var z_=xu();Object.defineProperty(f,"API_KEY",{enumerable:!0,get:function(){return z_.API_KEY}});Object.defineProperty(f,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return z_.SYSTEM_LOGGER}});var Fx=_u();Object.defineProperty(f,"httpStatuses",{enumerable:!0,get:function(){return CO(Fx).default}});var Hx=Ge();Object.defineProperty(f,"SystemLogMap",{enumerable:!0,get:function(){return Hx.SystemLogMap}});var Ri=Ma();Object.defineProperty(f,"getIdForParameterSchema",{enumerable:!0,get:function(){return Ri.getIdForParameterSchema}});Object.defineProperty(f,"getIdForRefSchema",{enumerable:!0,get:function(){return Ri.getIdForRefSchema}});Object.defineProperty(f,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return Ri.getIdForRequestBodySchema}});Object.defineProperty(f,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return Ri.getRawOperationDataIdentifierName}});Object.defineProperty(f,"sanitizedIdentifierName",{enumerable:!0,get:function(){return Ri.sanitizedIdentifierName}})});var Q_=g(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.BaseCryptoBeta=Ln.supportedDigests=void 0;Ln.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var fp=class{static{o(this,"BaseCryptoBeta")}};Ln.BaseCryptoBeta=fp});var Y_=g(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.WorkerCryptoBeta=void 0;var mp=Q_(),qx=L(),yp=class extends mp.BaseCryptoBeta{static{o(this,"WorkerCryptoBeta")}async digest(t,r){if(!mp.supportedDigests.includes(t.toLowerCase()))throw new qx.RuntimeError(`Algorithm ${t} is not supported. Try using ${mp.supportedDigests.join(", ")}`);let n=new TextEncoder().encode(r),i=await crypto.subtle.digest(t,n);return Array.from(new Uint8Array(i)).map(c=>c.toString(16).padStart(2,"0")).join("")}};nc.WorkerCryptoBeta=yp});var Z_=g(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.BaseKeyValueStore=void 0;var gp=class{static{o(this,"BaseKeyValueStore")}context;constructor(t){this.context=t}};ic.BaseKeyValueStore=gp});var eb=g(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.WorkerKeyValueStore=void 0;var X_=L(),$x=Z_(),_p=class extends $x.BaseKeyValueStore{static{o(this,"WorkerKeyValueStore")}#e;constructor(t){super(t);let n=globalThis.ZUPLO_KV;if(!n)throw new X_.FeatureNotEnabledError("The Key Value Store feature is not enabled for this project.");this.#e=n}put(t,r,n){if(typeof t!="string")throw new X_.ConfigurationError("value must be of type string");return this.#e.put(t,r,n?{expirationTtl:n.expirationSecondsTtl}:void 0)}get(t,r){return this.#e.get(t,{type:"text",cacheTtl:r?.cacheSecondsTtl})}delete(t){return this.#e.delete(t)}};oc.WorkerKeyValueStore=_p});var xt=g(ct=>{"use strict";var jx=ct&&ct.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Vx=ct&&ct.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&jx(t,e,r)};Object.defineProperty(ct,"__esModule",{value:!0});ct.KeyValueStore=ct.CryptoBeta=void 0;Vx(W_(),ct);var Gx=Y_();Object.defineProperty(ct,"CryptoBeta",{enumerable:!0,get:function(){return Gx.WorkerCryptoBeta}});var Bx=eb();Object.defineProperty(ct,"KeyValueStore",{enumerable:!0,get:function(){return Bx.WorkerKeyValueStore}})});var ZN={};Gi(ZN,{GraphQLComplexityLimitInboundPolicy:()=>Cb,GraphQLDisableIntrospectionInboundPolicy:()=>Db});module.exports=Bi(ZN);var Bn=Gp(xt());function B(e,t){if(!!!e)throw new Error(t)}o(B,"devAssert");function Ee(e){return typeof e=="object"&&e!==null}o(Ee,"isObjectLike");function St(e,t){if(!!!e)throw new Error(t??"Unexpected invariant triggered.")}o(St,"invariant");var Kx=/\r\n|[\n\r]/g;function Dn(e,t){let r=0,n=1;for(let i of e.body.matchAll(Kx)){if(typeof i.index=="number"||St(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}o(Dn,"getLocation");function bp(e){return sc(e.source,Dn(e.source,e.start))}o(bp,"printLocation");function sc(e,t){let r=e.locationOffset.column-1,n="".padStart(r)+e.body,i=t.line-1,s=e.locationOffset.line-1,a=t.line+s,c=t.line===1?r:0,u=t.column+c,l=`${e.name}:${a}:${u}
66
+ `,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let y=Math.floor(u/80),h=u%80,m=[];for(let v=0;v<p.length;v+=80)m.push(p.slice(v,v+80));return l+tb([[`${a} |`,m[0]],...m.slice(1,y+1).map(v=>["|",v]),["|","^".padStart(h)],["|",m[y+1]]])}return l+tb([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}o(sc,"printSourceLocation");function tb(e){let t=e.filter(([n,i])=>i!==void 0),r=Math.max(...t.map(([n])=>n.length));return t.map(([n,i])=>n.padStart(r)+(i?" "+i:"")).join(`
67
+ `)}o(tb,"printPrefixedLines");function Jx(e){let t=e[0];return t==null||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}o(Jx,"toNormalizedOptions");var N=class e extends Error{static{o(this,"GraphQLError")}constructor(t,...r){var n,i,s;let{nodes:a,source:c,positions:u,path:l,originalError:d,extensions:p}=Jx(r);super(t),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=rb(Array.isArray(a)?a:a?[a]:void 0);let y=rb((n=this.nodes)===null||n===void 0?void 0:n.map(m=>m.loc).filter(m=>m!=null));this.source=c??(y==null||(i=y[0])===null||i===void 0?void 0:i.source),this.positions=u??y?.map(m=>m.start),this.locations=u&&c?u.map(m=>Dn(c,m)):y?.map(m=>Dn(m.source,m.start));let h=Ee(d?.extensions)?d?.extensions:void 0;this.extensions=(s=p??h)!==null&&s!==void 0?s:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),d!=null&&d.stack?Object.defineProperty(this,"stack",{value:d.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let t=this.message;if(this.nodes)for(let r of this.nodes)r.loc&&(t+=`
68
68
 
69
- `+_p(r.loc));else if(this.source&&this.locations)for(let r of this.locations)t+=`
69
+ `+bp(r.loc));else if(this.source&&this.locations)for(let r of this.locations)t+=`
70
70
 
71
- `+oc(this.source,r);return t}toJSON(){let t={message:this.message};return this.locations!=null&&(t.locations=this.locations),this.path!=null&&(t.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(t.extensions=this.extensions),t}};function eb(e){return e===void 0||e.length===0?void 0:e}o(eb,"undefinedIfEmpty");function le(e,t,r){return new N(`Syntax Error: ${r}`,{source:e,positions:[t]})}o(le,"syntaxError");var Oi=class{static{o(this,"Location")}constructor(t,r,n){this.start=t.start,this.end=r.end,this.startToken=t,this.endToken=r,this.source=n}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},Un=class{static{o(this,"Token")}constructor(t,r,n,i,s,a){this.kind=t,this.start=r,this.end=n,this.line=i,this.column=s,this.value=a,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}},bp={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},qx=new Set(Object.keys(bp));function xi(e){let t=e?.kind;return typeof t=="string"&&qx.has(t)}o(xi,"isNode");var rt;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(rt||(rt={}));var K;(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(K||(K={}));var _;(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(_||(_={}));function sc(e){return e===9||e===32}o(sc,"isWhiteSpace");function Mn(e){return e>=48&&e<=57}o(Mn,"isDigit");function tb(e){return e>=97&&e<=122||e>=65&&e<=90}o(tb,"isLetter");function Ni(e){return tb(e)||e===95}o(Ni,"isNameStart");function ac(e){return tb(e)||Mn(e)||e===95}o(ac,"isNameContinue");function rb(e){var t;let r=Number.MAX_SAFE_INTEGER,n=null,i=-1;for(let a=0;a<e.length;++a){var s;let c=e[a],u=$x(c);u!==c.length&&(n=(s=n)!==null&&s!==void 0?s:a,i=a,a!==0&&u<r&&(r=u))}return e.map((a,c)=>c===0?a:a.slice(r)).slice((t=n)!==null&&t!==void 0?t:0,i+1)}o(rb,"dedentBlockStringLines");function $x(e){let t=0;for(;t<e.length&&sc(e.charCodeAt(t));)++t;return t}o($x,"leadingWhitespace");function nb(e,t){let r=e.replace(/"""/g,'\\"""'),n=r.split(/\r\n|[\n\r]/g),i=n.length===1,s=n.length>1&&n.slice(1).every(h=>h.length===0||sc(h.charCodeAt(0))),a=r.endsWith('\\"""'),c=e.endsWith('"')&&!a,u=e.endsWith("\\"),l=c||u,d=!(t!=null&&t.minimize)&&(!i||e.length>70||l||s||a),p="",y=i&&sc(e.charCodeAt(0));return(d&&!y||s)&&(p+=`
71
+ `+sc(this.source,r);return t}toJSON(){let t={message:this.message};return this.locations!=null&&(t.locations=this.locations),this.path!=null&&(t.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(t.extensions=this.extensions),t}};function rb(e){return e===void 0||e.length===0?void 0:e}o(rb,"undefinedIfEmpty");function le(e,t,r){return new N(`Syntax Error: ${r}`,{source:e,positions:[t]})}o(le,"syntaxError");var Oi=class{static{o(this,"Location")}constructor(t,r,n){this.start=t.start,this.end=r.end,this.startToken=t,this.endToken=r,this.source=n}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},Un=class{static{o(this,"Token")}constructor(t,r,n,i,s,a){this.kind=t,this.start=r,this.end=n,this.line=i,this.column=s,this.value=a,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}},Ep={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},zx=new Set(Object.keys(Ep));function xi(e){let t=e?.kind;return typeof t=="string"&&zx.has(t)}o(xi,"isNode");var rt;(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(rt||(rt={}));var K;(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(K||(K={}));var _;(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(_||(_={}));function ac(e){return e===9||e===32}o(ac,"isWhiteSpace");function Mn(e){return e>=48&&e<=57}o(Mn,"isDigit");function nb(e){return e>=97&&e<=122||e>=65&&e<=90}o(nb,"isLetter");function Ni(e){return nb(e)||e===95}o(Ni,"isNameStart");function cc(e){return nb(e)||Mn(e)||e===95}o(cc,"isNameContinue");function ib(e){var t;let r=Number.MAX_SAFE_INTEGER,n=null,i=-1;for(let a=0;a<e.length;++a){var s;let c=e[a],u=Wx(c);u!==c.length&&(n=(s=n)!==null&&s!==void 0?s:a,i=a,a!==0&&u<r&&(r=u))}return e.map((a,c)=>c===0?a:a.slice(r)).slice((t=n)!==null&&t!==void 0?t:0,i+1)}o(ib,"dedentBlockStringLines");function Wx(e){let t=0;for(;t<e.length&&ac(e.charCodeAt(t));)++t;return t}o(Wx,"leadingWhitespace");function ob(e,t){let r=e.replace(/"""/g,'\\"""'),n=r.split(/\r\n|[\n\r]/g),i=n.length===1,s=n.length>1&&n.slice(1).every(h=>h.length===0||ac(h.charCodeAt(0))),a=r.endsWith('\\"""'),c=e.endsWith('"')&&!a,u=e.endsWith("\\"),l=c||u,d=!(t!=null&&t.minimize)&&(!i||e.length>70||l||s||a),p="",y=i&&ac(e.charCodeAt(0));return(d&&!y||s)&&(p+=`
72
72
  `),p+=r,(d||l)&&(p+=`
73
- `),'"""'+p+'"""'}o(nb,"printBlockString");var b;(function(e){e.SOF="<SOF>",e.EOF="<EOF>",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"})(b||(b={}));var Li=class{static{o(this,"Lexer")}constructor(t){let r=new Un(b.SOF,0,0,0,0);this.source=t,this.lastToken=r,this.token=r,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let t=this.token;if(t.kind!==b.EOF)do if(t.next)t=t.next;else{let r=jx(this,t.end);t.next=r,r.prev=t,t=r}while(t.kind===b.COMMENT);return t}};function ob(e){return e===b.BANG||e===b.DOLLAR||e===b.AMP||e===b.PAREN_L||e===b.PAREN_R||e===b.SPREAD||e===b.COLON||e===b.EQUALS||e===b.AT||e===b.BRACKET_L||e===b.BRACKET_R||e===b.BRACE_L||e===b.PIPE||e===b.BRACE_R}o(ob,"isPunctuatorTokenKind");function kn(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}o(kn,"isUnicodeScalarValue");function cc(e,t){return sb(e.charCodeAt(t))&&ab(e.charCodeAt(t+1))}o(cc,"isSupplementaryCodePoint");function sb(e){return e>=55296&&e<=56319}o(sb,"isLeadingSurrogate");function ab(e){return e>=56320&&e<=57343}o(ab,"isTrailingSurrogate");function kr(e,t){let r=e.source.body.codePointAt(t);if(r===void 0)return b.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}o(kr,"printCodePointAt");function he(e,t,r,n,i){let s=e.line,a=1+r-e.lineStart;return new Un(t,r,n,s,a,i)}o(he,"createToken");function jx(e,t){let r=e.source.body,n=r.length,i=t;for(;i<n;){let s=r.charCodeAt(i);switch(s){case 65279:case 9:case 32:case 44:++i;continue;case 10:++i,++e.line,e.lineStart=i;continue;case 13:r.charCodeAt(i+1)===10?i+=2:++i,++e.line,e.lineStart=i;continue;case 35:return Vx(e,i);case 33:return he(e,b.BANG,i,i+1);case 36:return he(e,b.DOLLAR,i,i+1);case 38:return he(e,b.AMP,i,i+1);case 40:return he(e,b.PAREN_L,i,i+1);case 41:return he(e,b.PAREN_R,i,i+1);case 46:if(r.charCodeAt(i+1)===46&&r.charCodeAt(i+2)===46)return he(e,b.SPREAD,i,i+3);break;case 58:return he(e,b.COLON,i,i+1);case 61:return he(e,b.EQUALS,i,i+1);case 64:return he(e,b.AT,i,i+1);case 91:return he(e,b.BRACKET_L,i,i+1);case 93:return he(e,b.BRACKET_R,i,i+1);case 123:return he(e,b.BRACE_L,i,i+1);case 124:return he(e,b.PIPE,i,i+1);case 125:return he(e,b.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?Wx(e,i):Bx(e,i)}if(Mn(s)||s===45)return Gx(e,i,s);if(Ni(s))return Qx(e,i);throw le(e.source,i,s===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:kn(s)||cc(r,i)?`Unexpected character: ${kr(e,i)}.`:`Invalid character: ${kr(e,i)}.`)}return he(e,b.EOF,n,n)}o(jx,"readNextToken");function Vx(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let s=r.charCodeAt(i);if(s===10||s===13)break;if(kn(s))++i;else if(cc(r,i))i+=2;else break}return he(e,b.COMMENT,t,i,r.slice(t+1,i))}o(Vx,"readComment");function Gx(e,t,r){let n=e.source.body,i=t,s=r,a=!1;if(s===45&&(s=n.charCodeAt(++i)),s===48){if(s=n.charCodeAt(++i),Mn(s))throw le(e.source,i,`Invalid number, unexpected digit after 0: ${kr(e,i)}.`)}else i=Ep(e,i,s),s=n.charCodeAt(i);if(s===46&&(a=!0,s=n.charCodeAt(++i),i=Ep(e,i,s),s=n.charCodeAt(i)),(s===69||s===101)&&(a=!0,s=n.charCodeAt(++i),(s===43||s===45)&&(s=n.charCodeAt(++i)),i=Ep(e,i,s),s=n.charCodeAt(i)),s===46||Ni(s))throw le(e.source,i,`Invalid number, expected digit but got: ${kr(e,i)}.`);return he(e,a?b.FLOAT:b.INT,t,i,n.slice(t,i))}o(Gx,"readNumber");function Ep(e,t,r){if(!Mn(r))throw le(e.source,t,`Invalid number, expected digit but got: ${kr(e,t)}.`);let n=e.source.body,i=t+1;for(;Mn(n.charCodeAt(i));)++i;return i}o(Ep,"readDigits");function Bx(e,t){let r=e.source.body,n=r.length,i=t+1,s=i,a="";for(;i<n;){let c=r.charCodeAt(i);if(c===34)return a+=r.slice(s,i),he(e,b.STRING,t,i+1,a);if(c===92){a+=r.slice(s,i);let u=r.charCodeAt(i+1)===117?r.charCodeAt(i+2)===123?Kx(e,i):Jx(e,i):zx(e,i);a+=u.value,i+=u.size,s=i;continue}if(c===10||c===13)break;if(kn(c))++i;else if(cc(r,i))i+=2;else throw le(e.source,i,`Invalid character within String: ${kr(e,i)}.`)}throw le(e.source,i,"Unterminated string.")}o(Bx,"readString");function Kx(e,t){let r=e.source.body,n=0,i=3;for(;i<12;){let s=r.charCodeAt(t+i++);if(s===125){if(i<5||!kn(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|Ci(s),n<0)break}throw le(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+i)}".`)}o(Kx,"readEscapedUnicodeVariableWidth");function Jx(e,t){let r=e.source.body,n=ib(r,t+2);if(kn(n))return{value:String.fromCodePoint(n),size:6};if(sb(n)&&r.charCodeAt(t+6)===92&&r.charCodeAt(t+7)===117){let i=ib(r,t+8);if(ab(i))return{value:String.fromCodePoint(n,i),size:12}}throw le(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+6)}".`)}o(Jx,"readEscapedUnicodeFixedWidth");function ib(e,t){return Ci(e.charCodeAt(t))<<12|Ci(e.charCodeAt(t+1))<<8|Ci(e.charCodeAt(t+2))<<4|Ci(e.charCodeAt(t+3))}o(ib,"read16BitHexCode");function Ci(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}o(Ci,"readHexDigit");function zx(e,t){let r=e.source.body;switch(r.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:`
74
- `,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw le(e.source,t,`Invalid character escape sequence: "${r.slice(t,t+2)}".`)}o(zx,"readEscapedCharacter");function Wx(e,t){let r=e.source.body,n=r.length,i=e.lineStart,s=t+3,a=s,c="",u=[];for(;s<n;){let l=r.charCodeAt(s);if(l===34&&r.charCodeAt(s+1)===34&&r.charCodeAt(s+2)===34){c+=r.slice(a,s),u.push(c);let d=he(e,b.BLOCK_STRING,t,s+3,rb(u).join(`
75
- `));return e.line+=u.length-1,e.lineStart=i,d}if(l===92&&r.charCodeAt(s+1)===34&&r.charCodeAt(s+2)===34&&r.charCodeAt(s+3)===34){c+=r.slice(a,s),a=s+1,s+=4;continue}if(l===10||l===13){c+=r.slice(a,s),u.push(c),l===13&&r.charCodeAt(s+1)===10?s+=2:++s,c="",a=s,i=s;continue}if(kn(l))++s;else if(cc(r,s))s+=2;else throw le(e.source,s,`Invalid character within String: ${kr(e,s)}.`)}throw le(e.source,s,"Unterminated string.")}o(Wx,"readBlockString");function Qx(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let s=r.charCodeAt(i);if(ac(s))++i;else break}return he(e,b.NAME,t,i,r.slice(t,i))}o(Qx,"readName");function A(e){return uc(e,[])}o(A,"inspect");function uc(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return Yx(e,t);default:return String(e)}}o(uc,"formatValue");function Yx(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let r=[...t,e];if(Zx(e)){let n=e.toJSON();if(n!==e)return typeof n=="string"?n:uc(n,r)}else if(Array.isArray(e))return eN(e,r);return Xx(e,r)}o(Yx,"formatObjectValue");function Zx(e){return typeof e.toJSON=="function"}o(Zx,"isJSONable");function Xx(e,t){let r=Object.entries(e);return r.length===0?"{}":t.length>2?"["+tN(e)+"]":"{ "+r.map(([i,s])=>i+": "+uc(s,t)).join(", ")+" }"}o(Xx,"formatObject");function eN(e,t){if(e.length===0)return"[]";if(t.length>2)return"[Array]";let r=Math.min(10,e.length),n=e.length-r,i=[];for(let s=0;s<r;++s)i.push(uc(e[s],t));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}o(eN,"formatArray");function tN(e){let t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){let r=e.constructor.name;if(typeof r=="string"&&r!=="")return r}return t}o(tN,"getObjectTag");var ze=globalThis.process&&globalThis.process.env.NODE_ENV==="production"?o(function(t,r){return t instanceof r},"instanceOf"):o(function(t,r){if(t instanceof r)return!0;if(typeof t=="object"&&t!==null){var n;let i=r.prototype[Symbol.toStringTag],s=Symbol.toStringTag in t?t[Symbol.toStringTag]:(n=t.constructor)===null||n===void 0?void 0:n.name;if(i===s){let a=A(t);throw new Error(`Cannot use ${i} "${a}" from another module or realm.
73
+ `),'"""'+p+'"""'}o(ob,"printBlockString");var b;(function(e){e.SOF="<SOF>",e.EOF="<EOF>",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"})(b||(b={}));var Li=class{static{o(this,"Lexer")}constructor(t){let r=new Un(b.SOF,0,0,0,0);this.source=t,this.lastToken=r,this.token=r,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let t=this.token;if(t.kind!==b.EOF)do if(t.next)t=t.next;else{let r=Qx(this,t.end);t.next=r,r.prev=t,t=r}while(t.kind===b.COMMENT);return t}};function ab(e){return e===b.BANG||e===b.DOLLAR||e===b.AMP||e===b.PAREN_L||e===b.PAREN_R||e===b.SPREAD||e===b.COLON||e===b.EQUALS||e===b.AT||e===b.BRACKET_L||e===b.BRACKET_R||e===b.BRACE_L||e===b.PIPE||e===b.BRACE_R}o(ab,"isPunctuatorTokenKind");function kn(e){return e>=0&&e<=55295||e>=57344&&e<=1114111}o(kn,"isUnicodeScalarValue");function uc(e,t){return cb(e.charCodeAt(t))&&ub(e.charCodeAt(t+1))}o(uc,"isSupplementaryCodePoint");function cb(e){return e>=55296&&e<=56319}o(cb,"isLeadingSurrogate");function ub(e){return e>=56320&&e<=57343}o(ub,"isTrailingSurrogate");function kr(e,t){let r=e.source.body.codePointAt(t);if(r===void 0)return b.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}o(kr,"printCodePointAt");function he(e,t,r,n,i){let s=e.line,a=1+r-e.lineStart;return new Un(t,r,n,s,a,i)}o(he,"createToken");function Qx(e,t){let r=e.source.body,n=r.length,i=t;for(;i<n;){let s=r.charCodeAt(i);switch(s){case 65279:case 9:case 32:case 44:++i;continue;case 10:++i,++e.line,e.lineStart=i;continue;case 13:r.charCodeAt(i+1)===10?i+=2:++i,++e.line,e.lineStart=i;continue;case 35:return Yx(e,i);case 33:return he(e,b.BANG,i,i+1);case 36:return he(e,b.DOLLAR,i,i+1);case 38:return he(e,b.AMP,i,i+1);case 40:return he(e,b.PAREN_L,i,i+1);case 41:return he(e,b.PAREN_R,i,i+1);case 46:if(r.charCodeAt(i+1)===46&&r.charCodeAt(i+2)===46)return he(e,b.SPREAD,i,i+3);break;case 58:return he(e,b.COLON,i,i+1);case 61:return he(e,b.EQUALS,i,i+1);case 64:return he(e,b.AT,i,i+1);case 91:return he(e,b.BRACKET_L,i,i+1);case 93:return he(e,b.BRACKET_R,i,i+1);case 123:return he(e,b.BRACE_L,i,i+1);case 124:return he(e,b.PIPE,i,i+1);case 125:return he(e,b.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?nN(e,i):Xx(e,i)}if(Mn(s)||s===45)return Zx(e,i,s);if(Ni(s))return iN(e,i);throw le(e.source,i,s===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:kn(s)||uc(r,i)?`Unexpected character: ${kr(e,i)}.`:`Invalid character: ${kr(e,i)}.`)}return he(e,b.EOF,n,n)}o(Qx,"readNextToken");function Yx(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let s=r.charCodeAt(i);if(s===10||s===13)break;if(kn(s))++i;else if(uc(r,i))i+=2;else break}return he(e,b.COMMENT,t,i,r.slice(t+1,i))}o(Yx,"readComment");function Zx(e,t,r){let n=e.source.body,i=t,s=r,a=!1;if(s===45&&(s=n.charCodeAt(++i)),s===48){if(s=n.charCodeAt(++i),Mn(s))throw le(e.source,i,`Invalid number, unexpected digit after 0: ${kr(e,i)}.`)}else i=wp(e,i,s),s=n.charCodeAt(i);if(s===46&&(a=!0,s=n.charCodeAt(++i),i=wp(e,i,s),s=n.charCodeAt(i)),(s===69||s===101)&&(a=!0,s=n.charCodeAt(++i),(s===43||s===45)&&(s=n.charCodeAt(++i)),i=wp(e,i,s),s=n.charCodeAt(i)),s===46||Ni(s))throw le(e.source,i,`Invalid number, expected digit but got: ${kr(e,i)}.`);return he(e,a?b.FLOAT:b.INT,t,i,n.slice(t,i))}o(Zx,"readNumber");function wp(e,t,r){if(!Mn(r))throw le(e.source,t,`Invalid number, expected digit but got: ${kr(e,t)}.`);let n=e.source.body,i=t+1;for(;Mn(n.charCodeAt(i));)++i;return i}o(wp,"readDigits");function Xx(e,t){let r=e.source.body,n=r.length,i=t+1,s=i,a="";for(;i<n;){let c=r.charCodeAt(i);if(c===34)return a+=r.slice(s,i),he(e,b.STRING,t,i+1,a);if(c===92){a+=r.slice(s,i);let u=r.charCodeAt(i+1)===117?r.charCodeAt(i+2)===123?eN(e,i):tN(e,i):rN(e,i);a+=u.value,i+=u.size,s=i;continue}if(c===10||c===13)break;if(kn(c))++i;else if(uc(r,i))i+=2;else throw le(e.source,i,`Invalid character within String: ${kr(e,i)}.`)}throw le(e.source,i,"Unterminated string.")}o(Xx,"readString");function eN(e,t){let r=e.source.body,n=0,i=3;for(;i<12;){let s=r.charCodeAt(t+i++);if(s===125){if(i<5||!kn(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|Ci(s),n<0)break}throw le(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+i)}".`)}o(eN,"readEscapedUnicodeVariableWidth");function tN(e,t){let r=e.source.body,n=sb(r,t+2);if(kn(n))return{value:String.fromCodePoint(n),size:6};if(cb(n)&&r.charCodeAt(t+6)===92&&r.charCodeAt(t+7)===117){let i=sb(r,t+8);if(ub(i))return{value:String.fromCodePoint(n,i),size:12}}throw le(e.source,t,`Invalid Unicode escape sequence: "${r.slice(t,t+6)}".`)}o(tN,"readEscapedUnicodeFixedWidth");function sb(e,t){return Ci(e.charCodeAt(t))<<12|Ci(e.charCodeAt(t+1))<<8|Ci(e.charCodeAt(t+2))<<4|Ci(e.charCodeAt(t+3))}o(sb,"read16BitHexCode");function Ci(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}o(Ci,"readHexDigit");function rN(e,t){let r=e.source.body;switch(r.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:`
74
+ `,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw le(e.source,t,`Invalid character escape sequence: "${r.slice(t,t+2)}".`)}o(rN,"readEscapedCharacter");function nN(e,t){let r=e.source.body,n=r.length,i=e.lineStart,s=t+3,a=s,c="",u=[];for(;s<n;){let l=r.charCodeAt(s);if(l===34&&r.charCodeAt(s+1)===34&&r.charCodeAt(s+2)===34){c+=r.slice(a,s),u.push(c);let d=he(e,b.BLOCK_STRING,t,s+3,ib(u).join(`
75
+ `));return e.line+=u.length-1,e.lineStart=i,d}if(l===92&&r.charCodeAt(s+1)===34&&r.charCodeAt(s+2)===34&&r.charCodeAt(s+3)===34){c+=r.slice(a,s),a=s+1,s+=4;continue}if(l===10||l===13){c+=r.slice(a,s),u.push(c),l===13&&r.charCodeAt(s+1)===10?s+=2:++s,c="",a=s,i=s;continue}if(kn(l))++s;else if(uc(r,s))s+=2;else throw le(e.source,s,`Invalid character within String: ${kr(e,s)}.`)}throw le(e.source,s,"Unterminated string.")}o(nN,"readBlockString");function iN(e,t){let r=e.source.body,n=r.length,i=t+1;for(;i<n;){let s=r.charCodeAt(i);if(cc(s))++i;else break}return he(e,b.NAME,t,i,r.slice(t,i))}o(iN,"readName");function A(e){return lc(e,[])}o(A,"inspect");function lc(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return oN(e,t);default:return String(e)}}o(lc,"formatValue");function oN(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let r=[...t,e];if(sN(e)){let n=e.toJSON();if(n!==e)return typeof n=="string"?n:lc(n,r)}else if(Array.isArray(e))return cN(e,r);return aN(e,r)}o(oN,"formatObjectValue");function sN(e){return typeof e.toJSON=="function"}o(sN,"isJSONable");function aN(e,t){let r=Object.entries(e);return r.length===0?"{}":t.length>2?"["+uN(e)+"]":"{ "+r.map(([i,s])=>i+": "+lc(s,t)).join(", ")+" }"}o(aN,"formatObject");function cN(e,t){if(e.length===0)return"[]";if(t.length>2)return"[Array]";let r=Math.min(10,e.length),n=e.length-r,i=[];for(let s=0;s<r;++s)i.push(lc(e[s],t));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}o(cN,"formatArray");function uN(e){let t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){let r=e.constructor.name;if(typeof r=="string"&&r!=="")return r}return t}o(uN,"getObjectTag");var ze=globalThis.process&&globalThis.process.env.NODE_ENV==="production"?o(function(t,r){return t instanceof r},"instanceOf"):o(function(t,r){if(t instanceof r)return!0;if(typeof t=="object"&&t!==null){var n;let i=r.prototype[Symbol.toStringTag],s=Symbol.toStringTag in t?t[Symbol.toStringTag]:(n=t.constructor)===null||n===void 0?void 0:n.name;if(i===s){let a=A(t);throw new Error(`Cannot use ${i} "${a}" from another module or realm.
76
76
 
77
77
  Ensure that there is only one instance of "graphql" in the node_modules
78
78
  directory. If different versions of "graphql" are the dependencies of other
@@ -83,17 +83,17 @@ https://yarnpkg.com/en/docs/selective-version-resolutions
83
83
  Duplicate "graphql" modules cannot be used at the same time since different
84
84
  versions may have different capabilities and behavior. The data from one
85
85
  version used in the function from another could produce confusing and
86
- spurious results.`)}}return!1},"instanceOf");var Fn=class{static{o(this,"Source")}constructor(t,r="GraphQL request",n={line:1,column:1}){typeof t=="string"||B(!1,`Body must be a string. Received: ${A(t)}.`),this.body=t,this.name=r,this.locationOffset=n,this.locationOffset.line>0||B(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||B(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function cb(e){return ze(e,Fn)}o(cb,"isSource");function pc(e,t){return new dc(e,t).parseDocument()}o(pc,"parse");function hc(e,t){let r=new dc(e,t);r.expectToken(b.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(b.EOF),n}o(hc,"parseValue");var dc=class{static{o(this,"Parser")}constructor(t,r={}){let n=cb(t)?t:new Fn(t);this._lexer=new Li(n),this._options=r,this._tokenCounter=0}parseName(){let t=this.expectToken(b.NAME);return this.node(t,{kind:_.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:_.DOCUMENT,definitions:this.many(b.SOF,this.parseDefinition,b.EOF)})}parseDefinition(){if(this.peek(b.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),r=t?this._lexer.lookahead():this._lexer.token;if(r.kind===b.NAME){switch(r.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(t)throw le(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(r.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(r)}parseOperationDefinition(){let t=this._lexer.token;if(this.peek(b.BRACE_L))return this.node(t,{kind:_.OPERATION_DEFINITION,operation:rt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(b.NAME)&&(n=this.parseName()),this.node(t,{kind:_.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let t=this.expectToken(b.NAME);switch(t.value){case"query":return rt.QUERY;case"mutation":return rt.MUTATION;case"subscription":return rt.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(b.PAREN_L,this.parseVariableDefinition,b.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:_.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(b.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(b.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(b.DOLLAR),this.node(t,{kind:_.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:_.SELECTION_SET,selections:this.many(b.BRACE_L,this.parseSelection,b.BRACE_R)})}parseSelection(){return this.peek(b.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(b.COLON)?(n=r,i=this.parseName()):i=r,this.node(t,{kind:_.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(b.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let r=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(b.PAREN_L,r,b.PAREN_R)}parseArgument(t=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(b.COLON),this.node(r,{kind:_.ARGUMENT,name:n,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let t=this._lexer.token;this.expectToken(b.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(b.NAME)?this.node(t,{kind:_.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:_.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:_.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:_.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){let r=this._lexer.token;switch(r.kind){case b.BRACKET_L:return this.parseList(t);case b.BRACE_L:return this.parseObject(t);case b.INT:return this.advanceLexer(),this.node(r,{kind:_.INT,value:r.value});case b.FLOAT:return this.advanceLexer(),this.node(r,{kind:_.FLOAT,value:r.value});case b.STRING:case b.BLOCK_STRING:return this.parseStringLiteral();case b.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:_.BOOLEAN,value:!0});case"false":return this.node(r,{kind:_.BOOLEAN,value:!1});case"null":return this.node(r,{kind:_.NULL});default:return this.node(r,{kind:_.ENUM,value:r.value})}case b.DOLLAR:if(t)if(this.expectToken(b.DOLLAR),this._lexer.token.kind===b.NAME){let n=this._lexer.token.value;throw le(this._lexer.source,r.start,`Unexpected variable "$${n}" in constant value.`)}else throw this.unexpected(r);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:_.STRING,value:t.value,block:t.kind===b.BLOCK_STRING})}parseList(t){let r=o(()=>this.parseValueLiteral(t),"item");return this.node(this._lexer.token,{kind:_.LIST,values:this.any(b.BRACKET_L,r,b.BRACKET_R)})}parseObject(t){let r=o(()=>this.parseObjectField(t),"item");return this.node(this._lexer.token,{kind:_.OBJECT,fields:this.any(b.BRACE_L,r,b.BRACE_R)})}parseObjectField(t){let r=this._lexer.token,n=this.parseName();return this.expectToken(b.COLON),this.node(r,{kind:_.OBJECT_FIELD,name:n,value:this.parseValueLiteral(t)})}parseDirectives(t){let r=[];for(;this.peek(b.AT);)r.push(this.parseDirective(t));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let r=this._lexer.token;return this.expectToken(b.AT),this.node(r,{kind:_.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,r;if(this.expectOptionalToken(b.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(b.BRACKET_R),r=this.node(t,{kind:_.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(b.BANG)?this.node(t,{kind:_.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:_.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(b.STRING)||this.peek(b.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(b.BRACE_L,this.parseOperationTypeDefinition,b.BRACE_R);return this.node(t,{kind:_.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let t=this._lexer.token,r=this.parseOperationType();this.expectToken(b.COLON);let n=this.parseNamedType();return this.node(t,{kind:_.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:_.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:_.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(b.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(b.BRACE_L,this.parseFieldDefinition,b.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(b.COLON);let s=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(t,{kind:_.FIELD_DEFINITION,description:r,name:n,arguments:i,type:s,directives:a})}parseArgumentDefs(){return this.optionalMany(b.PAREN_L,this.parseInputValueDef,b.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(b.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(b.EQUALS)&&(s=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(t,{kind:_.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:s,directives:a})}parseInterfaceTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:_.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseUnionTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(t,{kind:_.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(b.EQUALS)?this.delimitedMany(b.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(t,{kind:_.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(b.BRACE_L,this.parseEnumValueDefinition,b.BRACE_R)}parseEnumValueDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:_.ENUM_VALUE_DEFINITION,description:r,name:n,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw le(this._lexer.source,this._lexer.token.start,`${lc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(t,{kind:_.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(b.BRACE_L,this.parseInputValueDef,b.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===b.NAME)switch(t.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(t)}parseSchemaExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(b.BRACE_L,this.parseOperationTypeDefinition,b.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(t,{kind:_.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let r=this.parseName(),n=this.parseConstDirectives();if(n.length===0)throw this.unexpected();return this.node(t,{kind:_.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:_.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseInterfaceTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:_.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseUnionTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:_.UNION_TYPE_EXTENSION,name:r,directives:n,types:i})}parseEnumTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:_.ENUM_TYPE_EXTENSION,name:r,directives:n,values:i})}parseInputObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:_.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(b.AT);let n=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(t,{kind:_.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:s,locations:a})}parseDirectiveLocations(){return this.delimitedMany(b.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let t=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(K,r.value))return r;throw this.unexpected(t)}node(t,r){return this._options.noLocation!==!0&&(r.loc=new Oi(t,this._lexer.lastToken,this._lexer.source)),r}peek(t){return this._lexer.token.kind===t}expectToken(t){let r=this._lexer.token;if(r.kind===t)return this.advanceLexer(),r;throw le(this._lexer.source,r.start,`Expected ${ub(t)}, found ${lc(r)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let r=this._lexer.token;if(r.kind===b.NAME&&r.value===t)this.advanceLexer();else throw le(this._lexer.source,r.start,`Expected "${t}", found ${lc(r)}.`)}expectOptionalKeyword(t){let r=this._lexer.token;return r.kind===b.NAME&&r.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let r=t??this._lexer.token;return le(this._lexer.source,r.start,`Unexpected ${lc(r)}.`)}any(t,r,n){this.expectToken(t);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(t,r,n){if(this.expectOptionalToken(t)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}return[]}many(t,r,n){this.expectToken(t);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(t,r){this.expectOptionalToken(t);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(t));return n}advanceLexer(){let{maxTokens:t}=this._options,r=this._lexer.advance();if(t!==void 0&&r.kind!==b.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw le(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function lc(e){let t=e.value;return ub(e.kind)+(t!=null?` "${t}"`:"")}o(lc,"getTokenDesc");function ub(e){return ob(e)?`"${e}"`:e}o(ub,"getTokenKindDesc");function fc(e,t){let[r,n]=t?[e,t]:[void 0,e],i=" Did you mean ";r&&(i+=r+" ");let s=n.map(u=>`"${u}"`);switch(s.length){case 0:return"";case 1:return i+s[0]+"?";case 2:return i+s[0]+" or "+s[1]+"?"}let a=s.slice(0,5),c=a.pop();return i+a.join(", ")+", or "+c+"?"}o(fc,"didYouMean");function wp(e){return e}o(wp,"identityFunc");function Hn(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}o(Hn,"keyMap");function It(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}o(It,"keyValMap");function Di(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}o(Di,"mapValue");function lb(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),s=t.charCodeAt(n);if(mc(i)&&mc(s)){let a=0;do++r,a=a*10+i-vp,i=e.charCodeAt(r);while(mc(i)&&a>0);let c=0;do++n,c=c*10+s-vp,s=t.charCodeAt(n);while(mc(s)&&c>0);if(a<c)return-1;if(a>c)return 1}else{if(i<s)return-1;if(i>s)return 1;++r,++n}}return e.length-t.length}o(lb,"naturalCompare");var vp=48,rN=57;function mc(e){return!isNaN(e)&&vp<=e&&e<=rN}o(mc,"isDigit");function yc(e,t){let r=Object.create(null),n=new Tp(e),i=Math.floor(e.length*.4)+1;for(let s of t){let a=n.measure(s,i);a!==void 0&&(r[s]=a)}return Object.keys(r).sort((s,a)=>{let c=r[s]-r[a];return c!==0?c:lb(s,a)})}o(yc,"suggestionList");var Tp=class{static{o(this,"LexicalDistance")}constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=db(this._inputLowerCase),this._rows=[new Array(t.length+1).fill(0),new Array(t.length+1).fill(0),new Array(t.length+1).fill(0)]}measure(t,r){if(this._input===t)return 0;let n=t.toLowerCase();if(this._inputLowerCase===n)return 1;let i=db(n),s=this._inputArray;if(i.length<s.length){let d=i;i=s,s=d}let a=i.length,c=s.length;if(a-c>r)return;let u=this._rows;for(let d=0;d<=c;d++)u[0][d]=d;for(let d=1;d<=a;d++){let p=u[(d-1)%3],y=u[d%3],h=y[0]=d;for(let m=1;m<=c;m++){let v=i[d-1]===s[m-1]?0:1,T=Math.min(p[m]+1,y[m-1]+1,p[m-1]+v);if(d>1&&m>1&&i[d-1]===s[m-2]&&i[d-2]===s[m-1]){let S=u[(d-2)%3][m-2];T=Math.min(T,S+1)}T<h&&(h=T),y[m]=T}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function db(e){let t=e.length,r=new Array(t);for(let n=0;n<t;++n)r[n]=e.charCodeAt(n);return r}o(db,"stringToArray");function De(e){if(e==null)return Object.create(null);if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);for(let[r,n]of Object.entries(e))t[r]=n;return t}o(De,"toObjMap");function pb(e){return`"${e.replace(nN,iN)}"`}o(pb,"printString");var nN=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function iN(e){return oN[e.charCodeAt(0)]}o(iN,"escapedReplacer");var oN=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"];var Sp=Object.freeze({});function fr(e,t,r=bp){let n=new Map;for(let S of Object.values(_))n.set(S,qn(t,S));let i,s=Array.isArray(e),a=[e],c=-1,u=[],l=e,d,p,y=[],h=[];do{c++;let S=c===a.length,k=S&&u.length!==0;if(S){if(d=h.length===0?void 0:y[y.length-1],l=p,p=h.pop(),k)if(s){l=l.slice();let C=0;for(let[re,ne]of u){let fe=re-C;ne===null?(l.splice(fe,1),C++):l[fe]=ne}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[C,re]of u)l[C]=re}c=i.index,a=i.keys,u=i.edits,s=i.inArray,i=i.prev}else if(p){if(d=s?c:a[c],l=p[d],l==null)continue;y.push(d)}let j;if(!Array.isArray(l)){var m,v;xi(l)||B(!1,`Invalid AST Node: ${A(l)}.`);let C=S?(m=n.get(l.kind))===null||m===void 0?void 0:m.leave:(v=n.get(l.kind))===null||v===void 0?void 0:v.enter;if(j=C?.call(t,l,d,p,y,h),j===Sp)break;if(j===!1){if(!S){y.pop();continue}}else if(j!==void 0&&(u.push([d,j]),!S))if(xi(j))l=j;else{y.pop();continue}}if(j===void 0&&k&&u.push([d,l]),S)y.pop();else{var T;i={inArray:s,index:c,keys:a,edits:u,prev:i},s=Array.isArray(l),a=s?l:(T=r[l.kind])!==null&&T!==void 0?T:[],c=-1,u=[],p&&h.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:e}o(fr,"visit");function qn(e,t){let r=e[t];return typeof r=="object"?r:typeof r=="function"?{enter:r,leave:void 0}:{enter:e.enter,leave:e.leave}}o(qn,"getEnterLeaveForKind");function Ue(e){return fr(e,aN)}o(Ue,"print");var sN=80,aN={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>x(e.definitions,`
86
+ spurious results.`)}}return!1},"instanceOf");var Fn=class{static{o(this,"Source")}constructor(t,r="GraphQL request",n={line:1,column:1}){typeof t=="string"||B(!1,`Body must be a string. Received: ${A(t)}.`),this.body=t,this.name=r,this.locationOffset=n,this.locationOffset.line>0||B(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||B(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function lb(e){return ze(e,Fn)}o(lb,"isSource");function hc(e,t){return new pc(e,t).parseDocument()}o(hc,"parse");function fc(e,t){let r=new pc(e,t);r.expectToken(b.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(b.EOF),n}o(fc,"parseValue");var pc=class{static{o(this,"Parser")}constructor(t,r={}){let n=lb(t)?t:new Fn(t);this._lexer=new Li(n),this._options=r,this._tokenCounter=0}parseName(){let t=this.expectToken(b.NAME);return this.node(t,{kind:_.NAME,value:t.value})}parseDocument(){return this.node(this._lexer.token,{kind:_.DOCUMENT,definitions:this.many(b.SOF,this.parseDefinition,b.EOF)})}parseDefinition(){if(this.peek(b.BRACE_L))return this.parseOperationDefinition();let t=this.peekDescription(),r=t?this._lexer.lookahead():this._lexer.token;if(r.kind===b.NAME){switch(r.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(t)throw le(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(r.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(r)}parseOperationDefinition(){let t=this._lexer.token;if(this.peek(b.BRACE_L))return this.node(t,{kind:_.OPERATION_DEFINITION,operation:rt.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(b.NAME)&&(n=this.parseName()),this.node(t,{kind:_.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let t=this.expectToken(b.NAME);switch(t.value){case"query":return rt.QUERY;case"mutation":return rt.MUTATION;case"subscription":return rt.SUBSCRIPTION}throw this.unexpected(t)}parseVariableDefinitions(){return this.optionalMany(b.PAREN_L,this.parseVariableDefinition,b.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:_.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(b.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(b.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let t=this._lexer.token;return this.expectToken(b.DOLLAR),this.node(t,{kind:_.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:_.SELECTION_SET,selections:this.many(b.BRACE_L,this.parseSelection,b.BRACE_R)})}parseSelection(){return this.peek(b.SPREAD)?this.parseFragment():this.parseField()}parseField(){let t=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(b.COLON)?(n=r,i=this.parseName()):i=r,this.node(t,{kind:_.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(b.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(t){let r=t?this.parseConstArgument:this.parseArgument;return this.optionalMany(b.PAREN_L,r,b.PAREN_R)}parseArgument(t=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(b.COLON),this.node(r,{kind:_.ARGUMENT,name:n,value:this.parseValueLiteral(t)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let t=this._lexer.token;this.expectToken(b.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(b.NAME)?this.node(t,{kind:_.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(t,{kind:_.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let t=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(t,{kind:_.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(t,{kind:_.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(t){let r=this._lexer.token;switch(r.kind){case b.BRACKET_L:return this.parseList(t);case b.BRACE_L:return this.parseObject(t);case b.INT:return this.advanceLexer(),this.node(r,{kind:_.INT,value:r.value});case b.FLOAT:return this.advanceLexer(),this.node(r,{kind:_.FLOAT,value:r.value});case b.STRING:case b.BLOCK_STRING:return this.parseStringLiteral();case b.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:_.BOOLEAN,value:!0});case"false":return this.node(r,{kind:_.BOOLEAN,value:!1});case"null":return this.node(r,{kind:_.NULL});default:return this.node(r,{kind:_.ENUM,value:r.value})}case b.DOLLAR:if(t)if(this.expectToken(b.DOLLAR),this._lexer.token.kind===b.NAME){let n=this._lexer.token.value;throw le(this._lexer.source,r.start,`Unexpected variable "$${n}" in constant value.`)}else throw this.unexpected(r);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let t=this._lexer.token;return this.advanceLexer(),this.node(t,{kind:_.STRING,value:t.value,block:t.kind===b.BLOCK_STRING})}parseList(t){let r=o(()=>this.parseValueLiteral(t),"item");return this.node(this._lexer.token,{kind:_.LIST,values:this.any(b.BRACKET_L,r,b.BRACKET_R)})}parseObject(t){let r=o(()=>this.parseObjectField(t),"item");return this.node(this._lexer.token,{kind:_.OBJECT,fields:this.any(b.BRACE_L,r,b.BRACE_R)})}parseObjectField(t){let r=this._lexer.token,n=this.parseName();return this.expectToken(b.COLON),this.node(r,{kind:_.OBJECT_FIELD,name:n,value:this.parseValueLiteral(t)})}parseDirectives(t){let r=[];for(;this.peek(b.AT);)r.push(this.parseDirective(t));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(t){let r=this._lexer.token;return this.expectToken(b.AT),this.node(r,{kind:_.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(t)})}parseTypeReference(){let t=this._lexer.token,r;if(this.expectOptionalToken(b.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(b.BRACKET_R),r=this.node(t,{kind:_.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(b.BANG)?this.node(t,{kind:_.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:_.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(b.STRING)||this.peek(b.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(b.BRACE_L,this.parseOperationTypeDefinition,b.BRACE_R);return this.node(t,{kind:_.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let t=this._lexer.token,r=this.parseOperationType();this.expectToken(b.COLON);let n=this.parseNamedType();return this.node(t,{kind:_.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(t,{kind:_.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("type");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:_.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(b.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(b.BRACE_L,this.parseFieldDefinition,b.BRACE_R)}parseFieldDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(b.COLON);let s=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(t,{kind:_.FIELD_DEFINITION,description:r,name:n,arguments:i,type:s,directives:a})}parseArgumentDefs(){return this.optionalMany(b.PAREN_L,this.parseInputValueDef,b.PAREN_R)}parseInputValueDef(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(b.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(b.EQUALS)&&(s=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(t,{kind:_.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:s,directives:a})}parseInterfaceTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("interface");let n=this.parseName(),i=this.parseImplementsInterfaces(),s=this.parseConstDirectives(),a=this.parseFieldsDefinition();return this.node(t,{kind:_.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseUnionTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(t,{kind:_.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(b.EQUALS)?this.delimitedMany(b.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(t,{kind:_.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(b.BRACE_L,this.parseEnumValueDefinition,b.BRACE_R)}parseEnumValueDefinition(){let t=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(t,{kind:_.ENUM_VALUE_DEFINITION,description:r,name:n,directives:i})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw le(this._lexer.source,this._lexer.token.start,`${dc(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(t,{kind:_.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(b.BRACE_L,this.parseInputValueDef,b.BRACE_R)}parseTypeSystemExtension(){let t=this._lexer.lookahead();if(t.kind===b.NAME)switch(t.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(t)}parseSchemaExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(b.BRACE_L,this.parseOperationTypeDefinition,b.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(t,{kind:_.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let r=this.parseName(),n=this.parseConstDirectives();if(n.length===0)throw this.unexpected();return this.node(t,{kind:_.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:_.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseInterfaceTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();if(n.length===0&&i.length===0&&s.length===0)throw this.unexpected();return this.node(t,{kind:_.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseUnionTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:_.UNION_TYPE_EXTENSION,name:r,directives:n,types:i})}parseEnumTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:_.ENUM_TYPE_EXTENSION,name:r,directives:n,values:i})}parseInputObjectTypeExtension(){let t=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();if(n.length===0&&i.length===0)throw this.unexpected();return this.node(t,{kind:_.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let t=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(b.AT);let n=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(t,{kind:_.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:s,locations:a})}parseDirectiveLocations(){return this.delimitedMany(b.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let t=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(K,r.value))return r;throw this.unexpected(t)}node(t,r){return this._options.noLocation!==!0&&(r.loc=new Oi(t,this._lexer.lastToken,this._lexer.source)),r}peek(t){return this._lexer.token.kind===t}expectToken(t){let r=this._lexer.token;if(r.kind===t)return this.advanceLexer(),r;throw le(this._lexer.source,r.start,`Expected ${db(t)}, found ${dc(r)}.`)}expectOptionalToken(t){return this._lexer.token.kind===t?(this.advanceLexer(),!0):!1}expectKeyword(t){let r=this._lexer.token;if(r.kind===b.NAME&&r.value===t)this.advanceLexer();else throw le(this._lexer.source,r.start,`Expected "${t}", found ${dc(r)}.`)}expectOptionalKeyword(t){let r=this._lexer.token;return r.kind===b.NAME&&r.value===t?(this.advanceLexer(),!0):!1}unexpected(t){let r=t??this._lexer.token;return le(this._lexer.source,r.start,`Unexpected ${dc(r)}.`)}any(t,r,n){this.expectToken(t);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(t,r,n){if(this.expectOptionalToken(t)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}return[]}many(t,r,n){this.expectToken(t);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(t,r){this.expectOptionalToken(t);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(t));return n}advanceLexer(){let{maxTokens:t}=this._options,r=this._lexer.advance();if(t!==void 0&&r.kind!==b.EOF&&(++this._tokenCounter,this._tokenCounter>t))throw le(this._lexer.source,r.start,`Document contains more that ${t} tokens. Parsing aborted.`)}};function dc(e){let t=e.value;return db(e.kind)+(t!=null?` "${t}"`:"")}o(dc,"getTokenDesc");function db(e){return ab(e)?`"${e}"`:e}o(db,"getTokenKindDesc");function mc(e,t){let[r,n]=t?[e,t]:[void 0,e],i=" Did you mean ";r&&(i+=r+" ");let s=n.map(u=>`"${u}"`);switch(s.length){case 0:return"";case 1:return i+s[0]+"?";case 2:return i+s[0]+" or "+s[1]+"?"}let a=s.slice(0,5),c=a.pop();return i+a.join(", ")+", or "+c+"?"}o(mc,"didYouMean");function vp(e){return e}o(vp,"identityFunc");function Hn(e,t){let r=Object.create(null);for(let n of e)r[t(n)]=n;return r}o(Hn,"keyMap");function It(e,t,r){let n=Object.create(null);for(let i of e)n[t(i)]=r(i);return n}o(It,"keyValMap");function Di(e,t){let r=Object.create(null);for(let n of Object.keys(e))r[n]=t(e[n],n);return r}o(Di,"mapValue");function pb(e,t){let r=0,n=0;for(;r<e.length&&n<t.length;){let i=e.charCodeAt(r),s=t.charCodeAt(n);if(yc(i)&&yc(s)){let a=0;do++r,a=a*10+i-Tp,i=e.charCodeAt(r);while(yc(i)&&a>0);let c=0;do++n,c=c*10+s-Tp,s=t.charCodeAt(n);while(yc(s)&&c>0);if(a<c)return-1;if(a>c)return 1}else{if(i<s)return-1;if(i>s)return 1;++r,++n}}return e.length-t.length}o(pb,"naturalCompare");var Tp=48,lN=57;function yc(e){return!isNaN(e)&&Tp<=e&&e<=lN}o(yc,"isDigit");function gc(e,t){let r=Object.create(null),n=new Sp(e),i=Math.floor(e.length*.4)+1;for(let s of t){let a=n.measure(s,i);a!==void 0&&(r[s]=a)}return Object.keys(r).sort((s,a)=>{let c=r[s]-r[a];return c!==0?c:pb(s,a)})}o(gc,"suggestionList");var Sp=class{static{o(this,"LexicalDistance")}constructor(t){this._input=t,this._inputLowerCase=t.toLowerCase(),this._inputArray=hb(this._inputLowerCase),this._rows=[new Array(t.length+1).fill(0),new Array(t.length+1).fill(0),new Array(t.length+1).fill(0)]}measure(t,r){if(this._input===t)return 0;let n=t.toLowerCase();if(this._inputLowerCase===n)return 1;let i=hb(n),s=this._inputArray;if(i.length<s.length){let d=i;i=s,s=d}let a=i.length,c=s.length;if(a-c>r)return;let u=this._rows;for(let d=0;d<=c;d++)u[0][d]=d;for(let d=1;d<=a;d++){let p=u[(d-1)%3],y=u[d%3],h=y[0]=d;for(let m=1;m<=c;m++){let v=i[d-1]===s[m-1]?0:1,T=Math.min(p[m]+1,y[m-1]+1,p[m-1]+v);if(d>1&&m>1&&i[d-1]===s[m-2]&&i[d-2]===s[m-1]){let S=u[(d-2)%3][m-2];T=Math.min(T,S+1)}T<h&&(h=T),y[m]=T}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function hb(e){let t=e.length,r=new Array(t);for(let n=0;n<t;++n)r[n]=e.charCodeAt(n);return r}o(hb,"stringToArray");function De(e){if(e==null)return Object.create(null);if(Object.getPrototypeOf(e)===null)return e;let t=Object.create(null);for(let[r,n]of Object.entries(e))t[r]=n;return t}o(De,"toObjMap");function fb(e){return`"${e.replace(dN,pN)}"`}o(fb,"printString");var dN=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function pN(e){return hN[e.charCodeAt(0)]}o(pN,"escapedReplacer");var hN=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"];var Ip=Object.freeze({});function mr(e,t,r=Ep){let n=new Map;for(let S of Object.values(_))n.set(S,qn(t,S));let i,s=Array.isArray(e),a=[e],c=-1,u=[],l=e,d,p,y=[],h=[];do{c++;let S=c===a.length,k=S&&u.length!==0;if(S){if(d=h.length===0?void 0:y[y.length-1],l=p,p=h.pop(),k)if(s){l=l.slice();let C=0;for(let[re,ne]of u){let fe=re-C;ne===null?(l.splice(fe,1),C++):l[fe]=ne}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[C,re]of u)l[C]=re}c=i.index,a=i.keys,u=i.edits,s=i.inArray,i=i.prev}else if(p){if(d=s?c:a[c],l=p[d],l==null)continue;y.push(d)}let j;if(!Array.isArray(l)){var m,v;xi(l)||B(!1,`Invalid AST Node: ${A(l)}.`);let C=S?(m=n.get(l.kind))===null||m===void 0?void 0:m.leave:(v=n.get(l.kind))===null||v===void 0?void 0:v.enter;if(j=C?.call(t,l,d,p,y,h),j===Ip)break;if(j===!1){if(!S){y.pop();continue}}else if(j!==void 0&&(u.push([d,j]),!S))if(xi(j))l=j;else{y.pop();continue}}if(j===void 0&&k&&u.push([d,l]),S)y.pop();else{var T;i={inArray:s,index:c,keys:a,edits:u,prev:i},s=Array.isArray(l),a=s?l:(T=r[l.kind])!==null&&T!==void 0?T:[],c=-1,u=[],p&&h.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:e}o(mr,"visit");function qn(e,t){let r=e[t];return typeof r=="object"?r:typeof r=="function"?{enter:r,leave:void 0}:{enter:e.enter,leave:e.leave}}o(qn,"getEnterLeaveForKind");function Ue(e){return mr(e,mN)}o(Ue,"print");var fN=80,mN={Name:{leave:e=>e.value},Variable:{leave:e=>"$"+e.name},Document:{leave:e=>x(e.definitions,`
87
87
 
88
- `)},OperationDefinition:{leave(e){let t=J("(",x(e.variableDefinitions,", "),")"),r=x([e.operation,x([e.name,t]),x(e.directives," ")]," ");return(r==="query"?"":r+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+J(" = ",r)+J(" ",x(n," "))},SelectionSet:{leave:({selections:e})=>ut(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:i}){let s=J("",e,": ")+t,a=s+J("(",x(r,", "),")");return a.length>sN&&(a=s+J(`(
89
- `,gc(x(r,`
88
+ `)},OperationDefinition:{leave(e){let t=J("(",x(e.variableDefinitions,", "),")"),r=x([e.operation,x([e.name,t]),x(e.directives," ")]," ");return(r==="query"?"":r+" ")+e.selectionSet}},VariableDefinition:{leave:({variable:e,type:t,defaultValue:r,directives:n})=>e+": "+t+J(" = ",r)+J(" ",x(n," "))},SelectionSet:{leave:({selections:e})=>ut(e)},Field:{leave({alias:e,name:t,arguments:r,directives:n,selectionSet:i}){let s=J("",e,": ")+t,a=s+J("(",x(r,", "),")");return a.length>fN&&(a=s+J(`(
89
+ `,_c(x(r,`
90
90
  `)),`
91
- )`)),x([a,x(n," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+J(" ",x(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>x(["...",J("on ",e),x(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${e}${J("(",x(r,", "),")")} on ${t} ${J("",x(n," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?nb(e):pb(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+x(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+x(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+J("(",x(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:r})=>J("",e,`
91
+ )`)),x([a,x(n," "),i]," ")}},Argument:{leave:({name:e,value:t})=>e+": "+t},FragmentSpread:{leave:({name:e,directives:t})=>"..."+e+J(" ",x(t," "))},InlineFragment:{leave:({typeCondition:e,directives:t,selectionSet:r})=>x(["...",J("on ",e),x(t," "),r]," ")},FragmentDefinition:{leave:({name:e,typeCondition:t,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${e}${J("(",x(r,", "),")")} on ${t} ${J("",x(n," ")," ")}`+i},IntValue:{leave:({value:e})=>e},FloatValue:{leave:({value:e})=>e},StringValue:{leave:({value:e,block:t})=>t?ob(e):fb(e)},BooleanValue:{leave:({value:e})=>e?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:e})=>e},ListValue:{leave:({values:e})=>"["+x(e,", ")+"]"},ObjectValue:{leave:({fields:e})=>"{"+x(e,", ")+"}"},ObjectField:{leave:({name:e,value:t})=>e+": "+t},Directive:{leave:({name:e,arguments:t})=>"@"+e+J("(",x(t,", "),")")},NamedType:{leave:({name:e})=>e},ListType:{leave:({type:e})=>"["+e+"]"},NonNullType:{leave:({type:e})=>e+"!"},SchemaDefinition:{leave:({description:e,directives:t,operationTypes:r})=>J("",e,`
92
92
  `)+x(["schema",x(t," "),ut(r)]," ")},OperationTypeDefinition:{leave:({operation:e,type:t})=>e+": "+t},ScalarTypeDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
93
93
  `)+x(["scalar",t,x(r," ")]," ")},ObjectTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>J("",e,`
94
94
  `)+x(["type",t,J("implements ",x(r," & ")),x(n," "),ut(i)]," ")},FieldDefinition:{leave:({description:e,name:t,arguments:r,type:n,directives:i})=>J("",e,`
95
- `)+t+(hb(r)?J(`(
96
- `,gc(x(r,`
95
+ `)+t+(mb(r)?J(`(
96
+ `,_c(x(r,`
97
97
  `)),`
98
98
  )`):J("(",x(r,", "),")"))+": "+n+J(" ",x(i," "))},InputValueDefinition:{leave:({description:e,name:t,type:r,defaultValue:n,directives:i})=>J("",e,`
99
99
  `)+x([t+": "+r,J("= ",n),x(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:e,name:t,interfaces:r,directives:n,fields:i})=>J("",e,`
@@ -102,17 +102,17 @@ spurious results.`)}}return!1},"instanceOf");var Fn=class{static{o(this,"Source"
102
102
  `)+x(["enum",t,x(r," "),ut(n)]," ")},EnumValueDefinition:{leave:({description:e,name:t,directives:r})=>J("",e,`
103
103
  `)+x([t,x(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:e,name:t,directives:r,fields:n})=>J("",e,`
104
104
  `)+x(["input",t,x(r," "),ut(n)]," ")},DirectiveDefinition:{leave:({description:e,name:t,arguments:r,repeatable:n,locations:i})=>J("",e,`
105
- `)+"directive @"+t+(hb(r)?J(`(
106
- `,gc(x(r,`
105
+ `)+"directive @"+t+(mb(r)?J(`(
106
+ `,_c(x(r,`
107
107
  `)),`
108
108
  )`):J("(",x(r,", "),")"))+(n?" repeatable":"")+" on "+x(i," | ")},SchemaExtension:{leave:({directives:e,operationTypes:t})=>x(["extend schema",x(e," "),ut(t)]," ")},ScalarTypeExtension:{leave:({name:e,directives:t})=>x(["extend scalar",e,x(t," ")]," ")},ObjectTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>x(["extend type",e,J("implements ",x(t," & ")),x(r," "),ut(n)]," ")},InterfaceTypeExtension:{leave:({name:e,interfaces:t,directives:r,fields:n})=>x(["extend interface",e,J("implements ",x(t," & ")),x(r," "),ut(n)]," ")},UnionTypeExtension:{leave:({name:e,directives:t,types:r})=>x(["extend union",e,x(t," "),J("= ",x(r," | "))]," ")},EnumTypeExtension:{leave:({name:e,directives:t,values:r})=>x(["extend enum",e,x(t," "),ut(r)]," ")},InputObjectTypeExtension:{leave:({name:e,directives:t,fields:r})=>x(["extend input",e,x(t," "),ut(r)]," ")}};function x(e,t=""){var r;return(r=e?.filter(n=>n).join(t))!==null&&r!==void 0?r:""}o(x,"join");function ut(e){return J(`{
109
- `,gc(x(e,`
109
+ `,_c(x(e,`
110
110
  `)),`
111
- }`)}o(ut,"block");function J(e,t,r=""){return t!=null&&t!==""?e+t+r:""}o(J,"wrap");function gc(e){return J(" ",e.replace(/\n/g,`
112
- `))}o(gc,"indent");function hb(e){var t;return(t=e?.some(r=>r.includes(`
113
- `)))!==null&&t!==void 0?t:!1}o(hb,"hasMultilineItems");function Ui(e,t){switch(e.kind){case _.NULL:return null;case _.INT:return parseInt(e.value,10);case _.FLOAT:return parseFloat(e.value);case _.STRING:case _.ENUM:case _.BOOLEAN:return e.value;case _.LIST:return e.values.map(r=>Ui(r,t));case _.OBJECT:return It(e.fields,r=>r.name.value,r=>Ui(r.value,t));case _.VARIABLE:return t?.[e.name.value]}}o(Ui,"valueFromASTUntyped");function $e(e){if(e!=null||B(!1,"Must provide name."),typeof e=="string"||B(!1,"Expected name to be a string."),e.length===0)throw new N("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!ac(e.charCodeAt(t)))throw new N(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!Ni(e.charCodeAt(0)))throw new N(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}o($e,"assertName");function Ip(e){if(e==="true"||e==="false"||e==="null")throw new N(`Enum values cannot be named: ${e}`);return $e(e)}o(Ip,"assertEnumValueName");function bc(e){return mr(e)||Ne(e)||we(e)||nt(e)||Qe(e)||Pe(e)||je(e)||ae(e)}o(bc,"isType");function mr(e){return ze(e,We)}o(mr,"isScalarType");function Ne(e){return ze(e,xe)}o(Ne,"isObjectType");function Ec(e){if(!Ne(e))throw new Error(`Expected ${A(e)} to be a GraphQL Object type.`);return e}o(Ec,"assertObjectType");function we(e){return ze(e,Ht)}o(we,"isInterfaceType");function wc(e){if(!we(e))throw new Error(`Expected ${A(e)} to be a GraphQL Interface type.`);return e}o(wc,"assertInterfaceType");function nt(e){return ze(e,Fr)}o(nt,"isUnionType");function Qe(e){return ze(e,At)}o(Qe,"isEnumType");function Pe(e){return ze(e,Hr)}o(Pe,"isInputObjectType");function je(e){return ze(e,de)}o(je,"isListType");function ae(e){return ze(e,$)}o(ae,"isNonNullType");function Ye(e){return mr(e)||Qe(e)||Pe(e)||Mi(e)&&Ye(e.ofType)}o(Ye,"isInputType");function qt(e){return mr(e)||Ne(e)||we(e)||nt(e)||Qe(e)||Mi(e)&&qt(e.ofType)}o(qt,"isOutputType");function yr(e){return mr(e)||Qe(e)}o(yr,"isLeafType");function Pt(e){return Ne(e)||we(e)||nt(e)}o(Pt,"isCompositeType");function gr(e){return we(e)||nt(e)}o(gr,"isAbstractType");var de=class{static{o(this,"GraphQLList")}constructor(t){bc(t)||B(!1,`Expected ${A(t)} to be a GraphQL type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},$=class{static{o(this,"GraphQLNonNull")}constructor(t){vc(t)||B(!1,`Expected ${A(t)} to be a GraphQL nullable type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function Mi(e){return je(e)||ae(e)}o(Mi,"isWrappingType");function vc(e){return bc(e)&&!ae(e)}o(vc,"isNullableType");function Tc(e){if(!vc(e))throw new Error(`Expected ${A(e)} to be a GraphQL nullable type.`);return e}o(Tc,"assertNullableType");function Sc(e){if(e)return ae(e)?e.ofType:e}o(Sc,"getNullableType");function lt(e){if(e){let t=e;for(;Mi(t);)t=t.ofType;return t}}o(lt,"getNamedType");function Ic(e){return typeof e=="function"?e():e}o(Ic,"resolveReadonlyArrayThunk");function Ac(e){return typeof e=="function"?e():e}o(Ac,"resolveObjMapThunk");var We=class{static{o(this,"GraphQLScalarType")}constructor(t){var r,n,i,s;let a=(r=t.parseValue)!==null&&r!==void 0?r:wp;this.name=$e(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:wp,this.parseValue=a,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(Ui(c,u)),this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(s=t.extensionASTNodes)!==null&&s!==void 0?s:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||B(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${A(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||B(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||B(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},xe=class{static{o(this,"GraphQLObjectType")}constructor(t){var r;this.name=$e(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>mb(t),this._interfaces=()=>fb(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||B(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${A(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:yb(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function fb(e){var t;let r=Ic((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(r)||B(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),r}o(fb,"defineInterfaces");function mb(e){let t=Ac(e.fields);return $n(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Di(t,(r,n)=>{var i;$n(r)||B(!1,`${e.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||B(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${A(r.resolve)}.`);let s=(i=r.args)!==null&&i!==void 0?i:{};return $n(s)||B(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:$e(n),description:r.description,type:r.type,args:Ap(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}})}o(mb,"defineFieldMap");function Ap(e){return Object.entries(e).map(([t,r])=>({name:$e(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}o(Ap,"defineArguments");function $n(e){return Ee(e)&&!Array.isArray(e)}o($n,"isPlainObj");function yb(e){return Di(e,t=>({description:t.description,type:t.type,args:Pp(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(yb,"fieldsToFieldsConfig");function Pp(e){return It(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(Pp,"argsToArgsConfig");var Ht=class{static{o(this,"GraphQLInterfaceType")}constructor(t){var r;this.name=$e(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=mb.bind(void 0,t),this._interfaces=fb.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${A(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:yb(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Fr=class{static{o(this,"GraphQLUnionType")}constructor(t){var r;this.name=$e(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=cN.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${A(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function cN(e){let t=Ic(e.types);return Array.isArray(t)||B(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}o(cN,"defineTypes");var At=class{static{o(this,"GraphQLEnumType")}constructor(t){var r;this.name=$e(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=uN(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=Hn(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(t){return this._nameLookup[t]}serialize(t){let r=this._valueLookup.get(t);if(r===void 0)throw new N(`Enum "${this.name}" cannot represent value: ${A(t)}`);return r.name}parseValue(t){if(typeof t!="string"){let n=A(t);throw new N(`Enum "${this.name}" cannot represent non-string value: ${n}.`+_c(this,n))}let r=this.getValue(t);if(r==null)throw new N(`Value "${t}" does not exist in "${this.name}" enum.`+_c(this,t));return r.value}parseLiteral(t,r){if(t.kind!==_.ENUM){let i=Ue(t);throw new N(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+_c(this,i),{nodes:t})}let n=this.getValue(t.value);if(n==null){let i=Ue(t);throw new N(`Value "${i}" does not exist in "${this.name}" enum.`+_c(this,i),{nodes:t})}return n.value}toConfig(){let t=It(this.getValues(),r=>r.name,r=>({description:r.description,value:r.value,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function _c(e,t){let r=e.getValues().map(i=>i.name),n=yc(t,r);return fc("the enum value",n)}o(_c,"didYouMeanEnumValue");function uN(e,t){return $n(t)||B(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>($n(n)||B(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${A(n)}.`),{name:Ip(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:De(n.extensions),astNode:n.astNode}))}o(uN,"defineEnumValues");var Hr=class{static{o(this,"GraphQLInputObjectType")}constructor(t){var r;this.name=$e(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=lN.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=Di(this.getFields(),r=>({description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,fields:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function lN(e){let t=Ac(e.fields);return $n(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Di(t,(r,n)=>(!("resolve"in r)||B(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:$e(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}o(lN,"defineInputFieldMap");var Pc=2147483647,Rc=-2147483648,Rp=new We({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){let t=ki(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isInteger(r))throw new N(`Int cannot represent non-integer value: ${A(t)}`);if(r>Pc||r<Rc)throw new N("Int cannot represent non 32-bit signed integer value: "+A(t));return r},parseValue(e){if(typeof e!="number"||!Number.isInteger(e))throw new N(`Int cannot represent non-integer value: ${A(e)}`);if(e>Pc||e<Rc)throw new N(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==_.INT)throw new N(`Int cannot represent non-integer value: ${Ue(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>Pc||t<Rc)throw new N(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),gb=new We({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",serialize(e){let t=ki(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isFinite(r))throw new N(`Float cannot represent non numeric value: ${A(t)}`);return r},parseValue(e){if(typeof e!="number"||!Number.isFinite(e))throw new N(`Float cannot represent non numeric value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==_.FLOAT&&e.kind!==_.INT)throw new N(`Float cannot represent non numeric value: ${Ue(e)}`,e);return parseFloat(e.value)}}),oe=new We({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize(e){let t=ki(e);if(typeof t=="string")return t;if(typeof t=="boolean")return t?"true":"false";if(typeof t=="number"&&Number.isFinite(t))return t.toString();throw new N(`String cannot represent value: ${A(e)}`)},parseValue(e){if(typeof e!="string")throw new N(`String cannot represent a non string value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==_.STRING)throw new N(`String cannot represent a non string value: ${Ue(e)}`,{nodes:e});return e.value}}),Me=new We({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){let t=ki(e);if(typeof t=="boolean")return t;if(Number.isFinite(t))return t!==0;throw new N(`Boolean cannot represent a non boolean value: ${A(t)}`)},parseValue(e){if(typeof e!="boolean")throw new N(`Boolean cannot represent a non boolean value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==_.BOOLEAN)throw new N(`Boolean cannot represent a non boolean value: ${Ue(e)}`,{nodes:e});return e.value}}),Oc=new We({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',serialize(e){let t=ki(e);if(typeof t=="string")return t;if(Number.isInteger(t))return String(t);throw new N(`ID cannot represent value: ${A(e)}`)},parseValue(e){if(typeof e=="string")return e;if(typeof e=="number"&&Number.isInteger(e))return e.toString();throw new N(`ID cannot represent value: ${A(e)}`)},parseLiteral(e){if(e.kind!==_.STRING&&e.kind!==_.INT)throw new N("ID cannot represent a non-string and non-integer value: "+Ue(e),{nodes:e});return e.value}}),Op=Object.freeze([oe,Rp,gb,Me,Oc]);function ki(e){if(Ee(e)){if(typeof e.valueOf=="function"){let t=e.valueOf();if(!Ee(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}o(ki,"serializeObject");function xp(e){return ze(e,dt)}o(xp,"isDirective");var dt=class{static{o(this,"GraphQLDirective")}constructor(t){var r,n;this.name=$e(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(r=t.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=De(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||B(!1,`@${t.name} locations must be an Array.`);let i=(n=t.args)!==null&&n!==void 0?n:{};Ee(i)&&!Array.isArray(i)||B(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=Ap(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:Pp(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},_b=new dt({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new $(Me),description:"Included when true."}}}),bb=new dt({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new $(Me),description:"Skipped when true."}}}),Eb="No longer supported",wb=new dt({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[K.FIELD_DEFINITION,K.ARGUMENT_DEFINITION,K.INPUT_FIELD_DEFINITION,K.ENUM_VALUE],args:{reason:{type:oe,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:Eb}}}),vb=new dt({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[K.SCALAR],args:{url:{type:new $(oe),description:"The URL that specifies the behavior of this scalar."}}}),Np=Object.freeze([_b,bb,wb,vb]);function xc(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}o(xc,"isIterableObject");function qr(e,t){if(ae(t)){let r=qr(e,t.ofType);return r?.kind===_.NULL?null:r}if(e===null)return{kind:_.NULL};if(e===void 0)return null;if(je(t)){let r=t.ofType;if(xc(e)){let n=[];for(let i of e){let s=qr(i,r);s!=null&&n.push(s)}return{kind:_.LIST,values:n}}return qr(e,r)}if(Pe(t)){if(!Ee(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=qr(e[n.name],n.type);i&&r.push({kind:_.OBJECT_FIELD,name:{kind:_.NAME,value:n.name},value:i})}return{kind:_.OBJECT,fields:r}}if(yr(t)){let r=t.serialize(e);if(r==null)return null;if(typeof r=="boolean")return{kind:_.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return Tb.test(n)?{kind:_.INT,value:n}:{kind:_.FLOAT,value:n}}if(typeof r=="string")return Qe(t)?{kind:_.ENUM,value:r}:t===Oc&&Tb.test(r)?{kind:_.INT,value:r}:{kind:_.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${A(r)}.`)}St(!1,"Unexpected input type: "+A(t))}o(qr,"astFromValue");var Tb=/^-?(?:0|[1-9][0-9]*)$/;var Fi=new xe({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:oe,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new $(new de(new $(it))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new $(it),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:it,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:it,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new $(new de(new $(Cp))),resolve:e=>e.getDirectives()}})}),Cp=new xe({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
111
+ }`)}o(ut,"block");function J(e,t,r=""){return t!=null&&t!==""?e+t+r:""}o(J,"wrap");function _c(e){return J(" ",e.replace(/\n/g,`
112
+ `))}o(_c,"indent");function mb(e){var t;return(t=e?.some(r=>r.includes(`
113
+ `)))!==null&&t!==void 0?t:!1}o(mb,"hasMultilineItems");function Ui(e,t){switch(e.kind){case _.NULL:return null;case _.INT:return parseInt(e.value,10);case _.FLOAT:return parseFloat(e.value);case _.STRING:case _.ENUM:case _.BOOLEAN:return e.value;case _.LIST:return e.values.map(r=>Ui(r,t));case _.OBJECT:return It(e.fields,r=>r.name.value,r=>Ui(r.value,t));case _.VARIABLE:return t?.[e.name.value]}}o(Ui,"valueFromASTUntyped");function $e(e){if(e!=null||B(!1,"Must provide name."),typeof e=="string"||B(!1,"Expected name to be a string."),e.length===0)throw new N("Expected name to be a non-empty string.");for(let t=1;t<e.length;++t)if(!cc(e.charCodeAt(t)))throw new N(`Names must only contain [_a-zA-Z0-9] but "${e}" does not.`);if(!Ni(e.charCodeAt(0)))throw new N(`Names must start with [_a-zA-Z] but "${e}" does not.`);return e}o($e,"assertName");function Ap(e){if(e==="true"||e==="false"||e==="null")throw new N(`Enum values cannot be named: ${e}`);return $e(e)}o(Ap,"assertEnumValueName");function Ec(e){return yr(e)||Ne(e)||we(e)||nt(e)||Qe(e)||Pe(e)||je(e)||ae(e)}o(Ec,"isType");function yr(e){return ze(e,We)}o(yr,"isScalarType");function Ne(e){return ze(e,xe)}o(Ne,"isObjectType");function wc(e){if(!Ne(e))throw new Error(`Expected ${A(e)} to be a GraphQL Object type.`);return e}o(wc,"assertObjectType");function we(e){return ze(e,Ht)}o(we,"isInterfaceType");function vc(e){if(!we(e))throw new Error(`Expected ${A(e)} to be a GraphQL Interface type.`);return e}o(vc,"assertInterfaceType");function nt(e){return ze(e,Fr)}o(nt,"isUnionType");function Qe(e){return ze(e,At)}o(Qe,"isEnumType");function Pe(e){return ze(e,Hr)}o(Pe,"isInputObjectType");function je(e){return ze(e,de)}o(je,"isListType");function ae(e){return ze(e,$)}o(ae,"isNonNullType");function Ye(e){return yr(e)||Qe(e)||Pe(e)||Mi(e)&&Ye(e.ofType)}o(Ye,"isInputType");function qt(e){return yr(e)||Ne(e)||we(e)||nt(e)||Qe(e)||Mi(e)&&qt(e.ofType)}o(qt,"isOutputType");function gr(e){return yr(e)||Qe(e)}o(gr,"isLeafType");function Pt(e){return Ne(e)||we(e)||nt(e)}o(Pt,"isCompositeType");function _r(e){return we(e)||nt(e)}o(_r,"isAbstractType");var de=class{static{o(this,"GraphQLList")}constructor(t){Ec(t)||B(!1,`Expected ${A(t)} to be a GraphQL type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},$=class{static{o(this,"GraphQLNonNull")}constructor(t){Tc(t)||B(!1,`Expected ${A(t)} to be a GraphQL nullable type.`),this.ofType=t}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function Mi(e){return je(e)||ae(e)}o(Mi,"isWrappingType");function Tc(e){return Ec(e)&&!ae(e)}o(Tc,"isNullableType");function Sc(e){if(!Tc(e))throw new Error(`Expected ${A(e)} to be a GraphQL nullable type.`);return e}o(Sc,"assertNullableType");function Ic(e){if(e)return ae(e)?e.ofType:e}o(Ic,"getNullableType");function lt(e){if(e){let t=e;for(;Mi(t);)t=t.ofType;return t}}o(lt,"getNamedType");function Ac(e){return typeof e=="function"?e():e}o(Ac,"resolveReadonlyArrayThunk");function Pc(e){return typeof e=="function"?e():e}o(Pc,"resolveObjMapThunk");var We=class{static{o(this,"GraphQLScalarType")}constructor(t){var r,n,i,s;let a=(r=t.parseValue)!==null&&r!==void 0?r:vp;this.name=$e(t.name),this.description=t.description,this.specifiedByURL=t.specifiedByURL,this.serialize=(n=t.serialize)!==null&&n!==void 0?n:vp,this.parseValue=a,this.parseLiteral=(i=t.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(Ui(c,u)),this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(s=t.extensionASTNodes)!==null&&s!==void 0?s:[],t.specifiedByURL==null||typeof t.specifiedByURL=="string"||B(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${A(t.specifiedByURL)}.`),t.serialize==null||typeof t.serialize=="function"||B(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),t.parseLiteral&&(typeof t.parseValue=="function"&&typeof t.parseLiteral=="function"||B(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},xe=class{static{o(this,"GraphQLObjectType")}constructor(t){var r;this.name=$e(t.name),this.description=t.description,this.isTypeOf=t.isTypeOf,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>gb(t),this._interfaces=()=>yb(t),t.isTypeOf==null||typeof t.isTypeOf=="function"||B(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${A(t.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:_b(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function yb(e){var t;let r=Ac((t=e.interfaces)!==null&&t!==void 0?t:[]);return Array.isArray(r)||B(!1,`${e.name} interfaces must be an Array or a function which returns an Array.`),r}o(yb,"defineInterfaces");function gb(e){let t=Pc(e.fields);return $n(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Di(t,(r,n)=>{var i;$n(r)||B(!1,`${e.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||B(!1,`${e.name}.${n} field resolver must be a function if provided, but got: ${A(r.resolve)}.`);let s=(i=r.args)!==null&&i!==void 0?i:{};return $n(s)||B(!1,`${e.name}.${n} args must be an object with argument names as keys.`),{name:$e(n),description:r.description,type:r.type,args:Pp(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}})}o(gb,"defineFieldMap");function Pp(e){return Object.entries(e).map(([t,r])=>({name:$e(t),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}o(Pp,"defineArguments");function $n(e){return Ee(e)&&!Array.isArray(e)}o($n,"isPlainObj");function _b(e){return Di(e,t=>({description:t.description,type:t.type,args:Rp(t.args),resolve:t.resolve,subscribe:t.subscribe,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(_b,"fieldsToFieldsConfig");function Rp(e){return It(e,t=>t.name,t=>({description:t.description,type:t.type,defaultValue:t.defaultValue,deprecationReason:t.deprecationReason,extensions:t.extensions,astNode:t.astNode}))}o(Rp,"argsToArgsConfig");var Ht=class{static{o(this,"GraphQLInterfaceType")}constructor(t){var r;this.name=$e(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=gb.bind(void 0,t),this._interfaces=yb.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${A(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}getInterfaces(){return typeof this._interfaces=="function"&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:_b(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},Fr=class{static{o(this,"GraphQLUnionType")}constructor(t){var r;this.name=$e(t.name),this.description=t.description,this.resolveType=t.resolveType,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=yN.bind(void 0,t),t.resolveType==null||typeof t.resolveType=="function"||B(!1,`${this.name} must provide "resolveType" as a function, but got: ${A(t.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return typeof this._types=="function"&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function yN(e){let t=Ac(e.types);return Array.isArray(t)||B(!1,`Must provide Array of types or a function which returns such an array for Union ${e.name}.`),t}o(yN,"defineTypes");var At=class{static{o(this,"GraphQLEnumType")}constructor(t){var r;this.name=$e(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=gN(this.name,t.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=Hn(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(t){return this._nameLookup[t]}serialize(t){let r=this._valueLookup.get(t);if(r===void 0)throw new N(`Enum "${this.name}" cannot represent value: ${A(t)}`);return r.name}parseValue(t){if(typeof t!="string"){let n=A(t);throw new N(`Enum "${this.name}" cannot represent non-string value: ${n}.`+bc(this,n))}let r=this.getValue(t);if(r==null)throw new N(`Value "${t}" does not exist in "${this.name}" enum.`+bc(this,t));return r.value}parseLiteral(t,r){if(t.kind!==_.ENUM){let i=Ue(t);throw new N(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+bc(this,i),{nodes:t})}let n=this.getValue(t.value);if(n==null){let i=Ue(t);throw new N(`Value "${i}" does not exist in "${this.name}" enum.`+bc(this,i),{nodes:t})}return n.value}toConfig(){let t=It(this.getValues(),r=>r.name,r=>({description:r.description,value:r.value,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,values:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function bc(e,t){let r=e.getValues().map(i=>i.name),n=gc(t,r);return mc("the enum value",n)}o(bc,"didYouMeanEnumValue");function gN(e,t){return $n(t)||B(!1,`${e} values must be an object with value names as keys.`),Object.entries(t).map(([r,n])=>($n(n)||B(!1,`${e}.${r} must refer to an object with a "value" key representing an internal value but got: ${A(n)}.`),{name:Ap(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:De(n.extensions),astNode:n.astNode}))}o(gN,"defineEnumValues");var Hr=class{static{o(this,"GraphQLInputObjectType")}constructor(t){var r;this.name=$e(t.name),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=_N.bind(void 0,t)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let t=Di(this.getFields(),r=>({description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:r.extensions,astNode:r.astNode}));return{name:this.name,description:this.description,fields:t,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function _N(e){let t=Pc(e.fields);return $n(t)||B(!1,`${e.name} fields must be an object with field names as keys or a function which returns such an object.`),Di(t,(r,n)=>(!("resolve"in r)||B(!1,`${e.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:$e(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:De(r.extensions),astNode:r.astNode}))}o(_N,"defineInputFieldMap");var Rc=2147483647,Oc=-2147483648,Op=new We({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(e){let t=ki(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isInteger(r))throw new N(`Int cannot represent non-integer value: ${A(t)}`);if(r>Rc||r<Oc)throw new N("Int cannot represent non 32-bit signed integer value: "+A(t));return r},parseValue(e){if(typeof e!="number"||!Number.isInteger(e))throw new N(`Int cannot represent non-integer value: ${A(e)}`);if(e>Rc||e<Oc)throw new N(`Int cannot represent non 32-bit signed integer value: ${e}`);return e},parseLiteral(e){if(e.kind!==_.INT)throw new N(`Int cannot represent non-integer value: ${Ue(e)}`,{nodes:e});let t=parseInt(e.value,10);if(t>Rc||t<Oc)throw new N(`Int cannot represent non 32-bit signed integer value: ${e.value}`,{nodes:e});return t}}),bb=new We({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).",serialize(e){let t=ki(e);if(typeof t=="boolean")return t?1:0;let r=t;if(typeof t=="string"&&t!==""&&(r=Number(t)),typeof r!="number"||!Number.isFinite(r))throw new N(`Float cannot represent non numeric value: ${A(t)}`);return r},parseValue(e){if(typeof e!="number"||!Number.isFinite(e))throw new N(`Float cannot represent non numeric value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==_.FLOAT&&e.kind!==_.INT)throw new N(`Float cannot represent non numeric value: ${Ue(e)}`,e);return parseFloat(e.value)}}),oe=new We({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize(e){let t=ki(e);if(typeof t=="string")return t;if(typeof t=="boolean")return t?"true":"false";if(typeof t=="number"&&Number.isFinite(t))return t.toString();throw new N(`String cannot represent value: ${A(e)}`)},parseValue(e){if(typeof e!="string")throw new N(`String cannot represent a non string value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==_.STRING)throw new N(`String cannot represent a non string value: ${Ue(e)}`,{nodes:e});return e.value}}),Me=new We({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(e){let t=ki(e);if(typeof t=="boolean")return t;if(Number.isFinite(t))return t!==0;throw new N(`Boolean cannot represent a non boolean value: ${A(t)}`)},parseValue(e){if(typeof e!="boolean")throw new N(`Boolean cannot represent a non boolean value: ${A(e)}`);return e},parseLiteral(e){if(e.kind!==_.BOOLEAN)throw new N(`Boolean cannot represent a non boolean value: ${Ue(e)}`,{nodes:e});return e.value}}),xc=new We({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',serialize(e){let t=ki(e);if(typeof t=="string")return t;if(Number.isInteger(t))return String(t);throw new N(`ID cannot represent value: ${A(e)}`)},parseValue(e){if(typeof e=="string")return e;if(typeof e=="number"&&Number.isInteger(e))return e.toString();throw new N(`ID cannot represent value: ${A(e)}`)},parseLiteral(e){if(e.kind!==_.STRING&&e.kind!==_.INT)throw new N("ID cannot represent a non-string and non-integer value: "+Ue(e),{nodes:e});return e.value}}),xp=Object.freeze([oe,Op,bb,Me,xc]);function ki(e){if(Ee(e)){if(typeof e.valueOf=="function"){let t=e.valueOf();if(!Ee(t))return t}if(typeof e.toJSON=="function")return e.toJSON()}return e}o(ki,"serializeObject");function Np(e){return ze(e,dt)}o(Np,"isDirective");var dt=class{static{o(this,"GraphQLDirective")}constructor(t){var r,n;this.name=$e(t.name),this.description=t.description,this.locations=t.locations,this.isRepeatable=(r=t.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=De(t.extensions),this.astNode=t.astNode,Array.isArray(t.locations)||B(!1,`@${t.name} locations must be an Array.`);let i=(n=t.args)!==null&&n!==void 0?n:{};Ee(i)&&!Array.isArray(i)||B(!1,`@${t.name} args must be an object with argument names as keys.`),this.args=Pp(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:Rp(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},Eb=new dt({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new $(Me),description:"Included when true."}}}),wb=new dt({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[K.FIELD,K.FRAGMENT_SPREAD,K.INLINE_FRAGMENT],args:{if:{type:new $(Me),description:"Skipped when true."}}}),vb="No longer supported",Tb=new dt({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[K.FIELD_DEFINITION,K.ARGUMENT_DEFINITION,K.INPUT_FIELD_DEFINITION,K.ENUM_VALUE],args:{reason:{type:oe,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:vb}}}),Sb=new dt({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[K.SCALAR],args:{url:{type:new $(oe),description:"The URL that specifies the behavior of this scalar."}}}),Cp=Object.freeze([Eb,wb,Tb,Sb]);function Nc(e){return typeof e=="object"&&typeof e?.[Symbol.iterator]=="function"}o(Nc,"isIterableObject");function qr(e,t){if(ae(t)){let r=qr(e,t.ofType);return r?.kind===_.NULL?null:r}if(e===null)return{kind:_.NULL};if(e===void 0)return null;if(je(t)){let r=t.ofType;if(Nc(e)){let n=[];for(let i of e){let s=qr(i,r);s!=null&&n.push(s)}return{kind:_.LIST,values:n}}return qr(e,r)}if(Pe(t)){if(!Ee(e))return null;let r=[];for(let n of Object.values(t.getFields())){let i=qr(e[n.name],n.type);i&&r.push({kind:_.OBJECT_FIELD,name:{kind:_.NAME,value:n.name},value:i})}return{kind:_.OBJECT,fields:r}}if(gr(t)){let r=t.serialize(e);if(r==null)return null;if(typeof r=="boolean")return{kind:_.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return Ib.test(n)?{kind:_.INT,value:n}:{kind:_.FLOAT,value:n}}if(typeof r=="string")return Qe(t)?{kind:_.ENUM,value:r}:t===xc&&Ib.test(r)?{kind:_.INT,value:r}:{kind:_.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${A(r)}.`)}St(!1,"Unexpected input type: "+A(t))}o(qr,"astFromValue");var Ib=/^-?(?:0|[1-9][0-9]*)$/;var Fi=new xe({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:oe,resolve:e=>e.description},types:{description:"A list of all types supported by this server.",type:new $(new de(new $(it))),resolve(e){return Object.values(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new $(it),resolve:e=>e.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:it,resolve:e=>e.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:it,resolve:e=>e.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new $(new de(new $(Lp))),resolve:e=>e.getDirectives()}})}),Lp=new xe({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
114
114
 
115
- In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new $(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},isRepeatable:{type:new $(Me),resolve:e=>e.isRepeatable},locations:{type:new $(new de(new $(Lp))),resolve:e=>e.locations},args:{type:new $(new de(new $(Hi))),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),Lp=new At({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:K.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:K.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:K.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:K.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:K.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:K.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:K.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:K.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:K.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:K.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:K.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:K.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:K.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:K.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:K.UNION,description:"Location adjacent to a union definition."},ENUM:{value:K.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:K.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:K.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:K.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),it=new xe({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new $(Mp),resolve(e){if(mr(e))return X.SCALAR;if(Ne(e))return X.OBJECT;if(we(e))return X.INTERFACE;if(nt(e))return X.UNION;if(Qe(e))return X.ENUM;if(Pe(e))return X.INPUT_OBJECT;if(je(e))return X.LIST;if(ae(e))return X.NON_NULL;St(!1,`Unexpected type: "${A(e)}".`)}},name:{type:oe,resolve:e=>"name"in e?e.name:void 0},description:{type:oe,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:oe,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new de(new $(Dp)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ne(e)||we(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new de(new $(it)),resolve(e){if(Ne(e)||we(e))return e.getInterfaces()}},possibleTypes:{type:new de(new $(it)),resolve(e,t,r,{schema:n}){if(gr(e))return n.getPossibleTypes(e)}},enumValues:{type:new de(new $(Up)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Qe(e)){let r=e.getValues();return t?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new de(new $(Hi)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Pe(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:it,resolve:e=>"ofType"in e?e.ofType:void 0}})}),Dp=new xe({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new $(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},args:{type:new $(new de(new $(Hi))),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}},type:{type:new $(it),resolve:e=>e.type},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),Hi=new xe({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new $(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},type:{type:new $(it),resolve:e=>e.type},defaultValue:{type:oe,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){let{type:t,defaultValue:r}=e,n=qr(r,t);return n?Ue(n):null}},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),Up=new xe({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new $(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),X;(function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"})(X||(X={}));var Mp=new At({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:X.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:X.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:X.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:X.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:X.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:X.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:X.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:X.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Nc={name:"__schema",type:new $(Fi),description:"Access the current type schema of this server.",args:[],resolve:(e,t,r,{schema:n})=>n,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Cc={name:"__type",type:it,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new $(oe),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},r,{schema:n})=>n.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Lc={name:"__typename",type:new $(oe),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,r,{parentType:n})=>n.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},kp=Object.freeze([Fi,Cp,Lp,it,Dp,Hi,Up,Mp]);var qi=class{static{o(this,"GraphQLSchema")}constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,Ee(t)||B(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||B(!1,`"types" must be Array if provided but got: ${A(t.types)}.`),!t.directives||Array.isArray(t.directives)||B(!1,`"directives" must be Array if provided but got: ${A(t.directives)}.`),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(n=t.directives)!==null&&n!==void 0?n:Np;let i=new Set(t.types);if(t.types!=null)for(let s of t.types)i.delete(s),pt(s,i);this._queryType!=null&&pt(this._queryType,i),this._mutationType!=null&&pt(this._mutationType,i),this._subscriptionType!=null&&pt(this._subscriptionType,i);for(let s of this._directives)if(xp(s))for(let a of s.args)pt(a.type,i);pt(Fi,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let s of i){if(s==null)continue;let a=s.name;if(a||B(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=s,we(s)){for(let c of s.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(s)}}else if(Ne(s)){for(let c of s.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.objects.push(s)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case rt.QUERY:return this.getQueryType();case rt.MUTATION:return this.getMutationType();case rt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return nt(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){let r=this._implementationsMap[t.name];return r??{objects:[],interfaces:[]}}isSubType(t,r){let n=this._subTypeMap[t.name];if(n===void 0){if(n=Object.create(null),nt(t))for(let i of t.getTypes())n[i.name]=!0;else{let i=this.getImplementations(t);for(let s of i.objects)n[s.name]=!0;for(let s of i.interfaces)n[s.name]=!0}this._subTypeMap[t.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(r=>r.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}};function pt(e,t){let r=lt(e);if(!t.has(r)){if(t.add(r),nt(r))for(let n of r.getTypes())pt(n,t);else if(Ne(r)||we(r)){for(let n of r.getInterfaces())pt(n,t);for(let n of Object.values(r.getFields())){pt(n.type,t);for(let i of n.args)pt(i.type,t)}}else if(Pe(r))for(let n of Object.values(r.getFields()))pt(n.type,t)}return t}o(pt,"collectReferencedTypes");function _r(e,t){switch(t.kind){case _.LIST_TYPE:{let r=_r(e,t.type);return r&&new de(r)}case _.NON_NULL_TYPE:{let r=_r(e,t.type);return r&&new $(r)}case _.NAMED_TYPE:return e.getType(t.name.value)}}o(_r,"typeFromAST");var br=class{static{o(this,"TypeInfo")}constructor(t,r,n){this._schema=t,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=n??dN,r&&(Ye(r)&&this._inputTypeStack.push(r),Pt(r)&&this._parentTypeStack.push(r),qt(r)&&this._typeStack.push(r))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){let r=this._schema;switch(t.kind){case _.SELECTION_SET:{let i=lt(this.getType());this._parentTypeStack.push(Pt(i)?i:void 0);break}case _.FIELD:{let i=this.getParentType(),s,a;i&&(s=this._getFieldDef(r,i,t),s&&(a=s.type)),this._fieldDefStack.push(s),this._typeStack.push(qt(a)?a:void 0);break}case _.DIRECTIVE:this._directive=r.getDirective(t.name.value);break;case _.OPERATION_DEFINITION:{let i=r.getRootType(t.operation);this._typeStack.push(Ne(i)?i:void 0);break}case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:{let i=t.typeCondition,s=i?_r(r,i):lt(this.getType());this._typeStack.push(qt(s)?s:void 0);break}case _.VARIABLE_DEFINITION:{let i=_r(r,t.type);this._inputTypeStack.push(Ye(i)?i:void 0);break}case _.ARGUMENT:{var n;let i,s,a=(n=this.getDirective())!==null&&n!==void 0?n:this.getFieldDef();a&&(i=a.args.find(c=>c.name===t.name.value),i&&(s=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case _.LIST:{let i=Sc(this.getInputType()),s=je(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case _.OBJECT_FIELD:{let i=lt(this.getInputType()),s,a;Pe(i)&&(a=i.getFields()[t.name.value],a&&(s=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case _.ENUM:{let i=lt(this.getInputType()),s;Qe(i)&&(s=i.getValue(t.value)),this._enumValue=s;break}default:}}leave(t){switch(t.kind){case _.SELECTION_SET:this._parentTypeStack.pop();break;case _.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case _.DIRECTIVE:this._directive=null;break;case _.OPERATION_DEFINITION:case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:this._typeStack.pop();break;case _.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case _.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case _.LIST:case _.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case _.ENUM:this._enumValue=null;break;default:}}};function dN(e,t,r){let n=r.name.value;if(n===Nc.name&&e.getQueryType()===t)return Nc;if(n===Cc.name&&e.getQueryType()===t)return Cc;if(n===Lc.name&&Pt(t))return Lc;if(Ne(t)||we(t))return t.getFields()[n]}o(dN,"getFieldDef");function jn(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=qn(t,n.kind).enter;if(i){let s=i.apply(t,r);return s!==void 0&&(e.leave(n),xi(s)&&e.enter(s)),s}},leave(...r){let n=r[0],i=qn(t,n.kind).leave,s;return i&&(s=i.apply(t,r)),e.leave(n),s}}}o(jn,"visitWithTypeInfo");function Dc(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}o(Dc,"printPathArray");function Fp(e,t,r){return{prev:e,key:t,typename:r}}o(Fp,"addPath");function $t(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}o($t,"pathToArray");function Hp(e,t,r=pN){return $i(e,t,r,void 0)}o(Hp,"coerceInputValue");function pN(e,t,r){let n="Invalid value "+A(t);throw e.length>0&&(n+=` at "value${Dc(e)}"`),r.message=n+": "+r.message,r}o(pN,"defaultOnError");function $i(e,t,r,n){if(ae(t)){if(e!=null)return $i(e,t.ofType,r,n);r($t(n),e,new N(`Expected non-nullable type "${A(t)}" not to be null.`));return}if(e==null)return null;if(je(t)){let i=t.ofType;return xc(e)?Array.from(e,(s,a)=>{let c=Fp(n,a,void 0);return $i(s,i,r,c)}):[$i(e,i,r,n)]}if(Pe(t)){if(!Ee(e)){r($t(n),e,new N(`Expected type "${t.name}" to be an object.`));return}let i={},s=t.getFields();for(let a of Object.values(s)){let c=e[a.name];if(c===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(ae(a.type)){let u=A(a.type);r($t(n),e,new N(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=$i(c,a.type,r,Fp(n,a.name,t.name))}for(let a of Object.keys(e))if(!s[a]){let c=yc(a,Object.keys(t.getFields()));r($t(n),e,new N(`Field "${a}" is not defined by type "${t.name}".`+fc(c)))}return i}if(yr(t)){let i;try{i=t.parseValue(e)}catch(s){s instanceof N?r($t(n),e,s):r($t(n),e,new N(`Expected type "${t.name}". `+s.message,{originalError:s}));return}return i===void 0&&r($t(n),e,new N(`Expected type "${t.name}".`)),i}St(!1,"Unexpected input type: "+A(t))}o($i,"coerceInputValueImpl");function Rt(e,t,r){if(e){if(e.kind===_.VARIABLE){let n=e.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ae(t)?void 0:i}if(ae(t))return e.kind===_.NULL?void 0:Rt(e,t.ofType,r);if(e.kind===_.NULL)return null;if(je(t)){let n=t.ofType;if(e.kind===_.LIST){let s=[];for(let a of e.values)if(Sb(a,r)){if(ae(n))return;s.push(null)}else{let c=Rt(a,n,r);if(c===void 0)return;s.push(c)}return s}let i=Rt(e,n,r);return i===void 0?void 0:[i]}if(Pe(t)){if(e.kind!==_.OBJECT)return;let n=Object.create(null),i=Hn(e.fields,s=>s.name.value);for(let s of Object.values(t.getFields())){let a=i[s.name];if(!a||Sb(a.value,r)){if(s.defaultValue!==void 0)n[s.name]=s.defaultValue;else if(ae(s.type))return;continue}let c=Rt(a.value,s.type,r);if(c===void 0)return;n[s.name]=c}return n}if(yr(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}St(!1,"Unexpected input type: "+A(t))}}o(Rt,"valueFromAST");function Sb(e,t){return e.kind===_.VARIABLE&&(t==null||t[e.name.value]===void 0)}o(Sb,"isMissingVariable");function Uc(e,t,r,n){let i=[],s=n?.maxErrors;try{let a=hN(e,t,r,c=>{if(s!=null&&i.length>=s)throw new N("Too many errors processing variables, error limit reached. Execution aborted.");i.push(c)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}o(Uc,"getVariableValues");function hN(e,t,r,n){let i={};for(let s of t){let a=s.variable.name.value,c=_r(e,s.type);if(!Ye(c)){let l=Ue(s.type);n(new N(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!Ib(r,a)){if(s.defaultValue)i[a]=Rt(s.defaultValue,c);else if(ae(c)){let l=A(c);n(new N(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:s}))}continue}let u=r[a];if(u===null&&ae(c)){let l=A(c);n(new N(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:s}));continue}i[a]=Hp(u,c,(l,d,p)=>{let y=`Variable "$${a}" got invalid value `+A(d);l.length>0&&(y+=` at "${a}${Dc(l)}"`),n(new N(y+"; "+p.message,{nodes:s,originalError:p}))})}return i}o(hN,"coerceVariableValues");function ji(e,t,r){var n;let i={},s=(n=t.arguments)!==null&&n!==void 0?n:[],a=Hn(s,c=>c.name.value);for(let c of e.args){let u=c.name,l=c.type,d=a[u];if(!d){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ae(l))throw new N(`Argument "${u}" of required type "${A(l)}" was not provided.`,{nodes:t});continue}let p=d.value,y=p.kind===_.NULL;if(p.kind===_.VARIABLE){let m=p.name.value;if(r==null||!Ib(r,m)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ae(l))throw new N(`Argument "${u}" of required type "${A(l)}" was provided the variable "$${m}" which was not provided a runtime value.`,{nodes:p});continue}y=r[m]==null}if(y&&ae(l))throw new N(`Argument "${u}" of non-null type "${A(l)}" must not be null.`,{nodes:p});let h=Rt(p,l,r);if(h===void 0)throw new N(`Argument "${u}" has invalid value ${Ue(p)}.`,{nodes:p});i[u]=h}return i}o(ji,"getArgumentValues");function Vi(e,t,r){var n;let i=(n=t.directives)===null||n===void 0?void 0:n.find(s=>s.name.value===e.name);if(i)return ji(e,i,r)}o(Vi,"getDirectiveValues");function Ib(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o(Ib,"hasOwnProperty");var Mc=class{static{o(this,"ASTValidationContext")}constructor(t,r){this._ast=t,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(t){this._onError(t)}getDocument(){return this._ast}getFragment(t){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(let n of this.getDocument().definitions)n.kind===_.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[t]}getFragmentSpreads(t){let r=this._fragmentSpreads.get(t);if(!r){r=[];let n=[t],i;for(;i=n.pop();)for(let s of i.selections)s.kind===_.FRAGMENT_SPREAD?r.push(s):s.selectionSet&&n.push(s.selectionSet);this._fragmentSpreads.set(t,r)}return r}getRecursivelyReferencedFragments(t){let r=this._recursivelyReferencedFragments.get(t);if(!r){r=[];let n=Object.create(null),i=[t.selectionSet],s;for(;s=i.pop();)for(let a of this.getFragmentSpreads(s)){let c=a.name.value;if(n[c]!==!0){n[c]=!0;let u=this.getFragment(c);u&&(r.push(u),i.push(u.selectionSet))}}this._recursivelyReferencedFragments.set(t,r)}return r}},Ab=class extends Mc{static{o(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},Vn=class extends Mc{static{o(this,"ValidationContext")}constructor(t,r,n,i){super(r,i),this._schema=t,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(t){let r=this._variableUsages.get(t);if(!r){let n=[],i=new br(this._schema);fr(t,jn(i,{VariableDefinition:()=>!1,Variable(s){n.push({node:s,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),r=n,this._variableUsages.set(t,r)}return r}getRecursiveVariableUsages(t){let r=this._recursiveVariableUsages.get(t);if(!r){r=this.getVariableUsages(t);for(let n of this.getRecursivelyReferencedFragments(t))r=r.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(t,r)}return r}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}};function kc(e){let t={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...e},r=t.descriptions?"description":"",n=t.specifiedByUrl?"specifiedByURL":"",i=t.directiveIsRepeatable?"isRepeatable":"",s=t.schemaDescription?r:"";function a(c){return t.inputValueDeprecation?c:""}return o(a,"inputDeprecation"),`
115
+ In some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.`,fields:()=>({name:{type:new $(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},isRepeatable:{type:new $(Me),resolve:e=>e.isRepeatable},locations:{type:new $(new de(new $(Dp))),resolve:e=>e.locations},args:{type:new $(new de(new $(Hi))),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}}})}),Dp=new At({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:K.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:K.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:K.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:K.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:K.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:K.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:K.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:K.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:K.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:K.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:K.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:K.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:K.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:K.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:K.UNION,description:"Location adjacent to a union definition."},ENUM:{value:K.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:K.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:K.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:K.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),it=new xe({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new $(kp),resolve(e){if(yr(e))return X.SCALAR;if(Ne(e))return X.OBJECT;if(we(e))return X.INTERFACE;if(nt(e))return X.UNION;if(Qe(e))return X.ENUM;if(Pe(e))return X.INPUT_OBJECT;if(je(e))return X.LIST;if(ae(e))return X.NON_NULL;St(!1,`Unexpected type: "${A(e)}".`)}},name:{type:oe,resolve:e=>"name"in e?e.name:void 0},description:{type:oe,resolve:e=>"description"in e?e.description:void 0},specifiedByURL:{type:oe,resolve:e=>"specifiedByURL"in e?e.specifiedByURL:void 0},fields:{type:new de(new $(Up)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Ne(e)||we(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new de(new $(it)),resolve(e){if(Ne(e)||we(e))return e.getInterfaces()}},possibleTypes:{type:new de(new $(it)),resolve(e,t,r,{schema:n}){if(_r(e))return n.getPossibleTypes(e)}},enumValues:{type:new de(new $(Mp)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Qe(e)){let r=e.getValues();return t?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new de(new $(Hi)),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){if(Pe(e)){let r=Object.values(e.getFields());return t?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:it,resolve:e=>"ofType"in e?e.ofType:void 0}})}),Up=new xe({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new $(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},args:{type:new $(new de(new $(Hi))),args:{includeDeprecated:{type:Me,defaultValue:!1}},resolve(e,{includeDeprecated:t}){return t?e.args:e.args.filter(r=>r.deprecationReason==null)}},type:{type:new $(it),resolve:e=>e.type},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),Hi=new xe({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new $(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},type:{type:new $(it),resolve:e=>e.type},defaultValue:{type:oe,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(e){let{type:t,defaultValue:r}=e,n=qr(r,t);return n?Ue(n):null}},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),Mp=new xe({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new $(oe),resolve:e=>e.name},description:{type:oe,resolve:e=>e.description},isDeprecated:{type:new $(Me),resolve:e=>e.deprecationReason!=null},deprecationReason:{type:oe,resolve:e=>e.deprecationReason}})}),X;(function(e){e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.INPUT_OBJECT="INPUT_OBJECT",e.LIST="LIST",e.NON_NULL="NON_NULL"})(X||(X={}));var kp=new At({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:X.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:X.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:X.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:X.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:X.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:X.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:X.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:X.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),Cc={name:"__schema",type:new $(Fi),description:"Access the current type schema of this server.",args:[],resolve:(e,t,r,{schema:n})=>n,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Lc={name:"__type",type:it,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new $(oe),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(e,{name:t},r,{schema:n})=>n.getType(t),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Dc={name:"__typename",type:new $(oe),description:"The name of the current Object type at runtime.",args:[],resolve:(e,t,r,{parentType:n})=>n.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Fp=Object.freeze([Fi,Lp,Dp,it,Up,Hi,Mp,kp]);var qi=class{static{o(this,"GraphQLSchema")}constructor(t){var r,n;this.__validationErrors=t.assumeValid===!0?[]:void 0,Ee(t)||B(!1,"Must provide configuration object."),!t.types||Array.isArray(t.types)||B(!1,`"types" must be Array if provided but got: ${A(t.types)}.`),!t.directives||Array.isArray(t.directives)||B(!1,`"directives" must be Array if provided but got: ${A(t.directives)}.`),this.description=t.description,this.extensions=De(t.extensions),this.astNode=t.astNode,this.extensionASTNodes=(r=t.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=t.query,this._mutationType=t.mutation,this._subscriptionType=t.subscription,this._directives=(n=t.directives)!==null&&n!==void 0?n:Cp;let i=new Set(t.types);if(t.types!=null)for(let s of t.types)i.delete(s),pt(s,i);this._queryType!=null&&pt(this._queryType,i),this._mutationType!=null&&pt(this._mutationType,i),this._subscriptionType!=null&&pt(this._subscriptionType,i);for(let s of this._directives)if(Np(s))for(let a of s.args)pt(a.type,i);pt(Fi,i),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(let s of i){if(s==null)continue;let a=s.name;if(a||B(!1,"One of the provided types for building the Schema is missing a name."),this._typeMap[a]!==void 0)throw new Error(`Schema must contain uniquely named types but contains multiple types named "${a}".`);if(this._typeMap[a]=s,we(s)){for(let c of s.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(s)}}else if(Ne(s)){for(let c of s.getInterfaces())if(we(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.objects.push(s)}}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(t){switch(t){case rt.QUERY:return this.getQueryType();case rt.MUTATION:return this.getMutationType();case rt.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(t){return this.getTypeMap()[t]}getPossibleTypes(t){return nt(t)?t.getTypes():this.getImplementations(t).objects}getImplementations(t){let r=this._implementationsMap[t.name];return r??{objects:[],interfaces:[]}}isSubType(t,r){let n=this._subTypeMap[t.name];if(n===void 0){if(n=Object.create(null),nt(t))for(let i of t.getTypes())n[i.name]=!0;else{let i=this.getImplementations(t);for(let s of i.objects)n[s.name]=!0;for(let s of i.interfaces)n[s.name]=!0}this._subTypeMap[t.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(t){return this.getDirectives().find(r=>r.name===t)}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:this.__validationErrors!==void 0}}};function pt(e,t){let r=lt(e);if(!t.has(r)){if(t.add(r),nt(r))for(let n of r.getTypes())pt(n,t);else if(Ne(r)||we(r)){for(let n of r.getInterfaces())pt(n,t);for(let n of Object.values(r.getFields())){pt(n.type,t);for(let i of n.args)pt(i.type,t)}}else if(Pe(r))for(let n of Object.values(r.getFields()))pt(n.type,t)}return t}o(pt,"collectReferencedTypes");function br(e,t){switch(t.kind){case _.LIST_TYPE:{let r=br(e,t.type);return r&&new de(r)}case _.NON_NULL_TYPE:{let r=br(e,t.type);return r&&new $(r)}case _.NAMED_TYPE:return e.getType(t.name.value)}}o(br,"typeFromAST");var Er=class{static{o(this,"TypeInfo")}constructor(t,r,n){this._schema=t,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=n??bN,r&&(Ye(r)&&this._inputTypeStack.push(r),Pt(r)&&this._parentTypeStack.push(r),qt(r)&&this._typeStack.push(r))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(t){let r=this._schema;switch(t.kind){case _.SELECTION_SET:{let i=lt(this.getType());this._parentTypeStack.push(Pt(i)?i:void 0);break}case _.FIELD:{let i=this.getParentType(),s,a;i&&(s=this._getFieldDef(r,i,t),s&&(a=s.type)),this._fieldDefStack.push(s),this._typeStack.push(qt(a)?a:void 0);break}case _.DIRECTIVE:this._directive=r.getDirective(t.name.value);break;case _.OPERATION_DEFINITION:{let i=r.getRootType(t.operation);this._typeStack.push(Ne(i)?i:void 0);break}case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:{let i=t.typeCondition,s=i?br(r,i):lt(this.getType());this._typeStack.push(qt(s)?s:void 0);break}case _.VARIABLE_DEFINITION:{let i=br(r,t.type);this._inputTypeStack.push(Ye(i)?i:void 0);break}case _.ARGUMENT:{var n;let i,s,a=(n=this.getDirective())!==null&&n!==void 0?n:this.getFieldDef();a&&(i=a.args.find(c=>c.name===t.name.value),i&&(s=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case _.LIST:{let i=Ic(this.getInputType()),s=je(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case _.OBJECT_FIELD:{let i=lt(this.getInputType()),s,a;Pe(i)&&(a=i.getFields()[t.name.value],a&&(s=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(Ye(s)?s:void 0);break}case _.ENUM:{let i=lt(this.getInputType()),s;Qe(i)&&(s=i.getValue(t.value)),this._enumValue=s;break}default:}}leave(t){switch(t.kind){case _.SELECTION_SET:this._parentTypeStack.pop();break;case _.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case _.DIRECTIVE:this._directive=null;break;case _.OPERATION_DEFINITION:case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:this._typeStack.pop();break;case _.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case _.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case _.LIST:case _.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case _.ENUM:this._enumValue=null;break;default:}}};function bN(e,t,r){let n=r.name.value;if(n===Cc.name&&e.getQueryType()===t)return Cc;if(n===Lc.name&&e.getQueryType()===t)return Lc;if(n===Dc.name&&Pt(t))return Dc;if(Ne(t)||we(t))return t.getFields()[n]}o(bN,"getFieldDef");function jn(e,t){return{enter(...r){let n=r[0];e.enter(n);let i=qn(t,n.kind).enter;if(i){let s=i.apply(t,r);return s!==void 0&&(e.leave(n),xi(s)&&e.enter(s)),s}},leave(...r){let n=r[0],i=qn(t,n.kind).leave,s;return i&&(s=i.apply(t,r)),e.leave(n),s}}}o(jn,"visitWithTypeInfo");function Uc(e){return e.map(t=>typeof t=="number"?"["+t.toString()+"]":"."+t).join("")}o(Uc,"printPathArray");function Hp(e,t,r){return{prev:e,key:t,typename:r}}o(Hp,"addPath");function $t(e){let t=[],r=e;for(;r;)t.push(r.key),r=r.prev;return t.reverse()}o($t,"pathToArray");function qp(e,t,r=EN){return $i(e,t,r,void 0)}o(qp,"coerceInputValue");function EN(e,t,r){let n="Invalid value "+A(t);throw e.length>0&&(n+=` at "value${Uc(e)}"`),r.message=n+": "+r.message,r}o(EN,"defaultOnError");function $i(e,t,r,n){if(ae(t)){if(e!=null)return $i(e,t.ofType,r,n);r($t(n),e,new N(`Expected non-nullable type "${A(t)}" not to be null.`));return}if(e==null)return null;if(je(t)){let i=t.ofType;return Nc(e)?Array.from(e,(s,a)=>{let c=Hp(n,a,void 0);return $i(s,i,r,c)}):[$i(e,i,r,n)]}if(Pe(t)){if(!Ee(e)){r($t(n),e,new N(`Expected type "${t.name}" to be an object.`));return}let i={},s=t.getFields();for(let a of Object.values(s)){let c=e[a.name];if(c===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(ae(a.type)){let u=A(a.type);r($t(n),e,new N(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=$i(c,a.type,r,Hp(n,a.name,t.name))}for(let a of Object.keys(e))if(!s[a]){let c=gc(a,Object.keys(t.getFields()));r($t(n),e,new N(`Field "${a}" is not defined by type "${t.name}".`+mc(c)))}return i}if(gr(t)){let i;try{i=t.parseValue(e)}catch(s){s instanceof N?r($t(n),e,s):r($t(n),e,new N(`Expected type "${t.name}". `+s.message,{originalError:s}));return}return i===void 0&&r($t(n),e,new N(`Expected type "${t.name}".`)),i}St(!1,"Unexpected input type: "+A(t))}o($i,"coerceInputValueImpl");function Rt(e,t,r){if(e){if(e.kind===_.VARIABLE){let n=e.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ae(t)?void 0:i}if(ae(t))return e.kind===_.NULL?void 0:Rt(e,t.ofType,r);if(e.kind===_.NULL)return null;if(je(t)){let n=t.ofType;if(e.kind===_.LIST){let s=[];for(let a of e.values)if(Ab(a,r)){if(ae(n))return;s.push(null)}else{let c=Rt(a,n,r);if(c===void 0)return;s.push(c)}return s}let i=Rt(e,n,r);return i===void 0?void 0:[i]}if(Pe(t)){if(e.kind!==_.OBJECT)return;let n=Object.create(null),i=Hn(e.fields,s=>s.name.value);for(let s of Object.values(t.getFields())){let a=i[s.name];if(!a||Ab(a.value,r)){if(s.defaultValue!==void 0)n[s.name]=s.defaultValue;else if(ae(s.type))return;continue}let c=Rt(a.value,s.type,r);if(c===void 0)return;n[s.name]=c}return n}if(gr(t)){let n;try{n=t.parseLiteral(e,r)}catch{return}return n===void 0?void 0:n}St(!1,"Unexpected input type: "+A(t))}}o(Rt,"valueFromAST");function Ab(e,t){return e.kind===_.VARIABLE&&(t==null||t[e.name.value]===void 0)}o(Ab,"isMissingVariable");function Mc(e,t,r,n){let i=[],s=n?.maxErrors;try{let a=wN(e,t,r,c=>{if(s!=null&&i.length>=s)throw new N("Too many errors processing variables, error limit reached. Execution aborted.");i.push(c)});if(i.length===0)return{coerced:a}}catch(a){i.push(a)}return{errors:i}}o(Mc,"getVariableValues");function wN(e,t,r,n){let i={};for(let s of t){let a=s.variable.name.value,c=br(e,s.type);if(!Ye(c)){let l=Ue(s.type);n(new N(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!Pb(r,a)){if(s.defaultValue)i[a]=Rt(s.defaultValue,c);else if(ae(c)){let l=A(c);n(new N(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:s}))}continue}let u=r[a];if(u===null&&ae(c)){let l=A(c);n(new N(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:s}));continue}i[a]=qp(u,c,(l,d,p)=>{let y=`Variable "$${a}" got invalid value `+A(d);l.length>0&&(y+=` at "${a}${Uc(l)}"`),n(new N(y+"; "+p.message,{nodes:s,originalError:p}))})}return i}o(wN,"coerceVariableValues");function ji(e,t,r){var n;let i={},s=(n=t.arguments)!==null&&n!==void 0?n:[],a=Hn(s,c=>c.name.value);for(let c of e.args){let u=c.name,l=c.type,d=a[u];if(!d){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ae(l))throw new N(`Argument "${u}" of required type "${A(l)}" was not provided.`,{nodes:t});continue}let p=d.value,y=p.kind===_.NULL;if(p.kind===_.VARIABLE){let m=p.name.value;if(r==null||!Pb(r,m)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ae(l))throw new N(`Argument "${u}" of required type "${A(l)}" was provided the variable "$${m}" which was not provided a runtime value.`,{nodes:p});continue}y=r[m]==null}if(y&&ae(l))throw new N(`Argument "${u}" of non-null type "${A(l)}" must not be null.`,{nodes:p});let h=Rt(p,l,r);if(h===void 0)throw new N(`Argument "${u}" has invalid value ${Ue(p)}.`,{nodes:p});i[u]=h}return i}o(ji,"getArgumentValues");function Vi(e,t,r){var n;let i=(n=t.directives)===null||n===void 0?void 0:n.find(s=>s.name.value===e.name);if(i)return ji(e,i,r)}o(Vi,"getDirectiveValues");function Pb(e,t){return Object.prototype.hasOwnProperty.call(e,t)}o(Pb,"hasOwnProperty");var kc=class{static{o(this,"ASTValidationContext")}constructor(t,r){this._ast=t,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(t){this._onError(t)}getDocument(){return this._ast}getFragment(t){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(let n of this.getDocument().definitions)n.kind===_.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[t]}getFragmentSpreads(t){let r=this._fragmentSpreads.get(t);if(!r){r=[];let n=[t],i;for(;i=n.pop();)for(let s of i.selections)s.kind===_.FRAGMENT_SPREAD?r.push(s):s.selectionSet&&n.push(s.selectionSet);this._fragmentSpreads.set(t,r)}return r}getRecursivelyReferencedFragments(t){let r=this._recursivelyReferencedFragments.get(t);if(!r){r=[];let n=Object.create(null),i=[t.selectionSet],s;for(;s=i.pop();)for(let a of this.getFragmentSpreads(s)){let c=a.name.value;if(n[c]!==!0){n[c]=!0;let u=this.getFragment(c);u&&(r.push(u),i.push(u.selectionSet))}}this._recursivelyReferencedFragments.set(t,r)}return r}},Rb=class extends kc{static{o(this,"SDLValidationContext")}constructor(t,r,n){super(t,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},Vn=class extends kc{static{o(this,"ValidationContext")}constructor(t,r,n,i){super(r,i),this._schema=t,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(t){let r=this._variableUsages.get(t);if(!r){let n=[],i=new Er(this._schema);mr(t,jn(i,{VariableDefinition:()=>!1,Variable(s){n.push({node:s,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),r=n,this._variableUsages.set(t,r)}return r}getRecursiveVariableUsages(t){let r=this._recursiveVariableUsages.get(t);if(!r){r=this.getVariableUsages(t);for(let n of this.getRecursivelyReferencedFragments(t))r=r.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(t,r)}return r}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}};function Fc(e){let t={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...e},r=t.descriptions?"description":"",n=t.specifiedByUrl?"specifiedByURL":"",i=t.directiveIsRepeatable?"isRepeatable":"",s=t.schemaDescription?r:"";function a(c){return t.inputValueDeprecation?c:""}return o(a,"inputDeprecation"),`
116
116
  query IntrospectionQuery {
117
117
  __schema {
118
118
  ${s}
@@ -217,5 +217,5 @@ In some cases, you need to provide options to alter GraphQL's execution behavior
217
217
  }
218
218
  }
219
219
  }
220
- `}o(kc,"getIntrospectionQuery");function Fc(e,t){Ee(e)&&Ee(e.__schema)||B(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${A(e)}.`);let r=e.__schema,n=It(r.types,E=>E.name,E=>y(E));for(let E of[...Op,...kp])n[E.name]&&(n[E.name]=E);let i=r.queryType?d(r.queryType):null,s=r.mutationType?d(r.mutationType):null,a=r.subscriptionType?d(r.subscriptionType):null,c=r.directives?r.directives.map(Ve):[];return new qi({description:r.description,query:i,mutation:s,subscription:a,types:Object.values(n),directives:c,assumeValid:t?.assumeValid});function u(E){if(E.kind===X.LIST){let F=E.ofType;if(!F)throw new Error("Decorated type deeper than introspection query.");return new de(u(F))}if(E.kind===X.NON_NULL){let F=E.ofType;if(!F)throw new Error("Decorated type deeper than introspection query.");let Ce=u(F);return new $(Tc(Ce))}return l(E)}function l(E){let F=E.name;if(!F)throw new Error(`Unknown type reference: ${A(E)}.`);let Ce=n[F];if(!Ce)throw new Error(`Invalid or incomplete schema, unknown type: ${F}. Ensure that a full introspection query is used in order to build a client schema.`);return Ce}function d(E){return Ec(l(E))}function p(E){return wc(l(E))}function y(E){if(E!=null&&E.name!=null&&E.kind!=null)switch(E.kind){case X.SCALAR:return h(E);case X.OBJECT:return v(E);case X.INTERFACE:return T(E);case X.UNION:return S(E);case X.ENUM:return k(E);case X.INPUT_OBJECT:return j(E)}let F=A(E);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${F}.`)}function h(E){return new We({name:E.name,description:E.description,specifiedByURL:E.specifiedByURL})}function m(E){if(E.interfaces===null&&E.kind===X.INTERFACE)return[];if(!E.interfaces){let F=A(E);throw new Error(`Introspection result missing interfaces: ${F}.`)}return E.interfaces.map(p)}function v(E){return new xe({name:E.name,description:E.description,interfaces:()=>m(E),fields:()=>C(E)})}function T(E){return new Ht({name:E.name,description:E.description,interfaces:()=>m(E),fields:()=>C(E)})}function S(E){if(!E.possibleTypes){let F=A(E);throw new Error(`Introspection result missing possibleTypes: ${F}.`)}return new Fr({name:E.name,description:E.description,types:()=>E.possibleTypes.map(d)})}function k(E){if(!E.enumValues){let F=A(E);throw new Error(`Introspection result missing enumValues: ${F}.`)}return new At({name:E.name,description:E.description,values:It(E.enumValues,F=>F.name,F=>({description:F.description,deprecationReason:F.deprecationReason}))})}function j(E){if(!E.inputFields){let F=A(E);throw new Error(`Introspection result missing inputFields: ${F}.`)}return new Hr({name:E.name,description:E.description,fields:()=>ne(E.inputFields)})}function C(E){if(!E.fields)throw new Error(`Introspection result missing fields: ${A(E)}.`);return It(E.fields,F=>F.name,re)}function re(E){let F=u(E.type);if(!qt(F)){let Ce=A(F);throw new Error(`Introspection must provide output type for fields, but received: ${Ce}.`)}if(!E.args){let Ce=A(E);throw new Error(`Introspection result missing field args: ${Ce}.`)}return{description:E.description,deprecationReason:E.deprecationReason,type:F,args:ne(E.args)}}function ne(E){return It(E,F=>F.name,fe)}function fe(E){let F=u(E.type);if(!Ye(F)){let qc=A(F);throw new Error(`Introspection must provide input type for arguments, but received: ${qc}.`)}let Ce=E.defaultValue!=null?Rt(hc(E.defaultValue),F):void 0;return{description:E.description,type:F,defaultValue:Ce,deprecationReason:E.deprecationReason}}function Ve(E){if(!E.args){let F=A(E);throw new Error(`Introspection result missing directive args: ${F}.`)}if(!E.locations){let F=A(E);throw new Error(`Introspection result missing directive locations: ${F}.`)}return new dt({name:E.name,description:E.description,isRepeatable:E.isRepeatable,locations:E.locations.slice(),args:ne(E.args)})}}o(Fc,"buildClientSchema");function kN(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}o(kN,"queryComplexityMessage");function Pb(e){let t=new br(e.schema),r=[],n=new Vn(e.schema,e.query,t,s=>r.push(s)),i=new qp(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(fr(e.query,jn(t,i)),r.length)throw r.pop();return i.complexity}o(Pb,"getComplexity");var qp=class{static{o(this,"QueryComplexity")}context;complexity;options;OperationDefinition;estimators;includeDirectiveDef;skipDirectiveDef;variableValues;requestContext;constructor(t,r){if(Number(r.maximumComplexity)<=0)throw new Error("Maximum query complexity must be a positive number");this.context=t,this.complexity=0,this.options=r,this.includeDirectiveDef=this.context.getSchema().getDirective("include")||void 0,this.skipDirectiveDef=this.context.getSchema().getDirective("skip")||void 0,this.estimators=r.estimators,this.variableValues={},this.requestContext=r.context,this.OperationDefinition={enter:this.onOperationDefinitionEnter,leave:this.onOperationDefinitionLeave}}onOperationDefinitionEnter(t){if(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)return;let{coerced:r,errors:n}=Uc(this.context.getSchema(),t.variableDefinitions?[...t.variableDefinitions]:[],this.options.variables??{});if(n&&n.length){n.forEach(s=>this.context.reportError(s));return}this.variableValues=r||{};let i=this.context.getSchema();switch(t.operation){case"query":{let s=i.getQueryType();if(!s)throw new Error("Schema does not define the required query root type");this.complexity+=this.nodeComplexity(t,s);break}case"mutation":{let s=i.getMutationType();if(!s)throw new Error("Schema does not define the required mutation root type");this.complexity+=this.nodeComplexity(t,s);break}case"subscription":{let s=i.getSubscriptionType();if(!s)throw new Error("Schema does not define the required mutation subscription type");this.complexity+=this.nodeComplexity(t,s);break}default:throw new Error(`Query complexity could not be calculated for operation of type ${t.operation}`)}}onOperationDefinitionLeave(t){if(!(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)&&(this.options.onComplete&&this.options.onComplete(this.complexity),this.complexity>this.options.maximumComplexity))return this.context.reportError(this.createError())}nodeComplexity(t,r){if(t.selectionSet){let n={};(r instanceof xe||r instanceof Ht)&&(n=r.getFields());let i;gr(r)?i=this.context.getSchema().getPossibleTypes(r).map(a=>a.name):i=[r.name];let s=t.selectionSet.selections.reduce((a,c)=>{let u=a,l=!0,d=!1;for(let p of c.directives??[])switch(p.name.value){case"include":{let h=this.includeDirectiveDef&&Vi(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&Vi(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case _.FIELD:{let p=n[c.name.value];if(!p)break;let y=lt(p.type),h;try{h=ji(p,c,this.variableValues||{})}catch(S){return this.context.reportError(S),a}let m=0;Pt(y)&&(m=this.nodeComplexity(c,y));let v={childComplexity:m,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(S=>{let k=S(v);return typeof k=="number"&&!isNaN(k)?(u=Gn(k,a,i),!0):!1}))return this.context.reportError(new N(`No complexity could be calculated for field ${r.name}.${p.name}. At least one complexity estimator has to return a complexity score.`)),a;break}case _.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let y=this.context.getSchema().getType(p.typeCondition.name.value);if(!Pt(y))break;let h=this.nodeComplexity(p,y);gr(y)?u=Gn(h,a,this.context.getSchema().getPossibleTypes(y).map(m=>m.name)):u=Gn(h,a,[y.name]);break}case _.INLINE_FRAGMENT:{let p=r;if(c.typeCondition&&c.typeCondition.name&&(p=this.context.getSchema().getType(c.typeCondition.name.value)||p,!Pt(p)))break;let y=this.nodeComplexity(c,p);gr(p)?u=Gn(y,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=Gn(y,a,[p.name]);break}default:{u=Gn(this.nodeComplexity(c,r),a,i);break}}return u},{});return s?Math.max(...Object.values(s),0):NaN}return 0}createError(){return typeof this.options.createError=="function"?this.options.createError(this.options.maximumComplexity,this.complexity):new N(kN(this.options.maximumComplexity,this.complexity))}};function Gn(e,t,r){for(let n of r)Object.prototype.hasOwnProperty.call(t,n)?t[n]+=e:t[n]=e;return t}o(Gn,"addComplexities");function Rb(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}o(Rb,"simpleEstimator");var Ob=o((e,t,r={})=>{let{definitions:n}=e,i=FN(n),s=HN(n);return Object.entries(s).map(([a,c])=>Hc(c,i,0,t,a,r))},"depthLimit");function FN(e){return e.reduce((t,r)=>(r.kind===_.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}o(FN,"getFragments");function HN(e){return e.reduce((t,r)=>{if(r.kind===_.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}o(HN,"getQueriesAndMutations");function Hc(e,t,r,n,i,s){if(r>n)throw s?.onLimitReached?.(r,i),new N(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[e]});let a=s?.ignore??[/^__/];switch(e.kind){case _.FIELD:return qN(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>Hc(c,t,r+1,n,i,s)));case _.FRAGMENT_SPREAD:return Hc(t[e.name.value],t,r,n,i,s);case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:case _.OPERATION_DEFINITION:return Math.max(...e.selectionSet.selections.map(c=>Hc(c,t,r,n,i,s)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}o(Hc,"determineDepth");var qN=o((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var $N=o(async(e,t)=>{if(!t.complexityLimit)throw new Bn.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new Bn.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=kc(),c=(await(await fetch(n,{method:"POST",body:JSON.stringify({query:i}),headers:{"Content-Type":"application/json"}})).json()).data;if(!c||!c?.__schema)throw new N("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=Fc(c,{assumeValid:!0}),l=Pb({estimators:[Rb({defaultComplexity:1})],schema:u,query:e,variables:{count:10}});if(t.complexityLimit&&l>t.complexityLimit)throw new N(`Query is too complex (${l}/${t.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),jN=o(async(e,t)=>{let r=t.depthLimit;if(!r)throw new Bn.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...Ob(e,r))},"applyDepthLimitPolicy"),xb=o(async(e,t,r)=>{let n=Bn.SystemLogMap.getLogger(t);try{let s=await e.clone().json(),a=pc(s.query);r.useDepthLimit&&await jN(a,r.useDepthLimit),r.useComplexityLimit&&await $N(a,r.useComplexityLimit)}catch(i){if(i instanceof N)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return e},"GraphQLComplexityLimitInboundPolicy");var Nb=Vp(xt());function VN(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}o(VN,"isIntrospectionQuery");var Cb=o(async(e,t)=>{let n=await e.clone().json();return VN(n.query)?Nb.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
220
+ `}o(Fc,"getIntrospectionQuery");function Hc(e,t){Ee(e)&&Ee(e.__schema)||B(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${A(e)}.`);let r=e.__schema,n=It(r.types,E=>E.name,E=>y(E));for(let E of[...xp,...Fp])n[E.name]&&(n[E.name]=E);let i=r.queryType?d(r.queryType):null,s=r.mutationType?d(r.mutationType):null,a=r.subscriptionType?d(r.subscriptionType):null,c=r.directives?r.directives.map(Ve):[];return new qi({description:r.description,query:i,mutation:s,subscription:a,types:Object.values(n),directives:c,assumeValid:t?.assumeValid});function u(E){if(E.kind===X.LIST){let F=E.ofType;if(!F)throw new Error("Decorated type deeper than introspection query.");return new de(u(F))}if(E.kind===X.NON_NULL){let F=E.ofType;if(!F)throw new Error("Decorated type deeper than introspection query.");let Ce=u(F);return new $(Sc(Ce))}return l(E)}function l(E){let F=E.name;if(!F)throw new Error(`Unknown type reference: ${A(E)}.`);let Ce=n[F];if(!Ce)throw new Error(`Invalid or incomplete schema, unknown type: ${F}. Ensure that a full introspection query is used in order to build a client schema.`);return Ce}function d(E){return wc(l(E))}function p(E){return vc(l(E))}function y(E){if(E!=null&&E.name!=null&&E.kind!=null)switch(E.kind){case X.SCALAR:return h(E);case X.OBJECT:return v(E);case X.INTERFACE:return T(E);case X.UNION:return S(E);case X.ENUM:return k(E);case X.INPUT_OBJECT:return j(E)}let F=A(E);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${F}.`)}function h(E){return new We({name:E.name,description:E.description,specifiedByURL:E.specifiedByURL})}function m(E){if(E.interfaces===null&&E.kind===X.INTERFACE)return[];if(!E.interfaces){let F=A(E);throw new Error(`Introspection result missing interfaces: ${F}.`)}return E.interfaces.map(p)}function v(E){return new xe({name:E.name,description:E.description,interfaces:()=>m(E),fields:()=>C(E)})}function T(E){return new Ht({name:E.name,description:E.description,interfaces:()=>m(E),fields:()=>C(E)})}function S(E){if(!E.possibleTypes){let F=A(E);throw new Error(`Introspection result missing possibleTypes: ${F}.`)}return new Fr({name:E.name,description:E.description,types:()=>E.possibleTypes.map(d)})}function k(E){if(!E.enumValues){let F=A(E);throw new Error(`Introspection result missing enumValues: ${F}.`)}return new At({name:E.name,description:E.description,values:It(E.enumValues,F=>F.name,F=>({description:F.description,deprecationReason:F.deprecationReason}))})}function j(E){if(!E.inputFields){let F=A(E);throw new Error(`Introspection result missing inputFields: ${F}.`)}return new Hr({name:E.name,description:E.description,fields:()=>ne(E.inputFields)})}function C(E){if(!E.fields)throw new Error(`Introspection result missing fields: ${A(E)}.`);return It(E.fields,F=>F.name,re)}function re(E){let F=u(E.type);if(!qt(F)){let Ce=A(F);throw new Error(`Introspection must provide output type for fields, but received: ${Ce}.`)}if(!E.args){let Ce=A(E);throw new Error(`Introspection result missing field args: ${Ce}.`)}return{description:E.description,deprecationReason:E.deprecationReason,type:F,args:ne(E.args)}}function ne(E){return It(E,F=>F.name,fe)}function fe(E){let F=u(E.type);if(!Ye(F)){let $c=A(F);throw new Error(`Introspection must provide input type for arguments, but received: ${$c}.`)}let Ce=E.defaultValue!=null?Rt(fc(E.defaultValue),F):void 0;return{description:E.description,type:F,defaultValue:Ce,deprecationReason:E.deprecationReason}}function Ve(E){if(!E.args){let F=A(E);throw new Error(`Introspection result missing directive args: ${F}.`)}if(!E.locations){let F=A(E);throw new Error(`Introspection result missing directive locations: ${F}.`)}return new dt({name:E.name,description:E.description,isRepeatable:E.isRepeatable,locations:E.locations.slice(),args:ne(E.args)})}}o(Hc,"buildClientSchema");function BN(e,t){return`The query exceeds the maximum complexity of ${e}. Actual complexity is ${t}`}o(BN,"queryComplexityMessage");function Ob(e){let t=new Er(e.schema),r=[],n=new Vn(e.schema,e.query,t,s=>r.push(s)),i=new $p(n,{maximumComplexity:e.maximumComplexity??1/0,estimators:e.estimators,variables:e.variables,operationName:e.operationName,context:e.context});if(mr(e.query,jn(t,i)),r.length)throw r.pop();return i.complexity}o(Ob,"getComplexity");var $p=class{static{o(this,"QueryComplexity")}context;complexity;options;OperationDefinition;estimators;includeDirectiveDef;skipDirectiveDef;variableValues;requestContext;constructor(t,r){if(Number(r.maximumComplexity)<=0)throw new Error("Maximum query complexity must be a positive number");this.context=t,this.complexity=0,this.options=r,this.includeDirectiveDef=this.context.getSchema().getDirective("include")||void 0,this.skipDirectiveDef=this.context.getSchema().getDirective("skip")||void 0,this.estimators=r.estimators,this.variableValues={},this.requestContext=r.context,this.OperationDefinition={enter:this.onOperationDefinitionEnter,leave:this.onOperationDefinitionLeave}}onOperationDefinitionEnter(t){if(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)return;let{coerced:r,errors:n}=Mc(this.context.getSchema(),t.variableDefinitions?[...t.variableDefinitions]:[],this.options.variables??{});if(n&&n.length){n.forEach(s=>this.context.reportError(s));return}this.variableValues=r||{};let i=this.context.getSchema();switch(t.operation){case"query":{let s=i.getQueryType();if(!s)throw new Error("Schema does not define the required query root type");this.complexity+=this.nodeComplexity(t,s);break}case"mutation":{let s=i.getMutationType();if(!s)throw new Error("Schema does not define the required mutation root type");this.complexity+=this.nodeComplexity(t,s);break}case"subscription":{let s=i.getSubscriptionType();if(!s)throw new Error("Schema does not define the required mutation subscription type");this.complexity+=this.nodeComplexity(t,s);break}default:throw new Error(`Query complexity could not be calculated for operation of type ${t.operation}`)}}onOperationDefinitionLeave(t){if(!(typeof this.options.operationName=="string"&&this.options.operationName!==t.name?.value)&&(this.options.onComplete&&this.options.onComplete(this.complexity),this.complexity>this.options.maximumComplexity))return this.context.reportError(this.createError())}nodeComplexity(t,r){if(t.selectionSet){let n={};(r instanceof xe||r instanceof Ht)&&(n=r.getFields());let i;_r(r)?i=this.context.getSchema().getPossibleTypes(r).map(a=>a.name):i=[r.name];let s=t.selectionSet.selections.reduce((a,c)=>{let u=a,l=!0,d=!1;for(let p of c.directives??[])switch(p.name.value){case"include":{let h=this.includeDirectiveDef&&Vi(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&Vi(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case _.FIELD:{let p=n[c.name.value];if(!p)break;let y=lt(p.type),h;try{h=ji(p,c,this.variableValues||{})}catch(S){return this.context.reportError(S),a}let m=0;Pt(y)&&(m=this.nodeComplexity(c,y));let v={childComplexity:m,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(S=>{let k=S(v);return typeof k=="number"&&!isNaN(k)?(u=Gn(k,a,i),!0):!1}))return this.context.reportError(new N(`No complexity could be calculated for field ${r.name}.${p.name}. At least one complexity estimator has to return a complexity score.`)),a;break}case _.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let y=this.context.getSchema().getType(p.typeCondition.name.value);if(!Pt(y))break;let h=this.nodeComplexity(p,y);_r(y)?u=Gn(h,a,this.context.getSchema().getPossibleTypes(y).map(m=>m.name)):u=Gn(h,a,[y.name]);break}case _.INLINE_FRAGMENT:{let p=r;if(c.typeCondition&&c.typeCondition.name&&(p=this.context.getSchema().getType(c.typeCondition.name.value)||p,!Pt(p)))break;let y=this.nodeComplexity(c,p);_r(p)?u=Gn(y,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=Gn(y,a,[p.name]);break}default:{u=Gn(this.nodeComplexity(c,r),a,i);break}}return u},{});return s?Math.max(...Object.values(s),0):NaN}return 0}createError(){return typeof this.options.createError=="function"?this.options.createError(this.options.maximumComplexity,this.complexity):new N(BN(this.options.maximumComplexity,this.complexity))}};function Gn(e,t,r){for(let n of r)Object.prototype.hasOwnProperty.call(t,n)?t[n]+=e:t[n]=e;return t}o(Gn,"addComplexities");function xb(e){let t=e?.defaultComplexity??1;return r=>t+r.childComplexity}o(xb,"simpleEstimator");var Nb=o((e,t,r={})=>{let{definitions:n}=e,i=KN(n),s=JN(n);return Object.entries(s).map(([a,c])=>qc(c,i,0,t,a,r))},"depthLimit");function KN(e){return e.reduce((t,r)=>(r.kind===_.FRAGMENT_DEFINITION&&(t[r?.name?.value??""]=r),t),{})}o(KN,"getFragments");function JN(e){return e.reduce((t,r)=>{if(r.kind===_.OPERATION_DEFINITION){let n=r?.name?.value??"";t[n]=r}return t},{})}o(JN,"getQueriesAndMutations");function qc(e,t,r,n,i,s){if(r>n)throw s?.onLimitReached?.(r,i),new N(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[e]});let a=s?.ignore??[/^__/];switch(e.kind){case _.FIELD:return zN(e,a)||!e.selectionSet?0:1+Math.max(...e.selectionSet.selections.map(c=>qc(c,t,r+1,n,i,s)));case _.FRAGMENT_SPREAD:return qc(t[e.name.value],t,r,n,i,s);case _.INLINE_FRAGMENT:case _.FRAGMENT_DEFINITION:case _.OPERATION_DEFINITION:return Math.max(...e.selectionSet.selections.map(c=>qc(c,t,r,n,i,s)));default:throw new Error("uh oh! depth crawler cannot handle: "+e.kind)}}o(qc,"determineDepth");var zN=o((e,t)=>t.find(r=>e.name.value.match(r)!==null)||!1,"isIgnored");var WN=o(async(e,t)=>{if(!t.complexityLimit)throw new Bn.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=t.endpointUrl;if(!n)throw new Bn.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=Fc(),c=(await(await fetch(n,{method:"POST",body:JSON.stringify({query:i}),headers:{"Content-Type":"application/json"}})).json()).data;if(!c||!c?.__schema)throw new N("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=Hc(c,{assumeValid:!0}),l=Ob({estimators:[xb({defaultComplexity:1})],schema:u,query:e,variables:{count:10}});if(t.complexityLimit&&l>t.complexityLimit)throw new N(`Query is too complex (${l}/${t.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),QN=o(async(e,t)=>{let r=t.depthLimit;if(!r)throw new Bn.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...Nb(e,r))},"applyDepthLimitPolicy"),Cb=o(async(e,t,r)=>{let n=Bn.SystemLogMap.getLogger(t);try{let s=await e.clone().json(),a=hc(s.query);r.useDepthLimit&&await QN(a,r.useDepthLimit),r.useComplexityLimit&&await WN(a,r.useComplexityLimit)}catch(i){if(i instanceof N)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return e},"GraphQLComplexityLimitInboundPolicy");var Lb=Gp(xt());function YN(e){if(!e)return!1;let t=e.replace(/\s/g,"");return t.includes("__schema")||t.includes("__type")}o(YN,"isIntrospectionQuery");var Db=o(async(e,t)=>{let n=await e.clone().json();return YN(n.query)?Lb.HttpProblems.forbidden(e,t,{detail:"Introspection queries are not allowed"}):e},"GraphQLDisableIntrospectionInboundPolicy");
221
221
  /*! For license information please see index.minified.js.LEGAL.txt */