@zuplo/graphql 5.1918.0 → 5.1923.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.
package/index.minified.js DELETED
@@ -1,236 +0,0 @@
1
-
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Zuplo, Inc. All rights reserved.
4
- *
5
- * This software and associated documentation files (the "Software") is intended to be used
6
- * only by Zuplo customers solely to develop and test applications that will be deployed
7
- * to Zuplo hosted services. You and others in your organization may use these files on your
8
- * Development Devices solely for the above stated purpose.
9
- *
10
- * Outside of uses stated above, no license is granted for any other purpose including
11
- * without limitation the rights to use, copy, modify, merge, publish, distribute,
12
- * sublicense, host, and/or sell copies of the Software.
13
- *
14
- * The software may include third party components with separate legal notices or governed by
15
- * other agreements, as described in licenses either embedded in or accompanying the Software.
16
- *
17
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
18
- * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
19
- * PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
20
- * FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
21
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22
- * DEALINGS IN THE SOFTWARE.
23
- *--------------------------------------------------------------------------------------------*/
24
-
25
- "use strict";var uv=Object.create;var xi=Object.defineProperty;var lv=Object.getOwnPropertyDescriptor;var dv=Object.getOwnPropertyNames;var pv=Object.getPrototypeOf,fv=Object.prototype.hasOwnProperty;var o=(t,e)=>xi(t,"name",{value:e,configurable:!0});var D=(t,e)=>()=>(t&&(e=t(t=0)),e);var _=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ko=(t,e)=>{for(var r in e)xi(t,r,{get:e[r],enumerable:!0})},Hh=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of dv(e))!fv.call(t,i)&&i!==r&&xi(t,i,{get:()=>e[i],enumerable:!(n=lv(e,i))||n.enumerable});return t};var Fh=(t,e,r)=>(r=t!=null?uv(pv(t)):{},Hh(e||!t||!t.__esModule?xi(r,"default",{value:t,enumerable:!0}):r,t)),Ho=t=>Hh(xi({},"__esModule",{value:!0}),t);var k=_(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.FeatureNotEnabledError=Rt.ConfigurationError=Rt.RuntimeError=Rt.SystemError=void 0;var Xu=class extends Error{static{o(this,"SystemError")}constructor(e,r){super(e,r),this.name="InternalError"}};Rt.SystemError=Xu;var Li=class extends Error{static{o(this,"RuntimeError")}extensionMembers;constructor(e,r){typeof e=="string"?super(e,r):(super(e.message,r),this.extensionMembers=e.extensionMembers),this.name="RuntimeError"}};Rt.RuntimeError=Li;var el=class extends Li{static{o(this,"ConfigurationError")}constructor(e,r){super(e,r),this.name="ConfigurationError"}};Rt.ConfigurationError=el;var tl=class extends Li{static{o(this,"FeatureNotEnabledError")}constructor(e,r){super(e,r),this.name="FeatureNotEnabledError"}};Rt.FeatureNotEnabledError=tl});var X=_(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.Environment=void 0;var hv=k(),rl=class t{static{o(this,"Environment")}config;static#e;static initialize(e,r){this.#e||(this.#e=new t(e,r))}static get instance(){if(!this.#e)throw new hv.SystemError("Environment has not been initialized");return this.#e}constructor(e,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=e,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.com"}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 meteringServiceUrl(){return this.config.metering_service_url??"https://meters.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"}};Fo.Environment=rl});var Vh=_(jh=>{"use strict";Object.defineProperty(jh,"__esModule",{value:!0});var qh=X();Function.prototype.toString=function(){return"[native code]"};var qo=globalThis,$h=qo.caches;if($h){let t=$h.open;qo.caches.open=function(e){let r=qh.Environment.instance.deploymentName??qh.Environment.instance.build.BUILD_ID;return t.call(this,`${r}-${e}`)},delete qo.caches.default,Object.freeze(qo.caches)}});var ol=_($o=>{"use strict";Object.defineProperty($o,"__esModule",{value:!0});$o.MemoryCache=void 0;var mv=1e4,yv=1e3,Bh=new Map,nl=class{static{o(this,"InnerCache")}constructor(e){this.#e=e.maxSize}#e;#t=0;#r=new Map;#n=[];get(e){let r=this.#r.get(e);if(!r)return;let n=Date.now();if(n>r.expiresAt){this.#r.delete(e);return}return r.lastUsed=n,this.#i(),r?.data}put(e,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(e),this.#r.set(e,s)}delete(e){let r=this.#n.indexOf(e);r>=0&&this.#n.slice(r,1),this.#r.delete(e)}get size(){return this.#r.size}#i(){let e=Date.now();this.#t+mv*1e3>e&&(this.purge(),this.#t=e)}purge(){let e=Date.now();this.#r.forEach((r,n)=>{r.expiresAt>=e&&this.#r.delete(n)})}},il=class{static{o(this,"MemoryCache")}constructor(e,r={maxSize:yv}){this.name=e;let n=Bh.get(e);n||(n=new nl(r),Bh.set(e,n)),this.#e=n}name;#e;get(e){return this.#e.get(e)}put(e,r,n){return this.#e.put(e,r,n)}delete(e){return this.#e.delete(e)}get size(){return this.#e.size}purge(){this.#e.purge()}};$o.MemoryCache=il});var cl=_(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.ZoneCache=void 0;var sl="__zuplo-expiry-header",al=class{static{o(this,"ZoneCache")}constructor(e,r){this.#t=e,this.#e=r}#e;#t;#r;async#n(){return this.#r||(this.#r=await caches.open(this.#t)),this.#r}#i(e){return new Request(`https://zone-cache.zuplo.app/${encodeURIComponent(e)}`)}async get(e){try{let r=await this.#n(),n=this.#i(e),i=await r.match(n);if(!i)return;let s=i.headers.get(sl);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(e)}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(e)}return}return await i.json()}catch(r){this.logDebug(r)}}async put(e,r,n){let i=new Headers({"cache-control":`s-maxage=${n}, must-revalidate`,"content-type":"application/json"});i.set(sl,`${Date.now()+n*1e3}`);let s=await this.#n(),a=this.#i(e),c=new Response(JSON.stringify(r),{headers:i});await s.put(a,c)}async delete(e){let r=await this.#n(),n=this.#i(e);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(e)}}async deleteFallback(e){let r=new Headers({"Cache-Control":"s-maxage=0, must-revalidate"});r.set(sl,`${Date.now()}`);let n=await this.#n(),i=this.#i(e),s=new Response("",{headers:r});await n.put(i,s)}logDebug(...e){"logger"in this.#e?this.#e.logger?.debug(`Error in ZoneCache: '${this.#t}'`,e):"log"in this.#e&&this.#e.log.debug(`Error in ZoneCache: '${this.#t}'`,e)}};jo.ZoneCache=al});var Jt=_(Vo=>{"use strict";Object.defineProperty(Vo,"__esModule",{value:!0});Vo.MemoryZoneReadThroughCache=void 0;var gv=ol(),bv=cl(),ul=class{static{o(this,"MemoryZoneReadThroughCache")}constructor(e,r){let n=`f6726488-fd18-4b7f-9c30-6070565e8042-${e}`;this.#e=e,this.#t=new gv.MemoryCache(n),this.#r=new bv.ZoneCache(n,r),this.#n=r}#e;#t;#r;#n;async get(e){let r=this.#t.get(e);if(r)return r;let n=await this.#r.get(e);if(n){let i=Math.floor((n.expires-Date.now())/1e3);if(i>0)return this.#t.put(e,n.data,i),n.data}}put(e,r,n){this.#t.put(e,r,n);let i={data:r,expires:Date.now()+n*1e3},s=this.#r.put(e,i,n).catch(a=>{this.#n.log.error(`Error in MemoryZoneReadThroughCache: '${this.#e}'`,a)});this.#n.waitUntil(s)}};Vo.MemoryZoneReadThroughCache=ul});var Vr=_(x=>{"use strict";Object.defineProperty(x,"__esModule",{value:!0});x.DYNAMIC_METERS_CONTEXT_DATA=x.METERING_SUBSCRIPTION_CONTEXT_DATA=x.INTERNAL_HEADERS_TO_REMOVE=x.VENDOR_HEADERS_TO_ALLOW=x.VENDOR_HEADER_PREFIXES=x.DISPATCH_HEADERS_TO_REMOVE=x.ZP_TIMEZONE_HEADER=x.ZP_REGION_CODE_HEADER=x.ZP_REGION_HEADER=x.ZP_METRO_CODE_HEADER=x.ZP_POSTAL_CODE_HEADER=x.ZP_COLO_HEADER=x.ZP_AS_ORG_HEADER=x.ZP_ASN_HEADER=x.TRUE_CLIENT_IP=x.ZP_IP_LATITUDE_HEADER=x.ZP_IP_LONGITUDE_HEADER=x.ZP_IP_COUNTRY_HEADER=x.ZP_IP_CONTINENT_HEADER=x.ZP_IP_CITY_HEADER=x.CF_TIMEZONE_HEADER=x.CF_POSTAL_CODE_HEADER=x.CF_METRO_CODE_HEADER=x.CF_REGION_CODE_HEADER=x.CF_IP_REGION_HEADER=x.CF_IP_LATITUDE_HEADER=x.CF_IP_LONGITUDE_HEADER=x.CF_IP_COUNTRY_HEADER=x.CF_IP_CONTINENT_HEADER=x.CF_IP_CITY_HEADER=x.X_REAL_IP_HEADER=x.RAY_ID_HEADER=x.BODY_REMOVED_HEADER=x.REQUEST_ID_HEADER=x.LEGACY_REQUEST_ID_HEADER=void 0;x.LEGACY_REQUEST_ID_HEADER="zuplo-request-id";x.REQUEST_ID_HEADER="zp-rid";x.BODY_REMOVED_HEADER="zp-body-removed";x.RAY_ID_HEADER="cf-ray";x.X_REAL_IP_HEADER="x-real-ip";x.CF_IP_CITY_HEADER="cf-ipcity";x.CF_IP_CONTINENT_HEADER="cf-ipcontinent";x.CF_IP_COUNTRY_HEADER="cf-ipcountry";x.CF_IP_LONGITUDE_HEADER="cf-iplongitude";x.CF_IP_LATITUDE_HEADER="cf-iplatitude";x.CF_IP_REGION_HEADER="cf-region";x.CF_REGION_CODE_HEADER="cf-region-code";x.CF_METRO_CODE_HEADER="cf-metro-code";x.CF_POSTAL_CODE_HEADER="cf-postal-code";x.CF_TIMEZONE_HEADER="cf-timezone";x.ZP_IP_CITY_HEADER="zp-ipcity";x.ZP_IP_CONTINENT_HEADER="zp-ipcontinent";x.ZP_IP_COUNTRY_HEADER="zp-ipcountry";x.ZP_IP_LONGITUDE_HEADER="zp-iplongitude";x.ZP_IP_LATITUDE_HEADER="zp-iplatitude";x.TRUE_CLIENT_IP="true-client-ip";x.ZP_ASN_HEADER="zp-asn";x.ZP_AS_ORG_HEADER="zp-asorg";x.ZP_COLO_HEADER="zp-colo";x.ZP_POSTAL_CODE_HEADER="zp-postalcode";x.ZP_METRO_CODE_HEADER="zp-metrocode";x.ZP_REGION_HEADER="zp-region";x.ZP_REGION_CODE_HEADER="zp-regioncode";x.ZP_TIMEZONE_HEADER="zp-timezone";x.DISPATCH_HEADERS_TO_REMOVE=[x.CF_IP_CITY_HEADER,x.CF_IP_CONTINENT_HEADER,x.CF_IP_COUNTRY_HEADER,x.CF_IP_LONGITUDE_HEADER,x.CF_IP_LATITUDE_HEADER,x.ZP_ASN_HEADER,x.ZP_AS_ORG_HEADER,x.ZP_COLO_HEADER,x.ZP_POSTAL_CODE_HEADER,x.ZP_METRO_CODE_HEADER,x.ZP_REGION_HEADER,x.ZP_REGION_CODE_HEADER,x.ZP_TIMEZONE_HEADER];x.VENDOR_HEADER_PREFIXES=["zp-","cf-"];x.VENDOR_HEADERS_TO_ALLOW=[x.REQUEST_ID_HEADER,x.RAY_ID_HEADER,x.BODY_REMOVED_HEADER];x.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"];x.METERING_SUBSCRIPTION_CONTEXT_DATA="zuplo_meters_d7831150-6d8a-416d-b920-4a7bec209a49";x.DYNAMIC_METERS_CONTEXT_DATA="zuplo_dynamic_meters_0c8cdc26-2514-4756-8adb-474a6e103d91"});var Xh=_(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.generateColor=N.colorFunctions=N.stripColor=N.bgRgb24=N.rgb24=N.bgRgb8=N.rgb8=N.bgBrightWhite=N.bgBrightCyan=N.bgBrightMagenta=N.bgBrightBlue=N.bgBrightYellow=N.bgBrightGreen=N.bgBrightRed=N.bgBrightBlack=N.bgWhite=N.bgCyan=N.bgMagenta=N.bgBlue=N.bgYellow=N.bgGreen=N.bgRed=N.bgBlack=N.brightWhite=N.brightCyan=N.brightMagenta=N.brightBlue=N.brightYellow=N.brightGreen=N.brightRed=N.brightBlack=N.gray=N.white=N.cyan=N.magenta=N.blue=N.yellow=N.green=N.red=N.black=N.strikethrough=N.hidden=N.inverse=N.underline=N.italic=N.dim=N.bold=N.reset=N.getColorEnabled=N.setColorEnabled=void 0;var Gh=!0,ll=!Gh;function _v(t){Gh||(ll=t)}o(_v,"setColorEnabled");N.setColorEnabled=_v;function Ev(){return ll}o(Ev,"getColorEnabled");N.getColorEnabled=Ev;function z(t,e){return{open:`\x1B[${t.join(";")}m`,close:`\x1B[${e}m`,regexp:new RegExp(`\\x1b\\[${e}m`,"g")}}o(z,"code");function W(t,e){return ll?`${e.open}${t.replace(e.regexp,e.open)}${e.close}`:t}o(W,"run");function wv(t){return W(t,z([0],0))}o(wv,"reset");N.reset=wv;function vv(t){return W(t,z([1],22))}o(vv,"bold");N.bold=vv;function Tv(t){return W(t,z([2],22))}o(Tv,"dim");N.dim=Tv;function Sv(t){return W(t,z([3],23))}o(Sv,"italic");N.italic=Sv;function Iv(t){return W(t,z([4],24))}o(Iv,"underline");N.underline=Iv;function Pv(t){return W(t,z([7],27))}o(Pv,"inverse");N.inverse=Pv;function Av(t){return W(t,z([8],28))}o(Av,"hidden");N.hidden=Av;function Ov(t){return W(t,z([9],29))}o(Ov,"strikethrough");N.strikethrough=Ov;function Rv(t){return W(t,z([30],39))}o(Rv,"black");N.black=Rv;function Kh(t){return W(t,z([31],39))}o(Kh,"red");N.red=Kh;function Jh(t){return W(t,z([32],39))}o(Jh,"green");N.green=Jh;function zh(t){return W(t,z([33],39))}o(zh,"yellow");N.yellow=zh;function Wh(t){return W(t,z([34],39))}o(Wh,"blue");N.blue=Wh;function Qh(t){return W(t,z([35],39))}o(Qh,"magenta");N.magenta=Qh;function Zh(t){return W(t,z([36],39))}o(Zh,"cyan");N.cyan=Zh;function Nv(t){return W(t,z([37],39))}o(Nv,"white");N.white=Nv;function Cv(t){return Yh(t)}o(Cv,"gray");N.gray=Cv;function Yh(t){return W(t,z([90],39))}o(Yh,"brightBlack");N.brightBlack=Yh;function xv(t){return W(t,z([91],39))}o(xv,"brightRed");N.brightRed=xv;function Lv(t){return W(t,z([92],39))}o(Lv,"brightGreen");N.brightGreen=Lv;function Dv(t){return W(t,z([93],39))}o(Dv,"brightYellow");N.brightYellow=Dv;function Uv(t){return W(t,z([94],39))}o(Uv,"brightBlue");N.brightBlue=Uv;function Mv(t){return W(t,z([95],39))}o(Mv,"brightMagenta");N.brightMagenta=Mv;function kv(t){return W(t,z([96],39))}o(kv,"brightCyan");N.brightCyan=kv;function Hv(t){return W(t,z([97],39))}o(Hv,"brightWhite");N.brightWhite=Hv;function Fv(t){return W(t,z([40],49))}o(Fv,"bgBlack");N.bgBlack=Fv;function qv(t){return W(t,z([41],49))}o(qv,"bgRed");N.bgRed=qv;function $v(t){return W(t,z([42],49))}o($v,"bgGreen");N.bgGreen=$v;function jv(t){return W(t,z([43],49))}o(jv,"bgYellow");N.bgYellow=jv;function Vv(t){return W(t,z([44],49))}o(Vv,"bgBlue");N.bgBlue=Vv;function Bv(t){return W(t,z([45],49))}o(Bv,"bgMagenta");N.bgMagenta=Bv;function Gv(t){return W(t,z([46],49))}o(Gv,"bgCyan");N.bgCyan=Gv;function Kv(t){return W(t,z([47],49))}o(Kv,"bgWhite");N.bgWhite=Kv;function Jv(t){return W(t,z([100],49))}o(Jv,"bgBrightBlack");N.bgBrightBlack=Jv;function zv(t){return W(t,z([101],49))}o(zv,"bgBrightRed");N.bgBrightRed=zv;function Wv(t){return W(t,z([102],49))}o(Wv,"bgBrightGreen");N.bgBrightGreen=Wv;function Qv(t){return W(t,z([103],49))}o(Qv,"bgBrightYellow");N.bgBrightYellow=Qv;function Zv(t){return W(t,z([104],49))}o(Zv,"bgBrightBlue");N.bgBrightBlue=Zv;function Yv(t){return W(t,z([105],49))}o(Yv,"bgBrightMagenta");N.bgBrightMagenta=Yv;function Xv(t){return W(t,z([106],49))}o(Xv,"bgBrightCyan");N.bgBrightCyan=Xv;function eT(t){return W(t,z([107],49))}o(eT,"bgBrightWhite");N.bgBrightWhite=eT;function sr(t,e=255,r=0){return Math.trunc(Math.max(Math.min(t,e),r))}o(sr,"clampAndTruncate");function tT(t,e){return W(t,z([38,5,sr(e)],39))}o(tT,"rgb8");N.rgb8=tT;function rT(t,e){return W(t,z([48,5,sr(e)],49))}o(rT,"bgRgb8");N.bgRgb8=rT;function nT(t,e){return typeof e=="number"?W(t,z([38,2,e>>16&255,e>>8&255,e&255],39)):W(t,z([38,2,sr(e.r),sr(e.g),sr(e.b)],39))}o(nT,"rgb24");N.rgb24=nT;function iT(t,e){return typeof e=="number"?W(t,z([48,2,e>>16&255,e>>8&255,e&255],49)):W(t,z([48,2,sr(e.r),sr(e.g),sr(e.b)],49))}o(iT,"bgRgb24");N.bgRgb24=iT;var oT=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 sT(t){return t.replace(oT,"")}o(sT,"stripColor");N.stripColor=sT;N.colorFunctions=[Kh,Jh,zh,Wh,Qh,Zh];function aT(t){let e=0,r=t.length,n=0;if(r>0)for(;n<r;)e=(e<<5)-e+t.charCodeAt(n++)|0;return e}o(aT,"hashCode");function cT(t){let e=Math.abs(aT(t));return N.colorFunctions[e%N.colorFunctions.length]}o(cT,"generateColor");N.generateColor=cT});var em=_(Bo=>{"use strict";Object.defineProperty(Bo,"__esModule",{value:!0});Bo.format=void 0;function uT(t,e,...r){let n=0,i=r.length,s=String(e).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 t(r[n++]).split(`
26
- `).map(c=>c.trim()).join(" ");case"%O":return t(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+=" "+t(a);return s}o(uT,"format");Bo.format=uT});var sm=_(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.inspect=void 0;function Br(t,e,r,n){let i={seen:[],stylize:lT,showHidden:e??!1,depth:r??2,colors:n??!1,customInspect:!0};return i.colors&&(i.stylize=pT),Go(i,t,i.depth)}o(Br,"inspect");Ko.inspect=Br;Br.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]};Br.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function lT(t,e){return t}o(lT,"stylizeNoColor");function dT(t){return typeof t=="boolean"}o(dT,"isBoolean");function rm(t){return t===void 0}o(rm,"isUndefined");function pT(t,e){let r=Br.styles[e];return r?"\x1B["+Br.colors[r][0]+"m"+t+"\x1B["+Br.colors[r][1]+"m":t}o(pT,"stylizeWithColor");function dl(t){return typeof t=="function"}o(dl,"isFunction");function nm(t){return typeof t=="string"}o(nm,"isString");function fT(t){return typeof t=="number"}o(fT,"isNumber");function im(t){return t===null}o(im,"isNull");function om(t,e){return Object.prototype.hasOwnProperty.call(t,e)}o(om,"hasOwn");function pl(t){return yl(t)&&gl(t)==="[object RegExp]"}o(pl,"isRegExp");function yl(t){return typeof t=="object"&&t!==null}o(yl,"isObject");function fl(t){return yl(t)&&(gl(t)==="[object Error]"||t instanceof Error)}o(fl,"isError");function tm(t){return yl(t)&&gl(t)==="[object Date]"}o(tm,"isDate");function gl(t){return Object.prototype.toString.call(t)}o(gl,"objectToString");function hT(t){let e={};return t.forEach(function(r,n){e[r]=!0}),e}o(hT,"arrayToHash");function mT(t,e,r,n,i){let s=[];for(let a=0,c=e.length;a<c;++a)om(e,String(a))?s.push(ml(t,e,r,n,String(a),!0)):s.push("");return i.forEach(function(a){a.match(/^\d+$/)||s.push(ml(t,e,r,n,a,!0))}),s}o(mT,"formatArray");function hl(t){return"["+Error.prototype.toString.call(t)+"]"}o(hl,"formatError");function Go(t,e,r){if(t.customInspect&&e&&dl(e.inspect)&&e.inspect!==Br&&!(e.constructor&&e.constructor.prototype===e)){let d=e.inspect(r,t);return nm(d)||(d=Go(t,d,r)),d}let n=yT(t,e);if(n)return n;let i=Object.keys(e),s=hT(i);try{t.showHidden&&Object.getOwnPropertyNames&&(i=Object.getOwnPropertyNames(e))}catch{}if(fl(e)&&(i.indexOf("message")>=0||i.indexOf("description")>=0))return hl(e);if(i.length===0){if(dl(e)){let d=e.name?": "+e.name:"";return t.stylize("[Function"+d+"]","special")}if(pl(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(tm(e))return t.stylize(Date.prototype.toString.call(e),"date");if(fl(e))return hl(e)}let a="",c=!1,u=["{","}"];if(Array.isArray(e)&&(c=!0,u=["[","]"]),dl(e)&&(a=" [Function"+(e.name?": "+e.name:"")+"]"),pl(e)&&(a=" "+RegExp.prototype.toString.call(e)),tm(e)&&(a=" "+Date.prototype.toUTCString.call(e)),fl(e)&&(a=" "+hl(e)),i.length===0&&(!c||e.length==0))return u[0]+a+u[1];if(r<0)return pl(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special");t.seen.push(e);let l;return c?l=mT(t,e,r,s,i):l=i.map(function(d){return ml(t,e,r,s,d,c)}),t.seen.pop(),gT(l,a,u)}o(Go,"formatValue");function ml(t,e,r,n,i,s){let a,c,u;u={value:void 0};try{u.value=e[i]}catch{}try{Object.getOwnPropertyDescriptor&&(u=Object.getOwnPropertyDescriptor(e,i)||u)}catch{}if(u.get?u.set?c=t.stylize("[Getter/Setter]","special"):c=t.stylize("[Getter]","special"):u.set&&(c=t.stylize("[Setter]","special")),om(n,i)||(a="["+i+"]"),c||(t.seen.indexOf(u.value)<0?(im(r)?c=Go(t,u.value,null):c=Go(t,u.value,r-1),c.indexOf(`
27
- `)>-1&&(s?c=c.split(`
28
- `).map(function(l){return" "+l}).join(`
29
- `).substr(2):c=`
30
- `+c.split(`
31
- `).map(function(l){return" "+l}).join(`
32
- `))):c=t.stylize("[Circular]","special")),rm(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=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"))}return a+": "+c}o(ml,"formatProperty");function yT(t,e){if(rm(e))return t.stylize("undefined","undefined");if(nm(e)){let r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(fT(e))return t.stylize(""+e,"number");if(dT(e))return t.stylize(""+e,"boolean");if(im(e))return t.stylize("null","null")}o(yT,"formatPrimitive");function gT(t,e,r){let n=0;return t.reduce(function(s,a){return n++,a.indexOf(`
33
- `)>=0&&n++,s+a.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?r[0]+(e===""?"":e+`
34
- `)+" "+t.join(`,
35
- `)+" "+r[1]:r[0]+e+" "+t.join(", ")+" "+r[1]}o(gT,"reduceToSingleString")});var am=_(Jo=>{"use strict";Object.defineProperty(Jo,"__esModule",{value:!0});Jo.format=void 0;var bT=em(),_T=sm(),ET=o((t,...e)=>(0,bT.format)(_T.inspect,t,e),"format");Jo.format=ET});var cr=_(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.debug=ar.withoutEnv=ar.Debugger=void 0;var wT=Xh(),vT=am(),zo=class{static{o(this,"Debugger")}manager;ns;color;last;enabled;constructor(e,r){this.manager=e,this.ns=r,this.color=(0,wT.generateColor)(r),this.last=0,this.enabled=e.enabled.some(n=>n.test(r))}log(...e){if(!this.enabled)return;let r,n=e[0];typeof n=="function"?r=n():r=String(n);let i=Date.now()-(this.last||Date.now());r=(0,vT.format)(r,...e);let s=`${this.color(this.ns)} ${r} ${this.color(`+${i}ms`)}`;console.log(s),this.last=Date.now()}};ar.Debugger=zo;var Wo=class{static{o(this,"DebugManager")}debuggers;enabled;constructor(e){this.debuggers=new Map,this.enabled=e??[]}};function cm(t){return!t||t.length===0?[]:(t=t.replace(/\s/g,"").replace(/\*/g,".+"),t.split(",").map(e=>new RegExp(`^${e}$`)))}o(cm,"extract");var Di;function TT(t){t||(t=[]),typeof t=="string"&&(t=cm(t)),Di=new Wo(t)}o(TT,"withoutEnv");ar.withoutEnv=TT;function ST(t){let e=globalThis.DEBUG;Di||(Di=new Wo(cm(e)));let r=new zo(Di,t);return Di.debuggers.set(t,r),Object.assign(r.log.bind(r),{self:r})}o(ST,"debug");ar.debug=ST});var Zo=_(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.ProblemResponseFormatter=_n.InternalProblemResponseFormatter=void 0;var IT=k(),Qo=class t{static{o(this,"InternalProblemResponseFormatter")}static problemResponseFormat=async e=>{let r=e.problem,n=JSON.stringify(r,null,2);return new Response(n,{status:e.problem.status,statusText:e.statusText,headers:{...e.additionalHeaders,"content-type":"application/problem+json"}})};static setProblemResponseFormat(e){e&&(t.problemResponseFormat=(r,n,i)=>{try{return e(r,n,i)}catch(s){throw new IT.RuntimeError("Error in custom 'problemResponseFormat'",{cause:s})}})}};_n.InternalProblemResponseFormatter=Qo;var bl=class{static{o(this,"ProblemResponseFormatter")}static async format(e,r,n){return await Qo.problemResponseFormat(e,r,n)}};_n.ProblemResponseFormatter=bl});var lm=_(Yo=>{"use strict";Object.defineProperty(Yo,"__esModule",{value:!0});Yo.deepFreeze=void 0;function um(t){for(let e in t){let r=t[e];r&&typeof r=="object"&&um(r)}return Object.freeze(t)}o(um,"deepFreeze");Yo.deepFreeze=um});var Ke=_(Xo=>{"use strict";Object.defineProperty(Xo,"__esModule",{value:!0});Xo.ZuploRequest=void 0;var dm=lm(),_l=class t extends Request{static{o(this,"ZuploRequest")}#e=void 0;#t;constructor(e,r){super(e,r);let n=r?.params;n?this.#t=n:e instanceof t?this.#t=e.#t:this.#t={};let i=r?.user;i?this.user=i:e instanceof t&&(this.user=e.user)}get query(){if(this.#e===void 0){let e={},r=new URL(this.url).searchParams;for(let[n,i]of r.entries())e[n]=i;this.#e=e}return(0,dm.deepFreeze)(this.#e)}get params(){return(0,dm.deepFreeze)(this.#t)}user};Xo.ZuploRequest=_l});var Nt=_(Ie=>{"use strict";Object.defineProperty(Ie,"__esModule",{value:!0});Ie.initializeRuntime=Ie.invokeOnResponseSendingFinalExtensions=Ie.invokeOnResponseSendingExtensions=Ie.invokeOnRequestExtensions=Ie.plugins=Ie.runtimeExtensions=Ie.SystemRuntimePlugin=Ie.RuntimePlugin=void 0;var pm=k(),PT=Zo(),AT=Ke(),ts=class{static{o(this,"RuntimePlugin")}};Ie.RuntimePlugin=ts;var rs=class extends ts{static{o(this,"SystemRuntimePlugin")}async initialize(e){return Promise.resolve()}registerRoutes(e,r){}};Ie.SystemRuntimePlugin=rs;Ie.runtimeExtensions={};var El=[];Ie.plugins=El;var fm=[],hm=[],mm=[],es={addPlugin(t){El.push(t)},addRequestHook(t){fm.push(t)},addResponseSendingHook(t){hm.push(t)},addResponseSendingFinalHook(t){mm.push(t)}},OT=o(async(t,e)=>{let r=t;for(let n of fm){let i=await n(r,e);if(i instanceof AT.ZuploRequest)r=i;else{if(i instanceof Response)return i;throw new pm.ConfigurationError(`Invalid state - the OnRequest hook must return a ZuploRequest or Response. Received ${typeof r}.`)}}return r},"invokeOnRequestExtensions");Ie.invokeOnRequestExtensions=OT;var RT=o(async(t,e,r)=>{let n=t;for(let i of hm){let s=await i(t,e,r);if(s instanceof Response)n=s;else throw new pm.ConfigurationError(`Invalid state - the OnResponseSending hook must return a Response. Received ${typeof n}.`)}return n},"invokeOnResponseSendingExtensions");Ie.invokeOnResponseSendingExtensions=RT;var NT=o(async(t,e,r)=>{for(let n of mm)await n(t,e,r)},"invokeOnResponseSendingFinalExtensions");Ie.invokeOnResponseSendingFinalExtensions=NT;async function CT(t=()=>Promise.resolve()){await t(es),Ie.runtimeExtensions.value=es;for(let e of El)e instanceof rs&&await e.initialize(es);PT.InternalProblemResponseFormatter.setProblemResponseFormat(es.problemResponseFormat)}o(CT,"initializeRuntime");Ie.initializeRuntime=CT});var wl=_(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.serialize=ur.ContentTypes=void 0;ur.ContentTypes={Json:"application/json",Form:"application/x-www-form-urlencoded"};function xT(t,e){if(t!==null)return e&&typeof t=="string"?t:typeof t=="object"&&e?.startsWith(ur.ContentTypes.Form)?new URLSearchParams(t).toString():typeof t=="object"&&e?.startsWith(ur.ContentTypes.Json)||!e?JSON.stringify(t):t}o(xT,"serialize");ur.serialize=xT});var vl=_(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});ns.isSystemRoute=void 0;var ym=Gr();function LT(t){return ym.Gateway.instance.runtimeSettings.developerPortal.enabled&&t.pathname.startsWith(ym.Gateway.instance.runtimeSettings.developerPortal.sitePathname)||t.pathname.startsWith("/__zuplo/")||t.pathname.startsWith("/__/zuplo/")}o(LT,"isSystemRoute");ns.isSystemRoute=LT});var zt=_(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});is.Pipeline=void 0;var Tl=Kr(),gm=Nt(),DT=wl(),UT=X(),MT=vl(),Sl=class{static{o(this,"Pipeline")}constructor(e){this.execute=this.#t(e)}execute;#e=(e,r)=>async(n,i)=>{try{return await e(n,i)}catch(s){return i.log.error("Error executing request handler.",s),r.errorHandler(n,i,s)}};#t=({processors:e,gateway:r,handler:n})=>async(i,s)=>{let a=[...e],c=o(async b=>{let I=a.pop();return I?I(i,s,r,c):await this.#e(async g=>{let v=await n(g,s);return kT(v)},r)(b,s)},"nextPipe"),l=await c(i),d=new URL(i.url);if((0,MT.isSystemRoute)(d)&&UT.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes)return l;let p=new Tl.ResponseSendingEvent(i,l);s.dispatchEvent(p);let f=Tl.ZuploContextExtensions.getContextExtensions(s),h=f.latestRequest,y;try{y=await p.mutableResponse}catch(b){return s.log.error(b),r.errorHandler(i,s,b)}try{y=await f.onResponseSending(y,h,s)}catch(b){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${b.message}'`,b),r.errorHandler(i,s,b)}try{y=await(0,gm.invokeOnResponseSendingExtensions)(y,h,s)}catch(b){return s.log.error(`Error invoking 'context.onResponseSending' hook: '${b.message}'`,b),r.errorHandler(i,s,b)}s.dispatchEvent(new Tl.ResponseSentEvent(i,y));try{await f.onResponseSendingFinal(l,h,s)}catch(b){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${b.message}'`,b),b}try{await(0,gm.invokeOnResponseSendingFinalExtensions)(l,h,s)}catch(b){throw s.log.error(`Error invoking 'runtime.onResponseSending' hook: '${b.message}'`,b),b}return y}};is.Pipeline=Sl;function kT(t){return t instanceof Response?t:typeof t>"u"?new Response:new Response((0,DT.serialize)(t),{headers:{"content-type":"application/json"}})}o(kT,"resultToResponse")});var ss=_(os=>{"use strict";Object.defineProperty(os,"__esModule",{value:!0});os.MetricsPlugin=void 0;var HT=Nt(),Il=class extends HT.RuntimePlugin{static{o(this,"MetricsPlugin")}};os.MetricsPlugin=Il});var Je=_(as=>{"use strict";Object.defineProperty(as,"__esModule",{value:!0});as.SystemLogMap=void 0;var FT=k(),Pl=class t{static{o(this,"SystemLogMap")}static#e=new WeakMap;static getLogger(e){let r=t.#e.get(e);if(!r){let n=`No system logger found for context with requestId '${e.requestId}'`;throw console.error(n),new FT.SystemError(n)}return r}static addLogger(e,r){t.#e.set(e,r)}};as.SystemLogMap=Pl});var Oe=_(cs=>{"use strict";Object.defineProperty(cs,"__esModule",{value:!0});cs.BatchDispatch=void 0;var Al=class{static{o(this,"BatchDispatch")}constructor(e,r,n,i){this.#t=e,this.#o=r,this.#n=n,this.#r=i??console}#e=void 0;#t;#r;#n;#i=[];#o;enqueue=e=>{this.#i.push(e),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.error(`Uncaught error in BatchDispatcher named '${this.#t}'}`,i.message,i.stack)}).finally(()=>{r()})}},this.#o)}))};waitUntilFlushed=async()=>{if(this.#e)return this.#e}};cs.BatchDispatch=Al});var _m=_(ls=>{"use strict";Object.defineProperty(ls,"__esModule",{value:!0});ls.EllieMetricsTransport=void 0;var bm=Je(),qT=Oe(),us=X(),Ol=class{static{o(this,"EllieMetricsTransport")}#e;#t;#r;constructor(e){this.#r=us.Environment.instance.loggingId,this.#e=e,this.#t=new qT.BatchDispatch("ellie-metrics-transport",10,this.dispatchFunction,bm.SystemLogMap.getLogger(e))}pushMetrics(e,r){this.#r!==void 0&&(this.#t.enqueue(e),r.waitUntil(this.#t.waitUntilFlushed()))}dispatchFunction=async e=>{if(e.length===0)return;let r,{loggingId:n,remoteLogURL:i,deploymentName:s}=us.Environment.instance,a=e.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":us.Environment.instance.deploymentName??"unknown","user-agent":us.Environment.instance.systemUserAgent}});if(!c.ok){let u=await c.text();bm.SystemLogMap.getLogger(this.#e).error(`Metrics POST responded ${c.status}: ${c.statusText}`,u)}}}};ls.EllieMetricsTransport=Ol});var bt=_(Jr=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});Jr.systemNoVersion=Jr.SystemRouteConfiguration=void 0;var Rl=class{static{o(this,"SystemRouteConfiguration")}constructor({label:e,path:r,methods:n,systemRouteName:i,corsPolicy:s="none"}){this.label=e,this.path=r,this.methods=n,this.corsPolicy=s,this.version=Jr.systemNoVersion.name,this.handler={export:"SYSTEM_IGNORED",module:"SYSTEM_IGNORED"},this.systemRouteName=i}label;path;methods;handler;corsPolicy;version;policies;systemRouteName;raw(){return{}}};Jr.SystemRouteConfiguration=Rl;Jr.systemNoVersion={name:"__system-no-version",pathPrefix:""}});var lr=_(ds=>{"use strict";Object.defineProperty(ds,"__esModule",{value:!0});ds.metricsProcessor=void 0;var Em=Vr(),$T=Kr(),jT=Nt(),VT=ss(),BT=_m(),GT=bt(),KT=o(async(t,e,r,n)=>{let i=new Date,s=Date.now(),a=await n(t),c=t.headers.get(Em.RAY_ID_HEADER)??void 0,u=t.headers.get(Em.TRUE_CLIENT_IP)??void 0,l=e.incomingRequestProperties,d;e.route instanceof GT.SystemRouteConfiguration&&(d=e.route.systemRouteName);let p=$T.ZuploContextExtensions.getContextExtensions(e).latestRequest,f={timestamp:i,statusCode:a.status,durationMs:Date.now()-s,requestContentLength:t.headers.get("content-length")?Number(t.headers.get("content-length")):void 0,responseContentLength:a.headers.get("content-length")?Number(a.headers.get("content-length")):void 0,routePath:e.route?.path??"SYSTEM_OR_NOT_FOUND",systemRouteName:d,requestId:e.requestId,method:t.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 BT.EllieMetricsTransport(e)),jT.plugins.forEach(y=>{if(y instanceof VT.MetricsPlugin){let b=y.getTransport();h.push(b)}}),h.forEach(y=>{y.pushMetrics(f,e)}),a},"metricsProcessor");ds.metricsProcessor=KT});var Nl=_(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});ps.SystemRouteName=void 0;var wm;(function(t){t.Build="build-data",t.CorsPreflight="cors-preflight",t.DeveloperPortal="developer-portal",t.DeveloperPortalLegacy="developer-portal-legacy",t.StripePlugin="stripe-plugin",t.EmptyGatewayCatchall="empty-gateway-catchall",t.Ping="ping",t.UnmatchedPath="unmatched-path"})(wm||(ps.SystemRouteName=wm={}))});var Tm=_(vm=>{"use strict";Object.defineProperty(vm,"__esModule",{value:!0})});var zr=_(dr=>{"use strict";var JT=dr&&dr.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),Sm=dr&&dr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&JT(e,t,r)};Object.defineProperty(dr,"__esModule",{value:!0});Sm(Nl(),dr);Sm(Tm(),dr)});var Im=_(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});fs.registerBuildRoute=void 0;var zT=Wt(),WT=zt(),QT=lr(),ZT=zr(),YT=bt(),XT=Je(),eS=X(),tS=o((t,e)=>{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 zT.HttpProblems.notFound(s,a);let l=eS.Environment.instance.build,d={buildId:l.BUILD_ID,zuploVersion:l.ZUPLO_VERSION,compatibilityDate:l.COMPATIBILITY_DATE,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"&&XT.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 WT.Pipeline({processors:[QT.metricsProcessor],handler:r,gateway:e}),i=new YT.SystemRouteConfiguration({label:"SYSTEM_BUILD_ROUTE",methods:["GET"],path:"/__zuplo/build",systemRouteName:ZT.SystemRouteName.Build});t.addRoute(i,n.execute)},"registerBuildRoute");fs.registerBuildRoute=tS});var Cl=_(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.HTTP_STATUS_TITLES=En.HttpStatusCode=void 0;var Pm;(function(t){t[t.CONTINUE=100]="CONTINUE",t[t.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",t[t.PROCESSING=102]="PROCESSING",t[t.EARLY_HINTS=103]="EARLY_HINTS",t[t.OK=200]="OK",t[t.CREATED=201]="CREATED",t[t.ACCEPTED=202]="ACCEPTED",t[t.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",t[t.NO_CONTENT=204]="NO_CONTENT",t[t.RESET_CONTENT=205]="RESET_CONTENT",t[t.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",t[t.MULTI_STATUS=207]="MULTI_STATUS",t[t.ALREADY_REPORTED=208]="ALREADY_REPORTED",t[t.IM_USED=226]="IM_USED",t[t.MULTIPLE_CHOICES=300]="MULTIPLE_CHOICES",t[t.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",t[t.FOUND=302]="FOUND",t[t.SEE_OTHER=303]="SEE_OTHER",t[t.NOT_MODIFIED=304]="NOT_MODIFIED",t[t.USE_PROXY=305]="USE_PROXY",t[t.SWITCH_PROXY=306]="SWITCH_PROXY",t[t.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",t[t.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",t[t.BAD_REQUEST=400]="BAD_REQUEST",t[t.UNAUTHORIZED=401]="UNAUTHORIZED",t[t.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",t[t.FORBIDDEN=403]="FORBIDDEN",t[t.NOT_FOUND=404]="NOT_FOUND",t[t.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",t[t.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",t[t.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",t[t.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",t[t.CONFLICT=409]="CONFLICT",t[t.GONE=410]="GONE",t[t.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",t[t.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",t[t.CONTENT_TOO_LARGE=413]="CONTENT_TOO_LARGE",t[t.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",t[t.URI_TOO_LONG=414]="URI_TOO_LONG",t[t.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",t[t.RANGE_NOT_SATISFIABLE=416]="RANGE_NOT_SATISFIABLE",t[t.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",t[t.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",t[t.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",t[t.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",t[t.UNPROCESSABLE_CONTENT=422]="UNPROCESSABLE_CONTENT",t[t.LOCKED=423]="LOCKED",t[t.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",t[t.TOO_EARLY=425]="TOO_EARLY",t[t.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",t[t.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",t[t.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",t[t.REQUEST_HEADER_FIELDS_TOO_LARGE=431]="REQUEST_HEADER_FIELDS_TOO_LARGE",t[t.UNAVAILABLE_FOR_LEGAL_REASONS=451]="UNAVAILABLE_FOR_LEGAL_REASONS",t[t.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",t[t.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",t[t.BAD_GATEWAY=502]="BAD_GATEWAY",t[t.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",t[t.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",t[t.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",t[t.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",t[t.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",t[t.LOOP_DETECTED=508]="LOOP_DETECTED",t[t.NOT_EXTENDED=510]="NOT_EXTENDED",t[t.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(Pm||(En.HttpStatusCode=Pm={}));En.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 Ll=_(xl=>{"use strict";Object.defineProperty(xl,"__esModule",{value:!0});var rS={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"};xl.default=rS});var de=_(wn=>{"use strict";var nS=wn&&wn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(wn,"__esModule",{value:!0});wn.HttpProblems=void 0;var iS=Vr(),F=Cl(),oS=nS(Ll()),sS=X(),Dl=Zo();function aS(t){return`${new URL(t.url).pathname}`}o(aS,"instance");function cS(t,e){let r={timestamp:new Date().toISOString(),requestId:e.requestId,buildId:sS.Environment.instance.build.BUILD_ID},n=t.headers.get(iS.RAY_ID_HEADER);return n&&(r.rayId=n),r}o(cS,"trace");var uS=o((t,e,r,n,i)=>({problem:{type:t.type,title:t.title,status:t.status,detail:t.detail,instance:aS(e),trace:cS(e,r),...n},additionalHeaders:i,statusText:oS.default[t.status]}),"merge"),Ul=class{static{o(this,"HttpProblemsBase")}static format=(e,r,n)=>"problem"in e?Dl.ProblemResponseFormatter.format(e,r,n):Dl.ProblemResponseFormatter.format({problem:e},r,n);static getProblemFromStatus(e,r){return{type:`https://httpproblems.com/http-status/${e}`,status:e,title:F.HTTP_STATUS_TITLES[e],...r}}},Ml=class extends Ul{static{o(this,"HttpProblems")}static#e(e,r,n,i,s){let a=uS(this.getProblemFromStatus(e),r,n,i,s);return Dl.ProblemResponseFormatter.format(a,r,n)}static continue=(e,r,n,i)=>this.#e(F.HttpStatusCode.OK,e,r,n,i);static switchingProtocols=(e,r,n,i)=>this.#e(F.HttpStatusCode.SWITCHING_PROTOCOLS,e,r,n,i);static processing=(e,r,n,i)=>this.#e(F.HttpStatusCode.PROCESSING,e,r,n,i);static earlyHints=(e,r,n,i)=>this.#e(F.HttpStatusCode.EARLY_HINTS,e,r,n,i);static ok=(e,r,n,i)=>this.#e(F.HttpStatusCode.OK,e,r,n,i);static created=(e,r,n,i)=>this.#e(F.HttpStatusCode.CREATED,e,r,n,i);static accepted=(e,r,n,i)=>this.#e(F.HttpStatusCode.ACCEPTED,e,r,n,i);static nonAuthoritativeInformation=(e,r,n,i)=>this.#e(F.HttpStatusCode.NON_AUTHORITATIVE_INFORMATION,e,r,n,i);static noContent=(e,r,n,i)=>this.#e(F.HttpStatusCode.NO_CONTENT,e,r,n,i);static resetContent=(e,r,n,i)=>this.#e(F.HttpStatusCode.RESET_CONTENT,e,r,n,i);static partialContent=(e,r,n,i)=>this.#e(F.HttpStatusCode.PARTIAL_CONTENT,e,r,n,i);static multiStatus=(e,r,n,i)=>this.#e(F.HttpStatusCode.MULTI_STATUS,e,r,n,i);static alreadyReported=(e,r,n,i)=>this.#e(F.HttpStatusCode.ALREADY_REPORTED,e,r,n,i);static imUsed=(e,r,n,i)=>this.#e(F.HttpStatusCode.IM_USED,e,r,n,i);static multipleChoices=(e,r,n,i)=>this.#e(F.HttpStatusCode.MULTIPLE_CHOICES,e,r,n,i);static movedPermanently=(e,r,n,i)=>this.#e(F.HttpStatusCode.MOVED_PERMANENTLY,e,r,n,i);static found=(e,r,n,i)=>this.#e(F.HttpStatusCode.FOUND,e,r,n,i);static seeOther=(e,r,n,i)=>this.#e(F.HttpStatusCode.SEE_OTHER,e,r,n,i);static notModified=(e,r,n,i)=>this.#e(F.HttpStatusCode.NOT_MODIFIED,e,r,n,i);static useProxy=(e,r,n,i)=>this.#e(F.HttpStatusCode.USE_PROXY,e,r,n,i);static switchProxy=(e,r,n,i)=>this.#e(F.HttpStatusCode.SWITCH_PROXY,e,r,n,i);static temporaryRedirect=(e,r,n,i)=>this.#e(F.HttpStatusCode.TEMPORARY_REDIRECT,e,r,n,i);static permanentRedirect=(e,r,n,i)=>this.#e(F.HttpStatusCode.PERMANENT_REDIRECT,e,r,n,i);static badRequest=(e,r,n,i)=>this.#e(F.HttpStatusCode.BAD_REQUEST,e,r,n,i);static unauthorized=(e,r,n,i)=>this.#e(F.HttpStatusCode.UNAUTHORIZED,e,r,n,i);static paymentRequired=(e,r,n,i)=>this.#e(F.HttpStatusCode.PAYMENT_REQUIRED,e,r,n,i);static forbidden=(e,r,n,i)=>this.#e(F.HttpStatusCode.FORBIDDEN,e,r,n,i);static notFound=(e,r,n,i)=>this.#e(F.HttpStatusCode.NOT_FOUND,e,r,n,i);static methodNotAllowed=(e,r,n,i)=>this.#e(F.HttpStatusCode.METHOD_NOT_ALLOWED,e,r,n,i);static notAcceptable=(e,r,n,i)=>this.#e(F.HttpStatusCode.NOT_ACCEPTABLE,e,r,n,i);static proxyAuthenticationRequired=(e,r,n,i)=>this.#e(F.HttpStatusCode.PROXY_AUTHENTICATION_REQUIRED,e,r,n,i);static requestTimeout=(e,r,n,i)=>this.#e(F.HttpStatusCode.REQUEST_TIMEOUT,e,r,n,i);static conflict=(e,r,n,i)=>this.#e(F.HttpStatusCode.CONFLICT,e,r,n,i);static gone=(e,r,n,i)=>this.#e(F.HttpStatusCode.GONE,e,r,n,i);static lengthRequired=(e,r,n,i)=>this.#e(F.HttpStatusCode.LENGTH_REQUIRED,e,r,n,i);static preconditionFailed=(e,r,n,i)=>this.#e(F.HttpStatusCode.PRECONDITION_FAILED,e,r,n,i);static contentTooLarge=(e,r,n,i)=>this.#e(F.HttpStatusCode.CONTENT_TOO_LARGE,e,r,n,i);static uriTooLong=(e,r,n,i)=>this.#e(F.HttpStatusCode.URI_TOO_LONG,e,r,n,i);static unsupportedMediaType=(e,r,n,i)=>this.#e(F.HttpStatusCode.UNSUPPORTED_MEDIA_TYPE,e,r,n,i);static rangeNotSatisfiable=(e,r,n,i)=>this.#e(F.HttpStatusCode.RANGE_NOT_SATISFIABLE,e,r,n,i);static expectationFailed=(e,r,n,i)=>this.#e(F.HttpStatusCode.EXPECTATION_FAILED,e,r,n,i);static imATeapot=(e,r,n,i)=>this.#e(F.HttpStatusCode.I_AM_A_TEAPOT,e,r,n,i);static misdirectedRequest=(e,r,n,i)=>this.#e(F.HttpStatusCode.MISDIRECTED_REQUEST,e,r,n,i);static unprocessableContent=(e,r,n,i)=>this.#e(F.HttpStatusCode.UNPROCESSABLE_CONTENT,e,r,n,i);static locked=(e,r,n,i)=>this.#e(F.HttpStatusCode.LOCKED,e,r,n,i);static failedDependency=(e,r,n,i)=>this.#e(F.HttpStatusCode.FAILED_DEPENDENCY,e,r,n,i);static tooEarly=(e,r,n,i)=>this.#e(F.HttpStatusCode.TOO_EARLY,e,r,n,i);static upgradeRequired=(e,r,n,i)=>this.#e(F.HttpStatusCode.UPGRADE_REQUIRED,e,r,n,i);static preconditionRequired=(e,r,n,i)=>this.#e(F.HttpStatusCode.PRECONDITION_REQUIRED,e,r,n,i);static tooManyRequests=(e,r,n,i)=>this.#e(F.HttpStatusCode.TOO_MANY_REQUESTS,e,r,n,i);static requestHeaderFieldsTooLarge=(e,r,n,i)=>this.#e(F.HttpStatusCode.REQUEST_HEADER_FIELDS_TOO_LARGE,e,r,n,i);static unavailableForLegalReasons=(e,r,n,i)=>this.#e(F.HttpStatusCode.UNAVAILABLE_FOR_LEGAL_REASONS,e,r,n,i);static internalServerError=(e,r,n,i)=>this.#e(F.HttpStatusCode.INTERNAL_SERVER_ERROR,e,r,n,i);static notImplemented=(e,r,n,i)=>this.#e(F.HttpStatusCode.NOT_IMPLEMENTED,e,r,n,i);static badGateway=(e,r,n,i)=>this.#e(F.HttpStatusCode.BAD_GATEWAY,e,r,n,i);static serviceUnavailable=(e,r,n,i)=>this.#e(F.HttpStatusCode.SERVICE_UNAVAILABLE,e,r,n,i);static gatewayTimeout=(e,r,n,i)=>this.#e(F.HttpStatusCode.GATEWAY_TIMEOUT,e,r,n,i);static httpVersionNotSupported=(e,r,n,i)=>this.#e(F.HttpStatusCode.HTTP_VERSION_NOT_SUPPORTED,e,r,n,i);static variantAlsoNegotiates=(e,r,n,i)=>this.#e(F.HttpStatusCode.VARIANT_ALSO_NEGOTIATES,e,r,n,i);static insufficientStorage=(e,r,n,i)=>this.#e(F.HttpStatusCode.INSUFFICIENT_STORAGE,e,r,n,i);static loopDetected=(e,r,n,i)=>this.#e(F.HttpStatusCode.LOOP_DETECTED,e,r,n,i);static notExtended=(e,r,n,i)=>this.#e(F.HttpStatusCode.NOT_EXTENDED,e,r,n,i);static networkAuthenticationRequired=(e,r,n,i)=>this.#e(F.HttpStatusCode.NETWORK_AUTHENTICATION_REQUIRED,e,r,n,i)};wn.HttpProblems=Ml});var ct=_(K=>{"use strict";Object.defineProperty(K,"__esModule",{value:!0});K.isErrorLike=K.withUndefinedAsNull=K.withNullAsUndefined=K.validateConstraint=K.validateConstraints=K.areFunctions=K.isFunction=K.isEmptyObject=K.assertAllDefined=K.assertIsDefined=K.assertType=K.isUndefinedOrNull=K.isDefined=K.isUndefined=K.isBoolean=K.isIterable=K.isNumber=K.isTypedArray=K.isArray=K.isObject=K.getOwnEnumerableKeys=K.isRegexp=K.isStringArray=K.isNonEmptyString=K.isString=K.toString=void 0;var{toString:lS}=Object.prototype,{propertyIsEnumerable:dS}=Object.prototype;function Am(t){return lS.call(t)}o(Am,"toString");K.toString=Am;function hs(t){return typeof t=="string"}o(hs,"isString");K.isString=hs;function pS(t){return hs(t)&&t!==""}o(pS,"isNonEmptyString");K.isNonEmptyString=pS;function fS(t){return Array.isArray(t)&&t.every(e=>hs(e))}o(fS,"isStringArray");K.isStringArray=fS;function hS(t){return Am(t)==="[object RegExp]"}o(hS,"isRegexp");K.isRegexp=hS;function mS(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t).filter(e=>dS.call(t,e))]}o(mS,"getOwnEnumerableKeys");K.getOwnEnumerableKeys=mS;function kl(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)&&!(t instanceof RegExp)&&!(t instanceof Date)}o(kl,"isObject");K.isObject=kl;function yS(t){return kl(t)&&Array.isArray(t)}o(yS,"isArray");K.isArray=yS;function gS(t){let e=Object.getPrototypeOf(Uint8Array);return typeof t=="object"&&t instanceof e}o(gS,"isTypedArray");K.isTypedArray=gS;function bS(t){return typeof t=="number"&&!isNaN(t)}o(bS,"isNumber");K.isNumber=bS;function _S(t){return!!t&&typeof t[Symbol.iterator]=="function"}o(_S,"isIterable");K.isIterable=_S;function ES(t){return t===!0||t===!1}o(ES,"isBoolean");K.isBoolean=ES;function Om(t){return typeof t>"u"}o(Om,"isUndefined");K.isUndefined=Om;function wS(t){return!Ui(t)}o(wS,"isDefined");K.isDefined=wS;function Ui(t){return Om(t)||t===null}o(Ui,"isUndefinedOrNull");K.isUndefinedOrNull=Ui;function vS(t,e){if(!t)throw new Error(e?`Unexpected type, expected '${e}'`:"Unexpected type")}o(vS,"assertType");K.assertType=vS;function TS(t){if(Ui(t))throw new Error("Assertion Failed: argument is undefined or null");return t}o(TS,"assertIsDefined");K.assertIsDefined=TS;function SS(...t){let e=[];for(let r=0;r<t.length;r++){let n=t[r];if(Ui(n))throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`);e.push(n)}return e}o(SS,"assertAllDefined");K.assertAllDefined=SS;var IS=Object.prototype.hasOwnProperty;function PS(t){if(!kl(t))return!1;for(let e in t)if(IS.call(t,e))return!1;return!0}o(PS,"isEmptyObject");K.isEmptyObject=PS;function Hl(t){return typeof t=="function"}o(Hl,"isFunction");K.isFunction=Hl;function AS(...t){return t.length>0&&t.every(Hl)}o(AS,"areFunctions");K.areFunctions=AS;function OS(t,e){let r=Math.min(t.length,e.length);for(let n=0;n<r;n++)Rm(t[n],e[n])}o(OS,"validateConstraints");K.validateConstraints=OS;function Rm(t,e){if(hs(e)){if(typeof t!==e)throw new Error(`argument does not match constraint: typeof ${e}`)}else if(Hl(e)){try{if(t instanceof e)return}catch{}if(!Ui(t)&&t.constructor===e||e.length===1&&e.call(void 0,t)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}o(Rm,"validateConstraint");K.validateConstraint=Rm;function RS(t){return t===null?void 0:t}o(RS,"withNullAsUndefined");K.withNullAsUndefined=RS;function NS(t){return typeof t>"u"?null:t}o(NS,"withUndefinedAsNull");K.withUndefinedAsNull=NS;function CS(t){return!!t&&typeof t=="object"&&"name"in t&&"message"in t&&"stack"in t}o(CS,"isErrorLike");K.isErrorLike=CS});var Qt=_(Ct=>{"use strict";Object.defineProperty(Ct,"__esModule",{value:!0});Ct.parseValueToBoolean=Ct.parseValueToStringArray=Ct.getValueFromRequestUser=Ct.statusCodesStringToNumberArray=void 0;var vn=k(),Fl=ct(),Nm=new Map;function xS(t){if(Array.isArray(t)&&!t.some(i=>typeof i!="number"))return t;if(typeof t!="string")throw new Error("Input must be a string or an array of numbers");if(!/^\d+(?:-\d+)?(?:,\s*\d+(?:-\d+)?)*$/.test(t))throw new Error("Malformed input string");let e=Nm.get(t);if(e)return e;let r=t.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 Nm.set(t,n),n}o(xS,"statusCodesStringToNumberArray");Ct.statusCodesStringToNumberArray=xS;function LS(t,e,r){if(!e.startsWith("."))throw new vn.ConfigurationError(`Invalid ${r} - must start with '.' - '${e}' does not`);let n=e.split(".").splice(1),i=t;return n.forEach(s=>{if(i===void 0)throw new vn.RuntimeError(`Error applying ${r} '${e}', reading '${s}'`);i=i[s]}),`${i}`}o(LS,"getValueFromRequestUser");Ct.getValueFromRequestUser=LS;function DS(t){if(Array.isArray(t)){if(t.includes(r=>typeof r!="string"))throw new vn.ConfigurationError("Received an array that contains non-string values.");return t}if((0,Fl.isString)(t))return t.includes(",")?t.split(",").map(r=>r.trim()).filter(r=>r!==","&&r!==""):[t];throw new vn.ConfigurationError(`Expected type of string, received type '${typeof t}'`)}o(DS,"parseValueToStringArray");Ct.parseValueToStringArray=DS;function US(t){if((0,Fl.isBoolean)(t))return t;if((0,Fl.isString)(t)){if(t.toLowerCase()==="true")return!0;if(t.toLowerCase()==="false")return!1;throw new vn.ConfigurationError(`Attempted to parse string to boolean, but received ${t} which cannot be parsed.`)}throw new vn.ConfigurationError(`Expected type of boolean, received type '${typeof t}'`)}o(US,"parseValueToBoolean");Ct.parseValueToBoolean=US});var ys=_(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});pr.generateCorsHeaders=pr.findMatchingOrigin=pr.parseCorsPolicies=void 0;var Wr=k(),Cm=Qt(),ms=ct();function MS(t){if(t==null)return[];if(!Array.isArray(t))throw new Wr.ConfigurationError(`Invalid corsPolicy configuration. Expected an array of objects, received '${typeof t}'`);return t.map(r=>{if(!(0,ms.isObject)(r))throw new Wr.ConfigurationError(`Invalid custom cors policy is set. Expected an object, received '${typeof r}'`);if(!(0,ms.isNonEmptyString)(r.name))throw new Wr.ConfigurationError("Value of 'name' on custom cors policies must be a non-empty string.");if(r.maxAge!==void 0&&!(0,ms.isNumber)(r.maxAge))throw new Wr.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,ms.isBoolean)(r.allowCredentials))throw new Wr.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=ql(r,"allowedHeaders"),i=ql(r,"allowedMethods"),s=ql(r,"exposeHeaders"),a;try{a=(0,Cm.parseValueToStringArray)(r.allowedOrigins)}catch(u){throw new Wr.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(MS,"parseCorsPolicies");pr.parseCorsPolicies=MS;function ql(t,e){let r;if(t[e]!==void 0)try{r=(0,Cm.parseValueToStringArray)(t[e])}catch(n){throw new Wr.ConfigurationError(`Value of '${e}' on custom cors policies is invalid. ${n.message} If using an environment variable, check that it is set correctly.`)}return r}o(ql,"parseOptionalProperty");var kS=o((t,e)=>{if(e===null)return;if(t.find(a=>a==="*"))return e;let n=t.map(a=>a.trim().toLowerCase()),i=e.toLowerCase();return n.find(a=>a===i)},"findMatchingOrigin");pr.findMatchingOrigin=kS;var HS=o((t,e)=>{let r={"access-control-allow-origin":e};t.allowedHeaders&&(r["access-control-allow-headers"]=t.allowedHeaders),t.allowedMethods&&(r["access-control-allow-methods"]=t.allowedMethods),t.exposeHeaders&&(r["access-control-expose-headers"]=t.exposeHeaders);let n=t.allowCredentials;n&&(r["access-control-allow-credentials"]=n);let i=t.maxAge?.toString()??void 0;return i&&(r["access-control-max-age"]=i),r},"generateCorsHeaders");pr.generateCorsHeaders=HS});var Lm=_(gs=>{"use strict";Object.defineProperty(gs,"__esModule",{value:!0});gs.registerCorsRoute=void 0;var FS=k(),qS=zt(),$l=de(),$S=lr(),jS=zr(),VS=bt(),xm=ys(),BS=o((t,e)=>{let r=e.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 $l.HttpProblems.badRequest(a,c,{detail:"Expect headers origin and access-control-request-method"});let f=t.lookup(l,u);if(!f)return $l.HttpProblems.notFound(a,c);let h=f.routeConfiguration,y=GS(l,d,p,h,r);return y.isValid?new Response(void 0,{status:200,statusText:"OK",headers:y.headers}):(y.error&&c.log.warn(y.error),$l.HttpProblems.notFound(a,c))},"optionsHandler"),i=new qS.Pipeline({processors:[$S.metricsProcessor],handler:n,gateway:e}),s=new VS.SystemRouteConfiguration({label:"SYSTEM_CORS_ROUTE",methods:["OPTIONS"],path:"/(.*)",systemRouteName:jS.SystemRouteName.CorsPreflight});t.addRoute(s,i.execute)},"registerCorsRoute");gs.registerCorsRoute=BS;var GS=o((t,e,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":t,"access-control-allow-headers":e??"*","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 FS.ConfigurationError(`Invalid Configuration - corsPolicy '${n.corsPolicy}' not found in *.oas.json 'corsPolicies' section.`);let c=(0,xm.findMatchingOrigin)(a.allowedOrigins,r);return c?{isValid:!0,headers:(0,xm.generateCorsHeaders)(a,c)}:{...s,error:`The CORS policy '${a.name}' does not allow the origin '${r}'`}},"validateAndBuildResponseHeaders")});var Dm=_(bs=>{"use strict";Object.defineProperty(bs,"__esModule",{value:!0});bs.registerNoRoutes=void 0;var KS=zt(),JS=lr(),zS=zr(),WS=bt(),QS=o((t,e)=>{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 KS.Pipeline({processors:[JS.metricsProcessor],handler:r,gateway:e}),i=new WS.SystemRouteConfiguration({label:"SYSTEM_NO_ROUTES",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:zS.SystemRouteName.EmptyGatewayCatchall});t.addRoute(i,n.execute)},"registerNoRoutes");bs.registerNoRoutes=QS});var Um=_(Qr=>{"use strict";Object.defineProperty(Qr,"__esModule",{value:!0});Qr.registerNotMatchedHandler=Qr.notFoundRouteConfiguration=void 0;var ZS=Kr(),YS=Nt(),XS=zt(),eI=de(),tI=lr(),rI=zr(),nI=bt();Qr.notFoundRouteConfiguration=new nI.SystemRouteConfiguration({label:"SYSTEM_NOT_FOUND_ROUTE",methods:["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"],path:"/(.*)",systemRouteName:rI.SystemRouteName.UnmatchedPath});var iI=o((t,e)=>{let r=o(async(i,s)=>{let a=YS.runtimeExtensions.value?.notFoundHandler;if(a){let c=ZS.ZuploContextExtensions.getContextExtensions(s);return a(i,s,{routesMatchedByPathOnly:c.pathOnlyMatches??[]})}return eI.HttpProblems.notFound(i,s)},"notFoundHandler"),n=new XS.Pipeline({processors:[tI.metricsProcessor],handler:r,gateway:e});t.addRoute(Qr.notFoundRouteConfiguration,n.execute)},"registerNotMatchedHandler");Qr.registerNotMatchedHandler=iI});var jl=_(_s=>{"use strict";Object.defineProperty(_s,"__esModule",{value:!0});_s.corsProcessor=void 0;var Hm=k(),Mm=ys(),oI=["access-control-allow-origin","access-control-allow-headers","access-control-expose-headers","access-control-allow-credentials","access-control-max-age"],km=o(t=>{oI.forEach(e=>t.delete(e))},"stripCorsHeaders"),sI=o(async(t,e,r,n)=>{let i=e.route;if(!i.corsPolicy||i.corsPolicy==="none"){let d=await n(t),p=new Headers(d.headers);return km(p),new Response(d.body,{status:d.status,statusText:d.statusText,headers:p,webSocket:d.webSocket})}let s=await n(t);if(!(s instanceof Response))throw new Hm.SystemError(`The CorsProcessor is in the wrong place in the pipeline. It should only receive HttpResponse type but got '${typeof s}'`);let a=aI(i,r.routeData.corsPolicies),c=cI(t,a),u=new Headers(s.headers);return km(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");_s.corsProcessor=sI;var aI=o((t,e)=>{if(t.corsPolicy==="anything-goes")return{name:"anything-goes",allowedHeaders:"*",allowedOrigins:["*"],allowedMethods:t.methods.join(", "),exposeHeaders:"*",allowCredentials:"true",maxAge:"600"};let r=e?.find(n=>n.name===t.corsPolicy);if(r===void 0)throw new Hm.ConfigurationError(`Invalid Configuration - no corsPolicy '${t.corsPolicy}' found in *.oas.json`);return r},"getCorsPolicy"),cI=o((t,e)=>{let r=(0,Mm.findMatchingOrigin)(e.allowedOrigins,t.headers.get("origin"));return r?(0,Mm.generateCorsHeaders)(e,r):{}},"getCorsHeaders")});var Fm=_(Es=>{"use strict";Object.defineProperty(Es,"__esModule",{value:!0});Es.registerPingRoute=void 0;var uI=zt(),lI=jl(),dI=zr(),pI=bt(),fI=o((t,e)=>{let r=o(async()=>new Response(null,{status:200}),"pingRouteHandler"),n=new uI.Pipeline({processors:[lI.corsProcessor],handler:r,gateway:e}),i=new pI.SystemRouteConfiguration({corsPolicy:"anything-goes",label:"SYSTEM_PING_ROUTE",methods:["GET"],path:"/__zuplo/ping",systemRouteName:dI.SystemRouteName.Ping});t.addRoute(i,n.execute)},"registerPingRoute");Es.registerPingRoute=fI});var Sn=_(Tn=>{"use strict";Object.defineProperty(Tn,"__esModule",{value:!0});Tn.OutboundPolicy=Tn.InboundPolicy=void 0;var hI=k(),mI=ct(),ws=class{static{o(this,"PolicyBase")}options;policyName;constructor(e,r){if(!(0,mI.isString)(r))throw new hI.RuntimeError(`The name of a policy must be a string. Received '${r}' of type '${typeof r}'`);this.options=e,this.policyName=r}},Vl=class extends ws{static{o(this,"InboundPolicy")}};Tn.InboundPolicy=Vl;var Bl=class extends ws{static{o(this,"OutboundPolicy")}};Tn.OutboundPolicy=Bl});var In=_(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.createInternalPolicyProcessor=_t.policyProcessor=_t.toStackedInboundHandler=_t.getInboundPolicyInstances=void 0;var yI=Kr(),$e=k(),vs=Sn(),qm=Ke(),gI=X(),Jl=class extends vs.InboundPolicy{static{o(this,"InboundFunctionOnlyPolicy")}#e;constructor(e,r,n){super(r,n),this.#e=e}handler(e,r){return this.#e(e,r,this.options,this.policyName)}},zl=class extends vs.OutboundPolicy{static{o(this,"OutboundFunctionOnlyPolicy")}#e;constructor(e,r,n){super(r,n),this.#e=e}handler(e,r,n){return this.#e(e,r,n,this.options,this.policyName)}},Gl=new Map;function $m(t,e){let r,n;return Array.isArray(t)?r=t:(r=t.policies?.inbound??[],n=t.path),r.filter(s=>!Gl.has(s)).forEach(s=>{let a=e?.find(l=>l.name===s);if(!a)throw new $e.ConfigurationError(`Invalid state - no Policy with the name '${s}' ${n&&`on route '${n}'`} was found in the policies configuration (check case).`);if(typeof a.handler?.module!="object")throw new $e.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof policy '${typeof a.handler?.module}')`);let c=a.handler?.module[a.handler.export];if(typeof c!="function")throw new $e.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof module '${typeof c}')`);let u;if(typeof c!="function")throw new $e.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof module '${typeof c}')`);if(c.prototype instanceof vs.InboundPolicy)u=new c(a.handler.options,a.name);else if(typeof c=="function")u=new Jl(c,a.handler.options,a.name);else throw new $e.ConfigurationError(`Invalid state - invalid policy '${s}' on route '${n}' (typeof policy '${typeof c}')`);if(typeof u.handler!="function")throw new $e.ConfigurationError(`Invalid state - invalid handler on policy '${s}' on route '${n}' (typeof handler '${typeof u.handler}')`);Gl.set(a.name,u)}),r.map(s=>{let a=Gl.get(s);if(a===void 0)throw new $e.RuntimeError("Internal error. Policy not found in cache.");return a})}o($m,"getInboundPolicyInstances");_t.getInboundPolicyInstances=$m;var Kl=new Map;function bI(t,e){let r=t.policies?.outbound??[];return r.filter(i=>!Kl.has(i)).forEach(i=>{let s=e?.find(u=>u.name===i);if(!s)throw new $e.ConfigurationError(`Invalid state - no Policy with the name '${i}' on route '${t.path}' was found in the policies configuration (check case).`);if(typeof s.handler?.module!="object")throw new $e.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${t.path}' (typeof policy '${typeof s.handler?.module}')`);let a=s.handler?.module[s.handler.export],c;if(typeof a!="function")throw new $e.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${t.path}' (typeof module '${typeof a}')`);if(a.prototype instanceof vs.OutboundPolicy)c=new a(s.handler.options??{},s.name);else if(typeof a=="function")c=new zl(a,s.handler.options??{},s.name);else throw new $e.ConfigurationError(`Invalid state - invalid policy '${i}' on route '${t.path}' (typeof policy '${typeof a}')`);if(typeof c.handler!="function")throw new $e.ConfigurationError(`Invalid state - invalid handler on policy '${i}' on route '${t.path}'`);Kl.set(s.name,c)}),r.map(i=>{let s=Kl.get(i);if(s===void 0)throw new $e.RuntimeError("Internal error. Policy not found in cache.");return s})}o(bI,"getOutboundPolicyInstances");var _I=o(t=>async(e,r)=>{let n=yI.ZuploContextExtensions.getContextExtensions(r),i=[...t],s=e;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r);if(c instanceof qm.ZuploRequest)s=c;else if(c instanceof Request)s=new qm.ZuploRequest(c);else{if(c instanceof Response)return c;throw new $e.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}' on route '${r.route.path}. The result of an inbound policy must be a Response or Request.`)}n.latestRequest=s}return s},"toStackedInboundHandler");_t.toStackedInboundHandler=_I;var EI=o(t=>async(e,r,n)=>{let i=[...t],s=e;for(;i.length>0;){let a=i.shift();if(!a)return s;let c=await a.handler(s,r,n);if(!(c instanceof Response))throw new $e.ConfigurationError(`Invalid state - invalid handler on policy '${a.policyName}' on route '${n.route.path}. The result of an outbound policy must be a Response.`);s=c}return s},"toStackedOutboundHandler"),wI=o(async(t,e,r,n)=>{let i=$m(e.route,r.routeData.policies),s=bI(e.route,r.routeData.policies);return jm({request:t,context:e,inboundPolicies:i,outboundPolicies:s,gateway:r,next:n})},"policyProcessor");_t.policyProcessor=wI;function vI({inboundPolicies:t=[],outboundPolicies:e=[]}){return o(async(n,i,s,a)=>jm({request:n,context:i,inboundPolicies:t,outboundPolicies:e,gateway:s,next:a}),"policyProcessor")}o(vI,"createInternalPolicyProcessor");_t.createInternalPolicyProcessor=vI;async function jm({request:t,context:e,inboundPolicies:r,outboundPolicies:n,gateway:i,next:s}){let a=(0,_t.toStackedInboundHandler)(r);try{let c=await a(t,e);if(c instanceof Response)return c;let u=await s(c),l=EI(n),d;return gI.Environment.instance.build.COMPATIBILITY_FLAGS.runOutboundPoliciesOnHandlerOnAllStatuses?d=l(u,t,e):d=u.ok?l(u,t,e):u,d}catch(c){return e.log.error(c),i.errorHandler(t,e,c)}}o(jm,"executePolicyProcessor")});var Vm=_(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});Pn.serialize=Pn.parse=void 0;var TI=Object.prototype.toString,Ts=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function SI(t,e){if(typeof t!="string")throw new TypeError("argument str must be a string");let r={},i=(e||{}).decode||PI,s=0;for(;s<t.length;){let a=t.indexOf("=",s);if(a===-1)break;let c=t.indexOf(";",s);if(c===-1)c=t.length;else if(c<a){s=t.lastIndexOf(";",a-1)+1;continue}let u=t.slice(s,a).trim();if(r[u]===void 0){let l=t.slice(a+1,c).trim();l.charCodeAt(0)===34&&(l=l.slice(1,-1)),r[u]=RI(l,i)}s=c+1}return r}o(SI,"parse");Pn.parse=SI;function II(t,e,r){let n=r||{},i=n.encode||AI;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!Ts.test(t))throw new TypeError("argument name is invalid");let s=i(e);if(s&&!Ts.test(s))throw new TypeError("argument val is invalid");let a=t+"="+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(!Ts.test(n.domain))throw new TypeError("option domain is invalid");a+="; Domain="+n.domain}if(n.path){if(!Ts.test(n.path))throw new TypeError("option path is invalid");a+="; Path="+n.path}if(n.expires){let c=n.expires;if(!OI(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(II,"serialize");Pn.serialize=II;function PI(t){return t.indexOf("%")!==-1?decodeURIComponent(t):t}o(PI,"decode");function AI(t){return encodeURIComponent(t)}o(AI,"encode");function OI(t){return TI.call(t)==="[object Date]"||t instanceof Date}o(OI,"isDate");function RI(t,e){try{return e(t)}catch{return t}}o(RI,"tryDecode")});var Bm=_(Ss=>{"use strict";Object.defineProperty(Ss,"__esModule",{value:!0});Ss.devPortalBaseURL=void 0;var NI=Vm();function CI(t,e){try{let r=/v\d+(-\d+)?/g,i=(0,NI.parse)(e.get("Cookie")||"")["zp-dev-portal"];return i!==null&&i&&r.test(i)?`https://dev-portal-${i}.zuplo.com`:t}catch{}return t}o(CI,"devPortalBaseURL");Ss.devPortalBaseURL=CI});var Wm=_(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.registerDevPortalLegacyRedirectRoute=An.registerDevPortalV3Route=void 0;var Wl=Wt(),Km=zt(),Jm=lr(),xI=In(),zm=bt(),LI=Bm(),fr=X(),Gm="/__zuplo/dev-portal",DI="dev-portal-id",UI="dev-portal-host",MI="zp-account",kI="zp-project",HI="dev-portal-build",FI=`
36
- <!DOCTYPE html>
37
- <html lang="en">
38
- <head>
39
- <meta charset="UTF-8">
40
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
41
- <title>Developer Portal Preview</title>
42
- </head>
43
- <body>
44
- <p>Previewing your Developer Portal is not supported (yet) in local development.</p>
45
- <p>For now, create a project on <a href="https://portal.zuplo.com">portal.zuplo.com</a>.</p>
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
- </body>
48
- </html>
49
- `,qI=o((t,e)=>{let{sitePathname:r}=e.runtimeSettings.developerPortal,n=fr.Environment.instance.deploymentName,i=fr.Environment.instance.devPortalBaseUrl,s=o(async(u,l)=>{if(fr.Environment.instance.isLocalDevelopment)return new Response(FI,{headers:{"content-type":"text/html"}});if(!n)return Wl.HttpProblems.internalServerError(u,l,{detail:"Unable to retrieve deployment name. Please contact support for assistance."});let d=new URL(u.url),p=(0,LI.devPortalBaseURL)(i,u.headers),f=new URL(`${d.pathname}${d.search}`,p),{headers:h,method:y,body:b}=u;return fr.Environment.instance.build.ACCOUNT_NAME&&h.set(MI,fr.Environment.instance.build.ACCOUNT_NAME),fr.Environment.instance.build.PROJECT_NAME&&h.set(kI,fr.Environment.instance.build.PROJECT_NAME),h.set(DI,n),h.set(UI,d.host),h.set(HI,fr.Environment.instance.build.BUILD_ID),await fetch(f.toString(),{headers:h,method:y,body:b,redirect:"manual"})},"devPortalRoute"),a=new Km.Pipeline({processors:[Jm.metricsProcessor,xI.policyProcessor],handler:s,gateway:e}),c=new zm.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_V3_ROUTE",methods:["GET","PUT","POST","DELETE","PATCH","HEAD"],path:`(${r}|/_next)(.*)`,systemRouteName:Wl.SystemRouteName.DeveloperPortal});t.addRoute(c,a.execute)},"registerDevPortalV3Route");An.registerDevPortalV3Route=qI;var $I=o((t,e)=>{let{sitePathname:r}=e.runtimeSettings.developerPortal,n=o(async a=>{let c=new URL(a.url);return c.pathname=`${r}${c.pathname.substring(Gm.length)}`,Response.redirect(c.toString(),302)},"devPortalRedirectRoute"),i=new Km.Pipeline({processors:[Jm.metricsProcessor],handler:n,gateway:e}),s=new zm.SystemRouteConfiguration({label:"SYSTEM_API_DOCS_REDIRECT_ROUTE",methods:["GET"],path:`${Gm}(.*)`,systemRouteName:Wl.SystemRouteName.DeveloperPortalLegacy});t.addRoute(s,i.execute)},"registerDevPortalLegacyRedirectRoute");An.registerDevPortalLegacyRedirectRoute=$I});var Ql=_(On=>{"use strict";Object.defineProperty(On,"__esModule",{value:!0});On.API_KEY=On.SYSTEM_LOGGER=void 0;On.SYSTEM_LOGGER="system-logger";On.API_KEY="api-key"});var Qm=_(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});Is.CoreLogger=void 0;var Zl=0,Yl=class{static{o(this,"CoreLogger")}constructor(e,r,n,i,s){this.#r=r,this.#n=n??"local",this.#i=i,this.#o=s,this.#e(e)}#e=e=>{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==e&&(n=!0)})};#t={};#r;#n;#i;#o;log(e,r,n,i,s,a){Zl>=Number.MAX_SAFE_INTEGER&&(Zl=0);let c={requestId:n,rayId:i,level:e,logSource:r,messages:s,timestamp:new Date,logOwner:this.#r,loggingId:this.#n,buildId:this.#i,vectorClock:Zl++};this.#t[e](c,a)}};Is.CoreLogger=Yl});var Zt=_(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});Ps.LogPlugin=void 0;var jI=Nt(),Xl=class extends jI.RuntimePlugin{static{o(this,"LogPlugin")}};Ps.LogPlugin=Xl});var Zm=_(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});As.LoggingContext=void 0;var ed=class{static{o(this,"LoggingContext")}constructor(e,r,n){this.#e=e,this.custom=r,this.originalRequest=n}#e;custom;originalRequest;waitUntil=e=>{this.#e.waitUntil(e)}};As.LoggingContext=ed});var Ym=_(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});Os.RequestLogger=void 0;var td=class{static{o(this,"RequestLogger")}constructor(e,r,n,i){this.#t=e,this.#r=r,this.#n=n,this.#i=i}#e="request";#t;#r;#n;#i;debug=(...e)=>{this.#n.log("debug",this.#e,this.#t,this.#r,e,this.#i)};info=(...e)=>{this.#n.log("info",this.#e,this.#t,this.#r,e,this.#i)};log=(...e)=>{this.#n.log("info",this.#e,this.#t,this.#r,e,this.#i)};warn=(...e)=>{this.#n.log("warn",this.#e,this.#t,this.#r,e,this.#i)};error=(...e)=>{this.#n.log("error",this.#e,this.#t,this.#r,e,this.#i)}};Os.RequestLogger=td});var Zr=_(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.cleanStack=hr.serializeError=hr.NonError=void 0;var Xm=ct(),VI=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError].filter(Boolean).map(t=>[t.name,t]),BI=new Map(VI),rd=class t extends Error{static{o(this,"NonError")}name="NonError";constructor(e){super(t._prepareSuperMessage(e))}static _prepareSuperMessage(e){try{return JSON.stringify(e)}catch{return String(e)}}};hr.NonError=rd;var GI=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],nd=Symbol(".toJSON was called"),KI=o(t=>{t[nd]=!0;let e=t.toJSON();return delete t[nd],e},"toJSON"),JI=o(t=>BI.get(t)??Error,"getErrorConstructor"),ey=o(({from:t,seen:e,to:r,forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c})=>{if(!r)if(Array.isArray(t))r=[];else if(!c&&(0,Xm.isErrorLike)(t)){let l=JI(t.name);r=new l}else r={};if(e.push(t),s>=i)return r;if(a&&typeof t.toJSON=="function"&&t[nd]!==!0)return KI(t);let u=o(l=>ey({from:l,seen:[...e],forceEnumerable:n,maxDepth:i,depth:s,useToJSON:a,serialize:c}),"continueDestroyCircular");for(let[l,d]of Object.entries(t)){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(!e.includes(t[l])){s++,r[l]=u(t[l]);continue}r[l]="[Circular]"}}for(let{property:l,enumerable:d}of GI)typeof t[l]<"u"&&t[l]!==null&&Object.defineProperty(r,l,{value:(0,Xm.isErrorLike)(t[l])?u(t[l]):t[l],enumerable:n?!0:d,configurable:!0,writable:!0});return r},"destroyCircular");function zI(t,e){let r=e?.maxDepth??Number.POSITIVE_INFINITY,n=e?.useToJSON??!0;return typeof t=="object"&&t!==null?ey({from:t,seen:[],forceEnumerable:!0,maxDepth:r,depth:0,useToJSON:n,serialize:!0}):typeof t=="function"?`[Function: ${t.name??"anonymous"}]`:t}o(zI,"serializeError");hr.serializeError=zI;var WI=/file:\/\/\/(.*?)\/dist\//g,QI=/\(https:\/\/raw\.githubusercontent\.com\/.*?\)/g,ZI="at async Event.respondWith";function YI(t){return typeof t!="string"?t:t.split(`
50
- `).filter(e=>!e.trim().startsWith("at async file")).map((e,r)=>{let n=e.replaceAll(WI,"").replaceAll(QI,"").replaceAll(ZI,"").trim();return r===0||n.length===0?n:` ${n}`}).filter(e=>e.length>0).join(`
51
- `)}o(YI,"cleanStack");hr.cleanStack=YI});var ty=_(od=>{"use strict";Object.defineProperty(od,"__esModule",{value:!0});var id=ct();function XI(t,e,r=""){let n=[],i=e?.maxDepth??3;return o(function s(a,c={},u,l){let d=c.indent||" ",p;c.inlineCharacterLimit===void 0?p={newline:`
52
- `,newlineOrSpace:`
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 f=o(h=>{if(c.inlineCharacterLimit===void 0)return h;let y=h.replace(new RegExp(p.newline,"g"),"").replace(new RegExp(p.newlineOrSpace,"g")," ").replace(new RegExp(p.pad+"|"+p.indent,"g"),"");return y.length<=c.inlineCharacterLimit?y: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,id.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((y,b)=>{let I=a.length-1===b?p.newline:","+p.newlineOrSpace,A=s(y,c,u+d,l+1);return c.transform&&(A=c.transform(a,b,A)),p.indent+A+I}).join("")+p.pad+"]";return n.pop(),f(h)}if((0,id.isObject)(a)){let h=(0,id.getOwnEnumerableKeys)(a);if(c.filter&&(h=h.filter(b=>c.filter?.(a,b))),h.length===0)return"{}";n.push(a);let y="{"+p.newline+h.map((b,I)=>{let A=h.length-1===I?p.newline:","+p.newlineOrSpace,g=typeof b=="symbol",v=!g&&/^[a-z$_][$\w]*$/i.test(b),R=g||v?b:s(b,c,"",l+1),V=s(a[b],c,u+d,l+1);return c.transform&&(V=c.transform(a,b,V)),p.indent+String(R)+": "+V+A}).join("")+p.pad+"}";return n.pop(),f(y)}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")(t,e,r,0)}o(XI,"stringifyObject");od.default=XI});var xt=_(ze=>{"use strict";var eP=ze&&ze.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ze,"__esModule",{value:!0});ze.stringifyNonStringToText=ze.stringifyNonString=ze.messagesToMultilineText=ze.extractBestMessage=ze.makeErrorsSerializable=void 0;var sd=Zr(),ry=eP(ty()),ny=ct();function tP(t){return t.map(e=>(0,sd.serializeError)(e))}o(tP,"makeErrorsSerializable");ze.makeErrorsSerializable=tP;function rP(t){if(t.length===0)return"<no data provided to log>";let e=t[0];return typeof e=="string"?e:e instanceof Error?e.message:iy((0,sd.serializeError)(e))}o(rP,"extractBestMessage");ze.extractBestMessage=rP;function nP(t){let e=[];return t.forEach(r=>{if(typeof r=="string")e.push(r);else if((0,ny.isErrorLike)(r))if(r.stack)e.push(r.stack);else{let n=(0,ry.default)((0,sd.serializeError)(r));e.push(n)}else if(typeof r=="object"){let n=(0,ry.default)(r);e.push(n)}else{let n=oy(r);e.push(n)}}),e.join(`
56
- `)}o(nP,"messagesToMultilineText");ze.messagesToMultilineText=nP;function iy(t){return typeof t=="string"?t:JSON.stringify(t)}o(iy,"stringifyNonString");ze.stringifyNonString=iy;function oy(t){return typeof t=="string"?t:t===null?"null":typeof t>"u"?"undefined":typeof t=="number"||typeof t=="boolean"||typeof t=="bigint"||typeof t=="symbol"?t.toString():typeof t=="function"?`[function ${t.name}]`:typeof t=="object"&&Array.isArray(t)?`[array ${t.length}]`:t instanceof Error?`${t.name??"Error"}: ${t.message??"unknown"}`:typeof t=="object"?(0,ny.toString)(t):"unknown"}o(oy,"stringifyNonStringToText");ze.stringifyNonStringToText=oy});var G,me,xe=D(()=>{G=crypto,me=o(t=>t instanceof CryptoKey,"isCryptoKey")});var iP,Rs,ad=D(()=>{xe();iP=o(async(t,e)=>{let r=`SHA-${t.slice(-3)}`;return new Uint8Array(await G.subtle.digest(r,e))},"digest"),Rs=iP});function Le(...t){let e=t.reduce((i,{length:s})=>i+s,0),r=new Uint8Array(e),n=0;return t.forEach(i=>{r.set(i,n),n+=i.length}),r}function sy(t,e){return Le(ae.encode(t),new Uint8Array([0]),e)}function cd(t,e,r){if(e<0||e>=Ns)throw new RangeError(`value must be >= 0 and <= ${Ns-1}. Received ${e}`);t.set([e>>>24,e>>>16,e>>>8,e&255],r)}function Cs(t){let e=Math.floor(t/Ns),r=t%Ns,n=new Uint8Array(8);return cd(n,e,0),cd(n,r,4),n}function xs(t){let e=new Uint8Array(4);return cd(e,t),e}function Ls(t){return Le(xs(t.length),t)}async function ay(t,e,r){let n=Math.ceil((e>>3)/32),i=new Uint8Array(n*32);for(let s=0;s<n;s++){let a=new Uint8Array(4+t.length+r.length);a.set(xs(s+1)),a.set(t,4),a.set(r,4+t.length),i.set(await Rs("sha256",a),s*32)}return i.slice(0,e>>3)}var ae,ge,Ns,Pe=D(()=>{ad();ae=new TextEncoder,ge=new TextDecoder,Ns=2**32;o(Le,"concat");o(sy,"p2s");o(cd,"writeUInt32BE");o(Cs,"uint64be");o(xs,"uint32be");o(Ls,"lengthAndInput");o(ay,"concatKdf")});var Ds,ce,ud,pe,De=D(()=>{Pe();Ds=o(t=>{let e=t;typeof e=="string"&&(e=ae.encode(e));let r=32768,n=[];for(let i=0;i<e.length;i+=r)n.push(String.fromCharCode.apply(null,e.subarray(i,i+r)));return btoa(n.join(""))},"encodeBase64"),ce=o(t=>Ds(t).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),"encode"),ud=o(t=>{let e=atob(t),r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return r},"decodeBase64"),pe=o(t=>{let e=t;e instanceof Uint8Array&&(e=ge.decode(e)),e=e.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return ud(e)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}},"decode")});var ld={};ko(ld,{JOSEAlgNotAllowed:()=>mr,JOSEError:()=>Te,JOSENotSupported:()=>J,JWEDecryptionFailed:()=>Yt,JWEInvalid:()=>H,JWKInvalid:()=>Mi,JWKSInvalid:()=>yr,JWKSMultipleMatchingKeys:()=>ki,JWKSNoMatchingKey:()=>Yr,JWKSTimeout:()=>Hi,JWSInvalid:()=>ie,JWSSignatureVerificationFailed:()=>Xr,JWTClaimValidationFailed:()=>Re,JWTExpired:()=>Rn,JWTInvalid:()=>Ee});var Te,Re,Rn,mr,J,Yt,H,ie,Ee,Mi,yr,Yr,ki,Hi,Xr,Z=D(()=>{Te=class extends Error{static{o(this,"JOSEError")}static get code(){return"ERR_JOSE_GENERIC"}constructor(e){var r;super(e),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,(r=Error.captureStackTrace)===null||r===void 0||r.call(Error,this,this.constructor)}},Re=class extends Te{static{o(this,"JWTClaimValidationFailed")}static get code(){return"ERR_JWT_CLAIM_VALIDATION_FAILED"}constructor(e,r="unspecified",n="unspecified"){super(e),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n}},Rn=class extends Te{static{o(this,"JWTExpired")}static get code(){return"ERR_JWT_EXPIRED"}constructor(e,r="unspecified",n="unspecified"){super(e),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n}},mr=class extends Te{static{o(this,"JOSEAlgNotAllowed")}constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}static get code(){return"ERR_JOSE_ALG_NOT_ALLOWED"}},J=class extends Te{static{o(this,"JOSENotSupported")}constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}static get code(){return"ERR_JOSE_NOT_SUPPORTED"}},Yt=class extends Te{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"}},H=class extends Te{static{o(this,"JWEInvalid")}constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}static get code(){return"ERR_JWE_INVALID"}},ie=class extends Te{static{o(this,"JWSInvalid")}constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}static get code(){return"ERR_JWS_INVALID"}},Ee=class extends Te{static{o(this,"JWTInvalid")}constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}static get code(){return"ERR_JWT_INVALID"}},Mi=class extends Te{static{o(this,"JWKInvalid")}constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}static get code(){return"ERR_JWK_INVALID"}},yr=class extends Te{static{o(this,"JWKSInvalid")}constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}static get code(){return"ERR_JWKS_INVALID"}},Yr=class extends Te{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"}},ki=class extends Te{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"}},Hi=class extends Te{static{o(this,"JWKSTimeout")}constructor(){super(...arguments),this.code="ERR_JWKS_TIMEOUT",this.message="request timed out"}static get code(){return"ERR_JWKS_TIMEOUT"}},Xr=class extends Te{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 gr,Fi=D(()=>{xe();gr=G.getRandomValues.bind(G)});function dd(t){switch(t){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 J(`Unsupported JWE Algorithm: ${t}`)}}var Us,Ms=D(()=>{Z();Fi();o(dd,"bitLength");Us=o(t=>gr(new Uint8Array(dd(t)>>3)),"default")});var oP,ks,pd=D(()=>{Z();Ms();oP=o((t,e)=>{if(e.length<<3!==dd(t))throw new H("Invalid Initialization Vector length")},"checkIvLength"),ks=oP});var sP,Nn,fd=D(()=>{Z();sP=o((t,e)=>{let r=t.byteLength<<3;if(r!==e)throw new H(`Invalid Content Encryption Key length. Expected ${e} bits, got ${r} bits`)},"checkCekLength"),Nn=sP});var aP,uy,ly=D(()=>{aP=o((t,e)=>{if(!(t instanceof Uint8Array))throw new TypeError("First argument must be a buffer");if(!(e instanceof Uint8Array))throw new TypeError("Second argument must be a buffer");if(t.length!==e.length)throw new TypeError("Input buffers must have the same length");let r=t.length,n=0,i=-1;for(;++i<r;)n|=t[i]^e[i];return n===0},"timingSafeEqual"),uy=aP});function Ue(t,e="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${e} must be ${t}`)}function br(t,e){return t.name===e}function Hs(t){return parseInt(t.name.slice(4),10)}function cP(t){switch(t){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}function dy(t,e){if(e.length&&!e.some(r=>t.usages.includes(r))){let r="CryptoKey does not support this operation, its usages must include ";if(e.length>2){let n=e.pop();r+=`one of ${e.join(", ")}, or ${n}.`}else e.length===2?r+=`one of ${e[0]} or ${e[1]}.`:r+=`${e[0]}.`;throw new TypeError(r)}}function py(t,e,...r){switch(e){case"HS256":case"HS384":case"HS512":{if(!br(t.algorithm,"HMAC"))throw Ue("HMAC");let n=parseInt(e.slice(2),10);if(Hs(t.algorithm.hash)!==n)throw Ue(`SHA-${n}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!br(t.algorithm,"RSASSA-PKCS1-v1_5"))throw Ue("RSASSA-PKCS1-v1_5");let n=parseInt(e.slice(2),10);if(Hs(t.algorithm.hash)!==n)throw Ue(`SHA-${n}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!br(t.algorithm,"RSA-PSS"))throw Ue("RSA-PSS");let n=parseInt(e.slice(2),10);if(Hs(t.algorithm.hash)!==n)throw Ue(`SHA-${n}`,"algorithm.hash");break}case"EdDSA":{if(t.algorithm.name!=="Ed25519"&&t.algorithm.name!=="Ed448")throw Ue("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!br(t.algorithm,"ECDSA"))throw Ue("ECDSA");let n=cP(e);if(t.algorithm.namedCurve!==n)throw Ue(n,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}dy(t,r)}function We(t,e,...r){switch(e){case"A128GCM":case"A192GCM":case"A256GCM":{if(!br(t.algorithm,"AES-GCM"))throw Ue("AES-GCM");let n=parseInt(e.slice(1,4),10);if(t.algorithm.length!==n)throw Ue(n,"algorithm.length");break}case"A128KW":case"A192KW":case"A256KW":{if(!br(t.algorithm,"AES-KW"))throw Ue("AES-KW");let n=parseInt(e.slice(1,4),10);if(t.algorithm.length!==n)throw Ue(n,"algorithm.length");break}case"ECDH":{switch(t.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw Ue("ECDH, X25519, or X448")}break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!br(t.algorithm,"PBKDF2"))throw Ue("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!br(t.algorithm,"RSA-OAEP"))throw Ue("RSA-OAEP");let n=parseInt(e.slice(9),10)||1;if(Hs(t.algorithm.hash)!==n)throw Ue(`SHA-${n}`,"algorithm.hash");break}default:throw new TypeError("CryptoKey does not support this operation")}dy(t,r)}var _r=D(()=>{o(Ue,"unusable");o(br,"isAlgorithm");o(Hs,"getHashLength");o(cP,"getNamedCurve");o(dy,"checkUsage");o(py,"checkSigCryptoKey");o(We,"checkEncCryptoKey")});function fy(t,e,...r){if(r.length>2){let n=r.pop();t+=`one of type ${r.join(", ")}, or ${n}.`}else r.length===2?t+=`one of type ${r[0]} or ${r[1]}.`:t+=`of type ${r[0]}.`;return e==null?t+=` Received ${e}`:typeof e=="function"&&e.name?t+=` Received function ${e.name}`:typeof e=="object"&&e!=null&&e.constructor&&e.constructor.name&&(t+=` Received an instance of ${e.constructor.name}`),t}function hd(t,e,...r){return fy(`Key for the ${t} algorithm must be `,e,...r)}var fe,Et=D(()=>{o(fy,"message");fe=o((t,...e)=>fy("Key must be ",t,...e),"default");o(hd,"withAlg")});var md,oe,wt=D(()=>{xe();md=o(t=>me(t),"default"),oe=["CryptoKey"]});async function uP(t,e,r,n,i,s){if(!(e instanceof Uint8Array))throw new TypeError(fe(e,"Uint8Array"));let a=parseInt(t.slice(1,4),10),c=await G.subtle.importKey("raw",e.subarray(a>>3),"AES-CBC",!1,["decrypt"]),u=await G.subtle.importKey("raw",e.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),l=Le(s,n,r,Cs(s.length<<3)),d=new Uint8Array((await G.subtle.sign("HMAC",u,l)).slice(0,a>>3)),p;try{p=uy(i,d)}catch{}if(!p)throw new Yt;let f;try{f=new Uint8Array(await G.subtle.decrypt({iv:n,name:"AES-CBC"},c,r))}catch{}if(!f)throw new Yt;return f}async function lP(t,e,r,n,i,s){let a;e instanceof Uint8Array?a=await G.subtle.importKey("raw",e,"AES-GCM",!1,["decrypt"]):(We(e,t,"decrypt"),a=e);try{return new Uint8Array(await G.subtle.decrypt({additionalData:s,iv:n,name:"AES-GCM",tagLength:128},a,Le(r,i)))}catch{throw new Yt}}var dP,Fs,yd=D(()=>{Pe();pd();fd();ly();Z();xe();_r();Et();wt();o(uP,"cbcDecrypt");o(lP,"gcmDecrypt");dP=o(async(t,e,r,n,i,s)=>{if(!me(e)&&!(e instanceof Uint8Array))throw new TypeError(fe(e,...oe,"Uint8Array"));switch(ks(t,n),t){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return e instanceof Uint8Array&&Nn(e,parseInt(t.slice(-3),10)),uP(t,e,r,n,i,s);case"A128GCM":case"A192GCM":case"A256GCM":return e instanceof Uint8Array&&Nn(e,parseInt(t.slice(1,4),10)),lP(t,e,r,n,i,s);default:throw new J("Unsupported JWE Content Encryption Algorithm")}},"decrypt"),Fs=dP});var hy,my,gd=D(()=>{Z();hy=o(async()=>{throw new J('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"),my=o(async()=>{throw new J('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 pP,Lt,Cn=D(()=>{pP=o((...t)=>{let e=t.filter(Boolean);if(e.length===0||e.length===1)return!0;let r;for(let n of e){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"),Lt=pP});function fP(t){return typeof t=="object"&&t!==null}function se(t){if(!fP(t)||Object.prototype.toString.call(t)!=="[object Object]")return!1;if(Object.getPrototypeOf(t)===null)return!0;let e=t;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}var Qe=D(()=>{o(fP,"isObjectLike");o(se,"isObject")});var hP,xn,bd=D(()=>{hP=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]],xn=hP});function yy(t,e){if(t.algorithm.length!==parseInt(e.slice(1,4),10))throw new TypeError(`Invalid key size for alg: ${e}`)}function gy(t,e,r){if(me(t))return We(t,e,r),t;if(t instanceof Uint8Array)return G.subtle.importKey("raw",t,"AES-KW",!0,[r]);throw new TypeError(fe(t,...oe,"Uint8Array"))}var qi,$i,qs=D(()=>{bd();xe();_r();Et();wt();o(yy,"checkKeySize");o(gy,"getCryptoKey");qi=o(async(t,e,r)=>{let n=await gy(e,t,"wrapKey");yy(n,t);let i=await G.subtle.importKey("raw",r,...xn);return new Uint8Array(await G.subtle.wrapKey("raw",i,n,"AES-KW"))},"wrap"),$i=o(async(t,e,r)=>{let n=await gy(e,t,"unwrapKey");yy(n,t);let i=await G.subtle.unwrapKey("raw",r,n,"AES-KW",...xn);return new Uint8Array(await G.subtle.exportKey("raw",i))},"unwrap")});async function $s(t,e,r,n,i=new Uint8Array(0),s=new Uint8Array(0)){if(!me(t))throw new TypeError(fe(t,...oe));if(We(t,"ECDH"),!me(e))throw new TypeError(fe(e,...oe));We(e,"ECDH","deriveBits");let a=Le(Ls(ae.encode(r)),Ls(i),Ls(s),xs(n)),c;t.algorithm.name==="X25519"?c=256:t.algorithm.name==="X448"?c=448:c=Math.ceil(parseInt(t.algorithm.namedCurve.substr(-3),10)/8)<<3;let u=new Uint8Array(await G.subtle.deriveBits({name:t.algorithm.name,public:t},e,c));return ay(u,n,a)}async function by(t){if(!me(t))throw new TypeError(fe(t,...oe));return G.subtle.generateKey(t.algorithm,!0,["deriveBits"])}function js(t){if(!me(t))throw new TypeError(fe(t,...oe));return["P-256","P-384","P-521"].includes(t.algorithm.namedCurve)||t.algorithm.name==="X25519"||t.algorithm.name==="X448"}var _d=D(()=>{Pe();xe();_r();Et();wt();o($s,"deriveKey");o(by,"generateEpk");o(js,"ecdhAllowed")});function Ed(t){if(!(t instanceof Uint8Array)||t.length<8)throw new H("PBES2 Salt Input must be 8 or more octets")}var Ey=D(()=>{Z();o(Ed,"checkP2s")});function mP(t,e){if(t instanceof Uint8Array)return G.subtle.importKey("raw",t,"PBKDF2",!1,["deriveBits"]);if(me(t))return We(t,e,"deriveBits","deriveKey"),t;throw new TypeError(fe(t,...oe,"Uint8Array"))}async function wy(t,e,r,n){Ed(t);let i=sy(e,t),s=parseInt(e.slice(13,16),10),a={hash:`SHA-${e.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},c={length:s,name:"AES-KW"},u=await mP(n,e);if(u.usages.includes("deriveBits"))return new Uint8Array(await G.subtle.deriveBits(a,u,s));if(u.usages.includes("deriveKey"))return G.subtle.deriveKey(a,u,c,!1,["wrapKey","unwrapKey"]);throw new TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}var vy,Ty,wd=D(()=>{Fi();Pe();De();qs();Ey();xe();_r();Et();wt();o(mP,"getCryptoKey");o(wy,"deriveKey");vy=o(async(t,e,r,n=2048,i=gr(new Uint8Array(16)))=>{let s=await wy(i,t,n,e);return{encryptedKey:await qi(t.slice(-6),s,r),p2c:n,p2s:ce(i)}},"encrypt"),Ty=o(async(t,e,r,n,i)=>{let s=await wy(i,t,n,e);return $i(t.slice(-6),s,r)},"decrypt")});function Ln(t){switch(t){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new J(`alg ${t} is not supported either by JOSE or your javascript runtime`)}}var Sy=D(()=>{Z();o(Ln,"subtleRsaEs")});var en,Vs=D(()=>{en=o((t,e)=>{if(t.startsWith("RS")||t.startsWith("PS")){let{modulusLength:r}=e.algorithm;if(typeof r!="number"||r<2048)throw new TypeError(`${t} requires key modulusLength to be 2048 bits or larger`)}},"default")});var Iy,Py,vd=D(()=>{Sy();bd();xe();_r();Vs();Et();wt();Iy=o(async(t,e,r)=>{if(!me(e))throw new TypeError(fe(e,...oe));if(We(e,t,"encrypt","wrapKey"),en(t,e),e.usages.includes("encrypt"))return new Uint8Array(await G.subtle.encrypt(Ln(t),e,r));if(e.usages.includes("wrapKey")){let n=await G.subtle.importKey("raw",r,...xn);return new Uint8Array(await G.subtle.wrapKey("raw",n,e,Ln(t)))}throw new TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},"encrypt"),Py=o(async(t,e,r)=>{if(!me(e))throw new TypeError(fe(e,...oe));if(We(e,t,"decrypt","unwrapKey"),en(t,e),e.usages.includes("decrypt"))return new Uint8Array(await G.subtle.decrypt(Ln(t),e,r));if(e.usages.includes("unwrapKey")){let n=await G.subtle.unwrapKey("raw",r,e,Ln(t),...xn);return new Uint8Array(await G.subtle.exportKey("raw",n))}throw new TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')},"decrypt")});function ji(t){switch(t){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 J(`Unsupported JWE Algorithm: ${t}`)}}var Dt,Vi=D(()=>{Z();Fi();o(ji,"bitLength");Dt=o(t=>gr(new Uint8Array(ji(t)>>3)),"default")});var Td,Ay=D(()=>{Td=o((t,e)=>{let r=(t.match(/.{1,64}/g)||[]).join(`
57
- `);return`-----BEGIN ${e}-----
58
- ${r}
59
- -----END ${e}-----`},"default")});function Ry(t){let e=[],r=0;for(;r<t.length;){let n=Uy(t.subarray(r));e.push(n),r+=n.byteLength}return e}function Uy(t){let e=0,r=t[0]&31;if(e++,r===31){for(r=0;t[e]>=128;)r=r*128+t[e]-128,e++;r=r*128+t[e]-128,e++}let n=0;if(t[e]<128)n=t[e],e++;else if(n===128){for(n=0;t[e+n]!==0||t[e+n+1]!==0;){if(n>t.byteLength)throw new TypeError("invalid indefinite form length");n++}let s=e+n+2;return{byteLength:s,contents:t.subarray(e,e+n),raw:t.subarray(0,s)}}else{let s=t[e]&127;e++,n=0;for(let a=0;a<s;a++)n=n*256+t[e],e++}let i=e+n;return{byteLength:i,contents:t.subarray(e,i),raw:t.subarray(0,i)}}function yP(t){let e=Ry(Ry(Uy(t).contents)[0].contents);return Ds(e[e[0].raw[0]===160?6:5].raw)}function gP(t){let e=t.replace(/(?:-----(?:BEGIN|END) CERTIFICATE-----|\s)/g,""),r=ud(e);return Td(yP(r),"PUBLIC KEY")}var Ny,Cy,xy,Er,Oy,Ly,Dy,Sd,My,Bs=D(()=>{xe();Et();De();Ay();Z();wt();Ny=o(async(t,e,r)=>{if(!me(r))throw new TypeError(fe(r,...oe));if(!r.extractable)throw new TypeError("CryptoKey is not extractable");if(r.type!==t)throw new TypeError(`key is not a ${t} key`);return Td(Ds(new Uint8Array(await G.subtle.exportKey(e,r))),`${t.toUpperCase()} KEY`)},"genericExport"),Cy=o(t=>Ny("public","spki",t),"toSPKI"),xy=o(t=>Ny("private","pkcs8",t),"toPKCS8"),Er=o((t,e,r=0)=>{r===0&&(e.unshift(e.length),e.unshift(6));let n=t.indexOf(e[0],r);if(n===-1)return!1;let i=t.subarray(n,n+e.length);return i.length!==e.length?!1:i.every((s,a)=>s===e[a])||Er(t,e,n+1)},"findOid"),Oy=o(t=>{switch(!0){case Er(t,[42,134,72,206,61,3,1,7]):return"P-256";case Er(t,[43,129,4,0,34]):return"P-384";case Er(t,[43,129,4,0,35]):return"P-521";case Er(t,[43,101,110]):return"X25519";case Er(t,[43,101,111]):return"X448";case Er(t,[43,101,112]):return"Ed25519";case Er(t,[43,101,113]):return"Ed448";default:throw new J("Invalid or unsupported EC Key Curve or OKP Key Sub Type")}},"getNamedCurve"),Ly=o(async(t,e,r,n,i)=>{var s;let a,c,u=new Uint8Array(atob(r.replace(t,"")).split("").map(d=>d.charCodeAt(0))),l=e==="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=Oy(u);a=d.startsWith("P-")?{name:"ECDH",namedCurve:d}:{name:d},c=l?[]:["deriveBits"];break}case"EdDSA":a={name:Oy(u)},c=l?["verify"]:["sign"];break;default:throw new J('Invalid or unsupported "alg" (Algorithm) value')}return G.subtle.importKey(e,u,a,(s=i?.extractable)!==null&&s!==void 0?s:!1,c)},"genericImport"),Dy=o((t,e,r)=>Ly(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,"pkcs8",t,e,r),"fromPKCS8"),Sd=o((t,e,r)=>Ly(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,"spki",t,e,r),"fromSPKI");o(Ry,"getElement");o(Uy,"parseElement");o(yP,"spkiFromX509");o(gP,"getSPKI");My=o((t,e,r)=>{let n;try{n=gP(t)}catch(i){throw new TypeError("failed to parse the X.509 certificate",{cause:i})}return Sd(n,e,r)},"fromX509")});function bP(t){let e,r;switch(t.kty){case"oct":{switch(t.alg){case"HS256":case"HS384":case"HS512":e={name:"HMAC",hash:`SHA-${t.alg.slice(-3)}`},r=["sign","verify"];break;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":throw new J(`${t.alg} keys cannot be imported as CryptoKey instances`);case"A128GCM":case"A192GCM":case"A256GCM":case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":e={name:"AES-GCM"},r=["encrypt","decrypt"];break;case"A128KW":case"A192KW":case"A256KW":e={name:"AES-KW"},r=["wrapKey","unwrapKey"];break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":e={name:"PBKDF2"},r=["deriveBits"];break;default:throw new J('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"RSA":{switch(t.alg){case"PS256":case"PS384":case"PS512":e={name:"RSA-PSS",hash:`SHA-${t.alg.slice(-3)}`},r=t.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":e={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${t.alg.slice(-3)}`},r=t.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":e={name:"RSA-OAEP",hash:`SHA-${parseInt(t.alg.slice(-3),10)||1}`},r=t.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new J('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"EC":{switch(t.alg){case"ES256":e={name:"ECDSA",namedCurve:"P-256"},r=t.d?["sign"]:["verify"];break;case"ES384":e={name:"ECDSA",namedCurve:"P-384"},r=t.d?["sign"]:["verify"];break;case"ES512":e={name:"ECDSA",namedCurve:"P-521"},r=t.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":e={name:"ECDH",namedCurve:t.crv},r=t.d?["deriveBits"]:[];break;default:throw new J('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"OKP":{switch(t.alg){case"EdDSA":e={name:t.crv},r=t.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":e={name:t.crv},r=t.d?["deriveBits"]:[];break;default:throw new J('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new J('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:e,keyUsages:r}}var _P,Id,ky=D(()=>{xe();Z();De();o(bP,"subtleMapping");_P=o(async t=>{var e,r;if(!t.alg)throw new TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:n,keyUsages:i}=bP(t),s=[n,(e=t.ext)!==null&&e!==void 0?e:!1,(r=t.key_ops)!==null&&r!==void 0?r:i];if(n.name==="PBKDF2")return G.subtle.importKey("raw",pe(t.k),...s);let a={...t};return delete a.alg,delete a.use,G.subtle.importKey("jwk",a,...s)},"parse"),Id=_P});async function Hy(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN PUBLIC KEY-----")!==0)throw new TypeError('"spki" must be SPKI formatted string');return Sd(t,e,r)}async function Fy(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN CERTIFICATE-----")!==0)throw new TypeError('"x509" must be X.509 formatted string');return My(t,e,r)}async function qy(t,e,r){if(typeof t!="string"||t.indexOf("-----BEGIN PRIVATE KEY-----")!==0)throw new TypeError('"pkcs8" must be PKCS#8 formatted string');return Dy(t,e,r)}async function wr(t,e,r){var n;if(!se(t))throw new TypeError("JWK must be an object");switch(e||(e=t.alg),t.kty){case"oct":if(typeof t.k!="string"||!t.k)throw new TypeError('missing "k" (Key Value) Parameter value');return r??(r=t.ext!==!0),r?Id({...t,alg:e,ext:(n=t.ext)!==null&&n!==void 0?n:!1}):pe(t.k);case"RSA":if(t.oth!==void 0)throw new J('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return Id({...t,alg:e});default:throw new J('Unsupported "kty" (Key Type) Parameter value')}}var Bi=D(()=>{De();Bs();ky();Z();Qe();o(Hy,"importSPKI");o(Fy,"importX509");o(qy,"importPKCS8");o(wr,"importJWK")});var EP,wP,vP,vr,Gi=D(()=>{Et();wt();EP=o((t,e)=>{if(!(e instanceof Uint8Array)){if(!md(e))throw new TypeError(hd(t,e,...oe,"Uint8Array"));if(e.type!=="secret")throw new TypeError(`${oe.join(" or ")} instances for symmetric algorithms must be of type "secret"`)}},"symmetricTypeCheck"),wP=o((t,e,r)=>{if(!md(e))throw new TypeError(hd(t,e,...oe));if(e.type==="secret")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithms must not be of type "secret"`);if(r==="sign"&&e.type==="public")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithm signing must be of type "private"`);if(r==="decrypt"&&e.type==="public")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithm decryption must be of type "private"`);if(e.algorithm&&r==="verify"&&e.type==="private")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithm verifying must be of type "public"`);if(e.algorithm&&r==="encrypt"&&e.type==="private")throw new TypeError(`${oe.join(" or ")} instances for asymmetric algorithm encryption must be of type "public"`)},"asymmetricTypeCheck"),vP=o((t,e,r)=>{t.startsWith("HS")||t==="dir"||t.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(t)?EP(t,e):wP(t,e,r)},"checkKeyType"),vr=vP});async function TP(t,e,r,n,i){if(!(r instanceof Uint8Array))throw new TypeError(fe(r,"Uint8Array"));let s=parseInt(t.slice(1,4),10),a=await G.subtle.importKey("raw",r.subarray(s>>3),"AES-CBC",!1,["encrypt"]),c=await G.subtle.importKey("raw",r.subarray(0,s>>3),{hash:`SHA-${s<<1}`,name:"HMAC"},!1,["sign"]),u=new Uint8Array(await G.subtle.encrypt({iv:n,name:"AES-CBC"},a,e)),l=Le(i,n,u,Cs(i.length<<3)),d=new Uint8Array((await G.subtle.sign("HMAC",c,l)).slice(0,s>>3));return{ciphertext:u,tag:d}}async function SP(t,e,r,n,i){let s;r instanceof Uint8Array?s=await G.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(We(r,t,"encrypt"),s=r);let a=new Uint8Array(await G.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},s,e)),c=a.slice(-16);return{ciphertext:a.slice(0,-16),tag:c}}var IP,Ki,Pd=D(()=>{Pe();pd();fd();xe();_r();Et();Z();wt();o(TP,"cbcEncrypt");o(SP,"gcmEncrypt");IP=o(async(t,e,r,n,i)=>{if(!me(r)&&!(r instanceof Uint8Array))throw new TypeError(fe(r,...oe,"Uint8Array"));switch(ks(t,n),t){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&Nn(r,parseInt(t.slice(-3),10)),TP(t,e,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&Nn(r,parseInt(t.slice(1,4),10)),SP(t,e,r,n,i);default:throw new J("Unsupported JWE Content Encryption Algorithm")}},"encrypt"),Ki=IP});async function $y(t,e,r,n){let i=t.slice(0,7);n||(n=Us(i));let{ciphertext:s,tag:a}=await Ki(i,r,e,n,new Uint8Array(0));return{encryptedKey:s,iv:ce(n),tag:ce(a)}}async function jy(t,e,r,n,i){let s=t.slice(0,7);return Fs(s,e,r,n,i,new Uint8Array(0))}var Ad=D(()=>{Pd();yd();Ms();De();o($y,"wrap");o(jy,"unwrap")});async function PP(t,e,r,n,i){switch(vr(t,e,"decrypt"),t){case"dir":{if(r!==void 0)throw new H("Encountered unexpected JWE Encrypted Key");return e}case"ECDH-ES":if(r!==void 0)throw new H("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!se(n.epk))throw new H('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!js(e))throw new J("ECDH with the provided key is not allowed or not supported by your javascript runtime");let s=await wr(n.epk,t),a,c;if(n.apu!==void 0){if(typeof n.apu!="string")throw new H('JOSE Header "apu" (Agreement PartyUInfo) invalid');a=pe(n.apu)}if(n.apv!==void 0){if(typeof n.apv!="string")throw new H('JOSE Header "apv" (Agreement PartyVInfo) invalid');c=pe(n.apv)}let u=await $s(s,e,t==="ECDH-ES"?n.enc:t,t==="ECDH-ES"?ji(n.enc):parseInt(t.slice(-5,-2),10),a,c);if(t==="ECDH-ES")return u;if(r===void 0)throw new H("JWE Encrypted Key missing");return $i(t.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 H("JWE Encrypted Key missing");return Py(t,e,r)}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{if(r===void 0)throw new H("JWE Encrypted Key missing");if(typeof n.p2c!="number")throw new H('JOSE Header "p2c" (PBES2 Count) missing or invalid');let s=i?.maxPBES2Count||1e4;if(n.p2c>s)throw new H('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if(typeof n.p2s!="string")throw new H('JOSE Header "p2s" (PBES2 Salt) missing or invalid');return Ty(t,e,r,n.p2c,pe(n.p2s))}case"A128KW":case"A192KW":case"A256KW":{if(r===void 0)throw new H("JWE Encrypted Key missing");return $i(t,e,r)}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{if(r===void 0)throw new H("JWE Encrypted Key missing");if(typeof n.iv!="string")throw new H('JOSE Header "iv" (Initialization Vector) missing or invalid');if(typeof n.tag!="string")throw new H('JOSE Header "tag" (Authentication Tag) missing or invalid');let s=pe(n.iv),a=pe(n.tag);return jy(t,e,r,s,a)}default:throw new J('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var Vy,By=D(()=>{qs();_d();wd();vd();De();Z();Vi();Bi();Gi();Qe();Ad();o(PP,"decryptKeyManagement");Vy=PP});function AP(t,e,r,n,i){if(i.crit!==void 0&&n.crit===void 0)throw new t('"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 t('"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),...e.entries()]):s=e;for(let a of n.crit){if(!s.has(a))throw new J(`Extension Header Parameter "${a}" is not recognized`);if(i[a]===void 0)throw new t(`Extension Header Parameter "${a}" is missing`);if(s.get(a)&&n[a]===void 0)throw new t(`Extension Header Parameter "${a}" MUST be integrity protected`)}return new Set(n.crit)}var Ut,Dn=D(()=>{Z();o(AP,"validateCrit");Ut=AP});var OP,Ji,Od=D(()=>{OP=o((t,e)=>{if(e!==void 0&&(!Array.isArray(e)||e.some(r=>typeof r!="string")))throw new TypeError(`"${t}" option must be an array of strings`);if(e)return new Set(e)},"validateAlgorithms"),Ji=OP});async function Un(t,e,r){var n;if(!se(t))throw new H("Flattened JWE must be an object");if(t.protected===void 0&&t.header===void 0&&t.unprotected===void 0)throw new H("JOSE Header missing");if(typeof t.iv!="string")throw new H("JWE Initialization Vector missing or incorrect type");if(typeof t.ciphertext!="string")throw new H("JWE Ciphertext missing or incorrect type");if(typeof t.tag!="string")throw new H("JWE Authentication Tag missing or incorrect type");if(t.protected!==void 0&&typeof t.protected!="string")throw new H("JWE Protected Header incorrect type");if(t.encrypted_key!==void 0&&typeof t.encrypted_key!="string")throw new H("JWE Encrypted Key incorrect type");if(t.aad!==void 0&&typeof t.aad!="string")throw new H("JWE AAD incorrect type");if(t.header!==void 0&&!se(t.header))throw new H("JWE Shared Unprotected Header incorrect type");if(t.unprotected!==void 0&&!se(t.unprotected))throw new H("JWE Per-Recipient Unprotected Header incorrect type");let i;if(t.protected)try{let v=pe(t.protected);i=JSON.parse(ge.decode(v))}catch{throw new H("JWE Protected Header is invalid")}if(!Lt(i,t.header,t.unprotected))throw new H("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let s={...i,...t.header,...t.unprotected};if(Ut(H,new Map,r?.crit,i,s),s.zip!==void 0){if(!i||!i.zip)throw new H('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(s.zip!=="DEF")throw new J('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:a,enc:c}=s;if(typeof a!="string"||!a)throw new H("missing JWE Algorithm (alg) in JWE Header");if(typeof c!="string"||!c)throw new H("missing JWE Encryption Algorithm (enc) in JWE Header");let u=r&&Ji("keyManagementAlgorithms",r.keyManagementAlgorithms),l=r&&Ji("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(u&&!u.has(a))throw new mr('"alg" (Algorithm) Header Parameter not allowed');if(l&&!l.has(c))throw new mr('"enc" (Encryption Algorithm) Header Parameter not allowed');let d;t.encrypted_key!==void 0&&(d=pe(t.encrypted_key));let p=!1;typeof e=="function"&&(e=await e(i,t),p=!0);let f;try{f=await Vy(a,e,d,s,r)}catch(v){if(v instanceof TypeError||v instanceof H||v instanceof J)throw v;f=Dt(c)}let h=pe(t.iv),y=pe(t.tag),b=ae.encode((n=t.protected)!==null&&n!==void 0?n:""),I;t.aad!==void 0?I=Le(b,ae.encode("."),ae.encode(t.aad)):I=b;let A=await Fs(c,f,pe(t.ciphertext),h,y,I);s.zip==="DEF"&&(A=await(r?.inflateRaw||hy)(A));let g={plaintext:A};return t.protected!==void 0&&(g.protectedHeader=i),t.aad!==void 0&&(g.additionalAuthenticatedData=pe(t.aad)),t.unprotected!==void 0&&(g.sharedUnprotectedHeader=t.unprotected),t.header!==void 0&&(g.unprotectedHeader=t.header),p?{...g,key:e}:g}var Gs=D(()=>{De();yd();gd();Z();Cn();Qe();By();Pe();Vi();Dn();Od();o(Un,"flattenedDecrypt")});async function Ks(t,e,r){if(t instanceof Uint8Array&&(t=ge.decode(t)),typeof t!="string")throw new H("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:s,3:a,4:c,length:u}=t.split(".");if(u!==5)throw new H("Invalid Compact JWE");let l=await Un({ciphertext:a,iv:s||void 0,protected:n||void 0,tag:c||void 0,encrypted_key:i||void 0},e,r),d={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return typeof e=="function"?{...d,key:l.key}:d}var Rd=D(()=>{Gs();Z();Pe();o(Ks,"compactDecrypt")});async function Gy(t,e,r){if(!se(t))throw new H("General JWE must be an object");if(!Array.isArray(t.recipients)||!t.recipients.every(se))throw new H("JWE Recipients missing or incorrect type");if(!t.recipients.length)throw new H("JWE Recipients has no members");for(let n of t.recipients)try{return await Un({aad:t.aad,ciphertext:t.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:t.iv,protected:t.protected,tag:t.tag,unprotected:t.unprotected},e,r)}catch{}throw new Yt}var Ky=D(()=>{Gs();Z();Qe();o(Gy,"generalDecrypt")});var RP,Jy,zy=D(()=>{xe();Et();De();wt();RP=o(async t=>{if(t instanceof Uint8Array)return{kty:"oct",k:ce(t)};if(!me(t))throw new TypeError(fe(t,...oe,"Uint8Array"));if(!t.extractable)throw new TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:e,key_ops:r,alg:n,use:i,...s}=await G.subtle.exportKey("jwk",t);return s},"keyToJWK"),Jy=RP});async function Wy(t){return Cy(t)}async function Qy(t){return xy(t)}async function Js(t){return Jy(t)}var Nd=D(()=>{Bs();Bs();zy();o(Wy,"exportSPKI");o(Qy,"exportPKCS8");o(Js,"exportJWK")});async function NP(t,e,r,n,i={}){let s,a,c;switch(vr(t,r,"encrypt"),t){case"dir":{c=r;break}case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!js(r))throw new J("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 by(r)).privateKey);let{x:p,y:f,crv:h,kty:y}=await Js(d),b=await $s(r,d,t==="ECDH-ES"?e:t,t==="ECDH-ES"?ji(e):parseInt(t.slice(-5,-2),10),u,l);if(a={epk:{x:p,crv:h,kty:y}},y==="EC"&&(a.epk.y=f),u&&(a.apu=ce(u)),l&&(a.apv=ce(l)),t==="ECDH-ES"){c=b;break}c=n||Dt(e);let I=t.slice(-6);s=await qi(I,b,c);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{c=n||Dt(e),s=await Iy(t,r,c);break}case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{c=n||Dt(e);let{p2c:u,p2s:l}=i;({encryptedKey:s,...a}=await vy(t,r,c,u,l));break}case"A128KW":case"A192KW":case"A256KW":{c=n||Dt(e),s=await qi(t,r,c);break}case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{c=n||Dt(e);let{iv:u}=i;({encryptedKey:s,...a}=await $y(t,r,c,u));break}default:throw new J('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:c,encryptedKey:s,parameters:a}}var zs,Cd=D(()=>{qs();_d();wd();vd();De();Vi();Z();Nd();Gi();Ad();o(NP,"encryptKeyManagement");zs=NP});var xd,Xt,Ws=D(()=>{De();Pd();gd();Ms();Cd();Z();Cn();Pe();Dn();xd=Symbol(),Xt=class{static{o(this,"FlattenedEncrypt")}constructor(e){if(!(e instanceof Uint8Array))throw new TypeError("plaintext must be an instance of Uint8Array");this._plaintext=e}setKeyManagementParameters(e){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=e,this}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._sharedUnprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}setContentEncryptionKey(e){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=e,this}setInitializationVector(e){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=e,this}async encrypt(e,r){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new H("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!Lt(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new H("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(Ut(H,new Map,r?.crit,this._protectedHeader,n),n.zip!==void 0){if(!this._protectedHeader||!this._protectedHeader.zip)throw new H('JWE "zip" (Compression Algorithm) Header MUST be integrity protected');if(n.zip!=="DEF")throw new J('Unsupported JWE "zip" (Compression Algorithm) Header Parameter value')}let{alg:i,enc:s}=n;if(typeof i!="string"||!i)throw new H('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(typeof s!="string"||!s)throw new H('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 y;({cek:c,encryptedKey:a,parameters:y}=await zs(i,s,e,this._cek,this._keyManagementParameters)),y&&(r&&xd in r?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...y}:this.setUnprotectedHeader(y):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...y}:this.setProtectedHeader(y))}this._iv||(this._iv=Us(s));let u,l,d;this._protectedHeader?l=ae.encode(ce(JSON.stringify(this._protectedHeader))):l=ae.encode(""),this._aad?(d=ce(this._aad),u=Le(l,ae.encode("."),ae.encode(d))):u=l;let p,f;if(n.zip==="DEF"){let y=await(r?.deflateRaw||my)(this._plaintext);({ciphertext:p,tag:f}=await Ki(s,y,c,this._iv,u))}else({ciphertext:p,tag:f}=await Ki(s,this._plaintext,c,this._iv,u));let h={ciphertext:ce(p),iv:ce(this._iv),tag:ce(f)};return a&&(h.encrypted_key=ce(a)),d&&(h.aad=d),this._protectedHeader&&(h.protected=ge.decode(l)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}});var Ld,Qs,Zy=D(()=>{Ws();Z();Vi();Cn();Cd();De();Dn();Ld=class{static{o(this,"IndividualRecipient")}constructor(e,r,n){this.parent=e,this.key=r,this.options=n}setUnprotectedHeader(e){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=e,this}addRecipient(...e){return this.parent.addRecipient(...e)}encrypt(...e){return this.parent.encrypt(...e)}done(){return this.parent}},Qs=class{static{o(this,"GeneralEncrypt")}constructor(e){this._recipients=[],this._plaintext=e}addRecipient(e,r){let n=new Ld(this,e,{crit:r?.crit});return this._recipients.push(n),n}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setSharedUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}async encrypt(e){var r,n,i;if(!this._recipients.length)throw new H("at least one recipient must be added");if(e={deflateRaw:e?.deflateRaw},this._recipients.length===1){let[u]=this._recipients,l=await new Xt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(u.unprotectedHeader).encrypt(u.key,{...u.options,...e}),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(!Lt(this._protectedHeader,this._unprotectedHeader,l.unprotectedHeader))throw new H("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 H('JWE "alg" (Algorithm) Header Parameter missing or invalid');if(p==="dir"||p==="ECDH-ES")throw new H('"dir" and "ECDH-ES" alg may only be used with a single recipient');if(typeof d.enc!="string"||!d.enc)throw new H('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(!s)s=d.enc;else if(s!==d.enc)throw new H('JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients');if(Ut(H,new Map,l.options.crit,this._protectedHeader,d),d.zip!==void 0&&(!this._protectedHeader||!this._protectedHeader.zip))throw new H('JWE "zip" (Compression Algorithm) Header MUST be integrity protected')}let a=Dt(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 f={...this._protectedHeader,...this._unprotectedHeader,...l.unprotectedHeader}.alg.startsWith("PBES2")?2048+u:void 0;if(u===0){let b=await new Xt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(a).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(l.unprotectedHeader).setKeyManagementParameters({p2c:f}).encrypt(l.key,{...l.options,...e,[xd]:!0});c.ciphertext=b.ciphertext,c.iv=b.iv,c.tag=b.tag,b.aad&&(c.aad=b.aad),b.protected&&(c.protected=b.protected),b.unprotected&&(c.unprotected=b.unprotected),d.encrypted_key=b.encrypted_key,b.header&&(d.header=b.header);continue}let{encryptedKey:h,parameters:y}=await zs(((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:f});d.encrypted_key=ce(h),(l.unprotectedHeader||y)&&(d.header={...l.unprotectedHeader,...y})}return c}}});function zi(t,e){let r=`SHA-${t.slice(-3)}`;switch(t){case"HS256":case"HS384":case"HS512":return{hash:r,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:r,name:"RSA-PSS",saltLength:t.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:e.namedCurve};case"EdDSA":return{name:e.name};default:throw new J(`alg ${t} is not supported either by JOSE or your javascript runtime`)}}var Dd=D(()=>{Z();o(zi,"subtleDsa")});function Wi(t,e,r){if(me(e))return py(e,t,r),e;if(e instanceof Uint8Array){if(!t.startsWith("HS"))throw new TypeError(fe(e,...oe));return G.subtle.importKey("raw",e,{hash:`SHA-${t.slice(-3)}`,name:"HMAC"},!1,[r])}throw new TypeError(fe(e,...oe,"Uint8Array"))}var Ud=D(()=>{xe();_r();Et();wt();o(Wi,"getCryptoKey")});var CP,Yy,Xy=D(()=>{Dd();xe();Vs();Ud();CP=o(async(t,e,r,n)=>{let i=await Wi(t,e,"verify");en(t,i);let s=zi(t,i.algorithm);try{return await G.subtle.verify(s,i,r,n)}catch{return!1}},"verify"),Yy=CP});async function Mn(t,e,r){var n;if(!se(t))throw new ie("Flattened JWS must be an object");if(t.protected===void 0&&t.header===void 0)throw new ie('Flattened JWS must have either of the "protected" or "header" members');if(t.protected!==void 0&&typeof t.protected!="string")throw new ie("JWS Protected Header incorrect type");if(t.payload===void 0)throw new ie("JWS Payload missing");if(typeof t.signature!="string")throw new ie("JWS Signature missing or incorrect type");if(t.header!==void 0&&!se(t.header))throw new ie("JWS Unprotected Header incorrect type");let i={};if(t.protected)try{let I=pe(t.protected);i=JSON.parse(ge.decode(I))}catch{throw new ie("JWS Protected Header is invalid")}if(!Lt(i,t.header))throw new ie("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let s={...i,...t.header},a=Ut(ie,new Map([["b64",!0]]),r?.crit,i,s),c=!0;if(a.has("b64")&&(c=i.b64,typeof c!="boolean"))throw new ie('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:u}=s;if(typeof u!="string"||!u)throw new ie('JWS "alg" (Algorithm) Header Parameter missing or invalid');let l=r&&Ji("algorithms",r.algorithms);if(l&&!l.has(u))throw new mr('"alg" (Algorithm) Header Parameter not allowed');if(c){if(typeof t.payload!="string")throw new ie("JWS Payload must be a string")}else if(typeof t.payload!="string"&&!(t.payload instanceof Uint8Array))throw new ie("JWS Payload must be a string or an Uint8Array instance");let d=!1;typeof e=="function"&&(e=await e(i,t),d=!0),vr(u,e,"verify");let p=Le(ae.encode((n=t.protected)!==null&&n!==void 0?n:""),ae.encode("."),typeof t.payload=="string"?ae.encode(t.payload):t.payload),f=pe(t.signature);if(!await Yy(u,e,f,p))throw new Xr;let y;c?y=pe(t.payload):typeof t.payload=="string"?y=ae.encode(t.payload):y=t.payload;let b={payload:y};return t.protected!==void 0&&(b.protectedHeader=i),t.header!==void 0&&(b.unprotectedHeader=t.header),d?{...b,key:e}:b}var Zs=D(()=>{De();Xy();Z();Pe();Cn();Qe();Gi();Dn();Od();o(Mn,"flattenedVerify")});async function Ys(t,e,r){if(t instanceof Uint8Array&&(t=ge.decode(t)),typeof t!="string")throw new ie("Compact JWS must be a string or Uint8Array");let{0:n,1:i,2:s,length:a}=t.split(".");if(a!==3)throw new ie("Invalid Compact JWS");let c=await Mn({payload:i,protected:n,signature:s},e,r),u={payload:c.payload,protectedHeader:c.protectedHeader};return typeof e=="function"?{...u,key:c.key}:u}var Md=D(()=>{Zs();Z();Pe();o(Ys,"compactVerify")});async function eg(t,e,r){if(!se(t))throw new ie("General JWS must be an object");if(!Array.isArray(t.signatures)||!t.signatures.every(se))throw new ie("JWS Signatures missing or incorrect type");for(let n of t.signatures)try{return await Mn({header:n.header,payload:t.payload,protected:n.protected,signature:n.signature},e,r)}catch{}throw new Xr}var tg=D(()=>{Zs();Z();Qe();o(eg,"generalVerify")});var kn,kd=D(()=>{kn=o(t=>Math.floor(t.getTime()/1e3),"default")});var xP,Hn,Hd=D(()=>{xP=/^(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)$/i,Hn=o(t=>{let e=xP.exec(t);if(!e)throw new TypeError("Invalid time period format");let r=parseFloat(e[1]);switch(e[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 rg,LP,Fn,Xs=D(()=>{Z();Pe();kd();Hd();Qe();rg=o(t=>t.toLowerCase().replace(/^application\//,""),"normalizeTyp"),LP=o((t,e)=>typeof t=="string"?e.includes(t):Array.isArray(t)?e.some(Set.prototype.has.bind(new Set(t))):!1,"checkAudiencePresence"),Fn=o((t,e,r={})=>{let{typ:n}=r;if(n&&(typeof t.typ!="string"||rg(t.typ)!==rg(n)))throw new Re('unexpected "typ" JWT header value',"typ","check_failed");let i;try{i=JSON.parse(ge.decode(e))}catch{}if(!se(i))throw new Ee("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 Re(`missing required "${h}" claim`,h,"missing");if(a&&!(Array.isArray(a)?a:[a]).includes(i.iss))throw new Re('unexpected "iss" claim value',"iss","check_failed");if(c&&i.sub!==c)throw new Re('unexpected "sub" claim value',"sub","check_failed");if(u&&!LP(i.aud,typeof u=="string"?[u]:u))throw new Re('unexpected "aud" claim value',"aud","check_failed");let d;switch(typeof r.clockTolerance){case"string":d=Hn(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,f=kn(p||new Date);if((i.iat!==void 0||l)&&typeof i.iat!="number")throw new Re('"iat" claim must be a number',"iat","invalid");if(i.nbf!==void 0){if(typeof i.nbf!="number")throw new Re('"nbf" claim must be a number',"nbf","invalid");if(i.nbf>f+d)throw new Re('"nbf" claim timestamp check failed',"nbf","check_failed")}if(i.exp!==void 0){if(typeof i.exp!="number")throw new Re('"exp" claim must be a number',"exp","invalid");if(i.exp<=f-d)throw new Rn('"exp" claim timestamp check failed',"exp","check_failed")}if(l){let h=f-i.iat,y=typeof l=="number"?l:Hn(l);if(h-d>y)throw new Rn('"iat" claim timestamp check failed (too far in the past)',"iat","check_failed");if(h<0-d)throw new Re('"iat" claim timestamp check failed (it should be in the past)',"iat","check_failed")}return i},"default")});async function ng(t,e,r){var n;let i=await Ys(t,e,r);if(!((n=i.protectedHeader.crit)===null||n===void 0)&&n.includes("b64")&&i.protectedHeader.b64===!1)throw new Ee("JWTs MUST NOT use unencoded payload");let a={payload:Fn(i.protectedHeader,i.payload,r),protectedHeader:i.protectedHeader};return typeof e=="function"?{...a,key:i.key}:a}var ig=D(()=>{Md();Xs();Z();o(ng,"jwtVerify")});async function og(t,e,r){let n=await Ks(t,e,r),i=Fn(n.protectedHeader,n.plaintext,r),{protectedHeader:s}=n;if(s.iss!==void 0&&s.iss!==i.iss)throw new Re('replicated "iss" claim header parameter mismatch',"iss","mismatch");if(s.sub!==void 0&&s.sub!==i.sub)throw new Re('replicated "sub" claim header parameter mismatch',"sub","mismatch");if(s.aud!==void 0&&JSON.stringify(s.aud)!==JSON.stringify(i.aud))throw new Re('replicated "aud" claim header parameter mismatch',"aud","mismatch");let a={payload:i,protectedHeader:s};return typeof e=="function"?{...a,key:n.key}:a}var sg=D(()=>{Rd();Xs();Z();o(og,"jwtDecrypt")});var qn,Fd=D(()=>{Ws();qn=class{static{o(this,"CompactEncrypt")}constructor(e){this._flattened=new Xt(e)}setContentEncryptionKey(e){return this._flattened.setContentEncryptionKey(e),this}setInitializationVector(e){return this._flattened.setInitializationVector(e),this}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}setKeyManagementParameters(e){return this._flattened.setKeyManagementParameters(e),this}async encrypt(e,r){let n=await this._flattened.encrypt(e,r);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(".")}}});var DP,ag,cg=D(()=>{Dd();xe();Vs();Ud();DP=o(async(t,e,r)=>{let n=await Wi(t,e,"sign");en(t,n);let i=await G.subtle.sign(zi(t,n.algorithm),n,r);return new Uint8Array(i)},"sign"),ag=DP});var Tr,ea=D(()=>{De();cg();Cn();Z();Pe();Gi();Dn();Tr=class{static{o(this,"FlattenedSign")}constructor(e){if(!(e instanceof Uint8Array))throw new TypeError("payload must be an instance of Uint8Array");this._payload=e}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}async sign(e,r){if(!this._protectedHeader&&!this._unprotectedHeader)throw new ie("either setProtectedHeader or setUnprotectedHeader must be called before #sign()");if(!Lt(this._protectedHeader,this._unprotectedHeader))throw new ie("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let n={...this._protectedHeader,...this._unprotectedHeader},i=Ut(ie,new Map([["b64",!0]]),r?.crit,this._protectedHeader,n),s=!0;if(i.has("b64")&&(s=this._protectedHeader.b64,typeof s!="boolean"))throw new ie('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:a}=n;if(typeof a!="string"||!a)throw new ie('JWS "alg" (Algorithm) Header Parameter missing or invalid');vr(a,e,"sign");let c=this._payload;s&&(c=ae.encode(ce(c)));let u;this._protectedHeader?u=ae.encode(ce(JSON.stringify(this._protectedHeader))):u=ae.encode("");let l=Le(u,ae.encode("."),c),d=await ag(a,e,l),p={signature:ce(d),payload:""};return s&&(p.payload=ge.decode(c)),this._unprotectedHeader&&(p.header=this._unprotectedHeader),this._protectedHeader&&(p.protected=ge.decode(u)),p}}});var $n,qd=D(()=>{ea();$n=class{static{o(this,"CompactSign")}constructor(e){this._flattened=new Tr(e)}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}async sign(e,r){let n=await this._flattened.sign(e,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 $d,ta,ug=D(()=>{ea();Z();$d=class{static{o(this,"IndividualSignature")}constructor(e,r,n){this.parent=e,this.key=r,this.options=n}setProtectedHeader(e){if(this.protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this.protectedHeader=e,this}setUnprotectedHeader(e){if(this.unprotectedHeader)throw new TypeError("setUnprotectedHeader can only be called once");return this.unprotectedHeader=e,this}addSignature(...e){return this.parent.addSignature(...e)}sign(...e){return this.parent.sign(...e)}done(){return this.parent}},ta=class{static{o(this,"GeneralSign")}constructor(e){this._signatures=[],this._payload=e}addSignature(e,r){let n=new $d(this,e,r);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new ie("at least one signature must be added");let e={signatures:[],payload:""};for(let r=0;r<this._signatures.length;r++){let n=this._signatures[r],i=new Tr(this._payload);i.setProtectedHeader(n.protectedHeader),i.setUnprotectedHeader(n.unprotectedHeader);let{payload:s,...a}=await i.sign(n.key,n.options);if(r===0)e.payload=s;else if(e.payload!==s)throw new ie("inconsistent use of JWS Unencoded Payload (RFC7797)");e.signatures.push(a)}return e}}});var Sr,ra=D(()=>{kd();Qe();Hd();Sr=class{static{o(this,"ProduceJWT")}constructor(e){if(!se(e))throw new TypeError("JWT Claims Set MUST be an object");this._payload=e}setIssuer(e){return this._payload={...this._payload,iss:e},this}setSubject(e){return this._payload={...this._payload,sub:e},this}setAudience(e){return this._payload={...this._payload,aud:e},this}setJti(e){return this._payload={...this._payload,jti:e},this}setNotBefore(e){return typeof e=="number"?this._payload={...this._payload,nbf:e}:this._payload={...this._payload,nbf:kn(new Date)+Hn(e)},this}setExpirationTime(e){return typeof e=="number"?this._payload={...this._payload,exp:e}:this._payload={...this._payload,exp:kn(new Date)+Hn(e)},this}setIssuedAt(e){return typeof e>"u"?this._payload={...this._payload,iat:kn(new Date)}:this._payload={...this._payload,iat:e},this}}});var na,lg=D(()=>{qd();Z();Pe();ra();na=class extends Sr{static{o(this,"SignJWT")}setProtectedHeader(e){return this._protectedHeader=e,this}async sign(e,r){var n;let i=new $n(ae.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 Ee("JWTs MUST NOT use unencoded payload");return i.sign(e,r)}}});var ia,dg=D(()=>{Fd();Pe();ra();ia=class extends Sr{static{o(this,"EncryptJWT")}setProtectedHeader(e){if(this._protectedHeader)throw new TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setKeyManagementParameters(e){if(this._keyManagementParameters)throw new TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=e,this}setContentEncryptionKey(e){if(this._cek)throw new TypeError("setContentEncryptionKey can only be called once");return this._cek=e,this}setInitializationVector(e){if(this._iv)throw new TypeError("setInitializationVector can only be called once");return this._iv=e,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(e,r){let n=new qn(ae.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(e,r)}}});async function jd(t,e){if(!se(t))throw new TypeError("JWK must be an object");if(e??(e="sha256"),e!=="sha256"&&e!=="sha384"&&e!=="sha512")throw new TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');let r;switch(t.kty){case"EC":Ir(t.crv,'"crv" (Curve) Parameter'),Ir(t.x,'"x" (X Coordinate) Parameter'),Ir(t.y,'"y" (Y Coordinate) Parameter'),r={crv:t.crv,kty:t.kty,x:t.x,y:t.y};break;case"OKP":Ir(t.crv,'"crv" (Subtype of Key Pair) Parameter'),Ir(t.x,'"x" (Public Key) Parameter'),r={crv:t.crv,kty:t.kty,x:t.x};break;case"RSA":Ir(t.e,'"e" (Exponent) Parameter'),Ir(t.n,'"n" (Modulus) Parameter'),r={e:t.e,kty:t.kty,n:t.n};break;case"oct":Ir(t.k,'"k" (Key Value) Parameter'),r={k:t.k,kty:t.kty};break;default:throw new J('"kty" (Key Type) Parameter missing or unsupported')}let n=ae.encode(JSON.stringify(r));return ce(await Rs(e,n))}async function pg(t,e){e??(e="sha256");let r=await jd(t,e);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${e.slice(-3)}:${r}`}var Ir,fg=D(()=>{ad();De();Z();Pe();Qe();Ir=o((t,e)=>{if(typeof t!="string"||!t)throw new Mi(`${e} missing or invalid`)},"check");o(jd,"calculateJwkThumbprint");o(pg,"calculateJwkThumbprintUri")});async function hg(t,e){let r={...t,...e?.header};if(!se(r.jwk))throw new ie('"jwk" (JSON Web Key) Header Parameter must be a JSON object');let n=await wr({...r.jwk,ext:!0},r.alg,!0);if(n instanceof Uint8Array||n.type!=="public")throw new ie('"jwk" (JSON Web Key) Header Parameter must be a public key');return n}var mg=D(()=>{Bi();Qe();Z();o(hg,"EmbeddedJWK")});function UP(t){switch(typeof t=="string"&&t.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new J('Unsupported "alg" value for a JSON Web Key Set')}}function Vd(t){return t&&typeof t=="object"&&Array.isArray(t.keys)&&t.keys.every(MP)}function MP(t){return se(t)}function kP(t){return typeof structuredClone=="function"?structuredClone(t):JSON.parse(JSON.stringify(t))}async function yg(t,e,r){let n=t.get(e)||t.set(e,{}).get(e);if(n[r]===void 0){let i=await wr({...e,ext:!0},r);if(i instanceof Uint8Array||i.type!=="public")throw new yr("JSON Web Key Set members must be public keys");n[r]=i}return n[r]}function gg(t){let e=new Qi(t);return async function(r,n){return e.getKey(r,n)}}var Qi,Bd=D(()=>{Bi();Z();Qe();o(UP,"getKtyFromAlg");o(Vd,"isJWKSLike");o(MP,"isJWKLike");o(kP,"clone");Qi=class{static{o(this,"LocalJWKSet")}constructor(e){if(this._cached=new WeakMap,!Vd(e))throw new yr("JSON Web Key Set malformed");this._jwks=kP(e)}async getKey(e,r){let{alg:n,kid:i}={...e,...r?.header},s=UP(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 Yr;if(u!==1){let l=new ki,{_cached:d}=this;throw l[Symbol.asyncIterator]=async function*(){for(let p of a)try{yield await yg(d,p,n)}catch{continue}},l}return yg(this._cached,c,n)}};o(yg,"importWithAlgCache");o(gg,"createLocalJWKSet")});var HP,bg,_g=D(()=>{Z();HP=o(async(t,e,r)=>{let n,i,s=!1;typeof AbortController=="function"&&(n=new AbortController,i=setTimeout(()=>{s=!0,n.abort()},e));let a=await fetch(t.href,{signal:n?n.signal:void 0,redirect:"manual",headers:r.headers}).catch(c=>{throw s?new Hi:c});if(i!==void 0&&clearTimeout(i),a.status!==200)throw new Te("Expected 200 OK from the JSON Web Key Set HTTP response");try{return await a.json()}catch{throw new Te("Failed to parse the JSON Web Key Set HTTP response as JSON")}},"fetchJwks"),bg=HP});function FP(){return typeof WebSocketPair<"u"||typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers"||typeof EdgeRuntime<"u"&&EdgeRuntime==="vercel"}function Eg(t,e){let r=new Gd(t,e);return async function(n,i){return r.getKey(n,i)}}var Gd,wg=D(()=>{_g();Z();Bd();o(FP,"isCloudflareWorkers");Gd=class extends Qi{static{o(this,"RemoteJWKSet")}constructor(e,r){if(super({keys:[]}),this._jwks=void 0,!(e instanceof URL))throw new TypeError("url must be an instance of URL");this._url=new URL(e.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(e,r){(!this._jwks||!this.fresh())&&await this.reload();try{return await super.getKey(e,r)}catch(n){if(n instanceof Yr&&this.coolingDown()===!1)return await this.reload(),super.getKey(e,r);throw n}}async reload(){this._pendingFetch&&FP()&&(this._pendingFetch=void 0),this._pendingFetch||(this._pendingFetch=bg(this._url,this._timeoutDuration,this._options).then(e=>{if(!Vd(e))throw new yr("JSON Web Key Set malformed");this._jwks={keys:e.keys},this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(e=>{throw this._pendingFetch=void 0,e})),await this._pendingFetch}};o(Eg,"createRemoteJWKSet")});var oa,vg=D(()=>{De();Pe();Z();Xs();ra();oa=class extends Sr{static{o(this,"UnsecuredJWT")}encode(){let e=ce(JSON.stringify({alg:"none"})),r=ce(JSON.stringify(this._payload));return`${e}.${r}.`}static decode(e,r){if(typeof e!="string")throw new Ee("Unsecured JWT must be a string");let{0:n,1:i,2:s,length:a}=e.split(".");if(a!==3||s!=="")throw new Ee("Invalid Unsecured JWT");let c;try{if(c=JSON.parse(ge.decode(pe(n))),c.alg!=="none")throw new Error}catch{throw new Ee("Invalid Unsecured JWT")}return{payload:Fn(c,pe(i),r),header:c}}}});var Kd={};ko(Kd,{decode:()=>Zi,encode:()=>qP});var qP,Zi,sa=D(()=>{De();qP=ce,Zi=pe});function Tg(t){let e;if(typeof t=="string"){let r=t.split(".");(r.length===3||r.length===5)&&([e]=r)}else if(typeof t=="object"&&t)if("protected"in t)e=t.protected;else throw new TypeError("Token does not contain a Protected Header");try{if(typeof e!="string"||!e)throw new Error;let r=JSON.parse(ge.decode(Zi(e)));if(!se(r))throw new Error;return r}catch{throw new TypeError("Invalid Token or Protected Header formatting")}}var Sg=D(()=>{sa();Pe();Qe();o(Tg,"decodeProtectedHeader")});function Ig(t){if(typeof t!="string")throw new Ee("JWTs must use Compact JWS serialization, JWT must be a string");let{1:e,length:r}=t.split(".");if(r===5)throw new Ee("Only JWTs using Compact JWS serialization can be decoded");if(r!==3)throw new Ee("Invalid JWT");if(!e)throw new Ee("JWTs must contain a payload");let n;try{n=Zi(e)}catch{throw new Ee("Failed to parse the base64url encoded payload")}let i;try{i=JSON.parse(ge.decode(n))}catch{throw new Ee("Failed to parse the decoded payload as JSON")}if(!se(i))throw new Ee("Invalid JWT Claims Set");return i}var Pg=D(()=>{sa();Pe();Qe();Z();o(Ig,"decodeJwt")});async function Ag(t,e){var r;let n,i,s;switch(t){case"HS256":case"HS384":case"HS512":n=parseInt(t.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(t.slice(-3),10),gr(new Uint8Array(n>>3));case"A128KW":case"A192KW":case"A256KW":n=parseInt(t.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(t.slice(1,4),10),i={name:"AES-GCM",length:n},s=["encrypt","decrypt"];break;default:throw new J('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return G.subtle.generateKey(i,(r=e?.extractable)!==null&&r!==void 0?r:!1,s)}function Jd(t){var e;let r=(e=t?.modulusLength)!==null&&e!==void 0?e:2048;if(typeof r!="number"||r<2048)throw new J("Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used");return r}async function Og(t,e){var r,n,i;let s,a;switch(t){case"PS256":case"PS384":case"PS512":s={name:"RSA-PSS",hash:`SHA-${t.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Jd(e)},a=["sign","verify"];break;case"RS256":case"RS384":case"RS512":s={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${t.slice(-3)}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Jd(e)},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(t.slice(-3),10)||1}`,publicExponent:new Uint8Array([1,0,1]),modulusLength:Jd(e)},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=e?.crv)!==null&&r!==void 0?r:"Ed25519";switch(c){case"Ed25519":case"Ed448":s={name:c};break;default:throw new J("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=e?.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 J("Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448")}break}default:throw new J('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}return G.subtle.generateKey(s,(i=e?.extractable)!==null&&i!==void 0?i:!1,a)}var zd=D(()=>{xe();Z();Fi();o(Ag,"generateSecret");o(Jd,"getModulusLengthOption");o(Og,"generateKeyPair")});async function Rg(t,e){return Og(t,e)}var Ng=D(()=>{zd();o(Rg,"generateKeyPair")});async function Cg(t,e){return Ag(t,e)}var xg=D(()=>{zd();o(Cg,"generateSecret")});var aa={};ko(aa,{CompactEncrypt:()=>qn,CompactSign:()=>$n,EmbeddedJWK:()=>hg,EncryptJWT:()=>ia,FlattenedEncrypt:()=>Xt,FlattenedSign:()=>Tr,GeneralEncrypt:()=>Qs,GeneralSign:()=>ta,SignJWT:()=>na,UnsecuredJWT:()=>oa,base64url:()=>Kd,calculateJwkThumbprint:()=>jd,calculateJwkThumbprintUri:()=>pg,compactDecrypt:()=>Ks,compactVerify:()=>Ys,createLocalJWKSet:()=>gg,createRemoteJWKSet:()=>Eg,decodeJwt:()=>Ig,decodeProtectedHeader:()=>Tg,errors:()=>ld,exportJWK:()=>Js,exportPKCS8:()=>Qy,exportSPKI:()=>Wy,flattenedDecrypt:()=>Un,flattenedVerify:()=>Mn,generalDecrypt:()=>Gy,generalVerify:()=>eg,generateKeyPair:()=>Rg,generateSecret:()=>Cg,importJWK:()=>wr,importPKCS8:()=>qy,importSPKI:()=>Hy,importX509:()=>Fy,jwtDecrypt:()=>og,jwtVerify:()=>ng});var ca=D(()=>{Rd();Gs();Ky();Zy();Md();Zs();tg();ig();sg();Fd();Ws();qd();ea();ug();lg();dg();fg();mg();Bd();wg();vg();Nd();Bi();Sg();Pg();Z();Ng();xg();sa()});var jn=_(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.fetchRetry=void 0;var $P=k();async function jP(t,e,r){for(let n=0;n<=t.retries;n++){let i=fetch(e,r);if(n===t.retries)return i;let s=await i;if(s.status<500&&s.status!==429)return s;t?.logger?.error("Request failed, retrying",{method:typeof e=="string"?"GET":e.method,url:typeof e=="string"?e:e.url,status:s.status}),await new Promise(a=>setTimeout(a,t.retryDelayMs*Math.pow(2,n)))}throw new $P.ConfigurationError("An unknown error occurred, ensure retries is not negative")}o(jP,"fetchRetry");ua.fetchRetry=jP});var Vn=_(ut=>{"use strict";Object.defineProperty(ut,"__esModule",{value:!0});ut.GcpServiceAccount=ut.fetchToken=ut.exchangeGgpJwtForIdToken=ut.exchangeFirebaseJwtForIdToken=ut.getTokenFromGcpServiceAccount=void 0;var Lg=(ca(),Ho(aa)),VP=k(),BP=jn();async function GP({serviceAccount:t,audience:e,expirationTime:r="1h",payload:n={}}){let{clientEmail:i,privateKeyId:s,privateKey:a}=t;return await new Lg.SignJWT(n).setProtectedHeader({alg:"RS256",kid:s}).setIssuer(i).setSubject(i).setAudience(e).setIssuedAt().setExpirationTime(r).sign(a)}o(GP,"getTokenFromGcpServiceAccount");ut.getTokenFromGcpServiceAccount=GP;async function KP(t,e,r){return Qd(t,{token:e,returnSecureToken:!0},r)}o(KP,"exchangeFirebaseJwtForIdToken");ut.exchangeFirebaseJwtForIdToken=KP;async function JP(t,e,r){return Qd(t,{grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:e},r)}o(JP,"exchangeGgpJwtForIdToken");ut.exchangeGgpJwtForIdToken=JP;async function Qd(t,e,r){let n=await(0,BP.fetchRetry)(r,t,{method:"POST",headers:{"Content-Type":"application/json"},redirect:"follow",body:JSON.stringify(e)});if(n.status!==200){let s;try{let a=await n.text(),c=JSON.parse(a);s={cause:c.error??c}}catch{}throw new VP.RuntimeError({message:"Could not get token from Google Identity",extensionMembers:s})}return await n.json()}o(Qd,"fetchToken");ut.fetchToken=Qd;var Wd=class t{static{o(this,"GcpServiceAccount")}#e;#t;constructor({serviceAccount:e,privateKey:r}){this.#t=e,this.#e=r}static async init(e){let r=JSON.parse(e),n=await(0,Lg.importPKCS8)(r.private_key.trim(),"RS256");return new t({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}};ut.GcpServiceAccount=Wd});var da=_(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.GoogleLogTransport=er.ZuploToGCPMap=er.GoogleCloudLoggingPlugin=void 0;var zP=k(),WP=Oe(),Zd=X(),Yd=Vn(),QP=Zt(),Dg=xt(),Xd=class extends QP.LogPlugin{static{o(this,"GoogleCloudLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new la(this.options)}};er.GoogleCloudLoggingPlugin=Xd;var ZP="https://logging.googleapis.com/v2/entries:write?alt=json";er.ZuploToGCPMap={error:"ERROR",warn:"WARNING",info:"INFO",debug:"DEBUG"};var la=class{static{o(this,"GoogleLogTransport")}constructor(e){this.#r=e.logName,this.#e=e.serviceAccountJson,this.#i=Zd.Environment.instance.loggingEnvironmentType,this.#o=Zd.Environment.instance.loggingEnvironmentStage,this.#n=Zd.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;async init(){this.#t=await Yd.GcpServiceAccount.init(this.#e)}log(e,r){if(!this.#t)throw new zP.SystemError("Invalid state - Google log transport is not initialized");if(e.messages.length===0)return;let n={allMessages:(0,Dg.makeErrorsSerializable)(e.messages)},i=this.#t.projectId??"zuplo-production",s={logName:this.#r,resource:{type:"global"},severity:er.ZuploToGCPMap[e.level],timestamp:e.timestamp,trace:`projects/${i}/traces/${e.requestId}`,labels:{requestId:e.requestId,buildId:e.buildId,source:e.logSource,loggingId:e.loggingId,logOwner:e.logOwner,environment:this.#n,environmentType:this.#i,environmentStage:this.#o}};e.rayId&&(s.labels.rayId=e.rayId);let a=(0,Dg.extractBestMessage)(n.allMessages);s.jsonPayload={...n,message:a},this.batcher.enqueue(s),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async e=>{if(e.length===0)return;this.#t||(this.#t=await Yd.GcpServiceAccount.init(this.#e));let r=await(0,Yd.getTokenFromGcpServiceAccount)({serviceAccount:this.#t,audience:"https://logging.googleapis.com/google.logging.v2.LoggingServiceV2"}),n=await fetch(ZP,{method:"POST",body:JSON.stringify({entries:e}),headers:{Authorization:`Bearer ${r}`,"content-type":"application/json;charset=UTF-8"}});n.ok||console.error(n.status,n.statusText,await n.text())};batcher=new WP.BatchDispatch("google-log-transport",1,this.dispatchFunction)};er.GoogleLogTransport=la});var ep=_(Bn=>{"use strict";Object.defineProperty(Bn,"__esModule",{value:!0});Bn.gcpLogFormat=Bn.GCP_LOG_FORMAT=void 0;var Ug=xt(),YP=da();Bn.GCP_LOG_FORMAT="gcp";function XP(t){let e={allMessages:(0,Ug.makeErrorsSerializable)(t.messages)},r="zuplo-production",n=(0,Ug.extractBestMessage)(e.allMessages),i={logName:`projects/${r}/logs/runtime-user`,message:n,severity:YP.ZuploToGCPMap[t.level],timestamp:t.timestamp,"logging.googleapis.com/labels":{buildId:t.buildId,source:t.logSource,loggingId:t.loggingId,logOwner:t.logOwner},"logging.googleapis.com/trace":`projects/${r}/traces/${t.requestId}`,allMessages:e.allMessages};return t.rayId&&(i["logging.googleapis.com/labels"].rayId=t.rayId),i}o(XP,"gcpLogFormat");Bn.gcpLogFormat=XP});var kg=_(pa=>{"use strict";Object.defineProperty(pa,"__esModule",{value:!0});pa.ConsoleTransport=void 0;var Mg=ep(),tp=class{static{o(this,"ConsoleTransport")}constructor(e,r){this.#e=e??console,this.#t=r}#e;#t;log(e){if(this.#t===Mg.GCP_LOG_FORMAT){if(e.messages.length===0)return;this.#e[e.level].apply(null,[(0,Mg.gcpLogFormat)(e)])}else this.#e[e.level].apply(null,[...e.messages,{logOwner:e.logOwner,logSource:e.logSource,level:e.level,timestamp:e.timestamp,loggingId:e.loggingId,rayId:e.rayId,requestId:e.requestId,buildId:e.buildId}])}};pa.ConsoleTransport=tp});var ap=_(Gn=>{"use strict";Object.defineProperty(Gn,"__esModule",{value:!0});Gn.DataDogTransport=Gn.DataDogLoggingPlugin=void 0;var eA=Oe(),rp=X(),tA=Zt(),Hg=xt(),sp=class extends tA.LogPlugin{static{o(this,"DataDogLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new fa(this.options)}};Gn.DataDogLoggingPlugin=sp;var np="__ddtags",ip="__ddattr",op=o(t=>t.replaceAll(",","_").replaceAll(":","_"),"cleanTagText"),rA=o(t=>{let e=Object.keys(t),r=[];return e.forEach(n=>{let i=t[n];i==null?r.push(op(n)):r.push(`${op(n)}:${op(i.toString())}`)}),r.join(",")},"formatTags"),fa=class{static{o(this,"DataDogTransport")}constructor(e){this.#e=e.apiKey,this.#t=e.url??"https://http-intake.logs.datadoghq.com/api/v2/logs",this.#n=rp.Environment.instance.loggingEnvironmentType,this.#i=rp.Environment.instance.loggingEnvironmentStage,this.#r=rp.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(e,r){let n={},i=r.custom[np];i&&typeof i=="object"&&Object.assign(n,i);let s=[...e.messages],a=e.messages.findIndex(h=>h[np]!==void 0);a>-1&&(Object.assign(n,s[a][np]),s.splice(a,1));let c={},u=r.custom[ip];u&&typeof u=="object"&&Object.assign(c,u);let l=e.messages.findIndex(h=>h[ip]!==void 0);l>-1&&(Object.assign(c,s[l][ip]),s.splice(l,1));let d=(0,Hg.makeErrorsSerializable)(s),f={message:{...{...e,activityId:e.requestId,trace:e.requestId},messages:d},ddsource:"Zuplo",hostname:new URL(r.originalRequest.url).hostname,msg:(0,Hg.extractBestMessage)(d),service:e.loggingId,ddtags:rA(n),environment:this.#r,environment_type:this.#n,environment_stage:this.#i};Object.assign(f,c),this.batcher.enqueue(f),r.waitUntil(this.batcher.waitUntilFlushed())}dispatchFunction=async e=>{e.length!==0&&await fetch(this.#t,{method:"POST",body:JSON.stringify([...e]),headers:{"content-type":"application/json","DD-API-KEY":this.#e}})};batcher=new eA.BatchDispatch("data-dog-transport",10,this.dispatchFunction)};Gn.DataDogTransport=fa});var qg=_(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.ProcessTransport=void 0;var Fg=ep(),cp=class{static{o(this,"ProcessTransport")}constructor(e,r){this.#e=e,this.#t=r}#e;#t;log(e){if(this.#t===Fg.GCP_LOG_FORMAT){if(e.messages.length===0)return;this.#e[e.level].apply(null,[(0,Fg.gcpLogFormat)(e)])}else this.#e[e.level].apply(null,[...e.messages,{logOwner:e.logOwner,logSource:e.logSource,timestamp:e.timestamp,loggingId:e.loggingId,rayId:e.rayId,requestId:e.requestId,buildId:e.buildId,vectorClock:e.vectorClock}])}};ha.ProcessTransport=cp});var jg=_(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.RemoteLogTransport=void 0;var nA=Oe(),$g=X(),iA=xt(),oA=o(({url:t,remoteLogToken:e,loggingId:r,sendOnlyErrors:n})=>async i=>{let s;if(n===!0?s=i.filter(a=>a.level==="error"):s=i,s.length!==0)try{await fetch(`${t}/publish/${r}`,{method:"POST",body:JSON.stringify({timestamp:Date.now(),type:"log",message:s.map(a=>({...a,messages:(0,iA.makeErrorsSerializable)(a.messages)}))}),headers:{"content-type":"application/json",authentication:`Bearer ${e}`,"user-agent":$g.Environment.instance.systemUserAgent,"zp-dn":$g.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),ma,up=class{static{o(this,"RemoteLogTransport")}constructor(e){ma||(ma=new nA.BatchDispatch("remote-log-transport",1,oA(e)))}log(e,r){ma.enqueue(e),r.waitUntil(ma.waitUntilFlushed())}};ya.RemoteLogTransport=up});var Vg=_(tn=>{"use strict";Object.defineProperty(tn,"__esModule",{value:!0});tn.unifiedFormatter=tn.SeverityNumberOpenTelemetryMap=void 0;tn.SeverityNumberOpenTelemetryMap={internal:1,trace:2,debug:5,info:9,warn:13,error:17,fatal:21};var sA=o((t,e)=>r=>{let n={};return n.deploymentName=t,n.labels={requestId:r.requestId,source:r.logSource,loggingId:r.loggingId,logOwner:r.logOwner},n.rayId=r.rayId??"",n.runtime={buildId:e.BUILD_ID,buildTimestamp:e.TIMESTAMP,gitSHA:e.GIT_SHA,version:e.ZUPLO_VERSION},n.atomicCounter=r.vectorClock,{timestamp:r.timestamp,observerdTimestamp:r.timestamp,traceId:r.requestId,severityText:r.level,severityNumber:tn.SeverityNumberOpenTelemetryMap[r.level],body:r.messages,attributes:n}},"unifiedFormatter");tn.unifiedFormatter=sA});var Gg=_(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.UnifiedLogTransport=void 0;var aA=Oe(),Bg=X(),cA=Vg(),uA=o(({url:t,remoteLogToken:e,deploymentName:r,build:n})=>async i=>{if(i.length===0)return;let s=(0,cA.unifiedFormatter)(r,n);try{await fetch(`${t}/v1/runtime-logs`,{method:"POST",body:JSON.stringify({entries:i.map(s)}),headers:{"content-type":"application/json",authentication:`Bearer ${e}`,"user-agent":Bg.Environment.instance.systemUserAgent,"zp-dn":Bg.Environment.instance.deploymentName??"unknown"}})}catch(a){console.error(a)}},"dispatchFunction"),ga,lp=class{static{o(this,"UnifiedLogTransport")}constructor(e){ga||(ga=new aA.BatchDispatch("unified-log-transport",1,uA(e)))}async log(e,r){ga.enqueue(e),r.waitUntil(ga.waitUntilFlushed())}};ba.UnifiedLogTransport=lp});var Yg=_(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.LogInitializer=void 0;var lA=cr(),dA=Nt(),Kg=Ql(),Jg=X(),zg=Qm(),pA=Zt(),fA=Zm(),Wg=Ym(),Qg=kg(),hA=ap(),mA=da(),Zg=qg(),yA=jg(),gA=Gg(),dp=(0,lA.debug)("zuplo:logging"),pp=class t{static{o(this,"LogInitializer")}systemCoreLogger;userCoreLogger;constructor({systemCoreLogger:e,userCoreLogger:r}){this.systemCoreLogger=e,this.userCoreLogger=r}static async init(e){let r=await t.setupSystemCoreLogger(Jg.Environment.instance,e),n=await t.setupUserCoreLogger(Jg.Environment.instance,e);return new t({systemCoreLogger:r,userCoreLogger:n})}static async setupSystemCoreLogger(e,r){let{build:n}=e;dp("Gateway.setupSystemCoreLogger");let i=[],s=r.getService(Kg.SYSTEM_LOGGER);return s?i.push(new Zg.ProcessTransport(s.logger,e.logFormat)):e.isDeno&&i.push(new Qg.ConsoleTransport(console,e.logFormat)),e.isCloudflare&&e.deploymentName&&e.remoteLogToken&&i.push(new gA.UnifiedLogTransport({url:e.remoteLogURL,deploymentName:e.deploymentName,remoteLogToken:e.remoteLogToken,build:e.build})),await Promise.all(i.map(async a=>{a.init&&await a.init()})),new zg.CoreLogger(e.systemLogLevel,"system",e.loggingId,n.BUILD_ID,i)}static async setupUserCoreLogger(e,r){dp("Gateway.setupUserCoreLogger");let n=[],{runtime:i,build:s}=e,a=r.getService(Kg.SYSTEM_LOGGER);if(a&&a.captureUserLogs===!0?n.push(new Zg.ProcessTransport(a.logger,e.logFormat)):e.isDeno&&n.push(new Qg.ConsoleTransport(console,e.logFormat)),e.remoteLogToken&&e.loggingId&&n.push(new yA.RemoteLogTransport({loggingId:e.loggingId,url:e.remoteLogURL,remoteLogToken:e.remoteLogToken,sendOnlyErrors:e.isCloudflare})),i.GCP_USER_LOG_NAME&&i.GCP_USER_LOG_SVC_ACCT_JSON&&n.push(new mA.GoogleLogTransport({serviceAccountJson:i.GCP_USER_LOG_SVC_ACCT_JSON,logName:i.GCP_USER_LOG_NAME})),i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY){let c=i.ZUPLO_USER_LOGGER_DATA_DOG_URL;n.push(new hA.DataDogTransport({apiKey:i.ZUPLO_USER_LOGGER_DATA_DOG_API_KEY,url:c}))}return dA.plugins.forEach(c=>{c instanceof pA.LogPlugin&&n.push(c.getTransport())}),await Promise.all(n.map(async c=>{c.init&&await c.init()})),new zg.CoreLogger(e.userLogLevel,"user",e.loggingId,s.BUILD_ID,n)}createRequestLoggers(e,r,n,i,s){dp("Gateway.createRequestLoggers");let a=new fA.LoggingContext(n,i,s),c=new Wg.RequestLogger(e,r,this.systemCoreLogger,a);return{userRequestLogger:new Wg.RequestLogger(e,r,this.userCoreLogger,a),systemRequestLogger:c}}};_a.LogInitializer=pp});var hp=_(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.UserRouteConfiguration=void 0;var fp=class{static{o(this,"UserRouteConfiguration")}constructor(e){this.path=e.path,this.methods=e.methods,this.label=e.label,this.key=e.key,this.handler=e.handler,this.corsPolicy=e.corsPolicy,this.custom=e.custom,this.version=e.version,this.policies=e.policies,this.excludeFromOpenApi=e.excludeFromOpenApi,this.pathPattern=e.pathPattern,e.raw?(this.#e=e.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=e.operationId,this.summary=e.summary,this.tags=e.tags,this.parameters=e.parameters,this.responses=e.responses)}raw(){return this.#e}#e;label;key;path;summary;operationId;tags;parameters;responses;excludeFromOpenApi;pathPattern;custom;methods;handler;corsPolicy;version;policies};Ea.UserRouteConfiguration=fp});var yp=_(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.Router=Mt.RouterError=Mt.LookupResult=Mt.RouterEntry=void 0;var Xg=k(),bA=bt(),_A=hp(),wa=class{static{o(this,"RouterEntry")}constructor(e,r,n,i){this.fullPath=e,this.urlPattern=r,this.config=n,this.executableHandler=i}fullPath;urlPattern;config;executableHandler};Mt.RouterEntry=wa;var Yi=class{static{o(this,"LookupResult")}constructor(e,r,n){this.routeConfiguration=e,this.params=n??{},this.executableHandler=r}executableHandler;routeConfiguration;params};Mt.LookupResult=Yi;var va=class extends Error{static{o(this,"RouterError")}constructor(e,r){super(e,r)}};Mt.RouterError=va;var mp=class{static{o(this,"Router")}constructor(e){this.routeEntries=[],this.versions=e}versions;routeEntries;addRoute(e,r){if(!(e instanceof _A.UserRouteConfiguration||e instanceof bA.SystemRouteConfiguration))throw new Xg.SystemError("Config must be a UserRouteConfiguration or SystemRouteConfiguration");let n=this.versions.find(s=>s.name===e.version)?.pathPrefix,i;"pathPattern"in e&&e.pathPattern?i=`${n??""}${e.pathPattern}`:i=`${n??""}${e.path}`;try{let s=new URLPattern({pathname:i}),a=new wa(i,s,e,r);Object.freeze(a.config),this.routeEntries.push(a)}catch(s){throw new va(`addRoute-error: Invalid path '${i}'. '${s.message}'`,{cause:s})}}lookup(e,r){if(typeof e>"u")throw new Xg.ConfigurationError(`Invalid request - Method was undefined. Path: '${r}'`);let n=this.routeEntries.filter(i=>i.config.methods.includes(e));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 Yi(s.config,s.executableHandler,c.pathname.groups)}}lookupByPathOnly(e){let r=[];for(let n=0;n<this.routeEntries.length;n++){let i=this.routeEntries[n],a=i.urlPattern.exec({pathname:e});if(a!==null){let c=new Yi(i.config,i.executableHandler,a.pathname.groups);r.push(c)}}return r}};Mt.Router=mp});var Ta=_(Kn=>{"use strict";Object.defineProperty(Kn,"__esModule",{value:!0});Kn.getGlobalZuploEventContext=Kn.setGlobalZuploEventContext=void 0;var gp;function EA(t){gp=t}o(EA,"setGlobalZuploEventContext");Kn.setGlobalZuploEventContext=EA;function wA(){if(gp===void 0)throw new Error("global ZuploEventContext has not been defined - invalid runtime state");return gp}o(wA,"getGlobalZuploEventContext");Kn.getGlobalZuploEventContext=wA});var eb=_(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.normalizeIncomingRequestHeaders=void 0;var Xi=Vr();function vA({headers:t,removeAllVendorHeadersExceptListed:e,isDeno:r}){let n=new Headers(t);if(e){for(let[i]of t){let s=i.substring(0,3);Xi.VENDOR_HEADER_PREFIXES.includes(s.toLowerCase())&&!Xi.VENDOR_HEADERS_TO_ALLOW.includes(i.toLowerCase())&&n.delete(i)}n.delete(Xi.X_REAL_IP_HEADER)}else Xi.DISPATCH_HEADERS_TO_REMOVE.forEach(i=>{n.delete(i)});return r&&Xi.INTERNAL_HEADERS_TO_REMOVE.forEach(i=>{n.delete(i)}),n}o(vA,"normalizeIncomingRequestHeaders");Sa.normalizeIncomingRequestHeaders=vA});var Gr=_(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.Gateway=void 0;var TA=cr(),tb=Im(),rb=Lm(),SA=Dm(),nb=Um(),ib=Fm(),rn=Vr(),Ia=Kr(),ob=Wm(),Ht=k(),eo=Nt(),IA=Yg(),PA=zt(),AA=de(),OA=jl(),RA=lr(),NA=In(),CA=Ke(),xA=yp(),bp=bt(),sb=hp(),LA=Je(),DA=ys(),Pa=X(),UA=Ta(),MA=eb(),ab=Zr(),cb=vl(),kt=(0,TA.debug)("zuplo:runtime"),kA=o(t=>{let e=t.findIndex(r=>r.name===bp.systemNoVersion.name);return e>-1?[...t.splice(e),bp.systemNoVersion]:[...t,bp.systemNoVersion]},"setupSystemNoVersion"),_p=class t{static{o(this,"Gateway")}routeData;runtimeSettings;schemaValidator;static#e;constructor(e,r,n,i){this.routeData=e,this.runtimeSettings=r,this.schemaValidator=i,kt("Gateway.constructor"),this.#r=this.setupRoutes(),this.#i=this.setupErrorHandler(),this.#t=n}static async initialize(e,r,n,i,s){if(kt("Gateway.initialize"),!t.#e){await(0,eo.initializeRuntime)(s);let a=await IA.LogInitializer.init(n),c=e(),u={...c,corsPolicies:(0,DA.parseCorsPolicies)(c.corsPolicies)},l=new t(u,r,a,i);t.#e=l}return t.#e}static purgeGatewayCache(){kt("Gateway.purgeGatewayCache"),t.#e=void 0}static get instance(){if(!t.#e)throw new Ht.SystemError("Gateway cannot be used before it is initialized");return t.#e}instanceId=crypto.randomUUID();#t;#r;#n=[NA.policyProcessor,OA.corsProcessor,RA.metricsProcessor];#i;setupRoutes=()=>{kt("Gateway.setupRoutes");let e=this.routeData,r=kA(e.versions),n=new xA.Router(r);if(e.routes.length===0)return(0,tb.registerBuildRoute)(n,this),(0,ib.registerPingRoute)(n,this),(0,rb.registerCorsRoute)(n,this),(0,SA.registerNoRoutes)(n,this),n;let{enabled:i}=this.runtimeSettings.developerPortal;i&&((0,ob.registerDevPortalLegacyRedirectRoute)(n,this),(0,ob.registerDevPortalV3Route)(n,this)),(0,tb.registerBuildRoute)(n,this),(0,ib.registerPingRoute)(n,this),(0,rb.registerCorsRoute)(n,this);for(let s of eo.plugins)s instanceof eo.SystemRuntimePlugin&&s.registerRoutes(n,this);return e.routes.forEach(s=>{let a;if(typeof s.handler?.module=="object"&&(a=s.handler?.module[s.handler.export]),typeof a!="function")throw new Ht.ConfigurationError(`Invalid state - No handler on route for path '${s.path}'`);let c=new PA.Pipeline({processors:this.#n,handler:a,gateway:this}),u=new sb.UserRouteConfiguration(s);n.addRoute(u,c.execute)}),(0,nb.registerNotMatchedHandler)(n,this),n};setupErrorHandler=()=>{let e;if(typeof this.routeData.requestErrorHandler?.module=="object"){if(e=this.routeData.requestErrorHandler.module[this.routeData.requestErrorHandler.export],typeof e!="function")throw new Ht.ConfigurationError("Invalid state - Module and export set for 'errorHandler' is not a function")}else e=o((r,n,i)=>this.#o(r,n,i),"errorHandler");return e};errorHandler(e,r,n){try{return this.#i(e,r,n)}catch(i){return kt("An error occurred in the user's errorHandler",i),this.#o(e,r,i)}}#o(e,r,n){kt("Gateway.internalErrorResponse");let i={};if(Pa.Environment.instance.isDeno){if(n instanceof Ht.RuntimeError&&n.extensionMembers)i=n.extensionMembers;else if(n.cause){let s=(0,ab.serializeError)(n.cause);"stack"in s&&(s.stack=(0,ab.cleanStack)(s.stack)),i={cause:s}}}return AA.HttpProblems.internalServerError(e,r,{detail:n.message,...i})}async handleRequest(e,r){(0,UA.setGlobalZuploEventContext)(r);let n=e.headers.get(rn.REQUEST_ID_HEADER)??e.headers.get(rn.LEGACY_REQUEST_ID_HEADER),i=e.headers.get(rn.RAY_ID_HEADER),s=(0,MA.normalizeIncomingRequestHeaders)({headers:e.headers,removeAllVendorHeadersExceptListed:Pa.Environment.instance.build.COMPATIBILITY_FLAGS.removeAllVendorHeadersExceptListed,isDeno:Pa.Environment.instance.isDeno});n||(n=crypto.randomUUID(),s.set(rn.REQUEST_ID_HEADER,n));let a=new Request(e,{headers:s});if(["GET","HEAD"].includes(a.method)&&a.body){let A=new Headers(a.headers);A.set(rn.BODY_REMOVED_HEADER,"true"),a=new Request(a,{headers:A,body:null})}let c={},{userRequestLogger:u,systemRequestLogger:l}=this.#t.createRequestLoggers(n,i,r,c,a),d=new URL(a.url),p=d.pathname,f=this.#r.lookup(a.method,p);if(!f)throw new Ht.SystemError(`Invalid state - no route match - should have been picked up by the not found handler, path: '${p}'`);let h=new Ia.HeaderIncomingRequestProperties(e.headers),y=new CA.ZuploRequest(a,{params:f.params}),b=new Ia.SystemZuploContext({logger:u,route:f.routeConfiguration,requestId:n,event:r,custom:c,incomingRequestProperties:h}),I=Ia.ZuploContextExtensions.initialize(b,y);if(f.routeConfiguration===nb.notFoundRouteConfiguration&&eo.runtimeExtensions.value?.notFoundHandler!==void 0){let A=this.#r.lookupByPathOnly(p);I.pathOnlyMatches=A.map(g=>g.routeConfiguration).filter(g=>g instanceof sb.UserRouteConfiguration)}try{if(LA.SystemLogMap.addLogger(b,l),Pa.Environment.instance.build.COMPATIBILITY_FLAGS.doNotRunHooksOnSystemRoutes?!(0,cb.isSystemRoute)(d):!d.pathname.startsWith("/__zuplo")){let v=await(0,eo.invokeOnRequestExtensions)(y,b);if(v instanceof Response)return v;{let R=Ia.ZuploContextExtensions.getContextExtensions(b);y=v,R.latestRequest=y}}(0,cb.isSystemRoute)(d)||u.debug(`Request received '${d.pathname}'`,{method:a.method,url:d.pathname,hostname:d.hostname,route:f.routeConfiguration.path});let A=f.executableHandler;HA(A,f,a),kt("Gateway.handleRequest - call user handler");let g=await A(y,b);if(kt("Gateway.handleRequest - user handler"),!(g instanceof Response))throw new Ht.RuntimeError(`Invalid Response type from the request handler: ${typeof g}`);if(g.bodyUsed)throw new Ht.RuntimeError("The response object has already been used. Return a new response instead.");if(g.headers.get(rn.REQUEST_ID_HEADER)===null&&!g.webSocket){let v=new Headers(g.headers);return v.set(rn.REQUEST_ID_HEADER,n),new Response(g.body,{status:g.status,statusText:g.statusText,headers:v,cf:g.cf})}else return g}catch(A){return kt("Gateway - error executing handler",A),A instanceof Ht.RuntimeError?(u.error(A),l.warn(A)):l.error(A),await this.#o(y,b,A)}}};Aa.Gateway=_p;function HA(t,e,r){if(kt("Gateway.checkHandler"),!t)throw typeof e.routeConfiguration>"u"?new Ht.ConfigurationError(`Invalid state - no routeConfiguration for '${r.method}:${r.url}`):new Ht.ConfigurationError(`Invalid state. No handler for request '${r.method}':'${e.routeConfiguration.path}'`)}o(HA,"checkHandler")});var ub=_(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});Oa.invokeInboundPolicy=void 0;var FA=k(),qA=Gr(),$A=In(),jA=o(async(t,e,r)=>{let n=qA.Gateway.instance.routeData.policies,i=(0,$A.getInboundPolicyInstances)([t],n);if(i.length===0)throw new FA.RuntimeError(`Invalid 'invokeInboundPolicy call' - no policy '${t}' found.`);return i[0].handler(e,r)},"invokeInboundPolicy");Oa.invokeInboundPolicy=jA});var Kr=_(lt=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.SystemZuploContext=lt.ZuploContextExtensions=lt.ResponseSentEvent=lt.ResponseSendingEvent=lt.HeaderIncomingRequestProperties=void 0;var be=Vr(),VA=k(),BA=ub(),Ep=class{static{o(this,"HeaderIncomingRequestProperties")}#e;constructor(e){this.#e=e}get asn(){try{let e=this.#e.get(be.ZP_ASN_HEADER);if(typeof e=="string")return parseInt(e)}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.CF_POSTAL_CODE_HEADER)??this.#e.get(be.ZP_POSTAL_CODE_HEADER)??void 0}get metroCode(){return this.#e.get(be.CF_METRO_CODE_HEADER)??this.#e.get(be.ZP_METRO_CODE_HEADER)??void 0}get region(){return this.#e.get(be.CF_IP_REGION_HEADER)??this.#e.get(be.ZP_REGION_HEADER)??void 0}get regionCode(){return this.#e.get(be.CF_REGION_CODE_HEADER)??this.#e.get(be.ZP_REGION_CODE_HEADER)??void 0}get timezone(){return this.#e.get(be.CF_TIMEZONE_HEADER)??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}}};lt.HeaderIncomingRequestProperties=Ep;var wp=class extends Event{static{o(this,"ResponseSendingEvent")}constructor(e,r){super("responseSending"),this.request=e,this.mutableResponse=r}request;mutableResponse};lt.ResponseSendingEvent=wp;var vp=class extends Event{static{o(this,"ResponseSentEvent")}constructor(e,r){super("responseSent"),this.request=e,this.response=r}request;response};lt.ResponseSentEvent=vp;var to=class t{static{o(this,"ZuploContextExtensions")}static#e=new WeakMap;static initialize(e,r){if(!t.#e.has(e)){let n=new t(r);return t.#e.set(e,n),n}throw new Error(`ZuploContextExtensions already initialized for context with requestId '${e.requestId}'`)}static getContextExtensions(e){let r=t.#e.get(e);if(!r)throw new VA.RuntimeError(`Invalid state, could not get ZuploContext extensions for context with requestId '${e.requestId}'`);return r}latestRequest;pathOnlyMatches;#t;#r;constructor(e){this.latestRequest=e,this.#t=[],this.#r=[]}addResponseSendingHook(e){this.#r.push(e)}addResponseSendingFinalHook(e){this.#t.push(e)}onResponseSendingFinal=async(e,r,n)=>{for(let i of this.#t)await i(e,r,n)};onResponseSending=async(e,r,n)=>{let i=e;for(let s of this.#r)i=await s(e,r,n);return i}};lt.ZuploContextExtensions=to;var Tp=class extends EventTarget{static{o(this,"SystemZuploContext")}constructor({logger:e,route:r,requestId:n,event:i,custom:s,incomingRequestProperties:a}){super(),this.log=Object.freeze(e),this.route=r,this.requestId=n,this.custom=s,this.incomingRequestProperties=a,this.#e=i,this.invokeInboundPolicy=(c,u)=>(0,BA.invokeInboundPolicy)(c,u,this),this.waitUntil=c=>{this.#e.waitUntil(c)},this.addResponseSendingHook=c=>{to.getContextExtensions(this).addResponseSendingHook(c)},this.addResponseSendingFinalHook=c=>{to.getContextExtensions(this).addResponseSendingFinalHook(c)},Object.freeze(this)}#e;requestId;log;route;custom;incomingRequestProperties;invokeInboundPolicy;waitUntil;addResponseSendingHook;addResponseSendingFinalHook;addEventListener(e,r,n){let i=o(s=>{try{typeof r=="function"?r(s):r.handleEvent(s)}catch(a){throw this.log.error(`Error invoking event ${e}. See following logs for details.`),a}},"wrapped");super.addEventListener(e,i,n)}};lt.SystemZuploContext=Tp});var Ip=_(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.ContextData=void 0;var Sp=class t{static{o(this,"ContextData")}static#e;#t;constructor(e){this.#t=e}set(e,r){t.set(e,this.#t,r)}get(e){return t.get(e,this.#t)}static set(e,r,n){t.#e||(t.#e=new WeakMap);let i=t.#e.get(e);i||(i=new Map),i.set(r,n),t.#e.set(e,i)}static get(e,r){return t.#e||(t.#e=new WeakMap),t.#e.get(e)?.get(r)}};Ra.ContextData=Sp});var ro=_(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.environment=Pr.isZuploReadableEnvVariableName=Pr.isRestrictedEnvVariableName=void 0;var GA=X(),KA=["ZUPLO_USER_LOGGER_DATA_DOG_API_KEY","ZUPLO_USER_LOGGER_DATA_DOG_URL","ZUPLO_LOG_LEVEL","ZUPLO_HANDLER_WRITE_LOG_LEVEL"];function lb(t){return t.startsWith("__ZUPLO")||t.startsWith("ZUPLO_")?!KA.includes(t)&&!t.startsWith("ZUPLO_PUBLIC_"):!1}o(lb,"isRestrictedEnvVariableName");Pr.isRestrictedEnvVariableName=lb;function db(t){return!!t.startsWith("ZUPLO_")}o(db,"isZuploReadableEnvVariableName");Pr.isZuploReadableEnvVariableName=db;var JA=new Proxy({},{get(t,e){if(lb(String(e))&&!db(String(e)))return;let r;return globalThis.process?r=globalThis.process.env[e]:r=GA.Environment.instance.runtime[String(e)],r}});Pr.environment=JA});var Pp=_(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.externalServiceHandler=Jn.externalServiceTunnelConfig=void 0;var zA=cr(),nn=k(),WA=Ap(),no=X(),vt=(0,zA.debug)("zuplo:runtime:external-service");function fb(){let t,{__ZUPLO_EXTERNAL_SERVICE_TOKEN:e}=no.Environment.instance.runtime;if(e&&e!=="undefined")try{let r=atob(e);t=JSON.parse(r)}catch{}return t}o(fb,"getServiceAuth");async function QA(t){let e=fb();if(!e)throw vt("There is no external service auth configured for this zup."),new nn.RuntimeError("There are no external services configured for this zup.");if(typeof t!="string")throw vt("Cannot call external service with Request object"),new nn.RuntimeError("Currently, we only support fetch(<some_string>, ...).");let n=new URL(t).hostname,i={};i["CF-Access-Client-Id"]=e.clientId,i["CF-Access-Client-Secret"]=e.clientSecret;let s;if(e.customServiceMapping&&e.customServiceMapping[n])s=`https://${e.customServiceMapping[n]}`;else if(no.Environment.instance.useSha256ServiceRouting){vt("Using sha256 service routing");let a=no.Environment.instance.build;if(a.ACCOUNT_NAME&&a.PROJECT_NAME&&a.ENVIRONMENT_TYPE)s=`https://${await hb(n,a.ACCOUNT_NAME,a.PROJECT_NAME,a.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw vt("Cannot use sha256 service routing, missing build variables"),new nn.RuntimeError("Failed to generate fully qualified tunnel url.")}else s=`https://${n}.zuptunnel.com`;return{serviceBaseUrl:s,tunnelHeaders:i}}o(QA,"externalServiceTunnelConfig");Jn.externalServiceTunnelConfig=QA;async function ZA(t,e){let r=fb();if(r)if(vt(`Using external service auth. ClientId: ${r.clientId})`),typeof t=="string"){let n=new URL(t),i=n.hostname,s=e??{},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(no.Environment.instance.useSha256ServiceRouting){vt("Using sha256 service routing");let d=no.Environment.instance.build;if(d.ACCOUNT_NAME&&d.PROJECT_NAME&&d.ENVIRONMENT_TYPE)c=`https://${await hb(i,d.ACCOUNT_NAME,d.PROJECT_NAME,d.ENVIRONMENT_TYPE)}.zuptunnel.com`;else throw vt("Cannot use sha256 service routing, missing build variables"),new nn.RuntimeError("Failed to generate fully qualified tunnel url.")}else c=`https://${i}.zuptunnel.com`;let u=new URL(`${c}${n.pathname}${n.search}`);vt(`Calling external service: ${u.toString()}`);let l=await(0,WA.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 nn.RuntimeError("Could not connect to secure tunnel.");return l}else throw vt("Cannot call external service with Request object"),new nn.RuntimeError("Currently, we only support fetch(<some_string>, ...).");else throw vt("There is no external service auth configured for this zup."),new nn.RuntimeError("There are no external services configured for this zup.")}o(ZA,"externalServiceHandler");Jn.externalServiceHandler=ZA;async function hb(t,e,r,n){let i=t.toLowerCase(),s=e.toLowerCase(),a=r.toLowerCase(),c=YA(n);vt(`Hashing service name: ${s}-${i}.${s}-${a}-${c}`);let u=await pb(`${s}-${i}`),l=await pb(`${s}-${a}-${c}`);return`${u}.${l}`}o(hb,"hashServiceName");async function pb(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("").slice(0,-1)}o(pb,"hashSegment");function YA(t){let e=t.toLowerCase();switch(e){case"production":case"preview":return e;default:return"working-copy"}}o(YA,"sanitizeEnvironmentType")});var Ap=_(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});zn.originalFetch=void 0;var XA=Pp(),mb=new Map;mb.set("service:",XA.externalServiceHandler);zn.originalFetch=globalThis.fetch;globalThis.fetch=function(t,e){let r=eO(e);if(typeof t=="string"){let n=new URL(t),i=mb.get(n.protocol);return i?i(t,r):(0,zn.originalFetch)(t,r)}else return(0,zn.originalFetch)(t,r)};var eO=o(t=>{if(!t||t instanceof Request)return t;let e=t;if(!e.zuplo)return t;let r=t;return r.cf={cacheEverything:e.zuplo?.cacheEverything,cacheTtl:e.zuplo?.cacheTtlSeconds},delete t.zuplo,t},"transformInit")});var bb=_(Wn=>{"use strict";Object.defineProperty(Wn,"__esModule",{value:!0});Wn.Handler=Wn.purgeGatewayCache=void 0;var tO=k(),gb=Gr(),yb=X(),rO=o(()=>{gb.Gateway.purgeGatewayCache()},"purgeGatewayCache");Wn.purgeGatewayCache=rO;var Op=class{static{o(this,"Handler")}routeLoader;buildEnvironment;runtimeSettings;serviceProvider;schemaValidations;runtimeInit;constructor(e,r,n,i,s,a){this.routeLoader=e,this.buildEnvironment=r,this.runtimeSettings=n,this.serviceProvider=i,this.schemaValidations=s,this.runtimeInit=a}requestHandler=async(e,r,n)=>{yb.Environment.initialize(this.buildEnvironment,r);let i;try{i=await gb.Gateway.initialize(this.routeLoader,this.runtimeSettings,this.serviceProvider,this.schemaValidations,this.runtimeInit)}catch(s){console.error("Error initializing gateway.",s);let a="Error initializing gateway. Check your 'zuplo.runtime.ts' for errors or contact support.";s instanceof tO.ConfigurationError&&(a=s.message);let c={status:500,title:"Gateway Initialization Error",type:"https://httpproblems.com/http-status/500",detail:a,instance:e.url,trace:{timestamp:Date.now(),rayId:e.headers.get("cf-ray")??void 0,buildId:this.buildEnvironment.BUILD_ID},message:yb.Environment.instance.isDeno?s.message:void 0};return new Response(JSON.stringify(c,null,2),{status:500,headers:{"content-type":"application/json"}})}return i.handleRequest(e,n)}};Wn.Handler=Op});var vb=_(ke=>{"use strict";Object.defineProperty(ke,"__esModule",{value:!0});ke.pathToRegexp=ke.tokensToRegexp=ke.regexpToFunction=ke.match=ke.tokensToFunction=ke.compile=ke.parse=void 0;function nO(t){for(var e=[],r=0;r<t.length;){var n=t[r];if(n==="*"||n==="+"||n==="?"){e.push({type:"MODIFIER",index:r,value:t[r++]});continue}if(n==="\\"){e.push({type:"ESCAPED_CHAR",index:r++,value:t[r++]});continue}if(n==="{"){e.push({type:"OPEN",index:r,value:t[r++]});continue}if(n==="}"){e.push({type:"CLOSE",index:r,value:t[r++]});continue}if(n===":"){for(var i="",s=r+1;s<t.length;){var a=t.charCodeAt(s);if(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||a===95){i+=t[s++];continue}break}if(!i)throw new TypeError("Missing parameter name at ".concat(r));e.push({type:"NAME",index:r,value:i}),r=s;continue}if(n==="("){var c=1,u="",s=r+1;if(t[s]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(s));for(;s<t.length;){if(t[s]==="\\"){u+=t[s++]+t[s++];continue}if(t[s]===")"){if(c--,c===0){s++;break}}else if(t[s]==="("&&(c++,t[s+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(s));u+=t[s++]}if(c)throw new TypeError("Unbalanced pattern at ".concat(r));if(!u)throw new TypeError("Missing pattern at ".concat(r));e.push({type:"PATTERN",index:r,value:u}),r=s;continue}e.push({type:"CHAR",index:r,value:t[r++]})}return e.push({type:"END",index:r,value:""}),e}o(nO,"lexer");function Rp(t,e){e===void 0&&(e={});for(var r=nO(t),n=e.prefixes,i=n===void 0?"./":n,s="[^".concat(Qn(e.delimiter||"/#?"),"]+?"),a=[],c=0,u=0,l="",d=o(function(E){if(u<r.length&&r[u].type===E)return r[u++].value},"tryConsume"),p=o(function(E){var T=d(E);if(T!==void 0)return T;var C=r[u],w=C.type,P=C.index;throw new TypeError("Unexpected ".concat(w," at ").concat(P,", expected ").concat(E))},"mustConsume"),f=o(function(){for(var E="",T;T=d("CHAR")||d("ESCAPED_CHAR");)E+=T;return E},"consumeText");u<r.length;){var h=d("CHAR"),y=d("NAME"),b=d("PATTERN");if(y||b){var I=h||"";i.indexOf(I)===-1&&(l+=I,I=""),l&&(a.push(l),l=""),a.push({name:y||c++,prefix:I,suffix:"",pattern:b||s,modifier:d("MODIFIER")||""});continue}var A=h||d("ESCAPED_CHAR");if(A){l+=A;continue}l&&(a.push(l),l="");var g=d("OPEN");if(g){var I=f(),v=d("NAME")||"",R=d("PATTERN")||"",V=f();p("CLOSE"),a.push({name:v||(R?c++:""),pattern:v&&!R?s:R,prefix:I,suffix:V,modifier:d("MODIFIER")||""});continue}p("END")}return a}o(Rp,"parse");ke.parse=Rp;function iO(t,e){return _b(Rp(t,e),e)}o(iO,"compile");ke.compile=iO;function _b(t,e){e===void 0&&(e={});var r=Np(e),n=e.encode,i=n===void 0?function(u){return u}:n,s=e.validate,a=s===void 0?!0:s,c=t.map(function(u){if(typeof u=="object")return new RegExp("^(?:".concat(u.pattern,")$"),r)});return function(u){for(var l="",d=0;d<t.length;d++){var p=t[d];if(typeof p=="string"){l+=p;continue}var f=u?u[p.name]:void 0,h=p.modifier==="?"||p.modifier==="*",y=p.modifier==="*"||p.modifier==="+";if(Array.isArray(f)){if(!y)throw new TypeError('Expected "'.concat(p.name,'" to not repeat, but got an array'));if(f.length===0){if(h)continue;throw new TypeError('Expected "'.concat(p.name,'" to not be empty'))}for(var b=0;b<f.length;b++){var I=i(f[b],p);if(a&&!c[d].test(I))throw new TypeError('Expected all "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(I,'"'));l+=p.prefix+I+p.suffix}continue}if(typeof f=="string"||typeof f=="number"){var I=i(String(f),p);if(a&&!c[d].test(I))throw new TypeError('Expected "'.concat(p.name,'" to match "').concat(p.pattern,'", but got "').concat(I,'"'));l+=p.prefix+I+p.suffix;continue}if(!h){var A=y?"an array":"a string";throw new TypeError('Expected "'.concat(p.name,'" to be ').concat(A))}}return l}}o(_b,"tokensToFunction");ke.tokensToFunction=_b;function oO(t,e){var r=[],n=Cp(t,r,e);return Eb(n,r,e)}o(oO,"match");ke.match=oO;function Eb(t,e,r){r===void 0&&(r={});var n=r.decode,i=n===void 0?function(s){return s}:n;return function(s){var a=t.exec(s);if(!a)return!1;for(var c=a[0],u=a.index,l=Object.create(null),d=o(function(f){if(a[f]===void 0)return"continue";var h=e[f-1];h.modifier==="*"||h.modifier==="+"?l[h.name]=a[f].split(h.prefix+h.suffix).map(function(y){return i(y,h)}):l[h.name]=i(a[f],h)},"_loop_1"),p=1;p<a.length;p++)d(p);return{path:c,index:u,params:l}}}o(Eb,"regexpToFunction");ke.regexpToFunction=Eb;function Qn(t){return t.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}o(Qn,"escapeString");function Np(t){return t&&t.sensitive?"":"i"}o(Np,"flags");function sO(t,e){if(!e)return t;for(var r=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,i=r.exec(t.source);i;)e.push({name:i[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),i=r.exec(t.source);return t}o(sO,"regexpToRegexp");function aO(t,e,r){var n=t.map(function(i){return Cp(i,e,r).source});return new RegExp("(?:".concat(n.join("|"),")"),Np(r))}o(aO,"arrayToRegexp");function cO(t,e,r){return wb(Rp(t,r),e,r)}o(cO,"stringToRegexp");function wb(t,e,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(P){return P}:l,p=r.delimiter,f=p===void 0?"/#?":p,h=r.endsWith,y=h===void 0?"":h,b="[".concat(Qn(y),"]|$"),I="[".concat(Qn(f),"]"),A=a?"^":"",g=0,v=t;g<v.length;g++){var R=v[g];if(typeof R=="string")A+=Qn(d(R));else{var V=Qn(d(R.prefix)),E=Qn(d(R.suffix));if(R.pattern)if(e&&e.push(R),V||E)if(R.modifier==="+"||R.modifier==="*"){var T=R.modifier==="*"?"?":"";A+="(?:".concat(V,"((?:").concat(R.pattern,")(?:").concat(E).concat(V,"(?:").concat(R.pattern,"))*)").concat(E,")").concat(T)}else A+="(?:".concat(V,"(").concat(R.pattern,")").concat(E,")").concat(R.modifier);else R.modifier==="+"||R.modifier==="*"?A+="((?:".concat(R.pattern,")").concat(R.modifier,")"):A+="(".concat(R.pattern,")").concat(R.modifier);else A+="(?:".concat(V).concat(E,")").concat(R.modifier)}}if(u)i||(A+="".concat(I,"?")),A+=r.endsWith?"(?=".concat(b,")"):"$";else{var C=t[t.length-1],w=typeof C=="string"?I.indexOf(C[C.length-1])>-1:C===void 0;i||(A+="(?:".concat(I,"(?=").concat(b,"))?")),w||(A+="(?=".concat(I,"|").concat(b,")"))}return new RegExp(A,Np(r))}o(wb,"tokensToRegexp");ke.tokensToRegexp=wb;function Cp(t,e,r){return t instanceof RegExp?sO(t,e):Array.isArray(t)?aO(t,e,r):cO(t,e,r)}o(Cp,"pathToRegexp");ke.pathToRegexp=Cp});var Up=_(Zn=>{"use strict";Object.defineProperty(Zn,"__esModule",{value:!0});Zn.AwsV4Signer=Zn.AwsClient=void 0;var uO=cr(),Pb=k(),lO=(0,uO.debug)("zuplo:runtime"),Lp=new TextEncoder,Tb={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"},dO=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"],Dp=class{static{o(this,"AwsClient")}accessKeyId;secretAccessKey;sessionToken;service;region;cache;retries;initRetryMs;constructor({accessKeyId:e,secretAccessKey:r,sessionToken:n,service:i,region:s,cache:a,retries:c,initRetryMs:u}){if(e==null)throw new TypeError("accessKeyId is a required option");if(r==null)throw new TypeError("secretAccessKey is a required option");this.accessKeyId=e,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(e,r){let n=new Na(Object.assign({url:e},r,this,r&&r.aws)),i=Object.assign({},r,await n.sign());return delete i.aws,{url:i.url.toString(),request:i}}async fetch(e,r){lO("AWS fetch",e);for(let n=0;n<=this.retries;n++){let{url:i,request:s}=await this.sign(e,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 Pb.ConfigurationError("An unknown error occurred, ensure retries is not negative")}};Zn.AwsClient=Dp;var Na=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:e,url:r,headers:n,body:i,accessKeyId:s,secretAccessKey:a,sessionToken:c,service:u,region:l,cache:d,datetime:p,signQuery:f,appendSessionToken:h,allHeaders:y,singleEncode:b}){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=e||(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 I,A;(!u||!l)&&([I,A]=pO(this.url,this.headers)),this.service=u||I||"",this.region=l||A||"us-east-1",this.cache=d||new Map,this.datetime=p||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=f,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host");let g=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"),g.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken&&g.set("X-Amz-Security-Token",this.sessionToken),this.signableHeaders=["host",...this.headers.keys()].filter(R=>y||!dO.includes(R)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(R=>R+":"+(R==="host"?this.url.host:(this.headers.get(R)||"").replace(/\s+/g," "))).join(`
60
- `),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery&&(this.service==="s3"&&!g.has("X-Amz-Expires")&&g.set("X-Amz-Expires","86400"),g.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),g.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),g.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,"/");b||(this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/")),this.encodedPath=Ib(this.encodedPath);let v=new Set;this.encodedSearch=[...this.url.searchParams].filter(([R])=>{if(!R)return!1;if(this.service==="s3"){if(v.has(R))return!1;v.add(R)}return!0}).map(R=>R.map(V=>Ib(encodeURIComponent(V)))).sort(([R,V],[E,T])=>R<E?-1:R>E?1:V<T?-1:V>T?1:0).map(R=>R.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 e=this.datetime.slice(0,8),r=[this.secretAccessKey,e,this.region,this.service].join(),n=this.cache.get(r);if(!n){let i=await io("AWS4"+this.secretAccessKey,e),s=await io(i,this.region),a=await io(s,this.service);n=await io(a,"aws4_request"),this.cache.set(r,n)}return xp(await io(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,xp(await Sb(await this.canonicalString()))].join(`
61
- `)}async canonicalString(){return[this.method.toUpperCase(),this.encodedPath,this.encodedSearch,this.canonicalHeaders+`
62
- `,this.signedHeaders,await this.hexBodyHash()].join(`
63
- `)}async hexBodyHash(){let e=this.headers.get("X-Amz-Content-Sha256");if(e==null){if(this.body&&typeof this.body!="string"&&!("byteLength"in this.body))throw new Pb.RuntimeError("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");e=xp(await Sb(this.body||""))}return e}};Zn.AwsV4Signer=Na;async function io(t,e){let r=await crypto.subtle.importKey("raw",typeof t=="string"?Lp.encode(t):t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,Lp.encode(e))}o(io,"hmac");async function Sb(t){return crypto.subtle.digest("SHA-256",typeof t=="string"?Lp.encode(t):t)}o(Sb,"hash");function xp(t){return Array.prototype.map.call(new Uint8Array(t),e=>("0"+e.toString(16)).slice(-2)).join("")}o(xp,"buf2hex");function Ib(t){return t.replace(/[!'()*]/g,e=>"%"+e.charCodeAt(0).toString(16).toUpperCase())}o(Ib,"encodeRfc3986");function pO(t,e){let{hostname:r,pathname:n}=t,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=(e.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 Tb?[Tb[s],a]:[s,a]}o(pO,"guessServiceRegion")});var Ab=_(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.convertStringToUtf8Array=Ft.convertUtf8ArrayToString=Ft.base64Encode=Ft.base64Decode=void 0;function fO(t){return t>64&&t<91?t-65:t>96&&t<123?t-71:t>47&&t<58?t+4:t===43?62:t===47?63:0}o(fO,"b64ToUint6");function hO(t,e){let r=t.replace(/[^A-Za-z0-9+/]/g,""),n=r.length,i=e?Math.ceil((n*3+1>>2)/e)*e: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|=fO(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(hO,"base64Decode");Ft.base64Decode=hO;function Ca(t){return t<26?t+65:t<52?t+71:t<62?t-4:t===62?43:t===63?47:65}o(Ca,"uint6ToB64");function mO(t){let e=2,r="",n=t.length,i=0;for(let s=0;s<n;s++)e=s%3,i|=t[s]<<(16>>>e&24),(e===2||t.length-s===1)&&(r+=String.fromCodePoint(Ca(i>>>18&63),Ca(i>>>12&63),Ca(i>>>6&63),Ca(i&63)),i=0);return r.substring(0,r.length-2+e)+(e===2?"":e===1?"=":"==")}o(mO,"base64Encode");Ft.base64Encode=mO;function yO(t){let e="",r,n=t.length;for(let i=0;i<n;i++)r=t[i],e+=String.fromCodePoint(r>251&&r<254&&i+5<n?(r-252)*1073741824+(t[++i]-128<<24)+(t[++i]-128<<18)+(t[++i]-128<<12)+(t[++i]-128<<6)+t[++i]-128:r>247&&r<252&&i+4<n?(r-248<<24)+(t[++i]-128<<18)+(t[++i]-128<<12)+(t[++i]-128<<6)+t[++i]-128:r>239&&r<248&&i+3<n?(r-240<<18)+(t[++i]-128<<12)+(t[++i]-128<<6)+t[++i]-128:r>223&&r<240&&i+2<n?(r-224<<12)+(t[++i]-128<<6)+t[++i]-128:r>191&&r<224&&i+1<n?(r-192<<6)+t[++i]-128:r);return e}o(yO,"convertUtf8ArrayToString");Ft.convertUtf8ArrayToString=yO;function gO(t){let e,r=t.length,n=0;for(let c=0;c<r;c++)e=t.codePointAt(c),e>=65536&&c++,n+=e<128?1:e<2048?2:e<65536?3:e<2097152?4:e<67108864?5:6;let i=new Uint8Array(n),s=0,a=0;for(;s<n;)e=t.codePointAt(a),e<128?i[s++]=e:e<2048?(i[s++]=192+(e>>>6),i[s++]=128+(e&63)):e<65536?(i[s++]=224+(e>>>12),i[s++]=128+(e>>>6&63),i[s++]=128+(e&63)):e<2097152?(i[s++]=240+(e>>>18),i[s++]=128+(e>>>12&63),i[s++]=128+(e>>>6&63),i[s++]=128+(e&63),a++):e<67108864?(i[s++]=248+(e>>>24),i[s++]=128+(e>>>18&63),i[s++]=128+(e>>>12&63),i[s++]=128+(e>>>6&63),i[s++]=128+(e&63),a++):(i[s++]=252+(e>>>30),i[s++]=128+(e>>>24&63),i[s++]=128+(e>>>18&63),i[s++]=128+(e>>>12&63),i[s++]=128+(e>>>6&63),i[s++]=128+(e&63),a++),a++;return i}o(gO,"convertStringToUtf8Array");Ft.convertStringToUtf8Array=gO});var Ob=_(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.toCLFDate=void 0;function Yn(t){let e=t.toString();return`${e.length===1?"0":""}${e}`}o(Yn,"numberToString");function bO(t){let e=t.getTimezoneOffset(),r=Math.abs(e),n=e>0?"-":"+",i=Yn(Math.floor(r/60)),s=Yn(r%60);return`${n}${i}${s}`}o(bO,"getCLFOffset");function _O(t=new Date){if(!(t instanceof Date))throw new Error("clf-date: invalid parameter");let e=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=Yn(t.getDate()),n=e[t.getMonth()],i=t.getFullYear(),s=Yn(t.getHours()),a=Yn(t.getMinutes()),c=Yn(t.getSeconds()),u=bO(t);return`${r}/${n}/${i}:${s}:${a}:${c} ${u}`}o(_O,"toCLFDate");xa.toCLFDate=_O});var Ub=_(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.getResponse=Ar.awsLambdaHandler=Ar.AwsLambdaHandlerExtensions=void 0;var EO=cr(),Rb=vb(),oo=k(),wO=Wt(),vO=Up(),Cb=Ab(),xb=Ob(),Nb=(0,EO.debug)("zuplo:runtime"),TO="X-Amzn-Trace-Id",SO="x-amzn-errortype",Lb=[],IO=o(async(t,e,r)=>{let n=r;for await(let i of Lb)n=await i(t,e,r);return n},"onSendingAwsLambdaEvent"),et=class extends oo.RuntimeError{static{o(this,"AwsLambdaError")}traceId;errorType;constructor(e,r){super(`Failed to invoke AWS Lambda function. ${e}`),this.traceId=r.get(TO)??void 0,this.errorType=r.get(SO)??void 0}};Ar.AwsLambdaHandlerExtensions={addSendingAwsLambdaEventHook:t=>{Lb.push(t)}};async function PO(t,e){let{accessKeyId:r,secretAccessKey:n,region:i,functionName:s,useLambdaProxyIntegration:a=!0,useAwsResourcePathStyle:c=!1,binaryMediaTypes:u}=e.route.handler.options;if(!r)throw new oo.ConfigurationError("awsAccessKeyId is not set in the handler options");if(!n)throw new oo.ConfigurationError("secretAccessKey is not set in the handler options");if(!i)throw new oo.ConfigurationError("region is not set in the handler options");if(!s)throw new oo.ConfigurationError("functionName is not set in the handler options");let l=new vO.AwsClient({accessKeyId:r,secretAccessKey:n}),d=`https://lambda.${i}.amazonaws.com/2015-03-31/functions/${s}/invocations`;if(Nb(`AWS Lambda URL: ${d}`),!a)return l.fetch(d,{body:await t.arrayBuffer()});let[p,f]=await RO(t,{binaryMediaTypes:u}),{options:h}=e.route.handler,y;h&&typeof h=="object"&&"payloadFormatVersion"in h&&h.payloadFormatVersion==="2.0"?y=OO(t,e):y=await AO(t,e,{useAwsResourcePathStyle:c}),Nb("Calling onSendingAwsLambdaEvent hook");let b=await IO(t,e,y);b.body=p,b.isBase64Encoded=f;let I=await l.fetch(d,{body:JSON.stringify(b)});try{return Db(I)}catch(A){if(A instanceof et){let g=h&&typeof h=="object"&&"returnAmazonTraceIdHeader"in h&&h.returnAmazonTraceIdHeader&&A.traceId?{AMZN_TRACE_ID_HEADER:A.traceId}:void 0;return wO.HttpProblems.internalServerError(t,e,void 0,g)}throw A}}o(PO,"awsLambdaHandler");Ar.awsLambdaHandler=PO;async function Db(t){let e;try{e=await t.json()}catch{throw new et("Lambda response did not contain valid JSON",t.headers)}if(t.status!==200)throw e&&typeof e=="object"&&"message"in e&&typeof e.message=="string"?new et(e.message,t.headers):new et(`Status: ${t.statusText}`,t.headers);if(e&&typeof e=="object"&&"errorMessage"in e&&typeof e.errorMessage=="string")throw new et(e.errorMessage,t.headers);if(!e||typeof e!="object"||!("statusCode"in e)||typeof e.statusCode!="number")return new Response(JSON.stringify(e),{status:t.status,headers:{"content-type":"application/json"}});let r=new Headers;if("headers"in e&&e.headers){if(typeof e.headers!="object")throw new et(`Response headers must be an object. Received ${typeof e.headers}`,t.headers);for(let[i,s]of Object.entries(e.headers))r.set(i,s)}if("cookies"in e&&e.cookies){if(!Array.isArray(e.cookies))throw new et(`Response cookies must be an array. Received ${typeof e.cookies}`,t.headers);r.set("cookie",e.cookies.join(";"))}let n;if("isBase64Encoded"in e&&typeof e.isBase64Encoded!="boolean")throw new et(`Response property isBase64Encoded must be a boolean. Received ${typeof e.isBase64Encoded}`,t.headers);if("isBase64Encoded"in e&&e.isBase64Encoded===!0){if(!("body"in e))throw new et("Response was set to base64 encoded but no body was set",t.headers);if(typeof e.body!="string")throw new et("Response was set to base64 encoded but body was not a string",t.headers);n=(0,Cb.base64Decode)(e.body)}else"body"in e&&typeof e.body=="string"?n=e.statusCode===204&&e.body===""?null:e.body:"body"in e&&e.body!==null&&e.body!==void 0?n=JSON.stringify(e.body):n=null;if(n!==null&&"bodyEncoding"in e){if(typeof e.bodyEncoding!="string"||!(e.bodyEncoding==="gzip"||e.bodyEncoding==="deflate"))throw new et(`Response property bodyEncoding can only be set to 'gzip' or 'deflate'. Received ${e.bodyEncoding}`,t.headers);let i=new Blob([n]).stream().pipeThrough(new DecompressionStream(e.bodyEncoding));n=await new Response(i).arrayBuffer()}return new Response(n,{headers:r,status:e.statusCode})}o(Db,"getResponse");Ar.getResponse=Db;async function AO(t,e,{useAwsResourcePathStyle:r}){let n={},i={};t.headers.forEach((l,d)=>{n[d]=l,i[d]=[l]});let s=t.query,a={};for(let[l,d]of Object.entries(s))a[l]=[d];let c=new URL(t.url);return{version:"1.0",resource:c.pathname,path:c.pathname,httpMethod:t.method,headers:n,multiValueHeaders:i,queryStringParameters:s,multiValueQueryStringParameters:a,requestContext:{accountId:null,apiId:null,authorizer:{claims:{},scopes:[]},domainName:c.hostname,domainPrefix:null,extendedRequestId:e.requestId,httpMethod:t.method,identity:{accessKey:null,accountId:null,caller:null,cognitoAuthenticationProvider:null,cognitoAuthenticationType:null,cognitoIdentityId:null,cognitoIdentityPoolId:null,principalOrgId:null,sourceIp:t.headers.get("CF-Connecting-IP"),user:null,userAgent:t.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:e.requestId,requestTime:(0,xb.toCLFDate)(),requestTimeEpoch:new Date().valueOf(),resourceId:e.route.operationId??null,resourcePath:CO(e.route.path,r),stage:null},pathParameters:t.params,stageVariables:null}}o(AO,"buildEventVersion1");function OO(t,e){let r={};t.headers.forEach((s,a)=>{r[a]=s});let n=new URL(t.url);return{version:"2.0",routeKey:null,rawPath:n.pathname,rawQueryString:n.search,cookies:[],headers:r,queryStringParameters:t.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:t.method,path:n.pathname,protocol:"HTTP/1.1",sourceIp:t.headers.get("CF-Connecting-IP"),userAgent:t.headers.get("user-agent")},requestId:e.requestId,routeKey:null,stage:null,time:(0,xb.toCLFDate)(),timeEpoch:new Date().valueOf()},pathParameters:t.params,stageVariables:null}}o(OO,"buildEventVersion2");async function RO(t,{binaryMediaTypes:e}){let r,n=!1,i=t.headers.get("content-type");if(t.method==="GET"||t.method==="HEAD")r=null;else if(e&&i&&NO(e,i)){let s=await t.arrayBuffer();r=(0,Cb.base64Encode)(new Uint8Array(s)),n=!0}else r=await t.clone().text();return[r,n]}o(RO,"getBodyResult");function NO(t,e){let r=e.split(";")[0].trim().toLowerCase();return t.findIndex(n=>n==="*/*"?!0:n.toLowerCase()===r)>-1}o(NO,"matchesContentType");function CO(t,e=!1){if(!e)return t;let r=(0,Rb.parse)(t),n=(0,Rb.compile)(t),i={};return r.forEach(s=>{typeof s=="string"?i[s]=`{${s}}`:i[s.name]=`{${s.name}}`}),n(i)}o(CO,"getResourcePath")});var ei=_(Xn=>{"use strict";Object.defineProperty(Xn,"__esModule",{value:!0});Xn.getHandlerUserLogFunction=Xn.logBadGatewayResponses=void 0;var xO=Je(),LO=X(),DO=[502,503,504];async function UO(t,e){if(DO.includes(t.status)){let r=xO.SystemLogMap.getLogger(e),i=await t.clone().text(),s={};for(let[a,c]of t.headers)s[a]=c;r.warn(`BadGatewayResponse ${t.status}`,{status:t.status,statusText:t.statusText,body:i,headers:s})}}o(UO,"logBadGatewayResponses");Xn.logBadGatewayResponses=UO;var Mp;function MO(t){if(Mp===void 0){let r=LO.Environment.instance.runtime.ZUPLO_HANDLER_WRITE_LOG_LEVEL;["debug","info","warn","error"].includes(r??"")||(r="debug"),Mp=r}return t.log[Mp]}o(MO,"getHandlerUserLogFunction");Xn.getHandlerUserLogFunction=MO});var kb=_(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.openApiSpecHandler=void 0;var Mb=k(),kO=de(),kp=X(),HO=ei();async function FO(t,e){let r=kp.Environment.instance.build.BUILD_ID,{buildAssetsUrl:n}=kp.Environment.instance,i=e.route.handler.options,{openApiFilePath:s}=i;if(!s)throw new Mb.ConfigurationError("Open API Spec Handler must have 'openApiFilePath' specified");let a=qO(s);if(!a.isValid)throw new Mb.ConfigurationError(a.error);let c;kp.Environment.instance.isLocalDevelopment?c=`${n}/${s.substring(1)}`:c=`${n}/${r}${s.substring(1)}`;let u=await fetch(c,{method:t.method,body:t.body,headers:t.headers});if(u.status!==200)return kO.HttpProblems.notFound(t,e,{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,HO.logBadGatewayResponses)(l,e),l}o(FO,"openApiSpecHandler");La.openApiSpecHandler=FO;var qO=o(t=>t.startsWith("./")?t.startsWith("./config")?t.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 Hb=_(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.redirectHandler=void 0;var $O=k();async function jO(t,e){let r=e.route.handler.options;if(!r.location)throw new $O.ConfigurationError("Redirect Handler must have 'location' specified");let n=r.status??302;return new Response(null,{status:n,headers:{location:r.location}})}o(jO,"redirectHandler");Da.redirectHandler=jO});var qb=_(Ua=>{"use strict";Object.defineProperty(Ua,"__esModule",{value:!0});Ua.urlForwardHandler=void 0;var VO=k(),Fb=ei();function BO(t,e){let r=t.endsWith("/"),n=e.startsWith("/");return r&&n?`${t.substring(0,t.length-1)}${e}`:!r&&!n?`${t}/${e}`:`${t}${e}`}o(BO,"join");async function GO(t,e){let r=(0,Fb.getHandlerUserLogFunction)(e),n=e.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 VO.ConfigurationError("Invalid options for this route");let s={incomingRequestProperties:e.incomingRequestProperties,requestId:e.requestId,route:e.route,custom:e.custom},a=new URL(t.url),c=n.__rewriteFunction(t,s),u=BO(c,a.pathname),l=i?`${u}${a.search}`:u.toString(),d=Date.now();r(`URL Forwarding to '${l}'`);let p=await fetch(l,{method:t.method,body:t.body,headers:t.headers}),f=Date.now()-d;return r(`URL Forward received response ${p.status} - ${p.statusText} in ${f}ms`),(0,Fb.logBadGatewayResponses)(p,e),p}o(GO,"urlForwardHandler");Ua.urlForwardHandler=GO});var jb=_(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.urlRewriteHandler=void 0;var KO=k(),$b=ei(),JO=o((t,e)=>{let r=new URL(t),n=new URL(e);for(let[i,s]of n.searchParams.entries())r.searchParams.append(i,s);return r.toString()},"addQuery");async function zO(t,e){let r=(0,$b.getHandlerUserLogFunction)(e),n=e.route.handler.options,i=n.forwardSearch!==!1,s=n.followRedirects??!1;if(!n||typeof n.__rewriteFunction!="function")throw new KO.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:e.incomingRequestProperties,requestId:e.requestId,route:e.route,custom:e.custom},c=n.__rewriteFunction(t,a),u=i?JO(c,t.url):c,l=Date.now();r(`URL Rewriting to '${u}'`);let d=await fetch(u.toString(),{method:t.method,body:t.body,headers:t.headers,redirect:s?"follow":"manual"}),p=Date.now()-l;return r(`URL Rewrite received response ${d.status} - ${d.statusText} in ${p}ms`),(0,$b.logBadGatewayResponses)(d,e),d}o(zO,"urlRewriteHandler");Ma.urlRewriteHandler=zO});var Bb=_(ka=>{"use strict";Object.defineProperty(ka,"__esModule",{value:!0});ka.webSocketHandler=void 0;var Vb=k(),WO=Pp(),QO=Wt(),ZO=X(),YO=ei();async function XO(t,e){let r=ZO.Environment.instance,n=e.route.handler.options,i=(0,YO.getHandlerUserLogFunction)(e);if(!n||!n.rewritePattern)throw new Vb.ConfigurationError("WebSocket Handler must have option 'rewritePattern' specified");let s=t.headers.get("Upgrade");if(!s||s!=="websocket")return QO.HttpProblems.badRequest(t,e,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Vb.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:e.incomingRequestProperties,requestId:e.requestId,route:e.route,custom:e.custom},c=n.__rewriteFunction(t,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno){let p=new Headers(t.headers);if(c.startsWith("service:")){let h=await(0,WO.externalServiceTunnelConfig)(c),y=new URL(c);c=new URL(`${h.serviceBaseUrl}${y.pathname}${y.search}`).toString();for(let I in h.tunnelHeaders)p.set(I,h.tunnelHeaders[I])}c=c.replace(/^(http)/,"ws");try{if(p.get("Authorization")){let h=p.get("Authorization")?.replace("Bearer ","");c+=`?apiKey=${h}`}}catch{}let f=JSON.stringify({url:c});return new Response(f,{headers:p})}c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:t.method,headers:t.headers,body:t.body});if(l.status!==101||!l.webSocket){let p=await l.text(),f=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${p}'`;throw new Error(f)}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(XO,"webSocketHandler");ka.webSocketHandler=XO});var Gb=_(ti=>{"use strict";Object.defineProperty(ti,"__esModule",{value:!0});ti.webSocketPolicyProcessor=ti.getWebSocketPolicyFunctions=void 0;var eR=k(),tR=o((t,e)=>t.map((n,i)=>{let s;if(typeof n.module=="object"&&(s=n.module[n.export]),!s||typeof s!="function"){let a=e==="inbound"?"WebSocketInboundPolicy":"WebSocketOutboundPolicy",c=`policy in position: ${i+1}, export name: ${n.export}`;throw new eR.ConfigurationError(`${a} - Websocket policy must be a valid function (${c})`)}return s}),"getWebSocketPolicyFunctions");ti.getWebSocketPolicyFunctions=tR;var rR=o(async(t,e,r,n,i,s)=>{let a=t.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,e,n,i),a===void 0)return}}return a},"webSocketPolicyProcessor");ti.webSocketPolicyProcessor=rR});var Jb=_(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.webSocketPipelineHandler=void 0;var Hp=k(),nR=Wt(),iR=X(),oR=ei(),Fp=Gb();function Kb(t,e,r,n,i){t.addEventListener("close",()=>{e.close()}),t.addEventListener("error",s=>{n.log.error("WebSocket error: ",s),e.send(JSON.stringify(s))}),t.addEventListener("message",s=>{try{let c=o(async u=>{let l=await(0,Fp.webSocketPolicyProcessor)(u,t,e,r,n,i);l!==void 0&&e.send(l)},"innerPipeline")(s).catch(n.log.error);n.waitUntil(c)}catch(a){n.log.error(a)}})}o(Kb,"wireUpListeners");async function sR(t,e){let r=iR.Environment.instance,n=e.route.handler.options,i=(0,oR.getHandlerUserLogFunction)(e);if(!n||!n.rewritePattern)throw new Hp.ConfigurationError("WebSocket Pipeline Handler must have option 'rewritePattern' specified");let s=t.headers.get("Upgrade");if(!s||s!=="websocket")return nR.HttpProblems.badRequest(t,e,{detail:"Request must include header 'Upgrade: websocket'"});if(!n||typeof n.__rewriteFunction!="function")throw new Hp.ConfigurationError("Invalid options for this route");let a={incomingRequestProperties:e.incomingRequestProperties,requestId:e.requestId,route:e.route,custom:e.custom},c=n.__rewriteFunction(t,a),u=Date.now();if(i(`Attempting WebSocket connection to '${c}'`),r.isDeno)throw new Hp.ConfigurationError("Websocket pipeline handler is currently not supported on working-copy environments");c=c.replace(/^(ws)/,"http");let l=await fetch(c,{method:t.method,headers:t.headers,body:t.body});if(l.status!==101||!l.webSocket){let A=await l.text(),g=`WebSocket connection error - ${l.status}: ${l.statusText}, content: '${A}'`;throw new Error(g)}let d=new WebSocketPair,[p,f]=Object.values(d),h=Date.now()-u;i(`WebSocket connected, received response ${l.status} - ${l.statusText} in ${h}ms`);let y=l.webSocket;y.accept(),f.accept();let b=n.policies&&n.policies.inbound?(0,Fp.getWebSocketPolicyFunctions)(n.policies.inbound,"inbound"):[],I=n.policies&&n.policies.outbound?(0,Fp.getWebSocketPolicyFunctions)(n.policies.outbound,"outbound"):[];return Kb(f,y,t,e,b),Kb(y,f,t,e,I),new Response(null,{status:101,webSocket:p})}o(sR,"webSocketPipelineHandler");Ha.webSocketPipelineHandler=sR});var zb=_(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.DynaTraceLoggingPlugin=void 0;var aR=Oe(),qp=X(),cR=Zr(),uR=Zt(),lR=xt(),$p=class extends uR.LogPlugin{static{o(this,"DynaTraceLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new jp(this.options)}};Fa.DynaTraceLoggingPlugin=$p;var jp=class{static{o(this,"DynaTraceTransport")}constructor(e){this.#e=e.url,this.#t=e.apiToken,this.#n=qp.Environment.instance.loggingEnvironmentType,this.#i=qp.Environment.instance.loggingEnvironmentStage,this.#r=qp.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,lR.stringifyNonString)((0,cR.serializeError)(n)),severity:e.level,"log.source":e.logSource,requestId:e.requestId,"custom.environment":this.#r,"custom.environmentStage":this.#i,"custom.environmentType":this.#n,"custom.loggingId":e.loggingId,"custom.rayId":e.rayId===null?void 0:e.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=async e=>{e.length!==0&&await fetch(this.#e,{method:"POST",body:JSON.stringify(e),headers:{"content-type":"application/json; charset=utf-8",authorization:`Api-Token ${this.#t}`}})};batcher=new aR.BatchDispatch("dyna-trace-log-transport",10,this.#o)}});var Wb=_(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.LokiLoggingPlugin=void 0;var dR=Oe(),Vp=X(),pR=Zr(),fR=Zt(),hR=xt(),Bp=class extends fR.LogPlugin{static{o(this,"LokiLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Kp(this.options)}};qa.LokiLoggingPlugin=Bp;var Gp=class{static{o(this,"LokiStream")}constructor(e,r,n,i,s){this.level=e,this.environment=r,this.environmentType=n,this.environmentStage=i,this.requestId=s}job="zuplo";level;environment;environmentType;environmentStage;requestId;equals=e=>this.level===e.level&&this.requestId===e.requestId};function mR(t,e){return btoa(`${t}:${e}`)}o(mR,"createBasicDigest");var Kp=class{static{o(this,"LokiTransport")}constructor(e){this.#e=e.url,this.#t=mR(e.username,e.password),this.#n=Vp.Environment.instance.loggingEnvironmentType,this.#i=Vp.Environment.instance.loggingEnvironmentStage,this.#r=Vp.Environment.instance.deploymentName}#e;#t;#r;#n;#i;log(e,r){let n=new Gp(e.level,this.#r,this.#n,this.#i,e.requestId);e.messages.forEach(i=>{let s={stream:n,message:(0,hR.stringifyNonString)((0,pR.serializeError)(i)),nanoSecondEpoch:`${e.timestamp.getTime()}000000`};this.batcher.enqueue(s)}),r.waitUntil(this.batcher.waitUntilFlushed())}#o=e=>{let r={streams:[]};return e.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 e=>{if(e.length===0)return;let r=this.#o(e);await fetch(this.#e,{method:"POST",body:JSON.stringify(r),headers:{"content-type":"application/json",authorization:`Basic ${this.#t}`}})};batcher=new dR.BatchDispatch("loki-log-transport",10,this.#s)}});var Qb=_($a=>{"use strict";Object.defineProperty($a,"__esModule",{value:!0});$a.SumoLogicLoggingPlugin=void 0;var yR=Oe(),Jp=X(),gR=Zr(),bR=Zt(),_R=xt(),zp=class extends bR.LogPlugin{static{o(this,"SumoLogicLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Wp(this.options)}};$a.SumoLogicLoggingPlugin=zp;var Wp=class{static{o(this,"SumoLogicTransport")}constructor(e){this.#e=e.url,this.#i=e.category,this.#o=e.name,this.#r=Jp.Environment.instance.loggingEnvironmentType,this.#n=Jp.Environment.instance.loggingEnvironmentStage,this.#t=Jp.Environment.instance.deploymentName}#e;#t;#r;#n;#i;#o;log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().toISOString(),message:(0,_R.stringifyNonString)((0,gR.serializeError)(n)),severity:e.level,source:e.logSource,requestId:e.requestId,environment:this.#t,environmentType:this.#r,environmentStage:this.#n,rayId:e.rayId===null?void 0:e.rayId};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}#s=async e=>{if(e.length===0)return;let r=e.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 yR.BatchDispatch("sumo-logic-log-transport",10,this.#s)}});var Yb=_(ri=>{"use strict";Object.defineProperty(ri,"__esModule",{value:!0});ri.VMWareLogInsightTransport=ri.VMWareLogInsightLoggingPlugin=void 0;var ER=k(),wR=Oe(),Qp=X(),vR=Zt(),Zb=xt(),TR="d3a5b78f823648f5b1df4fe269d41172",Zp=class extends vR.LogPlugin{static{o(this,"VMWareLogInsightLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new ja(this.options)}};ri.VMWareLogInsightLoggingPlugin=Zp;var ja=class{static{o(this,"VMWareLogInsightTransport")}constructor(e){let r;try{r=new URL(e.url),r.pathname==="/"&&(r.pathname=`/api/v1/events/ingest/${e.agentId??TR}`)}catch{throw new ER.ConfigurationError(`Invalid option 'url' on 'VMWareLogInsightTransport' plugin. Must be a valid URL, received '${e.url}'`)}this.#e=r.toString(),this.#n=Qp.Environment.instance.loggingEnvironmentType,this.#i=Qp.Environment.instance.loggingEnvironmentStage,this.#r=Qp.Environment.instance.deploymentName,this.#o=e.onMessageSending,this.#t=e.textReplacements,e.fields&&(this.#s=Object.entries(e.fields).map(([n,i])=>({name:n,content:i})))}#e;#t;#r;#n;#i;#o;#s;log(e,r){let n=this.buildEntry(e,r);this.batcher.enqueue(n),r.waitUntil(this.batcher.waitUntilFlushed())}buildEntry(e,r){let n=(0,Zb.messagesToMultilineText)(e.messages);this.#t?.forEach(s=>{n=n.replaceAll(s[0],s[1])});let i={timestamp:Date.now(),text:n,fields:[{name:"severity",content:e.level.toUpperCase()},{name:"request_id",content:e.requestId},{name:"environment_type",content:this.#n},{name:"environment_stage",content:this.#i},{name:"log_source",content:e.logSource},{name:"atomic_counter",content:e.vectorClock}]};return e.rayId&&i.fields.push({name:"request_ray_id",content:e.rayId}),this.#r&&i.fields.push({name:"environment",content:this.#r}),this.#s&&i.fields.push(...this.#s),r.custom&&Object.entries(r.custom).forEach(([s,a])=>{let c=(0,Zb.stringifyNonStringToText)(a);c&&i.fields.push({name:s,content:c})}),this.#o&&(i=this.#o(i)),i}#a=async e=>{if(e.length===0)return;let r=await fetch(this.#e,{method:"POST",body:JSON.stringify({events:e}),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 wR.BatchDispatch("vmware-log-insights-log-transport",10,this.#a)};ri.VMWareLogInsightTransport=ja});var e_=_(ni=>{"use strict";Object.defineProperty(ni,"__esModule",{value:!0});ni.AWSLogTransport=ni.AWSLoggingPlugin=void 0;var SR=Up(),IR=Oe(),Xb=X(),PR=Zr(),AR=Zt(),OR=xt(),Yp=class extends AR.LogPlugin{static{o(this,"AWSLoggingPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Va(this.options)}};ni.AWSLoggingPlugin=Yp;var Va=class{static{o(this,"AWSLogTransport")}awsClient;environment;environmentType;logGroupName;logStreamName;region;batcher=new IR.BatchDispatch("aws-log-transport",10,async e=>{if(e.length===0)return;let r=JSON.stringify({logGroupName:this.logGroupName,logStreamName:this.logStreamName,logEvents:e});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:e,logStreamName:r,logGroupName:n,secretAccessKey:i,region:s}){this.awsClient=new SR.AwsClient({accessKeyId:e,secretAccessKey:i,service:"logs",region:s}),this.logGroupName=n,this.logStreamName=r,this.region=s,this.environmentType=Xb.Environment.instance.loggingEnvironmentType,this.environment=Xb.Environment.instance.deploymentName}log(e,r){e.messages.forEach(n=>{let i={timestamp:new Date().getTime(),message:JSON.stringify({data:(0,OR.stringifyNonString)((0,PR.serializeError)(n)),severity:e.level,source:e.logSource,environment:this.environment,requestId:e.requestId,environmentType:this.environmentType,rayId:e.rayId===null?void 0:e.rayId})};this.batcher.enqueue(i)}),r.waitUntil(this.batcher.waitUntilFlushed())}};ni.AWSLogTransport=Va});var t_=_(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.AWSLoggingPlugin=He.VMWareLogInsightLoggingPlugin=He.SumoLogicLoggingPlugin=He.LokiLoggingPlugin=He.GoogleCloudLoggingPlugin=He.DynaTraceLoggingPlugin=He.DataDogLoggingPlugin=void 0;var RR=ap();Object.defineProperty(He,"DataDogLoggingPlugin",{enumerable:!0,get:function(){return RR.DataDogLoggingPlugin}});var NR=zb();Object.defineProperty(He,"DynaTraceLoggingPlugin",{enumerable:!0,get:function(){return NR.DynaTraceLoggingPlugin}});var CR=da();Object.defineProperty(He,"GoogleCloudLoggingPlugin",{enumerable:!0,get:function(){return CR.GoogleCloudLoggingPlugin}});var xR=Wb();Object.defineProperty(He,"LokiLoggingPlugin",{enumerable:!0,get:function(){return xR.LokiLoggingPlugin}});var LR=Qb();Object.defineProperty(He,"SumoLogicLoggingPlugin",{enumerable:!0,get:function(){return LR.SumoLogicLoggingPlugin}});var DR=Yb();Object.defineProperty(He,"VMWareLogInsightLoggingPlugin",{enumerable:!0,get:function(){return DR.VMWareLogInsightLoggingPlugin}});var UR=e_();Object.defineProperty(He,"AWSLoggingPlugin",{enumerable:!0,get:function(){return UR.AWSLoggingPlugin}})});var r_=_(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.DataDogMetricsError=Or.DataDogMetricsTransport=Or.DataDogMetricsPlugin=void 0;var MR=Je(),kR=Oe(),HR=ss(),Xp=new WeakMap,FR={tags:[]},ef=class extends HR.MetricsPlugin{static{o(this,"DataDogMetricsPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Ba(this.options)}static setContext(e,r){let n=Xp.get(e);n||(n=FR);let i=Object.assign({...n},r);Xp.set(e,i)}};Or.DataDogMetricsPlugin=ef;var Ba=class{static{o(this,"DataDogMetricsTransport")}#e;#t;#r;#n;#i;#o=void 0;constructor(e){this.#e=e.apiKey,this.#t=e.url??"https://api.datadoghq.com/api/v2/series",this.#r=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},e.metrics),this.#i=e.include??{},this.#n=e.tags??[]}pushMetrics(e,r){this.#o===void 0&&(this.#o=new kR.BatchDispatch("data-dog-metrics-transport",10,this.dispatchFunction,MR.SystemLogMap.getLogger(r)));let n=Math.floor(e.timestamp.getTime()/1e3),i=this.#n.concat(Xp.get(r)?.tags??[]);if(this.#i.country&&i.push(`country:${e.country}`),this.#i.httpMethod&&i.push(`httpMethod:${e.method}`),this.#i.statusCode&&i.push(`statusCode:${e.statusCode}`),this.#i.path){let s=e.systemRouteName||e.routePath;i.push(`path:${s}`)}this.#r.latency&&this.#o.enqueue({metric:"zuplo.request.latency",type:3,points:[{timestamp:n,value:e.durationMs}],tags:i}),this.#r.requestContentLength&&e.requestContentLength&&this.#o.enqueue({metric:"zuplo.request.content_length",type:3,points:[{timestamp:n,value:e.requestContentLength}],tags:i}),this.#r.responseContentLength&&e.responseContentLength&&this.#o.enqueue({metric:"zuplo.response.content_length",type:3,points:[{timestamp:n,value:e.responseContentLength}],tags:i}),r.waitUntil(this.#o.waitUntilFlushed())}dispatchFunction=async e=>{if(e.length===0)return;let r=JSON.stringify({series:e}),n=await fetch(this.#t,{method:"POST",body:r,headers:{"content-type":"application/json","DD-API-KEY":this.#e}});if(!n.ok)throw new Ga(await n.text())}};Or.DataDogMetricsTransport=Ba;var Ga=class t extends Error{static{o(this,"DataDogMetricsError")}constructor(e){super(e),Object.setPrototypeOf(this,t.prototype)}};Or.DataDogMetricsError=Ga});var n_=_(Rr=>{"use strict";Object.defineProperty(Rr,"__esModule",{value:!0});Rr.DynaTraceMetricsError=Rr.DynaTraceMetricsTransport=Rr.DynatraceMetricsPlugin=void 0;var qR=Je(),$R=Oe(),jR=ss(),tf=new WeakMap,VR={dimensions:[]},rf=class extends jR.MetricsPlugin{static{o(this,"DynatraceMetricsPlugin")}options;constructor(e){super(),this.options=e}getTransport(){return new Ka(this.options)}static setContext(e,r){let n=tf.get(e);n||(n=VR);let i=Object.assign({...n},r);tf.set(e,i)}};Rr.DynatraceMetricsPlugin=rf;var Ka=class{static{o(this,"DynaTraceMetricsTransport")}apiToken;#e;#t;dimensions;#r;#n=void 0;constructor(e){this.apiToken=e.apiToken,this.#e=e.url,this.#t=Object.assign({latency:!0,requestContentLength:!0,responseContentLength:!0},e.metrics),this.#r=e.include??{},this.dimensions=e.dimensions??[]}pushMetrics(e,r){this.#n===void 0&&(this.#n=new $R.BatchDispatch("dynatrace-metrics-transport",10,this.dispatchFunction,qR.SystemLogMap.getLogger(r)));let n=Math.floor(e.timestamp.getTime()),i=this.dimensions.concat(tf.get(r)?.dimensions??[]);if(this.#r.country&&i.push(`country="${e.country}"`),this.#r.httpMethod&&i.push(`http_method="${e.method}"`),this.#r.statusCode&&i.push(`status_code="${e.statusCode}"`),this.#r.path){let a=e.systemRouteName||e.routePath;i.push(`path="${a}"`)}let s=i.join(",");this.#t.latency&&this.#n.enqueue(`zuplo.request.latency,${s} ${e.durationMs} ${n}`),this.#t.requestContentLength&&e.requestContentLength&&this.#n.enqueue(`zuplo.request.content_length,${s} ${e.requestContentLength} ${n}`),this.#t.responseContentLength&&e.responseContentLength&&this.#n.enqueue(`zuplo.response.content_length,${s} ${e.responseContentLength} ${n}`),r.waitUntil(this.#n.waitUntilFlushed())}dispatchFunction=async e=>{if(e.length===0)return;let r=e.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 Ja(await n.text())}};Rr.DynaTraceMetricsTransport=Ka;var Ja=class t extends Error{static{o(this,"DynaTraceMetricsError")}constructor(e){super(e),Object.setPrototypeOf(this,t.prototype)}};Rr.DynaTraceMetricsError=Ja});var i_=_(ii=>{"use strict";Object.defineProperty(ii,"__esModule",{value:!0});ii.DynatraceMetricsPlugin=ii.DataDogMetricsPlugin=void 0;var BR=r_();Object.defineProperty(ii,"DataDogMetricsPlugin",{enumerable:!0,get:function(){return BR.DataDogMetricsPlugin}});var GR=n_();Object.defineProperty(ii,"DynatraceMetricsPlugin",{enumerable:!0,get:function(){return GR.DynatraceMetricsPlugin}})});var o_=_(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});za.AuditLogDataStaxProvider=void 0;var nf=class{static{o(this,"AuditLogDataStaxProvider")}constructor(e){this.#e=e}#e;writeLogBatch=async e=>{await Promise.allSettled(e.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)})}))}};za.AuditLogDataStaxProvider=nf});var a_=_(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.AuditLogPlugin=void 0;var KR=Nt(),JR=Oe(),of=class extends KR.SystemRuntimePlugin{static{o(this,"AuditLogPlugin")}constructor(e,r){super(),this.#e=e,this.#t=r}#e;#t;async initialize(e){new sf(e,this.#e,this.#t)}};Wa.AuditLogPlugin=of;var s_=o(t=>{let e={};return t.forEach((r,n)=>{e[n]=r}),e},"serializableHeaders"),zR={requestFilter:async()=>!0,include:{request:{headers:!0,body:!0},response:{headers:!0,body:!0}}},sf=class{static{o(this,"AuditPluginImpl")}constructor(e,r,n){this.#t=r;let i={...zR};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,e.addRequestHook(this.#o),this.#r=new JR.BatchDispatch("audit-log",10,this.#n)}#e;#t;#r;#n=async e=>{await this.#t.writeLogBatch(e)};#i=async(e,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?s_(r.headers):void 0,body:this.#e.include?.request?.body?await r.text():void 0},response:{status:e.status,statusText:e.statusText,headers:this.#e.include?.response?.headers?s_(e.headers):void 0,body:this.#e.include?.response?.body?await e.text():void 0}};this.#r.enqueue(c),n.waitUntil(this.#r.waitUntilFlushed())}catch(c){n.log.error(c)}};#o=async(e,r)=>{try{if(!await this.#e.requestFilter(e,r))return e;let i=new Date,s=Date.now(),a=e.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(f=>{r.log.error(f)});r.waitUntil(p)}),e}catch(n){return r.log.error(n),e}}}});var c_=_(oi=>{"use strict";Object.defineProperty(oi,"__esModule",{value:!0});oi.StripeSignatureVerificationError=oi.StripeError=void 0;var Qa=class extends Error{static{o(this,"StripeError")}message;type;raw;rawType;headers;requestId;code;doc_url;param;detail;statusCode;charge;decline_code;payment_method_type;payment_intent;payment_method;setup_intent;source;constructor(e={}){super(e.message),this.type=this.constructor.name,this.raw=e,this.rawType=e.type,this.code=e.code,this.doc_url=e.doc_url,this.param=e.param,this.detail=e.detail,this.headers=e.headers,this.requestId=e.requestId,this.statusCode=e.statusCode,this.message=e.message,this.charge=e.charge,this.decline_code=e.decline_code,this.payment_intent=e.payment_intent,this.payment_method=e.payment_method,this.payment_method_type=e.payment_method_type,this.setup_intent=e.setup_intent,this.source=e.source}};oi.StripeError=Qa;var af=class extends Qa{static{o(this,"StripeSignatureVerificationError")}header;payload;constructor(e,r,n={}){super(n),this.header=e,this.payload=r}};oi.StripeSignatureVerificationError=af});var l_=_(si=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});si.computeHMACSignatureAsync=si.constructEventAsync=void 0;var on=c_(),WR="v1",QR=300;async function ZR(t,e,r,n=QR,i){return await XR(t,e,r,n,i),t instanceof Uint8Array?JSON.parse(new TextDecoder("utf8").decode(t)):JSON.parse(t)}o(ZR,"constructEventAsync");si.constructEventAsync=ZR;function YR(t,e){return`${e.timestamp}.${t}`}o(YR,"makeHMACContent");async function XR(t,e,r,n,i){let{decodedHeader:s,decodedPayload:a,details:c,suspectPayloadType:u}=e0(t,e,WR),l=/\s/.test(r),d=await u_(YR(a,c),r);return t0(a,s,c,d,n,u,l,i)}o(XR,"verifyHeaderAsync");function e0(t,e,r){if(!t)throw new on.StripeSignatureVerificationError(e,t,{message:"No webhook payload was provided."});let n=typeof t!="string"&&!(t instanceof Uint8Array),i=new TextDecoder("utf8"),s=t instanceof Uint8Array?i.decode(t):t;if(Array.isArray(e))throw new Error("Unexpected: An array was passed as a header, which should not be possible for the stripe-signature header.");if(e==null||e=="")throw new on.StripeSignatureVerificationError(e,t,{message:"No stripe-signature header value was provided."});let a=e instanceof Uint8Array?i.decode(e):e,c=r0(a,r);if(!c||c.timestamp===-1)throw new on.StripeSignatureVerificationError(a,s,{message:"Unable to extract timestamp and signatures from header"});if(!c.signatures.length)throw new on.StripeSignatureVerificationError(a,s,{message:"No signatures found with expected scheme"});return{decodedPayload:s,decodedHeader:a,details:c,suspectPayloadType:n}}o(e0,"parseEventDetails");function t0(t,e,r,n,i,s,a,c){let u=!!r.signatures.filter(f=>n0(f,n)).length,l=`
66
- Learn more about webhook signing and explore webhook integration examples for various frameworks at https://github.com/stripe/stripe-node#webhook-signing`,d=a?`
67
-
68
- Note: The provided signing secret contains whitespace. This often indicates an extra newline or space is in the value`:"";if(!u)throw s?new on.StripeSignatureVerificationError(e,t,{message:`Webhook payload must be provided as a string or a Buffer (https://nodejs.org/api/buffer.html) instance representing the _raw_ request body.Payload was provided as a parsed JavaScript object instead.
69
- Signature verification is impossible without access to the original signed material.
70
- `+l+`
71
- `+d}):new on.StripeSignatureVerificationError(e,t,{message:`No signatures found matching the expected signature for payload. Are you passing the raw request body you received from Stripe?
72
- If a webhook request is being forwarded by a third-party tool, ensure that the exact request body, including JSON formatting and new line style, is preserved.
73
- `+l+`
74
- `+d});let p=Math.floor((typeof c=="number"?c:Date.now())/1e3)-r.timestamp;if(i>0&&p>i)throw new on.StripeSignatureVerificationError(e,t,{message:"Timestamp outside the tolerance zone"});return!0}o(t0,"validateComputedSignature");function r0(t,e){return typeof t!="string"?null:t.split(",").reduce((r,n)=>{let i=n.split("=");return i[0]==="t"&&(r.timestamp=parseInt(i[1],10)),i[0]===e&&r.signatures.push(i[1]),r},{timestamp:-1,signatures:[]})}o(r0,"parseHeader");function n0(t,e){if(t.length!==e.length)return!1;let r=t.length,n=0;for(let i=0;i<r;++i)n|=t.charCodeAt(i)^e.charCodeAt(i);return n===0}o(n0,"secureCompare");async function u_(t,e){let r=new TextEncoder,n=await crypto.subtle.importKey("raw",r.encode(e),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),i=await crypto.subtle.sign("hmac",n,r.encode(t)),s=new Uint8Array(i),a=new Array(s.length);for(let c=0;c<s.length;c++)a[c]=cf[s[c]];return a.join("")}o(u_,"computeHMACSignatureAsync");si.computeHMACSignatureAsync=u_;var cf=new Array(256);for(let t=0;t<cf.length;t++)cf[t]=t.toString(16).padStart(2,"0")});var dt=_(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});Za.optionValidator=void 0;var ai=k(),i0=ct();function o0(t,e,r="policy"){let n=`${r} '${e}'`;if(!(0,i0.isObject)(t))throw new ai.ConfigurationError(`Options on ${n} is expected to be an object. Received the type '${typeof t}'.`);let i=o((c,u,l)=>{let d=t[c];if(!(l&&d===void 0)){if(d===void 0)throw new ai.ConfigurationError(`Value of '${String(c)}' on ${n} is required, but no value was set. If using an environment variable, check that it is set correctly.`);if(u==="array"&&Array.isArray(d))throw new ai.ConfigurationError(`Value of '${String(c)}' on ${n} must be an array. Received type ${typeof d}.`);if(typeof d!==u)throw new ai.ConfigurationError(`Value of '${String(c)}' on ${n} must be of type ${u}. Received type ${typeof d}.`);if(typeof d=="string"&&d.length===0)throw new ai.ConfigurationError(`Value of '${String(c)}' on ${n} must be a non-empty string. The value received is empty. If using an environment variable, check that it is set correctly.`);if(typeof d=="number"&&isNaN(d))throw new ai.ConfigurationError(`Value of '${String(c)}' on ${n} must be valid number. If using an environment variable, check that it is set correctly.`)}},"validate"),s=o((c,u)=>(i(c,u,!0),{optional:s,required:a}),"optional"),a=o((c,u)=>(i(c,u,!1),{optional:s,required:a}),"required");return{optional:s,required:a}}o(o0,"optionValidator");Za.optionValidator=o0});var lf=_(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});Ya.StripeWebhookVerificationInboundPolicy=void 0;var s0=Sn(),a0=de(),c0=l_(),u0=dt(),uf=class extends s0.InboundPolicy{static{o(this,"StripeWebhookVerificationInboundPolicy")}async handler(e,r){(0,u0.optionValidator)(this.options,this.policyName).required("signingSecret","string").optional("tolerance","number");let n=e.headers.get("stripe-signature");try{let i=await e.clone().text();await(0,c0.constructEventAsync)(i,n,this.options.signingSecret)}catch(i){let s=i.message;if(i.type&&i.type==="StripeSignatureVerificationError"){let a=i.message,u=/Note:(.*)/g.exec(a);s=u?u[1].trim():a,s.startsWith("No signatures found matching the expected signature for payload")&&(s="The Stripe Webhook Signature Secret provided is incorrect and does not match to the signature on the event received. Make sure your Zuplo configuration is correct.")}return r.log.error("Error validating stripe webhook",s),a0.HttpProblems.badRequest(e,r,{title:"Webhook Error",detail:s})}return e}};Ya.StripeWebhookVerificationInboundPolicy=uf});var p_=_(Xa=>{"use strict";Object.defineProperty(Xa,"__esModule",{value:!0});Xa.isStripeWebhookEvent=void 0;var d_=ct();function l0(t){return t!==null&&typeof t=="object"&&"id"in t&&(0,d_.isString)(t.id)&&"type"in t&&(0,d_.isString)(t.type)}o(l0,"isStripeWebhookEvent");Xa.isStripeWebhookEvent=l0});var f_=_(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.MeteringPlugin=void 0;var d0=Nt(),df=class extends d0.SystemRuntimePlugin{static{o(this,"MeteringPlugin")}};ec.MeteringPlugin=df});var hf=_(ff=>{"use strict";Object.defineProperty(ff,"__esModule",{value:!0});var pf=k(),p0={getSubscription:async({subscriptionId:t,stripeSecretKey:e,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/subscriptions/${t}`,{headers:{Authorization:`Bearer ${e}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving subscription from Stripe API.";throw r.error(s,i),new pf.RuntimeError(s)}return i},getCustomer:async({customerId:t,stripeSecretKey:e,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/customers/${t}`,{headers:{Authorization:`Bearer ${e}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving customer from Stripe API.";throw r.error(s,i),new pf.RuntimeError(s)}return i},getUpcomingInvoice:async({customerId:t,stripeSecretKey:e,logger:r})=>{let n=await fetch(`https://api.stripe.com/v1/invoices/upcoming?customer=${t}`,{headers:{Authorization:`Bearer ${e}`}}),i=await n.json();if(n.status!==200){let s="Error retrieving customer upcoming invoice from Stripe API.";throw r.error(s,i),new pf.RuntimeError(s)}return i}};ff.default=p0});var m_=_(Nr=>{"use strict";Object.defineProperty(Nr,"__esModule",{value:!0});Nr.deleteConsumer=Nr.createConsumerInvite=Nr.createConsumer=void 0;var mf=k(),yf=Je(),gf=X(),bf=jn(),_f="https://api-key-management-service-eq7z4lly2a-ue.a.run.app",h_="My API Key";async function f0({apiKeyBucketName:t,stripeSubscriptionId:e,stripeProductId:r,stripeCustomerId:n,managerEmail:i,managerSub:s,context:a}){let{authApiJWT:c}=gf.Environment.instance,u=new URL(`/v1/buckets/${t}/consumers`,_f);u.searchParams.set("with-api-key","true");let l=crypto.randomUUID(),d={name:l,description:h_,tags:{subscriptionExternalId:e,planExternalIds:[r]},metadata:{stripeSubscriptionId:e,stripeProductId:r,stripeCustomerId:n},managers:[{sub:s,email:i}]},p=await(0,bf.fetchRetry)({retryDelayMs:5,retries:2,logger:yf.SystemLogMap.getLogger(a)},u.toString(),{method:"POST",headers:{Authorization:`Bearer ${c}`,"content-type":"application/json"},body:JSON.stringify(d)}),f=await p.json();if(p.status!==200){let h="Error creating API Key Consumer";throw a.log.error(h,f),new mf.RuntimeError(h)}return a.log.info("Successfully created API Key Consumer",{consumerId:l,stripeSubscriptionId:e,stripeProductId:r}),l}o(f0,"createConsumer");Nr.createConsumer=f0;async function h0({apiKeyBucketName:t,stripeSubscriptionId:e,stripeProductId:r,stripeCustomerId:n,managerEmail:i,context:s}){let{authApiJWT:a}=gf.Environment.instance,c=new URL(`/v1/buckets/${t}/consumers`,_f);c.searchParams.set("with-api-key","true");let u=crypto.randomUUID(),l={name:u,description:h_,tags:{subscriptionExternalId:e,planExternalIds:[r]},metadata:{stripeSubscriptionId:e,stripeProductId:r,stripeCustomerId:n},managers:[i]},d=await(0,bf.fetchRetry)({retryDelayMs:5,retries:2,logger:yf.SystemLogMap.getLogger(s)},c.toString(),{method:"POST",headers:{Authorization:`Bearer ${a}`,"content-type":"application/json"},body:JSON.stringify(l)}),p=await d.json();if(d.status!==200){let f="Error creating API Key Consumer";throw s.log.error(f,p),new mf.RuntimeError(f)}return s.log.info("Successfully created API Key Consumer with Manager Invite",{consumerId:u,stripeSubscriptionId:e,stripeProductId:r}),u}o(h0,"createConsumerInvite");Nr.createConsumerInvite=h0;async function m0({apiKeyBucketName:t,consumerId:e,context:r}){let{authApiJWT:n}=gf.Environment.instance,i=new URL(`/v1/buckets/${t}/consumers/${e}`,_f);i.searchParams.set("with-api-key","true");let s=await(0,bf.fetchRetry)({retryDelayMs:5,retries:2,logger:yf.SystemLogMap.getLogger(r)},i.toString(),{method:"DELETE",headers:{Authorization:`Bearer ${n}`,"content-type":"application/json"},body:JSON.stringify({})});if(s.status!==204){let a=await s.json(),c="Error invalidating API Key Consumer";throw r.log.error(c,a),new mf.RuntimeError(c)}return r.log.info(`Successfully invalidated API Key Consumer '${e}`),e}o(m0,"deleteConsumer");Nr.deleteConsumer=m0});var tc=_(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.getSubscription=xr.updateSubscription=xr.createSubscription=void 0;var Cr=k(),Ef=Je(),wf=X(),vf=jn(),Tf=ct();async function y0({context:t,stripeSubscriptionId:e,stripeProductId:r,customerKey:n,meteringBucketId:i,meteringBucketRegion:s,customerExternalId:a,subscriptionStatus:c,metadata:u}){let l={status:c,type:"periodic",renewalStrategy:"monthly",region:s,subscriptionExternalId:e,planExternalIds:[r],customerKey:n,customerExternalId:a,metadata:u},{authApiJWT:d,meteringServiceUrl:p}=wf.Environment.instance;if(!(0,Tf.isNonEmptyString)(d))throw new Cr.SystemError("No Zuplo JWT token set.");let f=await(0,vf.fetchRetry)({retryDelayMs:5,retries:2,logger:Ef.SystemLogMap.getLogger(t)},`${p}/internal/v1/metering/${i}/subscriptions`,{headers:{Authorization:`Bearer ${d}`,"Content-Type":"application/json","zp-rid":t.requestId},method:"POST",body:JSON.stringify(l)});if(!f.ok){let h="Unable to create a monetization subscription.",y;try{y=await f.json()}catch{y={status:f.status,statusText:f.statusText}}throw t.log.error(h,y),new Cr.RuntimeError(h)}t.log.info("Successfully created monetization subscription.",l)}o(y0,"createSubscription");xr.createSubscription=y0;async function g0({context:t,meteringSubscriptionId:e,meteringBucketId:r,requestBody:n}){let{authApiJWT:i,meteringServiceUrl:s}=wf.Environment.instance;if(!(0,Tf.isNonEmptyString)(i))throw new Cr.SystemError("No Zuplo JWT token set.");let a=await(0,vf.fetchRetry)({retryDelayMs:5,retries:2,logger:Ef.SystemLogMap.getLogger(t)},`${s}/internal/v1/metering/${r}/subscriptions/${e}`,{headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json","zp-rid":t.requestId},method:"PATCH",body:JSON.stringify(n)});if(!a.ok){let c=`Unable to update monetization subscription with: '${JSON.stringify(n)}'.`,u;try{u=await a.json()}catch{u={status:a.status,statusText:a.statusText}}throw t.log.error(c,u),new Cr.RuntimeError(c)}t.log.info(`Successfully updated monetization subscription with: '${JSON.stringify(n)}'.`)}o(g0,"updateSubscription");xr.updateSubscription=g0;async function b0({context:t,stripeSubscriptionId:e,stripeCustomerId:r,meteringBucketId:n}){let{authApiJWT:i,meteringServiceUrl:s}=wf.Environment.instance;if(!(0,Tf.isNonEmptyString)(i))throw new Cr.SystemError("No Zuplo JWT token set.");let a=await(0,vf.fetchRetry)({retryDelayMs:5,retries:2,logger:Ef.SystemLogMap.getLogger(t)},`${s}/internal/v1/metering/${n}/subscriptions?subscriptionExternalId=${e}`,{headers:{Authorization:`Bearer ${i}`,"zp-rid":t.requestId},method:"GET"});if(!a.ok){let u="Unable to retrieve the monetization subscription.",l;try{l=await a.json()}catch{l={status:a.status,statusText:a.statusText}}throw t.log.error(u,l),new Cr.RuntimeError(u,l)}let c=await a.json();if(c.data.length===0){let u="Subscription was not found and the event was ignored by Zuplo.";throw t.log.error(u),new Cr.RuntimeError(u)}if(c.data[0].customerExternalId!==r){let u="Subscription was not found for the customer provided and the event was ignored by Zuplo.";throw t.log.error(u),new Cr.RuntimeError(u)}return c.data[0]}o(b0,"getSubscription");xr.getSubscription=b0});var so=_(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.stripeStatusToMeteringStatus=qt.MONETIZATION_DOC_ERROR_DETAIL=qt.SUCCESS_PROCESSING_WEBHOOK_EVENT=qt.UNABLE_PROCESS_WEBHOOK_EVENT=void 0;qt.UNABLE_PROCESS_WEBHOOK_EVENT="Unable to process webhook event.";qt.SUCCESS_PROCESSING_WEBHOOK_EVENT="Successfully processed webhook event";qt.MONETIZATION_DOC_ERROR_DETAIL="See https://zuplo.com/docs/articles/monetization-troubleshooting for more details.";function _0(t){return t.replaceAll("_","-")}o(_0,"stripeStatusToMeteringStatus");qt.stripeStatusToMeteringStatus=_0});var y_=_(ao=>{"use strict";var E0=ao&&ao.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ao,"__esModule",{value:!0});var Lr=de(),w0=X(),v0=E0(hf()),Sf=m_(),T0=tc(),$t=so();async function S0(t,e,r,n){let i=r.data.object.id;if(!i)return e.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),Lr.HttpProblems.badRequest(t,e,{title:$t.UNABLE_PROCESS_WEBHOOK_EVENT,detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.plan;if(!s||!s.product)return e.log.warn(`Invalid Stripe API result. Expected event '${r.id}' to have a plan data.`),Lr.HttpProblems.badRequest(t,e,{title:$t.UNABLE_PROCESS_WEBHOOK_EVENT,detail:"Invalid Stripe API result. Expected event to have a plan data."});let a=r.data.object.customer;if(!a)return e.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),Lr.HttpProblems.badRequest(t,e,{title:$t.UNABLE_PROCESS_WEBHOOK_EVENT,detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});if(r.data.object.metadata&&r.data.object.metadata.zuplo_created_by_deploymentName&&r.data.object.metadata.zuplo_created_by_deploymentName!==w0.Environment.instance.deploymentName)return e.log.warn(`Subscription event '${r.id}' will not be handled since it was not issued for this Zuplo environment. It was intended for '${r.data.object.metadata.zuplo_created_by_deploymentName}'.`),Lr.HttpProblems.badRequest(t,e,{title:$t.UNABLE_PROCESS_WEBHOOK_EVENT,detail:`This subscription event is not meant to be handled by this environment's Stripe monetization plugin. It was intended for '${r.data.object.metadata.zuplo_created_by_deploymentName}'. This can happen because of a misconfiguration of Stripe or your Zuplo API.`+$t.MONETIZATION_DOC_ERROR_DETAIL});let c=s.product,u,l,d;if(r.data.object.metadata&&r.data.object.metadata.zuplo_created_by_email&&r.data.object.metadata.zuplo_created_by_sub)l=r.data.object.metadata.zuplo_created_by_email,d=r.data.object.metadata.zuplo_created_by_sub,u=await(0,Sf.createConsumer)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:l,managerSub:d,context:e});else{let p=await v0.default.getCustomer({logger:e.log,stripeSecretKey:n.stripeSecretKey,customerId:a});if(!p.email)return e.log.warn(`Invalid Stripe API result. Expected customer '${a}' to contain email address.`),Lr.HttpProblems.badRequest(t,e,{title:$t.UNABLE_PROCESS_WEBHOOK_EVENT,detail:"Invalid Stripe API result. Expected customer to contain email address."});u=await(0,Sf.createConsumerInvite)({apiKeyBucketName:n.apiKeyBucketName,stripeProductId:c,stripeSubscriptionId:i,stripeCustomerId:a,managerEmail:p.email,context:e})}if(!u)return Lr.HttpProblems.internalServerError(t,e,{title:$t.UNABLE_PROCESS_WEBHOOK_EVENT,detail:"No API Key Consumer was created, skipping creation of subscription."});try{let p=(0,$t.stripeStatusToMeteringStatus)(r.data.object.status),f;l&&d&&(f={subscriber:{sub:d,email:l}}),await(0,T0.createSubscription)({context:e,stripeProductId:c,stripeSubscriptionId:i,customerKey:u,meteringBucketId:n.meteringBucketId,meteringBucketRegion:n.meteringBucketRegion,customerExternalId:a,subscriptionStatus:p,metadata:f})}catch(p){return await(0,Sf.deleteConsumer)({apiKeyBucketName:n.apiKeyBucketName,consumerId:u,context:e}),Lr.HttpProblems.internalServerError(t,e,{title:$t.UNABLE_PROCESS_WEBHOOK_EVENT,detail:p.message})}return Lr.HttpProblems.ok(t,e,{title:$t.SUCCESS_PROCESSING_WEBHOOK_EVENT})}o(S0,"onCustomerSubscriptionCreated");ao.default=S0});var b_=_(If=>{"use strict";Object.defineProperty(If,"__esModule",{value:!0});var co=de(),I0=X(),g_=tc(),sn=so();async function P0(t,e,r,n){let i=r.data.object.id;if(!i)return e.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to have '.data.object.id' be the subscription ID.`),co.HttpProblems.badRequest(t,e,{title:sn.UNABLE_PROCESS_WEBHOOK_EVENT,detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.customer;if(!s)return e.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),co.HttpProblems.badRequest(t,e,{title:sn.UNABLE_PROCESS_WEBHOOK_EVENT,detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});if(r.data.object.metadata&&r.data.object.metadata.zuplo_created_by_deploymentName&&r.data.object.metadata.zuplo_created_by_deploymentName!==I0.Environment.instance.deploymentName)return e.log.warn(`Subscription event '${r.id}' will not be handled since it was not issued for this Zuplo environment. It was intended for '${r.data.object.metadata.zuplo_created_by_deploymentName}'.`),co.HttpProblems.badRequest(t,e,{title:sn.UNABLE_PROCESS_WEBHOOK_EVENT,detail:`This 'customer.subscription.deleted' event is not meant to be handled by this environment's Stripe monetization plugin. It was intended for '${r.data.object.metadata.zuplo_created_by_deploymentName}'.This can happen because of a misconfiguration of Stripe or your Zuplo API.`+sn.MONETIZATION_DOC_ERROR_DETAIL});try{let a=await(0,g_.getSubscription)({context:e,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId});await(0,g_.updateSubscription)({context:e,meteringSubscriptionId:a.id,meteringBucketId:n.meteringBucketId,requestBody:{status:"canceled",planExternalIds:a.planExternalIds}})}catch(a){return co.HttpProblems.internalServerError(t,e,{title:sn.UNABLE_PROCESS_WEBHOOK_EVENT,detail:`The event 'customer.subscription.deleted' could not be processed. ${a.message} This can happen because of a misconfiguration of Stripe or your Zuplo API. `+sn.MONETIZATION_DOC_ERROR_DETAIL})}return co.HttpProblems.ok(t,e,{title:sn.SUCCESS_PROCESSING_WEBHOOK_EVENT})}o(P0,"onCustomerSubscriptionDeleted");If.default=P0});var __=_(uo=>{"use strict";var A0=uo&&uo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(uo,"__esModule",{value:!0});var Dr=de(),O0=X(),R0=A0(hf()),rc=tc(),tt=so();async function N0(t,e,r,n){let i=r.data.object.id;if(!i)return e.log.warn(`Invalid Stripe webhook event. Expected event '${r.id}' to include '.data.object.id' as the subscription ID.`),Dr.HttpProblems.badRequest(t,e,{title:tt.UNABLE_PROCESS_WEBHOOK_EVENT,detail:"Invalid Stripe webhook event. Expected '.data.object.id' to be the subscription ID."});let s=r.data.object.customer;if(!s)return e.log.warn(`Invalid Stripe webhook event. Expected '.data.object.customer' to be provided by event '${r.id}'`),Dr.HttpProblems.badRequest(t,e,{title:tt.UNABLE_PROCESS_WEBHOOK_EVENT,detail:"Invalid Stripe webhook event. Expected '.data.object.customer' to be provided"});if(r.data.object.metadata&&r.data.object.metadata.zuplo_created_by_deploymentName&&r.data.object.metadata.zuplo_created_by_deploymentName!==O0.Environment.instance.deploymentName)return e.log.warn(`Subscription event '${r.id}' will not be handled since it was not issued for this Zuplo environment. It was intended for '${r.data.object.metadata.zuplo_created_by_deploymentName}'.`),Dr.HttpProblems.badRequest(t,e,{title:tt.UNABLE_PROCESS_WEBHOOK_EVENT,detail:`This 'customer.subscription.updated' event is not meant to be handled by this environment's Stripe monetization plugin. It was intended for '${r.data.object.metadata.zuplo_created_by_deploymentName}'.This can happen because of a misconfiguration of Stripe or your Zuplo API.`+tt.MONETIZATION_DOC_ERROR_DETAIL});if(r.data.previous_attributes){let a=r.data.previous_attributes;if(a.status&&a.status!==r.data.object.status){try{e.log.debug(`Processing subscription status change from Stripe event '${r.id}'.`);let c=await(0,rc.getSubscription)({context:e,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId}),u=(0,tt.stripeStatusToMeteringStatus)(r.data.object.status);await(0,rc.updateSubscription)({context:e,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:u,planExternalIds:c.planExternalIds}})}catch(c){return Dr.HttpProblems.internalServerError(t,e,{title:tt.UNABLE_PROCESS_WEBHOOK_EVENT,detail:`The event 'customer.subscription.updated' could not be processed. ${c.message} This can happen because of a misconfiguration of Stripe or your Zuplo API. However, it also could be a temporary condition that happens when a subscription is created due to events being sent out of order. `+tt.MONETIZATION_DOC_ERROR_DETAIL})}return Dr.HttpProblems.ok(t,e,{title:tt.SUCCESS_PROCESSING_WEBHOOK_EVENT})}if(a.plan&&a.plan.product!==r.data.object.plan.product){try{e.log.debug(`Processing subscription plan change from Stripe event '${r.id}'.`);let c=await(0,rc.getSubscription)({context:e,stripeSubscriptionId:i,stripeCustomerId:s,meteringBucketId:n.meteringBucketId}),u=r.data.object.plan.product,d=(await R0.default.getUpcomingInvoice({customerId:s,logger:e.log,stripeSecretKey:n.stripeSecretKey})).lines.data.filter(f=>f.proration&&f.price.product===u),p=0;d.length===0?e.log.warn(`The plan change does not include proration details. Subscription event '${r.id}'`):p=parseFloat(d[0].unit_amount_excluding_tax)/d[0].price.unit_amount,await(0,rc.updateSubscription)({context:e,meteringSubscriptionId:c.id,meteringBucketId:n.meteringBucketId,requestBody:{status:c.status,planExternalIds:[u],prorate:p}})}catch(c){return Dr.HttpProblems.internalServerError(t,e,{title:tt.UNABLE_PROCESS_WEBHOOK_EVENT,detail:`The event 'customer.subscription.updated' could not be processed. ${c.message} This can happen because of a misconfiguration of Stripe or your Zuplo API. However, it also could be a temporary condition that happens when a subscription is created due to events being sent out of order. `+tt.MONETIZATION_DOC_ERROR_DETAIL})}return Dr.HttpProblems.ok(t,e,{title:tt.SUCCESS_PROCESSING_WEBHOOK_EVENT})}}return e.log.warn(`This update event '${r.id}' is not supported by Stripe monetization plugin webhook.`),Dr.HttpProblems.badRequest(t,e,{title:tt.UNABLE_PROCESS_WEBHOOK_EVENT,detail:"This 'customer.subscription.updated' event could not be processed. The Stripe monetization plugin only supports update events for subscription plan changes or subscription status changes."+tt.MONETIZATION_DOC_ERROR_DETAIL})}o(N0,"onCustomerSubscriptionUpdated");uo.default=N0});var w_=_(ci=>{"use strict";var Af=ci&&ci.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ci,"__esModule",{value:!0});ci.StripeMonetizationPlugin=void 0;var nc=ro(),ic=k(),C0=zt(),x0=lf(),E_=de(),L0=lr(),D0=In(),U0=Nl(),M0=bt(),k0=X(),H0=p_(),F0=dt(),q0=f_(),$0=Af(y_()),j0=Af(b_()),V0=Af(__()),oc=so(),Pf=class extends q0.MeteringPlugin{static{o(this,"StripeMonetizationPlugin")}options;constructor(e){super(),this.options=e}registerRoutes(e,r){let n=o(async(c,u)=>{if(this.options.__testMode===!0)return u.log.warn("Received Stripe webhook event of in test mode."),"success";let{meteringBucketId:l,apiKeyBucketName:d}=this.options;if(!l)if(nc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)l=nc.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new ic.ConfigurationError("StripeMonetizationPlugin - No 'meteringBucketId' property provided");if(!d)if(nc.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)d=nc.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new ic.ConfigurationError("StripeMonetizationPlugin - No 'apiKeyBucketName' property provided");if(!k0.Environment.instance.build.ACCOUNT_NAME)throw new ic.SystemError("Build environment is not configured correctly. Expected 'ACCOUNT_NAME' to be set.");let p=this.options.primaryDataRegion??"us-central1";if(!B0(p))throw new ic.ConfigurationError(`StripeMonetizationPlugin - The value '${p}' on the property 'primaryDataRegion' is invalid.`);let f=await c.json();if(!(0,H0.isStripeWebhookEvent)(f))return E_.HttpProblems.badRequest(c,u,{title:oc.UNABLE_PROCESS_WEBHOOK_EVENT,detail:"The event payload received was not in the expected format. This can happen because of a misconfiguration of Stripe or your Zuplo API. "+oc.MONETIZATION_DOC_ERROR_DETAIL});switch(u.log.info(`Received Stripe webhook event of type '${f.type}' with ID '${f.id}'.`),f.type){case"customer.subscription.created":return await(0,$0.default)(c,u,f,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.updated":return await(0,V0.default)(c,u,f,{meteringBucketId:l,apiKeyBucketName:d,meteringBucketRegion:p,stripeSecretKey:this.options.stripeSecretKey});case"customer.subscription.deleted":return await(0,j0.default)(c,u,f,{meteringBucketId:l});default:return E_.HttpProblems.badRequest(c,u,{title:oc.UNABLE_PROCESS_WEBHOOK_EVENT,detail:`Event '${f.type}' could not be processed because it is not supported by Stripe monetization plugin webhook. This can happen because of a misconfiguration of Stripe or your Zuplo API.`+oc.MONETIZATION_DOC_ERROR_DETAIL})}},"stripeWebhookHandler"),i=(0,D0.createInternalPolicyProcessor)({inboundPolicies:[new x0.StripeWebhookVerificationInboundPolicy({signingSecret:this.options.webhooks.signingSecret,tolerance:this.options.webhooks.tolerance},"stripe-webhook-verification")]});(0,F0.optionValidator)(this.options.webhooks,"StripeMonetizationPlugin","plugin").required("signingSecret","string").optional("tolerance","number");let s=new C0.Pipeline({processors:[L0.metricsProcessor,i],handler:n,gateway:r}),a=new M0.SystemRouteConfiguration({label:"PLUGIN_STRIPE_WEBHOOK_ROUTE",methods:["POST"],path:this.options.webhooks.routePath??"/__plugins/stripe/webhooks",systemRouteName:U0.SystemRouteName.StripePlugin});e.addRoute(a,s.execute)}};ci.StripeMonetizationPlugin=Pf;function B0(t){return t!==null&&typeof t=="string"&&["us-central1","us-east1","europe-west4"].includes(t)}o(B0,"isMetricsRegion")});var P_=_(ui=>{"use strict";Object.defineProperty(ui,"__esModule",{value:!0});ui.AmberfloMeteringInboundPolicy=ui.AmberfloMeteringPolicy=void 0;var v_=k(),G0=Oe(),T_=Qt(),I_=new WeakMap,S_={},Of=class{static{o(this,"AmberfloMeteringPolicy")}static setRequestProperties(e,r){I_.set(e,r)}};ui.AmberfloMeteringPolicy=Of;async function K0(t,e,r,n){if(!r.statusCodes)throw new v_.ConfigurationError(`Invalid AmberfloMeterInboundPolicy '${n}': options.statusCodes must be an array of HTTP status code numbers`);let i=(0,T_.statusCodesStringToNumberArray)(r.statusCodes);return e.addResponseSendingFinalHook(async s=>{if(i.includes(s.status)){let a=I_.get(e),c=r.customerId;if(r.customerIdPropertyPath){if(!t.user)throw new v_.RuntimeError(`Unable to apply customerIdPropertyPath '${r.customerIdPropertyPath}' as request.user is 'undefined'.`);c=(0,T_.getValueFromRequestUser)(t.user,r.customerIdPropertyPath,"customerIdPropertyPath")}let u=a?.customerId??c;if(!u){e.log.error(`Error in AmberfloMeterInboundPolicy '${n}': customerId cannot be undefined`);return}let l=a?.meterApiName??r.meterApiName;if(!l){e.log.error(`Error in AmberfloMeterInboundPolicy '${n}': meterApiName cannot be undefined`);return}let d=a?.meterValue??r.meterValue;if(!d){e.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)},f=S_[r.apiKey];if(!f){let h=r.apiKey,y=t.headers.get("zm-test-id")??"";f=new G0.BatchDispatch("amberflo-ingest-meter",10,async b=>{try{let I=r.url??"https://app.amberflo.io/ingest",A=await fetch(I,{method:"POST",body:JSON.stringify(b),headers:{"content-type":"application/json","x-api-key":h,"zm-test-id":y}});A.ok||e.log.error(`Unexpected response in AmberfloMeteringInboundPolicy '${n}'. ${A.status}: ${await A.text()}`)}catch(I){throw e.log.error(`Error in AmberfloMeteringInboundPolicy '${n}': ${I.message}`),I}}),S_[h]=f}f.enqueue(p),e.waitUntil(f.waitUntilFlushed())}}),t}o(K0,"AmberfloMeteringInboundPolicy");ui.AmberfloMeteringInboundPolicy=K0});var Rf=_(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.sha256=void 0;async function J0(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest({name:"SHA-256"},e);return[...new Uint8Array(r)].map(i=>i.toString(16).padStart(2,"0")).join("")}o(J0,"sha256");sc.sha256=J0});var tr=_(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});ac.getPolicyCacheName=void 0;var z0=Rf(),A_=new Map;async function W0(t,e){let r,n=A_.get(t);return n!==void 0?r=n:(r=`zuplo-policy-${await(0,z0.sha256)(JSON.stringify({policyName:t,options:e}))}`,A_.set(t,r)),r}o(W0,"getPolicyCacheName");ac.getPolicyCacheName=W0});var xf=_(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});cc.ApiKeyInboundPolicy=void 0;var Q0=tr(),Z0=Jt(),O_=ro(),Nf=k(),Y0=Wt(),R_=Je(),Cf=X(),X0=jn(),N_="key-metadata-cache-type";function eN(t,e){return e.authScheme===""?t:t.replace(`${e.authScheme} `,"")}o(eN,"getKeyValue");async function tN(t,e,r,n){if(!r.bucketName)if(O_.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME)r.bucketName=O_.environment.ZUPLO_API_KEY_SERVICE_BUCKET_NAME;else throw new Nf.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 Nf.ConfigurationError(`ApiKeyInboundPolicy '${n}' - minimum cacheTtlSeconds value is 60s, '${i.cacheTtlSeconds}' is invalid`);let s=o(I=>i.allowUnauthenticatedRequests?t:Y0.HttpProblems.unauthorized(t,e,{detail:I}),"unauthorizedResponse"),a=t.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=eN(a,i);if(!c||c==="")return s("No key present");let u=await rN(c),l=await(0,Q0.getPolicyCacheName)(n,i),d=new Z0.MemoryZoneReadThroughCache(l,e),p=await d.get(u);if(p&&p.isValid===!0)return t.user=p.user,t;if(p&&!p.isValid)return p.typeId!==N_&&R_.SystemLogMap.getLogger(e).error(`ApiKeyInboundPolicy '${n}' - cached metadata has invalid typeId '${p.typeId}'`,p),s("Authorization Failed");let f={key:c},h=await(0,X0.fetchRetry)({retryDelayMs:5,retries:2,logger:R_.SystemLogMap.getLogger(e)},`${Cf.Environment.instance.apiKeyServiceUrl}/v1/$validate/${i.bucketName}`,{method:"POST",headers:{"content-type":"application/json","zp-rid":e.requestId,"zp-dn":Cf.Environment.instance.deploymentName??"unknown","User-Agent":Cf.Environment.instance.systemUserAgent},body:JSON.stringify(f)});if(h.status===401)return e.log.info(`ApiKeyInboundPolicy '${n}' - 401 response from Key Service`),s("Authorization Failed");if(h.status!==200){try{let I=await h.text(),A=JSON.parse(I);e.log.error("Unexpected response from key service",A)}catch{e.log.error("Invalid response from key service")}throw new Nf.RuntimeError(`ApiKeyInboundPolicy '${n}' - unexpected response from Key Service. Status: ${h.status}`)}let y=await h.json(),b={isValid:!0,typeId:N_,user:{sub:y.name,data:y.metadata}};return t.user=b.user,d.put(u,b,i.cacheTtlSeconds),t}o(tN,"ApiKeyInboundPolicy");cc.ApiKeyInboundPolicy=tN;async function rN(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(rN,"hashValue")});var C_=_(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});uc.ApiAuthKeyInboundPolicy=void 0;var nN=xf();uc.ApiAuthKeyInboundPolicy=nN.ApiKeyInboundPolicy});var rr=_(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.OpenIdJwtInboundPolicy=void 0;var Df=(ca(),Ho(aa)),Uf=k(),iN=de(),Lf={},oN=o(async(t,e)=>{if(!e.jwkUrl||typeof e.jwkUrl!="string")throw new Uf.ConfigurationError("Invalid State - jwkUrl not set");Lf[e.jwkUrl]||(Lf[e.jwkUrl]=(0,Df.createRemoteJWKSet)(new URL(e.jwkUrl),e.headers?{headers:e.headers}:void 0));let{payload:r}=await(0,Df.jwtVerify)(t,Lf[e.jwkUrl],{issuer:e.issuer,audience:e.audience});return r},"jwkVerifier"),sN=o(async(t,e)=>{let r;if(e.secret===void 0)throw new Error("secretVerifier requires secret to be defined");if(typeof e.secret=="string"){let s=new TextEncoder().encode(e.secret);r=new Uint8Array(s)}else r=e.secret;let{payload:n}=await(0,Df.jwtVerify)(t,r,{issuer:e.issuer,audience:e.audience});return n},"secretVerifier"),aN=o(async(t,e,r,n)=>{let i=t.headers.get("Authorization"),s="bearer ",a=o(f=>iN.HttpProblems.unauthorized(t,e,{detail:f}),"unauthorizedResponse");if(!r.jwkUrl&&!r.secret)throw new Uf.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': One of 'jwkUrl' or 'secret' options are required.`);if(r.jwkUrl&&r.secret)throw new Uf.ConfigurationError(`OpenIdJwtInboundPolicy policy '${n}': Only one of 'jwkUrl' and 'secret' options should be provided.`);let c=r.jwkUrl?oN:sN,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 f=i.substring(s.length);if(!f||f.length===0)return a("No bearer token on authorization header");try{return await c(f,r)}catch(h){let y=new URL(t.url);return"code"in h&&h.code==="ERR_JWT_EXPIRED"?e.log.warn(`Expired token used on url: ${y.pathname} `,h):e.log.warn(`Invalid token on: ${t.method} ${y.pathname}`,h),a("Invalid token")}},"getJwtOrRejectedResponse")();if(l instanceof Response)return r.allowUnauthenticatedRequests===!0?t:l;let d=r.subPropertyName??"sub",p=l[d];return p?(t.user={sub:p,data:l},t):a(`Token is not valid, no '${d}' property found.`)},"OpenIdJwtInboundPolicy");lc.OpenIdJwtInboundPolicy=aN});var x_=_(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.Auth0JwtInboundPolicy=void 0;var cN=rr(),uN=o(async(t,e,r,n)=>(0,cN.OpenIdJwtInboundPolicy)(t,e,{issuer:`https://${r.auth0Domain}/`,audience:r.audience,jwkUrl:`https://${r.auth0Domain}/.well-known/jwks.json`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"Auth0JwtInboundPolicy");dc.Auth0JwtInboundPolicy=uN});var L_=_(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.BasicAuthInboundPolicy=void 0;var lN=de(),dN=o(async(t,e,r)=>{let n=t.headers.get("Authorization"),i="basic ",s=o(l=>lN.HttpProblems.unauthorized(t,e,{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 f=d.substring(0,p),h=d.substring(p+1),y=r.accounts.find(b=>b.username===f&&b.password===h);return y||await s("Invalid username or password")},"getAccountOrRejectedResponse")();if(c instanceof Response)return r.allowUnauthenticatedRequests?t:c;let u=c.username;return t.user={sub:u,data:c.data},t},"BasicAuthInboundPolicy");pc.BasicAuthInboundPolicy=dN});var D_=_(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.CachingInboundPolicy=void 0;var pN=tr(),fN=["cdn-cache-control","cloudflare-cdn-cache-control","surrogate-control","cache-tag","expires"];async function hN(t){let e=new TextEncoder().encode(t),r=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}o(hN,"digestMessage");var mN=o(async(t,e)=>{let r=[...e.dangerouslyIgnoreAuthorizationHeader===!0?[]:["authorization"],...e.headers??[]],n=[];for(let[d,p]of t.headers.entries())r.includes(d)&&n.push({key:d.toLowerCase(),value:p});n.sort((d,p)=>d.key.localeCompare(p.key));let i=await hN(JSON.stringify(n)),s=new URL(t.url),a=new URLSearchParams(s.searchParams);a.set("_z-hdr-dgst",i);let c=e.cacheHttpMethods?.includes(t.method.toUpperCase())&&t.method.toUpperCase()!=="GET";c&&a.set("_z-original-method",t.method);let u=`${s.origin}${s.pathname}?${a}`;return new Request(u,{method:c?"GET":t.method})},"createCacheKeyRequest");async function yN(t,e,r,n){let i=await(0,pN.getPolicyCacheName)(n,r),s=await caches.open(i),a=r?.cacheHttpMethods?.map(l=>l.toUpperCase())??["GET"],c=await mN(t,r),u=await s.match(c);return u||(e.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(t.method.toUpperCase()))return;let f=r?.expirationSecondsTtl??60,h=new Response(p.body,p);fN.forEach(y=>h.headers.delete(y)),h.headers.set("cache-control",`s-maxage=${f}`),e.waitUntil(s.put(c,h))}catch(d){e.log.error(`Error in caching-inbound-policy '${n}': "${d.message}"`,d)}}),t)}o(yN,"CachingInboundPolicy");fc.CachingInboundPolicy=yN});var U_=_(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.ChangeMethodInboundPolicy=void 0;var gN=k(),bN=Ke(),_N=o(async(t,e,r,n)=>{if(!r.method)throw new gN.ConfigurationError(`ChangeMethodInboundPolicy '${n}' options.method must be valid HttpMethod`);return new bN.ZuploRequest(t,{method:r.method})},"ChangeMethodInboundPolicy");hc.ChangeMethodInboundPolicy=_N});var M_=_(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.ClearHeadersInboundPolicy=void 0;var EN=Ke(),wN=o(async(t,e,r)=>{let n=[...r.exclude??[]],i=new Headers;return n.forEach(a=>{let c=t.headers.get(a);c&&i.set(a,c)}),new EN.ZuploRequest(t,{headers:i})},"ClearHeadersInboundPolicy");mc.ClearHeadersInboundPolicy=wN});var k_=_(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.ClearHeadersOutboundPolicy=void 0;var vN=o(async(t,e,r,n)=>{let i=[...n.exclude??[]],s=new Headers;return i.forEach(c=>{let u=t.headers.get(c);u&&s.set(c,u)}),new Response(t.body,{headers:s,status:t.status,statusText:t.statusText})},"ClearHeadersOutboundPolicy");yc.ClearHeadersOutboundPolicy=vN});var H_=_(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});gc.ClerkJwtInboundPolicy=void 0;var TN=rr(),SN=o(async(t,e,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,TN.OpenIdJwtInboundPolicy)(t,e,{issuer:i.href.slice(0,-1),jwkUrl:s.toString(),allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n)},"ClerkJwtInboundPolicy");gc.ClerkJwtInboundPolicy=SN});var q_=_(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.CognitoJwtInboundPolicy=void 0;var F_=k(),IN=rr(),PN=o(async(t,e,r,n)=>{if(!r.userPoolId)throw new F_.ConfigurationError("userPoolId must be set in the options for CognitoJwtInboundPolicy");if(!r.region)throw new F_.ConfigurationError("region must be set in the options for CognitoJwtInboundPolicy");return(0,IN.OpenIdJwtInboundPolicy)(t,e,{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");bc.CognitoJwtInboundPolicy=PN});var j_=_(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.CompositeInboundPolicy=void 0;var AN=k(),ON=Gr(),$_=In(),RN=o(async(t,e,r,n)=>{if(!r.policies||r.policies.length===0)throw new AN.ConfigurationError(`CompositeInboundPolicy '${n}' must have valid policies defined`);let i=ON.Gateway.instance,s=(0,$_.getInboundPolicyInstances)(r.policies,i?.routeData.policies);return(0,$_.toStackedInboundHandler)(s)(t,e)},"CompositeInboundPolicy");_c.CompositeInboundPolicy=RN});var V_=_(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.CurityPhantomTokenInboundPolicy=void 0;var NN=tr(),CN=Jt(),Ec=de(),xN=o(async(t,e,r,n)=>{let i=t.headers.get("Authorization");if(!i)return Ec.HttpProblems.unauthorized(t,e,{detail:"No authorization header"});let s=LN(i);if(!s)return Ec.HttpProblems.unauthorized(t,e,{detail:"Failed to parse token from Authorization header"});let a=await(0,NN.getPolicyCacheName)(n,r),c=new CN.MemoryZoneReadThroughCache(a,e),u=await c.get(s);if(!u){let l=await fetch(r.introspectionUrl,{headers:{Authorization:"Basic "+btoa(`${r.clientId}:${r.clientSecret}`),Accept:"application/jwt","Content-Type":"application/x-www-form-urlencoded"},method:"POST",body:"token="+s+"&token_type_hint=access_token"}),d=await l.text();if(l.status===200)u=d,c.put(s,u,r.cacheDurationSeconds??600);else return l.status>=500?(e.log.error(`Error introspecting token - ${l.status}: '${d}'`),Ec.HttpProblems.internalServerError(t,e,{detail:"Problem encountered authorizing the HTTP request"})):Ec.HttpProblems.unauthorized(t,e)}return t.headers.set("Authorization",`Bearer ${u}`),t},"CurityPhantomTokenInboundPolicy");wc.CurityPhantomTokenInboundPolicy=xN;function LN(t){return t.split(" ")[0]==="Bearer"?t.split(" ")[1]:null}o(LN,"getToken")});var B_=_(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.FirebaseJwtInboundPolicy=void 0;var DN=dt(),UN=rr(),MN=o(async(t,e,r,n)=>((0,DN.optionValidator)(r,n).required("projectId","string").optional("allowUnauthenticatedRequests","boolean"),(0,UN.OpenIdJwtInboundPolicy)(t,e,{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");vc.FirebaseJwtInboundPolicy=MN});var G_=_(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});Tc.FormDataToJsonInboundPolicy=void 0;var kN=Ke(),HN=o(async(t,e,r)=>{let n="application/x-www-form-urlencoded",i="multipart/form-data",s=t.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"}):t;let a=await t.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(t.headers);return u.set("content-type","application/json"),u.delete("content-length"),new kN.ZuploRequest(t,{body:JSON.stringify(c),headers:u})},"FormDataToJsonInboundPolicy");Tc.FormDataToJsonInboundPolicy=HN});var K_=_(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});Sc.GeoFilterInboundPolicy=void 0;var FN=k(),qN=de(),li="__unknown__",$N=o(async(t,e,r,n)=>{let i={allow:{countries:pi(r.allow?.countries,"allow.countries",n),regionCodes:pi(r.allow?.regionCodes,"allow.regionCode",n),asns:pi(r.allow?.asns,"allow.asOrganization",n)},block:{countries:pi(r.block?.countries,"block.countries",n),regionCodes:pi(r.block?.regionCodes,"block.regionCode",n),asns:pi(r.block?.asns,"block.asOrganization",n)},ignoreUnknown:r.ignoreUnknown!==!1},s=e.incomingRequestProperties.country?.toLowerCase()??li,a=e.incomingRequestProperties.regionCode?.toLowerCase()??li,c=e.incomingRequestProperties.asn?.toString()??li,u=i.ignoreUnknown&&s===li,l=i.ignoreUnknown&&a===li,d=i.ignoreUnknown&&c===li,p=i.allow.countries,f=i.allow.regionCodes,h=i.allow.asns;if(p.length>0&&!p.includes(s)&&!u||f.length>0&&!f.includes(a)&&!l||h.length>0&&!h.includes(c)&&!d)return di(t,e,n,s,a,c);let y=i.block.countries,b=i.block.regionCodes,I=i.block.asns;return y.length>0&&y.includes(s)&&!u||b.length>0&&b.includes(a)&&!l||I.length>0&&I.includes(c)&&!d?di(t,e,n,s,a,c):t},"GeoFilterInboundPolicy");Sc.GeoFilterInboundPolicy=$N;function di(t,e,r,n,i,s){return e.log.debug(`Request blocked by GeoFilterInboundPolicy '${r}' (country: '${n}', regionCode: '${i}', asn: '${s}')`),qN.HttpProblems.forbidden(t,e,{geographicContext:{country:n,regionCode:i,asn:s}})}o(di,"blockedResponse");function pi(t,e,r){if(typeof t=="string")return t.split(",").map(n=>n.trim().toLowerCase());if(typeof t>"u")return[];if(Array.isArray(t))return t.map(n=>n.trim().toLowerCase());throw new FN.ConfigurationError(`Invalid '${e}' for GeoFilterInboundPolicy '${r}': '${t}', must be a string or string[]`)}o(pi,"toLowerStringArray")});var J_=_(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.JWTScopeValidationInboundPolicy=void 0;var jN=o(async(t,e,r)=>{let n=t.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 t},"JWTScopeValidationInboundPolicy");Ic.JWTScopeValidationInboundPolicy=jN});var W_=_(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});Pc.MockApiInboundPolicy=void 0;var VN=de(),BN=o(async(t,e,r,n)=>{let i=e.route.raw().responses;if(!i)return Mf(n,t,e,"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 Mf(n,t,e,"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(f=>{a.push({responseName:c,contentName:l,exampleName:f,exampleValue:d[f]})})})}),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 z_(a[c])}else return a.length>0?z_(a[0]):Mf(n,t,e,"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");Pc.MockApiInboundPolicy=BN;function z_(t){let e=JSON.stringify(t.exampleValue,null,2),r=new Headers;switch(r.set("Content-Type",t.contentName),t.responseName){case"1XX":return new Response(e,{status:100,headers:r});case"2XX":return new Response(e,{status:200,headers:r});case"3XX":return new Response(e,{status:300,headers:r});case"4XX":return new Response(e,{status:400,headers:r});case"5XX":case"default":return new Response(e,{status:500,headers:r});default:return new Response(e,{status:Number(t.responseName),headers:r})}}o(z_,"generateResponse");var Mf=o((t,e,r,n)=>{let i=`Error in policy: ${t} - On route ${e.method} ${r.route.path}. ${n}`;return VN.HttpProblems.internalServerError(e,r,{detail:i})},"getProblemDetailResponse")});var eE=_(fi=>{"use strict";Object.defineProperty(fi,"__esModule",{value:!0});fi.MoesifInboundPolicy=fi.setMoesifContext=void 0;var GN=k(),KN=Oe(),JN="Incoming",zN={logRequestBody:!0,logResponseBody:!0};function Q_(t){let e={};return t.forEach((r,n)=>{e[n]=r}),e}o(Q_,"headersToObject");function Z_(){return new Date().toISOString()}o(Z_,"timestamp");var kf=new WeakMap,WN={};function QN(t,e){let r=kf.get(t);r||(r=WN);let n=Object.assign({...r},e);kf.set(t,n)}o(QN,"setMoesifContext");fi.setMoesifContext=QN;async function Y_(t,e){let r=t.headers.get("content-type");if(r&&r.indexOf("json")!==0)try{return await t.clone().json()}catch(i){e.log.error(i)}let n=await t.clone().text();return e.log.debug({textBody:n}),n}o(Y_,"readBody");var ZN={},Hf;function X_(){if(!Hf)throw new GN.RuntimeError("Invalid State - no _lastLogger");return Hf}o(X_,"getLastLogger");function YN(t){let e=ZN[t];return e||(e=new KN.BatchDispatch("moesif-inbound",100,async r=>{let n=JSON.stringify(r);X_().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":t},body:n});i.ok||X_().error({status:i.status,body:await i.text()})})),e}o(YN,"getDispatcher");async function XN(t,e,r,n){Hf=e.log;let i=Z_(),s=Object.assign(zN,r);if(!s.applicationId)throw new Error(`Invalid configuration for MoesifInboundPolicy '${n}' - applicationId is required`);let a=s.logRequestBody?await Y_(t,e):void 0;return e.addResponseSendingFinalHook(async(c,u)=>{let l=YN(s.applicationId),d=t.headers.get("true-client-ip"),p=kf.get(e)??{},f={time:i,uri:t.url,verb:t.method,body:a,ip_address:d??void 0,api_version:p.apiVersion,headers:Q_(t.headers)},h=s.logResponseBody?await Y_(c,e):void 0,y={time:Z_(),status:c.status,headers:Q_(c.headers),body:h},b={request:f,response:y,user_id:p.userId??u.user?.sub,session_token:p.sessionToken,company_id:p.companyId,metadata:p.metadata,direction:JN};l.enqueue(b),e.waitUntil(l.waitUntilFlushed())}),t}o(XN,"MoesifInboundPolicy");fi.MoesifInboundPolicy=XN});var nE=_(hi=>{"use strict";Object.defineProperty(hi,"__esModule",{value:!0});hi.consumeSubcriptionQuotas=hi.loadSubscription=void 0;var tE=Je(),rE=X();async function eC(t,e,r,n){let i=tE.SystemLogMap.getLogger(t),{authApiJWT:s,meteringServiceUrl:a}=rE.Environment.instance,c;try{let l=await fetch(`${a}/internal/v1/metering/${n}/subscriptions?customerKey=${e}`,{headers:{Authorization:`Bearer ${s}`,"zp-rid":t.requestId},method:"GET"});if(l.ok)c=await l.json();else{let d=await l.json(),p=d.detail??d.title??"Unknown error on quota consumption.";t.log.error(`MonetizationInboundPolicy '${r}' - Error loading subscription. ${l.status} - ${p}`),i.error(`MonetizationInboundPolicy '${r}' - Error loading subscription.${l.status} - ${p}`)}}catch(l){i.error(`MonetizationInboundPolicy '${r}' - Error loading subscription`,l)}return c&&c.data&&c.data.length>0?c.data[0]:void 0}o(eC,"loadSubscription");hi.loadSubscription=eC;async function tC(t,e,r,n,i){let{authApiJWT:s,meteringServiceUrl:a}=rE.Environment.instance,c=tE.SystemLogMap.getLogger(t);try{let u=await fetch(`${a}/internal/v1/metering/${n}/subscriptions/${e}/quotas/consume`,{headers:{Authorization:`Bearer ${s}`,"zp-rid":t.requestId},method:"POST",body:JSON.stringify({meters:i})});if(!u.ok){let l=await u.json(),d=l.detail??l.title??"Unknown error on quota consumption.";t.log.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota. ${u.status} - ${d}`),c.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota. ${u.status} - ${d}`)}}catch(u){t.log.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota.`),c.error(`MonetizationInboundPolicy '${r}' - Error updating subscription quota.`,u)}}o(tC,"consumeSubcriptionQuotas");hi.consumeSubcriptionQuotas=tC});var iE=_(Ur=>{"use strict";Object.defineProperty(Ur,"__esModule",{value:!0});Ur.compareMeters=Ur.parseAllowedSubscriptionStatuses=Ur.validateMeters=void 0;var an=k(),rC=Qt(),nC=new Set(["active","inactive","incomplete","incomplete-expired","trialing","past-due","canceled","unpaid"]);function iC(t,e){try{let r=[];for(let n in t)typeof t[n]!="number"&&!(Number.isInteger(t[n])&&/^-?\d+$/.test(t[n].toString()))&&r.push(n);if(r.length>0)throw new an.ConfigurationError(r.length>1?`The values found in these properties are not integers : ${r.join(", ")}`:`The value in property '${r[0]}' is not an integer`)}catch(r){throw r instanceof an.ConfigurationError?new an.ConfigurationError(`MonetizationInboundPolicy '${e}' - The property 'meters' is invalid. ${r.message}`):r}}o(iC,"validateMeters");Ur.validateMeters=iC;function oC(t,e){if(t)try{if(t.length===0)throw new an.ConfigurationError("Must set valid subscription statuses");let r=(0,rC.parseValueToStringArray)(t),n=[];for(let i of r)nC.has(i)||n.push(i);if(n.length>0)throw new an.ConfigurationError(`Found the following invalid statuses: ${n.join(", ")}`);return t}catch(r){throw r instanceof an.ConfigurationError?new an.ConfigurationError(`MonetizationInboundPolicy '${e}' - The property 'allowedSubscriptionStatuses' is invalid. ${r.message}`):r}else return["active","incomplete","trialing"]}o(oC,"parseAllowedSubscriptionStatuses");Ur.parseAllowedSubscriptionStatuses=oC;function sC(t,e){let r={},n={};for(let i in e)t.hasOwnProperty(i)?r[i]=e[i]:n[i]=e[i];return{metersInSubscription:r,metersNotInSubscription:n}}o(sC,"compareMeters");Ur.compareMeters=sC});var aE=_(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});Oc.MonetizationInboundPolicy=void 0;var cn=Vr(),un=Ip(),Ac=ro(),oE=k(),aC=Sn(),ln=de(),cC=Qt(),uC=dt(),sE=nE(),lo=iE(),Ff=class extends aC.InboundPolicy{static{o(this,"MonetizationInboundPolicy")}static getSubscription(e){return un.ContextData.get(e,cn.METERING_SUBSCRIPTION_CONTEXT_DATA)}static setMeters(e,r){(0,lo.validateMeters)(r,"setMeters"),un.ContextData.set(e,cn.DYNAMIC_METERS_CONTEXT_DATA,r)}async handler(e,r){(0,uC.optionValidator)(this.options,this.policyName).optional("allowRequestsWithoutSubscription","boolean").optional("allowRequestsOverQuota","boolean").optional("bucketId","string"),this.options.meterOnStatusCodes||(this.options.meterOnStatusCodes="200-399");let n=this.options.allowRequestsOverQuota??!1,i=(0,cC.statusCodesStringToNumberArray)(this.options.meterOnStatusCodes),s=un.ContextData.get(r,cn.DYNAMIC_METERS_CONTEXT_DATA),a={...this.options.meters,...s};(0,lo.validateMeters)(a,this.policyName);let c=this.options.allowRequestsWithoutSubscription??!1,u=(0,lo.parseAllowedSubscriptionStatuses)(this.options.allowedSubscriptionStatuses,this.policyName);r.addResponseSendingFinalHook(async(b,I,A)=>{let g=un.ContextData.get(A,cn.METERING_SUBSCRIPTION_CONTEXT_DATA);if((this.options.allowRequestsWithoutSubscription??!1)&&!g){A.log.debug(`MonetizationInboundPolicy '${this.policyName}' - No subscription found and property 'allowRequestsWithoutSubscription' is true`);return}if(!this.options.bucketId)if(Ac.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)this.options.bucketId=Ac.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new oE.ConfigurationError(`MonetizationInboundPolicy '${this.policyName}' - No bucketId property provided`);let R=un.ContextData.get(A,cn.DYNAMIC_METERS_CONTEXT_DATA),V={...this.options.meters,...R};if((0,lo.validateMeters)(V,this.policyName),i.includes(b.status)&&g&&V){A.log.debug(`MonetizationInboundPolicy '${this.policyName}' - Updating subscription '${g.id}' with meters '${JSON.stringify(V)} on response status '${b.status}'`);let{metersInSubscription:E,metersNotInSubscription:T}=(0,lo.compareMeters)(g.meters,V);if(T&&Object.keys(T).length>0){let C=Object.keys(T);A.log.warn(`The following meters cannot be applied since they are not present in the subscription: '${C}'`)}await(0,sE.consumeSubcriptionQuotas)(A,g.id,this.policyName,this.options.bucketId,E)}});let l=e.user;if(!l)return c?e:ln.HttpProblems.unauthorized(e,r,{detail:"Unable to check subscription for anonymous user"});if(!this.options.bucketId)if(Ac.environment.ZUPLO_METERING_SERVICE_BUCKET_ID)this.options.bucketId=Ac.environment.ZUPLO_METERING_SERVICE_BUCKET_ID;else throw new oE.ConfigurationError(`MonetizationInboundPolicy '${this.policyName}' - No bucketId property provided`);let{sub:d}=l,p=await(0,sE.loadSubscription)(r,d,this.policyName,this.options.bucketId);if(!p)return r.log.warn("No valid subscription found"),c?e:ln.HttpProblems.unauthorized(e,r,{detail:"No valid subscription found"});if(!u.includes(p.status)&&!c)return r.log.warn(`Subscription '${p.id}' has status '${p.status}' which is not part of the allowed statuses.`),ln.HttpProblems.unauthorized(e,r,{detail:"No valid subscription found"});u.includes(p.status)&&(r.log.debug(`Loading subscription '${p.id}' for user sub '${d}' to ContextData`),un.ContextData.set(r,cn.METERING_SUBSCRIPTION_CONTEXT_DATA,p));let f=un.ContextData.get(r,cn.METERING_SUBSCRIPTION_CONTEXT_DATA);if(!f)return c?e:(r.log.warn("Subscription is not available for user"),ln.HttpProblems.paymentRequired(e,r,{detail:"Subscription is not available for user",title:"No Subscription"}));if(f&&Object.keys(f.meters).length===0)return r.log.error(`Quota is not set up for subscription '${f.id}'`),ln.HttpProblems.tooManyRequests(e,r,{detail:"Quota is not set up for the user's subscription",title:"Quota Exceeded"});let y=Object.keys(a).filter(b=>!Object.keys(f.meters).includes(b));if(y.length>0)return r.log.warn(`The following policy meters are not present in the subscription: ${y.join(", ")}`),ln.HttpProblems.tooManyRequests(e,r,{detail:`The following policy meters are not present in the subscription: ${y.join(", ")}`,title:"Quota Exceeded"});for(let b of Object.keys(a))if(f.meters[b].available<=0&&!n)return ln.HttpProblems.tooManyRequests(e,r,{detail:`Quota exceeded for meter '${b}'`,title:"Quota Exceeded"});return e}};Oc.MonetizationInboundPolicy=Ff});var cE=_(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.OktaJwtInboundPolicy=void 0;var lC=rr(),dC=o(async(t,e,r,n)=>(0,lC.OpenIdJwtInboundPolicy)(t,e,{issuer:r.issuerUrl,audience:r.audience,jwkUrl:`${r.issuerUrl}/v1/keys`,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests},n),"OktaJwtInboundPolicy");Rc.OktaJwtInboundPolicy=dC});var uE=_(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});Nc.PropelAuthJwtInboundPolicy=void 0;var pC=(ca(),Ho(aa)),fC=rr(),qf,hC=o(async(t,e,r,n)=>{if(!qf)try{qf=await(0,pC.importSPKI)(r.verifierKey,"RS256")}catch(i){throw e.log.error("Could not import verifier key"),i}return(0,fC.OpenIdJwtInboundPolicy)(t,e,{issuer:r.authUrl,secret:qf,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests,subPropertyName:"user_id"},n)},"PropelAuthJwtInboundPolicy");Nc.PropelAuthJwtInboundPolicy=hC});var lE=_(Y=>{"use strict";Object.defineProperty(Y,"__esModule",{value:!0});Y.throwIfStateNotObject=Y.throwIfStateNotNumber=Y.throwIfStateNotString=Y.throwIfStateUndefinedOrNull=Y.throwIfStateUndefined=Y.throwIfOptionNotObject=Y.throwIfOptionNotNumber=Y.throwIfOptionNotString=Y.throwIfOptionUndefinedOrNull=Y.throwIfOptionUndefined=Y.OptionTypeError=Y.OptionUndefinedError=Y.throwIfNotNumber=Y.throwIfNotString=Y.throwIfUndefinedOrNull=Y.throwIfUndefined=Y.ArgumentTypeError=Y.ArgumentUndefinedError=Y.ValidationError=void 0;var Ze=ct(),pt=class extends Error{static{o(this,"ValidationError")}constructor(e){super(e)}};Y.ValidationError=pt;var po=class extends pt{static{o(this,"ArgumentUndefinedError")}constructor(e){super(`The argument '${e}' is undefined.`)}};Y.ArgumentUndefinedError=po;var fo=class extends pt{static{o(this,"ArgumentTypeError")}constructor(e,r){super(`The argument '${e}' must be of type '${r}'.`)}};Y.ArgumentTypeError=fo;function mC(t,e){if((0,Ze.isUndefined)(t))throw new po(e)}o(mC,"throwIfUndefined");Y.throwIfUndefined=mC;function $f(t,e){if((0,Ze.isUndefinedOrNull)(t))throw new po(e)}o($f,"throwIfUndefinedOrNull");Y.throwIfUndefinedOrNull=$f;function yC(t,e){if($f(t,e),!(0,Ze.isString)(t))throw new fo(e,"string")}o(yC,"throwIfNotString");Y.throwIfNotString=yC;function gC(t,e){if($f(t,e),!(0,Ze.isNumber)(t))throw new fo(e,"number")}o(gC,"throwIfNotNumber");Y.throwIfNotNumber=gC;var ho=class extends pt{static{o(this,"OptionUndefinedError")}constructor(e,r,n){super(`The option '${n}' on the ${e} named '${r}' is undefined.`)}};Y.OptionUndefinedError=ho;var mi=class extends pt{static{o(this,"OptionTypeError")}constructor(e,r,n,i){super(`The option '${n}' on the ${e} named '${r}' must be of type '${i}'.`)}};Y.OptionTypeError=mi;function bC(t,e,r,n){if((0,Ze.isUndefined)(n))throw new ho(t,e,r)}o(bC,"throwIfOptionUndefined");Y.throwIfOptionUndefined=bC;function Cc(t,e,r,n){if((0,Ze.isUndefinedOrNull)(n))throw new ho(t,e,r)}o(Cc,"throwIfOptionUndefinedOrNull");Y.throwIfOptionUndefinedOrNull=Cc;function _C(t,e,r,n){if(Cc(t,e,r,n),!(0,Ze.isString)(n))throw new mi(t,e,r,"string")}o(_C,"throwIfOptionNotString");Y.throwIfOptionNotString=_C;function EC(t,e,r,n){if(Cc(t,e,r,n),!(0,Ze.isNumber)(n))throw new mi(t,e,r,"number")}o(EC,"throwIfOptionNotNumber");Y.throwIfOptionNotNumber=EC;function wC(t,e,r,n){if(Cc(t,e,r,n),!(0,Ze.isObject)(n))throw new mi(t,e,r,"object")}o(wC,"throwIfOptionNotObject");Y.throwIfOptionNotObject=wC;function vC(t,e){if((0,Ze.isUndefined)(t))throw new pt(e)}o(vC,"throwIfStateUndefined");Y.throwIfStateUndefined=vC;function xc(t,e){if((0,Ze.isUndefinedOrNull)(t))throw new pt(e)}o(xc,"throwIfStateUndefinedOrNull");Y.throwIfStateUndefinedOrNull=xc;function TC(t,e){if(xc(t,e),!(0,Ze.isString)(t))throw new pt(e);return!0}o(TC,"throwIfStateNotString");Y.throwIfStateNotString=TC;function SC(t,e){if(xc(t,e),!(0,Ze.isNumber)(t))throw new pt(e);return!0}o(SC,"throwIfStateNotNumber");Y.throwIfStateNotNumber=SC;function IC(t,e){if(xc(t,e),!(0,Ze.isObject)(t))throw new pt(e);return!0}o(IC,"throwIfStateNotObject");Y.throwIfStateNotObject=IC});var dE=_(yi=>{"use strict";Object.defineProperty(yi,"__esModule",{value:!0});yi.InMemoryRedisClient=yi.StandardRedisClient=void 0;var jf=k(),Lc=lE(),Vf=class t{static{o(this,"StandardRedisClient")}static instance;redisClientUrl;clientAuthToken;userAgent;deploymentName;constructor(e,r,n,i){this.redisClientUrl=e,this.clientAuthToken=r,this.deploymentName=n,this.userAgent=i}static initialize(e,r,n,i){return(0,Lc.throwIfNotString)(e,"redisClientUrl"),(0,Lc.throwIfNotString)(r,"clientAuthToken"),t.instance||(t.instance=new t(e,r,n,i)),t.instance}isEnabled(){return this.redisClientUrl!==void 0&&this.clientAuthToken!==void 0}async fetch({url:e,body:r,method:n,requestId:i}){(0,Lc.throwIfNotString)(e,"url");let s=await fetch(`${this.redisClientUrl}${e}`,{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 jf.SystemError("Redis client failed with 401: Unauthorized"):new jf.SystemError(`Redis client failed with (${s.status}): ${typeof a=="string"?a:JSON.stringify(a,null,2)}`)}};yi.StandardRedisClient=Vf;var Bf=class{static{o(this,"InMemoryRedisClient")}keyValueStore;constructor(){this.keyValueStore=new Map}isEnabled(){return!0}fetch({url:e,body:r,method:n}){if((0,Lc.throwIfNotString)(e,"url"),n==="POST"&&e==="/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 jf.SystemError("The in-memory redis client only supports /rate-limit calls")}};yi.InMemoryRedisClient=Bf});var Gf=_(Ae=>{"use strict";Object.defineProperty(Ae,"__esModule",{value:!0});Ae.RETRY_AFTER_HEADER=Ae.wrapUserFunction=Ae.getCountAndUpdateExpiry=Ae.getRedisClient=Ae.getAll=Ae.getUser=Ae.getIP=Ae.getRealIP=void 0;var Mr=k(),Dc=X(),pE=dE(),fE=ct(),PC=o(t=>{let e=t.headers.get("x-real-ip")??t.headers.get("true-client-ip")??t.headers.get("cf-connecting-ip");if(e)return e;let r=t.headers.get("x-forwarded-for");return r?r.split(",")[0]:"127.0.0.1"},"getRealIP");Ae.getRealIP=PC;var AC=o(async t=>({key:`ip-${(0,Ae.getRealIP)(t)}`}),"getIP");Ae.getIP=AC;var OC=o(async t=>({key:`user-${t.user?.sub??"anonymous"}`}),"getUser");Ae.getUser=OC;var RC=o(async()=>({key:"all-2d77ce9d-9a3c-4206-9ab2-668cfd271095"}),"getAll");Ae.getAll=RC;var Uc;function NC(t,e){let r;if(Uc)return Uc;if(Dc.Environment.instance.isLocalDevelopment)return e.info("Using in-memory redis client for local development."),r=new pE.InMemoryRedisClient,Uc=r,r;let{authApiJWT:n,redisURL:i}=Dc.Environment.instance;if(!(0,fE.isString)(i))throw new Mr.SystemError(`RateLimitInboundPolicy '${t}' - rate limit service URL not configured`);if(!(0,fE.isString)(n))throw new Mr.SystemError(`RateLimitInboundPolicy '${t}' - service authentication not configured`);if(i&&(r=pE.StandardRedisClient.initialize(i,n,Dc.Environment.instance.deploymentName??"unknown",Dc.Environment.instance.systemUserAgent)),!r||!r.isEnabled())throw new Mr.SystemError(`RateLimitInboundPolicy '${t}' - no redis ('${r}') or redis.isEnabled ('${r?.isEnabled}) is false`);return Uc=r,r}o(NC,"getRedisClient");Ae.getRedisClient=NC;async function CC(t,e,r,n,i){let s=Math.floor(e*60);return await r.fetch({url:"/rate-limit",method:"POST",body:JSON.stringify({incrBy:1,expire:s,key:t}),requestId:i})}o(CC,"getCountAndUpdateExpiry");Ae.getCountAndUpdateExpiry=CC;function xC(t,e){let r;if(t.rateLimitBy==="function"){if(!t.identifier)throw new Mr.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier must be specified`);if(!t.identifier.module)throw new Mr.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier.module must be specified`);if(!t.identifier.export)throw new Mr.ConfigurationError(`RateLimitInboundPolicy '${e}' - If rateLimitBy set to 'function' options.identifier.export must be specified`);if(r=t.identifier.module[t.identifier.export],!r||typeof r!="function")throw new Mr.ConfigurationError(`RateLimitInboundPolicy '${e}' - 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 Mr.RuntimeError(u)}return c},"outerFunction")}o(xC,"wrapUserFunction");Ae.wrapUserFunction=xC;Ae.RETRY_AFTER_HEADER="Retry-After"});var mE=_(Mc=>{"use strict";Object.defineProperty(Mc,"__esModule",{value:!0});Mc.AsyncRateLimitInboundPolicy=void 0;var LC=cr(),DC=tr(),UC=de(),MC=Je(),kC=X(),HC=Jt(),dn=Gf(),hE=(0,LC.debug)("zuplo:policies:RateLimitInboundPolicy"),FC=o(async(t,e,r,n)=>{let i=MC.SystemLogMap.getLogger(e),s=o((E,T)=>{let C={};return(!E||E==="retry-after")&&(C[dn.RETRY_AFTER_HEADER]=T.toString()),UC.HttpProblems.tooManyRequests(t,e,void 0,C)},"rateLimited"),c={function:(0,dn.wrapUserFunction)(r,n),user:dn.getUser,ip:dn.getIP,all:dn.getAll}[r.rateLimitBy],u=await c(t,e,n),l=u.key,d=u.requestsAllowed??r.requestsAllowed,p=u.timeWindowMinutes??r.timeWindowMinutes,f=r.headerMode??"retry-after",h=(0,dn.getRedisClient)(n,i),b=`bucket/${kC.Environment.instance.build.BUILD_ID}/${n}/${l}`,I=await(0,DC.getPolicyCacheName)(n,r),A=new HC.MemoryZoneReadThroughCache(I,e),g=(0,dn.getCountAndUpdateExpiry)(b,p,h,i,e.requestId),v;o(async()=>{let E=await g;if(E.count>d){let T=Date.now()+E.ttlSeconds*1e3;A.put(b,T,E.ttlSeconds),hE(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${b}' (async mode)`),v=s(f,E.ttlSeconds)}},"asyncCheck")();let V=await A.get(b);if(V!==void 0&&V>Date.now()){hE(`RateLimitInboundPolicy '${n}' - returning 429 from cache for '${b}' (async mode)`);let E=Math.round((V-Date.now())/1e3);return s(f,E)}return e.addResponseSendingHook(async E=>v??E),t},"AsyncRateLimitInboundPolicy");Mc.AsyncRateLimitInboundPolicy=FC});var gE=_(kc=>{"use strict";Object.defineProperty(kc,"__esModule",{value:!0});kc.RateLimitInboundPolicy=void 0;var qC=cr(),$C=k(),jC=de(),VC=Je(),BC=X(),GC=mE(),pn=Gf(),yE=(0,qC.debug)("zuplo:policies:RateLimitInboundPolicy"),KC="strict",JC=o(async(t,e,r,n)=>{if((r.mode??KC)==="async")return(0,GC.AsyncRateLimitInboundPolicy)(t,e,r,n);let s=Date.now(),a=VC.SystemLogMap.getLogger(e),c=o((l,d)=>{if(r.throwOnFailure)throw new $C.SystemError(l,{cause:d});a.error(l,d)},"throwOrLog"),u=o((l,d)=>{let p={};return(!l||l==="retry-after")&&(p[pn.RETRY_AFTER_HEADER]=d.toString()),jC.HttpProblems.tooManyRequests(t,e,void 0,p)},"rateLimited");try{let d={function:(0,pn.wrapUserFunction)(r,n),user:pn.getUser,ip:pn.getIP,all:pn.getAll}[r.rateLimitBy],p=await d(t,e,n),f=p.key,h=p.requestsAllowed??r.requestsAllowed,y=p.timeWindowMinutes??r.timeWindowMinutes,b=r.headerMode??"retry-after",I=(0,pn.getRedisClient)(n,a),g=`bucket/${BC.Environment.instance.build.BUILD_ID}/${n}/${f}`,v=await(0,pn.getCountAndUpdateExpiry)(g,y,I,a,e.requestId);return v.count>h?(yE(`RateLimitInboundPolicy '${n}' - returning 429 from redis for '${g}' (strict mode)`),u(b,v.ttlSeconds)):t}catch(l){return c(l.message,l),t}finally{let l=Date.now()-s;yE(`RateLimitInboundPolicy '${n}' - latency ${l}ms`)}},"RateLimitInboundPolicy");kc.RateLimitInboundPolicy=JC});var wE=_(Hc=>{"use strict";Object.defineProperty(Hc,"__esModule",{value:!0});Hc.ReadmeMetricsInboundPolicy=void 0;var zC=Oe(),Kf=X(),bE=Qt(),Jf;function _E(t){let e=[];for(let[r,n]of t)e.push({name:r,value:n});return e}o(_E,"headersToNameValuePairs");function WC(t){let e=[];return Object.entries(t).forEach(([r,n])=>{e.push({name:r,value:n})}),e}o(WC,"queryToNameValueParis");function QC(t){if(t===null)return;let e=parseFloat(t);if(!isNaN(e))return e}o(QC,"parseIntOrUndefined");var EE={};async function ZC(t,e,r,n){let i=new Date,s=Date.now();return Jf||(Jf={name:"zuplo",version:Kf.Environment.instance.build.ZUPLO_VERSION,comment:`zuplo/${Kf.Environment.instance.build.ZUPLO_VERSION}`}),e.addResponseSendingFinalHook(async a=>{try{let c=r.userLabelPropertyPath&&t.user?(0,bE.getValueFromRequestUser)(t.user,r.userLabelPropertyPath,"userLabelPropertyPath"):t.user?.sub,u=r.userEmailPropertyPath&&t.user?(0,bE.getValueFromRequestUser)(t.user,r.userEmailPropertyPath,"userEmailPropertyPath"):void 0,l={clientIPAddress:t.headers.get("true-client-ip")??"",development:r.development!==void 0?r.development:Kf.Environment.instance.isDeno,group:{label:c,email:u,id:t.user?.sub??"anonymous"},request:{log:{creator:Jf,entries:[{startedDateTime:i.toISOString(),time:Date.now()-s,request:{method:t.method,url:r.useFullRequestPath?new URL(t.url).pathname:e.route.path,httpVersion:"2",headers:_E(t.headers),queryString:WC(t.query)},response:{status:a.status,statusText:a.statusText,headers:_E(a.headers),content:{size:QC(t.headers.get("content-length"))}}}]}}},d=EE[r.apiKey];if(!d){let p=r.apiKey;d=new zC.BatchDispatch("readme-metering-inbound-policy",10,async f=>{try{let h=r.url??"https://metrics.readme.io/request",y=await fetch(h,{method:"POST",body:JSON.stringify(f),headers:{"content-type":"application/json",authorization:`Basic ${btoa(p+":")}`}});y.status!==202&&e.log.error(`Unexpected response in ReadmeMeteringInboundPolicy '${n}'. ${y.status}: '${await y.text()}'`)}catch(h){throw e.log.error(`Error in ReadmeMeteringInboundPolicy '${n}': '${h.message}'`),h}}),EE[p]=d}d.enqueue(l),e.waitUntil(d.waitUntilFlushed())}catch(c){e.log.error(c)}}),t}o(ZC,"ReadmeMetricsInboundPolicy");Hc.ReadmeMetricsInboundPolicy=ZC});var vE=_(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});Fc.RemoveHeadersInboundPolicy=void 0;var YC=k(),XC=Ke(),ex=o(async(t,e,r,n)=>{let i=r?.headers;if(!i||!Array.isArray(i)||i.length===0)throw new YC.ConfigurationError(`RemoveHeadersInboundPolicy '${n}' options.headers must be a non-empty string array of header names`);let s=new Headers(t.headers);return i.forEach(c=>{s.delete(c)}),new XC.ZuploRequest(t,{headers:s})},"RemoveHeadersInboundPolicy");Fc.RemoveHeadersInboundPolicy=ex});var TE=_(qc=>{"use strict";Object.defineProperty(qc,"__esModule",{value:!0});qc.RemoveHeadersOutboundPolicy=void 0;var tx=k(),rx=o(async(t,e,r,n,i)=>{let s=n?.headers;if(!s||!Array.isArray(s)||s.length===0)throw new tx.ConfigurationError(`RemoveHeadersOutboundPolicy '${i}' options.headers must be a non-empty string array of header names`);let a=new Headers(t.headers);return s.forEach(u=>{a.delete(u)}),new Response(t.body,{headers:a,status:t.status,statusText:t.statusText})},"RemoveHeadersOutboundPolicy");qc.RemoveHeadersOutboundPolicy=rx});var SE=_($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});$c.RemoveQueryParamsInboundPolicy=void 0;var nx=k(),ix=Ke(),ox=o(async(t,e,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length===0)throw new nx.ConfigurationError(`RemoveQueryParamsInboundPolicy '${n}' options.params must be a non-empty string array of header names`);let s=new URL(t.url);return i.forEach(c=>{s.searchParams.delete(c)}),new ix.ZuploRequest(s.toString(),t)},"RemoveQueryParamsInboundPolicy");$c.RemoveQueryParamsInboundPolicy=ox});var IE=_(jc=>{"use strict";Object.defineProperty(jc,"__esModule",{value:!0});jc.ReplaceStringOutboundPolicy=void 0;var sx=o(async(t,e,r,n)=>{let i=await t.text(),s=n.mode==="regexp"?new RegExp(n.match,"gm"):n.match,a=i.replaceAll(s,n.replaceWith);return new Response(a,{headers:t.headers,status:t.status,statusText:t.statusText})},"ReplaceStringOutboundPolicy");jc.ReplaceStringOutboundPolicy=sx});var AE=_(Vc=>{"use strict";Object.defineProperty(Vc,"__esModule",{value:!0});Vc.RequestSizeLimitInboundPolicy=void 0;var PE=o(()=>new Response("Maximum request size exceeded",{status:413,statusText:"Payload Too Large"}),"payloadTooLarge"),ax=o(async(t,e,r)=>{let n=r.trustContentLengthHeader??!1;if(["GET","HEAD"].includes(t.method))return t;let i=t.headers.get("content-length"),s=i!==null?parseInt(i):void 0;return s&&!isNaN(s)&&s>r.maxSizeInBytes?PE():s&&n?t:(await t.clone().text()).length>r.maxSizeInBytes?PE():t},"RequestSizeLimitInboundPolicy");Vc.RequestSizeLimitInboundPolicy=ax});var Bc=_(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.sanitizedIdentifierName=ft.getIdForRefSchema=ft.getIdForRequestBodySchema=ft.getIdForParameterSchema=ft.getRawOperationDataIdentifierName=void 0;function cx(t,e,r){return`_${fn(t+"_"+e+"_"+r)}`}o(cx,"getRawOperationDataIdentifierName");ft.getRawOperationDataIdentifierName=cx;function ux(t,e,r,n){return`_${fn(t.toLowerCase())}_`+e.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o(ux,"getIdForParameterSchema");ft.getIdForParameterSchema=ux;function lx(t,e,r){return`_${fn(t.toLowerCase())}_`+e.toLowerCase()+`_rb_${fn(r.toLowerCase())}`}o(lx,"getIdForRequestBodySchema");ft.getIdForRequestBodySchema=lx;function dx(t,e){return`_${fn(t)}__${fn(e)}`}o(dx,"getIdForRefSchema");ft.getIdForRefSchema=dx;function fn(t){let e=[];for(let r=0;r<t.length;r++){let n=t.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)?e.push(t.charAt(r)):e.push("_")}return e.join("")}o(fn,"sanitizedIdentifierName");ft.sanitizedIdentifierName=fn});var mo=_(je=>{"use strict";Object.defineProperty(je,"__esModule",{value:!0});je.getErrorsFromValidator=je.shouldReject=je.shouldLog=je.logErrors=je.validateParameters=je.getParametersForOperation=void 0;var px=Gr(),fx=Bc(),hx=o(t=>{let e=t.route.raw();return e.parameters?e.parameters.map(n=>({name:n.name,location:n.in,required:n.required,deprecated:n.deprecated,allowEmptyValue:n.allowEmptyValue})):[]},"getParametersForOperation");je.getParametersForOperation=hx;var mx=o((t,e,r,n,i)=>{let s=[],a=!0,c=[];return t.forEach(u=>{let l=u.required||i==="path";if(l&&!e[u.name])a=!1,s.push(`Required ${i} parameter '${u.name}' not found`);else if(!(!l&&!e[u.name])){let d=(0,fx.getIdForParameterSchema)(r,n,i,u.name),p=px.Gateway.instance.schemaValidator[d],f=p(e[u.name]),h=(0,je.getErrorsFromValidator)(p.errors);f||(a=!1,c.push(`${i} parameter: ${u.name} : ${e[u.name]}`),s.push(`Invalid value for ${i} parameter: '${u.name}' ${h.join(", ")}`))}}),{isValid:a,invalidValues:c,errors:s}},"validateParameters");je.validateParameters=mx;var yx=o((t,e,r,n,i)=>{n?t.log[e](r,n,i):t.log[e](r,i)},"logErrors");je.logErrors=yx;var gx=o(t=>t==="log-only"||t==="reject-and-log","shouldLog");je.shouldLog=gx;var bx=o(t=>t==="reject-only"||t==="reject-and-log","shouldReject");je.shouldReject=bx;var _x=o(t=>t?.map(e=>e.instancePath===void 0||e.instancePath===""?e.message??"Unknown validation error":e.instancePath.replace("/","")+" "+e.message)??["Unknown validation error"],"getErrorsFromValidator");je.getErrorsFromValidator=_x});var OE=_(Kc=>{"use strict";Object.defineProperty(Kc,"__esModule",{value:!0});Kc.handleBodyValidation=void 0;var Ex=Gr(),Gc=de(),wx=Bc(),rt=mo();async function vx(t,e,r){if(!r.validateBody||r.validateBody==="none")return;let n;try{n=await e.clone().json()}catch(h){let y=`Error in request body for method : ${e.method} in route: ${t.route.path} with content-type: ${e.headers.get("Content-Type")}`,b=Gc.HttpProblems.badRequest(e,t,{detail:`${y}, see errors property for more details`,errors:`${h}`});if((0,rt.shouldLog)(r.validateBody)&&(0,rt.logErrors)(t,r.logLevel??"info",y,[n],h),(0,rt.shouldReject)(r.validateBody))return b}if(!e.headers.get("Content-Type")){let h=`No content-type header defined in incoming request to ${e.method} in route: ${t.route.path}`,y=Gc.HttpProblems.badRequest(e,t,{detail:h});return(0,rt.shouldLog)(r.validateBody)&&(0,rt.logErrors)(t,r.logLevel??"info",h,[n],[h]),(0,rt.shouldReject)(r.validateBody)?y:void 0}let i=e.headers.get("Content-Type"),s=i.indexOf(";");s>-1&&(i=i.substring(0,s));let a=(0,wx.getIdForRequestBodySchema)(t.route.path,e.method,i),c=Ex.Gateway.instance.schemaValidator[a];if(!c){let h=`No schema defined for method: ${e.method} in route: ${t.route.path} with content-type: ${e.headers.get("Content-Type")}`,y=Gc.HttpProblems.badRequest(e,t,{detail:h});return(0,rt.shouldLog)(r.validateBody)&&(0,rt.logErrors)(t,r.logLevel??"info",h,[n],[h]),(0,rt.shouldReject)(r.validateBody)?y:void 0}if(c(n))return;let l=c.errors,d="Request body did not pass validation",p=(0,rt.getErrorsFromValidator)(l),f=Gc.HttpProblems.badRequest(e,t,{detail:`${d}, see errors property for more details`,errors:p});if((0,rt.shouldLog)(r.validateBody)&&(0,rt.logErrors)(t,r.logLevel??"info",d,[n],p),(0,rt.shouldReject)(r.validateBody))return f}o(vx,"handleBodyValidation");Kc.handleBodyValidation=vx});var RE=_(Jc=>{"use strict";Object.defineProperty(Jc,"__esModule",{value:!0});Jc.handleHeadersValidation=void 0;var Tx=de(),yo=mo();function Sx(t,e,r){if(!r.validateHeaders||r.validateHeaders==="none")return;let n={};e.headers.forEach((a,c)=>{n[c]=a});let i=(0,yo.getParametersForOperation)(t),s=(0,yo.validateParameters)(i.filter(a=>a.location==="header"),n,t.route.path,e.method.toLowerCase(),"header");if(!s.isValid){let a="Header validation failed",c=Tx.HttpProblems.badRequest(e,t,{detail:`${a}, see errors property for more details`,errors:s.errors});if((0,yo.shouldLog)(r.validateHeaders)&&(0,yo.logErrors)(t,r.logLevel??"info",a,s.invalidValues,s.errors),(0,yo.shouldReject)(r.validateHeaders))return c}}o(Sx,"handleHeadersValidation");Jc.handleHeadersValidation=Sx});var NE=_(zc=>{"use strict";Object.defineProperty(zc,"__esModule",{value:!0});zc.handlePathParameterValidation=void 0;var Ix=de(),go=mo();function Px(t,e,r){if(!r.validatePathParameters||r.validatePathParameters==="none")return;let n=(0,go.getParametersForOperation)(t),i=(0,go.validateParameters)(n.filter(s=>s.location==="path"),e.params,t.route.path,e.method.toLowerCase(),"path");if(!i.isValid){let s="Path parameters validation failed",a=Ix.HttpProblems.badRequest(e,t,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,go.shouldLog)(r.validatePathParameters)&&(0,go.logErrors)(t,r.logLevel??"info",s,i.invalidValues,i.errors),(0,go.shouldReject)(r.validatePathParameters))return a}}o(Px,"handlePathParameterValidation");zc.handlePathParameterValidation=Px});var CE=_(Wc=>{"use strict";Object.defineProperty(Wc,"__esModule",{value:!0});Wc.handleQueryParameterValidation=void 0;var Ax=de(),bo=mo();function Ox(t,e,r){if(!r.validateQueryParameters||r.validateQueryParameters==="none")return;let n=(0,bo.getParametersForOperation)(t),i=(0,bo.validateParameters)(n.filter(s=>s.location==="query"),e.query,t.route.path,e.method.toLowerCase(),"query");if(!i.isValid){let s="Query parameters validation failed",a=Ax.HttpProblems.badRequest(e,t,{detail:`${s}, see errors property for more details`,errors:i.errors});if((0,bo.shouldLog)(r.validateQueryParameters)&&(0,bo.logErrors)(t,r.logLevel??"info",s,i.invalidValues,i.errors),(0,bo.shouldReject)(r.validateQueryParameters))return a}}o(Ox,"handleQueryParameterValidation");Wc.handleQueryParameterValidation=Ox});var xE=_(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.SchemaBasedRequestValidation=hn.RequestValidationInboundPolicy=void 0;var Rx=OE(),Nx=RE(),Cx=NE(),xx=CE(),Lx=o(async(t,e,r)=>{let n=(0,xx.handleQueryParameterValidation)(e,t,r);if(n!==void 0||(n=(0,Cx.handlePathParameterValidation)(e,t,r),n!==void 0)||(n=(0,Nx.handleHeadersValidation)(e,t,r),n!==void 0))return n;let i=await(0,Rx.handleBodyValidation)(e,t,r);return i!==void 0?i:t},"RequestValidationInboundPolicy");hn.RequestValidationInboundPolicy=Lx;hn.SchemaBasedRequestValidation=hn.RequestValidationInboundPolicy});var LE=_(Qc=>{"use strict";Object.defineProperty(Qc,"__esModule",{value:!0});Qc.RequireOriginInboundPolicy=void 0;var Dx=k(),Ux=de(),Mx=o(async(t,e,r,n)=>{if(r.origins===void 0||r.origins.length===0)throw new Dx.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=t.headers.get("origin");if(!s||!i.includes(s)){let a=r.failureDetail??"Forbidden";return Ux.HttpProblems.forbidden(t,e,{detail:a})}return t},"RequireOriginInboundPolicy");Qc.RequireOriginInboundPolicy=Mx});var DE=_(Zc=>{"use strict";Object.defineProperty(Zc,"__esModule",{value:!0});Zc.SetBodyInboundPolicy=void 0;var kx=Ke(),Hx=o(async(t,e,r)=>new kx.ZuploRequest(t,{body:r.body}),"SetBodyInboundPolicy");Zc.SetBodyInboundPolicy=Hx});var ME=_(Yc=>{"use strict";Object.defineProperty(Yc,"__esModule",{value:!0});Yc.SetHeadersInboundPolicy=void 0;var UE=k(),Fx=Ke(),qx=o(async(t,e,r,n)=>{let i=r.headers;if(!i||!Array.isArray(i)||i.length==0)throw new UE.ConfigurationError(`SetHeadersInboundPolicy '${n}' options.headers must be a valid array of { name, value }`);let s=new Headers(t.headers);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new UE.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 Fx.ZuploRequest(t,{headers:s})},"SetHeadersInboundPolicy");Yc.SetHeadersInboundPolicy=qx});var HE=_(Xc=>{"use strict";Object.defineProperty(Xc,"__esModule",{value:!0});Xc.SetHeadersOutboundPolicy=void 0;var kE=k(),$x=o(async(t,e,r,n,i)=>{let s=n.headers;if(!s||!Array.isArray(s)||s.length==0)throw new kE.ConfigurationError(`SetHeadersOutboundPolicy '${i}' options.headers must be a valid array of { name, value }`);let a=new Headers(t.headers);return s.forEach(u=>{if(!u.name||u.name.length===0)throw new kE.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(t.body,{headers:a,status:t.status,statusText:t.statusText})},"SetHeadersOutboundPolicy");Xc.SetHeadersOutboundPolicy=$x});var qE=_(eu=>{"use strict";Object.defineProperty(eu,"__esModule",{value:!0});eu.SetQueryParamsInboundPolicy=void 0;var FE=k(),jx=Ke(),Vx=o(async(t,e,r,n)=>{let i=r.params;if(!i||!Array.isArray(i)||i.length==0)throw new FE.ConfigurationError(`SetQueryParamsInboundPolicy '${n}' options.params must be a valid array of { name, value }`);let s=new URL(t.url);return i.forEach(c=>{if(!c.name||c.name.length===0)throw new FE.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 jx.ZuploRequest(s.toString(),t)},"SetQueryParamsInboundPolicy");eu.SetQueryParamsInboundPolicy=Vx});var $E=_(tu=>{"use strict";Object.defineProperty(tu,"__esModule",{value:!0});tu.SetStatusOutboundPolicy=void 0;var Bx=o(async(t,e,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(t.body,{headers:t.headers,status:n.status,statusText:n.statusText??t.statusText})},"SetStatusOutboundPolicy");tu.SetStatusOutboundPolicy=Bx});var jE=_(ru=>{"use strict";Object.defineProperty(ru,"__esModule",{value:!0});ru.SleepInboundPolicy=void 0;var Gx=k(),Kx=o(async t=>new Promise(r=>{setTimeout(r,t)}),"sleep"),Jx=o(async(t,e,r,n)=>{if(!r||r.sleepInMs===void 0||isNaN(r.sleepInMs))throw new Gx.ConfigurationError(`SleepInboundPolicy '${n} must have a valid options.sleepInMs value`);return await Kx(r.sleepInMs),t},"SleepInboundPolicy");ru.SleepInboundPolicy=Jx});var BE=_(nu=>{"use strict";Object.defineProperty(nu,"__esModule",{value:!0});nu.SupabaseJwtInboundPolicy=void 0;var VE=k(),zx=de(),Wx=Ke(),Qx=dt(),Zx=rr(),Yx=o(async(t,e,r,n)=>{(0,Qx.optionValidator)(r,n).required("secret","string").optional("allowUnauthenticatedRequests","boolean").optional("requiredClaims","object");let i={secret:r.secret,allowUnauthenticatedRequests:r.allowUnauthenticatedRequests??!1},s=await(0,Zx.OpenIdJwtInboundPolicy)(t,e,i,n);if(s instanceof Response)return s;if(!(s instanceof Wx.ZuploRequest))throw new VE.SystemError("Invalid State - SupabaseJwtInboundPolicy encountered a non-response that wasn't a ZuploRequest type')");let a=r.requiredClaims;if(!a)return s;let c=t.user?.data.app_metadata;if(!c)throw new VE.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?zx.HttpProblems.unauthorized(t,e,{detail:`Invalid JWT token - missing valid claims ${l.join(", ")}`}):s},"SupabaseJwtInboundPolicy");nu.SupabaseJwtInboundPolicy=Yx});var KE=_(iu=>{"use strict";Object.defineProperty(iu,"__esModule",{value:!0});iu.UpstreamAzureAdServiceAuthInboundPolicy=void 0;var Xx=tr(),eL=Jt(),GE=k(),tL=jn(),rL=dt(),nL=o(async(t,e,r,n)=>{(0,rL.optionValidator)(r,n).required("activeDirectoryTenantId","string").required("activeDirectoryClientId","string").required("activeDirectoryClientSecret","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number");let i=await(0,Xx.getPolicyCacheName)(n,r),s=new eL.MemoryZoneReadThroughCache(i,e),a=await s.get(n);if(!a){let c=await iL(r,e);s.put(n,c.access_token,c.expires_in-(r.expirationOffsetSeconds??300)),a=c.access_token}return t.headers.set("Authorization",`Bearer ${a}`),t},"UpstreamAzureAdServiceAuthInboundPolicy");iu.UpstreamAzureAdServiceAuthInboundPolicy=nL;async function iL(t,e){let r=new URLSearchParams({client_id:t.activeDirectoryClientId,scope:`${t.activeDirectoryClientId}/.default`,client_secret:t.activeDirectoryClientSecret,grant_type:"client_credentials"}),n=await(0,tL.fetchRetry)({retries:t.tokenRetries??3,retryDelayMs:10},`https://login.microsoftonline.com/${t.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();e.log.error("Could not get token from Azure AD",s)}catch{}throw new GE.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 GE.RuntimeError("Response returned from Azure AD is not in the expected format.")}o(iL,"getAccessToken")});var zE=_(ou=>{"use strict";Object.defineProperty(ou,"__esModule",{value:!0});ou.UpstreamFirebaseAdminAuthInboundPolicy=void 0;var oL=tr(),sL=Jt(),aL=k(),zf=Vn(),cL=dt(),JE="https://accounts.google.com/o/oauth2/token",Wf,uL=o(async(t,e,r,n)=>{(0,cL.optionValidator)(r,n).required("serviceAccountJson","string"),Wf||(Wf=await zf.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,oL.getPolicyCacheName)(n,r),a=new sL.MemoryZoneReadThroughCache(s,e),c=await a.get(n);if(!c){let u=await(0,zf.getTokenFromGcpServiceAccount)({serviceAccount:Wf,audience:JE,payload:i}),l=await(0,zf.exchangeGgpJwtForIdToken)(JE,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(!l.access_token)throw new aL.RuntimeError("Invalid OAuth response from Firebase");c=l.access_token,a.put(n,c,(l.expires_in??3600)-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${c}`),t},"UpstreamFirebaseAdminAuthInboundPolicy");ou.UpstreamFirebaseAdminAuthInboundPolicy=uL});var WE=_(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});su.UpstreamFirebaseUserAuthInboundPolicy=void 0;var lL=tr(),dL=Jt(),gi=k(),pL=Rf(),Qf=Vn(),fL=Qt(),hL=dt(),mL="https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",yL=["acr","amr","at_hash","aud","auth_time","azp","cnf","c_hash","exp","iat","iss","jti","nbf","nonce"],Zf,gL=o(async(t,e,r,n)=>{if((0,hL.optionValidator)(r,n).required("serviceAccountJson","string").required("webApiKey","string").optional("developerClaims","object").optional("userId","string").optional("userIdPropertyPath","string"),!r.userId&&!r.userIdPropertyPath)throw new gi.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(yL.indexOf(p)!==-1)throw new gi.ConfigurationError(`Developer claim "${p}" is reserved and cannot be specified.`);i[p]=r.developerClaims[p]}}Zf||(Zf=await Qf.GcpServiceAccount.init(r.serviceAccountJson));let s=r.userId;if(!s&&!r.userIdPropertyPath){if(!t.user)throw new gi.RuntimeError("Unable to set userId for upstream auth policy as request.user is 'undefined'. Do you have an authentication policy before this policy?.");s=t.user?.sub}else if(r.userIdPropertyPath){if(!t.user)throw new gi.RuntimeError(`Unable to apply userIdPropertyPath '${r.userIdPropertyPath}' as request.user is 'undefined'. Do you have an authentication policy before this policy?`);s=(0,fL.getValueFromRequestUser)(t.user,r.userIdPropertyPath,"userIdPropertyPath")}if(!s)throw new gi.RuntimeError(`Unable to determine user from for the policy ${n}`);let a=await(0,lL.getPolicyCacheName)(n,r),c=new dL.MemoryZoneReadThroughCache(a,e),u={uid:s,claims:i},l=await(0,pL.sha256)(JSON.stringify(u)),d=await c.get(l);if(!d){let p=await(0,Qf.getTokenFromGcpServiceAccount)({serviceAccount:Zf,audience:mL,payload:u}),f=`https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=${r.webApiKey}`,h=await(0,Qf.exchangeFirebaseJwtForIdToken)(f,p,{retries:r.tokenRetries??3,retryDelayMs:10});if(!h.idToken)throw new gi.RuntimeError("Invalid token response from Firebase");d=h.idToken,c.put(l,d,(h.expiresIn?parseInt(h.expiresIn):3600)-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${d}`),t},"UpstreamFirebaseUserAuthInboundPolicy");su.UpstreamFirebaseUserAuthInboundPolicy=gL});var ZE=_(au=>{"use strict";Object.defineProperty(au,"__esModule",{value:!0});au.UpstreamGcpJwtInboundPolicy=void 0;var QE=Vn(),bL=dt(),Yf,_L=o(async(t,e,r,n)=>{(0,bL.optionValidator)(r,n).required("audience","string").required("serviceAccountJson","string"),Yf||(Yf=await QE.GcpServiceAccount.init(r.serviceAccountJson));let i=await(0,QE.getTokenFromGcpServiceAccount)({serviceAccount:Yf,audience:r.audience});return t.headers.set("Authorization",`Bearer ${i}`),t},"UpstreamGcpJwtInboundPolicy");au.UpstreamGcpJwtInboundPolicy=_L});var XE=_(cu=>{"use strict";Object.defineProperty(cu,"__esModule",{value:!0});cu.UpstreamGcpServiceAuthInboundPolicy=void 0;var EL=tr(),wL=ol(),vL=Jt(),_o=k(),Xf=Vn(),TL=Qt(),SL=dt(),YE="https://www.googleapis.com/oauth2/v4/token",eh,IL=o(async(t,e,r,n)=>{(0,SL.optionValidator)(r,n).required("serviceAccountJson","string").optional("audience","string").optional("tokenRetries","number").optional("expirationOffsetSeconds","number"),eh||(eh=await Xf.GcpServiceAccount.init(r.serviceAccountJson));let i={};if(r.scopes&&r.audience)throw new _o.ConfigurationError("UpstreamGcpServiceAuthInboundPolicy - Either the 'scopes' or the 'audience' property can be set, not both.");if(r.scopes)try{let u=(0,TL.parseValueToStringArray)(r.scopes);i.scope=u.join(" ")}catch(u){throw u instanceof _o.ConfigurationError?new _o.ConfigurationError(`UpstreamGcpServiceAuthInboundPolicy - The property 'scopes' is invalid. ${u.message}`):u}r.audience&&(i.target_audience=`${r.audience}`);let s=await(0,EL.getPolicyCacheName)(n,r),a;r.useMemoryCacheOnly?a=new wL.MemoryCache(s):a=new vL.MemoryZoneReadThroughCache(s,e);let c=await a.get(n);if(!c){let u=await(0,Xf.getTokenFromGcpServiceAccount)({serviceAccount:eh,audience:YE,payload:i}),l=await(0,Xf.exchangeGgpJwtForIdToken)(YE,u,{retries:r.tokenRetries??3,retryDelayMs:10});if(r.audience){if(!l.id_token)throw new _o.RuntimeError("Invalid token response from GCP");c=l.id_token}else{if(!l.access_token)throw new _o.RuntimeError("Invalid token response from GCP");c=l.access_token}a.put(n,c,3600-(r.expirationOffsetSeconds??300))}return t.headers.set("Authorization",`Bearer ${c}`),t},"UpstreamGcpServiceAuthInboundPolicy");cu.UpstreamGcpServiceAuthInboundPolicy=IL});var tw=_(uu=>{"use strict";Object.defineProperty(uu,"__esModule",{value:!0});uu.ValidateJsonSchemaInbound=void 0;var PL=k(),ew=de(),AL=o(async(t,e,r)=>{let n=t.clone(),i;try{i=await n.json()}catch{return ew.HttpProblems.badRequest(t,e,{detail:"Invalid JSON body - expected well-formed JSON document"})}if(r.validator(i))return t;let{errors:a}=r.validator;if(!a)throw new PL.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 ew.HttpProblems.badRequest(t,e,{detail:"Incoming body did not pass schema validation",errors:c})},"ValidateJsonSchemaInbound");uu.ValidateJsonSchemaInbound=AL});var iw=_((ez,nw)=>{"use strict";var OL=Object.defineProperty,RL=Object.getOwnPropertyNames,B=o((t,e)=>OL(t,"name",{value:e,configurable:!0}),"__name"),Tt=o((t,e)=>o(function(){return e||(0,t[RL(t)[0]])((e={exports:{}}).exports,e),e.exports},"__require"),"__commonJS"),th=Tt({"node_modules/fast-xml-parser/src/util.js"(t){"use strict";var e=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",r=e+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",n="["+e+"]["+r+"]*",i=new RegExp("^"+n+"$"),s=B(function(c,u){let l=[],d=u.exec(c);for(;d;){let p=[];p.startIndex=u.lastIndex-d[0].length;let f=d.length;for(let h=0;h<f;h++)p.push(d[h]);l.push(p),d=u.exec(c)}return l},"getAllMatches"),a=B(function(c){let u=i.exec(c);return!(u===null||typeof u>"u")},"isName");t.isExist=function(c){return typeof c<"u"},t.isEmptyObject=function(c){return Object.keys(c).length===0},t.merge=function(c,u,l){if(u){let d=Object.keys(u),p=d.length;for(let f=0;f<p;f++)l==="strict"?c[d[f]]=[u[d[f]]]:c[d[f]]=u[d[f]]}},t.getValue=function(c){return t.isExist(c)?c:""},t.isName=a,t.getAllMatches=s,t.nameRegexp=n}}),rw=Tt({"node_modules/fast-xml-parser/src/validator.js"(t){"use strict";var e=th(),r={allowBooleanAttributes:!1,unpairedTags:[]};t.validate=function(g,v){v=Object.assign({},r,v);let R=[],V=!1,E=!1;g[0]==="\uFEFF"&&(g=g.substr(1));for(let T=0;T<g.length;T++)if(g[T]==="<"&&g[T+1]==="?"){if(T+=2,T=i(g,T),T.err)return T}else if(g[T]==="<"){let C=T;if(T++,g[T]==="!"){T=s(g,T);continue}else{let w=!1;g[T]==="/"&&(w=!0,T++);let P="";for(;T<g.length&&g[T]!==">"&&g[T]!==" "&&g[T]!==" "&&g[T]!==`
75
- `&&g[T]!=="\r";T++)P+=g[T];if(P=P.trim(),P[P.length-1]==="/"&&(P=P.substring(0,P.length-1),T--),!b(P)){let j;return P.trim().length===0?j="Invalid space after '<'.":j="Tag '"+P+"' is an invalid name.",h("InvalidTag",j,I(g,T))}let L=u(g,T);if(L===!1)return h("InvalidAttr","Attributes for '"+P+"' have open quote.",I(g,T));let re=L.value;if(T=L.index,re[re.length-1]==="/"){let j=T-re.length;re=re.substring(0,re.length-1);let U=d(re,v);if(U===!0)V=!0;else return h(U.err.code,U.err.msg,I(g,j+U.err.line))}else if(w)if(L.tagClosed){if(re.trim().length>0)return h("InvalidTag","Closing tag '"+P+"' can't have attributes or invalid starting.",I(g,C));{let j=R.pop();if(P!==j.tagName){let U=I(g,j.tagStartPos);return h("InvalidTag","Expected closing tag '"+j.tagName+"' (opened in line "+U.line+", col "+U.col+") instead of closing tag '"+P+"'.",I(g,C))}R.length==0&&(E=!0)}}else return h("InvalidTag","Closing tag '"+P+"' doesn't have proper closing.",I(g,T));else{let j=d(re,v);if(j!==!0)return h(j.err.code,j.err.msg,I(g,T-re.length+j.err.line));if(E===!0)return h("InvalidXml","Multiple possible root nodes found.",I(g,T));v.unpairedTags.indexOf(P)!==-1||R.push({tagName:P,tagStartPos:C}),V=!0}for(T++;T<g.length;T++)if(g[T]==="<")if(g[T+1]==="!"){T++,T=s(g,T);continue}else if(g[T+1]==="?"){if(T=i(g,++T),T.err)return T}else break;else if(g[T]==="&"){let j=f(g,T);if(j==-1)return h("InvalidChar","char '&' is not expected.",I(g,T));T=j}else if(E===!0&&!n(g[T]))return h("InvalidXml","Extra text at the end",I(g,T));g[T]==="<"&&T--}}else{if(n(g[T]))continue;return h("InvalidChar","char '"+g[T]+"' is not expected.",I(g,T))}if(V){if(R.length==1)return h("InvalidTag","Unclosed tag '"+R[0].tagName+"'.",I(g,R[0].tagStartPos));if(R.length>0)return h("InvalidXml","Invalid '"+JSON.stringify(R.map(T=>T.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return h("InvalidXml","Start tag expected.",1);return!0};function n(g){return g===" "||g===" "||g===`
76
- `||g==="\r"}o(n,"isWhiteSpace"),B(n,"isWhiteSpace");function i(g,v){let R=v;for(;v<g.length;v++)if(g[v]=="?"||g[v]==" "){let V=g.substr(R,v-R);if(v>5&&V==="xml")return h("InvalidXml","XML declaration allowed only at the start of the document.",I(g,v));if(g[v]=="?"&&g[v+1]==">"){v++;break}else continue}return v}o(i,"readPI"),B(i,"readPI");function s(g,v){if(g.length>v+5&&g[v+1]==="-"&&g[v+2]==="-"){for(v+=3;v<g.length;v++)if(g[v]==="-"&&g[v+1]==="-"&&g[v+2]===">"){v+=2;break}}else if(g.length>v+8&&g[v+1]==="D"&&g[v+2]==="O"&&g[v+3]==="C"&&g[v+4]==="T"&&g[v+5]==="Y"&&g[v+6]==="P"&&g[v+7]==="E"){let R=1;for(v+=8;v<g.length;v++)if(g[v]==="<")R++;else if(g[v]===">"&&(R--,R===0))break}else if(g.length>v+9&&g[v+1]==="["&&g[v+2]==="C"&&g[v+3]==="D"&&g[v+4]==="A"&&g[v+5]==="T"&&g[v+6]==="A"&&g[v+7]==="["){for(v+=8;v<g.length;v++)if(g[v]==="]"&&g[v+1]==="]"&&g[v+2]===">"){v+=2;break}}return v}o(s,"readCommentAndCDATA"),B(s,"readCommentAndCDATA");var a='"',c="'";function u(g,v){let R="",V="",E=!1;for(;v<g.length;v++){if(g[v]===a||g[v]===c)V===""?V=g[v]:V!==g[v]||(V="");else if(g[v]===">"&&V===""){E=!0;break}R+=g[v]}return V!==""?!1:{value:R,index:v,tagClosed:E}}o(u,"readAttributeStr"),B(u,"readAttributeStr");var l=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function d(g,v){let R=e.getAllMatches(g,l),V={};for(let E=0;E<R.length;E++){if(R[E][1].length===0)return h("InvalidAttr","Attribute '"+R[E][2]+"' has no space in starting.",A(R[E]));if(R[E][3]!==void 0&&R[E][4]===void 0)return h("InvalidAttr","Attribute '"+R[E][2]+"' is without value.",A(R[E]));if(R[E][3]===void 0&&!v.allowBooleanAttributes)return h("InvalidAttr","boolean attribute '"+R[E][2]+"' is not allowed.",A(R[E]));let T=R[E][2];if(!y(T))return h("InvalidAttr","Attribute '"+T+"' is an invalid name.",A(R[E]));if(!V.hasOwnProperty(T))V[T]=1;else return h("InvalidAttr","Attribute '"+T+"' is repeated.",A(R[E]))}return!0}o(d,"validateAttributeString"),B(d,"validateAttributeString");function p(g,v){let R=/\d/;for(g[v]==="x"&&(v++,R=/[\da-fA-F]/);v<g.length;v++){if(g[v]===";")return v;if(!g[v].match(R))break}return-1}o(p,"validateNumberAmpersand"),B(p,"validateNumberAmpersand");function f(g,v){if(v++,g[v]===";")return-1;if(g[v]==="#")return v++,p(g,v);let R=0;for(;v<g.length;v++,R++)if(!(g[v].match(/\w/)&&R<20)){if(g[v]===";")break;return-1}return v}o(f,"validateAmpersand"),B(f,"validateAmpersand");function h(g,v,R){return{err:{code:g,msg:v,line:R.line||R,col:R.col}}}o(h,"getErrorObject"),B(h,"getErrorObject");function y(g){return e.isName(g)}o(y,"validateAttrName"),B(y,"validateAttrName");function b(g){return e.isName(g)}o(b,"validateTagName"),B(b,"validateTagName");function I(g,v){let R=g.substring(0,v).split(/\r?\n/);return{line:R.length,col:R[R.length-1].length+1}}o(I,"getLineNumberForPosition"),B(I,"getLineNumberForPosition");function A(g){return g.startIndex+g[1].length}o(A,"getPositionFromMatch"),B(A,"getPositionFromMatch")}}),NL=Tt({"node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js"(t){var e={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(n,i){return i},attributeValueProcessor:function(n,i){return i},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(n,i,s){return n}},r=B(function(n){return Object.assign({},e,n)},"buildOptions");t.buildOptions=r,t.defaultOptions=e}}),CL=Tt({"node_modules/fast-xml-parser/src/xmlparser/xmlNode.js"(t,e){"use strict";var r=class{static{o(this,"XmlNode")}static{B(this,"XmlNode")}constructor(n){this.tagname=n,this.child=[],this[":@"]={}}add(n,i){n==="__proto__"&&(n="#__proto__"),this.child.push({[n]:i})}addChild(n){n.tagname==="__proto__"&&(n.tagname="#__proto__"),n[":@"]&&Object.keys(n[":@"]).length>0?this.child.push({[n.tagname]:n.child,":@":n[":@"]}):this.child.push({[n.tagname]:n.child})}};e.exports=r}}),xL=Tt({"node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js"(t,e){var r=th();function n(p,f){let h={};if(p[f+3]==="O"&&p[f+4]==="C"&&p[f+5]==="T"&&p[f+6]==="Y"&&p[f+7]==="P"&&p[f+8]==="E"){f=f+9;let y=1,b=!1,I=!1,A="";for(;f<p.length;f++)if(p[f]==="<"&&!I){if(b&&a(p,f))f+=7,[entityName,val,f]=i(p,f+1),val.indexOf("&")===-1&&(h[d(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(b&&c(p,f))f+=8;else if(b&&u(p,f))f+=8;else if(b&&l(p,f))f+=9;else if(s)I=!0;else throw new Error("Invalid DOCTYPE");y++,A=""}else if(p[f]===">"){if(I?p[f-1]==="-"&&p[f-2]==="-"&&(I=!1,y--):y--,y===0)break}else p[f]==="["?b=!0:A+=p[f];if(y!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:h,i:f}}o(n,"readDocType"),B(n,"readDocType");function i(p,f){let h="";for(;f<p.length&&p[f]!=="'"&&p[f]!=='"';f++)h+=p[f];if(h=h.trim(),h.indexOf(" ")!==-1)throw new Error("External entites are not supported");let y=p[f++],b="";for(;f<p.length&&p[f]!==y;f++)b+=p[f];return[h,b,f]}o(i,"readEntityExp"),B(i,"readEntityExp");function s(p,f){return p[f+1]==="!"&&p[f+2]==="-"&&p[f+3]==="-"}o(s,"isComment"),B(s,"isComment");function a(p,f){return p[f+1]==="!"&&p[f+2]==="E"&&p[f+3]==="N"&&p[f+4]==="T"&&p[f+5]==="I"&&p[f+6]==="T"&&p[f+7]==="Y"}o(a,"isEntity"),B(a,"isEntity");function c(p,f){return p[f+1]==="!"&&p[f+2]==="E"&&p[f+3]==="L"&&p[f+4]==="E"&&p[f+5]==="M"&&p[f+6]==="E"&&p[f+7]==="N"&&p[f+8]==="T"}o(c,"isElement"),B(c,"isElement");function u(p,f){return p[f+1]==="!"&&p[f+2]==="A"&&p[f+3]==="T"&&p[f+4]==="T"&&p[f+5]==="L"&&p[f+6]==="I"&&p[f+7]==="S"&&p[f+8]==="T"}o(u,"isAttlist"),B(u,"isAttlist");function l(p,f){return p[f+1]==="!"&&p[f+2]==="N"&&p[f+3]==="O"&&p[f+4]==="T"&&p[f+5]==="A"&&p[f+6]==="T"&&p[f+7]==="I"&&p[f+8]==="O"&&p[f+9]==="N"}o(l,"isNotation"),B(l,"isNotation");function d(p){if(r.isName(p))return p;throw new Error(`Invalid entity name ${p}`)}o(d,"validateEntityName"),B(d,"validateEntityName"),e.exports=n}}),LL=Tt({"../../node_modules/strnum/strnum.js"(t,e){var r=/^[-+]?0x[a-fA-F0-9]+$/,n=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var i={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function s(c,u={}){if(u=Object.assign({},i,u),!c||typeof c!="string")return c;let l=c.trim();if(u.skipLike!==void 0&&u.skipLike.test(l))return c;if(u.hex&&r.test(l))return Number.parseInt(l,16);{let d=n.exec(l);if(d){let p=d[1],f=d[2],h=a(d[3]),y=d[4]||d[6];if(!u.leadingZeros&&f.length>0&&p&&l[2]!==".")return c;if(!u.leadingZeros&&f.length>0&&!p&&l[1]!==".")return c;{let b=Number(l),I=""+b;return I.search(/[eE]/)!==-1||y?u.eNotation?b:c:l.indexOf(".")!==-1?I==="0"&&h===""||I===h||p&&I==="-"+h?b:c:f?h===I||p+h===I?b:c:l===I||l===p+I?b:c}}else return c}}o(s,"toNumber"),B(s,"toNumber");function a(c){return c&&c.indexOf(".")!==-1&&(c=c.replace(/0+$/,""),c==="."?c="0":c[0]==="."?c="0"+c:c[c.length-1]==="."&&(c=c.substr(0,c.length-1))),c}o(a,"trimZeros"),B(a,"trimZeros"),e.exports=s}}),DL=Tt({"node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js"(t,e){"use strict";var r=th(),n=CL(),i=xL(),s=LL(),a=class{static{o(this,"OrderedObjParser")}static{B(this,"OrderedObjParser")}constructor(E){this.options=E,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"}},this.addExternalEntities=c,this.parseXml=f,this.parseTextData=u,this.resolveNameSpace=l,this.buildAttributesMap=p,this.isItStopNode=I,this.replaceEntitiesValue=y,this.readStopNodeData=R,this.saveTextToParentTag=b,this.addChild=h}};function c(E){let T=Object.keys(E);for(let C=0;C<T.length;C++){let w=T[C];this.lastEntities[w]={regex:new RegExp("&"+w+";","g"),val:E[w]}}}o(c,"addExternalEntities"),B(c,"addExternalEntities");function u(E,T,C,w,P,L,re){if(E!==void 0&&(this.options.trimValues&&!w&&(E=E.trim()),E.length>0)){re||(E=this.replaceEntitiesValue(E));let j=this.options.tagValueProcessor(T,E,C,P,L);return j==null?E:typeof j!=typeof E||j!==E?j:this.options.trimValues?V(E,this.options.parseTagValue,this.options.numberParseOptions):E.trim()===E?V(E,this.options.parseTagValue,this.options.numberParseOptions):E}}o(u,"parseTextData"),B(u,"parseTextData");function l(E){if(this.options.removeNSPrefix){let T=E.split(":"),C=E.charAt(0)==="/"?"/":"";if(T[0]==="xmlns")return"";T.length===2&&(E=C+T[1])}return E}o(l,"resolveNameSpace"),B(l,"resolveNameSpace");var d=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function p(E,T,C){if(!this.options.ignoreAttributes&&typeof E=="string"){let w=r.getAllMatches(E,d),P=w.length,L={};for(let re=0;re<P;re++){let j=this.resolveNameSpace(w[re][1]),U=w[re][4],_e=this.options.attributeNamePrefix+j;if(j.length)if(this.options.transformAttributeName&&(_e=this.options.transformAttributeName(_e)),_e==="__proto__"&&(_e="#__proto__"),U!==void 0){this.options.trimValues&&(U=U.trim()),U=this.replaceEntitiesValue(U);let le=this.options.attributeValueProcessor(j,U,T);le==null?L[_e]=U:typeof le!=typeof U||le!==U?L[_e]=le:L[_e]=V(U,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(L[_e]=!0)}if(!Object.keys(L).length)return;if(this.options.attributesGroupName){let re={};return re[this.options.attributesGroupName]=L,re}return L}}o(p,"buildAttributesMap"),B(p,"buildAttributesMap");var f=B(function(E){E=E.replace(/\r\n?/g,`
77
- `);let T=new n("!xml"),C=T,w="",P="";for(let L=0;L<E.length;L++)if(E[L]==="<")if(E[L+1]==="/"){let j=g(E,">",L,"Closing Tag is not closed."),U=E.substring(L+2,j).trim();if(this.options.removeNSPrefix){let gt=U.indexOf(":");gt!==-1&&(U=U.substr(gt+1))}this.options.transformTagName&&(U=this.options.transformTagName(U)),C&&(w=this.saveTextToParentTag(w,C,P));let _e=P.substring(P.lastIndexOf(".")+1);if(U&&this.options.unpairedTags.indexOf(U)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${U}>`);let le=0;_e&&this.options.unpairedTags.indexOf(_e)!==-1?(le=P.lastIndexOf(".",P.lastIndexOf(".")-1),this.tagsNodeStack.pop()):le=P.lastIndexOf("."),P=P.substring(0,le),C=this.tagsNodeStack.pop(),w="",L=j}else if(E[L+1]==="?"){let j=v(E,L,!1,"?>");if(!j)throw new Error("Pi Tag is not closed.");if(w=this.saveTextToParentTag(w,C,P),!(this.options.ignoreDeclaration&&j.tagName==="?xml"||this.options.ignorePiTags)){let U=new n(j.tagName);U.add(this.options.textNodeName,""),j.tagName!==j.tagExp&&j.attrExpPresent&&(U[":@"]=this.buildAttributesMap(j.tagExp,P,j.tagName)),this.addChild(C,U,P)}L=j.closeIndex+1}else if(E.substr(L+1,3)==="!--"){let j=g(E,"-->",L+4,"Comment is not closed.");if(this.options.commentPropName){let U=E.substring(L+4,j-2);w=this.saveTextToParentTag(w,C,P),C.add(this.options.commentPropName,[{[this.options.textNodeName]:U}])}L=j}else if(E.substr(L+1,2)==="!D"){let j=i(E,L);this.docTypeEntities=j.entities,L=j.i}else if(E.substr(L+1,2)==="!["){let j=g(E,"]]>",L,"CDATA is not closed.")-2,U=E.substring(L+9,j);w=this.saveTextToParentTag(w,C,P);let _e=this.parseTextData(U,C.tagname,P,!0,!1,!0,!0);_e==null&&(_e=""),this.options.cdataPropName?C.add(this.options.cdataPropName,[{[this.options.textNodeName]:U}]):C.add(this.options.textNodeName,_e),L=j+2}else{let j=v(E,L,this.options.removeNSPrefix),U=j.tagName,_e=j.rawTagName,le=j.tagExp,gt=j.attrExpPresent,Mh=j.closeIndex;this.options.transformTagName&&(U=this.options.transformTagName(U)),C&&w&&C.tagname!=="!xml"&&(w=this.saveTextToParentTag(w,C,P,!1));let kh=C;if(kh&&this.options.unpairedTags.indexOf(kh.tagname)!==-1&&(C=this.tagsNodeStack.pop(),P=P.substring(0,P.lastIndexOf("."))),U!==T.tagname&&(P+=P?"."+U:U),this.isItStopNode(this.options.stopNodes,P,U)){let at="";if(le.length>0&&le.lastIndexOf("/")===le.length-1)L=j.closeIndex;else if(this.options.unpairedTags.indexOf(U)!==-1)L=j.closeIndex;else{let Yu=this.readStopNodeData(E,_e,Mh+1);if(!Yu)throw new Error(`Unexpected end of ${_e}`);L=Yu.i,at=Yu.tagContent}let Zu=new n(U);U!==le&&gt&&(Zu[":@"]=this.buildAttributesMap(le,P,U)),at&&(at=this.parseTextData(at,U,P,!0,gt,!0,!0)),P=P.substr(0,P.lastIndexOf(".")),Zu.add(this.options.textNodeName,at),this.addChild(C,Zu,P)}else{if(le.length>0&&le.lastIndexOf("/")===le.length-1){U[U.length-1]==="/"?(U=U.substr(0,U.length-1),P=P.substr(0,P.length-1),le=U):le=le.substr(0,le.length-1),this.options.transformTagName&&(U=this.options.transformTagName(U));let at=new n(U);U!==le&&gt&&(at[":@"]=this.buildAttributesMap(le,P,U)),this.addChild(C,at,P),P=P.substr(0,P.lastIndexOf("."))}else{let at=new n(U);this.tagsNodeStack.push(C),U!==le&&gt&&(at[":@"]=this.buildAttributesMap(le,P,U)),this.addChild(C,at,P),C=at}w="",L=Mh}}else w+=E[L];return T.child},"parseXml");function h(E,T,C){let w=this.options.updateTag(T.tagname,C,T[":@"]);w===!1||(typeof w=="string"&&(T.tagname=w),E.addChild(T))}o(h,"addChild"),B(h,"addChild");var y=B(function(E){if(this.options.processEntities){for(let T in this.docTypeEntities){let C=this.docTypeEntities[T];E=E.replace(C.regx,C.val)}for(let T in this.lastEntities){let C=this.lastEntities[T];E=E.replace(C.regex,C.val)}if(this.options.htmlEntities)for(let T in this.htmlEntities){let C=this.htmlEntities[T];E=E.replace(C.regex,C.val)}E=E.replace(this.ampEntity.regex,this.ampEntity.val)}return E},"replaceEntitiesValue");function b(E,T,C,w){return E&&(w===void 0&&(w=Object.keys(T.child).length===0),E=this.parseTextData(E,T.tagname,C,!1,T[":@"]?Object.keys(T[":@"]).length!==0:!1,w),E!==void 0&&E!==""&&T.add(this.options.textNodeName,E),E=""),E}o(b,"saveTextToParentTag"),B(b,"saveTextToParentTag");function I(E,T,C){let w="*."+C;for(let P in E){let L=E[P];if(w===L||T===L)return!0}return!1}o(I,"isItStopNode"),B(I,"isItStopNode");function A(E,T,C=">"){let w,P="";for(let L=T;L<E.length;L++){let re=E[L];if(w)re===w&&(w="");else if(re==='"'||re==="'")w=re;else if(re===C[0])if(C[1]){if(E[L+1]===C[1])return{data:P,index:L}}else return{data:P,index:L};else re===" "&&(re=" ");P+=re}}o(A,"tagExpWithClosingIndex"),B(A,"tagExpWithClosingIndex");function g(E,T,C,w){let P=E.indexOf(T,C);if(P===-1)throw new Error(w);return P+T.length-1}o(g,"findClosingIndex"),B(g,"findClosingIndex");function v(E,T,C,w=">"){let P=A(E,T+1,w);if(!P)return;let L=P.data,re=P.index,j=L.search(/\s/),U=L,_e=!0;j!==-1&&(U=L.substring(0,j),L=L.substring(j+1).trimStart());let le=U;if(C){let gt=U.indexOf(":");gt!==-1&&(U=U.substr(gt+1),_e=U!==P.data.substr(gt+1))}return{tagName:U,tagExp:L,closeIndex:re,attrExpPresent:_e,rawTagName:le}}o(v,"readTagExp"),B(v,"readTagExp");function R(E,T,C){let w=C,P=1;for(;C<E.length;C++)if(E[C]==="<")if(E[C+1]==="/"){let L=g(E,">",C,`${T} is not closed`);if(E.substring(C+2,L).trim()===T&&(P--,P===0))return{tagContent:E.substring(w,C),i:L};C=L}else if(E[C+1]==="?")C=g(E,"?>",C+1,"StopNode is not closed.");else if(E.substr(C+1,3)==="!--")C=g(E,"-->",C+3,"StopNode is not closed.");else if(E.substr(C+1,2)==="![")C=g(E,"]]>",C,"StopNode is not closed.")-2;else{let L=v(E,C,">");L&&((L&&L.tagName)===T&&L.tagExp[L.tagExp.length-1]!=="/"&&P++,C=L.closeIndex)}}o(R,"readStopNodeData"),B(R,"readStopNodeData");function V(E,T,C){if(T&&typeof E=="string"){let w=E.trim();return w==="true"?!0:w==="false"?!1:s(E,C)}else return r.isExist(E)?E:""}o(V,"parseValue"),B(V,"parseValue"),e.exports=a}}),UL=Tt({"node_modules/fast-xml-parser/src/xmlparser/node2json.js"(t){"use strict";function e(a,c){return r(a,c)}o(e,"prettify"),B(e,"prettify");function r(a,c,u){let l,d={};for(let p=0;p<a.length;p++){let f=a[p],h=n(f),y="";if(u===void 0?y=h:y=u+"."+h,h===c.textNodeName)l===void 0?l=f[h]:l+=""+f[h];else{if(h===void 0)continue;if(f[h]){let b=r(f[h],c,y),I=s(b,c);f[":@"]?i(b,f[":@"],y,c):Object.keys(b).length===1&&b[c.textNodeName]!==void 0&&!c.alwaysCreateTextNode?b=b[c.textNodeName]:Object.keys(b).length===0&&(c.alwaysCreateTextNode?b[c.textNodeName]="":b=""),d[h]!==void 0&&d.hasOwnProperty(h)?(Array.isArray(d[h])||(d[h]=[d[h]]),d[h].push(b)):c.isArray(h,y,I)?d[h]=[b]:d[h]=b}}}return typeof l=="string"?l.length>0&&(d[c.textNodeName]=l):l!==void 0&&(d[c.textNodeName]=l),d}o(r,"compress"),B(r,"compress");function n(a){let c=Object.keys(a);for(let u=0;u<c.length;u++){let l=c[u];if(l!==":@")return l}}o(n,"propName"),B(n,"propName");function i(a,c,u,l){if(c){let d=Object.keys(c),p=d.length;for(let f=0;f<p;f++){let h=d[f];l.isArray(h,u+"."+h,!0,!0)?a[h]=[c[h]]:a[h]=c[h]}}}o(i,"assignAttributes"),B(i,"assignAttributes");function s(a,c){let{textNodeName:u}=c,l=Object.keys(a).length;return!!(l===0||l===1&&(a[u]||typeof a[u]=="boolean"||a[u]===0))}o(s,"isLeafTag"),B(s,"isLeafTag"),t.prettify=e}}),ML=Tt({"node_modules/fast-xml-parser/src/xmlparser/XMLParser.js"(t,e){var{buildOptions:r}=NL(),n=DL(),{prettify:i}=UL(),s=rw(),a=class{static{o(this,"XMLParser2")}static{B(this,"XMLParser")}constructor(c){this.externalEntities={},this.options=r(c)}parse(c,u){if(typeof c!="string")if(c.toString)c=c.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(u){u===!0&&(u={});let p=s.validate(c,u);if(p!==!0)throw Error(`${p.err.msg}:${p.err.line}:${p.err.col}`)}let l=new n(this.options);l.addExternalEntities(this.externalEntities);let d=l.parseXml(c);return this.options.preserveOrder||d===void 0?d:i(d,this.options)}addEntity(c,u){if(u.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(c.indexOf("&")!==-1||c.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(u==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[c]=u}};e.exports=a}}),kL=Tt({"node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js"(t,e){var r=`
78
- `;function n(l,d){let p="";return d.format&&d.indentBy.length>0&&(p=r),i(l,d,"",p)}o(n,"toXml"),B(n,"toXml");function i(l,d,p,f){let h="",y=!1;for(let b=0;b<l.length;b++){let I=l[b],A=s(I);if(A===void 0)continue;let g="";if(p.length===0?g=A:g=`${p}.${A}`,A===d.textNodeName){let T=I[A];c(g,d)||(T=d.tagValueProcessor(A,T),T=u(T,d)),y&&(h+=f),h+=T,y=!1;continue}else if(A===d.cdataPropName){y&&(h+=f),h+=`<![CDATA[${I[A][0][d.textNodeName]}]]>`,y=!1;continue}else if(A===d.commentPropName){h+=f+`<!--${I[A][0][d.textNodeName]}-->`,y=!0;continue}else if(A[0]==="?"){let T=a(I[":@"],d),C=A==="?xml"?"":f,w=I[A][0][d.textNodeName];w=w.length!==0?" "+w:"",h+=C+`<${A}${w}${T}?>`,y=!0;continue}let v=f;v!==""&&(v+=d.indentBy);let R=a(I[":@"],d),V=f+`<${A}${R}`,E=i(I[A],d,g,v);d.unpairedTags.indexOf(A)!==-1?d.suppressUnpairedNode?h+=V+">":h+=V+"/>":(!E||E.length===0)&&d.suppressEmptyNode?h+=V+"/>":E&&E.endsWith(">")?h+=V+`>${E}${f}</${A}>`:(h+=V+">",E&&f!==""&&(E.includes("/>")||E.includes("</"))?h+=f+d.indentBy+E+f:h+=E,h+=`</${A}>`),y=!0}return h}o(i,"arrToStr"),B(i,"arrToStr");function s(l){let d=Object.keys(l);for(let p=0;p<d.length;p++){let f=d[p];if(l.hasOwnProperty(f)&&f!==":@")return f}}o(s,"propName"),B(s,"propName");function a(l,d){let p="";if(l&&!d.ignoreAttributes)for(let f in l){if(!l.hasOwnProperty(f))continue;let h=d.attributeValueProcessor(f,l[f]);h=u(h,d),h===!0&&d.suppressBooleanAttributes?p+=` ${f.substr(d.attributeNamePrefix.length)}`:p+=` ${f.substr(d.attributeNamePrefix.length)}="${h}"`}return p}o(a,"attr_to_str"),B(a,"attr_to_str");function c(l,d){l=l.substr(0,l.length-d.textNodeName.length-1);let p=l.substr(l.lastIndexOf(".")+1);for(let f in d.stopNodes)if(d.stopNodes[f]===l||d.stopNodes[f]==="*."+p)return!0;return!1}o(c,"isStopNode"),B(c,"isStopNode");function u(l,d){if(l&&l.length>0&&d.processEntities)for(let p=0;p<d.entities.length;p++){let f=d.entities[p];l=l.replace(f.regex,f.val)}return l}o(u,"replaceEntitiesValue"),B(u,"replaceEntitiesValue"),e.exports=n}}),HL=Tt({"node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js"(t,e){"use strict";var r=kL(),n={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(u,l){return l},attributeValueProcessor:function(u,l){return l},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function i(u){this.options=Object.assign({},n,u),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=c),this.processTextOrObjNode=s,this.options.format?(this.indentate=a,this.tagEndChar=`>
79
- `,this.newLine=`
80
- `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}o(i,"Builder"),B(i,"Builder"),i.prototype.build=function(u){return this.options.preserveOrder?r(u,this.options):(Array.isArray(u)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(u={[this.options.arrayNodeName]:u}),this.j2x(u,0).val)},i.prototype.j2x=function(u,l){let d="",p="";for(let f in u)if(Object.prototype.hasOwnProperty.call(u,f))if(typeof u[f]>"u")this.isAttribute(f)&&(p+="");else if(u[f]===null)this.isAttribute(f)?p+="":f[0]==="?"?p+=this.indentate(l)+"<"+f+"?"+this.tagEndChar:p+=this.indentate(l)+"<"+f+"/"+this.tagEndChar;else if(u[f]instanceof Date)p+=this.buildTextValNode(u[f],f,"",l);else if(typeof u[f]!="object"){let h=this.isAttribute(f);if(h)d+=this.buildAttrPairStr(h,""+u[f]);else if(f===this.options.textNodeName){let y=this.options.tagValueProcessor(f,""+u[f]);p+=this.replaceEntitiesValue(y)}else p+=this.buildTextValNode(u[f],f,"",l)}else if(Array.isArray(u[f])){let h=u[f].length,y="";for(let b=0;b<h;b++){let I=u[f][b];typeof I>"u"||(I===null?f[0]==="?"?p+=this.indentate(l)+"<"+f+"?"+this.tagEndChar:p+=this.indentate(l)+"<"+f+"/"+this.tagEndChar:typeof I=="object"?this.options.oneListGroup?y+=this.j2x(I,l+1).val:y+=this.processTextOrObjNode(I,f,l):y+=this.buildTextValNode(I,f,"",l))}this.options.oneListGroup&&(y=this.buildObjectNode(y,f,"",l)),p+=y}else if(this.options.attributesGroupName&&f===this.options.attributesGroupName){let h=Object.keys(u[f]),y=h.length;for(let b=0;b<y;b++)d+=this.buildAttrPairStr(h[b],""+u[f][h[b]])}else p+=this.processTextOrObjNode(u[f],f,l);return{attrStr:d,val:p}},i.prototype.buildAttrPairStr=function(u,l){return l=this.options.attributeValueProcessor(u,""+l),l=this.replaceEntitiesValue(l),this.options.suppressBooleanAttributes&&l==="true"?" "+u:" "+u+'="'+l+'"'};function s(u,l,d){let p=this.j2x(u,d+1);return u[this.options.textNodeName]!==void 0&&Object.keys(u).length===1?this.buildTextValNode(u[this.options.textNodeName],l,p.attrStr,d):this.buildObjectNode(p.val,l,p.attrStr,d)}o(s,"processTextOrObjNode"),B(s,"processTextOrObjNode"),i.prototype.buildObjectNode=function(u,l,d,p){if(u==="")return l[0]==="?"?this.indentate(p)+"<"+l+d+"?"+this.tagEndChar:this.indentate(p)+"<"+l+d+this.closeTag(l)+this.tagEndChar;{let f="</"+l+this.tagEndChar,h="";return l[0]==="?"&&(h="?",f=""),(d||d==="")&&u.indexOf("<")===-1?this.indentate(p)+"<"+l+d+h+">"+u+f:this.options.commentPropName!==!1&&l===this.options.commentPropName&&h.length===0?this.indentate(p)+`<!--${u}-->`+this.newLine:this.indentate(p)+"<"+l+d+h+this.tagEndChar+u+this.indentate(p)+f}},i.prototype.closeTag=function(u){let l="";return this.options.unpairedTags.indexOf(u)!==-1?this.options.suppressUnpairedNode||(l="/"):this.options.suppressEmptyNode?l="/":l=`></${u}`,l},i.prototype.buildTextValNode=function(u,l,d,p){if(this.options.cdataPropName!==!1&&l===this.options.cdataPropName)return this.indentate(p)+`<![CDATA[${u}]]>`+this.newLine;if(this.options.commentPropName!==!1&&l===this.options.commentPropName)return this.indentate(p)+`<!--${u}-->`+this.newLine;if(l[0]==="?")return this.indentate(p)+"<"+l+d+"?"+this.tagEndChar;{let f=this.options.tagValueProcessor(l,u);return f=this.replaceEntitiesValue(f),f===""?this.indentate(p)+"<"+l+d+this.closeTag(l)+this.tagEndChar:this.indentate(p)+"<"+l+d+">"+f+"</"+l+this.tagEndChar}},i.prototype.replaceEntitiesValue=function(u){if(u&&u.length>0&&this.options.processEntities)for(let l=0;l<this.options.entities.length;l++){let d=this.options.entities[l];u=u.replace(d.regex,d.val)}return u};function a(u){return this.options.indentBy.repeat(u)}o(a,"indentate"),B(a,"indentate");function c(u){return u.startsWith(this.options.attributeNamePrefix)&&u!==this.options.textNodeName?u.substr(this.attrPrefixLen):!1}o(c,"isAttribute"),B(c,"isAttribute"),e.exports=i}}),FL=rw(),qL=ML(),$L=HL();nw.exports={XMLParser:qL,XMLValidator:FL,XMLBuilder:$L}});var ow=_(lu=>{"use strict";Object.defineProperty(lu,"__esModule",{value:!0});lu.XmlToJsonOutboundPolicy=void 0;var jL=k(),VL=Sn(),BL=iw(),GL=Qt(),KL=dt(),rh=class extends VL.OutboundPolicy{static{o(this,"XmlToJsonOutboundPolicy")}parser;parseOnStatusCodes;constructor(e,r){super(e,r),(0,KL.optionValidator)(this.options,this.policyName).optional("removeNSPrefix","boolean").optional("ignoreProcessingInstructions","boolean").optional("ignoreDeclarations","boolean").optional("ignoreAttributes","boolean").optional("stopNodes","array").optional("attributeNamePrefix","string").optional("textNodeName","string").optional("trimValues","boolean"),this.parseOnStatusCodes=e.parseOnStatusCodes?(0,GL.statusCodesStringToNumberArray)(e.parseOnStatusCodes):void 0,this.parser=new BL.XMLParser({removeNSPrefix:e?.removeNSPrefix??!0,ignorePiTags:e?.ignoreProcessingInstructions??!0,ignoreDeclaration:e?.ignoreDeclarations??!0,ignoreAttributes:e?.ignoreAttributes??!0,stopNodes:e?.stopNodes??[],attributeNamePrefix:e?.attributeNamePrefix??"@_",textNodeName:e?.textNodeName??"#text",trimValues:e?.trimValues??!0})}async handler(e,r,n){if(this.parseOnStatusCodes&&!this.parseOnStatusCodes.includes(e.status))return e;let i;try{let c=await e.text();i=this.parser.parse(c)}catch(c){let u=`XmlToJsonOutboundPolicy - Error parsing XML contents in policy '${this.policyName}'.`;throw n.log.error(u,c),new jL.RuntimeError(u)}let s=new Headers(e.headers);return s.set("content-type","application/json"),new Response(JSON.stringify(i),{status:e.status,statusText:e.statusText,headers:s})}};lu.XmlToJsonOutboundPolicy=rh});var sw=_(du=>{"use strict";Object.defineProperty(du,"__esModule",{value:!0});du.ServiceProviderImpl=void 0;var JL=k(),nh=class{static{o(this,"ServiceProviderImpl")}services=new Map;addService(e,r){if(this.services.get(e))throw new JL.SystemError(`A service with the name ${e} already exists -- you cannot have duplicate services`);this.services.set(e,r)}getService(e){return this.services.get(e)}};du.ServiceProviderImpl=nh});var cw=_(bi=>{"use strict";Object.defineProperty(bi,"__esModule",{value:!0});bi.BackgroundDispatcher=bi.BatchDispatch=void 0;var aw=Oe();Object.defineProperty(bi,"BatchDispatch",{enumerable:!0,get:function(){return aw.BatchDispatch}});var zL=Ta(),ih=class{static{o(this,"BackgroundDispatcher")}#e;constructor(e,r){if(!r||r.msDelay===void 0)throw new Error("BackgroundDispatcher: options.msDelay is required");this.#e=new aw.BatchDispatch(r.name??"",r.msDelay,e)}enqueue=e=>{this.#e.enqueue(e),(0,zL.getGlobalZuploEventContext)().waitUntil(this.#e.waitUntilFlushed())}};bi.BackgroundDispatcher=ih});var uw=_(pu=>{"use strict";Object.defineProperty(pu,"__esModule",{value:!0});pu.BackgroundLoader=void 0;var WL=Ta(),oh=class{static{o(this,"BackgroundLoader")}#e=new Map;#t;#r;#n=new Map;constructor(e,r){this.#t=e,this.#r=r*1e3}#i(e){let r=this.#e.get(e);r&&(r.expiry=new Date(Date.now()+this.#r))}#o(e){return e.expiry<=new Date}async get(e){let r=this.#e.get(e);return r&&!this.#o(r)?(this.#s(e),r.data):this.#a(e)}async#s(e){let r=this.#n.get(e);if(r!==void 0)return r.wrap();let n=this.#a(e);return this.#n.set(e,new Eo(n)),await new Eo(n).wrap(),this.#n.delete(e),n}async#a(e){let r=this.#n.get(e);if(r===void 0){let n=this.#t(e);r=new Eo(n),this.#i(e);let i=await r.wrap();this.#e.set(e,{data:i,expiry:new Date(Date.now()+this.#r)})}return r.wrap()}};pu.BackgroundLoader=oh;var Eo=class{static{o(this,"WrappedPromise")}#e;#t=[];#r;#n;constructor(e){(0,WL.getGlobalZuploEventContext)().waitUntil(e),this.#e=e,this.#e.then(n=>{this.#t.forEach(i=>i.resolve(n)),this.#r=n}).catch(n=>{this.#t.forEach(i=>i.reject(n)),this.#n=n})}async wrap(){if(this.#n)throw this.#n;if(this.#r)return this.#r;let e=this;return new Promise((n,i)=>{e.#t.push({resolve:n,reject:i})})}}});var Tw=_(m=>{"use strict";var QL=m&&m.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),sh=m&&m.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&QL(e,t,r)},ZL=m&&m.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(m,"__esModule",{value:!0});m.OpenIdJwtInboundPolicy=m.OktaJwtInboundPolicy=m.MonetizationInboundPolicy=m.setMoesifContext=m.MoesifInboundPolicy=m.MockApiInboundPolicy=m.JWTScopeValidationInboundPolicy=m.GeoFilterInboundPolicy=m.FormDataToJsonInboundPolicy=m.FirebaseJwtInboundPolicy=m.CurityPhantomTokenInboundPolicy=m.CompositeInboundPolicy=m.CognitoJwtInboundPolicy=m.ClerkJwtInboundPolicy=m.ClearHeadersOutboundPolicy=m.ClearHeadersInboundPolicy=m.ChangeMethodInboundPolicy=m.CachingInboundPolicy=m.BasicAuthInboundPolicy=m.Auth0JwtInboundPolicy=m.ApiKeyInboundPolicy=m.ApiAuthKeyInboundPolicy=m.AmberfloMeteringPolicy=m.AmberfloMeteringInboundPolicy=m.OutboundPolicy=m.InboundPolicy=m.AuditLogPlugin=m.AuditLogDataStaxProvider=m.HttpStatusCode=m.webSocketPipelineHandler=m.webSocketHandler=m.urlRewriteHandler=m.urlForwardHandler=m.redirectHandler=m.openApiSpecHandler=m.awsLambdaHandler=m.AwsLambdaHandlerExtensions=m.purgeGatewayCache=m.Handler=m.originalFetch=m.RuntimeError=m.ConfigurationError=m.isZuploReadableEnvVariableName=m.isRestrictedEnvVariableName=m.environment=m.ContextData=m.ResponseSentEvent=m.ResponseSendingEvent=m.ZoneCache=m.MemoryZoneReadThroughCache=void 0;m.BackgroundLoader=m.BackgroundDispatcher=m.BatchDispatch=m.sanitizedIdentifierName=m.getRawOperationDataIdentifierName=m.getIdForRequestBodySchema=m.getIdForRefSchema=m.getIdForParameterSchema=m.SystemLogMap=m.httpStatuses=m.SYSTEM_LOGGER=m.API_KEY=m.ServiceProviderImpl=m.serialize=m.ContentTypes=m.Router=m.LookupResult=m.SystemRouteName=m.ZuploRequest=m.ProblemResponseFormatter=m.HttpProblems=m.XmlToJsonOutboundPolicy=m.ValidateJsonSchemaInbound=m.UpstreamGcpServiceAuthInboundPolicy=m.UpstreamGcpJwtInboundPolicy=m.UpstreamFirebaseUserAuthInboundPolicy=m.UpstreamFirebaseAdminAuthInboundPolicy=m.UpstreamAzureAdServiceAuthInboundPolicy=m.SupabaseJwtInboundPolicy=m.StripeWebhookVerificationInboundPolicy=m.SleepInboundPolicy=m.SetStatusOutboundPolicy=m.SetQueryParamsInboundPolicy=m.SetHeadersOutboundPolicy=m.SetHeadersInboundPolicy=m.SetBodyInboundPolicy=m.RequireOriginInboundPolicy=m.SchemaBasedRequestValidation=m.RequestValidationInboundPolicy=m.RequestSizeLimitInboundPolicy=m.ReplaceStringOutboundPolicy=m.RemoveQueryParamsInboundPolicy=m.RemoveHeadersOutboundPolicy=m.RemoveHeadersInboundPolicy=m.ReadmeMetricsInboundPolicy=m.RateLimitInboundPolicy=m.BasicRateLimitInboundPolicy=m.PropelAuthJwtInboundPolicy=void 0;Vh();var YL=Jt();Object.defineProperty(m,"MemoryZoneReadThroughCache",{enumerable:!0,get:function(){return YL.MemoryZoneReadThroughCache}});var XL=cl();Object.defineProperty(m,"ZoneCache",{enumerable:!0,get:function(){return XL.ZoneCache}});var lw=Kr();Object.defineProperty(m,"ResponseSendingEvent",{enumerable:!0,get:function(){return lw.ResponseSendingEvent}});Object.defineProperty(m,"ResponseSentEvent",{enumerable:!0,get:function(){return lw.ResponseSentEvent}});var eD=Ip();Object.defineProperty(m,"ContextData",{enumerable:!0,get:function(){return eD.ContextData}});var ah=ro();Object.defineProperty(m,"environment",{enumerable:!0,get:function(){return ah.environment}});Object.defineProperty(m,"isRestrictedEnvVariableName",{enumerable:!0,get:function(){return ah.isRestrictedEnvVariableName}});Object.defineProperty(m,"isZuploReadableEnvVariableName",{enumerable:!0,get:function(){return ah.isZuploReadableEnvVariableName}});var dw=k();Object.defineProperty(m,"ConfigurationError",{enumerable:!0,get:function(){return dw.ConfigurationError}});Object.defineProperty(m,"RuntimeError",{enumerable:!0,get:function(){return dw.RuntimeError}});var tD=Ap();Object.defineProperty(m,"originalFetch",{enumerable:!0,get:function(){return tD.originalFetch}});var pw=bb();Object.defineProperty(m,"Handler",{enumerable:!0,get:function(){return pw.Handler}});Object.defineProperty(m,"purgeGatewayCache",{enumerable:!0,get:function(){return pw.purgeGatewayCache}});var fw=Ub();Object.defineProperty(m,"AwsLambdaHandlerExtensions",{enumerable:!0,get:function(){return fw.AwsLambdaHandlerExtensions}});Object.defineProperty(m,"awsLambdaHandler",{enumerable:!0,get:function(){return fw.awsLambdaHandler}});var rD=kb();Object.defineProperty(m,"openApiSpecHandler",{enumerable:!0,get:function(){return rD.openApiSpecHandler}});var nD=Hb();Object.defineProperty(m,"redirectHandler",{enumerable:!0,get:function(){return nD.redirectHandler}});var iD=qb();Object.defineProperty(m,"urlForwardHandler",{enumerable:!0,get:function(){return iD.urlForwardHandler}});var oD=jb();Object.defineProperty(m,"urlRewriteHandler",{enumerable:!0,get:function(){return oD.urlRewriteHandler}});var sD=Bb();Object.defineProperty(m,"webSocketHandler",{enumerable:!0,get:function(){return sD.webSocketHandler}});var aD=Jb();Object.defineProperty(m,"webSocketPipelineHandler",{enumerable:!0,get:function(){return aD.webSocketPipelineHandler}});var cD=Cl();Object.defineProperty(m,"HttpStatusCode",{enumerable:!0,get:function(){return cD.HttpStatusCode}});sh(t_(),m);sh(i_(),m);var uD=o_();Object.defineProperty(m,"AuditLogDataStaxProvider",{enumerable:!0,get:function(){return uD.AuditLogDataStaxProvider}});var lD=a_();Object.defineProperty(m,"AuditLogPlugin",{enumerable:!0,get:function(){return lD.AuditLogPlugin}});sh(w_(),m);var hw=Sn();Object.defineProperty(m,"InboundPolicy",{enumerable:!0,get:function(){return hw.InboundPolicy}});Object.defineProperty(m,"OutboundPolicy",{enumerable:!0,get:function(){return hw.OutboundPolicy}});var mw=P_();Object.defineProperty(m,"AmberfloMeteringInboundPolicy",{enumerable:!0,get:function(){return mw.AmberfloMeteringInboundPolicy}});Object.defineProperty(m,"AmberfloMeteringPolicy",{enumerable:!0,get:function(){return mw.AmberfloMeteringPolicy}});var dD=C_();Object.defineProperty(m,"ApiAuthKeyInboundPolicy",{enumerable:!0,get:function(){return dD.ApiAuthKeyInboundPolicy}});var pD=xf();Object.defineProperty(m,"ApiKeyInboundPolicy",{enumerable:!0,get:function(){return pD.ApiKeyInboundPolicy}});var fD=x_();Object.defineProperty(m,"Auth0JwtInboundPolicy",{enumerable:!0,get:function(){return fD.Auth0JwtInboundPolicy}});var hD=L_();Object.defineProperty(m,"BasicAuthInboundPolicy",{enumerable:!0,get:function(){return hD.BasicAuthInboundPolicy}});var mD=D_();Object.defineProperty(m,"CachingInboundPolicy",{enumerable:!0,get:function(){return mD.CachingInboundPolicy}});var yD=U_();Object.defineProperty(m,"ChangeMethodInboundPolicy",{enumerable:!0,get:function(){return yD.ChangeMethodInboundPolicy}});var gD=M_();Object.defineProperty(m,"ClearHeadersInboundPolicy",{enumerable:!0,get:function(){return gD.ClearHeadersInboundPolicy}});var bD=k_();Object.defineProperty(m,"ClearHeadersOutboundPolicy",{enumerable:!0,get:function(){return bD.ClearHeadersOutboundPolicy}});var _D=H_();Object.defineProperty(m,"ClerkJwtInboundPolicy",{enumerable:!0,get:function(){return _D.ClerkJwtInboundPolicy}});var ED=q_();Object.defineProperty(m,"CognitoJwtInboundPolicy",{enumerable:!0,get:function(){return ED.CognitoJwtInboundPolicy}});var wD=j_();Object.defineProperty(m,"CompositeInboundPolicy",{enumerable:!0,get:function(){return wD.CompositeInboundPolicy}});var vD=V_();Object.defineProperty(m,"CurityPhantomTokenInboundPolicy",{enumerable:!0,get:function(){return vD.CurityPhantomTokenInboundPolicy}});var TD=B_();Object.defineProperty(m,"FirebaseJwtInboundPolicy",{enumerable:!0,get:function(){return TD.FirebaseJwtInboundPolicy}});var SD=G_();Object.defineProperty(m,"FormDataToJsonInboundPolicy",{enumerable:!0,get:function(){return SD.FormDataToJsonInboundPolicy}});var ID=K_();Object.defineProperty(m,"GeoFilterInboundPolicy",{enumerable:!0,get:function(){return ID.GeoFilterInboundPolicy}});var PD=J_();Object.defineProperty(m,"JWTScopeValidationInboundPolicy",{enumerable:!0,get:function(){return PD.JWTScopeValidationInboundPolicy}});var AD=W_();Object.defineProperty(m,"MockApiInboundPolicy",{enumerable:!0,get:function(){return AD.MockApiInboundPolicy}});var yw=eE();Object.defineProperty(m,"MoesifInboundPolicy",{enumerable:!0,get:function(){return yw.MoesifInboundPolicy}});Object.defineProperty(m,"setMoesifContext",{enumerable:!0,get:function(){return yw.setMoesifContext}});var OD=aE();Object.defineProperty(m,"MonetizationInboundPolicy",{enumerable:!0,get:function(){return OD.MonetizationInboundPolicy}});var RD=cE();Object.defineProperty(m,"OktaJwtInboundPolicy",{enumerable:!0,get:function(){return RD.OktaJwtInboundPolicy}});var ND=rr();Object.defineProperty(m,"OpenIdJwtInboundPolicy",{enumerable:!0,get:function(){return ND.OpenIdJwtInboundPolicy}});var CD=uE();Object.defineProperty(m,"PropelAuthJwtInboundPolicy",{enumerable:!0,get:function(){return CD.PropelAuthJwtInboundPolicy}});var gw=gE();Object.defineProperty(m,"BasicRateLimitInboundPolicy",{enumerable:!0,get:function(){return gw.RateLimitInboundPolicy}});Object.defineProperty(m,"RateLimitInboundPolicy",{enumerable:!0,get:function(){return gw.RateLimitInboundPolicy}});var xD=wE();Object.defineProperty(m,"ReadmeMetricsInboundPolicy",{enumerable:!0,get:function(){return xD.ReadmeMetricsInboundPolicy}});var LD=vE();Object.defineProperty(m,"RemoveHeadersInboundPolicy",{enumerable:!0,get:function(){return LD.RemoveHeadersInboundPolicy}});var DD=TE();Object.defineProperty(m,"RemoveHeadersOutboundPolicy",{enumerable:!0,get:function(){return DD.RemoveHeadersOutboundPolicy}});var UD=SE();Object.defineProperty(m,"RemoveQueryParamsInboundPolicy",{enumerable:!0,get:function(){return UD.RemoveQueryParamsInboundPolicy}});var MD=IE();Object.defineProperty(m,"ReplaceStringOutboundPolicy",{enumerable:!0,get:function(){return MD.ReplaceStringOutboundPolicy}});var kD=AE();Object.defineProperty(m,"RequestSizeLimitInboundPolicy",{enumerable:!0,get:function(){return kD.RequestSizeLimitInboundPolicy}});var bw=xE();Object.defineProperty(m,"RequestValidationInboundPolicy",{enumerable:!0,get:function(){return bw.RequestValidationInboundPolicy}});Object.defineProperty(m,"SchemaBasedRequestValidation",{enumerable:!0,get:function(){return bw.SchemaBasedRequestValidation}});var HD=LE();Object.defineProperty(m,"RequireOriginInboundPolicy",{enumerable:!0,get:function(){return HD.RequireOriginInboundPolicy}});var FD=DE();Object.defineProperty(m,"SetBodyInboundPolicy",{enumerable:!0,get:function(){return FD.SetBodyInboundPolicy}});var qD=ME();Object.defineProperty(m,"SetHeadersInboundPolicy",{enumerable:!0,get:function(){return qD.SetHeadersInboundPolicy}});var $D=HE();Object.defineProperty(m,"SetHeadersOutboundPolicy",{enumerable:!0,get:function(){return $D.SetHeadersOutboundPolicy}});var jD=qE();Object.defineProperty(m,"SetQueryParamsInboundPolicy",{enumerable:!0,get:function(){return jD.SetQueryParamsInboundPolicy}});var VD=$E();Object.defineProperty(m,"SetStatusOutboundPolicy",{enumerable:!0,get:function(){return VD.SetStatusOutboundPolicy}});var BD=jE();Object.defineProperty(m,"SleepInboundPolicy",{enumerable:!0,get:function(){return BD.SleepInboundPolicy}});var GD=lf();Object.defineProperty(m,"StripeWebhookVerificationInboundPolicy",{enumerable:!0,get:function(){return GD.StripeWebhookVerificationInboundPolicy}});var KD=BE();Object.defineProperty(m,"SupabaseJwtInboundPolicy",{enumerable:!0,get:function(){return KD.SupabaseJwtInboundPolicy}});var JD=KE();Object.defineProperty(m,"UpstreamAzureAdServiceAuthInboundPolicy",{enumerable:!0,get:function(){return JD.UpstreamAzureAdServiceAuthInboundPolicy}});var zD=zE();Object.defineProperty(m,"UpstreamFirebaseAdminAuthInboundPolicy",{enumerable:!0,get:function(){return zD.UpstreamFirebaseAdminAuthInboundPolicy}});var WD=WE();Object.defineProperty(m,"UpstreamFirebaseUserAuthInboundPolicy",{enumerable:!0,get:function(){return WD.UpstreamFirebaseUserAuthInboundPolicy}});var QD=ZE();Object.defineProperty(m,"UpstreamGcpJwtInboundPolicy",{enumerable:!0,get:function(){return QD.UpstreamGcpJwtInboundPolicy}});var ZD=XE();Object.defineProperty(m,"UpstreamGcpServiceAuthInboundPolicy",{enumerable:!0,get:function(){return ZD.UpstreamGcpServiceAuthInboundPolicy}});var YD=tw();Object.defineProperty(m,"ValidateJsonSchemaInbound",{enumerable:!0,get:function(){return YD.ValidateJsonSchemaInbound}});var XD=ow();Object.defineProperty(m,"XmlToJsonOutboundPolicy",{enumerable:!0,get:function(){return XD.XmlToJsonOutboundPolicy}});var e1=de();Object.defineProperty(m,"HttpProblems",{enumerable:!0,get:function(){return e1.HttpProblems}});var t1=Zo();Object.defineProperty(m,"ProblemResponseFormatter",{enumerable:!0,get:function(){return t1.ProblemResponseFormatter}});var r1=Ke();Object.defineProperty(m,"ZuploRequest",{enumerable:!0,get:function(){return r1.ZuploRequest}});var n1=zr();Object.defineProperty(m,"SystemRouteName",{enumerable:!0,get:function(){return n1.SystemRouteName}});var _w=yp();Object.defineProperty(m,"LookupResult",{enumerable:!0,get:function(){return _w.LookupResult}});Object.defineProperty(m,"Router",{enumerable:!0,get:function(){return _w.Router}});var Ew=wl();Object.defineProperty(m,"ContentTypes",{enumerable:!0,get:function(){return Ew.ContentTypes}});Object.defineProperty(m,"serialize",{enumerable:!0,get:function(){return Ew.serialize}});var i1=sw();Object.defineProperty(m,"ServiceProviderImpl",{enumerable:!0,get:function(){return i1.ServiceProviderImpl}});var ww=Ql();Object.defineProperty(m,"API_KEY",{enumerable:!0,get:function(){return ww.API_KEY}});Object.defineProperty(m,"SYSTEM_LOGGER",{enumerable:!0,get:function(){return ww.SYSTEM_LOGGER}});var o1=Ll();Object.defineProperty(m,"httpStatuses",{enumerable:!0,get:function(){return ZL(o1).default}});var s1=Je();Object.defineProperty(m,"SystemLogMap",{enumerable:!0,get:function(){return s1.SystemLogMap}});var wo=Bc();Object.defineProperty(m,"getIdForParameterSchema",{enumerable:!0,get:function(){return wo.getIdForParameterSchema}});Object.defineProperty(m,"getIdForRefSchema",{enumerable:!0,get:function(){return wo.getIdForRefSchema}});Object.defineProperty(m,"getIdForRequestBodySchema",{enumerable:!0,get:function(){return wo.getIdForRequestBodySchema}});Object.defineProperty(m,"getRawOperationDataIdentifierName",{enumerable:!0,get:function(){return wo.getRawOperationDataIdentifierName}});Object.defineProperty(m,"sanitizedIdentifierName",{enumerable:!0,get:function(){return wo.sanitizedIdentifierName}});var vw=cw();Object.defineProperty(m,"BatchDispatch",{enumerable:!0,get:function(){return vw.BatchDispatch}});Object.defineProperty(m,"BackgroundDispatcher",{enumerable:!0,get:function(){return vw.BackgroundDispatcher}});var a1=uw();Object.defineProperty(m,"BackgroundLoader",{enumerable:!0,get:function(){return a1.BackgroundLoader}})});var Sw=_(_i=>{"use strict";Object.defineProperty(_i,"__esModule",{value:!0});_i.BaseCryptoBeta=_i.supportedDigests=void 0;_i.supportedDigests=["sha-1","sha-256","sha-384","sha-512"];var ch=class{static{o(this,"BaseCryptoBeta")}};_i.BaseCryptoBeta=ch});var Iw=_(fu=>{"use strict";Object.defineProperty(fu,"__esModule",{value:!0});fu.WorkerCryptoBeta=void 0;var uh=Sw(),c1=k(),lh=class extends uh.BaseCryptoBeta{static{o(this,"WorkerCryptoBeta")}async digest(e,r){if(!uh.supportedDigests.includes(e.toLowerCase()))throw new c1.RuntimeError(`Algorithm ${e} is not supported. Try using ${uh.supportedDigests.join(", ")}`);let n=new TextEncoder().encode(r),i=await crypto.subtle.digest(e,n);return Array.from(new Uint8Array(i)).map(c=>c.toString(16).padStart(2,"0")).join("")}};fu.WorkerCryptoBeta=lh});var Pw=_(hu=>{"use strict";Object.defineProperty(hu,"__esModule",{value:!0});hu.BaseKeyValueStore=void 0;var dh=class{static{o(this,"BaseKeyValueStore")}context;constructor(e){this.context=e}};hu.BaseKeyValueStore=dh});var Ow=_(mu=>{"use strict";Object.defineProperty(mu,"__esModule",{value:!0});mu.WorkerKeyValueStore=void 0;var Aw=k(),u1=Pw(),l1=X(),ph=class extends u1.BaseKeyValueStore{static{o(this,"WorkerKeyValueStore")}#e;constructor(e){super(e);let r=l1.Environment.instance.runtime.ZUPLO_KV;if(!r)throw new Aw.FeatureNotEnabledError("The Key Value Store feature is not enabled for this project.");this.#e=r}put(e,r,n){if(typeof e!="string")throw new Aw.ConfigurationError("value must be of type string");return this.#e.put(e,r,n?{expirationTtl:n.expirationSecondsTtl}:void 0)}get(e,r){return this.#e.get(e,{type:"text",cacheTtl:r?.cacheSecondsTtl})}delete(e){return this.#e.delete(e)}};mu.WorkerKeyValueStore=ph});var Wt=_(St=>{"use strict";var d1=St&&St.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),p1=St&&St.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&d1(e,t,r)};Object.defineProperty(St,"__esModule",{value:!0});St.KeyValueStore=St.CryptoBeta=void 0;p1(Tw(),St);var f1=Iw();Object.defineProperty(St,"CryptoBeta",{enumerable:!0,get:function(){return f1.WorkerCryptoBeta}});var h1=Ow();Object.defineProperty(St,"KeyValueStore",{enumerable:!0,get:function(){return h1.WorkerKeyValueStore}})});var wU={};ko(wU,{GraphQLComplexityLimitInboundPolicy:()=>sv,GraphQLDisableIntrospectionInboundPolicy:()=>cv});module.exports=Ho(wU);var Ci=Fh(Wt());function ee(t,e){if(!!!t)throw new Error(e)}o(ee,"devAssert");function Ne(t){return typeof t=="object"&&t!==null}o(Ne,"isObjectLike");function jt(t,e){if(!!!t)throw new Error(e??"Unexpected invariant triggered.")}o(jt,"invariant");var m1=/\r\n|[\n\r]/g;function Ei(t,e){let r=0,n=1;for(let i of t.body.matchAll(m1)){if(typeof i.index=="number"||jt(!1),i.index>=e)break;r=i.index+i[0].length,n+=1}return{line:n,column:e+1-r}}o(Ei,"getLocation");function fh(t){return yu(t.source,Ei(t.source,t.start))}o(fh,"printLocation");function yu(t,e){let r=t.locationOffset.column-1,n="".padStart(r)+t.body,i=e.line-1,s=t.locationOffset.line-1,a=e.line+s,c=e.line===1?r:0,u=e.column+c,l=`${t.name}:${a}:${u}
81
- `,d=n.split(/\r\n|[\n\r]/g),p=d[i];if(p.length>120){let f=Math.floor(u/80),h=u%80,y=[];for(let b=0;b<p.length;b+=80)y.push(p.slice(b,b+80));return l+Rw([[`${a} |`,y[0]],...y.slice(1,f+1).map(b=>["|",b]),["|","^".padStart(h)],["|",y[f+1]]])}return l+Rw([[`${a-1} |`,d[i-1]],[`${a} |`,p],["|","^".padStart(u)],[`${a+1} |`,d[i+1]]])}o(yu,"printSourceLocation");function Rw(t){let e=t.filter(([n,i])=>i!==void 0),r=Math.max(...e.map(([n])=>n.length));return e.map(([n,i])=>n.padStart(r)+(i?" "+i:"")).join(`
82
- `)}o(Rw,"printPrefixedLines");function y1(t){let e=t[0];return e==null||"kind"in e||"length"in e?{nodes:e,source:t[1],positions:t[2],path:t[3],originalError:t[4],extensions:t[5]}:e}o(y1,"toNormalizedOptions");var $=class t extends Error{static{o(this,"GraphQLError")}constructor(e,...r){var n,i,s;let{nodes:a,source:c,positions:u,path:l,originalError:d,extensions:p}=y1(r);super(e),this.name="GraphQLError",this.path=l??void 0,this.originalError=d??void 0,this.nodes=Nw(Array.isArray(a)?a:a?[a]:void 0);let f=Nw((n=this.nodes)===null||n===void 0?void 0:n.map(y=>y.loc).filter(y=>y!=null));this.source=c??(f==null||(i=f[0])===null||i===void 0?void 0:i.source),this.positions=u??f?.map(y=>y.start),this.locations=u&&c?u.map(y=>Ei(c,y)):f?.map(y=>Ei(y.source,y.start));let h=Ne(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,t):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let e=this.message;if(this.nodes)for(let r of this.nodes)r.loc&&(e+=`
83
-
84
- `+fh(r.loc));else if(this.source&&this.locations)for(let r of this.locations)e+=`
85
-
86
- `+yu(this.source,r);return e}toJSON(){let e={message:this.message};return this.locations!=null&&(e.locations=this.locations),this.path!=null&&(e.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(e.extensions=this.extensions),e}};function Nw(t){return t===void 0||t.length===0?void 0:t}o(Nw,"undefinedIfEmpty");function we(t,e,r){return new $(`Syntax Error: ${r}`,{source:t,positions:[e]})}o(we,"syntaxError");var vo=class{static{o(this,"Location")}constructor(e,r,n){this.start=e.start,this.end=r.end,this.startToken=e,this.endToken=r,this.source=n}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},wi=class{static{o(this,"Token")}constructor(e,r,n,i,s,a){this.kind=e,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}}},hh={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"]},g1=new Set(Object.keys(hh));function To(t){let e=t?.kind;return typeof e=="string"&&g1.has(e)}o(To,"isNode");var ht;(function(t){t.QUERY="query",t.MUTATION="mutation",t.SUBSCRIPTION="subscription"})(ht||(ht={}));var te;(function(t){t.QUERY="QUERY",t.MUTATION="MUTATION",t.SUBSCRIPTION="SUBSCRIPTION",t.FIELD="FIELD",t.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",t.FRAGMENT_SPREAD="FRAGMENT_SPREAD",t.INLINE_FRAGMENT="INLINE_FRAGMENT",t.VARIABLE_DEFINITION="VARIABLE_DEFINITION",t.SCHEMA="SCHEMA",t.SCALAR="SCALAR",t.OBJECT="OBJECT",t.FIELD_DEFINITION="FIELD_DEFINITION",t.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",t.INTERFACE="INTERFACE",t.UNION="UNION",t.ENUM="ENUM",t.ENUM_VALUE="ENUM_VALUE",t.INPUT_OBJECT="INPUT_OBJECT",t.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(te||(te={}));var S;(function(t){t.NAME="Name",t.DOCUMENT="Document",t.OPERATION_DEFINITION="OperationDefinition",t.VARIABLE_DEFINITION="VariableDefinition",t.SELECTION_SET="SelectionSet",t.FIELD="Field",t.ARGUMENT="Argument",t.FRAGMENT_SPREAD="FragmentSpread",t.INLINE_FRAGMENT="InlineFragment",t.FRAGMENT_DEFINITION="FragmentDefinition",t.VARIABLE="Variable",t.INT="IntValue",t.FLOAT="FloatValue",t.STRING="StringValue",t.BOOLEAN="BooleanValue",t.NULL="NullValue",t.ENUM="EnumValue",t.LIST="ListValue",t.OBJECT="ObjectValue",t.OBJECT_FIELD="ObjectField",t.DIRECTIVE="Directive",t.NAMED_TYPE="NamedType",t.LIST_TYPE="ListType",t.NON_NULL_TYPE="NonNullType",t.SCHEMA_DEFINITION="SchemaDefinition",t.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",t.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",t.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",t.FIELD_DEFINITION="FieldDefinition",t.INPUT_VALUE_DEFINITION="InputValueDefinition",t.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",t.UNION_TYPE_DEFINITION="UnionTypeDefinition",t.ENUM_TYPE_DEFINITION="EnumTypeDefinition",t.ENUM_VALUE_DEFINITION="EnumValueDefinition",t.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",t.DIRECTIVE_DEFINITION="DirectiveDefinition",t.SCHEMA_EXTENSION="SchemaExtension",t.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",t.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",t.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",t.UNION_TYPE_EXTENSION="UnionTypeExtension",t.ENUM_TYPE_EXTENSION="EnumTypeExtension",t.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(S||(S={}));function gu(t){return t===9||t===32}o(gu,"isWhiteSpace");function vi(t){return t>=48&&t<=57}o(vi,"isDigit");function Cw(t){return t>=97&&t<=122||t>=65&&t<=90}o(Cw,"isLetter");function So(t){return Cw(t)||t===95}o(So,"isNameStart");function bu(t){return Cw(t)||vi(t)||t===95}o(bu,"isNameContinue");function xw(t){var e;let r=Number.MAX_SAFE_INTEGER,n=null,i=-1;for(let a=0;a<t.length;++a){var s;let c=t[a],u=b1(c);u!==c.length&&(n=(s=n)!==null&&s!==void 0?s:a,i=a,a!==0&&u<r&&(r=u))}return t.map((a,c)=>c===0?a:a.slice(r)).slice((e=n)!==null&&e!==void 0?e:0,i+1)}o(xw,"dedentBlockStringLines");function b1(t){let e=0;for(;e<t.length&&gu(t.charCodeAt(e));)++e;return e}o(b1,"leadingWhitespace");function Lw(t,e){let r=t.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||gu(h.charCodeAt(0))),a=r.endsWith('\\"""'),c=t.endsWith('"')&&!a,u=t.endsWith("\\"),l=c||u,d=!(e!=null&&e.minimize)&&(!i||t.length>70||l||s||a),p="",f=i&&gu(t.charCodeAt(0));return(d&&!f||s)&&(p+=`
87
- `),p+=r,(d||l)&&(p+=`
88
- `),'"""'+p+'"""'}o(Lw,"printBlockString");var O;(function(t){t.SOF="<SOF>",t.EOF="<EOF>",t.BANG="!",t.DOLLAR="$",t.AMP="&",t.PAREN_L="(",t.PAREN_R=")",t.SPREAD="...",t.COLON=":",t.EQUALS="=",t.AT="@",t.BRACKET_L="[",t.BRACKET_R="]",t.BRACE_L="{",t.PIPE="|",t.BRACE_R="}",t.NAME="Name",t.INT="Int",t.FLOAT="Float",t.STRING="String",t.BLOCK_STRING="BlockString",t.COMMENT="Comment"})(O||(O={}));var Po=class{static{o(this,"Lexer")}constructor(e){let r=new wi(O.SOF,0,0,0,0);this.source=e,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 e=this.token;if(e.kind!==O.EOF)do if(e.next)e=e.next;else{let r=_1(this,e.end);e.next=r,r.prev=e,e=r}while(e.kind===O.COMMENT);return e}};function Uw(t){return t===O.BANG||t===O.DOLLAR||t===O.AMP||t===O.PAREN_L||t===O.PAREN_R||t===O.SPREAD||t===O.COLON||t===O.EQUALS||t===O.AT||t===O.BRACKET_L||t===O.BRACKET_R||t===O.BRACE_L||t===O.PIPE||t===O.BRACE_R}o(Uw,"isPunctuatorTokenKind");function Ti(t){return t>=0&&t<=55295||t>=57344&&t<=1114111}o(Ti,"isUnicodeScalarValue");function _u(t,e){return Mw(t.charCodeAt(e))&&kw(t.charCodeAt(e+1))}o(_u,"isSupplementaryCodePoint");function Mw(t){return t>=55296&&t<=56319}o(Mw,"isLeadingSurrogate");function kw(t){return t>=56320&&t<=57343}o(kw,"isTrailingSurrogate");function mn(t,e){let r=t.source.body.codePointAt(e);if(r===void 0)return O.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}o(mn,"printCodePointAt");function Se(t,e,r,n,i){let s=t.line,a=1+r-t.lineStart;return new wi(e,r,n,s,a,i)}o(Se,"createToken");function _1(t,e){let r=t.source.body,n=r.length,i=e;for(;i<n;){let s=r.charCodeAt(i);switch(s){case 65279:case 9:case 32:case 44:++i;continue;case 10:++i,++t.line,t.lineStart=i;continue;case 13:r.charCodeAt(i+1)===10?i+=2:++i,++t.line,t.lineStart=i;continue;case 35:return E1(t,i);case 33:return Se(t,O.BANG,i,i+1);case 36:return Se(t,O.DOLLAR,i,i+1);case 38:return Se(t,O.AMP,i,i+1);case 40:return Se(t,O.PAREN_L,i,i+1);case 41:return Se(t,O.PAREN_R,i,i+1);case 46:if(r.charCodeAt(i+1)===46&&r.charCodeAt(i+2)===46)return Se(t,O.SPREAD,i,i+3);break;case 58:return Se(t,O.COLON,i,i+1);case 61:return Se(t,O.EQUALS,i,i+1);case 64:return Se(t,O.AT,i,i+1);case 91:return Se(t,O.BRACKET_L,i,i+1);case 93:return Se(t,O.BRACKET_R,i,i+1);case 123:return Se(t,O.BRACE_L,i,i+1);case 124:return Se(t,O.PIPE,i,i+1);case 125:return Se(t,O.BRACE_R,i,i+1);case 34:return r.charCodeAt(i+1)===34&&r.charCodeAt(i+2)===34?P1(t,i):v1(t,i)}if(vi(s)||s===45)return w1(t,i,s);if(So(s))return A1(t,i);throw we(t.source,i,s===39?`Unexpected single quote character ('), did you mean to use a double quote (")?`:Ti(s)||_u(r,i)?`Unexpected character: ${mn(t,i)}.`:`Invalid character: ${mn(t,i)}.`)}return Se(t,O.EOF,n,n)}o(_1,"readNextToken");function E1(t,e){let r=t.source.body,n=r.length,i=e+1;for(;i<n;){let s=r.charCodeAt(i);if(s===10||s===13)break;if(Ti(s))++i;else if(_u(r,i))i+=2;else break}return Se(t,O.COMMENT,e,i,r.slice(e+1,i))}o(E1,"readComment");function w1(t,e,r){let n=t.source.body,i=e,s=r,a=!1;if(s===45&&(s=n.charCodeAt(++i)),s===48){if(s=n.charCodeAt(++i),vi(s))throw we(t.source,i,`Invalid number, unexpected digit after 0: ${mn(t,i)}.`)}else i=mh(t,i,s),s=n.charCodeAt(i);if(s===46&&(a=!0,s=n.charCodeAt(++i),i=mh(t,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=mh(t,i,s),s=n.charCodeAt(i)),s===46||So(s))throw we(t.source,i,`Invalid number, expected digit but got: ${mn(t,i)}.`);return Se(t,a?O.FLOAT:O.INT,e,i,n.slice(e,i))}o(w1,"readNumber");function mh(t,e,r){if(!vi(r))throw we(t.source,e,`Invalid number, expected digit but got: ${mn(t,e)}.`);let n=t.source.body,i=e+1;for(;vi(n.charCodeAt(i));)++i;return i}o(mh,"readDigits");function v1(t,e){let r=t.source.body,n=r.length,i=e+1,s=i,a="";for(;i<n;){let c=r.charCodeAt(i);if(c===34)return a+=r.slice(s,i),Se(t,O.STRING,e,i+1,a);if(c===92){a+=r.slice(s,i);let u=r.charCodeAt(i+1)===117?r.charCodeAt(i+2)===123?T1(t,i):S1(t,i):I1(t,i);a+=u.value,i+=u.size,s=i;continue}if(c===10||c===13)break;if(Ti(c))++i;else if(_u(r,i))i+=2;else throw we(t.source,i,`Invalid character within String: ${mn(t,i)}.`)}throw we(t.source,i,"Unterminated string.")}o(v1,"readString");function T1(t,e){let r=t.source.body,n=0,i=3;for(;i<12;){let s=r.charCodeAt(e+i++);if(s===125){if(i<5||!Ti(n))break;return{value:String.fromCodePoint(n),size:i}}if(n=n<<4|Io(s),n<0)break}throw we(t.source,e,`Invalid Unicode escape sequence: "${r.slice(e,e+i)}".`)}o(T1,"readEscapedUnicodeVariableWidth");function S1(t,e){let r=t.source.body,n=Dw(r,e+2);if(Ti(n))return{value:String.fromCodePoint(n),size:6};if(Mw(n)&&r.charCodeAt(e+6)===92&&r.charCodeAt(e+7)===117){let i=Dw(r,e+8);if(kw(i))return{value:String.fromCodePoint(n,i),size:12}}throw we(t.source,e,`Invalid Unicode escape sequence: "${r.slice(e,e+6)}".`)}o(S1,"readEscapedUnicodeFixedWidth");function Dw(t,e){return Io(t.charCodeAt(e))<<12|Io(t.charCodeAt(e+1))<<8|Io(t.charCodeAt(e+2))<<4|Io(t.charCodeAt(e+3))}o(Dw,"read16BitHexCode");function Io(t){return t>=48&&t<=57?t-48:t>=65&&t<=70?t-55:t>=97&&t<=102?t-87:-1}o(Io,"readHexDigit");function I1(t,e){let r=t.source.body;switch(r.charCodeAt(e+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:`
89
- `,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw we(t.source,e,`Invalid character escape sequence: "${r.slice(e,e+2)}".`)}o(I1,"readEscapedCharacter");function P1(t,e){let r=t.source.body,n=r.length,i=t.lineStart,s=e+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=Se(t,O.BLOCK_STRING,e,s+3,xw(u).join(`
90
- `));return t.line+=u.length-1,t.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(Ti(l))++s;else if(_u(r,s))s+=2;else throw we(t.source,s,`Invalid character within String: ${mn(t,s)}.`)}throw we(t.source,s,"Unterminated string.")}o(P1,"readBlockString");function A1(t,e){let r=t.source.body,n=r.length,i=e+1;for(;i<n;){let s=r.charCodeAt(i);if(bu(s))++i;else break}return Se(t,O.NAME,e,i,r.slice(e,i))}o(A1,"readName");function M(t){return Eu(t,[])}o(M,"inspect");function Eu(t,e){switch(typeof t){case"string":return JSON.stringify(t);case"function":return t.name?`[function ${t.name}]`:"[function]";case"object":return O1(t,e);default:return String(t)}}o(Eu,"formatValue");function O1(t,e){if(t===null)return"null";if(e.includes(t))return"[Circular]";let r=[...e,t];if(R1(t)){let n=t.toJSON();if(n!==t)return typeof n=="string"?n:Eu(n,r)}else if(Array.isArray(t))return C1(t,r);return N1(t,r)}o(O1,"formatObjectValue");function R1(t){return typeof t.toJSON=="function"}o(R1,"isJSONable");function N1(t,e){let r=Object.entries(t);return r.length===0?"{}":e.length>2?"["+x1(t)+"]":"{ "+r.map(([i,s])=>i+": "+Eu(s,e)).join(", ")+" }"}o(N1,"formatObject");function C1(t,e){if(t.length===0)return"[]";if(e.length>2)return"[Array]";let r=Math.min(10,t.length),n=t.length-r,i=[];for(let s=0;s<r;++s)i.push(Eu(t[s],e));return n===1?i.push("... 1 more item"):n>1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}o(C1,"formatArray");function x1(t){let e=Object.prototype.toString.call(t).replace(/^\[object /,"").replace(/]$/,"");if(e==="Object"&&typeof t.constructor=="function"){let r=t.constructor.name;if(typeof r=="string"&&r!=="")return r}return e}o(x1,"getObjectTag");var nt=globalThis.process&&globalThis.process.env.NODE_ENV==="production"?o(function(e,r){return e instanceof r},"instanceOf"):o(function(e,r){if(e instanceof r)return!0;if(typeof e=="object"&&e!==null){var n;let i=r.prototype[Symbol.toStringTag],s=Symbol.toStringTag in e?e[Symbol.toStringTag]:(n=e.constructor)===null||n===void 0?void 0:n.name;if(i===s){let a=M(e);throw new Error(`Cannot use ${i} "${a}" from another module or realm.
91
-
92
- Ensure that there is only one instance of "graphql" in the node_modules
93
- directory. If different versions of "graphql" are the dependencies of other
94
- relied on modules, use "resolutions" to ensure only one version is installed.
95
-
96
- https://yarnpkg.com/en/docs/selective-version-resolutions
97
-
98
- Duplicate "graphql" modules cannot be used at the same time since different
99
- versions may have different capabilities and behavior. The data from one
100
- version used in the function from another could produce confusing and
101
- spurious results.`)}}return!1},"instanceOf");var Si=class{static{o(this,"Source")}constructor(e,r="GraphQL request",n={line:1,column:1}){typeof e=="string"||ee(!1,`Body must be a string. Received: ${M(e)}.`),this.body=e,this.name=r,this.locationOffset=n,this.locationOffset.line>0||ee(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||ee(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function Hw(t){return nt(t,Si)}o(Hw,"isSource");function Tu(t,e){return new vu(t,e).parseDocument()}o(Tu,"parse");function Su(t,e){let r=new vu(t,e);r.expectToken(O.SOF);let n=r.parseValueLiteral(!1);return r.expectToken(O.EOF),n}o(Su,"parseValue");var vu=class{static{o(this,"Parser")}constructor(e,r={}){let n=Hw(e)?e:new Si(e);this._lexer=new Po(n),this._options=r,this._tokenCounter=0}parseName(){let e=this.expectToken(O.NAME);return this.node(e,{kind:S.NAME,value:e.value})}parseDocument(){return this.node(this._lexer.token,{kind:S.DOCUMENT,definitions:this.many(O.SOF,this.parseDefinition,O.EOF)})}parseDefinition(){if(this.peek(O.BRACE_L))return this.parseOperationDefinition();let e=this.peekDescription(),r=e?this._lexer.lookahead():this._lexer.token;if(r.kind===O.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(e)throw we(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 e=this._lexer.token;if(this.peek(O.BRACE_L))return this.node(e,{kind:S.OPERATION_DEFINITION,operation:ht.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let r=this.parseOperationType(),n;return this.peek(O.NAME)&&(n=this.parseName()),this.node(e,{kind:S.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let e=this.expectToken(O.NAME);switch(e.value){case"query":return ht.QUERY;case"mutation":return ht.MUTATION;case"subscription":return ht.SUBSCRIPTION}throw this.unexpected(e)}parseVariableDefinitions(){return this.optionalMany(O.PAREN_L,this.parseVariableDefinition,O.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:S.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(O.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(O.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let e=this._lexer.token;return this.expectToken(O.DOLLAR),this.node(e,{kind:S.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:S.SELECTION_SET,selections:this.many(O.BRACE_L,this.parseSelection,O.BRACE_R)})}parseSelection(){return this.peek(O.SPREAD)?this.parseFragment():this.parseField()}parseField(){let e=this._lexer.token,r=this.parseName(),n,i;return this.expectOptionalToken(O.COLON)?(n=r,i=this.parseName()):i=r,this.node(e,{kind:S.FIELD,alias:n,name:i,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(O.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(e){let r=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(O.PAREN_L,r,O.PAREN_R)}parseArgument(e=!1){let r=this._lexer.token,n=this.parseName();return this.expectToken(O.COLON),this.node(r,{kind:S.ARGUMENT,name:n,value:this.parseValueLiteral(e)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let e=this._lexer.token;this.expectToken(O.SPREAD);let r=this.expectOptionalKeyword("on");return!r&&this.peek(O.NAME)?this.node(e,{kind:S.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(e,{kind:S.INLINE_FRAGMENT,typeCondition:r?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let e=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(e,{kind:S.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(e,{kind:S.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(e){let r=this._lexer.token;switch(r.kind){case O.BRACKET_L:return this.parseList(e);case O.BRACE_L:return this.parseObject(e);case O.INT:return this.advanceLexer(),this.node(r,{kind:S.INT,value:r.value});case O.FLOAT:return this.advanceLexer(),this.node(r,{kind:S.FLOAT,value:r.value});case O.STRING:case O.BLOCK_STRING:return this.parseStringLiteral();case O.NAME:switch(this.advanceLexer(),r.value){case"true":return this.node(r,{kind:S.BOOLEAN,value:!0});case"false":return this.node(r,{kind:S.BOOLEAN,value:!1});case"null":return this.node(r,{kind:S.NULL});default:return this.node(r,{kind:S.ENUM,value:r.value})}case O.DOLLAR:if(e)if(this.expectToken(O.DOLLAR),this._lexer.token.kind===O.NAME){let n=this._lexer.token.value;throw we(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 e=this._lexer.token;return this.advanceLexer(),this.node(e,{kind:S.STRING,value:e.value,block:e.kind===O.BLOCK_STRING})}parseList(e){let r=o(()=>this.parseValueLiteral(e),"item");return this.node(this._lexer.token,{kind:S.LIST,values:this.any(O.BRACKET_L,r,O.BRACKET_R)})}parseObject(e){let r=o(()=>this.parseObjectField(e),"item");return this.node(this._lexer.token,{kind:S.OBJECT,fields:this.any(O.BRACE_L,r,O.BRACE_R)})}parseObjectField(e){let r=this._lexer.token,n=this.parseName();return this.expectToken(O.COLON),this.node(r,{kind:S.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e)})}parseDirectives(e){let r=[];for(;this.peek(O.AT);)r.push(this.parseDirective(e));return r}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(e){let r=this._lexer.token;return this.expectToken(O.AT),this.node(r,{kind:S.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e)})}parseTypeReference(){let e=this._lexer.token,r;if(this.expectOptionalToken(O.BRACKET_L)){let n=this.parseTypeReference();this.expectToken(O.BRACKET_R),r=this.node(e,{kind:S.LIST_TYPE,type:n})}else r=this.parseNamedType();return this.expectOptionalToken(O.BANG)?this.node(e,{kind:S.NON_NULL_TYPE,type:r}):r}parseNamedType(){return this.node(this._lexer.token,{kind:S.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(O.STRING)||this.peek(O.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("schema");let n=this.parseConstDirectives(),i=this.many(O.BRACE_L,this.parseOperationTypeDefinition,O.BRACE_R);return this.node(e,{kind:S.SCHEMA_DEFINITION,description:r,directives:n,operationTypes:i})}parseOperationTypeDefinition(){let e=this._lexer.token,r=this.parseOperationType();this.expectToken(O.COLON);let n=this.parseNamedType();return this.node(e,{kind:S.OPERATION_TYPE_DEFINITION,operation:r,type:n})}parseScalarTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("scalar");let n=this.parseName(),i=this.parseConstDirectives();return this.node(e,{kind:S.SCALAR_TYPE_DEFINITION,description:r,name:n,directives:i})}parseObjectTypeDefinition(){let e=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(e,{kind:S.OBJECT_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(O.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(O.BRACE_L,this.parseFieldDefinition,O.BRACE_R)}parseFieldDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(O.COLON);let s=this.parseTypeReference(),a=this.parseConstDirectives();return this.node(e,{kind:S.FIELD_DEFINITION,description:r,name:n,arguments:i,type:s,directives:a})}parseArgumentDefs(){return this.optionalMany(O.PAREN_L,this.parseInputValueDef,O.PAREN_R)}parseInputValueDef(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseName();this.expectToken(O.COLON);let i=this.parseTypeReference(),s;this.expectOptionalToken(O.EQUALS)&&(s=this.parseConstValueLiteral());let a=this.parseConstDirectives();return this.node(e,{kind:S.INPUT_VALUE_DEFINITION,description:r,name:n,type:i,defaultValue:s,directives:a})}parseInterfaceTypeDefinition(){let e=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(e,{kind:S.INTERFACE_TYPE_DEFINITION,description:r,name:n,interfaces:i,directives:s,fields:a})}parseUnionTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("union");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseUnionMemberTypes();return this.node(e,{kind:S.UNION_TYPE_DEFINITION,description:r,name:n,directives:i,types:s})}parseUnionMemberTypes(){return this.expectOptionalToken(O.EQUALS)?this.delimitedMany(O.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("enum");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseEnumValuesDefinition();return this.node(e,{kind:S.ENUM_TYPE_DEFINITION,description:r,name:n,directives:i,values:s})}parseEnumValuesDefinition(){return this.optionalMany(O.BRACE_L,this.parseEnumValueDefinition,O.BRACE_R)}parseEnumValueDefinition(){let e=this._lexer.token,r=this.parseDescription(),n=this.parseEnumValueName(),i=this.parseConstDirectives();return this.node(e,{kind:S.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 we(this._lexer.source,this._lexer.token.start,`${wu(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("input");let n=this.parseName(),i=this.parseConstDirectives(),s=this.parseInputFieldsDefinition();return this.node(e,{kind:S.INPUT_OBJECT_TYPE_DEFINITION,description:r,name:n,directives:i,fields:s})}parseInputFieldsDefinition(){return this.optionalMany(O.BRACE_L,this.parseInputValueDef,O.BRACE_R)}parseTypeSystemExtension(){let e=this._lexer.lookahead();if(e.kind===O.NAME)switch(e.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(e)}parseSchemaExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.optionalMany(O.BRACE_L,this.parseOperationTypeDefinition,O.BRACE_R);if(r.length===0&&n.length===0)throw this.unexpected();return this.node(e,{kind:S.SCHEMA_EXTENSION,directives:r,operationTypes:n})}parseScalarTypeExtension(){let e=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(e,{kind:S.SCALAR_TYPE_EXTENSION,name:r,directives:n})}parseObjectTypeExtension(){let e=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(e,{kind:S.OBJECT_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseInterfaceTypeExtension(){let e=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(e,{kind:S.INTERFACE_TYPE_EXTENSION,name:r,interfaces:n,directives:i,fields:s})}parseUnionTypeExtension(){let e=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(e,{kind:S.UNION_TYPE_EXTENSION,name:r,directives:n,types:i})}parseEnumTypeExtension(){let e=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(e,{kind:S.ENUM_TYPE_EXTENSION,name:r,directives:n,values:i})}parseInputObjectTypeExtension(){let e=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(e,{kind:S.INPUT_OBJECT_TYPE_EXTENSION,name:r,directives:n,fields:i})}parseDirectiveDefinition(){let e=this._lexer.token,r=this.parseDescription();this.expectKeyword("directive"),this.expectToken(O.AT);let n=this.parseName(),i=this.parseArgumentDefs(),s=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let a=this.parseDirectiveLocations();return this.node(e,{kind:S.DIRECTIVE_DEFINITION,description:r,name:n,arguments:i,repeatable:s,locations:a})}parseDirectiveLocations(){return this.delimitedMany(O.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let e=this._lexer.token,r=this.parseName();if(Object.prototype.hasOwnProperty.call(te,r.value))return r;throw this.unexpected(e)}node(e,r){return this._options.noLocation!==!0&&(r.loc=new vo(e,this._lexer.lastToken,this._lexer.source)),r}peek(e){return this._lexer.token.kind===e}expectToken(e){let r=this._lexer.token;if(r.kind===e)return this.advanceLexer(),r;throw we(this._lexer.source,r.start,`Expected ${Fw(e)}, found ${wu(r)}.`)}expectOptionalToken(e){return this._lexer.token.kind===e?(this.advanceLexer(),!0):!1}expectKeyword(e){let r=this._lexer.token;if(r.kind===O.NAME&&r.value===e)this.advanceLexer();else throw we(this._lexer.source,r.start,`Expected "${e}", found ${wu(r)}.`)}expectOptionalKeyword(e){let r=this._lexer.token;return r.kind===O.NAME&&r.value===e?(this.advanceLexer(),!0):!1}unexpected(e){let r=e??this._lexer.token;return we(this._lexer.source,r.start,`Unexpected ${wu(r)}.`)}any(e,r,n){this.expectToken(e);let i=[];for(;!this.expectOptionalToken(n);)i.push(r.call(this));return i}optionalMany(e,r,n){if(this.expectOptionalToken(e)){let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}return[]}many(e,r,n){this.expectToken(e);let i=[];do i.push(r.call(this));while(!this.expectOptionalToken(n));return i}delimitedMany(e,r){this.expectOptionalToken(e);let n=[];do n.push(r.call(this));while(this.expectOptionalToken(e));return n}advanceLexer(){let{maxTokens:e}=this._options,r=this._lexer.advance();if(e!==void 0&&r.kind!==O.EOF&&(++this._tokenCounter,this._tokenCounter>e))throw we(this._lexer.source,r.start,`Document contains more that ${e} tokens. Parsing aborted.`)}};function wu(t){let e=t.value;return Fw(t.kind)+(e!=null?` "${e}"`:"")}o(wu,"getTokenDesc");function Fw(t){return Uw(t)?`"${t}"`:t}o(Fw,"getTokenKindDesc");function Iu(t,e){let[r,n]=e?[t,e]:[void 0,t],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(Iu,"didYouMean");function yh(t){return t}o(yh,"identityFunc");function Ii(t,e){let r=Object.create(null);for(let n of t)r[e(n)]=n;return r}o(Ii,"keyMap");function Vt(t,e,r){let n=Object.create(null);for(let i of t)n[e(i)]=r(i);return n}o(Vt,"keyValMap");function Ao(t,e){let r=Object.create(null);for(let n of Object.keys(t))r[n]=e(t[n],n);return r}o(Ao,"mapValue");function qw(t,e){let r=0,n=0;for(;r<t.length&&n<e.length;){let i=t.charCodeAt(r),s=e.charCodeAt(n);if(Pu(i)&&Pu(s)){let a=0;do++r,a=a*10+i-gh,i=t.charCodeAt(r);while(Pu(i)&&a>0);let c=0;do++n,c=c*10+s-gh,s=e.charCodeAt(n);while(Pu(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 t.length-e.length}o(qw,"naturalCompare");var gh=48,L1=57;function Pu(t){return!isNaN(t)&&gh<=t&&t<=L1}o(Pu,"isDigit");function Au(t,e){let r=Object.create(null),n=new bh(t),i=Math.floor(t.length*.4)+1;for(let s of e){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:qw(s,a)})}o(Au,"suggestionList");var bh=class{static{o(this,"LexicalDistance")}constructor(e){this._input=e,this._inputLowerCase=e.toLowerCase(),this._inputArray=$w(this._inputLowerCase),this._rows=[new Array(e.length+1).fill(0),new Array(e.length+1).fill(0),new Array(e.length+1).fill(0)]}measure(e,r){if(this._input===e)return 0;let n=e.toLowerCase();if(this._inputLowerCase===n)return 1;let i=$w(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],f=u[d%3],h=f[0]=d;for(let y=1;y<=c;y++){let b=i[d-1]===s[y-1]?0:1,I=Math.min(p[y]+1,f[y-1]+1,p[y-1]+b);if(d>1&&y>1&&i[d-1]===s[y-2]&&i[d-2]===s[y-1]){let A=u[(d-2)%3][y-2];I=Math.min(I,A+1)}I<h&&(h=I),f[y]=I}if(h>r)return}let l=u[a%3][c];return l<=r?l:void 0}};function $w(t){let e=t.length,r=new Array(e);for(let n=0;n<e;++n)r[n]=t.charCodeAt(n);return r}o($w,"stringToArray");function Ve(t){if(t==null)return Object.create(null);if(Object.getPrototypeOf(t)===null)return t;let e=Object.create(null);for(let[r,n]of Object.entries(t))e[r]=n;return e}o(Ve,"toObjMap");function jw(t){return`"${t.replace(D1,U1)}"`}o(jw,"printString");var D1=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function U1(t){return M1[t.charCodeAt(0)]}o(U1,"escapedReplacer");var M1=["\\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 _h=Object.freeze({});function kr(t,e,r=hh){let n=new Map;for(let A of Object.values(S))n.set(A,Pi(e,A));let i,s=Array.isArray(t),a=[t],c=-1,u=[],l=t,d,p,f=[],h=[];do{c++;let A=c===a.length,g=A&&u.length!==0;if(A){if(d=h.length===0?void 0:f[f.length-1],l=p,p=h.pop(),g)if(s){l=l.slice();let R=0;for(let[V,E]of u){let T=V-R;E===null?(l.splice(T,1),R++):l[T]=E}}else{l=Object.defineProperties({},Object.getOwnPropertyDescriptors(l));for(let[R,V]of u)l[R]=V}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;f.push(d)}let v;if(!Array.isArray(l)){var y,b;To(l)||ee(!1,`Invalid AST Node: ${M(l)}.`);let R=A?(y=n.get(l.kind))===null||y===void 0?void 0:y.leave:(b=n.get(l.kind))===null||b===void 0?void 0:b.enter;if(v=R?.call(e,l,d,p,f,h),v===_h)break;if(v===!1){if(!A){f.pop();continue}}else if(v!==void 0&&(u.push([d,v]),!A))if(To(v))l=v;else{f.pop();continue}}if(v===void 0&&g&&u.push([d,l]),A)f.pop();else{var I;i={inArray:s,index:c,keys:a,edits:u,prev:i},s=Array.isArray(l),a=s?l:(I=r[l.kind])!==null&&I!==void 0?I:[],c=-1,u=[],p&&h.push(p),p=l}}while(i!==void 0);return u.length!==0?u[u.length-1][1]:t}o(kr,"visit");function Pi(t,e){let r=t[e];return typeof r=="object"?r:typeof r=="function"?{enter:r,leave:void 0}:{enter:t.enter,leave:t.leave}}o(Pi,"getEnterLeaveForKind");function Be(t){return kr(t,H1)}o(Be,"print");var k1=80,H1={Name:{leave:t=>t.value},Variable:{leave:t=>"$"+t.name},Document:{leave:t=>q(t.definitions,`
102
-
103
- `)},OperationDefinition:{leave(t){let e=ne("(",q(t.variableDefinitions,", "),")"),r=q([t.operation,q([t.name,e]),q(t.directives," ")]," ");return(r==="query"?"":r+" ")+t.selectionSet}},VariableDefinition:{leave:({variable:t,type:e,defaultValue:r,directives:n})=>t+": "+e+ne(" = ",r)+ne(" ",q(n," "))},SelectionSet:{leave:({selections:t})=>It(t)},Field:{leave({alias:t,name:e,arguments:r,directives:n,selectionSet:i}){let s=ne("",t,": ")+e,a=s+ne("(",q(r,", "),")");return a.length>k1&&(a=s+ne(`(
104
- `,Ou(q(r,`
105
- `)),`
106
- )`)),q([a,q(n," "),i]," ")}},Argument:{leave:({name:t,value:e})=>t+": "+e},FragmentSpread:{leave:({name:t,directives:e})=>"..."+t+ne(" ",q(e," "))},InlineFragment:{leave:({typeCondition:t,directives:e,selectionSet:r})=>q(["...",ne("on ",t),q(e," "),r]," ")},FragmentDefinition:{leave:({name:t,typeCondition:e,variableDefinitions:r,directives:n,selectionSet:i})=>`fragment ${t}${ne("(",q(r,", "),")")} on ${e} ${ne("",q(n," ")," ")}`+i},IntValue:{leave:({value:t})=>t},FloatValue:{leave:({value:t})=>t},StringValue:{leave:({value:t,block:e})=>e?Lw(t):jw(t)},BooleanValue:{leave:({value:t})=>t?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:t})=>t},ListValue:{leave:({values:t})=>"["+q(t,", ")+"]"},ObjectValue:{leave:({fields:t})=>"{"+q(t,", ")+"}"},ObjectField:{leave:({name:t,value:e})=>t+": "+e},Directive:{leave:({name:t,arguments:e})=>"@"+t+ne("(",q(e,", "),")")},NamedType:{leave:({name:t})=>t},ListType:{leave:({type:t})=>"["+t+"]"},NonNullType:{leave:({type:t})=>t+"!"},SchemaDefinition:{leave:({description:t,directives:e,operationTypes:r})=>ne("",t,`
107
- `)+q(["schema",q(e," "),It(r)]," ")},OperationTypeDefinition:{leave:({operation:t,type:e})=>t+": "+e},ScalarTypeDefinition:{leave:({description:t,name:e,directives:r})=>ne("",t,`
108
- `)+q(["scalar",e,q(r," ")]," ")},ObjectTypeDefinition:{leave:({description:t,name:e,interfaces:r,directives:n,fields:i})=>ne("",t,`
109
- `)+q(["type",e,ne("implements ",q(r," & ")),q(n," "),It(i)]," ")},FieldDefinition:{leave:({description:t,name:e,arguments:r,type:n,directives:i})=>ne("",t,`
110
- `)+e+(Vw(r)?ne(`(
111
- `,Ou(q(r,`
112
- `)),`
113
- )`):ne("(",q(r,", "),")"))+": "+n+ne(" ",q(i," "))},InputValueDefinition:{leave:({description:t,name:e,type:r,defaultValue:n,directives:i})=>ne("",t,`
114
- `)+q([e+": "+r,ne("= ",n),q(i," ")]," ")},InterfaceTypeDefinition:{leave:({description:t,name:e,interfaces:r,directives:n,fields:i})=>ne("",t,`
115
- `)+q(["interface",e,ne("implements ",q(r," & ")),q(n," "),It(i)]," ")},UnionTypeDefinition:{leave:({description:t,name:e,directives:r,types:n})=>ne("",t,`
116
- `)+q(["union",e,q(r," "),ne("= ",q(n," | "))]," ")},EnumTypeDefinition:{leave:({description:t,name:e,directives:r,values:n})=>ne("",t,`
117
- `)+q(["enum",e,q(r," "),It(n)]," ")},EnumValueDefinition:{leave:({description:t,name:e,directives:r})=>ne("",t,`
118
- `)+q([e,q(r," ")]," ")},InputObjectTypeDefinition:{leave:({description:t,name:e,directives:r,fields:n})=>ne("",t,`
119
- `)+q(["input",e,q(r," "),It(n)]," ")},DirectiveDefinition:{leave:({description:t,name:e,arguments:r,repeatable:n,locations:i})=>ne("",t,`
120
- `)+"directive @"+e+(Vw(r)?ne(`(
121
- `,Ou(q(r,`
122
- `)),`
123
- )`):ne("(",q(r,", "),")"))+(n?" repeatable":"")+" on "+q(i," | ")},SchemaExtension:{leave:({directives:t,operationTypes:e})=>q(["extend schema",q(t," "),It(e)]," ")},ScalarTypeExtension:{leave:({name:t,directives:e})=>q(["extend scalar",t,q(e," ")]," ")},ObjectTypeExtension:{leave:({name:t,interfaces:e,directives:r,fields:n})=>q(["extend type",t,ne("implements ",q(e," & ")),q(r," "),It(n)]," ")},InterfaceTypeExtension:{leave:({name:t,interfaces:e,directives:r,fields:n})=>q(["extend interface",t,ne("implements ",q(e," & ")),q(r," "),It(n)]," ")},UnionTypeExtension:{leave:({name:t,directives:e,types:r})=>q(["extend union",t,q(e," "),ne("= ",q(r," | "))]," ")},EnumTypeExtension:{leave:({name:t,directives:e,values:r})=>q(["extend enum",t,q(e," "),It(r)]," ")},InputObjectTypeExtension:{leave:({name:t,directives:e,fields:r})=>q(["extend input",t,q(e," "),It(r)]," ")}};function q(t,e=""){var r;return(r=t?.filter(n=>n).join(e))!==null&&r!==void 0?r:""}o(q,"join");function It(t){return ne(`{
124
- `,Ou(q(t,`
125
- `)),`
126
- }`)}o(It,"block");function ne(t,e,r=""){return e!=null&&e!==""?t+e+r:""}o(ne,"wrap");function Ou(t){return ne(" ",t.replace(/\n/g,`
127
- `))}o(Ou,"indent");function Vw(t){var e;return(e=t?.some(r=>r.includes(`
128
- `)))!==null&&e!==void 0?e:!1}o(Vw,"hasMultilineItems");function Oo(t,e){switch(t.kind){case S.NULL:return null;case S.INT:return parseInt(t.value,10);case S.FLOAT:return parseFloat(t.value);case S.STRING:case S.ENUM:case S.BOOLEAN:return t.value;case S.LIST:return t.values.map(r=>Oo(r,e));case S.OBJECT:return Vt(t.fields,r=>r.name.value,r=>Oo(r.value,e));case S.VARIABLE:return e?.[t.name.value]}}o(Oo,"valueFromASTUntyped");function Ye(t){if(t!=null||ee(!1,"Must provide name."),typeof t=="string"||ee(!1,"Expected name to be a string."),t.length===0)throw new $("Expected name to be a non-empty string.");for(let e=1;e<t.length;++e)if(!bu(t.charCodeAt(e)))throw new $(`Names must only contain [_a-zA-Z0-9] but "${t}" does not.`);if(!So(t.charCodeAt(0)))throw new $(`Names must start with [_a-zA-Z] but "${t}" does not.`);return t}o(Ye,"assertName");function Eh(t){if(t==="true"||t==="false"||t==="null")throw new $(`Enum values cannot be named: ${t}`);return Ye(t)}o(Eh,"assertEnumValueName");function Nu(t){return Hr(t)||qe(t)||Ce(t)||mt(t)||ot(t)||Me(t)||Xe(t)||ye(t)}o(Nu,"isType");function Hr(t){return nt(t,it)}o(Hr,"isScalarType");function qe(t){return nt(t,Fe)}o(qe,"isObjectType");function Cu(t){if(!qe(t))throw new Error(`Expected ${M(t)} to be a GraphQL Object type.`);return t}o(Cu,"assertObjectType");function Ce(t){return nt(t,nr)}o(Ce,"isInterfaceType");function xu(t){if(!Ce(t))throw new Error(`Expected ${M(t)} to be a GraphQL Interface type.`);return t}o(xu,"assertInterfaceType");function mt(t){return nt(t,yn)}o(mt,"isUnionType");function ot(t){return nt(t,Bt)}o(ot,"isEnumType");function Me(t){return nt(t,gn)}o(Me,"isInputObjectType");function Xe(t){return nt(t,ve)}o(Xe,"isListType");function ye(t){return nt(t,Q)}o(ye,"isNonNullType");function st(t){return Hr(t)||ot(t)||Me(t)||Ro(t)&&st(t.ofType)}o(st,"isInputType");function ir(t){return Hr(t)||qe(t)||Ce(t)||mt(t)||ot(t)||Ro(t)&&ir(t.ofType)}o(ir,"isOutputType");function Fr(t){return Hr(t)||ot(t)}o(Fr,"isLeafType");function Gt(t){return qe(t)||Ce(t)||mt(t)}o(Gt,"isCompositeType");function qr(t){return Ce(t)||mt(t)}o(qr,"isAbstractType");var ve=class{static{o(this,"GraphQLList")}constructor(e){Nu(e)||ee(!1,`Expected ${M(e)} to be a GraphQL type.`),this.ofType=e}get[Symbol.toStringTag](){return"GraphQLList"}toString(){return"["+String(this.ofType)+"]"}toJSON(){return this.toString()}},Q=class{static{o(this,"GraphQLNonNull")}constructor(e){Lu(e)||ee(!1,`Expected ${M(e)} to be a GraphQL nullable type.`),this.ofType=e}get[Symbol.toStringTag](){return"GraphQLNonNull"}toString(){return String(this.ofType)+"!"}toJSON(){return this.toString()}};function Ro(t){return Xe(t)||ye(t)}o(Ro,"isWrappingType");function Lu(t){return Nu(t)&&!ye(t)}o(Lu,"isNullableType");function Du(t){if(!Lu(t))throw new Error(`Expected ${M(t)} to be a GraphQL nullable type.`);return t}o(Du,"assertNullableType");function Uu(t){if(t)return ye(t)?t.ofType:t}o(Uu,"getNullableType");function Pt(t){if(t){let e=t;for(;Ro(e);)e=e.ofType;return e}}o(Pt,"getNamedType");function Mu(t){return typeof t=="function"?t():t}o(Mu,"resolveReadonlyArrayThunk");function ku(t){return typeof t=="function"?t():t}o(ku,"resolveObjMapThunk");var it=class{static{o(this,"GraphQLScalarType")}constructor(e){var r,n,i,s;let a=(r=e.parseValue)!==null&&r!==void 0?r:yh;this.name=Ye(e.name),this.description=e.description,this.specifiedByURL=e.specifiedByURL,this.serialize=(n=e.serialize)!==null&&n!==void 0?n:yh,this.parseValue=a,this.parseLiteral=(i=e.parseLiteral)!==null&&i!==void 0?i:(c,u)=>a(Oo(c,u)),this.extensions=Ve(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(s=e.extensionASTNodes)!==null&&s!==void 0?s:[],e.specifiedByURL==null||typeof e.specifiedByURL=="string"||ee(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${M(e.specifiedByURL)}.`),e.serialize==null||typeof e.serialize=="function"||ee(!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.`),e.parseLiteral&&(typeof e.parseValue=="function"&&typeof e.parseLiteral=="function"||ee(!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()}},Fe=class{static{o(this,"GraphQLObjectType")}constructor(e){var r;this.name=Ye(e.name),this.description=e.description,this.isTypeOf=e.isTypeOf,this.extensions=Ve(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=()=>Gw(e),this._interfaces=()=>Bw(e),e.isTypeOf==null||typeof e.isTypeOf=="function"||ee(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${M(e.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:Kw(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function Bw(t){var e;let r=Mu((e=t.interfaces)!==null&&e!==void 0?e:[]);return Array.isArray(r)||ee(!1,`${t.name} interfaces must be an Array or a function which returns an Array.`),r}o(Bw,"defineInterfaces");function Gw(t){let e=ku(t.fields);return Ai(e)||ee(!1,`${t.name} fields must be an object with field names as keys or a function which returns such an object.`),Ao(e,(r,n)=>{var i;Ai(r)||ee(!1,`${t.name}.${n} field config must be an object.`),r.resolve==null||typeof r.resolve=="function"||ee(!1,`${t.name}.${n} field resolver must be a function if provided, but got: ${M(r.resolve)}.`);let s=(i=r.args)!==null&&i!==void 0?i:{};return Ai(s)||ee(!1,`${t.name}.${n} args must be an object with argument names as keys.`),{name:Ye(n),description:r.description,type:r.type,args:wh(s),resolve:r.resolve,subscribe:r.subscribe,deprecationReason:r.deprecationReason,extensions:Ve(r.extensions),astNode:r.astNode}})}o(Gw,"defineFieldMap");function wh(t){return Object.entries(t).map(([e,r])=>({name:Ye(e),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Ve(r.extensions),astNode:r.astNode}))}o(wh,"defineArguments");function Ai(t){return Ne(t)&&!Array.isArray(t)}o(Ai,"isPlainObj");function Kw(t){return Ao(t,e=>({description:e.description,type:e.type,args:vh(e.args),resolve:e.resolve,subscribe:e.subscribe,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}))}o(Kw,"fieldsToFieldsConfig");function vh(t){return Vt(t,e=>e.name,e=>({description:e.description,type:e.type,defaultValue:e.defaultValue,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}))}o(vh,"argsToArgsConfig");var nr=class{static{o(this,"GraphQLInterfaceType")}constructor(e){var r;this.name=Ye(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=Ve(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=Gw.bind(void 0,e),this._interfaces=Bw.bind(void 0,e),e.resolveType==null||typeof e.resolveType=="function"||ee(!1,`${this.name} must provide "resolveType" as a function, but got: ${M(e.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:Kw(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}},yn=class{static{o(this,"GraphQLUnionType")}constructor(e){var r;this.name=Ye(e.name),this.description=e.description,this.resolveType=e.resolveType,this.extensions=Ve(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._types=F1.bind(void 0,e),e.resolveType==null||typeof e.resolveType=="function"||ee(!1,`${this.name} must provide "resolveType" as a function, but got: ${M(e.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 F1(t){let e=Mu(t.types);return Array.isArray(e)||ee(!1,`Must provide Array of types or a function which returns such an array for Union ${t.name}.`),e}o(F1,"defineTypes");var Bt=class{static{o(this,"GraphQLEnumType")}constructor(e){var r;this.name=Ye(e.name),this.description=e.description,this.extensions=Ve(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._values=q1(this.name,e.values),this._valueLookup=new Map(this._values.map(n=>[n.value,n])),this._nameLookup=Ii(this._values,n=>n.name)}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(e){return this._nameLookup[e]}serialize(e){let r=this._valueLookup.get(e);if(r===void 0)throw new $(`Enum "${this.name}" cannot represent value: ${M(e)}`);return r.name}parseValue(e){if(typeof e!="string"){let n=M(e);throw new $(`Enum "${this.name}" cannot represent non-string value: ${n}.`+Ru(this,n))}let r=this.getValue(e);if(r==null)throw new $(`Value "${e}" does not exist in "${this.name}" enum.`+Ru(this,e));return r.value}parseLiteral(e,r){if(e.kind!==S.ENUM){let i=Be(e);throw new $(`Enum "${this.name}" cannot represent non-enum value: ${i}.`+Ru(this,i),{nodes:e})}let n=this.getValue(e.value);if(n==null){let i=Be(e);throw new $(`Value "${i}" does not exist in "${this.name}" enum.`+Ru(this,i),{nodes:e})}return n.value}toConfig(){let e=Vt(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:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function Ru(t,e){let r=t.getValues().map(i=>i.name),n=Au(e,r);return Iu("the enum value",n)}o(Ru,"didYouMeanEnumValue");function q1(t,e){return Ai(e)||ee(!1,`${t} values must be an object with value names as keys.`),Object.entries(e).map(([r,n])=>(Ai(n)||ee(!1,`${t}.${r} must refer to an object with a "value" key representing an internal value but got: ${M(n)}.`),{name:Eh(r),description:n.description,value:n.value!==void 0?n.value:r,deprecationReason:n.deprecationReason,extensions:Ve(n.extensions),astNode:n.astNode}))}o(q1,"defineEnumValues");var gn=class{static{o(this,"GraphQLInputObjectType")}constructor(e){var r;this.name=Ye(e.name),this.description=e.description,this.extensions=Ve(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._fields=$1.bind(void 0,e)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return typeof this._fields=="function"&&(this._fields=this._fields()),this._fields}toConfig(){let e=Ao(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:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}};function $1(t){let e=ku(t.fields);return Ai(e)||ee(!1,`${t.name} fields must be an object with field names as keys or a function which returns such an object.`),Ao(e,(r,n)=>(!("resolve"in r)||ee(!1,`${t.name}.${n} field has a resolve property, but Input Types cannot define resolvers.`),{name:Ye(n),description:r.description,type:r.type,defaultValue:r.defaultValue,deprecationReason:r.deprecationReason,extensions:Ve(r.extensions),astNode:r.astNode}))}o($1,"defineInputFieldMap");var Hu=2147483647,Fu=-2147483648,Th=new it({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(t){let e=No(t);if(typeof e=="boolean")return e?1:0;let r=e;if(typeof e=="string"&&e!==""&&(r=Number(e)),typeof r!="number"||!Number.isInteger(r))throw new $(`Int cannot represent non-integer value: ${M(e)}`);if(r>Hu||r<Fu)throw new $("Int cannot represent non 32-bit signed integer value: "+M(e));return r},parseValue(t){if(typeof t!="number"||!Number.isInteger(t))throw new $(`Int cannot represent non-integer value: ${M(t)}`);if(t>Hu||t<Fu)throw new $(`Int cannot represent non 32-bit signed integer value: ${t}`);return t},parseLiteral(t){if(t.kind!==S.INT)throw new $(`Int cannot represent non-integer value: ${Be(t)}`,{nodes:t});let e=parseInt(t.value,10);if(e>Hu||e<Fu)throw new $(`Int cannot represent non 32-bit signed integer value: ${t.value}`,{nodes:t});return e}}),Jw=new it({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(t){let e=No(t);if(typeof e=="boolean")return e?1:0;let r=e;if(typeof e=="string"&&e!==""&&(r=Number(e)),typeof r!="number"||!Number.isFinite(r))throw new $(`Float cannot represent non numeric value: ${M(e)}`);return r},parseValue(t){if(typeof t!="number"||!Number.isFinite(t))throw new $(`Float cannot represent non numeric value: ${M(t)}`);return t},parseLiteral(t){if(t.kind!==S.FLOAT&&t.kind!==S.INT)throw new $(`Float cannot represent non numeric value: ${Be(t)}`,t);return parseFloat(t.value)}}),he=new it({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(t){let e=No(t);if(typeof e=="string")return e;if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number"&&Number.isFinite(e))return e.toString();throw new $(`String cannot represent value: ${M(t)}`)},parseValue(t){if(typeof t!="string")throw new $(`String cannot represent a non string value: ${M(t)}`);return t},parseLiteral(t){if(t.kind!==S.STRING)throw new $(`String cannot represent a non string value: ${Be(t)}`,{nodes:t});return t.value}}),Ge=new it({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize(t){let e=No(t);if(typeof e=="boolean")return e;if(Number.isFinite(e))return e!==0;throw new $(`Boolean cannot represent a non boolean value: ${M(e)}`)},parseValue(t){if(typeof t!="boolean")throw new $(`Boolean cannot represent a non boolean value: ${M(t)}`);return t},parseLiteral(t){if(t.kind!==S.BOOLEAN)throw new $(`Boolean cannot represent a non boolean value: ${Be(t)}`,{nodes:t});return t.value}}),qu=new it({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(t){let e=No(t);if(typeof e=="string")return e;if(Number.isInteger(e))return String(e);throw new $(`ID cannot represent value: ${M(t)}`)},parseValue(t){if(typeof t=="string")return t;if(typeof t=="number"&&Number.isInteger(t))return t.toString();throw new $(`ID cannot represent value: ${M(t)}`)},parseLiteral(t){if(t.kind!==S.STRING&&t.kind!==S.INT)throw new $("ID cannot represent a non-string and non-integer value: "+Be(t),{nodes:t});return t.value}}),Sh=Object.freeze([he,Th,Jw,Ge,qu]);function No(t){if(Ne(t)){if(typeof t.valueOf=="function"){let e=t.valueOf();if(!Ne(e))return e}if(typeof t.toJSON=="function")return t.toJSON()}return t}o(No,"serializeObject");function Ih(t){return nt(t,At)}o(Ih,"isDirective");var At=class{static{o(this,"GraphQLDirective")}constructor(e){var r,n;this.name=Ye(e.name),this.description=e.description,this.locations=e.locations,this.isRepeatable=(r=e.isRepeatable)!==null&&r!==void 0?r:!1,this.extensions=Ve(e.extensions),this.astNode=e.astNode,Array.isArray(e.locations)||ee(!1,`@${e.name} locations must be an Array.`);let i=(n=e.args)!==null&&n!==void 0?n:{};Ne(i)&&!Array.isArray(i)||ee(!1,`@${e.name} args must be an object with argument names as keys.`),this.args=wh(i)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:vh(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}},zw=new At({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[te.FIELD,te.FRAGMENT_SPREAD,te.INLINE_FRAGMENT],args:{if:{type:new Q(Ge),description:"Included when true."}}}),Ww=new At({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[te.FIELD,te.FRAGMENT_SPREAD,te.INLINE_FRAGMENT],args:{if:{type:new Q(Ge),description:"Skipped when true."}}}),Qw="No longer supported",Zw=new At({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[te.FIELD_DEFINITION,te.ARGUMENT_DEFINITION,te.INPUT_FIELD_DEFINITION,te.ENUM_VALUE],args:{reason:{type:he,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:Qw}}}),Yw=new At({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[te.SCALAR],args:{url:{type:new Q(he),description:"The URL that specifies the behavior of this scalar."}}}),Ph=Object.freeze([zw,Ww,Zw,Yw]);function $u(t){return typeof t=="object"&&typeof t?.[Symbol.iterator]=="function"}o($u,"isIterableObject");function bn(t,e){if(ye(e)){let r=bn(t,e.ofType);return r?.kind===S.NULL?null:r}if(t===null)return{kind:S.NULL};if(t===void 0)return null;if(Xe(e)){let r=e.ofType;if($u(t)){let n=[];for(let i of t){let s=bn(i,r);s!=null&&n.push(s)}return{kind:S.LIST,values:n}}return bn(t,r)}if(Me(e)){if(!Ne(t))return null;let r=[];for(let n of Object.values(e.getFields())){let i=bn(t[n.name],n.type);i&&r.push({kind:S.OBJECT_FIELD,name:{kind:S.NAME,value:n.name},value:i})}return{kind:S.OBJECT,fields:r}}if(Fr(e)){let r=e.serialize(t);if(r==null)return null;if(typeof r=="boolean")return{kind:S.BOOLEAN,value:r};if(typeof r=="number"&&Number.isFinite(r)){let n=String(r);return Xw.test(n)?{kind:S.INT,value:n}:{kind:S.FLOAT,value:n}}if(typeof r=="string")return ot(e)?{kind:S.ENUM,value:r}:e===qu&&Xw.test(r)?{kind:S.INT,value:r}:{kind:S.STRING,value:r};throw new TypeError(`Cannot convert value to AST: ${M(r)}.`)}jt(!1,"Unexpected input type: "+M(e))}o(bn,"astFromValue");var Xw=/^-?(?:0|[1-9][0-9]*)$/;var Co=new Fe({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:he,resolve:t=>t.description},types:{description:"A list of all types supported by this server.",type:new Q(new ve(new Q(yt))),resolve(t){return Object.values(t.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:new Q(yt),resolve:t=>t.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:yt,resolve:t=>t.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:yt,resolve:t=>t.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new Q(new ve(new Q(Ah))),resolve:t=>t.getDirectives()}})}),Ah=new Fe({name:"__Directive",description:`A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
129
-
130
- 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 Q(he),resolve:t=>t.name},description:{type:he,resolve:t=>t.description},isRepeatable:{type:new Q(Ge),resolve:t=>t.isRepeatable},locations:{type:new Q(new ve(new Q(Oh))),resolve:t=>t.locations},args:{type:new Q(new ve(new Q(xo))),args:{includeDeprecated:{type:Ge,defaultValue:!1}},resolve(t,{includeDeprecated:e}){return e?t.args:t.args.filter(r=>r.deprecationReason==null)}}})}),Oh=new Bt({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:te.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:te.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:te.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:te.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:te.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:te.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:te.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:te.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:te.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:te.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:te.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:te.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:te.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:te.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:te.UNION,description:"Location adjacent to a union definition."},ENUM:{value:te.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:te.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:te.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:te.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),yt=new Fe({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 Q(Ch),resolve(t){if(Hr(t))return ue.SCALAR;if(qe(t))return ue.OBJECT;if(Ce(t))return ue.INTERFACE;if(mt(t))return ue.UNION;if(ot(t))return ue.ENUM;if(Me(t))return ue.INPUT_OBJECT;if(Xe(t))return ue.LIST;if(ye(t))return ue.NON_NULL;jt(!1,`Unexpected type: "${M(t)}".`)}},name:{type:he,resolve:t=>"name"in t?t.name:void 0},description:{type:he,resolve:t=>"description"in t?t.description:void 0},specifiedByURL:{type:he,resolve:t=>"specifiedByURL"in t?t.specifiedByURL:void 0},fields:{type:new ve(new Q(Rh)),args:{includeDeprecated:{type:Ge,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(qe(t)||Ce(t)){let r=Object.values(t.getFields());return e?r:r.filter(n=>n.deprecationReason==null)}}},interfaces:{type:new ve(new Q(yt)),resolve(t){if(qe(t)||Ce(t))return t.getInterfaces()}},possibleTypes:{type:new ve(new Q(yt)),resolve(t,e,r,{schema:n}){if(qr(t))return n.getPossibleTypes(t)}},enumValues:{type:new ve(new Q(Nh)),args:{includeDeprecated:{type:Ge,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(ot(t)){let r=t.getValues();return e?r:r.filter(n=>n.deprecationReason==null)}}},inputFields:{type:new ve(new Q(xo)),args:{includeDeprecated:{type:Ge,defaultValue:!1}},resolve(t,{includeDeprecated:e}){if(Me(t)){let r=Object.values(t.getFields());return e?r:r.filter(n=>n.deprecationReason==null)}}},ofType:{type:yt,resolve:t=>"ofType"in t?t.ofType:void 0}})}),Rh=new Fe({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 Q(he),resolve:t=>t.name},description:{type:he,resolve:t=>t.description},args:{type:new Q(new ve(new Q(xo))),args:{includeDeprecated:{type:Ge,defaultValue:!1}},resolve(t,{includeDeprecated:e}){return e?t.args:t.args.filter(r=>r.deprecationReason==null)}},type:{type:new Q(yt),resolve:t=>t.type},isDeprecated:{type:new Q(Ge),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:he,resolve:t=>t.deprecationReason}})}),xo=new Fe({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 Q(he),resolve:t=>t.name},description:{type:he,resolve:t=>t.description},type:{type:new Q(yt),resolve:t=>t.type},defaultValue:{type:he,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(t){let{type:e,defaultValue:r}=t,n=bn(r,e);return n?Be(n):null}},isDeprecated:{type:new Q(Ge),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:he,resolve:t=>t.deprecationReason}})}),Nh=new Fe({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 Q(he),resolve:t=>t.name},description:{type:he,resolve:t=>t.description},isDeprecated:{type:new Q(Ge),resolve:t=>t.deprecationReason!=null},deprecationReason:{type:he,resolve:t=>t.deprecationReason}})}),ue;(function(t){t.SCALAR="SCALAR",t.OBJECT="OBJECT",t.INTERFACE="INTERFACE",t.UNION="UNION",t.ENUM="ENUM",t.INPUT_OBJECT="INPUT_OBJECT",t.LIST="LIST",t.NON_NULL="NON_NULL"})(ue||(ue={}));var Ch=new Bt({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:ue.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:ue.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:ue.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:ue.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:ue.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:ue.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:ue.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:ue.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),ju={name:"__schema",type:new Q(Co),description:"Access the current type schema of this server.",args:[],resolve:(t,e,r,{schema:n})=>n,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Vu={name:"__type",type:yt,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new Q(he),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(t,{name:e},r,{schema:n})=>n.getType(e),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},Bu={name:"__typename",type:new Q(he),description:"The name of the current Object type at runtime.",args:[],resolve:(t,e,r,{parentType:n})=>n.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},xh=Object.freeze([Co,Ah,Oh,yt,Rh,xo,Nh,Ch]);var Lo=class{static{o(this,"GraphQLSchema")}constructor(e){var r,n;this.__validationErrors=e.assumeValid===!0?[]:void 0,Ne(e)||ee(!1,"Must provide configuration object."),!e.types||Array.isArray(e.types)||ee(!1,`"types" must be Array if provided but got: ${M(e.types)}.`),!e.directives||Array.isArray(e.directives)||ee(!1,`"directives" must be Array if provided but got: ${M(e.directives)}.`),this.description=e.description,this.extensions=Ve(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=(r=e.extensionASTNodes)!==null&&r!==void 0?r:[],this._queryType=e.query,this._mutationType=e.mutation,this._subscriptionType=e.subscription,this._directives=(n=e.directives)!==null&&n!==void 0?n:Ph;let i=new Set(e.types);if(e.types!=null)for(let s of e.types)i.delete(s),Ot(s,i);this._queryType!=null&&Ot(this._queryType,i),this._mutationType!=null&&Ot(this._mutationType,i),this._subscriptionType!=null&&Ot(this._subscriptionType,i);for(let s of this._directives)if(Ih(s))for(let a of s.args)Ot(a.type,i);Ot(Co,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||ee(!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,Ce(s)){for(let c of s.getInterfaces())if(Ce(c)){let u=this._implementationsMap[c.name];u===void 0&&(u=this._implementationsMap[c.name]={objects:[],interfaces:[]}),u.interfaces.push(s)}}else if(qe(s)){for(let c of s.getInterfaces())if(Ce(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(e){switch(e){case ht.QUERY:return this.getQueryType();case ht.MUTATION:return this.getMutationType();case ht.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(e){return this.getTypeMap()[e]}getPossibleTypes(e){return mt(e)?e.getTypes():this.getImplementations(e).objects}getImplementations(e){let r=this._implementationsMap[e.name];return r??{objects:[],interfaces:[]}}isSubType(e,r){let n=this._subTypeMap[e.name];if(n===void 0){if(n=Object.create(null),mt(e))for(let i of e.getTypes())n[i.name]=!0;else{let i=this.getImplementations(e);for(let s of i.objects)n[s.name]=!0;for(let s of i.interfaces)n[s.name]=!0}this._subTypeMap[e.name]=n}return n[r.name]!==void 0}getDirectives(){return this._directives}getDirective(e){return this.getDirectives().find(r=>r.name===e)}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 Ot(t,e){let r=Pt(t);if(!e.has(r)){if(e.add(r),mt(r))for(let n of r.getTypes())Ot(n,e);else if(qe(r)||Ce(r)){for(let n of r.getInterfaces())Ot(n,e);for(let n of Object.values(r.getFields())){Ot(n.type,e);for(let i of n.args)Ot(i.type,e)}}else if(Me(r))for(let n of Object.values(r.getFields()))Ot(n.type,e)}return e}o(Ot,"collectReferencedTypes");function $r(t,e){switch(e.kind){case S.LIST_TYPE:{let r=$r(t,e.type);return r&&new ve(r)}case S.NON_NULL_TYPE:{let r=$r(t,e.type);return r&&new Q(r)}case S.NAMED_TYPE:return t.getType(e.name.value)}}o($r,"typeFromAST");var jr=class{static{o(this,"TypeInfo")}constructor(e,r,n){this._schema=e,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=n??j1,r&&(st(r)&&this._inputTypeStack.push(r),Gt(r)&&this._parentTypeStack.push(r),ir(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(e){let r=this._schema;switch(e.kind){case S.SELECTION_SET:{let i=Pt(this.getType());this._parentTypeStack.push(Gt(i)?i:void 0);break}case S.FIELD:{let i=this.getParentType(),s,a;i&&(s=this._getFieldDef(r,i,e),s&&(a=s.type)),this._fieldDefStack.push(s),this._typeStack.push(ir(a)?a:void 0);break}case S.DIRECTIVE:this._directive=r.getDirective(e.name.value);break;case S.OPERATION_DEFINITION:{let i=r.getRootType(e.operation);this._typeStack.push(qe(i)?i:void 0);break}case S.INLINE_FRAGMENT:case S.FRAGMENT_DEFINITION:{let i=e.typeCondition,s=i?$r(r,i):Pt(this.getType());this._typeStack.push(ir(s)?s:void 0);break}case S.VARIABLE_DEFINITION:{let i=$r(r,e.type);this._inputTypeStack.push(st(i)?i:void 0);break}case S.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===e.name.value),i&&(s=i.type)),this._argument=i,this._defaultValueStack.push(i?i.defaultValue:void 0),this._inputTypeStack.push(st(s)?s:void 0);break}case S.LIST:{let i=Uu(this.getInputType()),s=Xe(i)?i.ofType:i;this._defaultValueStack.push(void 0),this._inputTypeStack.push(st(s)?s:void 0);break}case S.OBJECT_FIELD:{let i=Pt(this.getInputType()),s,a;Me(i)&&(a=i.getFields()[e.name.value],a&&(s=a.type)),this._defaultValueStack.push(a?a.defaultValue:void 0),this._inputTypeStack.push(st(s)?s:void 0);break}case S.ENUM:{let i=Pt(this.getInputType()),s;ot(i)&&(s=i.getValue(e.value)),this._enumValue=s;break}default:}}leave(e){switch(e.kind){case S.SELECTION_SET:this._parentTypeStack.pop();break;case S.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case S.DIRECTIVE:this._directive=null;break;case S.OPERATION_DEFINITION:case S.INLINE_FRAGMENT:case S.FRAGMENT_DEFINITION:this._typeStack.pop();break;case S.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case S.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case S.LIST:case S.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case S.ENUM:this._enumValue=null;break;default:}}};function j1(t,e,r){let n=r.name.value;if(n===ju.name&&t.getQueryType()===e)return ju;if(n===Vu.name&&t.getQueryType()===e)return Vu;if(n===Bu.name&&Gt(e))return Bu;if(qe(e)||Ce(e))return e.getFields()[n]}o(j1,"getFieldDef");function Oi(t,e){return{enter(...r){let n=r[0];t.enter(n);let i=Pi(e,n.kind).enter;if(i){let s=i.apply(e,r);return s!==void 0&&(t.leave(n),To(s)&&t.enter(s)),s}},leave(...r){let n=r[0],i=Pi(e,n.kind).leave,s;return i&&(s=i.apply(e,r)),t.leave(n),s}}}o(Oi,"visitWithTypeInfo");function Gu(t){return t.map(e=>typeof e=="number"?"["+e.toString()+"]":"."+e).join("")}o(Gu,"printPathArray");function Lh(t,e,r){return{prev:t,key:e,typename:r}}o(Lh,"addPath");function or(t){let e=[],r=t;for(;r;)e.push(r.key),r=r.prev;return e.reverse()}o(or,"pathToArray");function Dh(t,e,r=V1){return Do(t,e,r,void 0)}o(Dh,"coerceInputValue");function V1(t,e,r){let n="Invalid value "+M(e);throw t.length>0&&(n+=` at "value${Gu(t)}"`),r.message=n+": "+r.message,r}o(V1,"defaultOnError");function Do(t,e,r,n){if(ye(e)){if(t!=null)return Do(t,e.ofType,r,n);r(or(n),t,new $(`Expected non-nullable type "${M(e)}" not to be null.`));return}if(t==null)return null;if(Xe(e)){let i=e.ofType;return $u(t)?Array.from(t,(s,a)=>{let c=Lh(n,a,void 0);return Do(s,i,r,c)}):[Do(t,i,r,n)]}if(Me(e)){if(!Ne(t)){r(or(n),t,new $(`Expected type "${e.name}" to be an object.`));return}let i={},s=e.getFields();for(let a of Object.values(s)){let c=t[a.name];if(c===void 0){if(a.defaultValue!==void 0)i[a.name]=a.defaultValue;else if(ye(a.type)){let u=M(a.type);r(or(n),t,new $(`Field "${a.name}" of required type "${u}" was not provided.`))}continue}i[a.name]=Do(c,a.type,r,Lh(n,a.name,e.name))}for(let a of Object.keys(t))if(!s[a]){let c=Au(a,Object.keys(e.getFields()));r(or(n),t,new $(`Field "${a}" is not defined by type "${e.name}".`+Iu(c)))}return i}if(Fr(e)){let i;try{i=e.parseValue(t)}catch(s){s instanceof $?r(or(n),t,s):r(or(n),t,new $(`Expected type "${e.name}". `+s.message,{originalError:s}));return}return i===void 0&&r(or(n),t,new $(`Expected type "${e.name}".`)),i}jt(!1,"Unexpected input type: "+M(e))}o(Do,"coerceInputValueImpl");function Kt(t,e,r){if(t){if(t.kind===S.VARIABLE){let n=t.name.value;if(r==null||r[n]===void 0)return;let i=r[n];return i===null&&ye(e)?void 0:i}if(ye(e))return t.kind===S.NULL?void 0:Kt(t,e.ofType,r);if(t.kind===S.NULL)return null;if(Xe(e)){let n=e.ofType;if(t.kind===S.LIST){let s=[];for(let a of t.values)if(ev(a,r)){if(ye(n))return;s.push(null)}else{let c=Kt(a,n,r);if(c===void 0)return;s.push(c)}return s}let i=Kt(t,n,r);return i===void 0?void 0:[i]}if(Me(e)){if(t.kind!==S.OBJECT)return;let n=Object.create(null),i=Ii(t.fields,s=>s.name.value);for(let s of Object.values(e.getFields())){let a=i[s.name];if(!a||ev(a.value,r)){if(s.defaultValue!==void 0)n[s.name]=s.defaultValue;else if(ye(s.type))return;continue}let c=Kt(a.value,s.type,r);if(c===void 0)return;n[s.name]=c}return n}if(Fr(e)){let n;try{n=e.parseLiteral(t,r)}catch{return}return n===void 0?void 0:n}jt(!1,"Unexpected input type: "+M(e))}}o(Kt,"valueFromAST");function ev(t,e){return t.kind===S.VARIABLE&&(e==null||e[t.name.value]===void 0)}o(ev,"isMissingVariable");function Ku(t,e,r,n){let i=[],s=n?.maxErrors;try{let a=B1(t,e,r,c=>{if(s!=null&&i.length>=s)throw new $("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(Ku,"getVariableValues");function B1(t,e,r,n){let i={};for(let s of e){let a=s.variable.name.value,c=$r(t,s.type);if(!st(c)){let l=Be(s.type);n(new $(`Variable "$${a}" expected value of type "${l}" which cannot be used as an input type.`,{nodes:s.type}));continue}if(!tv(r,a)){if(s.defaultValue)i[a]=Kt(s.defaultValue,c);else if(ye(c)){let l=M(c);n(new $(`Variable "$${a}" of required type "${l}" was not provided.`,{nodes:s}))}continue}let u=r[a];if(u===null&&ye(c)){let l=M(c);n(new $(`Variable "$${a}" of non-null type "${l}" must not be null.`,{nodes:s}));continue}i[a]=Dh(u,c,(l,d,p)=>{let f=`Variable "$${a}" got invalid value `+M(d);l.length>0&&(f+=` at "${a}${Gu(l)}"`),n(new $(f+"; "+p.message,{nodes:s,originalError:p}))})}return i}o(B1,"coerceVariableValues");function Uo(t,e,r){var n;let i={},s=(n=e.arguments)!==null&&n!==void 0?n:[],a=Ii(s,c=>c.name.value);for(let c of t.args){let u=c.name,l=c.type,d=a[u];if(!d){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ye(l))throw new $(`Argument "${u}" of required type "${M(l)}" was not provided.`,{nodes:e});continue}let p=d.value,f=p.kind===S.NULL;if(p.kind===S.VARIABLE){let y=p.name.value;if(r==null||!tv(r,y)){if(c.defaultValue!==void 0)i[u]=c.defaultValue;else if(ye(l))throw new $(`Argument "${u}" of required type "${M(l)}" was provided the variable "$${y}" which was not provided a runtime value.`,{nodes:p});continue}f=r[y]==null}if(f&&ye(l))throw new $(`Argument "${u}" of non-null type "${M(l)}" must not be null.`,{nodes:p});let h=Kt(p,l,r);if(h===void 0)throw new $(`Argument "${u}" has invalid value ${Be(p)}.`,{nodes:p});i[u]=h}return i}o(Uo,"getArgumentValues");function Mo(t,e,r){var n;let i=(n=e.directives)===null||n===void 0?void 0:n.find(s=>s.name.value===t.name);if(i)return Uo(t,i,r)}o(Mo,"getDirectiveValues");function tv(t,e){return Object.prototype.hasOwnProperty.call(t,e)}o(tv,"hasOwnProperty");var Ju=class{static{o(this,"ASTValidationContext")}constructor(e,r){this._ast=e,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=r}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(e){this._onError(e)}getDocument(){return this._ast}getFragment(e){let r;if(this._fragments)r=this._fragments;else{r=Object.create(null);for(let n of this.getDocument().definitions)n.kind===S.FRAGMENT_DEFINITION&&(r[n.name.value]=n);this._fragments=r}return r[e]}getFragmentSpreads(e){let r=this._fragmentSpreads.get(e);if(!r){r=[];let n=[e],i;for(;i=n.pop();)for(let s of i.selections)s.kind===S.FRAGMENT_SPREAD?r.push(s):s.selectionSet&&n.push(s.selectionSet);this._fragmentSpreads.set(e,r)}return r}getRecursivelyReferencedFragments(e){let r=this._recursivelyReferencedFragments.get(e);if(!r){r=[];let n=Object.create(null),i=[e.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(e,r)}return r}},rv=class extends Ju{static{o(this,"SDLValidationContext")}constructor(e,r,n){super(e,n),this._schema=r}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}},Ri=class extends Ju{static{o(this,"ValidationContext")}constructor(e,r,n,i){super(r,i),this._schema=e,this._typeInfo=n,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(e){let r=this._variableUsages.get(e);if(!r){let n=[],i=new jr(this._schema);kr(e,Oi(i,{VariableDefinition:()=>!1,Variable(s){n.push({node:s,type:i.getInputType(),defaultValue:i.getDefaultValue()})}})),r=n,this._variableUsages.set(e,r)}return r}getRecursiveVariableUsages(e){let r=this._recursiveVariableUsages.get(e);if(!r){r=this.getVariableUsages(e);for(let n of this.getRecursivelyReferencedFragments(e))r=r.concat(this.getVariableUsages(n));this._recursiveVariableUsages.set(e,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 zu(t){let e={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...t},r=e.descriptions?"description":"",n=e.specifiedByUrl?"specifiedByURL":"",i=e.directiveIsRepeatable?"isRepeatable":"",s=e.schemaDescription?r:"";function a(c){return e.inputValueDeprecation?c:""}return o(a,"inputDeprecation"),`
131
- query IntrospectionQuery {
132
- __schema {
133
- ${s}
134
- queryType { name }
135
- mutationType { name }
136
- subscriptionType { name }
137
- types {
138
- ...FullType
139
- }
140
- directives {
141
- name
142
- ${r}
143
- ${i}
144
- locations
145
- args${a("(includeDeprecated: true)")} {
146
- ...InputValue
147
- }
148
- }
149
- }
150
- }
151
-
152
- fragment FullType on __Type {
153
- kind
154
- name
155
- ${r}
156
- ${n}
157
- fields(includeDeprecated: true) {
158
- name
159
- ${r}
160
- args${a("(includeDeprecated: true)")} {
161
- ...InputValue
162
- }
163
- type {
164
- ...TypeRef
165
- }
166
- isDeprecated
167
- deprecationReason
168
- }
169
- inputFields${a("(includeDeprecated: true)")} {
170
- ...InputValue
171
- }
172
- interfaces {
173
- ...TypeRef
174
- }
175
- enumValues(includeDeprecated: true) {
176
- name
177
- ${r}
178
- isDeprecated
179
- deprecationReason
180
- }
181
- possibleTypes {
182
- ...TypeRef
183
- }
184
- }
185
-
186
- fragment InputValue on __InputValue {
187
- name
188
- ${r}
189
- type { ...TypeRef }
190
- defaultValue
191
- ${a("isDeprecated")}
192
- ${a("deprecationReason")}
193
- }
194
-
195
- fragment TypeRef on __Type {
196
- kind
197
- name
198
- ofType {
199
- kind
200
- name
201
- ofType {
202
- kind
203
- name
204
- ofType {
205
- kind
206
- name
207
- ofType {
208
- kind
209
- name
210
- ofType {
211
- kind
212
- name
213
- ofType {
214
- kind
215
- name
216
- ofType {
217
- kind
218
- name
219
- ofType {
220
- kind
221
- name
222
- ofType {
223
- kind
224
- name
225
- }
226
- }
227
- }
228
- }
229
- }
230
- }
231
- }
232
- }
233
- }
234
- }
235
- `}o(zu,"getIntrospectionQuery");function Wu(t,e){Ne(t)&&Ne(t.__schema)||ee(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${M(t)}.`);let r=t.__schema,n=Vt(r.types,w=>w.name,w=>f(w));for(let w of[...Sh,...xh])n[w.name]&&(n[w.name]=w);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(C):[];return new Lo({description:r.description,query:i,mutation:s,subscription:a,types:Object.values(n),directives:c,assumeValid:e?.assumeValid});function u(w){if(w.kind===ue.LIST){let P=w.ofType;if(!P)throw new Error("Decorated type deeper than introspection query.");return new ve(u(P))}if(w.kind===ue.NON_NULL){let P=w.ofType;if(!P)throw new Error("Decorated type deeper than introspection query.");let L=u(P);return new Q(Du(L))}return l(w)}function l(w){let P=w.name;if(!P)throw new Error(`Unknown type reference: ${M(w)}.`);let L=n[P];if(!L)throw new Error(`Invalid or incomplete schema, unknown type: ${P}. Ensure that a full introspection query is used in order to build a client schema.`);return L}function d(w){return Cu(l(w))}function p(w){return xu(l(w))}function f(w){if(w!=null&&w.name!=null&&w.kind!=null)switch(w.kind){case ue.SCALAR:return h(w);case ue.OBJECT:return b(w);case ue.INTERFACE:return I(w);case ue.UNION:return A(w);case ue.ENUM:return g(w);case ue.INPUT_OBJECT:return v(w)}let P=M(w);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${P}.`)}function h(w){return new it({name:w.name,description:w.description,specifiedByURL:w.specifiedByURL})}function y(w){if(w.interfaces===null&&w.kind===ue.INTERFACE)return[];if(!w.interfaces){let P=M(w);throw new Error(`Introspection result missing interfaces: ${P}.`)}return w.interfaces.map(p)}function b(w){return new Fe({name:w.name,description:w.description,interfaces:()=>y(w),fields:()=>R(w)})}function I(w){return new nr({name:w.name,description:w.description,interfaces:()=>y(w),fields:()=>R(w)})}function A(w){if(!w.possibleTypes){let P=M(w);throw new Error(`Introspection result missing possibleTypes: ${P}.`)}return new yn({name:w.name,description:w.description,types:()=>w.possibleTypes.map(d)})}function g(w){if(!w.enumValues){let P=M(w);throw new Error(`Introspection result missing enumValues: ${P}.`)}return new Bt({name:w.name,description:w.description,values:Vt(w.enumValues,P=>P.name,P=>({description:P.description,deprecationReason:P.deprecationReason}))})}function v(w){if(!w.inputFields){let P=M(w);throw new Error(`Introspection result missing inputFields: ${P}.`)}return new gn({name:w.name,description:w.description,fields:()=>E(w.inputFields)})}function R(w){if(!w.fields)throw new Error(`Introspection result missing fields: ${M(w)}.`);return Vt(w.fields,P=>P.name,V)}function V(w){let P=u(w.type);if(!ir(P)){let L=M(P);throw new Error(`Introspection must provide output type for fields, but received: ${L}.`)}if(!w.args){let L=M(w);throw new Error(`Introspection result missing field args: ${L}.`)}return{description:w.description,deprecationReason:w.deprecationReason,type:P,args:E(w.args)}}function E(w){return Vt(w,P=>P.name,T)}function T(w){let P=u(w.type);if(!st(P)){let re=M(P);throw new Error(`Introspection must provide input type for arguments, but received: ${re}.`)}let L=w.defaultValue!=null?Kt(Su(w.defaultValue),P):void 0;return{description:w.description,type:P,defaultValue:L,deprecationReason:w.deprecationReason}}function C(w){if(!w.args){let P=M(w);throw new Error(`Introspection result missing directive args: ${P}.`)}if(!w.locations){let P=M(w);throw new Error(`Introspection result missing directive locations: ${P}.`)}return new At({name:w.name,description:w.description,isRepeatable:w.isRepeatable,locations:w.locations.slice(),args:E(w.args)})}}o(Wu,"buildClientSchema");function hU(t,e){return`The query exceeds the maximum complexity of ${t}. Actual complexity is ${e}`}o(hU,"queryComplexityMessage");function nv(t){let e=new jr(t.schema),r=[],n=new Ri(t.schema,t.query,e,s=>r.push(s)),i=new Uh(n,{maximumComplexity:t.maximumComplexity??1/0,estimators:t.estimators,variables:t.variables,operationName:t.operationName,context:t.context});if(kr(t.query,Oi(e,i)),r.length)throw r.pop();return i.complexity}o(nv,"getComplexity");var Uh=class{static{o(this,"QueryComplexity")}context;complexity;options;OperationDefinition;estimators;includeDirectiveDef;skipDirectiveDef;variableValues;requestContext;constructor(e,r){if(Number(r.maximumComplexity)<=0)throw new Error("Maximum query complexity must be a positive number");this.context=e,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(e){if(typeof this.options.operationName=="string"&&this.options.operationName!==e.name?.value)return;let{coerced:r,errors:n}=Ku(this.context.getSchema(),e.variableDefinitions?[...e.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(e.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(e,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(e,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(e,s);break}default:throw new Error(`Query complexity could not be calculated for operation of type ${e.operation}`)}}onOperationDefinitionLeave(e){if(!(typeof this.options.operationName=="string"&&this.options.operationName!==e.name?.value)&&(this.options.onComplete&&this.options.onComplete(this.complexity),this.complexity>this.options.maximumComplexity))return this.context.reportError(this.createError())}nodeComplexity(e,r){if(e.selectionSet){let n={};(r instanceof Fe||r instanceof nr)&&(n=r.getFields());let i;qr(r)?i=this.context.getSchema().getPossibleTypes(r).map(a=>a.name):i=[r.name];let s=e.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&&Mo(this.includeDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(l=h.if);break}case"skip":{let h=this.skipDirectiveDef&&Mo(this.skipDirectiveDef,c,this.variableValues||{});typeof h?.if=="boolean"&&(d=h.if);break}}if(!l||d)return a;switch(c.kind){case S.FIELD:{let p=n[c.name.value];if(!p)break;let f=Pt(p.type),h;try{h=Uo(p,c,this.variableValues||{})}catch(A){return this.context.reportError(A),a}let y=0;Gt(f)&&(y=this.nodeComplexity(c,f));let b={childComplexity:y,args:h,field:p,node:c,type:r,context:this.requestContext};if(!this.estimators.find(A=>{let g=A(b);return typeof g=="number"&&!isNaN(g)?(u=Ni(g,a,i),!0):!1}))return this.context.reportError(new $(`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 S.FRAGMENT_SPREAD:{let p=this.context.getFragment(c.name.value);if(!p)break;let f=this.context.getSchema().getType(p.typeCondition.name.value);if(!Gt(f))break;let h=this.nodeComplexity(p,f);qr(f)?u=Ni(h,a,this.context.getSchema().getPossibleTypes(f).map(y=>y.name)):u=Ni(h,a,[f.name]);break}case S.INLINE_FRAGMENT:{let p=r;if(c.typeCondition&&c.typeCondition.name&&(p=this.context.getSchema().getType(c.typeCondition.name.value)||p,!Gt(p)))break;let f=this.nodeComplexity(c,p);qr(p)?u=Ni(f,a,this.context.getSchema().getPossibleTypes(p).map(h=>h.name)):u=Ni(f,a,[p.name]);break}default:{u=Ni(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 $(hU(this.options.maximumComplexity,this.complexity))}};function Ni(t,e,r){for(let n of r)Object.prototype.hasOwnProperty.call(e,n)?e[n]+=t:e[n]=t;return e}o(Ni,"addComplexities");function iv(t){let e=t?.defaultComplexity??1;return r=>e+r.childComplexity}o(iv,"simpleEstimator");var ov=o((t,e,r={})=>{let{definitions:n}=t,i=mU(n),s=yU(n);return Object.entries(s).map(([a,c])=>Qu(c,i,0,e,a,r))},"depthLimit");function mU(t){return t.reduce((e,r)=>(r.kind===S.FRAGMENT_DEFINITION&&(e[r?.name?.value??""]=r),e),{})}o(mU,"getFragments");function yU(t){return t.reduce((e,r)=>{if(r.kind===S.OPERATION_DEFINITION){let n=r?.name?.value??"";e[n]=r}return e},{})}o(yU,"getQueriesAndMutations");function Qu(t,e,r,n,i,s){if(r>n)throw s?.onLimitReached?.(r,i),new $(`${i||"Your query"} exceeds maximum operation depth of ${n}`,{nodes:[t]});let a=s?.ignore??[/^__/];switch(t.kind){case S.FIELD:return gU(t,a)||!t.selectionSet?0:1+Math.max(...t.selectionSet.selections.map(c=>Qu(c,e,r+1,n,i,s)));case S.FRAGMENT_SPREAD:return Qu(e[t.name.value],e,r,n,i,s);case S.INLINE_FRAGMENT:case S.FRAGMENT_DEFINITION:case S.OPERATION_DEFINITION:return Math.max(...t.selectionSet.selections.map(c=>Qu(c,e,r,n,i,s)));default:throw new Error("uh oh! depth crawler cannot handle: "+t.kind)}}o(Qu,"determineDepth");var gU=o((t,e)=>e.find(r=>t.name.value.match(r)!==null)||!1,"isIgnored");var bU=o(async(t,e)=>{if(!e.complexityLimit)throw new Ci.ConfigurationError("No complexity maximum defined, you need to pass a maxComplexity to the policy");let n=e.endpointUrl;if(!n)throw new Ci.ConfigurationError("No GraphQL endpoint, you need to pass a endpointUrl to the policy");let i=zu(),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 $("GraphQL introspection query failed, enable introspection or pass a schema url in configuration.");let u=Wu(c,{assumeValid:!0}),l=nv({estimators:[iv({defaultComplexity:1})],schema:u,query:t,variables:{count:10}});if(e.complexityLimit&&l>e.complexityLimit)throw new $(`Query is too complex (${l}/${e.complexityLimit}), remove some fields and try again`)},"applyComplexityLimitPolicy"),_U=o(async(t,e)=>{let r=e.depthLimit;if(!r)throw new Ci.ConfigurationError("No maximum depth defined, you need to pass a maxDepth to the policy");return Math.max(...ov(t,r))},"applyDepthLimitPolicy"),sv=o(async(t,e,r)=>{let n=Ci.SystemLogMap.getLogger(e);try{let s=await t.clone().json(),a=Tu(s.query);r.useDepthLimit&&await _U(a,r.useDepthLimit),r.useComplexityLimit&&await bU(a,r.useComplexityLimit)}catch(i){if(i instanceof $)return n.info(i),new Response(JSON.stringify(i.toJSON()),{status:400,headers:{"Content-Type":"application/json"}});throw i}return t},"GraphQLComplexityLimitInboundPolicy");var av=Fh(Wt());function EU(t){if(!t)return!1;let e=t.replace(/\s/g,"");return e.includes("__schema")||e.includes("__type")}o(EU,"isIntrospectionQuery");var cv=o(async(t,e)=>{let n=await t.clone().json();return EU(n.query)?av.HttpProblems.forbidden(t,e,{detail:"Introspection queries are not allowed"}):t},"GraphQLDisableIntrospectionInboundPolicy");
236
- /*! For license information please see index.minified.js.LEGAL.txt */