gemi 0.4.85 → 0.4.87

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/app/App.d.ts +1 -1
  2. package/dist/app/App.d.ts.map +1 -1
  3. package/dist/app/index.js +1 -141
  4. package/dist/app/prismaExtension.d.ts +1 -5
  5. package/dist/app/prismaExtension.d.ts.map +1 -1
  6. package/dist/bin/index.js +124 -69
  7. package/dist/chunk-28694e5e949df0ff.js +2 -0
  8. package/dist/chunk-332553172e3ab961.js +2 -0
  9. package/dist/chunk-43b1a27bc037bc09.js +2 -0
  10. package/dist/chunk-519593bc19f7cb9f.js +18 -0
  11. package/dist/chunk-5806220e55ac164c.js +1 -0
  12. package/dist/chunk-5f01223b8fbe1ed8.js +2 -0
  13. package/dist/chunk-6434d2c5758f4125.js +2 -0
  14. package/dist/chunk-69b5648fcd0f0a18.js +3 -0
  15. package/dist/{chunk-b99af11a56fdd395.js → chunk-6b18189b2aabf6b7.js} +1 -1
  16. package/dist/chunk-8e55cff6329b67a9.js +2 -0
  17. package/dist/chunk-8ee09f1f74206a04.js +1 -1
  18. package/dist/chunk-8f2c54f2cd43402a.js +2 -0
  19. package/dist/chunk-9383d727762ecba1.js +2 -0
  20. package/dist/chunk-b38c0c4618d0dd89.js +2 -0
  21. package/dist/chunk-b3eca9338a13f510.js +2 -0
  22. package/dist/chunk-b4cbb4706a35f5d5.js +2 -0
  23. package/dist/chunk-c160211e5cc4c447.js +2 -0
  24. package/dist/chunk-c4b0f134a6b82c51.js +2 -0
  25. package/dist/chunk-cc7158438e52b9ab.js +9 -0
  26. package/dist/chunk-d0b9873261cd82b7.js +6 -0
  27. package/dist/{chunk-63e9bc71922dbe80.js → chunk-fa61561237819f16.js} +1 -1
  28. package/dist/client/index.js +10 -10
  29. package/dist/facades/index.js +1 -1
  30. package/dist/kernel/index.js +1 -1
  31. package/dist/server/index.js +1 -1
  32. package/dist/services/index.js +1 -10
  33. package/dist/vite/{index-BDp-rm3S.mjs → index-CePL3kqT.mjs} +15 -11
  34. package/dist/vite/index.mjs +1 -1
  35. package/dist/vite/{typescript-x31i_8Ji.mjs → typescript-CaGEH4-o.mjs} +45 -23
  36. package/package.json +7 -1
  37. package/dist/app/createFlatApiRoutes.d.ts +0 -12
  38. package/dist/app/createFlatApiRoutes.d.ts.map +0 -1
  39. package/dist/chunk-0ddb821fe8124f54.js +0 -9
  40. package/dist/chunk-2335866508ec8b1b.js +0 -2
  41. package/dist/chunk-25ee58bc6072bd58.js +0 -2
  42. package/dist/chunk-2786cd9024d0d164.js +0 -2
  43. package/dist/chunk-3043d333fa68d342.js +0 -2
  44. package/dist/chunk-309e27a19cd3a645.js +0 -18
  45. package/dist/chunk-38315b1e3dd78ca7.js +0 -2
  46. package/dist/chunk-63c98893e07b1644.js +0 -2
  47. package/dist/chunk-8b950df276d04054.js +0 -2
  48. package/dist/chunk-9007899b37535873.js +0 -2
  49. package/dist/chunk-958e406572d457ca.js +0 -2
  50. package/dist/chunk-c27a654eada9167e.js +0 -2
  51. package/dist/chunk-c6ab6f8e07a028ac.js +0 -6
  52. package/dist/chunk-d16ef78d852a6856.js +0 -1
  53. package/dist/chunk-da07ce723d8218db.js +0 -3
  54. package/dist/chunk-f6a80fc55311e0c8.js +0 -2
  55. package/dist/chunk-f9f264ce0c8e9699.js +0 -2
  56. package/dist/chunk-ff8cd8fd047cfee5.js +0 -2
@@ -1,11 +1,2 @@
1
1
  // @bun
2
- import"../chunk-25ee58bc6072bd58.js";import{B as L} from"../chunk-24a86f8f5ddc0cbd.js";import{G as La,H as lS} from"../chunk-0ba2cc302113ab40.js";import{M as Zd} from"../chunk-ff8cd8fd047cfee5.js";import{$ as Om,N as ir,O as Qm,P as Vm,Q as Bm,R as Jm,S as Fr,T as zr,U as t,V as rr,W as de,X as _m,Y as zf,Z as Gf,_ as Ff,aa as Im,ba as Pm,ca as km,da as ym,ea as qm,fa as jm,ga as Kf,ha as Pr,ia as kr,ja as im,ka as Nm,la as Dm,ma as bm,na as Tm,oa as xm,pa as Es,qa as $m,ra as Js,sa as Um,ta as Mm,ua as Wm,va as Xm} from"../chunk-309e27a19cd3a645.js";import{$a as Rr,Aa as xr,Ba as Ym,Ca as rs,Fa as fm,Ga as Cr,Ha as B,Ia as hm,Ja as mm,Ka as gm,La as u,Ma as cm,Na as Am,Oa as gr,Pa as wm,Qa as Ml,Ra as vl,Sa as rh,Ta as Ir,Ua as _,Wa as Cs,Za as Ar,_a as sh,ab as eh,bb as vs,cb as Wr,eb as ra,fb as Ur,gb as Bf,hb as O,ib as ah,jb as Rm,kb as Em,lb as Km,mb as Lm,ob as H,qb as lh,wa as Gm,xa as Fm,ya as K,za as or} from"../chunk-da07ce723d8218db.js";import{sb as Qg} from"../chunk-b99af11a56fdd395.js";import{tb as b,ub as dm} from"../chunk-38315b1e3dd78ca7.js";import"../chunk-d16ef78d852a6856.js";import{Bb as vm} from"../chunk-0ddb821fe8124f54.js";import"../chunk-63e9bc71922dbe80.js";class lr{}class br extends lr{r;constructor(r=`${process.env.ROOT_DIR}/storage`){super();this.folderPath=r}async put(r){let s,e;if(r instanceof Blob)s=r,e=`${ir()}.${r.type.split("/")[1].split(";")[0]}`;else s=r.body,e=r.name;const a=s instanceof Buffer?s:Buffer.from(await s.arrayBuffer()),l=`${this.folderPath}/${e}`;return await Bun.write(l,a),e}async fetch(r){let s=process.env.BUCKET_NAME,e;if(typeof r==="string")e=r;else s=r.bucket??s,e=r.name;if(!e)throw new Error("Object name has to be specified");const a=`${this.folderPath}/${e}`,l=Bun.file(a),f=Bun.file(a).stream(),h=new Date(l.lastModified).toUTCString();return new Response(f,{headers:{"Content-Type":l.type,"Content-Length":String(l.size),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":h}})}}class Wa{driver=new br}function Ug(r){return(s)=>async(e)=>{const{request:a}=e;if(K.isInstance(a)&&a.body&&r.runtime==="node"){if(r.requestHandler?.constructor?.name!=="FetchHttpHandler")a.headers={...a.headers,Expect:"100-continue"}}return s({...e,request:a})}}var Mg={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0},Xa=(r)=>({applyToStack:(s)=>{s.add(Ug(r),Mg)}});function Cg(){return(r,s)=>async(e)=>{const{request:a}=e;if(K.isInstance(a)){if(!(vg in a.headers))if(typeof s?.logger?.warn==="function"&&!(s.logger instanceof xr))s.logger.warn("Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.");else console.warn("Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.")}return r({...e})}}var vg="content-length",Hg={step:"finalizeRequest",tags:["CHECK_CONTENT_LENGTH_HEADER"],name:"getCheckContentLengthHeaderPlugin",override:!0},Za=(r)=>({applyToStack:(s)=>{s.add(Cg(),Hg)}});var Qa=(r)=>{return(s,e)=>async(a)=>{const l=await r.region(),f=r.region;let h=()=>{};if(e.__s3RegionRedirect)Object.defineProperty(r,"region",{writable:!1,value:async()=>{return e.__s3RegionRedirect}}),h=()=>Object.defineProperty(r,"region",{writable:!0,value:f});try{const m=await s(a);if(e.__s3RegionRedirect){h();const g=await r.region();if(l!==g)throw new Error("Region was not restored following S3 region redirect.")}return m}catch(m){throw h(),m}}},Va={tags:["REGION_REDIRECT","S3"],name:"regionRedirectEndpointMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"};function zg(r){return(s,e)=>async(a)=>{try{return await s(a)}catch(l){if(r.followRegionRedirects&&l?.$metadata?.httpStatusCode===301){try{const f=l.$response.headers["x-amz-bucket-region"];e.logger?.debug(`Redirecting from ${await r.region()} to ${f}`),e.__s3RegionRedirect=f}catch(f){throw new Error("Region redirect failed: "+f)}return s(a)}else throw l}}}var Gg={step:"initialize",tags:["REGION_REDIRECT","S3"],name:"regionRedirectMiddleware",override:!0},Ba=(r)=>({applyToStack:(s)=>{s.add(zg(r),Gg),s.addRelativeTo(Qa(r),Va)}});var Fg=(r)=>{return(s,e)=>async(a)=>{const l=await s(a),{response:f}=l;if(or.isInstance(f)){if(f.headers.expires){f.headers.expiresstring=f.headers.expires;try{Ur(f.headers.expires)}catch(h){e.logger?.warn(`AWS SDK Warning for ${e.clientName}::${e.commandName} response parsing (${f.headers.expires}): ${h}`),delete f.headers.expires}}}return l}},Kg={tags:["S3"],name:"s3ExpiresMiddleware",override:!0,relation:"after",toMiddleware:"deserializerMiddleware"},Ja=(r)=>({applyToStack:(s)=>{s.addRelativeTo(Fg(r),Kg)}});class fr{constructor(r={}){this.data=r,this.lastPurgeTime=Date.now()}get(r){const s=this.data[r];if(!s)return;return s}set(r,s){return this.data[r]=s,s}delete(r){delete this.data[r]}async purgeExpired(){const r=Date.now();if(this.lastPurgeTime+fr.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS>r)return;for(let s in this.data){const e=this.data[s];if(!e.isRefreshing){const a=await e.identity;if(a.expiration){if(a.expiration.getTime()<r)delete this.data[s]}}}}}fr.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS=30000;class hr{constructor(r,s=!1,e=Date.now()){this._identity=r,this.isRefreshing=s,this.accessed=e}get identity(){return this.accessed=Date.now(),this._identity}}class mr{constructor(r,s=new fr){this.createSessionFn=r,this.cache=s}async getS3ExpressIdentity(r,s){const e=s.Bucket,{cache:a}=this,l=a.get(e);if(l)return l.identity.then((f)=>{if((f.expiration?.getTime()??0)<Date.now())return a.set(e,new hr(this.getIdentity(e))).identity;if((f.expiration?.getTime()??0)<Date.now()+mr.REFRESH_WINDOW_MS&&!l.isRefreshing)l.isRefreshing=!0,this.getIdentity(e).then((g)=>{a.set(e,new hr(Promise.resolve(g)))});return f});return a.set(e,new hr(this.getIdentity(e))).identity}async getIdentity(r){await this.cache.purgeExpired().catch((a)=>{console.warn("Error while clearing expired entries in S3ExpressIdentityCache: \n"+a)});const s=await this.createSessionFn(r);if(!s.Credentials?.AccessKeyId||!s.Credentials?.SecretAccessKey)throw new Error("s3#createSession response credential missing AccessKeyId or SecretAccessKey.");return{accessKeyId:s.Credentials.AccessKeyId,secretAccessKey:s.Credentials.SecretAccessKey,sessionToken:s.Credentials.SessionToken,expiration:s.Credentials.Expiration?new Date(s.Credentials.Expiration):void 0}}}mr.REFRESH_WINDOW_MS=60000;var Hr=L(gr(),1);var Ya="X-Amz-Algorithm",_a="X-Amz-Credential",Oa="X-Amz-Date",qa="X-Amz-SignedHeaders",ja="X-Amz-Expires",ia="X-Amz-Signature",ba="X-Amz-Security-Token";var xa="authorization",re="X-Amz-Date".toLowerCase();var oa=["authorization",re,"date"],na="X-Amz-Signature".toLowerCase(),Mr="x-amz-content-sha256",pa="X-Amz-Security-Token".toLowerCase();var ua={authorization:!0,"cache-control":!0,connection:!0,expect:!0,from:!0,"keep-alive":!0,"max-forwards":!0,pragma:!0,referer:!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0,"user-agent":!0,"x-amzn-trace-id":!0},ta=/^proxy-/,rl=/^sec-/;var nr="AWS4-HMAC-SHA256";var sl="AWS4-HMAC-SHA256-PAYLOAD",el="UNSIGNED-PAYLOAD",al=50,se="aws4_request",ll=604800;var hl=L(gr(),1);var pr={},ee=[],ur=(r,s,e)=>`${r}/${s}/${e}/${se}`,ml=async(r,s,e,a,l)=>{const f=await fl(r,s.secretAccessKey,s.accessKeyId),h=`${e}:${a}:${l}:${hl.toHex(f)}:${s.sessionToken}`;if(h in pr)return pr[h];ee.push(h);while(ee.length>al)delete pr[ee.shift()];let m=`AWS4${s.secretAccessKey}`;for(let g of[e,a,l,se])m=await fl(r,m,g);return pr[h]=m};var fl=(r,s,e)=>{const a=new r(s);return a.update(B(e)),a.digest()};var tr=({headers:r},s,e)=>{const a={};for(let l of Object.keys(r).sort()){if(r[l]==null)continue;const f=l.toLowerCase();if(f in ua||s?.has(f)||ta.test(f)||rl.test(f)){if(!e||e&&!e.has(f))continue}a[f]=r[l].trim().replace(/\s+/g," ")}return a};var ae=({query:r={}})=>{const s=[],e={};for(let a of Object.keys(r).sort()){if(a.toLowerCase()===na)continue;s.push(a);const l=r[a];if(typeof l==="string")e[a]=`${u(a)}=${u(l)}`;else if(Array.isArray(l))e[a]=l.slice(0).reduce((f,h)=>f.concat([`${u(a)}=${u(h)}`]),[]).sort().join("&")}return s.map((a)=>e[a]).filter((a)=>a).join("&")};var gl=L(gr(),1);var vr=async({headers:r,body:s},e)=>{for(let a of Object.keys(r))if(a.toLowerCase()===Mr)return r[a];if(s==null)return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";else if(typeof s==="string"||ArrayBuffer.isView(s)||rs(s)){const a=new e;return a.update(B(s)),gl.toHex(await a.digest())}return el};var ss=L(gr(),1);var dl=function(r){for(let s=0;s<8;s++)r[s]^=255;for(let s=7;s>-1;s--)if(r[s]++,r[s]!==0)break};class le{format(r){const s=[];for(let l of Object.keys(r)){const f=Cr(l);s.push(Uint8Array.from([f.byteLength]),f,this.formatHeaderValue(r[l]))}const e=new Uint8Array(s.reduce((l,f)=>l+f.byteLength,0));let a=0;for(let l of s)e.set(l,a),a+=l.byteLength;return e}formatHeaderValue(r){switch(r.type){case"boolean":return Uint8Array.from([r.value?0:1]);case"byte":return Uint8Array.from([2,r.value]);case"short":const s=new DataView(new ArrayBuffer(3));return s.setUint8(0,3),s.setInt16(1,r.value,!1),new Uint8Array(s.buffer);case"integer":const e=new DataView(new ArrayBuffer(5));return e.setUint8(0,4),e.setInt32(1,r.value,!1),new Uint8Array(e.buffer);case"long":const a=new Uint8Array(9);return a[0]=5,a.set(r.value.bytes,1),a;case"binary":const l=new DataView(new ArrayBuffer(3+r.value.byteLength));l.setUint8(0,6),l.setUint16(1,r.value.byteLength,!1);const f=new Uint8Array(l.buffer);return f.set(r.value,3),f;case"string":const h=Cr(r.value),m=new DataView(new ArrayBuffer(3+h.byteLength));m.setUint8(0,7),m.setUint16(1,h.byteLength,!1);const g=new Uint8Array(m.buffer);return g.set(h,3),g;case"timestamp":const w=new Uint8Array(9);return w[0]=8,w.set(fe.fromNumber(r.value.valueOf()).bytes,1),w;case"uuid":if(!Lg.test(r.value))throw new Error(`Invalid UUID received: ${r.value}`);const A=new Uint8Array(17);return A[0]=9,A.set(ss.fromHex(r.value.replace(/\-/g,"")),1),A}}}var wl;(function(r){r[r.boolTrue=0]="boolTrue",r[r.boolFalse=1]="boolFalse",r[r.byte=2]="byte",r[r.short=3]="short",r[r.integer=4]="integer",r[r.long=5]="long",r[r.byteArray=6]="byteArray",r[r.string=7]="string",r[r.timestamp=8]="timestamp",r[r.uuid=9]="uuid"})(wl||(wl={}));var Lg=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;class fe{constructor(r){if(this.bytes=r,r.byteLength!==8)throw new Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(r){if(r>9223372036854776000||r<-9223372036854776000)throw new Error(`${r} is too large (or, if negative, too small) to represent as an Int64`);const s=new Uint8Array(8);for(let e=7,a=Math.abs(Math.round(r));e>-1&&a>0;e--,a/=256)s[e]=a;if(r<0)dl(s);return new fe(s)}valueOf(){const r=this.bytes.slice(0),s=r[0]&128;if(s)dl(r);return parseInt(ss.toHex(r),16)*(s?-1:1)}toString(){return String(this.valueOf())}}var Sl=(r,s)=>{r=r.toLowerCase();for(let e of Object.keys(s))if(r===e.toLowerCase())return!0;return!1};var he=(r,s={})=>{const{headers:e,query:a={}}=K.clone(r);for(let l of Object.keys(e)){const f=l.toLowerCase();if(f.slice(0,6)==="x-amz-"&&!s.unhoistableHeaders?.has(f))a[l]=e[l],delete e[l]}return{...r,headers:e,query:a}};var es=(r)=>{r=K.clone(r);for(let s of Object.keys(r.headers))if(oa.indexOf(s.toLowerCase())>-1)delete r.headers[s];return r};var cl=(r)=>Wg(r).toISOString().replace(/\.\d{3}Z$/,"Z"),Wg=(r)=>{if(typeof r==="number")return new Date(r*1000);if(typeof r==="string"){if(Number(r))return new Date(Number(r)*1000);return new Date(r)}return r};class me{constructor({applyChecksum:r,credentials:s,region:e,service:a,sha256:l,uriEscapePath:f=!0}){this.headerFormatter=new le,this.service=a,this.sha256=l,this.uriEscapePath=f,this.applyChecksum=typeof r==="boolean"?r:!0,this.regionProvider=zr(e),this.credentialProvider=zr(s)}async presign(r,s={}){const{signingDate:e=new Date,expiresIn:a=3600,unsignableHeaders:l,unhoistableHeaders:f,signableHeaders:h,signingRegion:m,signingService:g}=s,w=await this.credentialProvider();this.validateResolvedCredentials(w);const A=m??await this.regionProvider(),{longDate:I,shortDate:P}=as(e);if(a>ll)return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future");const $=ur(P,A,g??this.service),D=he(es(r),{unhoistableHeaders:f});if(w.sessionToken)D.query[ba]=w.sessionToken;D.query[Ya]=nr,D.query[_a]=`${w.accessKeyId}/${$}`,D.query[Oa]=I,D.query[ja]=a.toString(10);const Q=tr(D,l,h);return D.query[qa]=Al(Q),D.query[ia]=await this.getSignature(I,$,this.getSigningKey(w,A,P,g),this.createCanonicalRequest(D,Q,await vr(r,this.sha256))),D}async sign(r,s){if(typeof r==="string")return this.signString(r,s);else if(r.headers&&r.payload)return this.signEvent(r,s);else if(r.message)return this.signMessage(r,s);else return this.signRequest(r,s)}async signEvent({headers:r,payload:s},{signingDate:e=new Date,priorSignature:a,signingRegion:l,signingService:f}){const h=l??await this.regionProvider(),{shortDate:m,longDate:g}=as(e),w=ur(m,h,f??this.service),A=await vr({headers:{},body:s},this.sha256),I=new this.sha256;I.update(r);const P=Hr.toHex(await I.digest()),$=[sl,g,w,a,P,A].join("\n");return this.signString($,{signingDate:e,signingRegion:h,signingService:f})}async signMessage(r,{signingDate:s=new Date,signingRegion:e,signingService:a}){return this.signEvent({headers:this.headerFormatter.format(r.message.headers),payload:r.message.body},{signingDate:s,signingRegion:e,signingService:a,priorSignature:r.priorSignature}).then((f)=>{return{message:r.message,signature:f}})}async signString(r,{signingDate:s=new Date,signingRegion:e,signingService:a}={}){const l=await this.credentialProvider();this.validateResolvedCredentials(l);const f=e??await this.regionProvider(),{shortDate:h}=as(s),m=new this.sha256(await this.getSigningKey(l,f,h,a));return m.update(B(r)),Hr.toHex(await m.digest())}async signRequest(r,{signingDate:s=new Date,signableHeaders:e,unsignableHeaders:a,signingRegion:l,signingService:f}={}){const h=await this.credentialProvider();this.validateResolvedCredentials(h);const m=l??await this.regionProvider(),g=es(r),{longDate:w,shortDate:A}=as(s),I=ur(A,m,f??this.service);if(g.headers[re]=w,h.sessionToken)g.headers[pa]=h.sessionToken;const P=await vr(g,this.sha256);if(!Sl(Mr,g.headers)&&this.applyChecksum)g.headers[Mr]=P;const $=tr(g,a,e),D=await this.getSignature(w,I,this.getSigningKey(h,m,A,f),this.createCanonicalRequest(g,$,P));return g.headers[xa]=`${nr} `+`Credential=${h.accessKeyId}/${I}, `+`SignedHeaders=${Al($)}, `+`Signature=${D}`,g}createCanonicalRequest(r,s,e){const a=Object.keys(s).sort();return`${r.method}
3
- ${this.getCanonicalPath(r)}
4
- ${ae(r)}
5
- ${a.map((l)=>`${l}:${s[l]}`).join("\n")}
6
-
7
- ${a.join(";")}
8
- ${e}`}async createStringToSign(r,s,e){const a=new this.sha256;a.update(B(e));const l=await a.digest();return`${nr}
9
- ${r}
10
- ${s}
11
- ${Hr.toHex(l)}`}getCanonicalPath({path:r}){if(this.uriEscapePath){const s=[];for(let l of r.split("/")){if(l?.length===0)continue;if(l===".")continue;if(l==="..")s.pop();else s.push(l)}const e=`${r?.startsWith("/")?"/":""}${s.join("/")}${s.length>0&&r?.endsWith("/")?"/":""}`;return u(e).replace(/%2F/g,"/")}return r}async getSignature(r,s,e,a){const l=await this.createStringToSign(r,s,a),f=new this.sha256(await e);return f.update(B(l)),Hr.toHex(await f.digest())}getSigningKey(r,s,e,a){return ml(this.sha256,r,e,s,a||this.service)}validateResolvedCredentials(r){if(typeof r!=="object"||typeof r.accessKeyId!=="string"||typeof r.secretAccessKey!=="string")throw new Error("Resolved credential object is not valid")}}var as=(r)=>{const s=cl(r).replace(/[\-:]/g,"");return{longDate:s,shortDate:s.slice(0,8)}},Al=(r)=>Object.keys(r).sort().join(";");var Rl="Directory",El="S3Express",Il="sigv4-s3express",ls="X-Amz-S3session-Token",Gr=ls.toLowerCase(),Xg="AWS_S3_DISABLE_EXPRESS_SESSION_AUTH",Zg="s3_disable_express_session_auth",ge={environmentVariableSelector:(r)=>t(r,Xg,rr.ENV),configFileSelector:(r)=>t(r,Zg,rr.CONFIG),default:!1};var Pl=function(r){return{accessKeyId:r.accessKeyId,secretAccessKey:r.secretAccessKey,expiration:r.expiration}},kl=function(r,s){const e=setTimeout(()=>{throw new Error("SignatureV4S3Express credential override was created but not called.")},10),a=r.credentialProvider,l=()=>{return clearTimeout(e),r.credentialProvider=a,Promise.resolve(s)};r.credentialProvider=l};class fs extends me{async signWithCredentials(r,s,e){const a=Pl(s);r.headers[Gr]=s.sessionToken;const l=this;return kl(l,a),l.signRequest(r,e??{})}async presignWithCredentials(r,s,e){const a=Pl(s);return delete r.headers[Gr],r.headers[ls]=s.sessionToken,r.query=r.query??{},r.query[ls]=s.sessionToken,kl(this,a),this.presign(r,e)}}var yl=(r)=>{return(s,e)=>async(a)=>{if(e.endpointV2){const l=e.endpointV2,f=l.properties?.authSchemes?.[0]?.name===Il;if(l.properties?.backend===El||l.properties?.bucketType===Rl)e.isS3ExpressBucket=!0;if(f){const m=a.input.Bucket;if(m){const g=await r.s3ExpressIdentityProvider.getS3ExpressIdentity(await r.credentials(),{Bucket:m});if(e.s3ExpressIdentity=g,K.isInstance(a.request)&&g.sessionToken)a.request.headers[Gr]=g.sessionToken}}}return s(a)}},Nl={name:"s3ExpressMiddleware",step:"build",tags:["S3","S3_EXPRESS"],override:!0},we=(r)=>({applyToStack:(s)=>{s.add(yl(r),Nl)}});var Tl=L(de(),1);var Vg=L(Qg(),1);var Dl=async(r,s,e,a)=>{const l=await a.signWithCredentials(e,r,{});if(l.headers["X-Amz-Security-Token"]||l.headers["x-amz-security-token"])throw new Error("X-Amz-Security-Token must not be set for s3-express requests.");return l};var Bg=(r)=>(s)=>{throw s},Jg=(r,s)=>{};var $l=(r)=>(s,e)=>async(a)=>{if(!K.isInstance(a.request))return s(a);const f=Fr(e).selectedHttpAuthScheme;if(!f)throw new Error("No HttpAuthScheme was selected: unable to sign request");const{httpAuthOption:{signingProperties:h={}},identity:m,signer:g}=f;let w;if(e.s3ExpressIdentity)w=await Dl(e.s3ExpressIdentity,h,a.request,await r.signer());else w=await g.sign(a.request,m,h);const A=await s({...a,request:w}).catch((g.errorHandler||Bg)(h));return(g.successHandler||Jg)(A.response,h),A},Se=(r)=>({applyToStack:(s)=>{s.addRelativeTo($l(r),Tl.httpSigningMiddlewareOptions)}});var Ul=(r,{session:s})=>{const[e,a]=s;return{...r,forcePathStyle:r.forcePathStyle??!1,useAccelerateEndpoint:r.useAccelerateEndpoint??!1,disableMultiregionAccessPoints:r.disableMultiregionAccessPoints??!1,followRegionRedirects:r.followRegionRedirects??!1,s3ExpressIdentityProvider:r.s3ExpressIdentityProvider??new mr(async(l)=>e().send(new a({Bucket:l,SessionMode:"ReadWrite"}))),bucketEndpoint:r.bucketEndpoint??!1}};var Yg={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},_g=3000,Og=(r)=>(s,e)=>async(a)=>{const l=await s(a),{response:f}=l;if(!or.isInstance(f))return l;const{statusCode:h,body:m}=f;if(h<200||h>=300)return l;let g=m,w=m;if(m&&typeof m==="object"&&!(m instanceof Uint8Array))[g,w]=await Ml(m);f.body=w;const A=await qg(g,{streamCollector:async(P)=>{return vl(P,_g)}});if(typeof g?.destroy==="function")g.destroy();const I=r.utf8Encoder(A.subarray(A.length-16));if(A.length===0&&Yg[e.commandName]){const P=new Error("S3 aborted request");throw P.name="InternalError",P}if(I&&I.endsWith("</Error>"))f.statusCode=400;return l},qg=(r=new Uint8Array,s)=>{if(r instanceof Uint8Array)return Promise.resolve(r);return s.streamCollector(r)||Promise.resolve(new Uint8Array)},jg={relation:"after",toMiddleware:"deserializerMiddleware",tags:["THROW_200_EXCEPTIONS","S3"],name:"throw200ExceptionsMiddleware",override:!0},hs=(r)=>({applyToStack:(s)=>{s.addRelativeTo(Og(r),jg)}});var ce=(r)=>typeof r==="string"&&r.indexOf("arn:")===0&&r.split(":").length>=6;function Cl(r){return(s,e)=>async(a)=>{if(r.bucketEndpoint){const l=e.endpointV2;if(l){const f=a.input.Bucket;if(typeof f==="string")try{const h=new URL(f);l.url=h}catch(h){const m=`@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${f} could not be parsed as URL.`;if(e.logger?.constructor?.name==="NoOpLogger")console.warn(m);else e.logger?.warn?.(m);throw h}}}return s(a)}}var Hl={name:"bucketEndpointMiddleware",override:!0,relation:"after",toMiddleware:"endpointV2Middleware"};function ig({bucketEndpoint:r}){return(s)=>async(e)=>{const{input:{Bucket:a}}=e;if(!r&&typeof a==="string"&&!ce(a)&&a.indexOf("/")>=0){const l=new Error(`Bucket name shouldn't contain '/', received '${a}'`);throw l.name="InvalidBucketName",l}return s({...e})}}var bg={step:"initialize",tags:["VALIDATE_BUCKET_NAME"],name:"validateBucketNameMiddleware",override:!0},zl=(r)=>({applyToStack:(s)=>{s.add(ig(r),bg),s.addRelativeTo(Cl(r),Hl)}});var Nr=L(de(),1);var Gl=(r)=>({...r,eventStreamMarshaller:r.eventStreamSerdeProvider(r)});var Is=L(Es(),1);var ms={CrtSignerV4:null};class Ae{constructor(r){this.sigv4Signer=new fs(r),this.signerOptions=r}async sign(r,s={}){if(s.signingRegion==="*"){if(this.signerOptions.runtime!=="node")throw new Error("This request requires signing with SigV4Asymmetric algorithm. It's only available in Node.js");return this.getSigv4aSigner().sign(r,s)}return this.sigv4Signer.sign(r,s)}async signWithCredentials(r,s,e={}){if(e.signingRegion==="*"){if(this.signerOptions.runtime!=="node")throw new Error("This request requires signing with SigV4Asymmetric algorithm. It's only available in Node.js");return this.getSigv4aSigner().signWithCredentials(r,s,e)}return this.sigv4Signer.signWithCredentials(r,s,e)}async presign(r,s={}){if(s.signingRegion==="*"){if(this.signerOptions.runtime!=="node")throw new Error("This request requires signing with SigV4Asymmetric algorithm. It's only available in Node.js");return this.getSigv4aSigner().presign(r,s)}return this.sigv4Signer.presign(r,s)}async presignWithCredentials(r,s,e={}){if(e.signingRegion==="*")throw new Error("Method presignWithCredentials is not supported for [signingRegion=*].");return this.sigv4Signer.presignWithCredentials(r,s,e)}getSigv4aSigner(){if(!this.sigv4aSigner){let r=null;try{if(r=ms.CrtSignerV4,typeof r!=="function")throw new Error}catch(s){throw s.message=`${s.message}\n`+'Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. \nYou must also register the package by calling [require("@aws-sdk/signature-v4-crt");] or an ESM equivalent such as [import "@aws-sdk/signature-v4-crt";]. \nFor more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt',s}this.sigv4aSigner=new r({...this.signerOptions,signingAlgorithm:1})}return this.sigv4aSigner}}var wr={["required"]:!1,["type"]:"String"},dr={["required"]:!0,default:!1,["type"]:"Boolean"},Kr={["required"]:!1,["type"]:"Boolean"},Y={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"Accelerate"},!0]},N={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseFIPS"},!0]},y={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseDualStack"},!0]},M={["fn"]:"isSet",["argv"]:[{["ref"]:"Endpoint"}]},Df={["fn"]:"aws.partition",["argv"]:[{["ref"]:"Region"}],["assign"]:"partitionResult"},Fl={["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"partitionResult"},"name"]},"aws-cn"]},cs={["fn"]:"isSet",["argv"]:[{["ref"]:"Bucket"}]},X={["ref"]:"Bucket"},W={["fn"]:"parseURL",["argv"]:[{["ref"]:"Endpoint"}],["assign"]:"url"},Ss={["fn"]:"booleanEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"url"},"isIp"]},!0]},Tf={["ref"]:"url"},$f={["fn"]:"uriEncode",["argv"]:[X],["assign"]:"uri_encoded_bucket"},j={["backend"]:"S3Express",["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3express",["signingRegion"]:"{Region}"}]},d={},Uf={["fn"]:"aws.isVirtualHostableS3Bucket",["argv"]:[X,!1]},Re={["error"]:"S3Express bucket name is not a valid virtual hostable name.",["type"]:"error"},As={["backend"]:"S3Express",["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4-s3express",["signingName"]:"s3express",["signingRegion"]:"{Region}"}]},Kl={["fn"]:"isSet",["argv"]:[{["ref"]:"UseS3ExpressControlEndpoint"}]},Ll={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseS3ExpressControlEndpoint"},!0]},S={["fn"]:"not",["argv"]:[M]},Wl={["error"]:"Unrecognized S3Express bucket name format.",["type"]:"error"},Xl={["fn"]:"not",["argv"]:[cs]},Zl={["ref"]:"hardwareType"},Ql={["conditions"]:[S],["error"]:"Expected a endpoint to be specified but no endpoint was found",["type"]:"error"},gs={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4a",["signingName"]:"s3-outposts",["signingRegionSet"]:["*"]},{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-outposts",["signingRegion"]:"{Region}"}]},Ee={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"ForcePathStyle"},!1]},xg={["ref"]:"ForcePathStyle"},U={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"Accelerate"},!1]},C={["fn"]:"stringEquals",["argv"]:[{["ref"]:"Region"},"aws-global"]},z={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"us-east-1"}]},E={["fn"]:"not",["argv"]:[C]},G={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseGlobalEndpoint"},!0]},Vl={["url"]:"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:{["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{Region}"}]},["headers"]:{}},v={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{Region}"}]},F={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseGlobalEndpoint"},!1]},R={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseDualStack"},!1]},Bl={["url"]:"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},c={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseFIPS"},!1]},Jl={["url"]:"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},Yl={["url"]:"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},Ie={["fn"]:"booleanEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[Tf,"isIp"]},!1]},Pe={["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",["properties"]:v,["headers"]:{}},Qe={["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:v,["headers"]:{}},_l={["endpoint"]:Qe,["type"]:"endpoint"},ke={["url"]:"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},Ol={["url"]:"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},ws={["error"]:"Invalid region: region was not a valid DNS name.",["type"]:"error"},V={["ref"]:"bucketArn"},Mf={["ref"]:"arnType"},ye={["fn"]:"getAttr",["argv"]:[V,"service"]},Ve={["ref"]:"accessPointName"},ql={["conditions"]:[y],["error"]:"S3 Object Lambda does not support Dual-stack",["type"]:"error"},jl={["conditions"]:[Y],["error"]:"S3 Object Lambda does not support S3 Accelerate",["type"]:"error"},il={["conditions"]:[{["fn"]:"isSet",["argv"]:[{["ref"]:"DisableAccessPoints"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableAccessPoints"},!0]}],["error"]:"Access points are not supported for this operation",["type"]:"error"},Ne={["conditions"]:[{["fn"]:"isSet",["argv"]:[{["ref"]:"UseArnRegion"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseArnRegion"},!1]},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[V,"region"]},"{Region}"]}]}],["error"]:"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`",["type"]:"error"},vf={["fn"]:"getAttr",["argv"]:[{["ref"]:"bucketPartition"},"name"]},Cf={["fn"]:"getAttr",["argv"]:[V,"accountId"]},De={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-object-lambda",["signingRegion"]:"{bucketArn#region}"}]},bl={["error"]:"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",["type"]:"error"},Te={["error"]:"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",["type"]:"error"},$e={["error"]:"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",["type"]:"error"},Ue={["error"]:"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",["type"]:"error"},xl={["error"]:"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",["type"]:"error"},ol={["error"]:"Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided",["type"]:"error"},Lr={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{bucketArn#region}"}]},nl={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4a",["signingName"]:"s3-outposts",["signingRegionSet"]:["*"]},{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-outposts",["signingRegion"]:"{bucketArn#region}"}]},pl={["fn"]:"aws.parseArn",["argv"]:[X]},ul={["url"]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:v,["headers"]:{}},tl={["url"]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:v,["headers"]:{}},rf={["url"]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:v,["headers"]:{}},Me={["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",["properties"]:v,["headers"]:{}},sf={["url"]:"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:v,["headers"]:{}},ef={["ref"]:"UseObjectLambdaEndpoint"},ve={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-object-lambda",["signingRegion"]:"{Region}"}]},af={["url"]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},lf={["url"]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},ff={["url"]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},Ce={["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:v,["headers"]:{}},hf={["url"]:"https://s3.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},He=[{["ref"]:"Region"}],og=[{["ref"]:"Endpoint"}],ng=[X],ze=[y],ds=[Y],sr=[M,W],mf=[{["fn"]:"isSet",["argv"]:[{["ref"]:"DisableS3ExpressSessionAuth"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableS3ExpressSessionAuth"},!0]}],gf=[Ss],Ge=[$f],Fe=[Uf],Sr=[N],wf=[{["fn"]:"substring",["argv"]:[X,6,14,!0],["assign"]:"s3expressAvailabilityZoneId"},{["fn"]:"substring",["argv"]:[X,14,16,!0],["assign"]:"s3expressAvailabilityZoneDelim"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"s3expressAvailabilityZoneDelim"},"--"]}],df=[{["conditions"]:[N],["endpoint"]:{["url"]:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:j,["headers"]:{}},["type"]:"endpoint"},{["endpoint"]:{["url"]:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:j,["headers"]:{}},["type"]:"endpoint"}],Sf=[{["fn"]:"substring",["argv"]:[X,6,15,!0],["assign"]:"s3expressAvailabilityZoneId"},{["fn"]:"substring",["argv"]:[X,15,17,!0],["assign"]:"s3expressAvailabilityZoneDelim"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"s3expressAvailabilityZoneDelim"},"--"]}],cf=[{["conditions"]:[N],["endpoint"]:{["url"]:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:As,["headers"]:{}},["type"]:"endpoint"},{["endpoint"]:{["url"]:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:As,["headers"]:{}},["type"]:"endpoint"}],pg=[cs],Af=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"outpostId"},!1]}],Rf=[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"regionPrefix"},"beta"]}],ug=["*"],x=[Df],Ef=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"Region"},!1]}],o=[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"Region"},"us-east-1"]}],Ke=[{["fn"]:"stringEquals",["argv"]:[Mf,"accesspoint"]}],If=[{["fn"]:"getAttr",["argv"]:[V,"resourceId[1]"],["assign"]:"accessPointName"},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[Ve,""]}]}],tg=[V,"resourceId[1]"],Le=[{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[V,"region"]},""]}]}],Pf=[{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"getAttr",["argv"]:[V,"resourceId[2]"]}]}]}],rw=[V,"resourceId[2]"],We=[{["fn"]:"aws.partition",["argv"]:[{["fn"]:"getAttr",["argv"]:[V,"region"]}],["assign"]:"bucketPartition"}],kf=[{["fn"]:"stringEquals",["argv"]:[vf,{["fn"]:"getAttr",["argv"]:[{["ref"]:"partitionResult"},"name"]}]}],Xe=[{["fn"]:"isValidHostLabel",["argv"]:[{["fn"]:"getAttr",["argv"]:[V,"region"]},!0]}],Ze=[{["fn"]:"isValidHostLabel",["argv"]:[Cf,!1]}],yf=[{["fn"]:"isValidHostLabel",["argv"]:[Ve,!1]}],Nf=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"Region"},!0]}],sw={version:"1.0",parameters:{Bucket:wr,Region:wr,UseFIPS:dr,UseDualStack:dr,Endpoint:wr,ForcePathStyle:dr,Accelerate:dr,UseGlobalEndpoint:dr,UseObjectLambdaEndpoint:Kr,Key:wr,Prefix:wr,CopySource:wr,DisableAccessPoints:Kr,DisableMultiRegionAccessPoints:dr,UseArnRegion:Kr,UseS3ExpressControlEndpoint:Kr,DisableS3ExpressSessionAuth:Kr},rules:[{["conditions"]:[{["fn"]:"isSet",["argv"]:He}],rules:[{["conditions"]:[Y,N],error:"Accelerate cannot be used with FIPS",["type"]:"error"},{["conditions"]:[y,M],error:"Cannot set dual-stack in combination with a custom endpoint.",["type"]:"error"},{["conditions"]:[M,N],error:"A custom endpoint cannot be combined with FIPS",["type"]:"error"},{["conditions"]:[M,Y],error:"A custom endpoint cannot be combined with S3 Accelerate",["type"]:"error"},{["conditions"]:[N,Df,Fl],error:"Partition does not support FIPS",["type"]:"error"},{["conditions"]:[cs,{["fn"]:"substring",["argv"]:[X,0,6,!0],["assign"]:"bucketSuffix"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"bucketSuffix"},"--x-s3"]}],rules:[{["conditions"]:ze,error:"S3Express does not support Dual-stack.",["type"]:"error"},{["conditions"]:ds,error:"S3Express does not support S3 Accelerate.",["type"]:"error"},{["conditions"]:sr,rules:[{["conditions"]:mf,rules:[{["conditions"]:gf,rules:[{["conditions"]:Ge,rules:[{endpoint:{["url"]:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",["properties"]:j,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:Fe,rules:[{endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:j,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},Re],["type"]:"tree"},{["conditions"]:gf,rules:[{["conditions"]:Ge,rules:[{endpoint:{["url"]:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",["properties"]:As,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:Fe,rules:[{endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:As,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},Re],["type"]:"tree"},{["conditions"]:[Kl,Ll],rules:[{["conditions"]:[$f,S],rules:[{["conditions"]:Sr,endpoint:{["url"]:"https://s3express-control-fips.{Region}.amazonaws.com/{uri_encoded_bucket}",["properties"]:j,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3express-control.{Region}.amazonaws.com/{uri_encoded_bucket}",["properties"]:j,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:Fe,rules:[{["conditions"]:mf,rules:[{["conditions"]:wf,rules:df,["type"]:"tree"},{["conditions"]:Sf,rules:df,["type"]:"tree"},Wl],["type"]:"tree"},{["conditions"]:wf,rules:cf,["type"]:"tree"},{["conditions"]:Sf,rules:cf,["type"]:"tree"},Wl],["type"]:"tree"},Re],["type"]:"tree"},{["conditions"]:[Xl,Kl,Ll],rules:[{["conditions"]:sr,endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:j,["headers"]:d},["type"]:"endpoint"},{["conditions"]:Sr,endpoint:{["url"]:"https://s3express-control-fips.{Region}.amazonaws.com",["properties"]:j,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3express-control.{Region}.amazonaws.com",["properties"]:j,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[cs,{["fn"]:"substring",["argv"]:[X,49,50,!0],["assign"]:"hardwareType"},{["fn"]:"substring",["argv"]:[X,8,12,!0],["assign"]:"regionPrefix"},{["fn"]:"substring",["argv"]:[X,0,7,!0],["assign"]:"bucketAliasSuffix"},{["fn"]:"substring",["argv"]:[X,32,49,!0],["assign"]:"outpostId"},{["fn"]:"aws.partition",["argv"]:He,["assign"]:"regionPartition"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"bucketAliasSuffix"},"--op-s3"]}],rules:[{["conditions"]:Af,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Zl,"e"]}],rules:[{["conditions"]:Rf,rules:[Ql,{["conditions"]:sr,endpoint:{["url"]:"https://{Bucket}.ec2.{url#authority}",["properties"]:gs,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{endpoint:{["url"]:"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}",["properties"]:gs,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Zl,"o"]}],rules:[{["conditions"]:Rf,rules:[Ql,{["conditions"]:sr,endpoint:{["url"]:"https://{Bucket}.op-{outpostId}.{url#authority}",["properties"]:gs,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{endpoint:{["url"]:"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}",["properties"]:gs,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{error:"Unrecognized hardware type: \"Expected hardware type o or e but got {hardwareType}\"",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.",["type"]:"error"}],["type"]:"tree"},{["conditions"]:pg,rules:[{["conditions"]:[M,{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"parseURL",["argv"]:og}]}]}],error:"Custom endpoint `{Endpoint}` was not a valid URI",["type"]:"error"},{["conditions"]:[Ee,Uf],rules:[{["conditions"]:x,rules:[{["conditions"]:Ef,rules:[{["conditions"]:[Y,Fl],error:"S3 Accelerate cannot be used in this region",["type"]:"error"},{["conditions"]:[y,N,U,S,C],endpoint:{["url"]:"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:z,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[y,N,U,S,E,G],rules:[{endpoint:Vl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[y,N,U,S,E,F],endpoint:Vl,["type"]:"endpoint"},{["conditions"]:[R,N,U,S,C],endpoint:{["url"]:"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}",["properties"]:z,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,N,U,S,E,G],rules:[{endpoint:Bl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,N,U,S,E,F],endpoint:Bl,["type"]:"endpoint"},{["conditions"]:[y,c,Y,S,C],endpoint:{["url"]:"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:z,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[y,c,Y,S,E,G],rules:[{endpoint:Jl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[y,c,Y,S,E,F],endpoint:Jl,["type"]:"endpoint"},{["conditions"]:[y,c,U,S,C],endpoint:{["url"]:"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:z,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[y,c,U,S,E,G],rules:[{endpoint:Yl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[y,c,U,S,E,F],endpoint:Yl,["type"]:"endpoint"},{["conditions"]:[R,c,U,M,W,Ss,C],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",["properties"]:z,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,c,U,M,W,Ie,C],endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:z,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,c,U,M,W,Ss,E,G],rules:[{["conditions"]:o,endpoint:Pe,["type"]:"endpoint"},{endpoint:Pe,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,c,U,M,W,Ie,E,G],rules:[{["conditions"]:o,endpoint:Qe,["type"]:"endpoint"},_l],["type"]:"tree"},{["conditions"]:[R,c,U,M,W,Ss,E,F],endpoint:Pe,["type"]:"endpoint"},{["conditions"]:[R,c,U,M,W,Ie,E,F],endpoint:Qe,["type"]:"endpoint"},{["conditions"]:[R,c,Y,S,C],endpoint:{["url"]:"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",["properties"]:z,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,c,Y,S,E,G],rules:[{["conditions"]:o,endpoint:ke,["type"]:"endpoint"},{endpoint:ke,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,c,Y,S,E,F],endpoint:ke,["type"]:"endpoint"},{["conditions"]:[R,c,U,S,C],endpoint:{["url"]:"https://{Bucket}.s3.{partitionResult#dnsSuffix}",["properties"]:z,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,c,U,S,E,G],rules:[{["conditions"]:o,endpoint:{["url"]:"https://{Bucket}.s3.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:d},["type"]:"endpoint"},{endpoint:Ol,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,c,U,S,E,F],endpoint:Ol,["type"]:"endpoint"}],["type"]:"tree"},ws],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[M,W,{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[Tf,"scheme"]},"http"]},{["fn"]:"aws.isVirtualHostableS3Bucket",["argv"]:[X,!0]},Ee,c,R,U],rules:[{["conditions"]:x,rules:[{["conditions"]:Ef,rules:[_l],["type"]:"tree"},ws],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[Ee,{["fn"]:"aws.parseArn",["argv"]:ng,["assign"]:"bucketArn"}],rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:[V,"resourceId[0]"],["assign"]:"arnType"},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[Mf,""]}]}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[ye,"s3-object-lambda"]}],rules:[{["conditions"]:Ke,rules:[{["conditions"]:If,rules:[ql,jl,{["conditions"]:Le,rules:[il,{["conditions"]:Pf,rules:[Ne,{["conditions"]:We,rules:[{["conditions"]:x,rules:[{["conditions"]:kf,rules:[{["conditions"]:Xe,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Cf,""]}],error:"Invalid ARN: Missing account id",["type"]:"error"},{["conditions"]:Ze,rules:[{["conditions"]:yf,rules:[{["conditions"]:sr,endpoint:{["url"]:"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",["properties"]:De,["headers"]:d},["type"]:"endpoint"},{["conditions"]:Sr,endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:De,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:De,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},bl],["type"]:"tree"},Te],["type"]:"tree"},$e],["type"]:"tree"},Ue],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},xl],["type"]:"tree"},{error:"Invalid ARN: bucket ARN is missing a region",["type"]:"error"}],["type"]:"tree"},ol],["type"]:"tree"},{error:"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`",["type"]:"error"}],["type"]:"tree"},{["conditions"]:Ke,rules:[{["conditions"]:If,rules:[{["conditions"]:Le,rules:[{["conditions"]:Ke,rules:[{["conditions"]:Le,rules:[il,{["conditions"]:Pf,rules:[Ne,{["conditions"]:We,rules:[{["conditions"]:x,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[vf,"{partitionResult#name}"]}],rules:[{["conditions"]:Xe,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[ye,"s3"]}],rules:[{["conditions"]:Ze,rules:[{["conditions"]:yf,rules:[{["conditions"]:ds,error:"Access Points do not support S3 Accelerate",["type"]:"error"},{["conditions"]:[N,y],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Lr,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[N,R],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Lr,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[c,y],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Lr,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[c,R,M,W],endpoint:{["url"]:"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",["properties"]:Lr,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[c,R],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Lr,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},bl],["type"]:"tree"},Te],["type"]:"tree"},{error:"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}",["type"]:"error"}],["type"]:"tree"},$e],["type"]:"tree"},Ue],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},xl],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"isValidHostLabel",["argv"]:[Ve,!0]}],rules:[{["conditions"]:ze,error:"S3 MRAP does not support dual-stack",["type"]:"error"},{["conditions"]:Sr,error:"S3 MRAP does not support FIPS",["type"]:"error"},{["conditions"]:ds,error:"S3 MRAP does not support S3 Accelerate",["type"]:"error"},{["conditions"]:[{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableMultiRegionAccessPoints"},!0]}],error:"Invalid configuration: Multi-Region Access Point ARNs are disabled.",["type"]:"error"},{["conditions"]:[{["fn"]:"aws.partition",["argv"]:He,["assign"]:"mrapPartition"}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"mrapPartition"},"name"]},{["fn"]:"getAttr",["argv"]:[V,"partition"]}]}],rules:[{endpoint:{["url"]:"https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}",["properties"]:{["authSchemes"]:[{["disableDoubleEncoding"]:!0,name:"sigv4a",["signingName"]:"s3",["signingRegionSet"]:ug}]},["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{error:"Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`",["type"]:"error"}],["type"]:"tree"}],["type"]:"tree"},{error:"Invalid Access Point Name",["type"]:"error"}],["type"]:"tree"},ol],["type"]:"tree"},{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[ye,"s3-outposts"]}],rules:[{["conditions"]:ze,error:"S3 Outposts does not support Dual-stack",["type"]:"error"},{["conditions"]:Sr,error:"S3 Outposts does not support FIPS",["type"]:"error"},{["conditions"]:ds,error:"S3 Outposts does not support S3 Accelerate",["type"]:"error"},{["conditions"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"getAttr",["argv"]:[V,"resourceId[4]"]}]}],error:"Invalid Arn: Outpost Access Point ARN contains sub resources",["type"]:"error"},{["conditions"]:[{["fn"]:"getAttr",["argv"]:tg,["assign"]:"outpostId"}],rules:[{["conditions"]:Af,rules:[Ne,{["conditions"]:We,rules:[{["conditions"]:x,rules:[{["conditions"]:kf,rules:[{["conditions"]:Xe,rules:[{["conditions"]:Ze,rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:rw,["assign"]:"outpostType"}],rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:[V,"resourceId[3]"],["assign"]:"accessPointName"}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"outpostType"},"accesspoint"]}],rules:[{["conditions"]:sr,endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}",["properties"]:nl,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:nl,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{error:"Expected an outpost type `accesspoint`, found {outpostType}",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: expected an access point name",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: Expected a 4-component resource",["type"]:"error"}],["type"]:"tree"},Te],["type"]:"tree"},$e],["type"]:"tree"},Ue],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{error:"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: The Outpost Id was not set",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: No ARN type specified",["type"]:"error"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"substring",["argv"]:[X,0,4,!1],["assign"]:"arnPrefix"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"arnPrefix"},"arn:"]},{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[pl]}]}],error:"Invalid ARN: `{Bucket}` was not a valid ARN",["type"]:"error"},{["conditions"]:[{["fn"]:"booleanEquals",["argv"]:[xg,!0]},pl],error:"Path-style addressing cannot be used with ARN buckets",["type"]:"error"},{["conditions"]:Ge,rules:[{["conditions"]:x,rules:[{["conditions"]:[U],rules:[{["conditions"]:[y,S,N,C],endpoint:{["url"]:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:z,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[y,S,N,E,G],rules:[{endpoint:ul,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[y,S,N,E,F],endpoint:ul,["type"]:"endpoint"},{["conditions"]:[R,S,N,C],endpoint:{["url"]:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:z,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,S,N,E,G],rules:[{endpoint:tl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,S,N,E,F],endpoint:tl,["type"]:"endpoint"},{["conditions"]:[y,S,c,C],endpoint:{["url"]:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:z,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[y,S,c,E,G],rules:[{endpoint:rf,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[y,S,c,E,F],endpoint:rf,["type"]:"endpoint"},{["conditions"]:[R,M,W,c,C],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",["properties"]:z,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,M,W,c,E,G],rules:[{["conditions"]:o,endpoint:Me,["type"]:"endpoint"},{endpoint:Me,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,M,W,c,E,F],endpoint:Me,["type"]:"endpoint"},{["conditions"]:[R,S,c,C],endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:z,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,S,c,E,G],rules:[{["conditions"]:o,endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:v,["headers"]:d},["type"]:"endpoint"},{endpoint:sf,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,S,c,E,F],endpoint:sf,["type"]:"endpoint"}],["type"]:"tree"},{error:"Path-style addressing cannot be used with S3 Accelerate",["type"]:"error"}],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"isSet",["argv"]:[ef]},{["fn"]:"booleanEquals",["argv"]:[ef,!0]}],rules:[{["conditions"]:x,rules:[{["conditions"]:Nf,rules:[ql,jl,{["conditions"]:sr,endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:ve,["headers"]:d},["type"]:"endpoint"},{["conditions"]:Sr,endpoint:{["url"]:"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:ve,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}",["properties"]:ve,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},ws],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[Xl],rules:[{["conditions"]:x,rules:[{["conditions"]:Nf,rules:[{["conditions"]:[N,y,S,C],endpoint:{["url"]:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:z,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[N,y,S,E,G],rules:[{endpoint:af,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[N,y,S,E,F],endpoint:af,["type"]:"endpoint"},{["conditions"]:[N,R,S,C],endpoint:{["url"]:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}",["properties"]:z,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[N,R,S,E,G],rules:[{endpoint:lf,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[N,R,S,E,F],endpoint:lf,["type"]:"endpoint"},{["conditions"]:[c,y,S,C],endpoint:{["url"]:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:z,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[c,y,S,E,G],rules:[{endpoint:ff,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[c,y,S,E,F],endpoint:ff,["type"]:"endpoint"},{["conditions"]:[c,R,M,W,C],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:z,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[c,R,M,W,E,G],rules:[{["conditions"]:o,endpoint:Ce,["type"]:"endpoint"},{endpoint:Ce,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[c,R,M,W,E,F],endpoint:Ce,["type"]:"endpoint"},{["conditions"]:[c,R,S,C],endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}",["properties"]:z,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[c,R,S,E,G],rules:[{["conditions"]:o,endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:d},["type"]:"endpoint"},{endpoint:hf,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[c,R,S,E,F],endpoint:hf,["type"]:"endpoint"}],["type"]:"tree"},ws],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{error:"A region must be set when sending requests to S3.",["type"]:"error"}]},Hf=sw;var Rs=(r,s={})=>{return Gf(Hf,{endpointParams:r,logger:s.logger})};zf.aws=Ff;var Wf=function(r){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"s3",region:r.region},propertiesExtractor:(s,e)=>({signingProperties:{config:s,context:e}})}},Xf=function(r){return{schemeId:"aws.auth#sigv4a",signingProperties:{name:"s3",region:r.region},propertiesExtractor:(s,e)=>({signingProperties:{config:s,context:e}})}},ew=(r)=>async(s,e,a)=>{if(!a)throw new Error("Could not find \`input\` for \`defaultEndpointRuleSetHttpAuthSchemeParametersProvider\`");const l=await r(s,e,a),f=Fr(e)?.commandInstance?.constructor?.getEndpointParameterInstructions;if(!f)throw new Error(`getEndpointParameterInstructions() is not defined on \`${e.commandName}\``);const h=await Kf(a,{getEndpointParameterInstructions:f},s);return Object.assign(l,h)},aw=async(r,s,e)=>{return{operation:Fr(s).operation,region:await zr(r.region)()||(()=>{throw new Error("expected `region` to be configured for `aws.auth#sigv4`")})()}},Lf=ew(aw),lw=(r,s,e)=>{return(l)=>{const h=r(l).properties?.authSchemes;if(!h)return s(l);const m=[];for(let g of h){const{name:w,properties:A={},...I}=g,P=w.toLowerCase();if(w!==P)console.warn(`HttpAuthScheme has been normalized with lowercasing: \`${w}\` to \`${P}\``);let $;if(P==="sigv4a"){$="aws.auth#sigv4a";const jr=h.find((q)=>{const $r=q.name.toLowerCase();return $r!=="sigv4a"&&$r.startsWith("sigv4")});if(!ms.CrtSignerV4&&jr)continue}else if(P.startsWith("sigv4"))$="aws.auth#sigv4";else throw new Error(`Unknown HttpAuthScheme found in \`@smithy.rules#endpointRuleSet\`: \`${P}\``);const D=e[$];if(!D)throw new Error(`Could not find HttpAuthOption create function for \`${$}\``);const Q=D(l);Q.schemeId=$,Q.signingProperties={...Q.signingProperties||{},...I,...A},m.push(Q)}return m}},fw=(r)=>{const s=[];switch(r.operation){default:s.push(Wf(r)),s.push(Xf(r))}return s},Zf=lw(Rs,fw,{"aws.auth#sigv4":Wf,"aws.auth#sigv4a":Xf}),Qf=(r)=>{const s=Is.resolveAwsSdkSigV4Config(r);return{...Is.resolveAwsSdkSigV4AConfig(s)}};var Vf=(r)=>{return{...r,useFipsEndpoint:r.useFipsEndpoint??!1,useDualstackEndpoint:r.useDualstackEndpoint??!1,forcePathStyle:r.forcePathStyle??!1,useAccelerateEndpoint:r.useAccelerateEndpoint??!1,useGlobalEndpoint:r.useGlobalEndpoint??!1,disableMultiregionAccessPoints:r.disableMultiregionAccessPoints??!1,defaultSigningName:"s3"}},cr={ForcePathStyle:{type:"clientContextParams",name:"forcePathStyle"},UseArnRegion:{type:"clientContextParams",name:"useArnRegion"},DisableMultiRegionAccessPoints:{type:"clientContextParams",name:"disableMultiregionAccessPoints"},Accelerate:{type:"clientContextParams",name:"useAccelerateEndpoint"},DisableS3ExpressSessionAuth:{type:"clientContextParams",name:"disableS3ExpressSessionAuth"},UseGlobalEndpoint:{type:"builtInParams",name:"useGlobalEndpoint"},UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}};class Z extends Bf{constructor(r){super(r);Object.setPrototypeOf(this,Z.prototype)}}class Ps extends Z{constructor(r){super({name:"NoSuchUpload",$fault:"client",...r});this.name="NoSuchUpload",this.$fault="client",Object.setPrototypeOf(this,Ps.prototype)}}class ks extends Z{constructor(r){super({name:"ObjectNotInActiveTierError",$fault:"client",...r});this.name="ObjectNotInActiveTierError",this.$fault="client",Object.setPrototypeOf(this,ks.prototype)}}class ys extends Z{constructor(r){super({name:"BucketAlreadyExists",$fault:"client",...r});this.name="BucketAlreadyExists",this.$fault="client",Object.setPrototypeOf(this,ys.prototype)}}class Ns extends Z{constructor(r){super({name:"BucketAlreadyOwnedByYou",$fault:"client",...r});this.name="BucketAlreadyOwnedByYou",this.$fault="client",Object.setPrototypeOf(this,Ns.prototype)}}class Ds extends Z{constructor(r){super({name:"NoSuchBucket",$fault:"client",...r});this.name="NoSuchBucket",this.$fault="client",Object.setPrototypeOf(this,Ds.prototype)}}var Be;(function(r){r.visit=(s,e)=>{if(s.Prefix!==void 0)return e.Prefix(s.Prefix);if(s.Tag!==void 0)return e.Tag(s.Tag);if(s.And!==void 0)return e.And(s.And);return e._(s.$unknown[0],s.$unknown[1])}})(Be||(Be={}));var Je;(function(r){r.visit=(s,e)=>{if(s.Prefix!==void 0)return e.Prefix(s.Prefix);if(s.Tag!==void 0)return e.Tag(s.Tag);if(s.ObjectSizeGreaterThan!==void 0)return e.ObjectSizeGreaterThan(s.ObjectSizeGreaterThan);if(s.ObjectSizeLessThan!==void 0)return e.ObjectSizeLessThan(s.ObjectSizeLessThan);if(s.And!==void 0)return e.And(s.And);return e._(s.$unknown[0],s.$unknown[1])}})(Je||(Je={}));var Ye;(function(r){r.visit=(s,e)=>{if(s.Prefix!==void 0)return e.Prefix(s.Prefix);if(s.Tag!==void 0)return e.Tag(s.Tag);if(s.AccessPointArn!==void 0)return e.AccessPointArn(s.AccessPointArn);if(s.And!==void 0)return e.And(s.And);return e._(s.$unknown[0],s.$unknown[1])}})(Ye||(Ye={}));var _e;(function(r){r.visit=(s,e)=>{if(s.Prefix!==void 0)return e.Prefix(s.Prefix);if(s.Tag!==void 0)return e.Tag(s.Tag);if(s.And!==void 0)return e.And(s.And);return e._(s.$unknown[0],s.$unknown[1])}})(_e||(_e={}));class Ts extends Z{constructor(r){super({name:"InvalidObjectState",$fault:"client",...r});this.name="InvalidObjectState",this.$fault="client",Object.setPrototypeOf(this,Ts.prototype),this.StorageClass=r.StorageClass,this.AccessTier=r.AccessTier}}class $s extends Z{constructor(r){super({name:"NoSuchKey",$fault:"client",...r});this.name="NoSuchKey",this.$fault="client",Object.setPrototypeOf(this,$s.prototype)}}class Us extends Z{constructor(r){super({name:"NotFound",$fault:"client",...r});this.name="NotFound",this.$fault="client",Object.setPrototypeOf(this,Us.prototype)}}var hw=(r)=>({...r,...r.SecretAccessKey&&{SecretAccessKey:_},...r.SessionToken&&{SessionToken:_}}),Jf=(r)=>({...r,...r.Credentials&&{Credentials:hw(r.Credentials)}});var Yf=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:_}}),_f=(r)=>({...r,...r.SSECustomerKey&&{SSECustomerKey:_}});var Er=L(Es(),1);var zs=L(de(),1);class Ms extends Z{constructor(r){super({name:"ObjectAlreadyInActiveTierError",$fault:"client",...r});this.name="ObjectAlreadyInActiveTierError",this.$fault="client",Object.setPrototypeOf(this,Ms.prototype)}}var Of;(function(r){r.visit=(s,e)=>{if(s.Records!==void 0)return e.Records(s.Records);if(s.Stats!==void 0)return e.Stats(s.Stats);if(s.Progress!==void 0)return e.Progress(s.Progress);if(s.Cont!==void 0)return e.Cont(s.Cont);if(s.End!==void 0)return e.End(s.End);return e._(s.$unknown[0],s.$unknown[1])}})(Of||(Of={}));var qf=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:_},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:_}}),jf=(r)=>({...r,...r.SSECustomerKey&&{SSECustomerKey:_},...r.SSEKMSKeyId&&{SSEKMSKeyId:_},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:_}});var fh=async(r,s)=>{const e=zs.requestBuilder(r,s),a=H({},i,{[Ed]:r[iw]});e.bp("/"),e.p("Bucket",()=>r.Bucket,"{Bucket}",!1);const l=H({[Sd]:[,""]});let f;return e.m("GET").h(a).q(l).b(f),e.build()};var hh=async(r,s)=>{const e=zs.requestBuilder(r,s),a=H({},i,{[tw]:r[Fw],[rd]:[()=>i(r[bf]),()=>Wr(r[bf]).toString()],[sd]:r[Kw],[ed]:[()=>i(r[xf]),()=>Wr(r[xf]).toString()],[ld]:r[Qw],[Ks]:r[Gs],[Bh]:r[Th],[Ls]:r[Fs],[Zh]:r[Dh],[Kh]:r[Ih],[Rd]:r[Tw]});e.bp("/{Key+}"),e.p("Bucket",()=>r.Bucket,"{Bucket}",!1),e.p("Key",()=>r.Key,"{Key+}",!0);const l=H({[_h]:[,"GetObject"],[fd]:[,r[Vw]],[hd]:[,r[Bw]],[md]:[,r[Jw]],[gd]:[,r[Yw]],[wd]:[,r[_w]],[dd]:[()=>r.ResponseExpires!==void 0,()=>Wr(r[Ow]).toString()],[cd]:[,r[ga]],[ad]:[()=>r.PartNumber!==void 0,()=>r[Zw].toString()]});let f;return e.m("GET").h(a).q(l).b(f),e.build()};var mh=async(r,s)=>{const e=zs.requestBuilder(r,s),a=H({},i,{[zh]:r[Eh]||"application/octet-stream",[Ad]:r[yw],[Mh]:r[Sh],[vh]:r[ch],[Ch]:r[Ah],[Hh]:r[Rh],[pe]:[()=>i(r[xe]),()=>r[xe].toString()],[nw]:r[$w],[Td]:r[Dw],[wa]:r[ea],[da]:r[aa],[Sa]:r[la],[ca]:r[fa],[ue]:[()=>i(r[oe]),()=>Wr(r[oe]).toString()],[Id]:r[Cw],[Pd]:r[Hw],[kd]:r[zw],[yd]:r[Gw],[Aa]:r[ha],[Qh]:r[Zr],[Yh]:r[Uh],[Ks]:r[Gs],[Bh]:r[Th],[Ls]:r[Fs],[Ra]:r[ma],[Vh]:r[$h],[Qr]:[()=>i(r[Hs]),()=>r[Hs].toString()],[Zh]:r[Dh],[$d]:r[bw],[Wh]:r[yh],[te]:[()=>i(r[ne]),()=>lh(r[ne]).toString()],[Lh]:r[kh],[Kh]:r[Ih],...r.Metadata!==void 0&&Object.keys(r.Metadata).reduce((m,g)=>{return m[`x-amz-meta-${g.toLowerCase()}`]=r.Metadata[g],m},{})});e.bp("/{Key+}"),e.p("Bucket",()=>r.Bucket,"{Bucket}",!1),e.p("Key",()=>r.Key,"{Key+}",!0);const l=H({[_h]:[,"PutObject"]});let f,h;if(r.Body!==void 0)h=r.Body,f=h;return e.m("PUT").h(a).q(l).b(f),e.build()};var gh=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return sa(r,s);const e=H({$metadata:J(r)}),a=Ar(sh(await Er.parseXmlBody(r.body,s)),"body");if(a[je]!=null)e[je]=kw(a[je],s);return e};var wh=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return sa(r,s);const e=H({$metadata:J(r),[Mw]:[()=>r.headers[nf]!==void 0,()=>Cs(r.headers[nf])],[Nw]:[,r.headers[ow]],[Xr]:[,r.headers[Fh]],[jw]:[,r.headers[Nd]],[Lw]:[()=>r.headers[of]!==void 0,()=>Ar(Ur(r.headers[of]))],[xe]:[()=>r.headers[pe]!==void 0,()=>eh(r.headers[pe])],[Ph]:[,r.headers[Gh]],[ea]:[,r.headers[wa]],[aa]:[,r.headers[da]],[la]:[,r.headers[Sa]],[fa]:[,r.headers[ca]],[Ww]:[()=>r.headers[pf]!==void 0,()=>vs(r.headers[pf])],[ga]:[,r.headers[Jh]],[Sh]:[,r.headers[Mh]],[ch]:[,r.headers[vh]],[Ah]:[,r.headers[Ch]],[Rh]:[,r.headers[Hh]],[Uw]:[,r.headers[pw]],[Eh]:[,r.headers[zh]],[oe]:[()=>r.headers[ue]!==void 0,()=>Ar(Ur(r.headers[ue]))],[vw]:[,r.headers[uw]],[Uh]:[,r.headers[Yh]],[ha]:[,r.headers[Aa]],[Gs]:[,r.headers[Ks]],[Fs]:[,r.headers[Ls]],[ma]:[,r.headers[Ra]],[Hs]:[()=>r.headers[Qr]!==void 0,()=>Cs(r.headers[Qr])],[Zr]:[,r.headers[Qh]],[Nh]:[,r.headers[Xh]],[qw]:[,r.headers[Dd]],[Xw]:[()=>r.headers[uf]!==void 0,()=>vs(r.headers[uf])],[xw]:[()=>r.headers[tf]!==void 0,()=>vs(r.headers[tf])],[yh]:[,r.headers[Wh]],[ne]:[()=>r.headers[te]!==void 0,()=>Ar(ra(r.headers[te]))],[kh]:[,r.headers[Lh]],Metadata:[,Object.keys(r.headers).filter((l)=>l.startsWith("x-amz-meta-")).reduce((l,f)=>{return l[f.substring(11)]=r.headers[f],l},{})]}),a=r.body;return s.sdkStreamMixin(a),e.Body=a,e};var dh=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return sa(r,s);const e=H({$metadata:J(r),[Xr]:[,r.headers[Fh]],[Ph]:[,r.headers[Gh]],[ea]:[,r.headers[wa]],[aa]:[,r.headers[da]],[la]:[,r.headers[Sa]],[fa]:[,r.headers[ca]],[ha]:[,r.headers[Aa]],[ga]:[,r.headers[Jh]],[Gs]:[,r.headers[Ks]],[Fs]:[,r.headers[Ls]],[ma]:[,r.headers[Ra]],[$h]:[,r.headers[Vh]],[Hs]:[()=>r.headers[Qr]!==void 0,()=>Cs(r.headers[Qr])],[Nh]:[,r.headers[Xh]]});return await rh(r.body,s),e};var sa=async(r,s)=>{const e={...r,body:await Er.parseXmlErrorBody(r.body,s)},a=Er.loadRestXmlErrorCode(r,e.body);switch(a){case"NoSuchUpload":case"com.amazonaws.s3#NoSuchUpload":throw await Rw(e,s);case"ObjectNotInActiveTierError":case"com.amazonaws.s3#ObjectNotInActiveTierError":throw await Pw(e,s);case"BucketAlreadyExists":case"com.amazonaws.s3#BucketAlreadyExists":throw await ww(e,s);case"BucketAlreadyOwnedByYou":case"com.amazonaws.s3#BucketAlreadyOwnedByYou":throw await dw(e,s);case"NoSuchBucket":case"com.amazonaws.s3#NoSuchBucket":throw await cw(e,s);case"InvalidObjectState":case"com.amazonaws.s3#InvalidObjectState":throw await Sw(e,s);case"NoSuchKey":case"com.amazonaws.s3#NoSuchKey":throw await Aw(e,s);case"NotFound":case"com.amazonaws.s3#NotFound":throw await Ew(e,s);case"ObjectAlreadyInActiveTierError":case"com.amazonaws.s3#ObjectAlreadyInActiveTierError":throw await Iw(e,s);default:const l=e.body;return gw({output:r,parsedBody:l,errorCode:a})}},gw=ah(Z),ww=async(r,s)=>{const e=H({}),a=r.body,l=new ys({$metadata:J(r),...e});return O(l,r.body)},dw=async(r,s)=>{const e=H({}),a=r.body,l=new Ns({$metadata:J(r),...e});return O(l,r.body)},Sw=async(r,s)=>{const e=H({}),a=r.body;if(a[qe]!=null)e[qe]=Rr(a[qe]);if(a[Zr]!=null)e[Zr]=Rr(a[Zr]);const l=new Ts({$metadata:J(r),...e});return O(l,r.body)},cw=async(r,s)=>{const e=H({}),a=r.body,l=new Ds({$metadata:J(r),...e});return O(l,r.body)},Aw=async(r,s)=>{const e=H({}),a=r.body,l=new $s({$metadata:J(r),...e});return O(l,r.body)},Rw=async(r,s)=>{const e=H({}),a=r.body,l=new Ps({$metadata:J(r),...e});return O(l,r.body)},Ew=async(r,s)=>{const e=H({}),a=r.body,l=new Us({$metadata:J(r),...e});return O(l,r.body)},Iw=async(r,s)=>{const e=H({}),a=r.body,l=new Ms({$metadata:J(r),...e});return O(l,r.body)},Pw=async(r,s)=>{const e=H({}),a=r.body,l=new ks({$metadata:J(r),...e});return O(l,r.body)};var kw=(r,s)=>{const e={};if(r[Oe]!=null)e[Oe]=Rr(r[Oe]);if(r[ie]!=null)e[ie]=Rr(r[ie]);if(r[be]!=null)e[be]=Rr(r[be]);if(r[Xr]!=null)e[Xr]=Ar(ra(r[Xr]));return e};var J=(r)=>({httpStatusCode:r.statusCode,requestId:r.headers["x-amzn-requestid"]??r.headers["x-amzn-request-id"]??r.headers["x-amz-request-id"],extendedRequestId:r.headers["x-amz-id-2"],cfId:r.headers["x-amz-cf-id"]});var i=(r)=>r!==void 0&&r!==null&&r!==""&&(!Object.getOwnPropertyNames(r).includes("length")||r.length!=0)&&(!Object.getOwnPropertyNames(r).includes("size")||r.size!=0);var yw="ACL";var Oe="AccessKeyId";var Nw="AcceptRanges";var qe="AccessTier";var Hs="BucketKeyEnabled";var je="Credentials",Dw="ChecksumAlgorithm";var Sh="CacheControl",ea="ChecksumCRC32",aa="ChecksumCRC32C",ch="ContentDisposition";var Ah="ContentEncoding";var Rh="ContentLanguage",xe="ContentLength",Tw="ChecksumMode",$w="ContentMD5";var Uw="ContentRange";var la="ChecksumSHA1",fa="ChecksumSHA256";var Eh="ContentType";var Mw="DeleteMarker";var oe="Expires";var Ih="ExpectedBucketOwner";var vw="ExpiresString";var Ph="ETag";var Xr="Expiration";var Cw="GrantFullControl";var Hw="GrantRead",zw="GrantReadACP";var Gw="GrantWriteACP";var Fw="IfMatch",bf="IfModifiedSince",Kw="IfNoneMatch";var xf="IfUnmodifiedSince";var Lw="LastModified";var Ww="MissingMeta";var kh="ObjectLockLegalHoldStatus",yh="ObjectLockMode";var ne="ObjectLockRetainUntilDate";var Xw="PartsCount";var Zw="PartNumber";var Qw="Range";var Nh="RequestCharged",Vw="ResponseCacheControl",Bw="ResponseContentDisposition",Jw="ResponseContentEncoding",Yw="ResponseContentLanguage",_w="ResponseContentType";var Ow="ResponseExpires";var Dh="RequestPayer";var qw="ReplicationStatus";var jw="Restore";var ie="SecretAccessKey";var Zr="StorageClass";var iw="SessionMode";var ha="ServerSideEncryption";var Gs="SSECustomerAlgorithm",Th="SSECustomerKey",Fs="SSECustomerKeyMD5";var $h="SSEKMSEncryptionContext",ma="SSEKMSKeyId";var be="SessionToken";var bw="Tagging";var xw="TagCount";var ga="VersionId";var Uh="WebsiteRedirectLocation";var ow="accept-ranges";var Mh="cache-control",vh="content-disposition",Ch="content-encoding",Hh="content-language",pe="content-length",nw="content-md5",pw="content-range",zh="content-type";var ue="expires";var Gh="etag",uw="expiresstring";var tw="if-match",rd="if-modified-since";var sd="if-none-match";var ed="if-unmodified-since";var of="last-modified";var ad="partNumber";var ld="range",fd="response-cache-control",hd="response-content-disposition",md="response-content-encoding",gd="response-content-language",wd="response-content-type",dd="response-expires";var Sd="session";var cd="versionId";var Ad="x-amz-acl";var wa="x-amz-checksum-crc32",da="x-amz-checksum-crc32c",Rd="x-amz-checksum-mode";var Sa="x-amz-checksum-sha1",ca="x-amz-checksum-sha256";var Ed="x-amz-create-session-mode";var nf="x-amz-delete-marker",Fh="x-amz-expiration",Kh="x-amz-expected-bucket-owner";var Id="x-amz-grant-full-control",Pd="x-amz-grant-read",kd="x-amz-grant-read-acp";var yd="x-amz-grant-write-acp";var pf="x-amz-missing-meta";var uf="x-amz-mp-parts-count";var Lh="x-amz-object-lock-legal-hold",Wh="x-amz-object-lock-mode",te="x-amz-object-lock-retain-until-date";var Nd="x-amz-restore",Xh="x-amz-request-charged";var Zh="x-amz-request-payer";var Dd="x-amz-replication-status";var Qh="x-amz-storage-class",Td="x-amz-sdk-checksum-algorithm";var Aa="x-amz-server-side-encryption",Ra="x-amz-server-side-encryption-aws-kms-key-id",Qr="x-amz-server-side-encryption-bucket-key-enabled",Vh="x-amz-server-side-encryption-context",Ks="x-amz-server-side-encryption-customer-algorithm",Bh="x-amz-server-side-encryption-customer-key",Ls="x-amz-server-side-encryption-customer-key-md5",$d="x-amz-tagging",tf="x-amz-tagging-count";var Jh="x-amz-version-id",Yh="x-amz-website-redirect-location",_h="x-id";class Ea extends Ir.classBuilder().ep({...cr,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function(r,s,e,a){return[Pr(e,this.serialize,this.deserialize),kr(e,r.getEndpointParameterInstructions()),hs(e)]}).s("AmazonS3","CreateSession",{}).n("S3Client","CreateSessionCommand").f(void 0,Jf).ser(fh).de(gh).build(){}var Oh={name:"@aws-sdk/client-s3",description:"AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native",version:"3.629.0",scripts:{build:"concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'","build:cjs":"node ../../scripts/compilation/inline client-s3","build:es":"tsc -p tsconfig.es.json","build:include:deps":"lerna run --scope $npm_package_name --include-dependencies build","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4",clean:"rimraf ./dist-* && rimraf *.tsbuildinfo","extract:docs":"api-extractor run --local","generate:client":"node ../../scripts/generate-clients/single-service --solo s3",test:"yarn test:unit","test:e2e":"yarn test:e2e:node && yarn test:e2e:browser","test:e2e:browser":"ts-mocha test/**/*.browser.ispec.ts && karma start karma.conf.js","test:e2e:node":"jest --c jest.config.e2e.js","test:unit":"ts-mocha test/unit/**/*.spec.ts"},main:"./dist-cjs/index.js",types:"./dist-types/index.d.ts",module:"./dist-es/index.js",sideEffects:!1,dependencies:{"@aws-crypto/sha1-browser":"5.2.0","@aws-crypto/sha256-browser":"5.2.0","@aws-crypto/sha256-js":"5.2.0","@aws-sdk/client-sso-oidc":"3.629.0","@aws-sdk/client-sts":"3.629.0","@aws-sdk/core":"3.629.0","@aws-sdk/credential-provider-node":"3.629.0","@aws-sdk/middleware-bucket-endpoint":"3.620.0","@aws-sdk/middleware-expect-continue":"3.620.0","@aws-sdk/middleware-flexible-checksums":"3.620.0","@aws-sdk/middleware-host-header":"3.620.0","@aws-sdk/middleware-location-constraint":"3.609.0","@aws-sdk/middleware-logger":"3.609.0","@aws-sdk/middleware-recursion-detection":"3.620.0","@aws-sdk/middleware-sdk-s3":"3.629.0","@aws-sdk/middleware-ssec":"3.609.0","@aws-sdk/middleware-user-agent":"3.620.0","@aws-sdk/region-config-resolver":"3.614.0","@aws-sdk/signature-v4-multi-region":"3.629.0","@aws-sdk/types":"3.609.0","@aws-sdk/util-endpoints":"3.614.0","@aws-sdk/util-user-agent-browser":"3.609.0","@aws-sdk/util-user-agent-node":"3.614.0","@aws-sdk/xml-builder":"3.609.0","@smithy/config-resolver":"^3.0.5","@smithy/core":"^2.3.2","@smithy/eventstream-serde-browser":"^3.0.6","@smithy/eventstream-serde-config-resolver":"^3.0.3","@smithy/eventstream-serde-node":"^3.0.5","@smithy/fetch-http-handler":"^3.2.4","@smithy/hash-blob-browser":"^3.1.2","@smithy/hash-node":"^3.0.3","@smithy/hash-stream-node":"^3.1.2","@smithy/invalid-dependency":"^3.0.3","@smithy/md5-js":"^3.0.3","@smithy/middleware-content-length":"^3.0.5","@smithy/middleware-endpoint":"^3.1.0","@smithy/middleware-retry":"^3.0.14","@smithy/middleware-serde":"^3.0.3","@smithy/middleware-stack":"^3.0.3","@smithy/node-config-provider":"^3.1.4","@smithy/node-http-handler":"^3.1.4","@smithy/protocol-http":"^4.1.0","@smithy/smithy-client":"^3.1.12","@smithy/types":"^3.3.0","@smithy/url-parser":"^3.0.3","@smithy/util-base64":"^3.0.0","@smithy/util-body-length-browser":"^3.0.0","@smithy/util-body-length-node":"^3.0.0","@smithy/util-defaults-mode-browser":"^3.0.14","@smithy/util-defaults-mode-node":"^3.0.14","@smithy/util-endpoints":"^2.0.5","@smithy/util-middleware":"^3.0.3","@smithy/util-retry":"^3.0.3","@smithy/util-stream":"^3.1.3","@smithy/util-utf8":"^3.0.0","@smithy/util-waiter":"^3.1.2",tslib:"^2.6.2"},devDependencies:{"@aws-sdk/signature-v4-crt":"3.629.0","@tsconfig/node16":"16.1.3","@types/chai":"^4.2.11","@types/mocha":"^8.0.4","@types/node":"^16.18.96",concurrently:"7.0.0","downlevel-dts":"0.10.1",rimraf:"3.0.2",typescript:"~4.9.5"},engines:{node:">=16.0.0"},typesVersions:{"<4.0":{"dist-types/*":["dist-types/ts3.4/*"]}},files:["dist-*/**"],author:{name:"AWS SDK for JavaScript Team",url:"https://aws.amazon.com/javascript/"},license:"Apache-2.0",browser:{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.browser"},"react-native":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.native"},homepage:"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3",repository:{type:"git",url:"https://github.com/aws/aws-sdk-js-v3.git",directory:"clients/client-s3"}};var Ys=L(Es(),1);var Md="AWS_S3_USE_ARN_REGION",vd="s3_use_arn_region",qh={environmentVariableSelector:(r)=>t(r,Md,rr.ENV),configFileSelector:(r)=>t(r,vd,rr.CONFIG),default:!1};var jh=L(Zd(),1),{__extends:S3,__assign:c3,__rest:A3,__decorate:R3,__param:E3,__esDecorate:I3,__runInitializers:P3,__propKey:k3,__setFunctionName:y3,__metadata:N3,__awaiter:Ws,__generator:Xs,__exportStar:D3,__createBinding:T3,__values:Zs,__read:$3,__spread:U3,__spreadArrays:M3,__spreadArray:v3,__await:C3,__asyncGenerator:H3,__asyncDelegator:z3,__asyncValues:G3,__makeTemplateObject:F3,__importStar:K3,__importDefault:L3,__classPrivateFieldGet:W3,__classPrivateFieldSet:X3,__classPrivateFieldIn:Z3,__addDisposableResource:Q3,__disposeResources:V3}=jh.default;import{Buffer as ih} from"buffer";var bh=(r,s)=>{if(typeof r!=="string")throw new TypeError(`The "input" argument must be of type string. Received type ${typeof r} (${r})`);return s?ih.from(r,s):ih.from(r)};var Ia=(r)=>{const s=bh(r,"utf8");return new Uint8Array(s.buffer,s.byteOffset,s.byteLength/Uint8Array.BYTES_PER_ELEMENT)};function Vr(r){if(r instanceof Uint8Array)return r;if(typeof r==="string")return Qd(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength/Uint8Array.BYTES_PER_ELEMENT);return new Uint8Array(r)}var Qd=typeof Buffer!=="undefined"&&Buffer.from?function(r){return Buffer.from(r,"utf8")}:Ia;function Br(r){if(typeof r==="string")return r.length===0;return r.byteLength===0}function Jr(r){return new Uint8Array([(r&4278190080)>>24,(r&16711680)>>16,(r&65280)>>8,r&255])}function Yr(r){if(!Uint32Array.from){var s=new Uint32Array(r.length),e=0;while(e<r.length)s[e]=r[e],e+=1;return s}return Uint32Array.from(r)}var Pa=function(){function r(){this.crc32=new er}return r.prototype.update=function(s){if(Br(s))return;this.crc32.update(Vr(s))},r.prototype.digest=function(){return Ws(this,void 0,void 0,function(){return Xs(this,function(s){return[2,Jr(this.crc32.digest())]})})},r.prototype.reset=function(){this.crc32=new er},r}();var er=function(){function r(){this.checksum=4294967295}return r.prototype.update=function(s){var e,a;try{for(var l=Zs(s),f=l.next();!f.done;f=l.next()){var h=f.value;this.checksum=this.checksum>>>8^Bd[(this.checksum^h)&255]}}catch(m){e={error:m}}finally{try{if(f&&!f.done&&(a=l.return))a.call(l)}finally{if(e)throw e.error}}return this},r.prototype.digest=function(){return(this.checksum^4294967295)>>>0},r}();var Vd=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918000,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117],Bd=Yr(Vd);var n=L(gr(),1);var oh=L(gr(),1),xh=function(r){for(let s=0;s<8;s++)r[s]^=255;for(let s=7;s>-1;s--)if(r[s]++,r[s]!==0)break};class yr{constructor(r){if(this.bytes=r,r.byteLength!==8)throw new Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(r){if(r>9223372036854776000||r<-9223372036854776000)throw new Error(`${r} is too large (or, if negative, too small) to represent as an Int64`);const s=new Uint8Array(8);for(let e=7,a=Math.abs(Math.round(r));e>-1&&a>0;e--,a/=256)s[e]=a;if(r<0)xh(s);return new yr(s)}valueOf(){const r=this.bytes.slice(0),s=r[0]&128;if(s)xh(r);return parseInt(oh.toHex(r),16)*(s?-1:1)}toString(){return String(this.valueOf())}}class ka{constructor(r,s){this.toUtf8=r,this.fromUtf8=s}format(r){const s=[];for(let l of Object.keys(r)){const f=this.fromUtf8(l);s.push(Uint8Array.from([f.byteLength]),f,this.formatHeaderValue(r[l]))}const e=new Uint8Array(s.reduce((l,f)=>l+f.byteLength,0));let a=0;for(let l of s)e.set(l,a),a+=l.byteLength;return e}formatHeaderValue(r){switch(r.type){case"boolean":return Uint8Array.from([r.value?0:1]);case"byte":return Uint8Array.from([2,r.value]);case"short":const s=new DataView(new ArrayBuffer(3));return s.setUint8(0,3),s.setInt16(1,r.value,!1),new Uint8Array(s.buffer);case"integer":const e=new DataView(new ArrayBuffer(5));return e.setUint8(0,4),e.setInt32(1,r.value,!1),new Uint8Array(e.buffer);case"long":const a=new Uint8Array(9);return a[0]=5,a.set(r.value.bytes,1),a;case"binary":const l=new DataView(new ArrayBuffer(3+r.value.byteLength));l.setUint8(0,6),l.setUint16(1,r.value.byteLength,!1);const f=new Uint8Array(l.buffer);return f.set(r.value,3),f;case"string":const h=this.fromUtf8(r.value),m=new DataView(new ArrayBuffer(3+h.byteLength));m.setUint8(0,7),m.setUint16(1,h.byteLength,!1);const g=new Uint8Array(m.buffer);return g.set(h,3),g;case"timestamp":const w=new Uint8Array(9);return w[0]=8,w.set(yr.fromNumber(r.value.valueOf()).bytes,1),w;case"uuid":if(!xd.test(r.value))throw new Error(`Invalid UUID received: ${r.value}`);const A=new Uint8Array(17);return A[0]=9,A.set(n.fromHex(r.value.replace(/\-/g,"")),1),A}}parse(r){const s={};let e=0;while(e<r.byteLength){const a=r.getUint8(e++),l=this.toUtf8(new Uint8Array(r.buffer,r.byteOffset+e,a));switch(e+=a,r.getUint8(e++)){case 0:s[l]={type:ph,value:!0};break;case 1:s[l]={type:ph,value:!1};break;case 2:s[l]={type:Jd,value:r.getInt8(e++)};break;case 3:s[l]={type:Yd,value:r.getInt16(e,!1)},e+=2;break;case 4:s[l]={type:_d,value:r.getInt32(e,!1)},e+=4;break;case 5:s[l]={type:Od,value:new yr(new Uint8Array(r.buffer,r.byteOffset+e,8))},e+=8;break;case 6:const f=r.getUint16(e,!1);e+=2,s[l]={type:qd,value:new Uint8Array(r.buffer,r.byteOffset+e,f)},e+=f;break;case 7:const h=r.getUint16(e,!1);e+=2,s[l]={type:jd,value:this.toUtf8(new Uint8Array(r.buffer,r.byteOffset+e,h))},e+=h;break;case 8:s[l]={type:id,value:new Date(new yr(new Uint8Array(r.buffer,r.byteOffset+e,8)).valueOf())},e+=8;break;case 9:const m=new Uint8Array(r.buffer,r.byteOffset+e,16);e+=16,s[l]={type:bd,value:`${n.toHex(m.subarray(0,4))}-${n.toHex(m.subarray(4,6))}-${n.toHex(m.subarray(6,8))}-${n.toHex(m.subarray(8,10))}-${n.toHex(m.subarray(10))}`};break;default:throw new Error("Unrecognized header type tag")}}return s}}var nh;(function(r){r[r.boolTrue=0]="boolTrue",r[r.boolFalse=1]="boolFalse",r[r.byte=2]="byte",r[r.short=3]="short",r[r.integer=4]="integer",r[r.long=5]="long",r[r.byteArray=6]="byteArray",r[r.string=7]="string",r[r.timestamp=8]="timestamp",r[r.uuid=9]="uuid"})(nh||(nh={}));var ph="boolean",Jd="byte",Yd="short",_d="integer",Od="long",qd="binary",jd="string",id="timestamp",bd="uuid",xd=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;function th({byteLength:r,byteOffset:s,buffer:e}){if(r<od)throw new Error("Provided message too short to accommodate event stream message overhead");const a=new DataView(e,s,r),l=a.getUint32(0,!1);if(r!==l)throw new Error("Reported message length does not match received message length");const f=a.getUint32(uh,!1),h=a.getUint32(p,!1),m=a.getUint32(r-ar,!1),g=new er().update(new Uint8Array(e,s,p));if(h!==g.digest())throw new Error(`The prelude checksum specified in the message (${h}) does not match the calculated CRC32 checksum (${g.digest()})`);if(g.update(new Uint8Array(e,s+p,r-(p+ar))),m!==g.digest())throw new Error(`The message checksum (${g.digest()}) did not match the expected value of ${m}`);return{headers:new DataView(e,s+p+ar,f),body:new Uint8Array(e,s+p+ar+f,l-f-(p+ar+ar))}}var uh=4,p=uh*2,ar=4,od=p+ar*2;class ya{constructor(r,s){this.headerMarshaller=new ka(r,s),this.messageBuffer=[],this.isEndOfStream=!1}feed(r){this.messageBuffer.push(this.decode(r))}endOfStream(){this.isEndOfStream=!0}getMessage(){const r=this.messageBuffer.pop(),s=this.isEndOfStream;return{getMessage(){return r},isEndOfStream(){return s}}}getAvailableMessages(){const r=this.messageBuffer;this.messageBuffer=[];const s=this.isEndOfStream;return{getMessages(){return r},isEndOfStream(){return s}}}encode({headers:r,body:s}){const e=this.headerMarshaller.format(r),a=e.byteLength+s.byteLength+16,l=new Uint8Array(a),f=new DataView(l.buffer,l.byteOffset,l.byteLength),h=new er;return f.setUint32(0,a,!1),f.setUint32(4,e.byteLength,!1),f.setUint32(8,h.update(l.subarray(0,8)).digest(),!1),l.set(e,12),l.set(s,e.byteLength+12),f.setUint32(a-4,h.update(l.subarray(8,a-4)).digest(),!1),l}decode(r){const{headers:s,body:e}=th(r);return{headers:this.headerMarshaller.parse(s),body:e}}formatHeaders(r){return this.headerMarshaller.format(r)}}class Na{constructor(r){this.options=r}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let r of this.options.inputStream)yield this.options.decoder.decode(r)}}class Da{constructor(r){this.options=r}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let r of this.options.messageStream)yield this.options.encoder.encode(r);if(this.options.includeEndFrame)yield new Uint8Array(0)}}class Ta{constructor(r){this.options=r}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let r of this.options.messageStream){const s=await this.options.deserializer(r);if(s===void 0)continue;yield s}}}class $a{constructor(r){this.options=r}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let r of this.options.inputStream)yield this.options.serializer(r)}}function rm(r){let s=0,e=0,a=null,l=null;const f=(m)=>{if(typeof m!=="number")throw new Error("Attempted to allocate an event message where size was not a number: "+m);s=m,e=4,a=new Uint8Array(m),new DataView(a.buffer).setUint32(0,m,!1)},h=async function*(){const m=r[Symbol.asyncIterator]();while(!0){const{value:g,done:w}=await m.next();if(w){if(!s)return;else if(s===e)yield a;else throw new Error("Truncated event message received.");return}const A=g.length;let I=0;while(I<A){if(!a){const $=A-I;if(!l)l=new Uint8Array(4);const D=Math.min(4-e,$);if(l.set(g.slice(I,I+D),e),e+=D,I+=D,e<4)break;f(new DataView(l.buffer).getUint32(0,!1)),l=null}const P=Math.min(s-e,A-I);if(a.set(g.slice(I,I+P),e),e+=P,I+=P,s&&s===e)yield a,a=null,s=0,e=0}}};return{[Symbol.asyncIterator]:h}}function sm(r,s){return async function(e){const{value:a}=e.headers[":message-type"];if(a==="error"){const l=new Error(e.headers[":error-message"].value||"UnknownError");throw l.name=e.headers[":error-code"].value,l}else if(a==="exception"){const l=e.headers[":exception-type"].value,f={[l]:e},h=await r(f);if(h.$unknown){const m=new Error(s(e.body));throw m.name=l,m}throw h[l]}else if(a==="event"){const l={[e.headers[":event-type"].value]:e},f=await r(l);if(f.$unknown)return;return f}else throw Error(`Unrecognizable event type: ${e.headers[":event-type"].value}`)}}class Qs{constructor({utf8Encoder:r,utf8Decoder:s}){this.eventStreamCodec=new ya(r,s),this.utfEncoder=r}deserialize(r,s){const e=rm(r);return new Ta({messageStream:new Na({inputStream:e,decoder:this.eventStreamCodec}),deserializer:sm(s,this.utfEncoder)})}serialize(r,s){return new Da({messageStream:new $a({inputStream:r,serializer:s}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}import{Readable as nd} from"stream";async function*em(r){let s=!1,e=!1;const a=new Array;r.on("error",(l)=>{if(!s)s=!0;if(l)throw l}),r.on("data",(l)=>{a.push(l)}),r.on("end",()=>{s=!0});while(!e){const l=await new Promise((f)=>setTimeout(()=>f(a.shift()),0));if(l)yield l;e=s&&a.length===0}}class Ua{constructor({utf8Encoder:r,utf8Decoder:s}){this.universalMarshaller=new Qs({utf8Decoder:s,utf8Encoder:r})}deserialize(r,s){const e=typeof r[Symbol.asyncIterator]==="function"?r:em(r);return this.universalMarshaller.deserialize(e,s)}serialize(r,s){return nd.from(this.universalMarshaller.serialize(r,s))}}var am=(r)=>new Ua(r);import{Writable as pd} from"stream";class Vs extends pd{constructor(r,s){super(s);this.hash=r}_write(r,s,e){try{this.hash.update(B(r))}catch(a){return e(a)}e()}}var lm=(r,s)=>{if(s.readableFlowing!==null)throw new Error("Unable to calculate hash for flowing readable stream");const e=new r,a=new Vs(e);return s.pipe(a),new Promise((l,f)=>{s.on("error",(h)=>{a.end(),f(h)}),a.on("error",f),a.on("finish",()=>{e.digest().then(l).catch(f)})})};var Bs=L(Es(),1);var Sm=(r)=>{return{apiVersion:"2006-03-01",base64Decoder:r?.base64Decoder??fm,base64Encoder:r?.base64Encoder??mm,disableHostPrefix:r?.disableHostPrefix??!1,endpointProvider:r?.endpointProvider??Rs,extensions:r?.extensions??[],getAwsChunkedEncodingStream:r?.getAwsChunkedEncodingStream??gm,httpAuthSchemeProvider:r?.httpAuthSchemeProvider??Zf,httpAuthSchemes:r?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:(s)=>s.getIdentityProvider("aws.auth#sigv4"),signer:new Bs.AwsSdkSigV4Signer},{schemeId:"aws.auth#sigv4a",identityProvider:(s)=>s.getIdentityProvider("aws.auth#sigv4a"),signer:new Bs.AwsSdkSigV4ASigner}],logger:r?.logger??new xr,sdkStreamMixin:r?.sdkStreamMixin??wm,serviceId:r?.serviceId??"S3",signerConstructor:r?.signerConstructor??Ae,signingEscapePath:r?.signingEscapePath??!1,urlParser:r?.urlParser??dm,useArnRegion:r?.useArnRegion??!1,utf8Decoder:r?.utf8Decoder??Cr,utf8Encoder:r?.utf8Encoder??hm}};var Cm=(r)=>{Em(process.version);const s=Mm(r),e=()=>s().then(Rm),a=Sm(r);return Ys.emitWarningIfUnsupportedVersion(process.version),{...a,...r,runtime:"node",defaultsMode:s,bodyLengthChecker:r?.bodyLengthChecker??Um,credentialDefaultProvider:r?.credentialDefaultProvider??vm,defaultUserAgentProvider:r?.defaultUserAgentProvider??$m({serviceId:a.serviceId,clientVersion:Oh.version}),disableS3ExpressSessionAuth:r?.disableS3ExpressSessionAuth??b(ge),eventStreamSerdeProvider:r?.eventStreamSerdeProvider??am,maxAttempts:r?.maxAttempts??b(Dm),md5:r?.md5??Js.bind(null,"md5"),region:r?.region??b(km,ym),requestHandler:cm.create(r?.requestHandler??e),retryMode:r?.retryMode??b({...Tm,default:async()=>(await e()).retryMode||Nm}),sha1:r?.sha1??Js.bind(null,"sha1"),sha256:r?.sha256??Js.bind(null,"sha256"),sigv4aSigningRegionSet:r?.sigv4aSigningRegionSet??b(Ys.NODE_SIGV4A_CONFIG_OPTIONS),streamCollector:r?.streamCollector??Am,streamHasher:r?.streamHasher??lm,useArnRegion:r?.useArnRegion??b(qh),useDualstackEndpoint:r?.useDualstackEndpoint??b(Im),useFipsEndpoint:r?.useFipsEndpoint??b(Pm)}};var Hm=(r)=>{const s=r.httpAuthSchemes;let{httpAuthSchemeProvider:e,credentials:a}=r;return{setHttpAuthScheme(l){const f=s.findIndex((h)=>h.schemeId===l.schemeId);if(f===-1)s.push(l);else s.splice(f,1,l)},httpAuthSchemes(){return s},setHttpAuthSchemeProvider(l){e=l},httpAuthSchemeProvider(){return e},setCredentials(l){a=l},credentials(){return a}}},zm=(r)=>{return{httpAuthSchemes:r.httpAuthSchemes(),httpAuthSchemeProvider:r.httpAuthSchemeProvider(),credentials:r.credentials()}};var _s=(r)=>r,Zm=(r,s)=>{const e={..._s(Wm(r)),..._s(Km(r)),..._s(Gm(r)),..._s(Hm(r))};return s.forEach((a)=>a.configure(e)),{...r,...Xm(e),...Lm(e),...Fm(e),...zm(e)}};class Ma extends Ym{constructor(...[r]){const s=Cm(r||{}),e=Vf(s),a=_m(e),l=bm(a),f=qm(l),h=Qm(f),m=im(h),g=Gl(m),w=Qf(g),A=Ul(w,{session:[()=>this,Ea]}),I=Zm(A,r?.extensions||[]);super(I);this.config=I,this.middlewareStack.use(Om(this.config)),this.middlewareStack.use(xm(this.config)),this.middlewareStack.use(jm(this.config)),this.middlewareStack.use(Vm(this.config)),this.middlewareStack.use(Bm(this.config)),this.middlewareStack.use(Jm(this.config)),this.middlewareStack.use(Nr.getHttpAuthSchemeEndpointRuleSetPlugin(this.config,{httpAuthSchemeParametersProvider:Lf,identityProviderConfigProvider:async(P)=>new Nr.DefaultIdentityProviderConfig({"aws.auth#sigv4":P.credentials,"aws.auth#sigv4a":P.credentials})})),this.middlewareStack.use(Nr.getHttpSigningPlugin(this.config)),this.middlewareStack.use(zl(this.config)),this.middlewareStack.use(Xa(this.config)),this.middlewareStack.use(Ba(this.config)),this.middlewareStack.use(we(this.config)),this.middlewareStack.use(Se(this.config))}destroy(){super.destroy()}}function ud(r){return(s)=>async(e)=>{const a={...e.input},l=[{target:"SSECustomerKey",hash:"SSECustomerKeyMD5"},{target:"CopySourceSSECustomerKey",hash:"CopySourceSSECustomerKeyMD5"}];for(let f of l){const h=a[f.target];if(h){let m;if(typeof h==="string")if(rS(h,r))m=r.base64Decoder(h);else m=r.utf8Decoder(h),a[f.target]=r.base64Encoder(m);else m=ArrayBuffer.isView(h)?new Uint8Array(h.buffer,h.byteOffset,h.byteLength):new Uint8Array(h),a[f.target]=r.base64Encoder(m);const g=new r.md5;g.update(m),a[f.hash]=r.base64Encoder(await g.digest())}}return s({...e,input:a})}}function rS(r,s){if(!/^(?:[A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(r))return!1;try{return s.base64Decoder(r).length===32}catch{return!1}}var td={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0},Os=(r)=>({applyToStack:(s)=>{s.add(ud(r),td)}});var T;(function(r){r.MD5="MD5",r.CRC32="CRC32",r.CRC32C="CRC32C",r.SHA1="SHA1",r.SHA256="SHA256"})(T||(T={}));var om;(function(r){r.HEADER="header",r.TRAILER="trailer"})(om||(om={}));var{MD5:nm,CRC32:pm}=T;var _r=[T.CRC32,T.CRC32C,T.SHA1,T.SHA256],um=[T.CRC32,T.CRC32C,T.SHA1,T.SHA256];var tm=(r,{requestChecksumRequired:s,requestAlgorithmMember:e},a)=>{const l=a?pm:nm;if(!e||!r[e])return s?l:void 0;const f=r[e];if(!_r.includes(f))throw new Error(`The checksum algorithm "${f}" is not supported by the client.`+` Select one of ${_r}.`);return f};var Dr=(r)=>r===T.MD5?"content-md5":`x-amz-checksum-${r.toLowerCase()}`;var rg=(r,s)=>{const e=r.toLowerCase();for(let a of Object.keys(s))if(e===a.toLowerCase())return!0;return!1};var Tr=(r)=>r!==void 0&&typeof r!=="string"&&!ArrayBuffer.isView(r)&&!rs(r);var Ca=function(){function r(){this.crc32c=new va}return r.prototype.update=function(s){if(Br(s))return;this.crc32c.update(Vr(s))},r.prototype.digest=function(){return Ws(this,void 0,void 0,function(){return Xs(this,function(s){return[2,Jr(this.crc32c.digest())]})})},r.prototype.reset=function(){this.crc32c=new va},r}();var va=function(){function r(){this.checksum=4294967295}return r.prototype.update=function(s){var e,a;try{for(var l=Zs(s),f=l.next();!f.done;f=l.next()){var h=f.value;this.checksum=this.checksum>>>8^eS[(this.checksum^h)&255]}}catch(m){e={error:m}}finally{try{if(f&&!f.done&&(a=l.return))a.call(l)}finally{if(e)throw e.error}}return this},r.prototype.digest=function(){return(this.checksum^4294967295)>>>0},r}();var sS=[0,4067132163,3778769143,324072436,3348797215,904991772,648144872,3570033899,2329499855,2024987596,1809983544,2575936315,1296289744,3207089363,2893594407,1578318884,274646895,3795141740,4049975192,51262619,3619967088,632279923,922689671,3298075524,2592579488,1760304291,2075979607,2312596564,1562183871,2943781820,3156637768,1313733451,549293790,3537243613,3246849577,871202090,3878099393,357341890,102525238,4101499445,2858735121,1477399826,1264559846,3107202533,1845379342,2677391885,2361733625,2125378298,820201905,3263744690,3520608582,598981189,4151959214,85089709,373468761,3827903834,3124367742,1213305469,1526817161,2842354314,2107672161,2412447074,2627466902,1861252501,1098587580,3004210879,2688576843,1378610760,2262928035,1955203488,1742404180,2511436119,3416409459,969524848,714683780,3639785095,205050476,4266873199,3976438427,526918040,1361435347,2739821008,2954799652,1114974503,2529119692,1691668175,2005155131,2247081528,3690758684,697762079,986182379,3366744552,476452099,3993867776,4250756596,255256311,1640403810,2477592673,2164122517,1922457750,2791048317,1412925310,1197962378,3037525897,3944729517,427051182,170179418,4165941337,746937522,3740196785,3451792453,1070968646,1905808397,2213795598,2426610938,1657317369,3053634322,1147748369,1463399397,2773627110,4215344322,153784257,444234805,3893493558,1021025245,3467647198,3722505002,797665321,2197175160,1889384571,1674398607,2443626636,1164749927,3070701412,2757221520,1446797203,137323447,4198817972,3910406976,461344835,3484808360,1037989803,781091935,3705997148,2460548119,1623424788,1939049696,2180517859,1429367560,2807687179,3020495871,1180866812,410100952,3927582683,4182430767,186734380,3756733383,763408580,1053836080,3434856499,2722870694,1344288421,1131464017,2971354706,1708204729,2545590714,2229949006,1988219213,680717673,3673779818,3383336350,1002577565,4010310262,493091189,238226049,4233660802,2987750089,1082061258,1395524158,2705686845,1972364758,2279892693,2494862625,1725896226,952904198,3399985413,3656866545,731699698,4283874585,222117402,510512622,3959836397,3280807620,837199303,582374963,3504198960,68661723,4135334616,3844915500,390545967,1230274059,3141532936,2825850620,1510247935,2395924756,2091215383,1878366691,2644384480,3553878443,565732008,854102364,3229815391,340358836,3861050807,4117890627,119113024,1493875044,2875275879,3090270611,1247431312,2660249211,1828433272,2141937292,2378227087,3811616794,291187481,34330861,4032846830,615137029,3603020806,3314634738,939183345,1776939221,2609017814,2295496738,2058945313,2926798794,1545135305,1330124605,3173225534,4084100981,17165430,307568514,3762199681,888469610,3332340585,3587147933,665062302,2042050490,2346497209,2559330125,1793573966,3190661285,1279665062,1595330642,2910671697],eS=Yr(sS);var qs=(r,s)=>({[T.MD5]:s.md5,[T.CRC32]:Pa,[T.CRC32C]:Ca,[T.SHA1]:s.sha1,[T.SHA256]:s.sha256})[r];var js=(r,s)=>{const e=new r;return e.update(B(s||"")),e.digest()};var sg={name:"flexibleChecksumsMiddleware",step:"build",tags:["BODY_CHECKSUM"],override:!0},eg=(r,s)=>(e,a)=>async(l)=>{if(!K.isInstance(l.request))return e(l);const{request:f}=l,{body:h,headers:m}=f,{base64Encoder:g,streamHasher:w}=r,{input:A,requestChecksumRequired:I,requestAlgorithmMember:P}=s,$=tm(A,{requestChecksumRequired:I,requestAlgorithmMember:P},!!a.isS3ExpressBucket);let D=h,Q=m;if($){const q=Dr($),$r=qs($,r);if(Tr(h)){const{getAwsChunkedEncodingStream:ts,bodyLengthChecker:$g}=r;D=ts(h,{base64Encoder:g,bodyLengthChecker:$g,checksumLocationName:q,checksumAlgorithmFn:$r,streamHasher:w}),Q={...m,"content-encoding":m["content-encoding"]?`${m["content-encoding"]},aws-chunked`:"aws-chunked","transfer-encoding":"chunked","x-amz-decoded-content-length":m["content-length"],"x-amz-content-sha256":"STREAMING-UNSIGNED-PAYLOAD-TRAILER","x-amz-trailer":q},delete Q["content-length"]}else if(!rg(q,m)){const ts=await js($r,h);Q={...m,[q]:g(ts)}}}return await e({...l,request:{...f,headers:Q,body:D}})};var is=(r=[])=>{const s=[];for(let e of um){if(!r.includes(e)||!_r.includes(e))continue;s.push(e)}return s};var ag=(r)=>{const s=r.lastIndexOf("-");if(s!==-1){const e=r.slice(s+1);if(!e.startsWith("0")){const a=parseInt(e,10);if(!isNaN(a)&&a>=1&&a<=1e4)return!0}}return!1};import{Transform as aS} from"stream";function Ha(r){const s=new aS;return s.push(r),s.push(null),s}var lg=async(r,{streamHasher:s,checksumAlgorithmFn:e,base64Encoder:a})=>{const l=Tr(r)?s(e,r):js(e,r);return a(await l)};var fg=async(r,{config:s,responseAlgorithms:e})=>{const a=is(e),{body:l,headers:f}=r;for(let h of a){const m=Dr(h),g=f[m];if(g){const w=qs(h,s),{streamHasher:A,base64Encoder:I}=s,P=await lg(l,{streamHasher:A,checksumAlgorithmFn:w,base64Encoder:I});if(P===g)break;throw new Error(`Checksum mismatch: expected "${P}" but received "${g}"`+` in response header "${m}".`)}}};var hg={name:"flexibleChecksumsResponseMiddleware",toMiddleware:"deserializerMiddleware",relation:"after",tags:["BODY_CHECKSUM"],override:!0},mg=(r,s)=>(e,a)=>async(l)=>{if(!K.isInstance(l.request))return e(l);const f=l.input,h=await e(l),m=h.response;let g=void 0;const{requestValidationModeMember:w,responseAlgorithms:A}=s;if(w&&f[w]==="ENABLED"){const{clientName:I,commandName:P}=a;if(I==="S3Client"&&P==="GetObjectCommand"&&is(A).every((Q)=>{const jr=Dr(Q),q=m.headers[jr];return!q||ag(q)}))return h;const D=Tr(m.body);if(D)g=await r.streamCollector(m.body),m.body=Ha(g);if(await fg(h.response,{config:r,responseAlgorithms:A}),D&&g)m.body=Ha(g)}return h};var bs=(r,s)=>({applyToStack:(e)=>{e.add(eg(r,s),sg),e.addRelativeTo(mg(r,s),hg)}});class za extends Ir.classBuilder().ep({...cr,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(r,s,e,a){return[Pr(e,this.serialize,this.deserialize),kr(e,r.getEndpointParameterInstructions()),bs(e,{input:this.input,requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC32","CRC32C","SHA256","SHA1"]}),Os(e),Ja(e)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").f(_f,Yf).ser(hh).de(wh).build(){}class Ga extends Ir.classBuilder().ep({...cr,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(r,s,e,a){return[Pr(e,this.serialize,this.deserialize),kr(e,r.getEndpointParameterInstructions()),bs(e,{input:this.input,requestAlgorithmMember:"ChecksumAlgorithm",requestChecksumRequired:!1}),Za(e),hs(e),Os(e)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").f(jf,qf).ser(mh).de(dh).build(){}import{Buffer as gg} from"buffer";class wg extends lr{client;constructor(...r){super();this.client=new Ma(...r)}async put(r){let s,e,a,l=process.env.BUCKET_NAME;if(r instanceof Blob)s=r,a=`${ir()}.${r.type.split("/")[1].split(";")[0]}`,e=r.type;else s=r.body,a=r.name,e=r.contentType;e=s instanceof Blob||s instanceof File?s.type:void 0;const f=s instanceof gg?s:gg.from(await s.arrayBuffer());return await this.client.send(new Ga({Bucket:l,Key:a,Body:f,ContentType:e})),a}async fetch(r){let s=process.env.BUCKET_NAME,e;if(typeof r==="string")e=r;else s=r.bucket??s,e=r.name;if(!e)throw new Error("Object name has to be specified");const a=await this.client.send(new za({Bucket:s,Key:e}));return new Response(a.Body.transformToWebStream(),{headers:{"Content-Type":a.ContentType,"Content-Length":a.ContentLength.toString(),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":a.LastModified?.toUTCString()||"",ETag:a.ETag||""}})}}class xs{}class os extends xs{constructor(){super(...arguments)}requests=new Map;consume(r,s){if(!this.requests.has(r))this.requests.set(r,{date:Date.now(),count:1});else{const e=this.requests.get(r),a=Date.now();if(a-e.date>=60000)this.requests.set(r,{date:a,count:1});else this.requests.set(r,{date:e.date,count:e.count+1})}return this.requests.get(r).count}}class dg{driver=new os}class Or{}import*as wS from"react-dom/server";var Eg=L(lS(),1);var{defineProperty:fS,getOwnPropertySymbols:Sg}=Object,hS=Object.prototype.hasOwnProperty,mS=Object.prototype.propertyIsEnumerable,cg=(r,s,e)=>(s in r)?fS(r,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[s]=e,Fa=(r,s)=>{for(var e in s||(s={}))if(hS.call(s,e))cg(r,e,s[e]);if(Sg){for(var e of Sg(s))if(mS.call(s,e))cg(r,e,s[e])}return r},gS=((r)=>typeof import.meta.require!=="undefined"?import.meta.require:typeof Proxy!=="undefined"?new Proxy(r,{get:(s,e)=>(typeof import.meta.require!=="undefined"?import.meta.require:s)[e]}):r)(function(r){if(typeof import.meta.require!=="undefined")return import.meta.require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')}),Ka=(r,s,e)=>{return new Promise((a,l)=>{var f=(g)=>{try{m(e.next(g))}catch(w){l(w)}},h=(g)=>{try{m(e.throw(g))}catch(w){l(w)}},m=(g)=>g.done?a(g.value):Promise.resolve(g.value).then(f,h);m((e=e.apply(r,s)).next())})},dS={unformatted:["code","pre","em","strong","span"],indent_inner_html:!0,indent_char:" ",indent_size:2,sep:"\n"},SS=(r,s={})=>{return Eg.default.html(r,Fa(Fa({},dS),s))},cS=[{selector:"img",format:"skip"},{selector:"#__react-email-preview",format:"skip"},{selector:"a",options:{linkBrackets:!1}}];var Ag=new TextDecoder("utf-8"),Rg=(r)=>Ka(void 0,null,function*(){let s="";if("pipeTo"in r){const e=new WritableStream({write(a){s+=Ag.decode(a)}});yield r.pipeTo(e)}else{const{Writable:e}=gS("stream"),a=new e({write(l,f,h){s+=Ag.decode(l),h()}});return r.pipe(a),new Promise((l,f)=>{a.on("error",f),a.on("close",()=>{l(s)})})}return s}),ns=(r,s)=>Ka(void 0,null,function*(){const e=yield import("react-dom/server");let a;if(Object.hasOwn(e,"renderToReadableStream"))a=yield Rg(yield e.renderToReadableStream(r));else yield new Promise((h,m)=>{const g=e.renderToPipeableStream(r,{onAllReady(){return Ka(this,null,function*(){a=yield Rg(g),h()})},onError(w){m(w)}})});if(s==null?void 0:s.plainText)return La(a,Fa({selectors:cS},s.htmlToTextOptions));const f=`${'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'}${a.replace(/<!DOCTYPE.*?>/,"")}`;if(s==null?void 0:s.pretty)return SS(f);return f});var{defineProperty:AS,defineProperties:RS,getOwnPropertyDescriptors:ES,getOwnPropertySymbols:Ig}=Object,IS=Object.prototype.hasOwnProperty,PS=Object.prototype.propertyIsEnumerable,Pg=(r,s,e)=>(s in r)?AS(r,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[s]=e,qr=(r,s)=>{for(var e in s||(s={}))if(IS.call(s,e))Pg(r,e,s[e]);if(Ig){for(var e of Ig(s))if(PS.call(s,e))Pg(r,e,s[e])}return r},kS=(r,s)=>RS(r,ES(s)),k=(r,s,e)=>{return new Promise((a,l)=>{var f=(g)=>{try{m(e.next(g))}catch(w){l(w)}},h=(g)=>{try{m(e.throw(g))}catch(w){l(w)}},m=(g)=>g.done?a(g.value):Promise.resolve(g.value).then(f,h);m((e=e.apply(r,s)).next())})},yS="3.4.0",NS=class{constructor(r){this.resend=r}create(r){return k(this,arguments,function*(s,e={}){return yield this.resend.post("/api-keys",s,e)})}list(){return k(this,null,function*(){return yield this.resend.get("/api-keys")})}remove(r){return k(this,null,function*(){return yield this.resend.delete(`/api-keys/${r}`)})}},DS=class{constructor(r){this.resend=r}create(r){return k(this,arguments,function*(s,e={}){return yield this.resend.post("/audiences",s,e)})}list(){return k(this,null,function*(){return yield this.resend.get("/audiences")})}get(r){return k(this,null,function*(){return yield this.resend.get(`/audiences/${r}`)})}remove(r){return k(this,null,function*(){return yield this.resend.delete(`/audiences/${r}`)})}},TS=class{constructor(r){this.resend=r}send(r){return k(this,arguments,function*(s,e={}){return this.create(s,e)})}create(r){return k(this,arguments,function*(s,e={}){for(let l of s)if(l.react)l.html=yield ns(l.react),delete l.react;return yield this.resend.post("/emails/batch",s,e)})}},$S=class{constructor(r){this.resend=r}create(r){return k(this,arguments,function*(s,e={}){return yield this.resend.post(`/audiences/${s.audienceId}/contacts`,{unsubscribed:s.unsubscribed,email:s.email,first_name:s.firstName,last_name:s.lastName},e)})}list(r){return k(this,null,function*(){return yield this.resend.get(`/audiences/${r.audienceId}/contacts`)})}get(r){return k(this,null,function*(){return yield this.resend.get(`/audiences/${r.audienceId}/contacts/${r.id}`)})}update(r){return k(this,null,function*(){return yield this.resend.patch(`/audiences/${r.audienceId}/contacts/${r.id}`,{unsubscribed:r.unsubscribed,first_name:r.firstName,last_name:r.lastName})})}remove(r){return k(this,null,function*(){return yield this.resend.delete(`/audiences/${r.audienceId}/contacts/${(r==null?void 0:r.email)?r==null?void 0:r.email:r==null?void 0:r.id}`)})}},US=class{constructor(r){this.resend=r}create(r){return k(this,arguments,function*(s,e={}){return yield this.resend.post("/domains",s,e)})}list(){return k(this,null,function*(){return yield this.resend.get("/domains")})}get(r){return k(this,null,function*(){return yield this.resend.get(`/domains/${r}`)})}update(r){return k(this,null,function*(){return yield this.resend.patch(`/domains/${r.id}`,{click_tracking:r.clickTracking,open_tracking:r.openTracking,tls:r.tls})})}remove(r){return k(this,null,function*(){return yield this.resend.delete(`/domains/${r}`)})}verify(r){return k(this,null,function*(){return yield this.resend.post(`/domains/${r}/verify`)})}},MS=class{constructor(r){this.resend=r}send(r){return k(this,arguments,function*(s,e={}){return this.create(s,e)})}create(r){return k(this,arguments,function*(s,e={}){if(s.react)s.html=yield ns(s.react),delete s.react;return yield this.resend.post("/emails",s,e)})}get(r){return k(this,null,function*(){return yield this.resend.get(`/emails/${r}`)})}},kg="https://api.resend.com",yg=`resend-node:${yS}`,vS=typeof process!=="undefined"&&process.env?process.env.RESEND_BASE_URL||kg:kg,CS=typeof process!=="undefined"&&process.env?process.env.RESEND_USER_AGENT||yg:yg,Ng=class{constructor(r){if(this.key=r,this.apiKeys=new NS(this),this.audiences=new DS(this),this.batch=new TS(this),this.contacts=new $S(this),this.domains=new US(this),this.emails=new MS(this),!r){if(typeof process!=="undefined"&&process.env)this.key=process.env.RESEND_API_KEY;if(!this.key)throw new Error('Missing API key. Pass it to the constructor `new Resend("re_123")`')}this.headers=new Headers({Authorization:`Bearer ${this.key}`,"User-Agent":CS,"Content-Type":"application/json"})}fetchRequest(r){return k(this,arguments,function*(s,e={}){try{const a=yield fetch(`${vS}${s}`,e);if(!a.ok)try{const f=yield a.text();return{data:null,error:JSON.parse(f)}}catch(f){if(f instanceof SyntaxError)return{data:null,error:{name:"application_error",message:"Internal server error. We are unable to process your request right now, please try again later."}};const h={message:a.statusText,name:"application_error"};if(f instanceof Error)return{data:null,error:kS(qr({},h),{message:f.message})};return{data:null,error:h}}return{data:yield a.json(),error:null}}catch(a){return{data:null,error:{name:"application_error",message:"Unable to fetch data. The request could not be resolved."}}}})}post(r,s){return k(this,arguments,function*(e,a,l={}){const f=qr({method:"POST",headers:this.headers,body:JSON.stringify(a)},l);return this.fetchRequest(e,f)})}get(r){return k(this,arguments,function*(s,e={}){const a=qr({method:"GET",headers:this.headers},e);return this.fetchRequest(s,a)})}put(r,s){return k(this,arguments,function*(e,a,l={}){const f=qr({method:"PUT",headers:this.headers,body:JSON.stringify(a)},l);return this.fetchRequest(e,f)})}patch(r,s){return k(this,arguments,function*(e,a,l={}){const f=qr({method:"PATCH",headers:this.headers,body:JSON.stringify(a)},l);return this.fetchRequest(e,f)})}delete(r,s){return k(this,null,function*(){const e={method:"DELETE",headers:this.headers,body:JSON.stringify(s)};return this.fetchRequest(r,e)})}};class ps{}class us extends ps{r;constructor(r=process.env.RESEND_API_KEY){super();this.apiKey=r}async send(r){const s=new Ng(this.apiKey),{data:e,error:a}=await s.emails.send({...r});if(a)throw a;if(e)return!0}}class Dg extends Or{constructor(){super(...arguments)}debug=!0;defaultFrom="";driver=new us;boot(){}}class Tg extends Or{constructor(){super(...arguments)}channels={};boot(){}}export{wg as S3Driver,us as ResendDriver,dg as RateLimiterServiceProvider,xs as RateLimiterDriver,os as InMemoryRateLimiter,br as FileSystemDriver,Wa as FileStorageServiceProvider,lr as FileStorageDriver,Dg as EmailServiceProvider,ps as EmailDriver,Tg as BroadcastingServiceProvider};export{Wa as p,Or as q,dg as r,Dg as s,Tg as t};
2
+ import"../chunk-5f01223b8fbe1ed8.js";import{B as L} from"../chunk-24a86f8f5ddc0cbd.js";import{G as $f,H as Vd} from"../chunk-0ba2cc302113ab40.js";import{M as sg} from"../chunk-28694e5e949df0ff.js";import{$ as Se,N as br,O as Zr,P as Kr,Q as $m,R as Dm,S as Um,T as Mm,U as Pg,V as rr,W as sr,X as ef,Y as hl,Z as Cm,_ as de,aa as Re,ba as Ae,ca as Fm,da as ua,ea as ta,fa as rm,ga as sm,ha as zm,ia as Gm,ja as Ee,ka as Dr,la as ym,ma as lm,na as fm,oa as Wm,pa as hm,qa as Km,ra as Ns,sa as em,ta as Ys,ua as am,va as mm,wa as km,xa as Pm} from"../chunk-519593bc19f7cb9f.js";import{$a as mh,Aa as X,Ab as Ye,Ba as as,Ca as Kf,Fa as Ya,Ga as ss,Ha as Ba,Ia as es,Ka as Tm,La as Oa,Ma as qa,Na as _a,Pa as xa,Qa as oa,Ya as Wa,Za as ja,_a as ah,ab as Je,bb as $r,cb as v,eb as cr,hb as kr,ib as Xe,jb as Pr,kb as Qe,lb as Ws,mb as Jr,ob as xl,pb as Lr,qb as Ue,rb as _,sb as ce,tb as na,ub as pa,vb as Em,wb as Im,ya as Rm,yb as G,za as Am} from"../chunk-69b5648fcd0f0a18.js";import{Cb as Ng} from"../chunk-6b18189b2aabf6b7.js";import{Db as yd,Eb as O} from"../chunk-5806220e55ac164c.js";import"../chunk-b4cbb4706a35f5d5.js";import{Gb as gm} from"../chunk-cc7158438e52b9ab.js";import"../chunk-fa61561237819f16.js";class er{}class xr extends er{r;constructor(r=`${process.env.ROOT_DIR}/storage`){super();this.folderPath=r}async put(r){let s,l;if(r instanceof Blob)s=r,l=`${br()}.${r.type.split("/")[1].split(";")[0]}`;else s=r.body,l=r.name;const f=s instanceof Buffer?s:Buffer.from(await s.arrayBuffer()),h=`${this.folderPath}/${l}`;return await Bun.write(h,f),l}async fetch(r){let s=process.env.BUCKET_NAME,l;if(typeof r==="string")l=r;else s=r.bucket??s,l=r.name;if(!l)throw new Error("Object name has to be specified");const f=`${this.folderPath}/${l}`,h=Bun.file(f),e=Bun.file(f).stream(),m=new Date(h.lastModified).toUTCString();return new Response(e,{headers:{"Content-Type":h.type,"Content-Length":String(h.size),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":m}})}}class Df{driver=new xr}function om(r){return(s)=>async(l)=>{const{request:f}=l;if(X.isInstance(f)&&f.body&&r.runtime==="node"){if(r.requestHandler?.constructor?.name!=="FetchHttpHandler")f.headers={...f.headers,Expect:"100-continue"}}return s({...l,request:f})}}var nm={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0},Uf=(r)=>({applyToStack:(s)=>{s.add(om(r),nm)}});var Cr={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},or=Cr.WHEN_SUPPORTED,ns={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},nr=Cr.WHEN_SUPPORTED,U;(function(r){r.MD5="MD5",r.CRC32="CRC32",r.CRC32C="CRC32C",r.SHA1="SHA1",r.SHA256="SHA256"})(U||(U={}));var Mf;(function(r){r.HEADER="header",r.TRAILER="trailer"})(Mf||(Mf={}));var{MD5:Tf,CRC32:Cf}=U;var b;(function(r){r.ENV="env",r.CONFIG="shared config entry"})(b||(b={}));var ar=(r,s,l,f)=>{if(!(s in r))return;const h=r[s].toUpperCase();if(!Object.values(l).includes(h))throw new TypeError(`Cannot load ${f} '${s}'. Expected one of ${Object.values(l)}, got '${r[s]}'.`);return h};var pm="AWS_REQUEST_CHECKSUM_CALCULATION",um="request_checksum_calculation",Ff={environmentVariableSelector:(r)=>ar(r,pm,Cr,b.ENV),configFileSelector:(r)=>ar(r,um,Cr,b.CONFIG),default:or};var tm="AWS_RESPONSE_CHECKSUM_VALIDATION",rg="response_checksum_validation",zf={environmentVariableSelector:(r)=>ar(r,tm,ns,b.ENV),configFileSelector:(r)=>ar(r,rg,ns,b.CONFIG),default:nr};var Fr=[U.CRC32,U.CRC32C,U.SHA1,U.SHA256],Gf=[U.CRC32,U.CRC32C,U.SHA1,U.SHA256];var yf=(r,{requestChecksumRequired:s,requestAlgorithmMember:l},f)=>{const h=f?Cf:Tf;if(!l||!r[l])return s?h:void 0;const e=r[l];if(!Fr.includes(e))throw new Error(`The checksum algorithm "${e}" is not supported by the client.`+` Select one of ${Fr}.`);return e};var mr=(r)=>r===U.MD5?"content-md5":`x-amz-checksum-${r.toLowerCase()}`;var Wf=(r,s)=>{const l=r.toLowerCase();for(let f of Object.keys(s))if(l===f.toLowerCase())return!0;return!1};var gr=(r)=>r!==void 0&&typeof r!=="string"&&!ArrayBuffer.isView(r)&&!Kf(r);var Lf=L(sg(),1),{__extends:y3,__assign:W3,__rest:K3,__decorate:L3,__param:V3,__esDecorate:Z3,__runInitializers:H3,__propKey:v3,__setFunctionName:J3,__metadata:X3,__awaiter:pr,__generator:ur,__exportStar:Q3,__createBinding:c3,__values:tr,__read:Y3,__spread:B3,__spreadArrays:O3,__spreadArray:q3,__await:_3,__asyncGenerator:j3,__asyncDelegator:i3,__asyncValues:b3,__makeTemplateObject:x3,__importStar:o3,__importDefault:n3,__classPrivateFieldGet:p3,__classPrivateFieldSet:u3,__classPrivateFieldIn:t3,__addDisposableResource:rS,__disposeResources:sS}=Lf.default;import{Buffer as Vf} from"buffer";var Zf=(r,s)=>{if(typeof r!=="string")throw new TypeError(`The "input" argument must be of type string. Received type ${typeof r} (${r})`);return s?Vf.from(r,s):Vf.from(r)};var ps=(r)=>{const s=Zf(r,"utf8");return new Uint8Array(s.buffer,s.byteOffset,s.byteLength/Uint8Array.BYTES_PER_ELEMENT)};function zr(r){if(r instanceof Uint8Array)return r;if(typeof r==="string")return lg(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength/Uint8Array.BYTES_PER_ELEMENT);return new Uint8Array(r)}var lg=typeof Buffer!=="undefined"&&Buffer.from?function(r){return Buffer.from(r,"utf8")}:ps;function Gr(r){if(typeof r==="string")return r.length===0;return r.byteLength===0}function yr(r){return new Uint8Array([(r&4278190080)>>24,(r&16711680)>>16,(r&65280)>>8,r&255])}function Wr(r){if(!Uint32Array.from){var s=new Uint32Array(r.length),l=0;while(l<r.length)s[l]=r[l],l+=1;return s}return Uint32Array.from(r)}var us=function(){function r(){this.crc32=new t}return r.prototype.update=function(s){if(Gr(s))return;this.crc32.update(zr(s))},r.prototype.digest=function(){return pr(this,void 0,void 0,function(){return ur(this,function(s){return[2,yr(this.crc32.digest())]})})},r.prototype.reset=function(){this.crc32=new t},r}();var t=function(){function r(){this.checksum=4294967295}return r.prototype.update=function(s){var l,f;try{for(var h=tr(s),e=h.next();!e.done;e=h.next()){var m=e.value;this.checksum=this.checksum>>>8^hg[(this.checksum^m)&255]}}catch(a){l={error:a}}finally{try{if(e&&!e.done&&(f=h.return))f.call(h)}finally{if(l)throw l.error}}return this},r.prototype.digest=function(){return(this.checksum^4294967295)>>>0},r}();var fg=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918000,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117],hg=Wr(fg);var rl=function(){function r(){this.crc32c=new ts}return r.prototype.update=function(s){if(Gr(s))return;this.crc32c.update(zr(s))},r.prototype.digest=function(){return pr(this,void 0,void 0,function(){return ur(this,function(s){return[2,yr(this.crc32c.digest())]})})},r.prototype.reset=function(){this.crc32c=new ts},r}();var ts=function(){function r(){this.checksum=4294967295}return r.prototype.update=function(s){var l,f;try{for(var h=tr(s),e=h.next();!e.done;e=h.next()){var m=e.value;this.checksum=this.checksum>>>8^ag[(this.checksum^m)&255]}}catch(a){l={error:a}}finally{try{if(e&&!e.done&&(f=h.return))f.call(h)}finally{if(l)throw l.error}}return this},r.prototype.digest=function(){return(this.checksum^4294967295)>>>0},r}();var eg=[0,4067132163,3778769143,324072436,3348797215,904991772,648144872,3570033899,2329499855,2024987596,1809983544,2575936315,1296289744,3207089363,2893594407,1578318884,274646895,3795141740,4049975192,51262619,3619967088,632279923,922689671,3298075524,2592579488,1760304291,2075979607,2312596564,1562183871,2943781820,3156637768,1313733451,549293790,3537243613,3246849577,871202090,3878099393,357341890,102525238,4101499445,2858735121,1477399826,1264559846,3107202533,1845379342,2677391885,2361733625,2125378298,820201905,3263744690,3520608582,598981189,4151959214,85089709,373468761,3827903834,3124367742,1213305469,1526817161,2842354314,2107672161,2412447074,2627466902,1861252501,1098587580,3004210879,2688576843,1378610760,2262928035,1955203488,1742404180,2511436119,3416409459,969524848,714683780,3639785095,205050476,4266873199,3976438427,526918040,1361435347,2739821008,2954799652,1114974503,2529119692,1691668175,2005155131,2247081528,3690758684,697762079,986182379,3366744552,476452099,3993867776,4250756596,255256311,1640403810,2477592673,2164122517,1922457750,2791048317,1412925310,1197962378,3037525897,3944729517,427051182,170179418,4165941337,746937522,3740196785,3451792453,1070968646,1905808397,2213795598,2426610938,1657317369,3053634322,1147748369,1463399397,2773627110,4215344322,153784257,444234805,3893493558,1021025245,3467647198,3722505002,797665321,2197175160,1889384571,1674398607,2443626636,1164749927,3070701412,2757221520,1446797203,137323447,4198817972,3910406976,461344835,3484808360,1037989803,781091935,3705997148,2460548119,1623424788,1939049696,2180517859,1429367560,2807687179,3020495871,1180866812,410100952,3927582683,4182430767,186734380,3756733383,763408580,1053836080,3434856499,2722870694,1344288421,1131464017,2971354706,1708204729,2545590714,2229949006,1988219213,680717673,3673779818,3383336350,1002577565,4010310262,493091189,238226049,4233660802,2987750089,1082061258,1395524158,2705686845,1972364758,2279892693,2494862625,1725896226,952904198,3399985413,3656866545,731699698,4283874585,222117402,510512622,3959836397,3280807620,837199303,582374963,3504198960,68661723,4135334616,3844915500,390545967,1230274059,3141532936,2825850620,1510247935,2395924756,2091215383,1878366691,2644384480,3553878443,565732008,854102364,3229815391,340358836,3861050807,4117890627,119113024,1493875044,2875275879,3090270611,1247431312,2660249211,1828433272,2141937292,2378227087,3811616794,291187481,34330861,4032846830,615137029,3603020806,3314634738,939183345,1776939221,2609017814,2295496738,2058945313,2926798794,1545135305,1330124605,3173225534,4084100981,17165430,307568514,3762199681,888469610,3332340585,3587147933,665062302,2042050490,2346497209,2559330125,1793573966,3190661285,1279665062,1595330642,2910671697],ag=Wr(eg);var rs=(r,s)=>({[U.MD5]:s.md5,[U.CRC32]:us,[U.CRC32C]:rl,[U.SHA1]:s.sha1,[U.SHA256]:s.sha256})[r];var ls=(r,s)=>{const l=new r;return l.update(ss(s||"")),l.digest()};var Hf={name:"flexibleChecksumsMiddleware",step:"build",tags:["BODY_CHECKSUM"],override:!0},vf=(r,s)=>(l,f)=>async(h)=>{if(!X.isInstance(h.request))return l(h);const{request:e}=h,{body:m,headers:a}=e,{base64Encoder:g,streamHasher:R}=r,{input:N,requestChecksumRequired:$,requestAlgorithmMember:D}=s,M=yf(N,{requestChecksumRequired:$,requestAlgorithmMember:D},!!f.isS3ExpressBucket);let Q=m,Y=a;if(M){const j=mr(M),Tr=rs(M,r);if(gr(m)){const{getAwsChunkedEncodingStream:os,bodyLengthChecker:xm}=r;Q=os(m,{base64Encoder:g,bodyLengthChecker:xm,checksumLocationName:j,checksumAlgorithmFn:Tr,streamHasher:R}),Y={...a,"content-encoding":a["content-encoding"]?`${a["content-encoding"]},aws-chunked`:"aws-chunked","transfer-encoding":"chunked","x-amz-decoded-content-length":a["content-length"],"x-amz-content-sha256":"STREAMING-UNSIGNED-PAYLOAD-TRAILER","x-amz-trailer":j},delete Y["content-length"]}else if(!Wf(j,a)){const os=await ls(Tr,m);Y={...a,[j]:g(os)}}}return await l({...h,request:{...e,headers:Y,body:Q}})};var fs=(r=[])=>{const s=[];for(let l of Gf){if(!r.includes(l)||!Fr.includes(l))continue;s.push(l)}return s};var Jf=(r)=>{const s=r.lastIndexOf("-");if(s!==-1){const l=r.slice(s+1);if(!l.startsWith("0")){const f=parseInt(l,10);if(!isNaN(f)&&f>=1&&f<=1e4)return!0}}return!1};import{Transform as mg} from"stream";function sl(r){const s=new mg;return s.push(r),s.push(null),s}var Xf=async(r,{streamHasher:s,checksumAlgorithmFn:l,base64Encoder:f})=>{const h=gr(r)?s(l,r):ls(l,r);return f(await h)};var Qf=async(r,{config:s,responseAlgorithms:l})=>{const f=fs(l),{body:h,headers:e}=r;for(let m of f){const a=mr(m),g=e[a];if(g){const R=rs(m,s),{streamHasher:N,base64Encoder:$}=s,D=await Xf(h,{streamHasher:N,checksumAlgorithmFn:R,base64Encoder:$});if(D===g)break;throw new Error(`Checksum mismatch: expected "${D}" but received "${g}"`+` in response header "${a}".`)}}};var cf={name:"flexibleChecksumsResponseMiddleware",toMiddleware:"deserializerMiddleware",relation:"after",tags:["BODY_CHECKSUM"],override:!0},Yf=(r,s)=>(l,f)=>async(h)=>{if(!X.isInstance(h.request))return l(h);const e=h.input,m=await l(h),a=m.response;let g=void 0;const{requestValidationModeMember:R,responseAlgorithms:N}=s;if(R&&e[R]==="ENABLED"){const{clientName:$,commandName:D}=f;if($==="S3Client"&&D==="GetObjectCommand"&&fs(N).every((Y)=>{const ir=mr(Y),j=a.headers[ir];return!j||Jf(j)}))return m;const Q=gr(a.body);if(Q)g=await r.streamCollector(a.body),a.body=sl(g);if(await Qf(m.response,{config:r,responseAlgorithms:N}),Q&&g)a.body=sl(g)}return m};var hs=(r,s)=>({applyToStack:(l)=>{l.add(vf(r,s),Hf),l.addRelativeTo(Yf(r,s),cf)}});var Bf=(r)=>({...r,requestChecksumCalculation:Kr(r.requestChecksumCalculation??or),responseChecksumValidation:Kr(r.responseChecksumValidation??nr)});function wg(){return(r,s)=>async(l)=>{const{request:f}=l;if(X.isInstance(f)){if(!(gg in f.headers))if(typeof s?.logger?.warn==="function"&&!(s.logger instanceof es))s.logger.warn("Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.");else console.warn("Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.")}return r({...l})}}var gg="content-length",dg={step:"finalizeRequest",tags:["CHECK_CONTENT_LENGTH_HEADER"],name:"getCheckContentLengthHeaderPlugin",override:!0},Of=(r)=>({applyToStack:(s)=>{s.add(wg(),dg)}});var qf=(r)=>{return(s,l)=>async(f)=>{const h=await r.region(),e=r.region;let m=()=>{};if(l.__s3RegionRedirect)Object.defineProperty(r,"region",{writable:!1,value:async()=>{return l.__s3RegionRedirect}}),m=()=>Object.defineProperty(r,"region",{writable:!0,value:e});try{const a=await s(f);if(l.__s3RegionRedirect){m();const g=await r.region();if(h!==g)throw new Error("Region was not restored following S3 region redirect.")}return a}catch(a){throw m(),a}}},_f={tags:["REGION_REDIRECT","S3"],name:"regionRedirectEndpointMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"};function Sg(r){return(s,l)=>async(f)=>{try{return await s(f)}catch(h){if(r.followRegionRedirects&&h?.$metadata?.httpStatusCode===301){try{const e=h.$response.headers["x-amz-bucket-region"];l.logger?.debug(`Redirecting from ${await r.region()} to ${e}`),l.__s3RegionRedirect=e}catch(e){throw new Error("Region redirect failed: "+e)}return s(f)}else throw h}}}var Rg={step:"initialize",tags:["REGION_REDIRECT","S3"],name:"regionRedirectMiddleware",override:!0},jf=(r)=>({applyToStack:(s)=>{s.add(Sg(r),Rg),s.addRelativeTo(qf(r),_f)}});var Ag=(r)=>{return(s,l)=>async(f)=>{const h=await s(f),{response:e}=h;if(as.isInstance(e)){if(e.headers.expires){e.headers.expiresstring=e.headers.expires;try{Lr(e.headers.expires)}catch(m){l.logger?.warn(`AWS SDK Warning for ${l.clientName}::${l.commandName} response parsing (${e.headers.expires}): ${m}`),delete e.headers.expires}}}return h}},Eg={tags:["S3"],name:"s3ExpiresMiddleware",override:!0,relation:"after",toMiddleware:"deserializerMiddleware"},bf=(r)=>({applyToStack:(s)=>{s.addRelativeTo(Ag(r),Eg)}});class wr{constructor(r={}){this.data=r,this.lastPurgeTime=Date.now()}get(r){const s=this.data[r];if(!s)return;return s}set(r,s){return this.data[r]=s,s}delete(r){delete this.data[r]}async purgeExpired(){const r=Date.now();if(this.lastPurgeTime+wr.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS>r)return;for(let s in this.data){const l=this.data[s];if(!l.isRefreshing){const f=await l.identity;if(f.expiration){if(f.expiration.getTime()<r)delete this.data[s]}}}}}wr.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS=30000;class dr{constructor(r,s=!1,l=Date.now()){this._identity=r,this.isRefreshing=s,this.accessed=l}get identity(){return this.accessed=Date.now(),this._identity}}class Sr{constructor(r,s=new wr){this.createSessionFn=r,this.cache=s}async getS3ExpressIdentity(r,s){const l=s.Bucket,{cache:f}=this,h=f.get(l);if(h)return h.identity.then((e)=>{if((e.expiration?.getTime()??0)<Date.now())return f.set(l,new dr(this.getIdentity(l))).identity;if((e.expiration?.getTime()??0)<Date.now()+Sr.REFRESH_WINDOW_MS&&!h.isRefreshing)h.isRefreshing=!0,this.getIdentity(l).then((g)=>{f.set(l,new dr(Promise.resolve(g)))});return e});return f.set(l,new dr(this.getIdentity(l))).identity}async getIdentity(r){await this.cache.purgeExpired().catch((f)=>{console.warn("Error while clearing expired entries in S3ExpressIdentityCache: \n"+f)});const s=await this.createSessionFn(r);if(!s.Credentials?.AccessKeyId||!s.Credentials?.SecretAccessKey)throw new Error("s3#createSession response credential missing AccessKeyId or SecretAccessKey.");return{accessKeyId:s.Credentials.AccessKeyId,secretAccessKey:s.Credentials.SecretAccessKey,sessionToken:s.Credentials.SessionToken,expiration:s.Credentials.Expiration?new Date(s.Credentials.Expiration):void 0}}}Sr.REFRESH_WINDOW_MS=60000;var tf=L(Pg(),1);var xf="Directory",of="S3Express",nf="sigv4-s3express",ms="X-Amz-S3session-Token",Vr=ms.toLowerCase(),Ig="AWS_S3_DISABLE_EXPRESS_SESSION_AUTH",kg="s3_disable_express_session_auth",ll={environmentVariableSelector:(r)=>rr(r,Ig,sr.ENV),configFileSelector:(r)=>rr(r,kg,sr.CONFIG),default:!1};var pf=function(r){return{accessKeyId:r.accessKeyId,secretAccessKey:r.secretAccessKey,expiration:r.expiration}},uf=function(r,s){const l=setTimeout(()=>{throw new Error("SignatureV4S3Express credential override was created but not called.")},10),f=r.credentialProvider,h=()=>{return clearTimeout(l),r.credentialProvider=f,Promise.resolve(s)};r.credentialProvider=h};class gs extends tf.SignatureV4{async signWithCredentials(r,s,l){const f=pf(s);r.headers[Vr]=s.sessionToken;const h=this;return uf(h,f),h.signRequest(r,l??{})}async presignWithCredentials(r,s,l){const f=pf(s);return delete r.headers[Vr],r.headers[ms]=s.sessionToken,r.query=r.query??{},r.query[ms]=s.sessionToken,uf(this,f),this.presign(r,l)}}var rh=(r)=>{return(s,l)=>async(f)=>{if(l.endpointV2){const h=l.endpointV2,e=h.properties?.authSchemes?.[0]?.name===nf;if(h.properties?.backend===of||h.properties?.bucketType===xf)l.isS3ExpressBucket=!0;if(e){const a=f.input.Bucket;if(a){const g=await r.s3ExpressIdentityProvider.getS3ExpressIdentity(await r.credentials(),{Bucket:a});if(l.s3ExpressIdentity=g,X.isInstance(f.request)&&g.sessionToken)f.request.headers[Vr]=g.sessionToken}}}return s(f)}},sh={name:"s3ExpressMiddleware",step:"build",tags:["S3","S3_EXPRESS"],override:!0},fl=(r)=>({applyToStack:(s)=>{s.add(rh(r),sh)}});var fh=L(hl(),1);var $g=L(Ng(),1);var lh=async(r,s,l,f)=>{const h=await f.signWithCredentials(l,r,{});if(h.headers["X-Amz-Security-Token"]||h.headers["x-amz-security-token"])throw new Error("X-Amz-Security-Token must not be set for s3-express requests.");return h};var Dg=(r)=>(s)=>{throw s},Ug=(r,s)=>{};var hh=(r)=>(s,l)=>async(f)=>{if(!X.isInstance(f.request))return s(f);const e=Zr(l).selectedHttpAuthScheme;if(!e)throw new Error("No HttpAuthScheme was selected: unable to sign request");const{httpAuthOption:{signingProperties:m={}},identity:a,signer:g}=e;let R;if(l.s3ExpressIdentity)R=await lh(l.s3ExpressIdentity,m,f.request,await r.signer());else R=await g.sign(f.request,a,m);const N=await s({...f,request:R}).catch((g.errorHandler||Dg)(m));return(g.successHandler||Ug)(N.response,m),N},el=(r)=>({applyToStack:(s)=>{s.addRelativeTo(hh(r),fh.httpSigningMiddlewareOptions)}});var eh=(r,{session:s})=>{const[l,f]=s;return{...r,forcePathStyle:r.forcePathStyle??!1,useAccelerateEndpoint:r.useAccelerateEndpoint??!1,disableMultiregionAccessPoints:r.disableMultiregionAccessPoints??!1,followRegionRedirects:r.followRegionRedirects??!1,s3ExpressIdentityProvider:r.s3ExpressIdentityProvider??new Sr(async(h)=>l().send(new f({Bucket:h,SessionMode:"ReadWrite"}))),bucketEndpoint:r.bucketEndpoint??!1}};var Mg={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},Tg=3000,Cg=(r)=>(s,l)=>async(f)=>{const h=await s(f),{response:e}=h;if(!as.isInstance(e))return h;const{statusCode:m,body:a}=e;if(m<200||m>=300)return h;if(!(typeof a?.stream==="function"||typeof a?.pipe==="function"||typeof a?.tee==="function"))return h;let R=a,N=a;if(a&&typeof a==="object"&&!(a instanceof Uint8Array))[R,N]=await ah(a);e.body=N;const $=await Fg(R,{streamCollector:async(M)=>{return mh(M,Tg)}});if(typeof R?.destroy==="function")R.destroy();const D=r.utf8Encoder($.subarray($.length-16));if($.length===0&&Mg[l.commandName]){const M=new Error("S3 aborted request");throw M.name="InternalError",M}if(D&&D.endsWith("</Error>"))e.statusCode=400;return h},Fg=(r=new Uint8Array,s)=>{if(r instanceof Uint8Array)return Promise.resolve(r);return s.streamCollector(r)||Promise.resolve(new Uint8Array)},zg={relation:"after",toMiddleware:"deserializerMiddleware",tags:["THROW_200_EXCEPTIONS","S3"],name:"throw200ExceptionsMiddleware",override:!0},ws=(r)=>({applyToStack:(s)=>{s.addRelativeTo(Cg(r),zg)}});var al=(r)=>typeof r==="string"&&r.indexOf("arn:")===0&&r.split(":").length>=6;function gh(r){return(s,l)=>async(f)=>{if(r.bucketEndpoint){const h=l.endpointV2;if(h){const e=f.input.Bucket;if(typeof e==="string")try{const m=new URL(e);l.endpointV2={...h,url:m}}catch(m){const a=`@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${e} could not be parsed as URL.`;if(l.logger?.constructor?.name==="NoOpLogger")console.warn(a);else l.logger?.warn?.(a);throw m}}}return s(f)}}var wh={name:"bucketEndpointMiddleware",override:!0,relation:"after",toMiddleware:"endpointV2Middleware"};function Gg({bucketEndpoint:r}){return(s)=>async(l)=>{const{input:{Bucket:f}}=l;if(!r&&typeof f==="string"&&!al(f)&&f.indexOf("/")>=0){const h=new Error(`Bucket name shouldn't contain '/', received '${f}'`);throw h.name="InvalidBucketName",h}return s({...l})}}var yg={step:"initialize",tags:["VALIDATE_BUCKET_NAME"],name:"validateBucketNameMiddleware",override:!0},dh=(r)=>({applyToStack:(s)=>{s.add(Gg(r),yg),s.addRelativeTo(gh(r),wh)}});var Mr=L(hl(),1);var Sh=(r)=>({...r,eventStreamMarshaller:r.eventStreamSerdeProvider(r)});var $s=L(Ns(),1);var ds={CrtSignerV4:null};class ml{constructor(r){this.sigv4Signer=new gs(r),this.signerOptions=r}async sign(r,s={}){if(s.signingRegion==="*"){if(this.signerOptions.runtime!=="node")throw new Error("This request requires signing with SigV4Asymmetric algorithm. It's only available in Node.js");return this.getSigv4aSigner().sign(r,s)}return this.sigv4Signer.sign(r,s)}async signWithCredentials(r,s,l={}){if(l.signingRegion==="*"){if(this.signerOptions.runtime!=="node")throw new Error("This request requires signing with SigV4Asymmetric algorithm. It's only available in Node.js");return this.getSigv4aSigner().signWithCredentials(r,s,l)}return this.sigv4Signer.signWithCredentials(r,s,l)}async presign(r,s={}){if(s.signingRegion==="*"){if(this.signerOptions.runtime!=="node")throw new Error("This request requires signing with SigV4Asymmetric algorithm. It's only available in Node.js");return this.getSigv4aSigner().presign(r,s)}return this.sigv4Signer.presign(r,s)}async presignWithCredentials(r,s,l={}){if(l.signingRegion==="*")throw new Error("Method presignWithCredentials is not supported for [signingRegion=*].");return this.sigv4Signer.presignWithCredentials(r,s,l)}getSigv4aSigner(){if(!this.sigv4aSigner){let r=null;try{if(r=ds.CrtSignerV4,typeof r!=="function")throw new Error}catch(s){throw s.message=`${s.message}\n`+'Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. \nYou must also register the package by calling [require("@aws-sdk/signature-v4-crt");] or an ESM equivalent such as [import "@aws-sdk/signature-v4-crt";]. \nFor more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt',s}this.sigv4aSigner=new r({...this.signerOptions,signingAlgorithm:1})}return this.sigv4aSigner}}var Rr={["required"]:!1,["type"]:"String"},Ar={["required"]:!0,default:!1,["type"]:"Boolean"},Hr={["required"]:!1,["type"]:"Boolean"},B={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"Accelerate"},!0]},P={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseFIPS"},!0]},k={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseDualStack"},!0]},C={["fn"]:"isSet",["argv"]:[{["ref"]:"Endpoint"}]},le={["fn"]:"aws.partition",["argv"]:[{["ref"]:"Region"}],["assign"]:"partitionResult"},Rh={["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"partitionResult"},"name"]},"aws-cn"]},Is={["fn"]:"isSet",["argv"]:[{["ref"]:"Bucket"}]},Z={["ref"]:"Bucket"},V={["fn"]:"parseURL",["argv"]:[{["ref"]:"Endpoint"}],["assign"]:"url"},Es={["fn"]:"booleanEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"url"},"isIp"]},!0]},fe={["ref"]:"url"},he={["fn"]:"uriEncode",["argv"]:[Z],["assign"]:"uri_encoded_bucket"},i={["backend"]:"S3Express",["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3express",["signingRegion"]:"{Region}"}]},w={},ee={["fn"]:"aws.isVirtualHostableS3Bucket",["argv"]:[Z,!1]},gl={["error"]:"S3Express bucket name is not a valid virtual hostable name.",["type"]:"error"},ks={["backend"]:"S3Express",["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4-s3express",["signingName"]:"s3express",["signingRegion"]:"{Region}"}]},Ah={["fn"]:"isSet",["argv"]:[{["ref"]:"UseS3ExpressControlEndpoint"}]},Eh={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseS3ExpressControlEndpoint"},!0]},d={["fn"]:"not",["argv"]:[C]},Ih={["error"]:"Unrecognized S3Express bucket name format.",["type"]:"error"},kh={["fn"]:"not",["argv"]:[Is]},Ph={["ref"]:"hardwareType"},Nh={["conditions"]:[d],["error"]:"Expected a endpoint to be specified but no endpoint was found",["type"]:"error"},Ss={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4a",["signingName"]:"s3-outposts",["signingRegionSet"]:["*"]},{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-outposts",["signingRegion"]:"{Region}"}]},wl={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"ForcePathStyle"},!1]},Wg={["ref"]:"ForcePathStyle"},T={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"Accelerate"},!1]},z={["fn"]:"stringEquals",["argv"]:[{["ref"]:"Region"},"aws-global"]},y={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"us-east-1"}]},E={["fn"]:"not",["argv"]:[z]},W={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseGlobalEndpoint"},!0]},$h={["url"]:"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:{["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{Region}"}]},["headers"]:{}},F={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{Region}"}]},K={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseGlobalEndpoint"},!1]},A={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseDualStack"},!1]},Dh={["url"]:"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:{}},S={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseFIPS"},!1]},Uh={["url"]:"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:{}},Mh={["url"]:"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:{}},dl={["fn"]:"booleanEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[fe,"isIp"]},!1]},Sl={["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",["properties"]:F,["headers"]:{}},Ll={["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:F,["headers"]:{}},Th={["endpoint"]:Ll,["type"]:"endpoint"},Rl={["url"]:"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:{}},Ch={["url"]:"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:{}},Rs={["error"]:"Invalid region: region was not a valid DNS name.",["type"]:"error"},J={["ref"]:"bucketArn"},ae={["ref"]:"arnType"},Al={["fn"]:"getAttr",["argv"]:[J,"service"]},Vl={["ref"]:"accessPointName"},Fh={["conditions"]:[k],["error"]:"S3 Object Lambda does not support Dual-stack",["type"]:"error"},zh={["conditions"]:[B],["error"]:"S3 Object Lambda does not support S3 Accelerate",["type"]:"error"},Gh={["conditions"]:[{["fn"]:"isSet",["argv"]:[{["ref"]:"DisableAccessPoints"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableAccessPoints"},!0]}],["error"]:"Access points are not supported for this operation",["type"]:"error"},El={["conditions"]:[{["fn"]:"isSet",["argv"]:[{["ref"]:"UseArnRegion"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseArnRegion"},!1]},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"region"]},"{Region}"]}]}],["error"]:"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`",["type"]:"error"},me={["fn"]:"getAttr",["argv"]:[{["ref"]:"bucketPartition"},"name"]},ge={["fn"]:"getAttr",["argv"]:[J,"accountId"]},Il={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-object-lambda",["signingRegion"]:"{bucketArn#region}"}]},yh={["error"]:"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",["type"]:"error"},kl={["error"]:"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",["type"]:"error"},Pl={["error"]:"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",["type"]:"error"},Nl={["error"]:"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",["type"]:"error"},Wh={["error"]:"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",["type"]:"error"},Kh={["error"]:"Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided",["type"]:"error"},vr={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{bucketArn#region}"}]},Lh={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4a",["signingName"]:"s3-outposts",["signingRegionSet"]:["*"]},{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-outposts",["signingRegion"]:"{bucketArn#region}"}]},Vh={["fn"]:"aws.parseArn",["argv"]:[Z]},Zh={["url"]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:F,["headers"]:{}},Hh={["url"]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:F,["headers"]:{}},vh={["url"]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:F,["headers"]:{}},$l={["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",["properties"]:F,["headers"]:{}},Jh={["url"]:"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:F,["headers"]:{}},Xh={["ref"]:"UseObjectLambdaEndpoint"},Dl={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-object-lambda",["signingRegion"]:"{Region}"}]},Qh={["url"]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:{}},ch={["url"]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:{}},Yh={["url"]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:{}},Ul={["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:F,["headers"]:{}},Bh={["url"]:"https://s3.{Region}.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:{}},Ml=[{["ref"]:"Region"}],Kg=[{["ref"]:"Endpoint"}],Lg=[Z],Tl=[k],As=[B],lr=[C,V],Oh=[{["fn"]:"isSet",["argv"]:[{["ref"]:"DisableS3ExpressSessionAuth"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableS3ExpressSessionAuth"},!0]}],qh=[Es],Cl=[he],Fl=[ee],Er=[P],_h=[{["fn"]:"substring",["argv"]:[Z,6,14,!0],["assign"]:"s3expressAvailabilityZoneId"},{["fn"]:"substring",["argv"]:[Z,14,16,!0],["assign"]:"s3expressAvailabilityZoneDelim"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"s3expressAvailabilityZoneDelim"},"--"]}],jh=[{["conditions"]:[P],["endpoint"]:{["url"]:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:i,["headers"]:{}},["type"]:"endpoint"},{["endpoint"]:{["url"]:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:i,["headers"]:{}},["type"]:"endpoint"}],ih=[{["fn"]:"substring",["argv"]:[Z,6,15,!0],["assign"]:"s3expressAvailabilityZoneId"},{["fn"]:"substring",["argv"]:[Z,15,17,!0],["assign"]:"s3expressAvailabilityZoneDelim"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"s3expressAvailabilityZoneDelim"},"--"]}],bh=[{["conditions"]:[P],["endpoint"]:{["url"]:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:ks,["headers"]:{}},["type"]:"endpoint"},{["endpoint"]:{["url"]:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:ks,["headers"]:{}},["type"]:"endpoint"}],Vg=[Is],xh=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"outpostId"},!1]}],oh=[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"regionPrefix"},"beta"]}],Zg=["*"],x=[le],nh=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"Region"},!1]}],o=[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"Region"},"us-east-1"]}],zl=[{["fn"]:"stringEquals",["argv"]:[ae,"accesspoint"]}],ph=[{["fn"]:"getAttr",["argv"]:[J,"resourceId[1]"],["assign"]:"accessPointName"},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[Vl,""]}]}],Hg=[J,"resourceId[1]"],Gl=[{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"region"]},""]}]}],uh=[{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"resourceId[2]"]}]}]}],vg=[J,"resourceId[2]"],yl=[{["fn"]:"aws.partition",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"region"]}],["assign"]:"bucketPartition"}],th=[{["fn"]:"stringEquals",["argv"]:[me,{["fn"]:"getAttr",["argv"]:[{["ref"]:"partitionResult"},"name"]}]}],Wl=[{["fn"]:"isValidHostLabel",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"region"]},!0]}],Kl=[{["fn"]:"isValidHostLabel",["argv"]:[ge,!1]}],re=[{["fn"]:"isValidHostLabel",["argv"]:[Vl,!1]}],se=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"Region"},!0]}],Jg={version:"1.0",parameters:{Bucket:Rr,Region:Rr,UseFIPS:Ar,UseDualStack:Ar,Endpoint:Rr,ForcePathStyle:Ar,Accelerate:Ar,UseGlobalEndpoint:Ar,UseObjectLambdaEndpoint:Hr,Key:Rr,Prefix:Rr,CopySource:Rr,DisableAccessPoints:Hr,DisableMultiRegionAccessPoints:Ar,UseArnRegion:Hr,UseS3ExpressControlEndpoint:Hr,DisableS3ExpressSessionAuth:Hr},rules:[{["conditions"]:[{["fn"]:"isSet",["argv"]:Ml}],rules:[{["conditions"]:[B,P],error:"Accelerate cannot be used with FIPS",["type"]:"error"},{["conditions"]:[k,C],error:"Cannot set dual-stack in combination with a custom endpoint.",["type"]:"error"},{["conditions"]:[C,P],error:"A custom endpoint cannot be combined with FIPS",["type"]:"error"},{["conditions"]:[C,B],error:"A custom endpoint cannot be combined with S3 Accelerate",["type"]:"error"},{["conditions"]:[P,le,Rh],error:"Partition does not support FIPS",["type"]:"error"},{["conditions"]:[Is,{["fn"]:"substring",["argv"]:[Z,0,6,!0],["assign"]:"bucketSuffix"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"bucketSuffix"},"--x-s3"]}],rules:[{["conditions"]:Tl,error:"S3Express does not support Dual-stack.",["type"]:"error"},{["conditions"]:As,error:"S3Express does not support S3 Accelerate.",["type"]:"error"},{["conditions"]:lr,rules:[{["conditions"]:Oh,rules:[{["conditions"]:qh,rules:[{["conditions"]:Cl,rules:[{endpoint:{["url"]:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",["properties"]:i,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:Fl,rules:[{endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:i,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},gl],["type"]:"tree"},{["conditions"]:qh,rules:[{["conditions"]:Cl,rules:[{endpoint:{["url"]:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",["properties"]:ks,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:Fl,rules:[{endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:ks,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},gl],["type"]:"tree"},{["conditions"]:[Ah,Eh],rules:[{["conditions"]:[he,d],rules:[{["conditions"]:Er,endpoint:{["url"]:"https://s3express-control-fips.{Region}.amazonaws.com/{uri_encoded_bucket}",["properties"]:i,["headers"]:w},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3express-control.{Region}.amazonaws.com/{uri_encoded_bucket}",["properties"]:i,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:Fl,rules:[{["conditions"]:Oh,rules:[{["conditions"]:_h,rules:jh,["type"]:"tree"},{["conditions"]:ih,rules:jh,["type"]:"tree"},Ih],["type"]:"tree"},{["conditions"]:_h,rules:bh,["type"]:"tree"},{["conditions"]:ih,rules:bh,["type"]:"tree"},Ih],["type"]:"tree"},gl],["type"]:"tree"},{["conditions"]:[kh,Ah,Eh],rules:[{["conditions"]:lr,endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:i,["headers"]:w},["type"]:"endpoint"},{["conditions"]:Er,endpoint:{["url"]:"https://s3express-control-fips.{Region}.amazonaws.com",["properties"]:i,["headers"]:w},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3express-control.{Region}.amazonaws.com",["properties"]:i,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[Is,{["fn"]:"substring",["argv"]:[Z,49,50,!0],["assign"]:"hardwareType"},{["fn"]:"substring",["argv"]:[Z,8,12,!0],["assign"]:"regionPrefix"},{["fn"]:"substring",["argv"]:[Z,0,7,!0],["assign"]:"bucketAliasSuffix"},{["fn"]:"substring",["argv"]:[Z,32,49,!0],["assign"]:"outpostId"},{["fn"]:"aws.partition",["argv"]:Ml,["assign"]:"regionPartition"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"bucketAliasSuffix"},"--op-s3"]}],rules:[{["conditions"]:xh,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Ph,"e"]}],rules:[{["conditions"]:oh,rules:[Nh,{["conditions"]:lr,endpoint:{["url"]:"https://{Bucket}.ec2.{url#authority}",["properties"]:Ss,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},{endpoint:{["url"]:"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}",["properties"]:Ss,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Ph,"o"]}],rules:[{["conditions"]:oh,rules:[Nh,{["conditions"]:lr,endpoint:{["url"]:"https://{Bucket}.op-{outpostId}.{url#authority}",["properties"]:Ss,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},{endpoint:{["url"]:"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}",["properties"]:Ss,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},{error:"Unrecognized hardware type: \"Expected hardware type o or e but got {hardwareType}\"",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.",["type"]:"error"}],["type"]:"tree"},{["conditions"]:Vg,rules:[{["conditions"]:[C,{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"parseURL",["argv"]:Kg}]}]}],error:"Custom endpoint `{Endpoint}` was not a valid URI",["type"]:"error"},{["conditions"]:[wl,ee],rules:[{["conditions"]:x,rules:[{["conditions"]:nh,rules:[{["conditions"]:[B,Rh],error:"S3 Accelerate cannot be used in this region",["type"]:"error"},{["conditions"]:[k,P,T,d,z],endpoint:{["url"]:"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[k,P,T,d,E,W],rules:[{endpoint:$h,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[k,P,T,d,E,K],endpoint:$h,["type"]:"endpoint"},{["conditions"]:[A,P,T,d,z],endpoint:{["url"]:"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[A,P,T,d,E,W],rules:[{endpoint:Dh,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[A,P,T,d,E,K],endpoint:Dh,["type"]:"endpoint"},{["conditions"]:[k,S,B,d,z],endpoint:{["url"]:"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[k,S,B,d,E,W],rules:[{endpoint:Uh,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[k,S,B,d,E,K],endpoint:Uh,["type"]:"endpoint"},{["conditions"]:[k,S,T,d,z],endpoint:{["url"]:"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[k,S,T,d,E,W],rules:[{endpoint:Mh,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[k,S,T,d,E,K],endpoint:Mh,["type"]:"endpoint"},{["conditions"]:[A,S,T,C,V,Es,z],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[A,S,T,C,V,dl,z],endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[A,S,T,C,V,Es,E,W],rules:[{["conditions"]:o,endpoint:Sl,["type"]:"endpoint"},{endpoint:Sl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[A,S,T,C,V,dl,E,W],rules:[{["conditions"]:o,endpoint:Ll,["type"]:"endpoint"},Th],["type"]:"tree"},{["conditions"]:[A,S,T,C,V,Es,E,K],endpoint:Sl,["type"]:"endpoint"},{["conditions"]:[A,S,T,C,V,dl,E,K],endpoint:Ll,["type"]:"endpoint"},{["conditions"]:[A,S,B,d,z],endpoint:{["url"]:"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[A,S,B,d,E,W],rules:[{["conditions"]:o,endpoint:Rl,["type"]:"endpoint"},{endpoint:Rl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[A,S,B,d,E,K],endpoint:Rl,["type"]:"endpoint"},{["conditions"]:[A,S,T,d,z],endpoint:{["url"]:"https://{Bucket}.s3.{partitionResult#dnsSuffix}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[A,S,T,d,E,W],rules:[{["conditions"]:o,endpoint:{["url"]:"https://{Bucket}.s3.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:w},["type"]:"endpoint"},{endpoint:Ch,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[A,S,T,d,E,K],endpoint:Ch,["type"]:"endpoint"}],["type"]:"tree"},Rs],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[C,V,{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[fe,"scheme"]},"http"]},{["fn"]:"aws.isVirtualHostableS3Bucket",["argv"]:[Z,!0]},wl,S,A,T],rules:[{["conditions"]:x,rules:[{["conditions"]:nh,rules:[Th],["type"]:"tree"},Rs],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[wl,{["fn"]:"aws.parseArn",["argv"]:Lg,["assign"]:"bucketArn"}],rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:[J,"resourceId[0]"],["assign"]:"arnType"},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[ae,""]}]}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Al,"s3-object-lambda"]}],rules:[{["conditions"]:zl,rules:[{["conditions"]:ph,rules:[Fh,zh,{["conditions"]:Gl,rules:[Gh,{["conditions"]:uh,rules:[El,{["conditions"]:yl,rules:[{["conditions"]:x,rules:[{["conditions"]:th,rules:[{["conditions"]:Wl,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[ge,""]}],error:"Invalid ARN: Missing account id",["type"]:"error"},{["conditions"]:Kl,rules:[{["conditions"]:re,rules:[{["conditions"]:lr,endpoint:{["url"]:"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",["properties"]:Il,["headers"]:w},["type"]:"endpoint"},{["conditions"]:Er,endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Il,["headers"]:w},["type"]:"endpoint"},{endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Il,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},yh],["type"]:"tree"},kl],["type"]:"tree"},Pl],["type"]:"tree"},Nl],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},Wh],["type"]:"tree"},{error:"Invalid ARN: bucket ARN is missing a region",["type"]:"error"}],["type"]:"tree"},Kh],["type"]:"tree"},{error:"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`",["type"]:"error"}],["type"]:"tree"},{["conditions"]:zl,rules:[{["conditions"]:ph,rules:[{["conditions"]:Gl,rules:[{["conditions"]:zl,rules:[{["conditions"]:Gl,rules:[Gh,{["conditions"]:uh,rules:[El,{["conditions"]:yl,rules:[{["conditions"]:x,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[me,"{partitionResult#name}"]}],rules:[{["conditions"]:Wl,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Al,"s3"]}],rules:[{["conditions"]:Kl,rules:[{["conditions"]:re,rules:[{["conditions"]:As,error:"Access Points do not support S3 Accelerate",["type"]:"error"},{["conditions"]:[P,k],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:vr,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[P,A],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:vr,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[S,k],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:vr,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[S,A,C,V],endpoint:{["url"]:"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",["properties"]:vr,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[S,A],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:vr,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},yh],["type"]:"tree"},kl],["type"]:"tree"},{error:"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}",["type"]:"error"}],["type"]:"tree"},Pl],["type"]:"tree"},Nl],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},Wh],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"isValidHostLabel",["argv"]:[Vl,!0]}],rules:[{["conditions"]:Tl,error:"S3 MRAP does not support dual-stack",["type"]:"error"},{["conditions"]:Er,error:"S3 MRAP does not support FIPS",["type"]:"error"},{["conditions"]:As,error:"S3 MRAP does not support S3 Accelerate",["type"]:"error"},{["conditions"]:[{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableMultiRegionAccessPoints"},!0]}],error:"Invalid configuration: Multi-Region Access Point ARNs are disabled.",["type"]:"error"},{["conditions"]:[{["fn"]:"aws.partition",["argv"]:Ml,["assign"]:"mrapPartition"}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"mrapPartition"},"name"]},{["fn"]:"getAttr",["argv"]:[J,"partition"]}]}],rules:[{endpoint:{["url"]:"https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}",["properties"]:{["authSchemes"]:[{["disableDoubleEncoding"]:!0,name:"sigv4a",["signingName"]:"s3",["signingRegionSet"]:Zg}]},["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},{error:"Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`",["type"]:"error"}],["type"]:"tree"}],["type"]:"tree"},{error:"Invalid Access Point Name",["type"]:"error"}],["type"]:"tree"},Kh],["type"]:"tree"},{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Al,"s3-outposts"]}],rules:[{["conditions"]:Tl,error:"S3 Outposts does not support Dual-stack",["type"]:"error"},{["conditions"]:Er,error:"S3 Outposts does not support FIPS",["type"]:"error"},{["conditions"]:As,error:"S3 Outposts does not support S3 Accelerate",["type"]:"error"},{["conditions"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"resourceId[4]"]}]}],error:"Invalid Arn: Outpost Access Point ARN contains sub resources",["type"]:"error"},{["conditions"]:[{["fn"]:"getAttr",["argv"]:Hg,["assign"]:"outpostId"}],rules:[{["conditions"]:xh,rules:[El,{["conditions"]:yl,rules:[{["conditions"]:x,rules:[{["conditions"]:th,rules:[{["conditions"]:Wl,rules:[{["conditions"]:Kl,rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:vg,["assign"]:"outpostType"}],rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:[J,"resourceId[3]"],["assign"]:"accessPointName"}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"outpostType"},"accesspoint"]}],rules:[{["conditions"]:lr,endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}",["properties"]:Lh,["headers"]:w},["type"]:"endpoint"},{endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Lh,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},{error:"Expected an outpost type `accesspoint`, found {outpostType}",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: expected an access point name",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: Expected a 4-component resource",["type"]:"error"}],["type"]:"tree"},kl],["type"]:"tree"},Pl],["type"]:"tree"},Nl],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{error:"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: The Outpost Id was not set",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: No ARN type specified",["type"]:"error"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"substring",["argv"]:[Z,0,4,!1],["assign"]:"arnPrefix"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"arnPrefix"},"arn:"]},{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[Vh]}]}],error:"Invalid ARN: `{Bucket}` was not a valid ARN",["type"]:"error"},{["conditions"]:[{["fn"]:"booleanEquals",["argv"]:[Wg,!0]},Vh],error:"Path-style addressing cannot be used with ARN buckets",["type"]:"error"},{["conditions"]:Cl,rules:[{["conditions"]:x,rules:[{["conditions"]:[T],rules:[{["conditions"]:[k,d,P,z],endpoint:{["url"]:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[k,d,P,E,W],rules:[{endpoint:Zh,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[k,d,P,E,K],endpoint:Zh,["type"]:"endpoint"},{["conditions"]:[A,d,P,z],endpoint:{["url"]:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[A,d,P,E,W],rules:[{endpoint:Hh,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[A,d,P,E,K],endpoint:Hh,["type"]:"endpoint"},{["conditions"]:[k,d,S,z],endpoint:{["url"]:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[k,d,S,E,W],rules:[{endpoint:vh,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[k,d,S,E,K],endpoint:vh,["type"]:"endpoint"},{["conditions"]:[A,C,V,S,z],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[A,C,V,S,E,W],rules:[{["conditions"]:o,endpoint:$l,["type"]:"endpoint"},{endpoint:$l,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[A,C,V,S,E,K],endpoint:$l,["type"]:"endpoint"},{["conditions"]:[A,d,S,z],endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[A,d,S,E,W],rules:[{["conditions"]:o,endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:F,["headers"]:w},["type"]:"endpoint"},{endpoint:Jh,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[A,d,S,E,K],endpoint:Jh,["type"]:"endpoint"}],["type"]:"tree"},{error:"Path-style addressing cannot be used with S3 Accelerate",["type"]:"error"}],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"isSet",["argv"]:[Xh]},{["fn"]:"booleanEquals",["argv"]:[Xh,!0]}],rules:[{["conditions"]:x,rules:[{["conditions"]:se,rules:[Fh,zh,{["conditions"]:lr,endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:Dl,["headers"]:w},["type"]:"endpoint"},{["conditions"]:Er,endpoint:{["url"]:"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:Dl,["headers"]:w},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}",["properties"]:Dl,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},Rs],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[kh],rules:[{["conditions"]:x,rules:[{["conditions"]:se,rules:[{["conditions"]:[P,k,d,z],endpoint:{["url"]:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[P,k,d,E,W],rules:[{endpoint:Qh,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[P,k,d,E,K],endpoint:Qh,["type"]:"endpoint"},{["conditions"]:[P,A,d,z],endpoint:{["url"]:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[P,A,d,E,W],rules:[{endpoint:ch,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[P,A,d,E,K],endpoint:ch,["type"]:"endpoint"},{["conditions"]:[S,k,d,z],endpoint:{["url"]:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[S,k,d,E,W],rules:[{endpoint:Yh,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,k,d,E,K],endpoint:Yh,["type"]:"endpoint"},{["conditions"]:[S,A,C,V,z],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[S,A,C,V,E,W],rules:[{["conditions"]:o,endpoint:Ul,["type"]:"endpoint"},{endpoint:Ul,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,A,C,V,E,K],endpoint:Ul,["type"]:"endpoint"},{["conditions"]:[S,A,d,z],endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}",["properties"]:y,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[S,A,d,E,W],rules:[{["conditions"]:o,endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:w},["type"]:"endpoint"},{endpoint:Bh,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,A,d,E,K],endpoint:Bh,["type"]:"endpoint"}],["type"]:"tree"},Rs],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{error:"A region must be set when sending requests to S3.",["type"]:"error"}]},we=Jg;var Xg=new de({size:50,params:["Accelerate","Bucket","DisableAccessPoints","DisableMultiRegionAccessPoints","DisableS3ExpressSessionAuth","Endpoint","ForcePathStyle","Region","UseArnRegion","UseDualStack","UseFIPS","UseGlobalEndpoint","UseObjectLambdaEndpoint","UseS3ExpressControlEndpoint"]}),Ps=(r,s={})=>{return Xg.get(r,()=>Re(we,{endpointParams:r,logger:s.logger}))};Se.aws=Ae;var ke=function(r){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"s3",region:r.region},propertiesExtractor:(s,l)=>({signingProperties:{config:s,context:l}})}},Pe=function(r){return{schemeId:"aws.auth#sigv4a",signingProperties:{name:"s3",region:r.region},propertiesExtractor:(s,l)=>({signingProperties:{config:s,context:l}})}},Qg=(r)=>async(s,l,f)=>{if(!f)throw new Error("Could not find \`input\` for \`defaultEndpointRuleSetHttpAuthSchemeParametersProvider\`");const h=await r(s,l,f),e=Zr(l)?.commandInstance?.constructor?.getEndpointParameterInstructions;if(!e)throw new Error(`getEndpointParameterInstructions() is not defined on \`${l.commandName}\``);const m=await Ee(f,{getEndpointParameterInstructions:e},s);return Object.assign(h,m)},cg=async(r,s,l)=>{return{operation:Zr(s).operation,region:await Kr(r.region)()||(()=>{throw new Error("expected `region` to be configured for `aws.auth#sigv4`")})()}},Ie=Qg(cg),Yg=(r,s,l)=>{return(h)=>{const m=r(h).properties?.authSchemes;if(!m)return s(h);const a=[];for(let g of m){const{name:R,properties:N={},...$}=g,D=R.toLowerCase();if(R!==D)console.warn(`HttpAuthScheme has been normalized with lowercasing: \`${R}\` to \`${D}\``);let M;if(D==="sigv4a"){M="aws.auth#sigv4a";const ir=m.find((j)=>{const Tr=j.name.toLowerCase();return Tr!=="sigv4a"&&Tr.startsWith("sigv4")});if(!ds.CrtSignerV4&&ir)continue}else if(D.startsWith("sigv4"))M="aws.auth#sigv4";else throw new Error(`Unknown HttpAuthScheme found in \`@smithy.rules#endpointRuleSet\`: \`${D}\``);const Q=l[M];if(!Q)throw new Error(`Could not find HttpAuthOption create function for \`${M}\``);const Y=Q(h);Y.schemeId=M,Y.signingProperties={...Y.signingProperties||{},...$,...N},a.push(Y)}return a}},Bg=(r)=>{const s=[];switch(r.operation){default:s.push(ke(r)),s.push(Pe(r))}return s},Ne=Yg(Ps,Bg,{"aws.auth#sigv4":ke,"aws.auth#sigv4a":Pe}),$e=(r)=>{const s=$s.resolveAwsSdkSigV4Config(r);return{...$s.resolveAwsSdkSigV4AConfig(s)}};var Fa=L(ef(),1);var De=(r)=>{return{...r,useFipsEndpoint:r.useFipsEndpoint??!1,useDualstackEndpoint:r.useDualstackEndpoint??!1,forcePathStyle:r.forcePathStyle??!1,useAccelerateEndpoint:r.useAccelerateEndpoint??!1,useGlobalEndpoint:r.useGlobalEndpoint??!1,disableMultiregionAccessPoints:r.disableMultiregionAccessPoints??!1,defaultSigningName:"s3"}},Ir={ForcePathStyle:{type:"clientContextParams",name:"forcePathStyle"},UseArnRegion:{type:"clientContextParams",name:"useArnRegion"},DisableMultiRegionAccessPoints:{type:"clientContextParams",name:"disableMultiregionAccessPoints"},Accelerate:{type:"clientContextParams",name:"useAccelerateEndpoint"},DisableS3ExpressSessionAuth:{type:"clientContextParams",name:"disableS3ExpressSessionAuth"},UseGlobalEndpoint:{type:"builtInParams",name:"useGlobalEndpoint"},UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}};class H extends Ue{constructor(r){super(r);Object.setPrototypeOf(this,H.prototype)}}class Ds extends H{constructor(r){super({name:"NoSuchUpload",$fault:"client",...r});this.name="NoSuchUpload",this.$fault="client",Object.setPrototypeOf(this,Ds.prototype)}}class Us extends H{constructor(r){super({name:"ObjectNotInActiveTierError",$fault:"client",...r});this.name="ObjectNotInActiveTierError",this.$fault="client",Object.setPrototypeOf(this,Us.prototype)}}class Ms extends H{constructor(r){super({name:"BucketAlreadyExists",$fault:"client",...r});this.name="BucketAlreadyExists",this.$fault="client",Object.setPrototypeOf(this,Ms.prototype)}}class Ts extends H{constructor(r){super({name:"BucketAlreadyOwnedByYou",$fault:"client",...r});this.name="BucketAlreadyOwnedByYou",this.$fault="client",Object.setPrototypeOf(this,Ts.prototype)}}class Cs extends H{constructor(r){super({name:"NoSuchBucket",$fault:"client",...r});this.name="NoSuchBucket",this.$fault="client",Object.setPrototypeOf(this,Cs.prototype)}}var Zl;(function(r){r.visit=(s,l)=>{if(s.Prefix!==void 0)return l.Prefix(s.Prefix);if(s.Tag!==void 0)return l.Tag(s.Tag);if(s.And!==void 0)return l.And(s.And);return l._(s.$unknown[0],s.$unknown[1])}})(Zl||(Zl={}));var Hl;(function(r){r.visit=(s,l)=>{if(s.Prefix!==void 0)return l.Prefix(s.Prefix);if(s.Tag!==void 0)return l.Tag(s.Tag);if(s.ObjectSizeGreaterThan!==void 0)return l.ObjectSizeGreaterThan(s.ObjectSizeGreaterThan);if(s.ObjectSizeLessThan!==void 0)return l.ObjectSizeLessThan(s.ObjectSizeLessThan);if(s.And!==void 0)return l.And(s.And);return l._(s.$unknown[0],s.$unknown[1])}})(Hl||(Hl={}));var vl;(function(r){r.visit=(s,l)=>{if(s.Prefix!==void 0)return l.Prefix(s.Prefix);if(s.Tag!==void 0)return l.Tag(s.Tag);if(s.AccessPointArn!==void 0)return l.AccessPointArn(s.AccessPointArn);if(s.And!==void 0)return l.And(s.And);return l._(s.$unknown[0],s.$unknown[1])}})(vl||(vl={}));var Jl;(function(r){r.visit=(s,l)=>{if(s.Prefix!==void 0)return l.Prefix(s.Prefix);if(s.Tag!==void 0)return l.Tag(s.Tag);if(s.And!==void 0)return l.And(s.And);return l._(s.$unknown[0],s.$unknown[1])}})(Jl||(Jl={}));class Fs extends H{constructor(r){super({name:"InvalidObjectState",$fault:"client",...r});this.name="InvalidObjectState",this.$fault="client",Object.setPrototypeOf(this,Fs.prototype),this.StorageClass=r.StorageClass,this.AccessTier=r.AccessTier}}class zs extends H{constructor(r){super({name:"NoSuchKey",$fault:"client",...r});this.name="NoSuchKey",this.$fault="client",Object.setPrototypeOf(this,zs.prototype)}}class Gs extends H{constructor(r){super({name:"NotFound",$fault:"client",...r});this.name="NotFound",this.$fault="client",Object.setPrototypeOf(this,Gs.prototype)}}var Og=(r)=>({...r,...r.SecretAccessKey&&{SecretAccessKey:v},...r.SessionToken&&{SessionToken:v}}),Me=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:v},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:v},...r.Credentials&&{Credentials:Og(r.Credentials)}}),Te=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:v},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:v}});var Ce=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:v}}),Fe=(r)=>({...r,...r.SSECustomerKey&&{SSECustomerKey:v}});var Nr=L(Ns(),1);var Ks=L(hl(),1);class ys extends H{constructor(r){super({name:"ObjectAlreadyInActiveTierError",$fault:"client",...r});this.name="ObjectAlreadyInActiveTierError",this.$fault="client",Object.setPrototypeOf(this,ys.prototype)}}var ze;(function(r){r.visit=(s,l)=>{if(s.Records!==void 0)return l.Records(s.Records);if(s.Stats!==void 0)return l.Stats(s.Stats);if(s.Progress!==void 0)return l.Progress(s.Progress);if(s.Cont!==void 0)return l.Cont(s.Cont);if(s.End!==void 0)return l.End(s.End);return l._(s.$unknown[0],s.$unknown[1])}})(ze||(ze={}));var Ge=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:v},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:v}}),ye=(r)=>({...r,...r.SSECustomerKey&&{SSECustomerKey:v},...r.SSEKMSKeyId&&{SSEKMSKeyId:v},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:v}});var Be=async(r,s)=>{const l=Ks.requestBuilder(r,s),f=G({},q,{[ow]:r[Gw],[Or]:r[Yr],[qr]:r[Br],[Hs]:r[Zs],[n]:[()=>q(r[fr]),()=>r[fr].toString()]});l.bp("/"),l.p("Bucket",()=>r.Bucket,"{Bucket}",!1);const h=G({[jw]:[,""]});let e;return l.m("GET").h(f).q(h).b(e),l.build()};var Oe=async(r,s)=>{const l=Ks.requestBuilder(r,s),f=G({},q,{[Hw]:r[Aw],[vw]:[()=>q(r[We]),()=>Jr(r[We]).toString()],[Aa]:r[ra],[Jw]:[()=>q(r[Ke]),()=>Jr(r[Ke]).toString()],[Qw]:r[Nw],[vs]:r[Ls],[Ua]:r[ea],[Js]:r[Vs],[$a]:r[ha],[Ia]:r[ue],[xw]:r[hw]});l.bp("/{Key+}"),l.p("Bucket",()=>r.Bucket,"{Bucket}",!1),l.p("Key",()=>r.Key,"{Key+}",!0);const h=G({[Ca]:[,"GetObject"],[cw]:[,r[$w]],[Yw]:[,r[Dw]],[Bw]:[,r[Uw]],[Ow]:[,r[Mw]],[qw]:[,r[Tw]],[_w]:[()=>r.ResponseExpires!==void 0,()=>Jr(r[Cw]).toString()],[iw]:[,r[rf]],[Xw]:[()=>r.PartNumber!==void 0,()=>r[Pw].toString()]});let e;return l.m("GET").h(f).q(h).b(e),l.build()};var qe=async(r,s)=>{const l=Ks.requestBuilder(r,s),f=G({},q,{[Sa]:r[pe]||"application/octet-stream",[bw]:r[sw],[ma]:r[be],[ga]:r[xe],[wa]:r[oe],[da]:r[ne],[jl]:[()=>q(r[Ol]),()=>r[Ol].toString()],[Lw]:r[ew],[ld]:r[fw],[sf]:r[nl],[lf]:r[pl],[ff]:r[ul],[hf]:r[tl],[il]:[()=>q(r[ql]),()=>Jr(r[ql]).toString()],[Aa]:r[ra],[nw]:r[ww],[pw]:r[dw],[uw]:r[Sw],[tw]:r[Rw],[Or]:r[Yr],[Da]:r[Qr],[Ta]:r[aa],[vs]:r[Ls],[Ua]:r[ea],[Js]:r[Vs],[qr]:r[Br],[Hs]:r[Zs],[n]:[()=>q(r[fr]),()=>r[fr].toString()],[$a]:r[ha],[fd]:r[yw],[Pa]:r[la],[bl]:[()=>q(r[_l]),()=>Ye(r[_l]).toString()],[ka]:r[sa],[Ia]:r[ue],...r.Metadata!==void 0&&Object.keys(r.Metadata).reduce((a,g)=>{return a[`x-amz-meta-${g.toLowerCase()}`]=r.Metadata[g],a},{})});l.bp("/{Key+}"),l.p("Bucket",()=>r.Bucket,"{Bucket}",!1),l.p("Key",()=>r.Key,"{Key+}",!0);const h=G({[Ca]:[,"PutObject"]});let e,m;if(r.Body!==void 0)m=r.Body,e=m;return l.m("PUT").h(f).q(h).b(e),l.build()};var _e=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return ol(r,s);const l=G({$metadata:c(r),[Yr]:[,r.headers[Or]],[Br]:[,r.headers[qr]],[Zs]:[,r.headers[Hs]],[fr]:[()=>r.headers[n]!==void 0,()=>cr(r.headers[n])]}),f=kr(Xe(await Nr.parseXmlBody(r.body,s)),"body");if(f[cl]!=null)l[cl]=rw(f[cl],s);return l};var je=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return ol(r,s);const l=G({$metadata:c(r),[mw]:[()=>r.headers[Ve]!==void 0,()=>cr(r.headers[Ve])],[lw]:[,r.headers[Kw]],[Xr]:[,r.headers[Ea]],[zw]:[,r.headers[rd]],[Ew]:[()=>r.headers[Le]!==void 0,()=>kr(Lr(r.headers[Le]))],[Ol]:[()=>r.headers[jl]!==void 0,()=>Qe(r.headers[jl])],[te]:[,r.headers[Ra]],[nl]:[,r.headers[sf]],[pl]:[,r.headers[lf]],[ul]:[,r.headers[ff]],[tl]:[,r.headers[hf]],[Iw]:[()=>r.headers[Ze]!==void 0,()=>Ws(r.headers[Ze])],[rf]:[,r.headers[Ma]],[be]:[,r.headers[ma]],[xe]:[,r.headers[ga]],[oe]:[,r.headers[wa]],[ne]:[,r.headers[da]],[aw]:[,r.headers[Vw]],[pe]:[,r.headers[Sa]],[ql]:[()=>r.headers[il]!==void 0,()=>kr(Lr(r.headers[il]))],[gw]:[,r.headers[Zw]],[aa]:[,r.headers[Ta]],[Yr]:[,r.headers[Or]],[Ls]:[,r.headers[vs]],[Vs]:[,r.headers[Js]],[Br]:[,r.headers[qr]],[fr]:[()=>r.headers[n]!==void 0,()=>cr(r.headers[n])],[Qr]:[,r.headers[Da]],[fa]:[,r.headers[Na]],[Fw]:[,r.headers[sd]],[kw]:[()=>r.headers[He]!==void 0,()=>Ws(r.headers[He])],[Ww]:[()=>r.headers[ve]!==void 0,()=>Ws(r.headers[ve])],[la]:[,r.headers[Pa]],[_l]:[()=>r.headers[bl]!==void 0,()=>kr(xl(r.headers[bl]))],[sa]:[,r.headers[ka]],Metadata:[,Object.keys(r.headers).filter((h)=>h.startsWith("x-amz-meta-")).reduce((h,e)=>{return h[e.substring(11)]=r.headers[e],h},{})]}),f=r.body;return s.sdkStreamMixin(f),l.Body=f,l};var ie=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return ol(r,s);const l=G({$metadata:c(r),[Xr]:[,r.headers[Ea]],[te]:[,r.headers[Ra]],[nl]:[,r.headers[sf]],[pl]:[,r.headers[lf]],[ul]:[,r.headers[ff]],[tl]:[,r.headers[hf]],[Yr]:[,r.headers[Or]],[rf]:[,r.headers[Ma]],[Ls]:[,r.headers[vs]],[Vs]:[,r.headers[Js]],[Br]:[,r.headers[qr]],[Zs]:[,r.headers[Hs]],[fr]:[()=>r.headers[n]!==void 0,()=>cr(r.headers[n])],[fa]:[,r.headers[Na]]});return await Je(r.body,s),l};var ol=async(r,s)=>{const l={...r,body:await Nr.parseXmlErrorBody(r.body,s)},f=Nr.loadRestXmlErrorCode(r,l.body);switch(f){case"NoSuchUpload":case"com.amazonaws.s3#NoSuchUpload":throw await ng(l,s);case"ObjectNotInActiveTierError":case"com.amazonaws.s3#ObjectNotInActiveTierError":throw await tg(l,s);case"BucketAlreadyExists":case"com.amazonaws.s3#BucketAlreadyExists":throw await jg(l,s);case"BucketAlreadyOwnedByYou":case"com.amazonaws.s3#BucketAlreadyOwnedByYou":throw await ig(l,s);case"NoSuchBucket":case"com.amazonaws.s3#NoSuchBucket":throw await xg(l,s);case"InvalidObjectState":case"com.amazonaws.s3#InvalidObjectState":throw await bg(l,s);case"NoSuchKey":case"com.amazonaws.s3#NoSuchKey":throw await og(l,s);case"NotFound":case"com.amazonaws.s3#NotFound":throw await pg(l,s);case"ObjectAlreadyInActiveTierError":case"com.amazonaws.s3#ObjectAlreadyInActiveTierError":throw await ug(l,s);default:const h=l.body;return _g({output:r,parsedBody:h,errorCode:f})}},_g=ce(H),jg=async(r,s)=>{const l=G({}),f=r.body,h=new Ms({$metadata:c(r),...l});return _(h,r.body)},ig=async(r,s)=>{const l=G({}),f=r.body,h=new Ts({$metadata:c(r),...l});return _(h,r.body)},bg=async(r,s)=>{const l=G({}),f=r.body;if(f[Ql]!=null)l[Ql]=Pr(f[Ql]);if(f[Qr]!=null)l[Qr]=Pr(f[Qr]);const h=new Fs({$metadata:c(r),...l});return _(h,r.body)},xg=async(r,s)=>{const l=G({}),f=r.body,h=new Cs({$metadata:c(r),...l});return _(h,r.body)},og=async(r,s)=>{const l=G({}),f=r.body,h=new zs({$metadata:c(r),...l});return _(h,r.body)},ng=async(r,s)=>{const l=G({}),f=r.body,h=new Ds({$metadata:c(r),...l});return _(h,r.body)},pg=async(r,s)=>{const l=G({}),f=r.body,h=new Gs({$metadata:c(r),...l});return _(h,r.body)},ug=async(r,s)=>{const l=G({}),f=r.body,h=new ys({$metadata:c(r),...l});return _(h,r.body)},tg=async(r,s)=>{const l=G({}),f=r.body,h=new Us({$metadata:c(r),...l});return _(h,r.body)};var rw=(r,s)=>{const l={};if(r[Xl]!=null)l[Xl]=Pr(r[Xl]);if(r[Yl]!=null)l[Yl]=Pr(r[Yl]);if(r[Bl]!=null)l[Bl]=Pr(r[Bl]);if(r[Xr]!=null)l[Xr]=kr(xl(r[Xr]));return l};var c=(r)=>({httpStatusCode:r.statusCode,requestId:r.headers["x-amzn-requestid"]??r.headers["x-amzn-request-id"]??r.headers["x-amz-request-id"],extendedRequestId:r.headers["x-amz-id-2"],cfId:r.headers["x-amz-cf-id"]});var q=(r)=>r!==void 0&&r!==null&&r!==""&&(!Object.getOwnPropertyNames(r).includes("length")||r.length!=0)&&(!Object.getOwnPropertyNames(r).includes("size")||r.size!=0);var sw="ACL";var Xl="AccessKeyId";var lw="AcceptRanges";var Ql="AccessTier";var fr="BucketKeyEnabled";var cl="Credentials",fw="ChecksumAlgorithm";var be="CacheControl",nl="ChecksumCRC32",pl="ChecksumCRC32C",xe="ContentDisposition";var oe="ContentEncoding";var ne="ContentLanguage",Ol="ContentLength",hw="ChecksumMode",ew="ContentMD5";var aw="ContentRange";var ul="ChecksumSHA1",tl="ChecksumSHA256";var pe="ContentType";var mw="DeleteMarker";var ql="Expires";var ue="ExpectedBucketOwner";var gw="ExpiresString";var te="ETag";var Xr="Expiration";var ww="GrantFullControl";var dw="GrantRead",Sw="GrantReadACP";var Rw="GrantWriteACP";var Aw="IfMatch",We="IfModifiedSince",ra="IfNoneMatch";var Ke="IfUnmodifiedSince";var Ew="LastModified";var Iw="MissingMeta";var sa="ObjectLockLegalHoldStatus",la="ObjectLockMode";var _l="ObjectLockRetainUntilDate";var kw="PartsCount";var Pw="PartNumber";var Nw="Range";var fa="RequestCharged",$w="ResponseCacheControl",Dw="ResponseContentDisposition",Uw="ResponseContentEncoding",Mw="ResponseContentLanguage",Tw="ResponseContentType";var Cw="ResponseExpires";var ha="RequestPayer";var Fw="ReplicationStatus";var zw="Restore";var Yl="SecretAccessKey";var Qr="StorageClass";var Gw="SessionMode";var Yr="ServerSideEncryption";var Ls="SSECustomerAlgorithm",ea="SSECustomerKey",Vs="SSECustomerKeyMD5";var Zs="SSEKMSEncryptionContext",Br="SSEKMSKeyId";var Bl="SessionToken";var yw="Tagging";var Ww="TagCount";var rf="VersionId";var aa="WebsiteRedirectLocation";var Kw="accept-ranges";var ma="cache-control",ga="content-disposition",wa="content-encoding",da="content-language",jl="content-length",Lw="content-md5",Vw="content-range",Sa="content-type";var il="expires";var Ra="etag",Zw="expiresstring";var Hw="if-match",vw="if-modified-since";var Aa="if-none-match";var Jw="if-unmodified-since";var Le="last-modified";var Xw="partNumber";var Qw="range",cw="response-cache-control",Yw="response-content-disposition",Bw="response-content-encoding",Ow="response-content-language",qw="response-content-type",_w="response-expires";var jw="session";var iw="versionId";var bw="x-amz-acl";var sf="x-amz-checksum-crc32",lf="x-amz-checksum-crc32c",xw="x-amz-checksum-mode";var ff="x-amz-checksum-sha1",hf="x-amz-checksum-sha256";var ow="x-amz-create-session-mode";var Ve="x-amz-delete-marker",Ea="x-amz-expiration",Ia="x-amz-expected-bucket-owner";var nw="x-amz-grant-full-control",pw="x-amz-grant-read",uw="x-amz-grant-read-acp";var tw="x-amz-grant-write-acp";var Ze="x-amz-missing-meta";var He="x-amz-mp-parts-count";var ka="x-amz-object-lock-legal-hold",Pa="x-amz-object-lock-mode",bl="x-amz-object-lock-retain-until-date";var rd="x-amz-restore",Na="x-amz-request-charged";var $a="x-amz-request-payer";var sd="x-amz-replication-status";var Da="x-amz-storage-class",ld="x-amz-sdk-checksum-algorithm";var Or="x-amz-server-side-encryption",qr="x-amz-server-side-encryption-aws-kms-key-id",n="x-amz-server-side-encryption-bucket-key-enabled",Hs="x-amz-server-side-encryption-context",vs="x-amz-server-side-encryption-customer-algorithm",Ua="x-amz-server-side-encryption-customer-key",Js="x-amz-server-side-encryption-customer-key-md5",fd="x-amz-tagging",ve="x-amz-tagging-count";var Ma="x-amz-version-id",Ta="x-amz-website-redirect-location",Ca="x-id";class af extends $r.classBuilder().ep({...Ir,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function(r,s,l,f){return[Fa.getSerdePlugin(l,this.serialize,this.deserialize),Dr(l,r.getEndpointParameterInstructions()),ws(l)]}).s("AmazonS3","CreateSession",{}).n("S3Client","CreateSessionCommand").f(Te,Me).ser(Be).de(_e).build(){}var za={name:"@aws-sdk/client-s3",description:"AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native",version:"3.654.0",scripts:{build:"concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'","build:cjs":"node ../../scripts/compilation/inline client-s3","build:es":"tsc -p tsconfig.es.json","build:include:deps":"lerna run --scope $npm_package_name --include-dependencies build","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4",clean:"rimraf ./dist-* && rimraf *.tsbuildinfo","extract:docs":"api-extractor run --local","generate:client":"node ../../scripts/generate-clients/single-service --solo s3",test:"yarn test:unit","test:e2e":"yarn test:e2e:node && yarn test:e2e:browser","test:e2e:browser":"ts-mocha test/**/*.browser.ispec.ts && karma start karma.conf.js","test:e2e:node":"jest --c jest.config.e2e.js","test:unit":"ts-mocha test/unit/**/*.spec.ts"},main:"./dist-cjs/index.js",types:"./dist-types/index.d.ts",module:"./dist-es/index.js",sideEffects:!1,dependencies:{"@aws-crypto/sha1-browser":"5.2.0","@aws-crypto/sha256-browser":"5.2.0","@aws-crypto/sha256-js":"5.2.0","@aws-sdk/client-sso-oidc":"3.654.0","@aws-sdk/client-sts":"3.654.0","@aws-sdk/core":"3.654.0","@aws-sdk/credential-provider-node":"3.654.0","@aws-sdk/middleware-bucket-endpoint":"3.654.0","@aws-sdk/middleware-expect-continue":"3.654.0","@aws-sdk/middleware-flexible-checksums":"3.654.0","@aws-sdk/middleware-host-header":"3.654.0","@aws-sdk/middleware-location-constraint":"3.654.0","@aws-sdk/middleware-logger":"3.654.0","@aws-sdk/middleware-recursion-detection":"3.654.0","@aws-sdk/middleware-sdk-s3":"3.654.0","@aws-sdk/middleware-ssec":"3.654.0","@aws-sdk/middleware-user-agent":"3.654.0","@aws-sdk/region-config-resolver":"3.654.0","@aws-sdk/signature-v4-multi-region":"3.654.0","@aws-sdk/types":"3.654.0","@aws-sdk/util-endpoints":"3.654.0","@aws-sdk/util-user-agent-browser":"3.654.0","@aws-sdk/util-user-agent-node":"3.654.0","@aws-sdk/xml-builder":"3.654.0","@smithy/config-resolver":"^3.0.8","@smithy/core":"^2.4.3","@smithy/eventstream-serde-browser":"^3.0.9","@smithy/eventstream-serde-config-resolver":"^3.0.6","@smithy/eventstream-serde-node":"^3.0.8","@smithy/fetch-http-handler":"^3.2.7","@smithy/hash-blob-browser":"^3.1.5","@smithy/hash-node":"^3.0.6","@smithy/hash-stream-node":"^3.1.5","@smithy/invalid-dependency":"^3.0.6","@smithy/md5-js":"^3.0.6","@smithy/middleware-content-length":"^3.0.8","@smithy/middleware-endpoint":"^3.1.3","@smithy/middleware-retry":"^3.0.18","@smithy/middleware-serde":"^3.0.6","@smithy/middleware-stack":"^3.0.6","@smithy/node-config-provider":"^3.1.7","@smithy/node-http-handler":"^3.2.2","@smithy/protocol-http":"^4.1.3","@smithy/smithy-client":"^3.3.2","@smithy/types":"^3.4.2","@smithy/url-parser":"^3.0.6","@smithy/util-base64":"^3.0.0","@smithy/util-body-length-browser":"^3.0.0","@smithy/util-body-length-node":"^3.0.0","@smithy/util-defaults-mode-browser":"^3.0.18","@smithy/util-defaults-mode-node":"^3.0.18","@smithy/util-endpoints":"^2.1.2","@smithy/util-middleware":"^3.0.6","@smithy/util-retry":"^3.0.6","@smithy/util-stream":"^3.1.6","@smithy/util-utf8":"^3.0.0","@smithy/util-waiter":"^3.1.5",tslib:"^2.6.2"},devDependencies:{"@aws-sdk/signature-v4-crt":"3.654.0","@tsconfig/node16":"16.1.3","@types/chai":"^4.2.11","@types/mocha":"^8.0.4","@types/node":"^16.18.96",concurrently:"7.0.0","downlevel-dts":"0.10.1",rimraf:"3.0.2",typescript:"~4.9.5"},engines:{node:">=16.0.0"},typesVersions:{"<4.0":{"dist-types/*":["dist-types/ts3.4/*"]}},files:["dist-*/**"],author:{name:"AWS SDK for JavaScript Team",url:"https://aws.amazon.com/javascript/"},license:"Apache-2.0",browser:{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.browser"},"react-native":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.native"},homepage:"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3",repository:{type:"git",url:"https://github.com/aws/aws-sdk-js-v3.git",directory:"clients/client-s3"}};var Bs=L(Ns(),1);var ed="AWS_S3_USE_ARN_REGION",ad="s3_use_arn_region",Ga={environmentVariableSelector:(r)=>rr(r,ed,sr.ENV),configFileSelector:(r)=>rr(r,ad,sr.CONFIG),default:!1};var p=L(Wa(),1);var Ka=L(Wa(),1),ya=function(r){for(let s=0;s<8;s++)r[s]^=255;for(let s=7;s>-1;s--)if(r[s]++,r[s]!==0)break};class Ur{constructor(r){if(this.bytes=r,r.byteLength!==8)throw new Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(r){if(r>9223372036854776000||r<-9223372036854776000)throw new Error(`${r} is too large (or, if negative, too small) to represent as an Int64`);const s=new Uint8Array(8);for(let l=7,f=Math.abs(Math.round(r));l>-1&&f>0;l--,f/=256)s[l]=f;if(r<0)ya(s);return new Ur(s)}valueOf(){const r=this.bytes.slice(0),s=r[0]&128;if(s)ya(r);return parseInt(Ka.toHex(r),16)*(s?-1:1)}toString(){return String(this.valueOf())}}class mf{constructor(r,s){this.toUtf8=r,this.fromUtf8=s}format(r){const s=[];for(let h of Object.keys(r)){const e=this.fromUtf8(h);s.push(Uint8Array.from([e.byteLength]),e,this.formatHeaderValue(r[h]))}const l=new Uint8Array(s.reduce((h,e)=>h+e.byteLength,0));let f=0;for(let h of s)l.set(h,f),f+=h.byteLength;return l}formatHeaderValue(r){switch(r.type){case"boolean":return Uint8Array.from([r.value?0:1]);case"byte":return Uint8Array.from([2,r.value]);case"short":const s=new DataView(new ArrayBuffer(3));return s.setUint8(0,3),s.setInt16(1,r.value,!1),new Uint8Array(s.buffer);case"integer":const l=new DataView(new ArrayBuffer(5));return l.setUint8(0,4),l.setInt32(1,r.value,!1),new Uint8Array(l.buffer);case"long":const f=new Uint8Array(9);return f[0]=5,f.set(r.value.bytes,1),f;case"binary":const h=new DataView(new ArrayBuffer(3+r.value.byteLength));h.setUint8(0,6),h.setUint16(1,r.value.byteLength,!1);const e=new Uint8Array(h.buffer);return e.set(r.value,3),e;case"string":const m=this.fromUtf8(r.value),a=new DataView(new ArrayBuffer(3+m.byteLength));a.setUint8(0,7),a.setUint16(1,m.byteLength,!1);const g=new Uint8Array(a.buffer);return g.set(m,3),g;case"timestamp":const R=new Uint8Array(9);return R[0]=8,R.set(Ur.fromNumber(r.value.valueOf()).bytes,1),R;case"uuid":if(!Cd.test(r.value))throw new Error(`Invalid UUID received: ${r.value}`);const N=new Uint8Array(17);return N[0]=9,N.set(p.fromHex(r.value.replace(/\-/g,"")),1),N}}parse(r){const s={};let l=0;while(l<r.byteLength){const f=r.getUint8(l++),h=this.toUtf8(new Uint8Array(r.buffer,r.byteOffset+l,f));switch(l+=f,r.getUint8(l++)){case 0:s[h]={type:Va,value:!0};break;case 1:s[h]={type:Va,value:!1};break;case 2:s[h]={type:kd,value:r.getInt8(l++)};break;case 3:s[h]={type:Pd,value:r.getInt16(l,!1)},l+=2;break;case 4:s[h]={type:Nd,value:r.getInt32(l,!1)},l+=4;break;case 5:s[h]={type:$d,value:new Ur(new Uint8Array(r.buffer,r.byteOffset+l,8))},l+=8;break;case 6:const e=r.getUint16(l,!1);l+=2,s[h]={type:Dd,value:new Uint8Array(r.buffer,r.byteOffset+l,e)},l+=e;break;case 7:const m=r.getUint16(l,!1);l+=2,s[h]={type:Ud,value:this.toUtf8(new Uint8Array(r.buffer,r.byteOffset+l,m))},l+=m;break;case 8:s[h]={type:Md,value:new Date(new Ur(new Uint8Array(r.buffer,r.byteOffset+l,8)).valueOf())},l+=8;break;case 9:const a=new Uint8Array(r.buffer,r.byteOffset+l,16);l+=16,s[h]={type:Td,value:`${p.toHex(a.subarray(0,4))}-${p.toHex(a.subarray(4,6))}-${p.toHex(a.subarray(6,8))}-${p.toHex(a.subarray(8,10))}-${p.toHex(a.subarray(10))}`};break;default:throw new Error("Unrecognized header type tag")}}return s}}var La;(function(r){r[r.boolTrue=0]="boolTrue",r[r.boolFalse=1]="boolFalse",r[r.byte=2]="byte",r[r.short=3]="short",r[r.integer=4]="integer",r[r.long=5]="long",r[r.byteArray=6]="byteArray",r[r.string=7]="string",r[r.timestamp=8]="timestamp",r[r.uuid=9]="uuid"})(La||(La={}));var Va="boolean",kd="byte",Pd="short",Nd="integer",$d="long",Dd="binary",Ud="string",Md="timestamp",Td="uuid",Cd=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;function Ha({byteLength:r,byteOffset:s,buffer:l}){if(r<Fd)throw new Error("Provided message too short to accommodate event stream message overhead");const f=new DataView(l,s,r),h=f.getUint32(0,!1);if(r!==h)throw new Error("Reported message length does not match received message length");const e=f.getUint32(Za,!1),m=f.getUint32(u,!1),a=f.getUint32(r-hr,!1),g=new t().update(new Uint8Array(l,s,u));if(m!==g.digest())throw new Error(`The prelude checksum specified in the message (${m}) does not match the calculated CRC32 checksum (${g.digest()})`);if(g.update(new Uint8Array(l,s+u,r-(u+hr))),a!==g.digest())throw new Error(`The message checksum (${g.digest()}) did not match the expected value of ${a}`);return{headers:new DataView(l,s+u+hr,e),body:new Uint8Array(l,s+u+hr+e,h-e-(u+hr+hr))}}var Za=4,u=Za*2,hr=4,Fd=u+hr*2;class gf{constructor(r,s){this.headerMarshaller=new mf(r,s),this.messageBuffer=[],this.isEndOfStream=!1}feed(r){this.messageBuffer.push(this.decode(r))}endOfStream(){this.isEndOfStream=!0}getMessage(){const r=this.messageBuffer.pop(),s=this.isEndOfStream;return{getMessage(){return r},isEndOfStream(){return s}}}getAvailableMessages(){const r=this.messageBuffer;this.messageBuffer=[];const s=this.isEndOfStream;return{getMessages(){return r},isEndOfStream(){return s}}}encode({headers:r,body:s}){const l=this.headerMarshaller.format(r),f=l.byteLength+s.byteLength+16,h=new Uint8Array(f),e=new DataView(h.buffer,h.byteOffset,h.byteLength),m=new t;return e.setUint32(0,f,!1),e.setUint32(4,l.byteLength,!1),e.setUint32(8,m.update(h.subarray(0,8)).digest(),!1),h.set(l,12),h.set(s,l.byteLength+12),e.setUint32(f-4,m.update(h.subarray(8,f-4)).digest(),!1),h}decode(r){const{headers:s,body:l}=Ha(r);return{headers:this.headerMarshaller.parse(s),body:l}}formatHeaders(r){return this.headerMarshaller.format(r)}}class wf{constructor(r){this.options=r}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let r of this.options.inputStream)yield this.options.decoder.decode(r)}}class df{constructor(r){this.options=r}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let r of this.options.messageStream)yield this.options.encoder.encode(r);if(this.options.includeEndFrame)yield new Uint8Array(0)}}class Sf{constructor(r){this.options=r}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let r of this.options.messageStream){const s=await this.options.deserializer(r);if(s===void 0)continue;yield s}}}class Rf{constructor(r){this.options=r}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let r of this.options.inputStream)yield this.options.serializer(r)}}function va(r){let s=0,l=0,f=null,h=null;const e=(a)=>{if(typeof a!=="number")throw new Error("Attempted to allocate an event message where size was not a number: "+a);s=a,l=4,f=new Uint8Array(a),new DataView(f.buffer).setUint32(0,a,!1)},m=async function*(){const a=r[Symbol.asyncIterator]();while(!0){const{value:g,done:R}=await a.next();if(R){if(!s)return;else if(s===l)yield f;else throw new Error("Truncated event message received.");return}const N=g.length;let $=0;while($<N){if(!f){const M=N-$;if(!h)h=new Uint8Array(4);const Q=Math.min(4-l,M);if(h.set(g.slice($,$+Q),l),l+=Q,$+=Q,l<4)break;e(new DataView(h.buffer).getUint32(0,!1)),h=null}const D=Math.min(s-l,N-$);if(f.set(g.slice($,$+D),l),l+=D,$+=D,s&&s===l)yield f,f=null,s=0,l=0}}};return{[Symbol.asyncIterator]:m}}function Ja(r,s){return async function(l){const{value:f}=l.headers[":message-type"];if(f==="error"){const h=new Error(l.headers[":error-message"].value||"UnknownError");throw h.name=l.headers[":error-code"].value,h}else if(f==="exception"){const h=l.headers[":exception-type"].value,e={[h]:l},m=await r(e);if(m.$unknown){const a=new Error(s(l.body));throw a.name=h,a}throw m[h]}else if(f==="event"){const h={[l.headers[":event-type"].value]:l},e=await r(h);if(e.$unknown)return;return e}else throw Error(`Unrecognizable event type: ${l.headers[":event-type"].value}`)}}class Xs{constructor({utf8Encoder:r,utf8Decoder:s}){this.eventStreamCodec=new gf(r,s),this.utfEncoder=r}deserialize(r,s){const l=va(r);return new Sf({messageStream:new wf({inputStream:l,decoder:this.eventStreamCodec}),deserializer:Ja(s,this.utfEncoder)})}serialize(r,s){return new df({messageStream:new Rf({inputStream:r,serializer:s}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}import{Readable as zd} from"stream";async function*Xa(r){let s=!1,l=!1;const f=new Array;r.on("error",(h)=>{if(!s)s=!0;if(h)throw h}),r.on("data",(h)=>{f.push(h)}),r.on("end",()=>{s=!0});while(!l){const h=await new Promise((e)=>setTimeout(()=>e(f.shift()),0));if(h)yield h;l=s&&f.length===0}}class Af{constructor({utf8Encoder:r,utf8Decoder:s}){this.universalMarshaller=new Xs({utf8Decoder:s,utf8Encoder:r})}deserialize(r,s){const l=typeof r[Symbol.asyncIterator]==="function"?r:Xa(r);return this.universalMarshaller.deserialize(l,s)}serialize(r,s){return zd.from(this.universalMarshaller.serialize(r,s))}}var Qa=(r)=>new Af(r);import{Writable as Gd} from"stream";class Qs extends Gd{constructor(r,s){super(s);this.hash=r}_write(r,s,l){try{this.hash.update(ss(r))}catch(f){return l(f)}l()}}var ca=(r,s)=>{if(s.readableFlowing!==null)throw new Error("Unable to calculate hash for flowing readable stream");const l=new r,f=new Qs(l);return s.pipe(f),new Promise((h,e)=>{s.on("error",(m)=>{f.end(),e(m)}),f.on("error",e),f.on("finish",()=>{l.digest().then(h).catch(e)})})};var cs=L(Ns(),1);var ia=L(yd(),1);var ba=(r)=>{return{apiVersion:"2006-03-01",base64Decoder:r?.base64Decoder??Oa,base64Encoder:r?.base64Encoder??qa,disableHostPrefix:r?.disableHostPrefix??!1,endpointProvider:r?.endpointProvider??Ps,extensions:r?.extensions??[],getAwsChunkedEncodingStream:r?.getAwsChunkedEncodingStream??_a,httpAuthSchemeProvider:r?.httpAuthSchemeProvider??Ne,httpAuthSchemes:r?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:(s)=>s.getIdentityProvider("aws.auth#sigv4"),signer:new cs.AwsSdkSigV4Signer},{schemeId:"aws.auth#sigv4a",identityProvider:(s)=>s.getIdentityProvider("aws.auth#sigv4a"),signer:new cs.AwsSdkSigV4ASigner}],logger:r?.logger??new es,sdkStreamMixin:r?.sdkStreamMixin??ja,serviceId:r?.serviceId??"S3",signerConstructor:r?.signerConstructor??ml,signingEscapePath:r?.signingEscapePath??!1,urlParser:r?.urlParser??ia.parseUrl,useArnRegion:r?.useArnRegion??!1,utf8Decoder:r?.utf8Decoder??Ya,utf8Encoder:r?.utf8Encoder??Ba}};var wm=(r)=>{pa(process.version);const s=mm(r),l=()=>s().then(na),f=ba(r);return Bs.emitWarningIfUnsupportedVersion(process.version),{...f,...r,runtime:"node",defaultsMode:s,bodyLengthChecker:r?.bodyLengthChecker??am,credentialDefaultProvider:r?.credentialDefaultProvider??gm,defaultUserAgentProvider:r?.defaultUserAgentProvider??em({serviceId:f.serviceId,clientVersion:za.version}),disableS3ExpressSessionAuth:r?.disableS3ExpressSessionAuth??O(ll),eventStreamSerdeProvider:r?.eventStreamSerdeProvider??Qa,maxAttempts:r?.maxAttempts??O(fm),md5:r?.md5??Ys.bind(null,"md5"),region:r?.region??O(rm,sm),requestChecksumCalculation:r?.requestChecksumCalculation??O(Ff),requestHandler:xa.create(r?.requestHandler??l),responseChecksumValidation:r?.responseChecksumValidation??O(zf),retryMode:r?.retryMode??O({...hm,default:async()=>(await l()).retryMode||lm}),sha1:r?.sha1??Ys.bind(null,"sha1"),sha256:r?.sha256??Ys.bind(null,"sha256"),sigv4aSigningRegionSet:r?.sigv4aSigningRegionSet??O(Bs.NODE_SIGV4A_CONFIG_OPTIONS),streamCollector:r?.streamCollector??oa,streamHasher:r?.streamHasher??ca,useArnRegion:r?.useArnRegion??O(Ga),useDualstackEndpoint:r?.useDualstackEndpoint??O(ua),useFipsEndpoint:r?.useFipsEndpoint??O(ta)}};var dm=(r)=>{const s=r.httpAuthSchemes;let{httpAuthSchemeProvider:l,credentials:f}=r;return{setHttpAuthScheme(h){const e=s.findIndex((m)=>m.schemeId===h.schemeId);if(e===-1)s.push(h);else s.splice(e,1,h)},httpAuthSchemes(){return s},setHttpAuthSchemeProvider(h){l=h},httpAuthSchemeProvider(){return l},setCredentials(h){f=h},credentials(){return f}}},Sm=(r)=>{return{httpAuthSchemes:r.httpAuthSchemes(),httpAuthSchemeProvider:r.httpAuthSchemeProvider(),credentials:r.credentials()}};var Os=(r)=>r,Nm=(r,s)=>{const l={...Os(km(r)),...Os(Em(r)),...Os(Rm(r)),...Os(dm(r))};return s.forEach((f)=>f.configure(l)),{...r,...Pm(l),...Im(l),...Am(l),...Sm(l)}};class Ef extends Tm{constructor(...[r]){const s=wm(r||{}),l=De(s),f=Cm(l),h=Bf(f),e=Wm(h),m=zm(e),a=$m(m),g=ym(a),R=Sh(g),N=$e(R),$=eh(N,{session:[()=>this,af]}),D=Nm($,r?.extensions||[]);super(D);this.config=D,this.middlewareStack.use(Fm(this.config)),this.middlewareStack.use(Km(this.config)),this.middlewareStack.use(Gm(this.config)),this.middlewareStack.use(Dm(this.config)),this.middlewareStack.use(Um(this.config)),this.middlewareStack.use(Mm(this.config)),this.middlewareStack.use(Mr.getHttpAuthSchemeEndpointRuleSetPlugin(this.config,{httpAuthSchemeParametersProvider:Ie,identityProviderConfigProvider:async(M)=>new Mr.DefaultIdentityProviderConfig({"aws.auth#sigv4":M.credentials,"aws.auth#sigv4a":M.credentials})})),this.middlewareStack.use(Mr.getHttpSigningPlugin(this.config)),this.middlewareStack.use(dh(this.config)),this.middlewareStack.use(Uf(this.config)),this.middlewareStack.use(jf(this.config)),this.middlewareStack.use(fl(this.config)),this.middlewareStack.use(el(this.config))}destroy(){super.destroy()}}function Wd(r){return(s)=>async(l)=>{const f={...l.input},h=[{target:"SSECustomerKey",hash:"SSECustomerKeyMD5"},{target:"CopySourceSSECustomerKey",hash:"CopySourceSSECustomerKeyMD5"}];for(let e of h){const m=f[e.target];if(m){let a;if(typeof m==="string")if(Ld(m,r))a=r.base64Decoder(m);else a=r.utf8Decoder(m),f[e.target]=r.base64Encoder(a);else a=ArrayBuffer.isView(m)?new Uint8Array(m.buffer,m.byteOffset,m.byteLength):new Uint8Array(m),f[e.target]=r.base64Encoder(a);const g=new r.md5;g.update(a),f[e.hash]=r.base64Encoder(await g.digest())}}return s({...l,input:f})}}function Ld(r,s){if(!/^(?:[A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(r))return!1;try{return s.base64Decoder(r).length===32}catch{return!1}}var Kd={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0},qs=(r)=>({applyToStack:(s)=>{s.add(Wd(r),Kd)}});var Lm=L(ef(),1);class If extends $r.classBuilder().ep({...Ir,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(r,s,l,f){return[Lm.getSerdePlugin(l,this.serialize,this.deserialize),Dr(l,r.getEndpointParameterInstructions()),hs(l,{input:this.input,requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC32","CRC32C","SHA256","SHA1"]}),qs(l),bf(l)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").f(Fe,Ce).ser(Oe).de(je).build(){}var Vm=L(ef(),1);class kf extends $r.classBuilder().ep({...Ir,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(r,s,l,f){return[Vm.getSerdePlugin(l,this.serialize,this.deserialize),Dr(l,r.getEndpointParameterInstructions()),hs(l,{input:this.input,requestAlgorithmMember:"ChecksumAlgorithm",requestChecksumRequired:!1}),Of(l),ws(l),qs(l)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").f(ye,Ge).ser(qe).de(ie).build(){}import{Buffer as Zm} from"buffer";class Hm extends er{client;constructor(...r){super();this.client=new Ef(...r)}async put(r){let s,l,f,h=process.env.BUCKET_NAME;if(r instanceof Blob)s=r,f=`${br()}.${r.type.split("/")[1].split(";")[0]}`,l=r.type;else s=r.body,f=r.name,l=r.contentType;l=s instanceof Blob||s instanceof File?s.type:void 0;const e=s instanceof Zm?s:Zm.from(await s.arrayBuffer());return await this.client.send(new kf({Bucket:h,Key:f,Body:e,ContentType:l})),f}async fetch(r){let s=process.env.BUCKET_NAME,l;if(typeof r==="string")l=r;else s=r.bucket??s,l=r.name;if(!l)throw new Error("Object name has to be specified");const f=await this.client.send(new If({Bucket:s,Key:l}));return new Response(f.Body.transformToWebStream(),{headers:{"Content-Type":f.ContentType,"Content-Length":f.ContentLength.toString(),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":f.LastModified?.toUTCString()||"",ETag:f.ETag||""}})}}class _s{}class js extends _s{constructor(){super(...arguments)}requests=new Map;consume(r,s){if(!this.requests.has(r))this.requests.set(r,{date:Date.now(),count:1});else{const l=this.requests.get(r),f=Date.now();if(f-l.date>=60000)this.requests.set(r,{date:f,count:1});else this.requests.set(r,{date:l.date,count:l.count+1})}return this.requests.get(r).count}}class vm{driver=new js}class _r{}import*as Jd from"react-dom/server";var Ym=L(Vd(),1);import{Writable as Yd} from"stream";var{defineProperty:Zd,getOwnPropertySymbols:Jm}=Object,Hd=Object.prototype.hasOwnProperty,vd=Object.prototype.propertyIsEnumerable,Xm=(r,s,l)=>(s in r)?Zd(r,s,{enumerable:!0,configurable:!0,writable:!0,value:l}):r[s]=l,Pf=(r,s)=>{for(var l in s||(s={}))if(Hd.call(s,l))Xm(r,l,s[l]);if(Jm){for(var l of Jm(s))if(vd.call(s,l))Xm(r,l,s[l])}return r},Nf=(r,s,l)=>{return new Promise((f,h)=>{var e=(g)=>{try{a(l.next(g))}catch(R){h(R)}},m=(g)=>{try{a(l.throw(g))}catch(R){h(R)}},a=(g)=>g.done?f(g.value):Promise.resolve(g.value).then(e,m);a((l=l.apply(r,s)).next())})},Xd={unformatted:["code","pre","em","strong","span"],indent_inner_html:!0,indent_char:" ",indent_size:2,sep:"\n"},Qd=(r,s={})=>{return Ym.default.html(r,Pf(Pf({},Xd),s))},cd=[{selector:"img",format:"skip"},{selector:"#__react-email-preview",format:"skip"},{selector:"a",options:{linkBrackets:!1}}];var Qm=new TextDecoder("utf-8"),cm=(r)=>Nf(void 0,null,function*(){let s="";if("pipeTo"in r){const l=new WritableStream({write(f){s+=Qm.decode(f)}});yield r.pipeTo(l)}else{const l=new Yd({write(f,h,e){s+=Qm.decode(f),e()}});return r.pipe(l),new Promise((f,h)=>{l.on("error",h),l.on("close",()=>{f(s)})})}return s}),is=(r,s)=>Nf(void 0,null,function*(){const{default:l}=yield import("react-dom/server");let f;if(Object.hasOwn(l,"renderToReadableStream"))f=yield cm(yield l.renderToReadableStream(r));else yield new Promise((m,a)=>{const g=l.renderToPipeableStream(r,{onAllReady(){return Nf(this,null,function*(){f=yield cm(g),m()})},onError(R){a(R)}})});if(s==null?void 0:s.plainText)return $f(f,Pf({selectors:cd},s.htmlToTextOptions));const e=`${'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'}${f.replace(/<!DOCTYPE.*?>/,"")}`;if(s==null?void 0:s.pretty)return Qd(e);return e});var{defineProperty:Bd,defineProperties:Od,getOwnPropertyDescriptors:qd,getOwnPropertySymbols:Bm}=Object,_d=Object.prototype.hasOwnProperty,jd=Object.prototype.propertyIsEnumerable,Om=(r,s,l)=>(s in r)?Bd(r,s,{enumerable:!0,configurable:!0,writable:!0,value:l}):r[s]=l,jr=(r,s)=>{for(var l in s||(s={}))if(_d.call(s,l))Om(r,l,s[l]);if(Bm){for(var l of Bm(s))if(jd.call(s,l))Om(r,l,s[l])}return r},id=(r,s)=>Od(r,qd(s)),I=(r,s,l)=>{return new Promise((f,h)=>{var e=(g)=>{try{a(l.next(g))}catch(R){h(R)}},m=(g)=>{try{a(l.throw(g))}catch(R){h(R)}},a=(g)=>g.done?f(g.value):Promise.resolve(g.value).then(e,m);a((l=l.apply(r,s)).next())})},bd="3.5.0",xd=class{constructor(r){this.resend=r}create(r){return I(this,arguments,function*(s,l={}){return yield this.resend.post("/api-keys",s,l)})}list(){return I(this,null,function*(){return yield this.resend.get("/api-keys")})}remove(r){return I(this,null,function*(){return yield this.resend.delete(`/api-keys/${r}`)})}},od=class{constructor(r){this.resend=r}create(r){return I(this,arguments,function*(s,l={}){return yield this.resend.post("/audiences",s,l)})}list(){return I(this,null,function*(){return yield this.resend.get("/audiences")})}get(r){return I(this,null,function*(){return yield this.resend.get(`/audiences/${r}`)})}remove(r){return I(this,null,function*(){return yield this.resend.delete(`/audiences/${r}`)})}},nd=class{constructor(r){this.resend=r}send(r){return I(this,arguments,function*(s,l={}){return this.create(s,l)})}create(r){return I(this,arguments,function*(s,l={}){for(let h of s)if(h.react)h.html=yield is(h.react),delete h.react;return yield this.resend.post("/emails/batch",s,l)})}},pd=class{constructor(r){this.resend=r}create(r){return I(this,arguments,function*(s,l={}){return yield this.resend.post(`/audiences/${s.audienceId}/contacts`,{unsubscribed:s.unsubscribed,email:s.email,first_name:s.firstName,last_name:s.lastName},l)})}list(r){return I(this,null,function*(){return yield this.resend.get(`/audiences/${r.audienceId}/contacts`)})}get(r){return I(this,null,function*(){return yield this.resend.get(`/audiences/${r.audienceId}/contacts/${r.id}`)})}update(r){return I(this,null,function*(){return yield this.resend.patch(`/audiences/${r.audienceId}/contacts/${r.id}`,{unsubscribed:r.unsubscribed,first_name:r.firstName,last_name:r.lastName})})}remove(r){return I(this,null,function*(){return yield this.resend.delete(`/audiences/${r.audienceId}/contacts/${(r==null?void 0:r.email)?r==null?void 0:r.email:r==null?void 0:r.id}`)})}},ud=class{constructor(r){this.resend=r}create(r){return I(this,arguments,function*(s,l={}){return yield this.resend.post("/domains",s,l)})}list(){return I(this,null,function*(){return yield this.resend.get("/domains")})}get(r){return I(this,null,function*(){return yield this.resend.get(`/domains/${r}`)})}update(r){return I(this,null,function*(){return yield this.resend.patch(`/domains/${r.id}`,{click_tracking:r.clickTracking,open_tracking:r.openTracking,tls:r.tls})})}remove(r){return I(this,null,function*(){return yield this.resend.delete(`/domains/${r}`)})}verify(r){return I(this,null,function*(){return yield this.resend.post(`/domains/${r}/verify`)})}},td=class{constructor(r){this.resend=r}send(r){return I(this,arguments,function*(s,l={}){return this.create(s,l)})}create(r){return I(this,arguments,function*(s,l={}){if(s.react)s.html=yield is(s.react),delete s.react;return yield this.resend.post("/emails",s,l)})}get(r){return I(this,null,function*(){return yield this.resend.get(`/emails/${r}`)})}},qm="https://api.resend.com",_m=`resend-node:${bd}`,r3=typeof process!=="undefined"&&process.env?process.env.RESEND_BASE_URL||qm:qm,s3=typeof process!=="undefined"&&process.env?process.env.RESEND_USER_AGENT||_m:_m,jm=class{constructor(r){if(this.key=r,this.apiKeys=new xd(this),this.audiences=new od(this),this.batch=new nd(this),this.contacts=new pd(this),this.domains=new ud(this),this.emails=new td(this),!r){if(typeof process!=="undefined"&&process.env)this.key=process.env.RESEND_API_KEY;if(!this.key)throw new Error('Missing API key. Pass it to the constructor `new Resend("re_123")`')}this.headers=new Headers({Authorization:`Bearer ${this.key}`,"User-Agent":s3,"Content-Type":"application/json"})}fetchRequest(r){return I(this,arguments,function*(s,l={}){try{const f=yield fetch(`${r3}${s}`,l);if(!f.ok)try{const e=yield f.text();return{data:null,error:JSON.parse(e)}}catch(e){if(e instanceof SyntaxError)return{data:null,error:{name:"application_error",message:"Internal server error. We are unable to process your request right now, please try again later."}};const m={message:f.statusText,name:"application_error"};if(e instanceof Error)return{data:null,error:id(jr({},m),{message:e.message})};return{data:null,error:m}}return{data:yield f.json(),error:null}}catch(f){return{data:null,error:{name:"application_error",message:"Unable to fetch data. The request could not be resolved."}}}})}post(r,s){return I(this,arguments,function*(l,f,h={}){const e=jr({method:"POST",headers:this.headers,body:JSON.stringify(f)},h);return this.fetchRequest(l,e)})}get(r){return I(this,arguments,function*(s,l={}){const f=jr({method:"GET",headers:this.headers},l);return this.fetchRequest(s,f)})}put(r,s){return I(this,arguments,function*(l,f,h={}){const e=jr({method:"PUT",headers:this.headers,body:JSON.stringify(f)},h);return this.fetchRequest(l,e)})}patch(r,s){return I(this,arguments,function*(l,f,h={}){const e=jr({method:"PATCH",headers:this.headers,body:JSON.stringify(f)},h);return this.fetchRequest(l,e)})}delete(r,s){return I(this,null,function*(){const l={method:"DELETE",headers:this.headers,body:JSON.stringify(s)};return this.fetchRequest(r,l)})}};class bs{}class xs extends bs{r;constructor(r=process.env.RESEND_API_KEY){super();this.apiKey=r}async send(r){const s=new jm(this.apiKey),{data:l,error:f}=await s.emails.send({...r});if(f)throw f;if(l)return!0}}class im extends _r{constructor(){super(...arguments)}debug=!0;defaultFrom="";driver=new xs;boot(){}}class bm extends _r{constructor(){super(...arguments)}channels={};boot(){}}export{Hm as S3Driver,xs as ResendDriver,vm as RateLimiterServiceProvider,_s as RateLimiterDriver,js as InMemoryRateLimiter,xr as FileSystemDriver,Df as FileStorageServiceProvider,er as FileStorageDriver,im as EmailServiceProvider,bs as EmailDriver,bm as BroadcastingServiceProvider};export{Df as p,_r as q,vm as r,im as s,bm as t};