uploader-s3-14b5bdfa.CpGuqN0t.js 196 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import{aA as Ua,l as Bn,A as $a,aB as _a}from"./index.DJRppC5x.js";import"./vue.D1BjjNmv.js";var Ln={};const Da=e=>{let t=e.httpHandler;return{setHttpHandler(r){t=r},httpHandler(){return t},updateHttpClientConfig(r,n){t.updateHttpClientConfig(r,n)},httpHandlerConfigs(){return t.httpHandlerConfigs()}}},Ba=e=>({httpHandler:e.httpHandler()});var Fn;(function(e){e.HEADER="header",e.QUERY="query"})(Fn||(Fn={}));var Hn;(function(e){e.HEADER="header",e.QUERY="query"})(Hn||(Hn={}));var St;(function(e){e.HTTP="http",e.HTTPS="https"})(St||(St={}));var Ft;(function(e){e.MD5="md5",e.CRC32="crc32",e.CRC32C="crc32c",e.SHA1="sha1",e.SHA256="sha256"})(Ft||(Ft={}));var jn;(function(e){e[e.HEADER=0]="HEADER",e[e.TRAILER=1]="TRAILER"})(jn||(jn={}));const zr="__smithy_context";var qn;(function(e){e.PROFILE="profile",e.SSO_SESSION="sso-session",e.SERVICES="services"})(qn||(qn={}));var zn;(function(e){e.HTTP_0_9="http/0.9",e.HTTP_1_0="http/1.0",e.TDS_8_0="tds/8.0"})(zn||(zn={}));class Z{constructor(t){this.method=t.method||"GET",this.hostname=t.hostname||"localhost",this.port=t.port,this.query=t.query||{},this.headers=t.headers||{},this.body=t.body,this.protocol=t.protocol?t.protocol.slice(-1)!==":"?`${t.protocol}:`:t.protocol:"https:",this.path=t.path?t.path.charAt(0)!=="/"?`/${t.path}`:t.path:"/",this.username=t.username,this.password=t.password,this.fragment=t.fragment}static clone(t){const r=new Z({...t,headers:{...t.headers}});return r.query&&(r.query=La(r.query)),r}static isInstance(t){if(!t)return!1;const r=t;return"method"in r&&"protocol"in r&&"hostname"in r&&"path"in r&&typeof r.query=="object"&&typeof r.headers=="object"}clone(){return Z.clone(this)}}function La(e){return Object.keys(e).reduce((t,r)=>{const n=e[r];return{...t,[r]:Array.isArray(n)?[...n]:n}},{})}class Et{constructor(t){this.statusCode=t.statusCode,this.reason=t.reason,this.headers=t.headers||{},this.body=t.body}static isInstance(t){if(!t)return!1;const r=t;return typeof r.statusCode=="number"&&typeof r.headers=="object"}}function Fa(e){return t=>async r=>{var n,s;const{request:i}=r;return Z.isInstance(i)&&i.body&&e.runtime==="node"&&((s=(n=e.requestHandler)==null?void 0:n.constructor)==null?void 0:s.name)!=="FetchHttpHandler"&&(i.headers={...i.headers,Expect:"100-continue"}),t({...r,request:i})}}const Ha={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0},ja=e=>({applyToStack:t=>{t.add(Fa(e),Ha)}}),Hi={WHEN_SUPPORTED:"WHEN_SUPPORTED"},qa=Hi.WHEN_SUPPORTED,za=Hi.WHEN_SUPPORTED;var H;(function(e){e.MD5="MD5",e.CRC32="CRC32",e.CRC32C="CRC32C",e.SHA1="SHA1",e.SHA256="SHA256"})(H||(H={}));var Vn;(function(e){e.HEADER="header",e.TRAILER="trailer"})(Vn||(Vn={}));H.MD5;H.CRC32;var Kn;(function(e){e.ENV="env",e.CONFIG="shared config entry"})(Kn||(Kn={}));function Va(e,t,r){return e.$source||(e.$source={}),e.$source[t]=r,e}function fe(e,t,r){e.__aws_sdk_context?e.__aws_sdk_context.features||(e.__aws_sdk_context.features={}):e.__aws_sdk_context={features:{}},e.__aws_sdk_context.features[t]=r}const Wn=e=>{var t,r;return Et.isInstance(e)?((t=e.headers)==null?void 0:t.date)??((r=e.headers)==null?void 0:r.Date):void 0},nn=e=>new Date(Date.now()+e),Ka=(e,t)=>Math.abs(nn(t).getTime()-e)>=3e5,Gn=(e,t)=>{const r=Date.parse(e);return Ka(r,t)?r-Date.now():t},mt=(e,t)=>{if(!t)throw new Error(`Property \`${e}\` is not resolved for AWS SDK SigV4Auth`);return t},ji=async e=>{var t,r,n;const s=mt("context",e.context),i=mt("config",e.config),o=(n=(r=(t=s.endpointV2)==null?void 0:t.properties)==null?void 0:r.authSchemes)==null?void 0:n[0],a=await mt("signer",i.signer)(o),c=e==null?void 0:e.signingRegion,u=e==null?void 0:e.signingRegionSet,f=e==null?void 0:e.signingName;return{config:i,signer:a,signingRegion:c,signingRegionSet:u,signingName:f}};class qi{async sign(t,r,n){var s;if(!Z.isInstance(t))throw new Error("The request is not an instance of `HttpRequest` and cannot be signed");const i=await ji(n),{config:o,signer:a}=i;let{signingRegion:c,signingName:u}=i;const f=n.context;if(((s=f==null?void 0:f.authSchemes)==null?void 0:s.length)??!1){const[d,p]=f.authSchemes;(d==null?void 0:d.name)==="sigv4a"&&(p==null?void 0:p.name)==="sigv4"&&(c=(p==null?void 0:p.signingRegion)??c,u=(p==null?void 0:p.signingName)??u)}return await a.sign(t,{signingDate:nn(o.systemClockOffset),signingRegion:c,signingService:u})}errorHandler(t){return r=>{const n=r.ServerTime??Wn(r.$response);if(n){const s=mt("config",t.config),i=s.systemClockOffset;s.systemClockOffset=Gn(n,s.systemClockOffset),s.systemClockOffset!==i&&r.$metadata&&(r.$metadata.clockSkewCorrected=!0)}throw r}}successHandler(t,r){const n=Wn(t);if(n){const s=mt("config",r.config);s.systemClockOffset=Gn(n,s.systemClockOffset)}}}class Wa extends qi{async sign(t,r,n){var s;if(!Z.isInstance(t))throw new Error("The request is not an instance of `HttpRequest` and cannot be signed");const{config:i,signer:o,signingRegion:a,signingRegionSet:c,signingName:u}=await ji(n),f=(await((s=i.sigv4aSigningRegionSet)==null?void 0:s.call(i))??c??[a]).join(",");return await o.sign(t,{signingDate:nn(i.systemClockOffset),signingRegion:f,signingService:u})}}const ut=e=>e[zr]||(e[zr]={}),Te=e=>{if(typeof e=="function")return e;const t=Promise.resolve(e);return()=>t};function Ga(e){const t=new Map;for(const r of e)t.set(r.schemeId,r);return t}const Za=(e,t)=>(r,n)=>async s=>{var i;const o=e.httpAuthSchemeProvider(await t.httpAuthSchemeParametersProvider(e,n,s.input)),a=Ga(e.httpAuthSchemes),c=ut(n),u=[];for(const f of o){const d=a.get(f.schemeId);if(!d){u.push(`HttpAuthScheme \`${f.schemeId}\` was not enabled for this service.`);continue}const p=d.identityProvider(await t.identityProviderConfigProvider(e));if(!p){u.push(`HttpAuthScheme \`${f.schemeId}\` did not have an IdentityProvider configured.`);continue}const{identityProperties:g={},signingProperties:S={}}=((i=f.propertiesExtractor)==null?void 0:i.call(f,e,n))||{};f.identityProperties=Object.assign(f.identityProperties||{},g),f.signingProperties=Object.assign(f.signingProperties||{},S),c.selectedHttpAuthScheme={httpAuthOption:f,identity:await p(f.identityProperties),signer:d.signer};break}if(!c.selectedHttpAuthScheme)throw new Error(u.join(`
  2. `));return r(s)},Xa={step:"serialize",tags:["HTTP_AUTH_SCHEME"],name:"httpAuthSchemeMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"},Ya=(e,{httpAuthSchemeParametersProvider:t,identityProviderConfigProvider:r})=>({applyToStack:n=>{n.addRelativeTo(Za(e,{httpAuthSchemeParametersProvider:t,identityProviderConfigProvider:r}),Xa)}}),Qa=(e,t)=>r=>async n=>{const{response:s}=await r(n);try{const i=await t(s,e);return{response:s,output:i}}catch(i){if(Object.defineProperty(i,"$response",{value:s}),!("$metadata"in i)){const o="Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.";i.message+=`
  3. `+o,typeof i.$responseBodyText<"u"&&i.$response&&(i.$response.body=i.$responseBodyText)}throw i}},Ja=(e,t)=>(r,n)=>async s=>{var i;const o=(i=n.endpointV2)!=null&&i.url&&e.urlParser?async()=>e.urlParser(n.endpointV2.url):e.endpoint;if(!o)throw new Error("No valid endpoint provider available.");const a=await t(s.input,{...e,endpoint:o});return r({...s,request:a})},ec={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"],override:!0},sn={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:!0};function zi(e,t,r){return{applyToStack:n=>{n.add(Qa(e,r),ec),n.add(Ja(e,t),sn)}}}sn.name;const tc=e=>t=>{throw t},rc=(e,t)=>{},nc=e=>(t,r)=>async n=>{if(!Z.isInstance(n.request))return t(n);const s=ut(r).selectedHttpAuthScheme;if(!s)throw new Error("No HttpAuthScheme was selected: unable to sign request");const{httpAuthOption:{signingProperties:i={}},identity:o,signer:a}=s,c=await t({...n,request:await a.sign(n.request,o,i)}).catch((a.errorHandler||tc)(i));return(a.successHandler||rc)(c.response,i),c},Vi={step:"finalizeRequest",tags:["HTTP_SIGNING"],name:"httpSigningMiddleware",aliases:["apiKeyMiddleware","tokenMiddleware","awsAuthMiddleware"],override:!0,relation:"after",toMiddleware:"retryMiddleware"},sc=e=>({applyToStack:t=>{t.addRelativeTo(nc(),Vi)}}),rt=e=>{if(typeof e=="function")return e;const t=Promise.resolve(e);return()=>t},He={},lt=new Array(64);for(let e=0,t=65,r=90;e+t<=r;e++){const n=String.fromCharCode(e+t);He[n]=e,lt[e]=n}for(let e=0,t=97,r=122;e+t<=r;e++){const n=String.fromCharCode(e+t),s=e+26;He[n]=s,lt[s]=n}for(let e=0;e<10;e++){He[e.toString(10)]=e+52;const t=e.toString(10),r=e+52;He[t]=r,lt[r]=t}He["+"]=62;lt[62]="+";He["/"]=63;lt[63]="/";const nt=6,yt=8,ic=63,on=e=>{let t=e.length/4*3;e.slice(-2)==="=="?t-=2:e.slice(-1)==="="&&t--;const r=new ArrayBuffer(t),n=new DataView(r);for(let s=0;s<e.length;s+=4){let i=0,o=0;for(let u=s,f=s+3;u<=f;u++)if(e[u]!=="="){if(!(e[u]in He))throw new TypeError(`Invalid character ${e[u]} in base64 string.`);i|=He[e[u]]<<(f-u)*nt,o+=nt}else i>>=nt;const a=s/4*3;i>>=o%yt;const c=Math.floor(o/yt);for(let u=0;u<c;u++){const f=(c-u-1)*yt;n.setUint8(a+u,(i&255<<f)>>f)}}return new Uint8Array(r)},Ye=e=>new TextEncoder().encode(e),st=e=>typeof e=="string"?Ye(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e),an=e=>{if(typeof e=="string")return e;if(typeof e!="object"||typeof e.byteOffset!="number"||typeof e.byteLength!="number")throw new Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.");return new TextDecoder("utf-8").decode(e)};function cn(e){let t;typeof e=="string"?t=Ye(e):t=e;const r=typeof t=="object"&&typeof t.length=="number",n=typeof t=="object"&&typeof t.byteOffset=="number"&&typeof t.byteLength=="number";if(!r&&!n)throw new Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.");let s="";for(let i=0;i<t.length;i+=3){let o=0,a=0;for(let u=i,f=Math.min(i+3,t.length);u<f;u++)o|=t[u]<<(f-u-1)*yt,a+=yt;const c=Math.ceil(a/nt);o<<=c*nt-a;for(let u=1;u<=c;u++){const f=(c-u)*nt;s+=lt[(o&ic<<f)>>f]}s+="==".slice(0,4-c)}return s}function oc(e,t="utf-8"){return t==="base64"?cn(e):an(e)}function ac(e,t){return t==="base64"?Ze.mutate(on(e)):Ze.mutate(Ye(e))}class Ze extends Uint8Array{static fromString(t,r="utf-8"){switch(typeof t){case"string":return ac(t,r);default:throw new Error(`Unsupported conversion from ${typeof t} to Uint8ArrayBlobAdapter.`)}}static mutate(t){return Object.setPrototypeOf(t,Ze.prototype),t}transformToString(t="utf-8"){return oc(this,t)}}const cc=(e,t)=>{const{base64Encoder:r,bodyLengthChecker:n,checksumAlgorithmFn:s,checksumLocationName:i,streamHasher:o}=t,a=r!==void 0&&n!==void 0&&s!==void 0&&i!==void 0&&o!==void 0,c=a?o(s,e):void 0,u=e.getReader();return new ReadableStream({async pull(f){const{value:d,done:p}=await u.read();if(p){if(f.enqueue(`0\r
  4. `),a){const g=r(await c);f.enqueue(`${i}:${g}\r
  5. `),f.enqueue(`\r
  6. `)}f.close()}else f.enqueue(`${(n(d)||0).toString(16)}\r
  7. ${d}\r
  8. `)}})},Xe=e=>encodeURIComponent(e).replace(/[!'()*]/g,uc),uc=e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`;function lc(e){const t=[];for(let r of Object.keys(e).sort()){const n=e[r];if(r=Xe(r),Array.isArray(n))for(let s=0,i=n.length;s<i;s++)t.push(`${r}=${Xe(n[s])}`);else{let s=r;(n||typeof n=="string")&&(s+=`=${Xe(n)}`),t.push(s)}}return t.join("&")}const dc=async e=>typeof Blob=="function"&&e instanceof Blob?new Uint8Array(await e.arrayBuffer()):hc(e);async function hc(e){const t=[],r=e.getReader();let n=!1,s=0;for(;!n;){const{done:a,value:c}=await r.read();c&&(t.push(c),s+=c.length),n=a}const i=new Uint8Array(s);let o=0;for(const a of t)i.set(a,o),o+=a.length;return i}const Ki={},Vr={};for(let e=0;e<256;e++){let t=e.toString(16).toLowerCase();t.length===1&&(t=`0${t}`),Ki[e]=t,Vr[t]=e}function Wi(e){if(e.length%2!==0)throw new Error("Hex encoded strings must have an even number length");const t=new Uint8Array(e.length/2);for(let r=0;r<e.length;r+=2){const n=e.slice(r,r+2).toLowerCase();if(n in Vr)t[r/2]=Vr[n];else throw new Error(`Cannot decode unrecognized sequence ${n} as hexadecimal`)}return t}function ge(e){let t="";for(let r=0;r<e.byteLength;r++)t+=Ki[e[r]];return t}const Zn=e=>{var t;return typeof ReadableStream=="function"&&(((t=e==null?void 0:e.constructor)==null?void 0:t.name)===ReadableStream.name||e instanceof ReadableStream)},Xn="The stream has already been transformed.",fc=e=>{var t,r;if(!Yn(e)&&!Zn(e)){const o=((r=(t=e==null?void 0:e.__proto__)==null?void 0:t.constructor)==null?void 0:r.name)||e;throw new Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${o}`)}let n=!1;const s=async()=>{if(n)throw new Error(Xn);return n=!0,await dc(e)},i=o=>{if(typeof o.stream!="function")throw new Error(`Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.
  9. If you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body`);return o.stream()};return Object.assign(e,{transformToByteArray:s,transformToString:async o=>{const a=await s();if(o==="base64")return cn(a);if(o==="hex")return ge(a);if(o===void 0||o==="utf8"||o==="utf-8")return an(a);if(typeof TextDecoder=="function")return new TextDecoder(o).decode(a);throw new Error("TextDecoder is not available, please make sure polyfill is provided.")},transformToWebStream:()=>{if(n)throw new Error(Xn);if(n=!0,Yn(e))return i(e);if(Zn(e))return e;throw new Error(`Cannot transform payload to web stream, got ${e}`)}})},Yn=e=>typeof Blob=="function"&&e instanceof Blob;async function pc(e){return typeof e.stream=="function"&&(e=e.stream()),e.tee()}async function gc(e,t){let r=0;const n=[],s=e.getReader();let i=!1;for(;!i;){const{done:c,value:u}=await s.read();if(u&&(n.push(u),r+=(u==null?void 0:u.byteLength)??0),r>=t)break;i=c}s.releaseLock();const o=new Uint8Array(Math.min(t,r));let a=0;for(const c of n){if(c.byteLength>o.byteLength-a){o.set(c.subarray(0,o.byteLength-a),a);break}else o.set(c,a);a+=c.length}return o}const Gi=async(e=new Uint8Array,t)=>{if(e instanceof Uint8Array)return Ze.mutate(e);if(!e)return Ze.mutate(new Uint8Array);const r=t.streamCollector(e);return Ze.mutate(await r)};function Qn(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function Zi(e,t){return new mc(e,t)}class mc{constructor(t,r){this.input=t,this.context=r,this.query={},this.method="",this.headers={},this.path="",this.body=null,this.hostname="",this.resolvePathStack=[]}async build(){const{hostname:t,protocol:r="https",port:n,path:s}=await this.context.endpoint();this.path=s;for(const i of this.resolvePathStack)i(this.path);return new Z({protocol:r,hostname:this.hostname||t,port:n,method:this.method,path:this.path,query:this.query,body:this.body,headers:this.headers})}hn(t){return this.hostname=t,this}bp(t){return this.resolvePathStack.push(r=>{this.path=`${r!=null&&r.endsWith("/")?r.slice(0,-1):r||""}`+t}),this}p(t,r,n,s){return this.resolvePathStack.push(i=>{this.path=yc(i,this.input,t,r,n,s)}),this}h(t){return this.headers=t,this}q(t){return this.query=t,this}b(t){return this.body=t,this}m(t){return this.method=t,this}}const yc=(e,t,r,n,s,i)=>{if(t!=null&&t[r]!==void 0){const o=n();if(o.length<=0)throw new Error("Empty value provided for input HTTP label: "+r+".");e=e.replace(s,i?o.split("/").map(a=>Qn(a)).join("/"):Qn(o))}else throw new Error("No value provided for input HTTP label: "+r+".");return e};function wc(e,t,r){e.__smithy_context?e.__smithy_context.features||(e.__smithy_context.features={}):e.__smithy_context={features:{}},e.__smithy_context.features[t]=r}class bc{constructor(t){this.authSchemes=new Map;for(const[r,n]of Object.entries(t))n!==void 0&&this.authSchemes.set(r,n)}getIdentityProvider(t){return this.authSchemes.get(t)}}const vc=e=>t=>Xi(t)&&t.expiration.getTime()-Date.now()<e,Sc=3e5,Ec=vc(Sc),Xi=e=>e.expiration!==void 0,Ac=(e,t,r)=>{if(e===void 0)return;const n=typeof e!="function"?async()=>Promise.resolve(e):e;let s,i,o,a=!1;const c=async u=>{i||(i=n(u));try{s=await i,o=!0,a=!1}finally{i=void 0}return s};return t===void 0?async u=>((!o||u!=null&&u.forceRefresh)&&(s=await c(u)),s):async u=>((!o||u!=null&&u.forceRefresh)&&(s=await c(u)),a?s:r(s)?(t(s)&&await c(u),s):(a=!0,s))},xc=(e,t,r)=>{let n,s,i,o=!1;const a=async()=>{s||(s=e());try{n=await s,i=!0,o=!1}finally{s=void 0}return n};return t===void 0?async c=>((!i||c!=null&&c.forceRefresh)&&(n=await a()),n):async c=>((!i||c!=null&&c.forceRefresh)&&(n=await a()),o?n:r&&!r(n)?(o=!0,n):(t(n)&&await a(),n))},kc=e=>(e.sigv4aSigningRegionSet=rt(e.sigv4aSigningRegionSet),e),Rc="X-Amz-Algorithm",Cc="X-Amz-Credential",Yi="X-Amz-Date",Pc="X-Amz-SignedHeaders",Tc="X-Amz-Expires",Qi="X-Amz-Signature",Ji="X-Amz-Security-Token",eo="authorization",to=Yi.toLowerCase(),Ic="date",Nc=[eo,to,Ic],Oc=Qi.toLowerCase(),Kr="x-amz-content-sha256",Mc=Ji.toLowerCase(),Uc={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},$c=/^proxy-/,_c=/^sec-/,ar="AWS4-HMAC-SHA256",Dc="AWS4-HMAC-SHA256-PAYLOAD",Bc="UNSIGNED-PAYLOAD",Lc=50,ro="aws4_request",Fc=60*60*24*7,Rt={},cr=[],ur=(e,t,r)=>`${e}/${t}/${r}/${ro}`,Hc=async(e,t,r,n,s)=>{const i=await Jn(e,t.secretAccessKey,t.accessKeyId),o=`${r}:${n}:${s}:${ge(i)}:${t.sessionToken}`;if(o in Rt)return Rt[o];for(cr.push(o);cr.length>Lc;)delete Rt[cr.shift()];let a=`AWS4${t.secretAccessKey}`;for(const c of[r,n,s,ro])a=await Jn(e,a,c);return Rt[o]=a},Jn=(e,t,r)=>{const n=new e(t);return n.update(st(r)),n.digest()},es=({headers:e},t,r)=>{const n={};for(const s of Object.keys(e).sort()){if(e[s]==null)continue;const i=s.toLowerCase();(i in Uc||t!=null&&t.has(i)||$c.test(i)||_c.test(i))&&(!r||r&&!r.has(i))||(n[i]=e[s].trim().replace(/\s+/g," "))}return n},jc=({query:e={}})=>{const t=[],r={};for(const n of Object.keys(e)){if(n.toLowerCase()===Oc)continue;const s=Xe(n);t.push(s);const i=e[n];typeof i=="string"?r[s]=`${s}=${Xe(i)}`:Array.isArray(i)&&(r[s]=i.slice(0).reduce((o,a)=>o.concat([`${s}=${Xe(a)}`]),[]).sort().join("&"))}return t.sort().map(n=>r[n]).filter(n=>n).join("&")},no=e=>typeof ArrayBuffer=="function"&&e instanceof ArrayBuffer||Object.prototype.toString.call(e)==="[object ArrayBuffer]",lr=async({headers:e,body:t},r)=>{for(const n of Object.keys(e))if(n.toLowerCase()===Kr)return e[n];if(t==null)return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";if(typeof t=="string"||ArrayBuffer.isView(t)||no(t)){const n=new r;return n.update(st(t)),ge(await n.digest())}return Bc};class qc{format(t){const r=[];for(const i of Object.keys(t)){const o=Ye(i);r.push(Uint8Array.from([o.byteLength]),o,this.formatHeaderValue(t[i]))}const n=new Uint8Array(r.reduce((i,o)=>i+o.byteLength,0));let s=0;for(const i of r)n.set(i,s),s+=i.byteLength;return n}formatHeaderValue(t){switch(t.type){case"boolean":return Uint8Array.from([t.value?0:1]);case"byte":return Uint8Array.from([2,t.value]);case"short":const r=new DataView(new ArrayBuffer(3));return r.setUint8(0,3),r.setInt16(1,t.value,!1),new Uint8Array(r.buffer);case"integer":const n=new DataView(new ArrayBuffer(5));return n.setUint8(0,4),n.setInt32(1,t.value,!1),new Uint8Array(n.buffer);case"long":const s=new Uint8Array(9);return s[0]=5,s.set(t.value.bytes,1),s;case"binary":const i=new DataView(new ArrayBuffer(3+t.value.byteLength));i.setUint8(0,6),i.setUint16(1,t.value.byteLength,!1);const o=new Uint8Array(i.buffer);return o.set(t.value,3),o;case"string":const a=Ye(t.value),c=new DataView(new ArrayBuffer(3+a.byteLength));c.setUint8(0,7),c.setUint16(1,a.byteLength,!1);const u=new Uint8Array(c.buffer);return u.set(a,3),u;case"timestamp":const f=new Uint8Array(9);return f[0]=8,f.set(Vc.fromNumber(t.value.valueOf()).bytes,1),f;case"uuid":if(!zc.test(t.value))throw new Error(`Invalid UUID received: ${t.value}`);const d=new Uint8Array(17);return d[0]=9,d.set(Wi(t.value.replace(/\-/g,"")),1),d}}}var ts;(function(e){e[e.boolTrue=0]="boolTrue",e[e.boolFalse=1]="boolFalse",e[e.byte=2]="byte",e[e.short=3]="short",e[e.integer=4]="integer",e[e.long=5]="long",e[e.byteArray=6]="byteArray",e[e.string=7]="string",e[e.timestamp=8]="timestamp",e[e.uuid=9]="uuid"})(ts||(ts={}));const zc=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;let Vc=class so{constructor(t){if(this.bytes=t,t.byteLength!==8)throw new Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(t){if(t>9223372036854776e3||t<-9223372036854776e3)throw new Error(`${t} is too large (or, if negative, too small) to represent as an Int64`);const r=new Uint8Array(8);for(let n=7,s=Math.abs(Math.round(t));n>-1&&s>0;n--,s/=256)r[n]=s;return t<0&&rs(r),new so(r)}valueOf(){const t=this.bytes.slice(0),r=t[0]&128;return r&&rs(t),parseInt(ge(t),16)*(r?-1:1)}toString(){return String(this.valueOf())}};function rs(e){for(let t=0;t<8;t++)e[t]^=255;for(let t=7;t>-1&&(e[t]++,e[t]===0);t--);}const Kc=(e,t)=>{e=e.toLowerCase();for(const r of Object.keys(t))if(e===r.toLowerCase())return!0;return!1},Wc=(e,t={})=>{var r,n;const{headers:s,query:i={}}=Z.clone(e);for(const o of Object.keys(s)){const a=o.toLowerCase();(a.slice(0,6)==="x-amz-"&&!((r=t.unhoistableHeaders)!=null&&r.has(a))||(n=t.hoistableHeaders)!=null&&n.has(a))&&(i[o]=s[o],delete s[o])}return{...e,headers:s,query:i}},ns=e=>{e=Z.clone(e);for(const t of Object.keys(e.headers))Nc.indexOf(t.toLowerCase())>-1&&delete e.headers[t];return e},Gc=e=>Zc(e).toISOString().replace(/\.\d{3}Z$/,"Z"),Zc=e=>typeof e=="number"?new Date(e*1e3):typeof e=="string"?Number(e)?new Date(Number(e)*1e3):new Date(e):e;class Wr{constructor({applyChecksum:t,credentials:r,region:n,service:s,sha256:i,uriEscapePath:o=!0}){this.headerFormatter=new qc,this.service=s,this.sha256=i,this.uriEscapePath=o,this.applyChecksum=typeof t=="boolean"?t:!0,this.regionProvider=Te(n),this.credentialProvider=Te(r)}async presign(t,r={}){const{signingDate:n=new Date,expiresIn:s=3600,unsignableHeaders:i,unhoistableHeaders:o,signableHeaders:a,hoistableHeaders:c,signingRegion:u,signingService:f}=r,d=await this.credentialProvider();this.validateResolvedCredentials(d);const p=u??await this.regionProvider(),{longDate:g,shortDate:S}=Ct(n);if(s>Fc)return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future");const R=ur(S,p,f??this.service),E=Wc(ns(t),{unhoistableHeaders:o,hoistableHeaders:c});d.sessionToken&&(E.query[Ji]=d.sessionToken),E.query[Rc]=ar,E.query[Cc]=`${d.accessKeyId}/${R}`,E.query[Yi]=g,E.query[Tc]=s.toString(10);const $=es(E,i,a);return E.query[Pc]=ss($),E.query[Qi]=await this.getSignature(g,R,this.getSigningKey(d,p,S,f),this.createCanonicalRequest(E,$,await lr(t,this.sha256))),E}async sign(t,r){return typeof t=="string"?this.signString(t,r):t.headers&&t.payload?this.signEvent(t,r):t.message?this.signMessage(t,r):this.signRequest(t,r)}async signEvent({headers:t,payload:r},{signingDate:n=new Date,priorSignature:s,signingRegion:i,signingService:o}){const a=i??await this.regionProvider(),{shortDate:c,longDate:u}=Ct(n),f=ur(c,a,o??this.service),d=await lr({headers:{},body:r},this.sha256),p=new this.sha256;p.update(t);const g=ge(await p.digest()),S=[Dc,u,f,s,g,d].join(`
  10. `);return this.signString(S,{signingDate:n,signingRegion:a,signingService:o})}async signMessage(t,{signingDate:r=new Date,signingRegion:n,signingService:s}){return this.signEvent({headers:this.headerFormatter.format(t.message.headers),payload:t.message.body},{signingDate:r,signingRegion:n,signingService:s,priorSignature:t.priorSignature}).then(i=>({message:t.message,signature:i}))}async signString(t,{signingDate:r=new Date,signingRegion:n,signingService:s}={}){const i=await this.credentialProvider();this.validateResolvedCredentials(i);const o=n??await this.regionProvider(),{shortDate:a}=Ct(r),c=new this.sha256(await this.getSigningKey(i,o,a,s));return c.update(st(t)),ge(await c.digest())}async signRequest(t,{signingDate:r=new Date,signableHeaders:n,unsignableHeaders:s,signingRegion:i,signingService:o}={}){const a=await this.credentialProvider();this.validateResolvedCredentials(a);const c=i??await this.regionProvider(),u=ns(t),{longDate:f,shortDate:d}=Ct(r),p=ur(d,c,o??this.service);u.headers[to]=f,a.sessionToken&&(u.headers[Mc]=a.sessionToken);const g=await lr(u,this.sha256);!Kc(Kr,u.headers)&&this.applyChecksum&&(u.headers[Kr]=g);const S=es(u,s,n),R=await this.getSignature(f,p,this.getSigningKey(a,c,d,o),this.createCanonicalRequest(u,S,g));return u.headers[eo]=`${ar} Credential=${a.accessKeyId}/${p}, SignedHeaders=${ss(S)}, Signature=${R}`,u}createCanonicalRequest(t,r,n){const s=Object.keys(r).sort();return`${t.method}
  11. ${this.getCanonicalPath(t)}
  12. ${jc(t)}
  13. ${s.map(i=>`${i}:${r[i]}`).join(`
  14. `)}
  15. ${s.join(";")}
  16. ${n}`}async createStringToSign(t,r,n){const s=new this.sha256;s.update(st(n));const i=await s.digest();return`${ar}
  17. ${t}
  18. ${r}
  19. ${ge(i)}`}getCanonicalPath({path:t}){if(this.uriEscapePath){const r=[];for(const s of t.split("/"))(s==null?void 0:s.length)!==0&&s!=="."&&(s===".."?r.pop():r.push(s));const n=`${t!=null&&t.startsWith("/")?"/":""}${r.join("/")}${r.length>0&&t!=null&&t.endsWith("/")?"/":""}`;return Xe(n).replace(/%2F/g,"/")}return t}async getSignature(t,r,n,s){const i=await this.createStringToSign(t,r,s),o=new this.sha256(await n);return o.update(st(i)),ge(await o.digest())}getSigningKey(t,r,n,s){return Hc(this.sha256,t,n,r,s||this.service)}validateResolvedCredentials(t){if(typeof t!="object"||typeof t.accessKeyId!="string"||typeof t.secretAccessKey!="string")throw new Error("Resolved credential object is not valid")}}const Ct=e=>{const t=Gc(e).replace(/[\-:]/g,"");return{longDate:t,shortDate:t.slice(0,8)}},ss=e=>Object.keys(e).sort().join(";"),Xc=e=>{let t=!1,r;e.credentials&&(t=!0,r=Ac(e.credentials,Ec,Xi)),r||(e.credentialDefaultProvider?r=rt(e.credentialDefaultProvider(Object.assign({},e,{parentClientConfig:e}))):r=async()=>{throw new Error("`credentials` is missing")});const{signingEscapePath:n=!0,systemClockOffset:s=e.systemClockOffset||0,sha256:i}=e;let o;return e.signer?o=rt(e.signer):e.regionInfoProvider?o=()=>rt(e.region)().then(async a=>[await e.regionInfoProvider(a,{useFipsEndpoint:await e.useFipsEndpoint(),useDualstackEndpoint:await e.useDualstackEndpoint()})||{},a]).then(([a,c])=>{const{signingRegion:u,signingService:f}=a;e.signingRegion=e.signingRegion||u||c,e.signingName=e.signingName||f||e.serviceId;const d={...e,credentials:r,region:e.signingRegion,service:e.signingName,sha256:i,uriEscapePath:n},p=e.signerConstructor||Wr;return new p(d)}):o=async a=>{a=Object.assign({},{name:"sigv4",signingName:e.signingName||e.defaultSigningName,signingRegion:await rt(e.region)(),properties:{}},a);const c=a.signingRegion,u=a.signingName;e.signingRegion=e.signingRegion||c,e.signingName=e.signingName||u||e.serviceId;const f={...e,credentials:r,region:e.signingRegion,service:e.signingName,sha256:i,uriEscapePath:n},d=e.signerConstructor||Wr;return new d(f)},{...e,systemClockOffset:s,signingEscapePath:n,credentials:t?async()=>r().then(a=>Va(a,"CREDENTIALS_CODE","e")):r,signer:o}},ze=(e,t)=>{const r=[];if(e&&r.push(e),t)for(const n of t)r.push(n);return r},Ue=(e,t)=>`${e||"anonymous"}${t&&t.length>0?` (a.k.a. ${t.join(",")})`:""}`,Ht=()=>{let e=[],t=[],r=!1;const n=new Set,s=d=>d.sort((p,g)=>is[g.step]-is[p.step]||os[g.priority||"normal"]-os[p.priority||"normal"]),i=d=>{let p=!1;const g=S=>{const R=ze(S.name,S.aliases);if(R.includes(d)){p=!0;for(const E of R)n.delete(E);return!1}return!0};return e=e.filter(g),t=t.filter(g),p},o=d=>{let p=!1;const g=S=>{if(S.middleware===d){p=!0;for(const R of ze(S.name,S.aliases))n.delete(R);return!1}return!0};return e=e.filter(g),t=t.filter(g),p},a=d=>{var p;return e.forEach(g=>{d.add(g.middleware,{...g})}),t.forEach(g=>{d.addRelativeTo(g.middleware,{...g})}),(p=d.identifyOnResolve)==null||p.call(d,f.identifyOnResolve()),d},c=d=>{const p=[];return d.before.forEach(g=>{g.before.length===0&&g.after.length===0?p.push(g):p.push(...c(g))}),p.push(d),d.after.reverse().forEach(g=>{g.before.length===0&&g.after.length===0?p.push(g):p.push(...c(g))}),p},u=(d=!1)=>{const p=[],g=[],S={};return e.forEach(R=>{const E={...R,before:[],after:[]};for(const $ of ze(E.name,E.aliases))S[$]=E;p.push(E)}),t.forEach(R=>{const E={...R,before:[],after:[]};for(const $ of ze(E.name,E.aliases))S[$]=E;g.push(E)}),g.forEach(R=>{if(R.toMiddleware){const E=S[R.toMiddleware];if(E===void 0){if(d)return;throw new Error(`${R.toMiddleware} is not found when adding ${Ue(R.name,R.aliases)} middleware ${R.relation} ${R.toMiddleware}`)}R.relation==="after"&&E.after.push(R),R.relation==="before"&&E.before.push(R)}}),s(p).map(c).reduce((R,E)=>(R.push(...E),R),[])},f={add:(d,p={})=>{const{name:g,override:S,aliases:R}=p,E={step:"initialize",priority:"normal",middleware:d,...p},$=ze(g,R);if($.length>0){if($.some(M=>n.has(M))){if(!S)throw new Error(`Duplicate middleware name '${Ue(g,R)}'`);for(const M of $){const X=e.findIndex(ne=>{var dt;return ne.name===M||((dt=ne.aliases)==null?void 0:dt.some(or=>or===M))});if(X===-1)continue;const j=e[X];if(j.step!==E.step||E.priority!==j.priority)throw new Error(`"${Ue(j.name,j.aliases)}" middleware with ${j.priority} priority in ${j.step} step cannot be overridden by "${Ue(g,R)}" middleware with ${E.priority} priority in ${E.step} step.`);e.splice(X,1)}}for(const M of $)n.add(M)}e.push(E)},addRelativeTo:(d,p)=>{const{name:g,override:S,aliases:R}=p,E={middleware:d,...p},$=ze(g,R);if($.length>0){if($.some(M=>n.has(M))){if(!S)throw new Error(`Duplicate middleware name '${Ue(g,R)}'`);for(const M of $){const X=t.findIndex(ne=>{var dt;return ne.name===M||((dt=ne.aliases)==null?void 0:dt.some(or=>or===M))});if(X===-1)continue;const j=t[X];if(j.toMiddleware!==E.toMiddleware||j.relation!==E.relation)throw new Error(`"${Ue(j.name,j.aliases)}" middleware ${j.relation} "${j.toMiddleware}" middleware cannot be overridden by "${Ue(g,R)}" middleware ${E.relation} "${E.toMiddleware}" middleware.`);t.splice(X,1)}}for(const M of $)n.add(M)}t.push(E)},clone:()=>a(Ht()),use:d=>{d.applyToStack(f)},remove:d=>typeof d=="string"?i(d):o(d),removeByTag:d=>{let p=!1;const g=S=>{const{tags:R,name:E,aliases:$}=S;if(R&&R.includes(d)){const M=ze(E,$);for(const X of M)n.delete(X);return p=!0,!1}return!0};return e=e.filter(g),t=t.filter(g),p},concat:d=>{var p;const g=a(Ht());return g.use(d),g.identifyOnResolve(r||g.identifyOnResolve()||(((p=d.identifyOnResolve)==null?void 0:p.call(d))??!1)),g},applyToStack:a,identify:()=>u(!0).map(d=>{const p=d.step??d.relation+" "+d.toMiddleware;return Ue(d.name,d.aliases)+" - "+p}),identifyOnResolve(d){return typeof d=="boolean"&&(r=d),r},resolve:(d,p)=>{for(const g of u().map(S=>S.middleware).reverse())d=g(d,p);return d}};return f},is={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1},os={high:3,normal:2,low:1};class Yc{constructor(t){this.config=t,this.middlewareStack=Ht()}send(t,r,n){const s=typeof r!="function"?r:void 0,i=typeof r=="function"?r:n,o=s===void 0&&this.config.cacheMiddleware===!0;let a;if(o){this.handlers||(this.handlers=new WeakMap);const c=this.handlers;c.has(t.constructor)?a=c.get(t.constructor):(a=t.resolveMiddleware(this.middlewareStack,this.config,s),c.set(t.constructor,a))}else delete this.handlers,a=t.resolveMiddleware(this.middlewareStack,this.config,s);if(i)a(t).then(c=>i(null,c.output),c=>i(c)).catch(()=>{});else return a(t).then(c=>c.output)}destroy(){var t,r,n;(n=(r=(t=this.config)==null?void 0:t.requestHandler)==null?void 0:r.destroy)==null||n.call(r),delete this.handlers}}class un{constructor(){this.middlewareStack=Ht()}static classBuilder(){return new Qc}resolveMiddlewareWithContext(t,r,n,{middlewareFn:s,clientName:i,commandName:o,inputFilterSensitiveLog:a,outputFilterSensitiveLog:c,smithyContext:u,additionalContext:f,CommandCtor:d}){for(const E of s.bind(this)(d,t,r,n))this.middlewareStack.use(E);const p=t.concat(this.middlewareStack),{logger:g}=r,S={logger:g,clientName:i,commandName:o,inputFilterSensitiveLog:a,outputFilterSensitiveLog:c,[zr]:{commandInstance:this,...u},...f},{requestHandler:R}=r;return p.resolve(E=>R.handle(E.request,n||{}),S)}}class Qc{constructor(){this._init=()=>{},this._ep={},this._middlewareFn=()=>[],this._commandName="",this._clientName="",this._additionalContext={},this._smithyContext={},this._inputFilterSensitiveLog=t=>t,this._outputFilterSensitiveLog=t=>t,this._serializer=null,this._deserializer=null}init(t){this._init=t}ep(t){return this._ep=t,this}m(t){return this._middlewareFn=t,this}s(t,r,n={}){return this._smithyContext={service:t,operation:r,...n},this}c(t={}){return this._additionalContext=t,this}n(t,r){return this._clientName=t,this._commandName=r,this}f(t=n=>n,r=n=>n){return this._inputFilterSensitiveLog=t,this._outputFilterSensitiveLog=r,this}ser(t){return this._serializer=t,this}de(t){return this._deserializer=t,this}build(){const t=this;let r;return r=class extends un{static getEndpointParameterInstructions(){return t._ep}constructor(...[n]){super(),this.serialize=t._serializer,this.deserialize=t._deserializer,this.input=n??{},t._init(this)}resolveMiddleware(n,s,i){return this.resolveMiddlewareWithContext(n,s,i,{CommandCtor:r,middlewareFn:t._middlewareFn,clientName:t._clientName,commandName:t._commandName,inputFilterSensitiveLog:t._inputFilterSensitiveLog,outputFilterSensitiveLog:t._outputFilterSensitiveLog,smithyContext:t._smithyContext,additionalContext:t._additionalContext})}}}}const ke="***SensitiveInformation***",io=e=>{switch(e){case"true":return!0;case"false":return!1;default:throw new Error(`Unable to parse boolean value "${e}"`)}},Jc=e=>{if(e!=null){if(typeof e=="string"){const t=parseFloat(e);if(!Number.isNaN(t))return String(t)!==String(e)&&uo.warn(co(`Expected number but observed string: ${e}`)),t}if(typeof e=="number")return e;throw new TypeError(`Expected number, got ${typeof e}: ${e}`)}},eu=Math.ceil(2**127*(2-2**-23)),tu=e=>{const t=Jc(e);if(t!==void 0&&!Number.isNaN(t)&&t!==1/0&&t!==-1/0&&Math.abs(t)>eu)throw new TypeError(`Expected 32-bit float, got ${e}`);return t},ru=e=>{if(e!=null){if(Number.isInteger(e)&&!Number.isNaN(e))return e;throw new TypeError(`Expected integer, got ${typeof e}: ${e}`)}},nu=e=>oo(e,16),su=e=>oo(e,8),oo=(e,t)=>{const r=ru(e);if(r!==void 0&&iu(r,t)!==r)throw new TypeError(`Expected ${t}-bit integer, got ${e}`);return r},iu=(e,t)=>{switch(t){case 32:return Int32Array.of(e)[0];case 16:return Int16Array.of(e)[0];case 8:return Int8Array.of(e)[0]}},ao=(e,t)=>{if(e==null)throw t?new TypeError(`Expected a non-null value for ${t}`):new TypeError("Expected a non-null value");return e},ou=e=>{if(e==null)return;if(typeof e=="object"&&!Array.isArray(e))return e;const t=Array.isArray(e)?"array":typeof e;throw new TypeError(`Expected object, got ${t}: ${e}`)},wt=e=>{if(e!=null){if(typeof e=="string")return e;if(["boolean","number","bigint"].includes(typeof e))return uo.warn(co(`Expected string, got ${typeof e}: ${e}`)),String(e);throw new TypeError(`Expected string, got ${typeof e}: ${e}`)}},au=e=>tu(typeof e=="string"?ln(e):e),cu=/(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g,ln=e=>{const t=e.match(cu);if(t===null||t[0].length!==e.length)throw new TypeError("Expected real number, got implicit NaN");return parseFloat(e)},uu=e=>nu(typeof e=="string"?ln(e):e),lu=e=>su(typeof e=="string"?ln(e):e),co=e=>String(new TypeError(e).stack||e).split(`
  20. `).slice(0,5).filter(t=>!t.includes("stackTraceWarning")).join(`
  21. `),uo={warn:console.warn},du=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],lo=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function hu(e){const t=e.getUTCFullYear(),r=e.getUTCMonth(),n=e.getUTCDay(),s=e.getUTCDate(),i=e.getUTCHours(),o=e.getUTCMinutes(),a=e.getUTCSeconds(),c=s<10?`0${s}`:`${s}`,u=i<10?`0${i}`:`${i}`,f=o<10?`0${o}`:`${o}`,d=a<10?`0${a}`:`${a}`;return`${du[n]}, ${c} ${lo[r]} ${t} ${u}:${f}:${d} GMT`}const fu=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}\:\d{2})|[zZ])$/),pu=e=>{if(e==null)return;if(typeof e!="string")throw new TypeError("RFC-3339 date-times must be expressed as strings");const t=fu.exec(e);if(!t)throw new TypeError("Invalid RFC-3339 date-time value");const[r,n,s,i,o,a,c,u,f]=t,d=uu(ho(n)),p=bt(s,"month",1,12),g=bt(i,"day",1,31),S=gu(d,p,g,{hours:o,minutes:a,seconds:c,fractionalMilliseconds:u});return f.toUpperCase()!="Z"&&S.setTime(S.getTime()-vu(f)),S},gu=(e,t,r,n)=>{const s=t-1;return yu(e,s,r),new Date(Date.UTC(e,s,r,bt(n.hours,"hour",0,23),bt(n.minutes,"minute",0,59),bt(n.seconds,"seconds",0,60),bu(n.fractionalMilliseconds)))},mu=[31,28,31,30,31,30,31,31,30,31,30,31],yu=(e,t,r)=>{let n=mu[t];if(t===1&&wu(e)&&(n=29),r>n)throw new TypeError(`Invalid day for ${lo[t]} in ${e}: ${r}`)},wu=e=>e%4===0&&(e%100!==0||e%400===0),bt=(e,t,r,n)=>{const s=lu(ho(e));if(s<r||s>n)throw new TypeError(`${t} must be between ${r} and ${n}, inclusive`);return s},bu=e=>e==null?0:au("0."+e)*1e3,vu=e=>{const t=e[0];let r=1;if(t=="+")r=1;else if(t=="-")r=-1;else throw new TypeError(`Offset direction, ${t}, must be "+" or "-"`);const n=Number(e.substring(1,3)),s=Number(e.substring(4,6));return r*(n*60+s)*60*1e3},ho=e=>{let t=0;for(;t<e.length-1&&e.charAt(t)==="0";)t++;return t===0?e:e.slice(t)};class dn extends Error{constructor(t){super(t.message),Object.setPrototypeOf(this,dn.prototype),this.name=t.name,this.$fault=t.$fault,this.$metadata=t.$metadata}}const Ne=(e,t={})=>{Object.entries(t).filter(([,n])=>n!==void 0).forEach(([n,s])=>{(e[n]==null||e[n]==="")&&(e[n]=s)});const r=e.message||e.Message||"UnknownError";return e.message=r,delete e.Message,e},Su=({output:e,parsedBody:t,exceptionCtor:r,errorCode:n})=>{const s=Au(e),i=s.httpStatusCode?s.httpStatusCode+"":void 0,o=new r({name:(t==null?void 0:t.code)||(t==null?void 0:t.Code)||n||i||"UnknownError",$fault:"client",$metadata:s});throw Ne(o,t)},Eu=e=>({output:t,parsedBody:r,errorCode:n})=>{Su({output:t,parsedBody:r,exceptionCtor:e,errorCode:n})},Au=e=>({httpStatusCode:e.statusCode,requestId:e.headers["x-amzn-requestid"]??e.headers["x-amzn-request-id"]??e.headers["x-amz-request-id"],extendedRequestId:e.headers["x-amz-id-2"],cfId:e.headers["x-amz-cf-id"]}),xu=e=>{switch(e){case"standard":return{retryMode:"standard",connectionTimeout:3100};case"in-region":return{retryMode:"standard",connectionTimeout:1100};case"cross-region":return{retryMode:"standard",connectionTimeout:3100};case"mobile":return{retryMode:"standard",connectionTimeout:3e4};default:return{}}},ku=e=>{const t=[];for(const r in Ft){const n=Ft[r];e[n]!==void 0&&t.push({algorithmId:()=>n,checksumConstructor:()=>e[n]})}return{_checksumAlgorithms:t,addChecksumAlgorithm(r){this._checksumAlgorithms.push(r)},checksumAlgorithms(){return this._checksumAlgorithms}}},Ru=e=>{const t={};return e.checksumAlgorithms().forEach(r=>{t[r.algorithmId()]=r.checksumConstructor()}),t},Cu=e=>{let t=e.retryStrategy;return{setRetryStrategy(r){t=r},retryStrategy(){return t}}},Pu=e=>{const t={};return t.retryStrategy=e.retryStrategy(),t},Tu=e=>({...ku(e),...Cu(e)}),Iu=e=>({...Ru(e),...Pu(e)}),fo=e=>{const t="#text";for(const r in e)e.hasOwnProperty(r)&&e[r][t]!==void 0?e[r]=e[r][t]:typeof e[r]=="object"&&e[r]!==null&&(e[r]=fo(e[r]));return e},We=e=>e!=null,Gr=function(){const e=Object.getPrototypeOf(this).constructor,t=Function.bind.apply(String,[null,...arguments]),r=new t;return Object.setPrototypeOf(r,e.prototype),r};Gr.prototype=Object.create(String.prototype,{constructor:{value:Gr,enumerable:!1,writable:!0,configurable:!0}});Object.setPrototypeOf(Gr,String);class hn{trace(){}debug(){}info(){}warn(){}error(){}}function ce(e,t,r){let n,s,i;if(typeof t>"u"&&typeof r>"u")n={},i=e;else{if(n=e,typeof t=="function")return s=t,i=r,Nu(n,s,i);i=t}for(const o of Object.keys(i)){if(!Array.isArray(i[o])){n[o]=i[o];continue}Ou(n,null,i,o)}return n}const Nu=(e,t,r)=>ce(e,Object.entries(r).reduce((n,[s,i])=>(Array.isArray(i)?n[s]=i:typeof i=="function"?n[s]=[t,i()]:n[s]=[t,i],n),{})),Ou=(e,t,r,n)=>{let[s,i]=r[n];if(typeof i=="function"){let o;const a=s===void 0&&(o=i())!=null,c=typeof s=="function"&&!!s(void 0)||typeof s!="function"&&!!s;a?e[n]=o:c&&(e[n]=i())}else{const o=s===void 0&&i!=null,a=typeof s=="function"&&!!s(i)||typeof s!="function"&&!!s;(o||a)&&(e[n]=i)}},Mu=e=>e.toISOString().replace(".000Z","Z"),Uu=(e,t)=>Gi(e,t).then(r=>t.utf8Encoder(r));var po={},Zt={};(function(e){const t=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",r=t+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",n="["+t+"]["+r+"]*",s=new RegExp("^"+n+"$"),i=function(a,c){const u=[];let f=c.exec(a);for(;f;){const d=[];d.startIndex=c.lastIndex-f[0].length;const p=f.length;for(let g=0;g<p;g++)d.push(f[g]);u.push(d),f=c.exec(a)}return u},o=function(a){const c=s.exec(a);return!(c===null||typeof c>"u")};e.isExist=function(a){return typeof a<"u"},e.isEmptyObject=function(a){return Object.keys(a).length===0},e.merge=function(a,c,u){if(c){const f=Object.keys(c),d=f.length;for(let p=0;p<d;p++)u==="strict"?a[f[p]]=[c[f[p]]]:a[f[p]]=c[f[p]]}},e.getValue=function(a){return e.isExist(a)?a:""},e.isName=o,e.getAllMatches=i,e.nameRegexp=n})(Zt);const fn=Zt,$u={allowBooleanAttributes:!1,unpairedTags:[]};po.validate=function(e,t){t=Object.assign({},$u,t);const r=[];let n=!1,s=!1;e[0]==="\uFEFF"&&(e=e.substr(1));for(let i=0;i<e.length;i++)if(e[i]==="<"&&e[i+1]==="?"){if(i+=2,i=cs(e,i),i.err)return i}else if(e[i]==="<"){let o=i;if(i++,e[i]==="!"){i=us(e,i);continue}else{let a=!1;e[i]==="/"&&(a=!0,i++);let c="";for(;i<e.length&&e[i]!==">"&&e[i]!==" "&&e[i]!==" "&&e[i]!==`
  22. `&&e[i]!=="\r";i++)c+=e[i];if(c=c.trim(),c[c.length-1]==="/"&&(c=c.substring(0,c.length-1),i--),!qu(c)){let d;return c.trim().length===0?d="Invalid space after '<'.":d="Tag '"+c+"' is an invalid name.",z("InvalidTag",d,le(e,i))}const u=Bu(e,i);if(u===!1)return z("InvalidAttr","Attributes for '"+c+"' have open quote.",le(e,i));let f=u.value;if(i=u.index,f[f.length-1]==="/"){const d=i-f.length;f=f.substring(0,f.length-1);const p=ls(f,t);if(p===!0)n=!0;else return z(p.err.code,p.err.msg,le(e,d+p.err.line))}else if(a)if(u.tagClosed){if(f.trim().length>0)return z("InvalidTag","Closing tag '"+c+"' can't have attributes or invalid starting.",le(e,o));if(r.length===0)return z("InvalidTag","Closing tag '"+c+"' has not been opened.",le(e,o));{const d=r.pop();if(c!==d.tagName){let p=le(e,d.tagStartPos);return z("InvalidTag","Expected closing tag '"+d.tagName+"' (opened in line "+p.line+", col "+p.col+") instead of closing tag '"+c+"'.",le(e,o))}r.length==0&&(s=!0)}}else return z("InvalidTag","Closing tag '"+c+"' doesn't have proper closing.",le(e,i));else{const d=ls(f,t);if(d!==!0)return z(d.err.code,d.err.msg,le(e,i-f.length+d.err.line));if(s===!0)return z("InvalidXml","Multiple possible root nodes found.",le(e,i));t.unpairedTags.indexOf(c)!==-1||r.push({tagName:c,tagStartPos:o}),n=!0}for(i++;i<e.length;i++)if(e[i]==="<")if(e[i+1]==="!"){i++,i=us(e,i);continue}else if(e[i+1]==="?"){if(i=cs(e,++i),i.err)return i}else break;else if(e[i]==="&"){const d=Hu(e,i);if(d==-1)return z("InvalidChar","char '&' is not expected.",le(e,i));i=d}else if(s===!0&&!as(e[i]))return z("InvalidXml","Extra text at the end",le(e,i));e[i]==="<"&&i--}}else{if(as(e[i]))continue;return z("InvalidChar","char '"+e[i]+"' is not expected.",le(e,i))}if(n){if(r.length==1)return z("InvalidTag","Unclosed tag '"+r[0].tagName+"'.",le(e,r[0].tagStartPos));if(r.length>0)return z("InvalidXml","Invalid '"+JSON.stringify(r.map(i=>i.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return z("InvalidXml","Start tag expected.",1);return!0};function as(e){return e===" "||e===" "||e===`
  23. `||e==="\r"}function cs(e,t){const r=t;for(;t<e.length;t++)if(e[t]=="?"||e[t]==" "){const n=e.substr(r,t-r);if(t>5&&n==="xml")return z("InvalidXml","XML declaration allowed only at the start of the document.",le(e,t));if(e[t]=="?"&&e[t+1]==">"){t++;break}else continue}return t}function us(e,t){if(e.length>t+5&&e[t+1]==="-"&&e[t+2]==="-"){for(t+=3;t<e.length;t++)if(e[t]==="-"&&e[t+1]==="-"&&e[t+2]===">"){t+=2;break}}else if(e.length>t+8&&e[t+1]==="D"&&e[t+2]==="O"&&e[t+3]==="C"&&e[t+4]==="T"&&e[t+5]==="Y"&&e[t+6]==="P"&&e[t+7]==="E"){let r=1;for(t+=8;t<e.length;t++)if(e[t]==="<")r++;else if(e[t]===">"&&(r--,r===0))break}else if(e.length>t+9&&e[t+1]==="["&&e[t+2]==="C"&&e[t+3]==="D"&&e[t+4]==="A"&&e[t+5]==="T"&&e[t+6]==="A"&&e[t+7]==="["){for(t+=8;t<e.length;t++)if(e[t]==="]"&&e[t+1]==="]"&&e[t+2]===">"){t+=2;break}}return t}const _u='"',Du="'";function Bu(e,t){let r="",n="",s=!1;for(;t<e.length;t++){if(e[t]===_u||e[t]===Du)n===""?n=e[t]:n!==e[t]||(n="");else if(e[t]===">"&&n===""){s=!0;break}r+=e[t]}return n!==""?!1:{value:r,index:t,tagClosed:s}}const Lu=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function ls(e,t){const r=fn.getAllMatches(e,Lu),n={};for(let s=0;s<r.length;s++){if(r[s][1].length===0)return z("InvalidAttr","Attribute '"+r[s][2]+"' has no space in starting.",ht(r[s]));if(r[s][3]!==void 0&&r[s][4]===void 0)return z("InvalidAttr","Attribute '"+r[s][2]+"' is without value.",ht(r[s]));if(r[s][3]===void 0&&!t.allowBooleanAttributes)return z("InvalidAttr","boolean attribute '"+r[s][2]+"' is not allowed.",ht(r[s]));const i=r[s][2];if(!ju(i))return z("InvalidAttr","Attribute '"+i+"' is an invalid name.",ht(r[s]));if(!n.hasOwnProperty(i))n[i]=1;else return z("InvalidAttr","Attribute '"+i+"' is repeated.",ht(r[s]))}return!0}function Fu(e,t){let r=/\d/;for(e[t]==="x"&&(t++,r=/[\da-fA-F]/);t<e.length;t++){if(e[t]===";")return t;if(!e[t].match(r))break}return-1}function Hu(e,t){if(t++,e[t]===";")return-1;if(e[t]==="#")return t++,Fu(e,t);let r=0;for(;t<e.length;t++,r++)if(!(e[t].match(/\w/)&&r<20)){if(e[t]===";")break;return-1}return t}function z(e,t,r){return{err:{code:e,msg:t,line:r.line||r,col:r.col}}}function ju(e){return fn.isName(e)}function qu(e){return fn.isName(e)}function le(e,t){const r=e.substring(0,t).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}function ht(e){return e.startIndex+e[1].length}var pn={};const go={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,t,r){return e}},zu=function(e){return Object.assign({},go,e)};pn.buildOptions=zu;pn.defaultOptions=go;class Vu{constructor(t){this.tagname=t,this.child=[],this[":@"]={}}add(t,r){t==="__proto__"&&(t="#__proto__"),this.child.push({[t]:r})}addChild(t){t.tagname==="__proto__"&&(t.tagname="#__proto__"),t[":@"]&&Object.keys(t[":@"]).length>0?this.child.push({[t.tagname]:t.child,":@":t[":@"]}):this.child.push({[t.tagname]:t.child})}}var Ku=Vu;const Wu=Zt;function Gu(e,t){const r={};if(e[t+3]==="O"&&e[t+4]==="C"&&e[t+5]==="T"&&e[t+6]==="Y"&&e[t+7]==="P"&&e[t+8]==="E"){t=t+9;let n=1,s=!1,i=!1,o="";for(;t<e.length;t++)if(e[t]==="<"&&!i){if(s&&Yu(e,t))t+=7,[entityName,val,t]=Zu(e,t+1),val.indexOf("&")===-1&&(r[tl(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(s&&Qu(e,t))t+=8;else if(s&&Ju(e,t))t+=8;else if(s&&el(e,t))t+=9;else if(Xu)i=!0;else throw new Error("Invalid DOCTYPE");n++,o=""}else if(e[t]===">"){if(i?e[t-1]==="-"&&e[t-2]==="-"&&(i=!1,n--):n--,n===0)break}else e[t]==="["?s=!0:o+=e[t];if(n!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:r,i:t}}function Zu(e,t){let r="";for(;t<e.length&&e[t]!=="'"&&e[t]!=='"';t++)r+=e[t];if(r=r.trim(),r.indexOf(" ")!==-1)throw new Error("External entites are not supported");const n=e[t++];let s="";for(;t<e.length&&e[t]!==n;t++)s+=e[t];return[r,s,t]}function Xu(e,t){return e[t+1]==="!"&&e[t+2]==="-"&&e[t+3]==="-"}function Yu(e,t){return e[t+1]==="!"&&e[t+2]==="E"&&e[t+3]==="N"&&e[t+4]==="T"&&e[t+5]==="I"&&e[t+6]==="T"&&e[t+7]==="Y"}function Qu(e,t){return e[t+1]==="!"&&e[t+2]==="E"&&e[t+3]==="L"&&e[t+4]==="E"&&e[t+5]==="M"&&e[t+6]==="E"&&e[t+7]==="N"&&e[t+8]==="T"}function Ju(e,t){return e[t+1]==="!"&&e[t+2]==="A"&&e[t+3]==="T"&&e[t+4]==="T"&&e[t+5]==="L"&&e[t+6]==="I"&&e[t+7]==="S"&&e[t+8]==="T"}function el(e,t){return e[t+1]==="!"&&e[t+2]==="N"&&e[t+3]==="O"&&e[t+4]==="T"&&e[t+5]==="A"&&e[t+6]==="T"&&e[t+7]==="I"&&e[t+8]==="O"&&e[t+9]==="N"}function tl(e){if(Wu.isName(e))return e;throw new Error(`Invalid entity name ${e}`)}var rl=Gu;const nl=/^[-+]?0x[a-fA-F0-9]+$/,sl=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const il={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function ol(e,t={}){if(t=Object.assign({},il,t),!e||typeof e!="string")return e;let r=e.trim();if(t.skipLike!==void 0&&t.skipLike.test(r))return e;if(t.hex&&nl.test(r))return Number.parseInt(r,16);{const n=sl.exec(r);if(n){const s=n[1],i=n[2];let o=al(n[3]);const a=n[4]||n[6];if(!t.leadingZeros&&i.length>0&&s&&r[2]!=="."||!t.leadingZeros&&i.length>0&&!s&&r[1]!==".")return e;{const c=Number(r),u=""+c;return u.search(/[eE]/)!==-1||a?t.eNotation?c:e:r.indexOf(".")!==-1?u==="0"&&o===""||u===o||s&&u==="-"+o?c:e:i?o===u||s+o===u?c:e:r===u||r===s+u?c:e}}else return e}}function al(e){return e&&e.indexOf(".")!==-1&&(e=e.replace(/0+$/,""),e==="."?e="0":e[0]==="."?e="0"+e:e[e.length-1]==="."&&(e=e.substr(0,e.length-1))),e}var cl=ol;const mo=Zt,ft=Ku,ul=rl,ll=cl;let dl=class{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(t,r)=>String.fromCharCode(Number.parseInt(r,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(t,r)=>String.fromCharCode(Number.parseInt(r,16))}},this.addExternalEntities=hl,this.parseXml=yl,this.parseTextData=fl,this.resolveNameSpace=pl,this.buildAttributesMap=ml,this.isItStopNode=Sl,this.replaceEntitiesValue=bl,this.readStopNodeData=Al,this.saveTextToParentTag=vl,this.addChild=wl}};function hl(e){const t=Object.keys(e);for(let r=0;r<t.length;r++){const n=t[r];this.lastEntities[n]={regex:new RegExp("&"+n+";","g"),val:e[n]}}}function fl(e,t,r,n,s,i,o){if(e!==void 0&&(this.options.trimValues&&!n&&(e=e.trim()),e.length>0)){o||(e=this.replaceEntitiesValue(e));const a=this.options.tagValueProcessor(t,e,r,s,i);return a==null?e:typeof a!=typeof e||a!==e?a:this.options.trimValues?Xr(e,this.options.parseTagValue,this.options.numberParseOptions):e.trim()===e?Xr(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function pl(e){if(this.options.removeNSPrefix){const t=e.split(":"),r=e.charAt(0)==="/"?"/":"";if(t[0]==="xmlns")return"";t.length===2&&(e=r+t[1])}return e}const gl=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function ml(e,t,r){if(!this.options.ignoreAttributes&&typeof e=="string"){const n=mo.getAllMatches(e,gl),s=n.length,i={};for(let o=0;o<s;o++){const a=this.resolveNameSpace(n[o][1]);let c=n[o][4],u=this.options.attributeNamePrefix+a;if(a.length)if(this.options.transformAttributeName&&(u=this.options.transformAttributeName(u)),u==="__proto__"&&(u="#__proto__"),c!==void 0){this.options.trimValues&&(c=c.trim()),c=this.replaceEntitiesValue(c);const f=this.options.attributeValueProcessor(a,c,t);f==null?i[u]=c:typeof f!=typeof c||f!==c?i[u]=f:i[u]=Xr(c,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(i[u]=!0)}if(!Object.keys(i).length)return;if(this.options.attributesGroupName){const o={};return o[this.options.attributesGroupName]=i,o}return i}}const yl=function(e){e=e.replace(/\r\n?/g,`
  24. `);const t=new ft("!xml");let r=t,n="",s="";for(let i=0;i<e.length;i++)if(e[i]==="<")if(e[i+1]==="/"){const o=Ge(e,">",i,"Closing Tag is not closed.");let a=e.substring(i+2,o).trim();if(this.options.removeNSPrefix){const f=a.indexOf(":");f!==-1&&(a=a.substr(f+1))}this.options.transformTagName&&(a=this.options.transformTagName(a)),r&&(n=this.saveTextToParentTag(n,r,s));const c=s.substring(s.lastIndexOf(".")+1);if(a&&this.options.unpairedTags.indexOf(a)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${a}>`);let u=0;c&&this.options.unpairedTags.indexOf(c)!==-1?(u=s.lastIndexOf(".",s.lastIndexOf(".")-1),this.tagsNodeStack.pop()):u=s.lastIndexOf("."),s=s.substring(0,u),r=this.tagsNodeStack.pop(),n="",i=o}else if(e[i+1]==="?"){let o=Zr(e,i,!1,"?>");if(!o)throw new Error("Pi Tag is not closed.");if(n=this.saveTextToParentTag(n,r,s),!(this.options.ignoreDeclaration&&o.tagName==="?xml"||this.options.ignorePiTags)){const a=new ft(o.tagName);a.add(this.options.textNodeName,""),o.tagName!==o.tagExp&&o.attrExpPresent&&(a[":@"]=this.buildAttributesMap(o.tagExp,s,o.tagName)),this.addChild(r,a,s)}i=o.closeIndex+1}else if(e.substr(i+1,3)==="!--"){const o=Ge(e,"-->",i+4,"Comment is not closed.");if(this.options.commentPropName){const a=e.substring(i+4,o-2);n=this.saveTextToParentTag(n,r,s),r.add(this.options.commentPropName,[{[this.options.textNodeName]:a}])}i=o}else if(e.substr(i+1,2)==="!D"){const o=ul(e,i);this.docTypeEntities=o.entities,i=o.i}else if(e.substr(i+1,2)==="!["){const o=Ge(e,"]]>",i,"CDATA is not closed.")-2,a=e.substring(i+9,o);n=this.saveTextToParentTag(n,r,s);let c=this.parseTextData(a,r.tagname,s,!0,!1,!0,!0);c==null&&(c=""),this.options.cdataPropName?r.add(this.options.cdataPropName,[{[this.options.textNodeName]:a}]):r.add(this.options.textNodeName,c),i=o+2}else{let o=Zr(e,i,this.options.removeNSPrefix),a=o.tagName;const c=o.rawTagName;let u=o.tagExp,f=o.attrExpPresent,d=o.closeIndex;this.options.transformTagName&&(a=this.options.transformTagName(a)),r&&n&&r.tagname!=="!xml"&&(n=this.saveTextToParentTag(n,r,s,!1));const p=r;if(p&&this.options.unpairedTags.indexOf(p.tagname)!==-1&&(r=this.tagsNodeStack.pop(),s=s.substring(0,s.lastIndexOf("."))),a!==t.tagname&&(s+=s?"."+a:a),this.isItStopNode(this.options.stopNodes,s,a)){let g="";if(u.length>0&&u.lastIndexOf("/")===u.length-1)a[a.length-1]==="/"?(a=a.substr(0,a.length-1),s=s.substr(0,s.length-1),u=a):u=u.substr(0,u.length-1),i=o.closeIndex;else if(this.options.unpairedTags.indexOf(a)!==-1)i=o.closeIndex;else{const R=this.readStopNodeData(e,c,d+1);if(!R)throw new Error(`Unexpected end of ${c}`);i=R.i,g=R.tagContent}const S=new ft(a);a!==u&&f&&(S[":@"]=this.buildAttributesMap(u,s,a)),g&&(g=this.parseTextData(g,a,s,!0,f,!0,!0)),s=s.substr(0,s.lastIndexOf(".")),S.add(this.options.textNodeName,g),this.addChild(r,S,s)}else{if(u.length>0&&u.lastIndexOf("/")===u.length-1){a[a.length-1]==="/"?(a=a.substr(0,a.length-1),s=s.substr(0,s.length-1),u=a):u=u.substr(0,u.length-1),this.options.transformTagName&&(a=this.options.transformTagName(a));const g=new ft(a);a!==u&&f&&(g[":@"]=this.buildAttributesMap(u,s,a)),this.addChild(r,g,s),s=s.substr(0,s.lastIndexOf("."))}else{const g=new ft(a);this.tagsNodeStack.push(r),a!==u&&f&&(g[":@"]=this.buildAttributesMap(u,s,a)),this.addChild(r,g,s),r=g}n="",i=d}}else n+=e[i];return t.child};function wl(e,t,r){const n=this.options.updateTag(t.tagname,r,t[":@"]);n===!1||(typeof n=="string"&&(t.tagname=n),e.addChild(t))}const bl=function(e){if(this.options.processEntities){for(let t in this.docTypeEntities){const r=this.docTypeEntities[t];e=e.replace(r.regx,r.val)}for(let t in this.lastEntities){const r=this.lastEntities[t];e=e.replace(r.regex,r.val)}if(this.options.htmlEntities)for(let t in this.htmlEntities){const r=this.htmlEntities[t];e=e.replace(r.regex,r.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function vl(e,t,r,n){return e&&(n===void 0&&(n=Object.keys(t.child).length===0),e=this.parseTextData(e,t.tagname,r,!1,t[":@"]?Object.keys(t[":@"]).length!==0:!1,n),e!==void 0&&e!==""&&t.add(this.options.textNodeName,e),e=""),e}function Sl(e,t,r){const n="*."+r;for(const s in e){const i=e[s];if(n===i||t===i)return!0}return!1}function El(e,t,r=">"){let n,s="";for(let i=t;i<e.length;i++){let o=e[i];if(n)o===n&&(n="");else if(o==='"'||o==="'")n=o;else if(o===r[0])if(r[1]){if(e[i+1]===r[1])return{data:s,index:i}}else return{data:s,index:i};else o===" "&&(o=" ");s+=o}}function Ge(e,t,r,n){const s=e.indexOf(t,r);if(s===-1)throw new Error(n);return s+t.length-1}function Zr(e,t,r,n=">"){const s=El(e,t+1,n);if(!s)return;let i=s.data;const o=s.index,a=i.search(/\s/);let c=i,u=!0;a!==-1&&(c=i.substring(0,a),i=i.substring(a+1).trimStart());const f=c;if(r){const d=c.indexOf(":");d!==-1&&(c=c.substr(d+1),u=c!==s.data.substr(d+1))}return{tagName:c,tagExp:i,closeIndex:o,attrExpPresent:u,rawTagName:f}}function Al(e,t,r){const n=r;let s=1;for(;r<e.length;r++)if(e[r]==="<")if(e[r+1]==="/"){const i=Ge(e,">",r,`${t} is not closed`);if(e.substring(r+2,i).trim()===t&&(s--,s===0))return{tagContent:e.substring(n,r),i};r=i}else if(e[r+1]==="?")r=Ge(e,"?>",r+1,"StopNode is not closed.");else if(e.substr(r+1,3)==="!--")r=Ge(e,"-->",r+3,"StopNode is not closed.");else if(e.substr(r+1,2)==="![")r=Ge(e,"]]>",r,"StopNode is not closed.")-2;else{const i=Zr(e,r,">");i&&((i&&i.tagName)===t&&i.tagExp[i.tagExp.length-1]!=="/"&&s++,r=i.closeIndex)}}function Xr(e,t,r){if(t&&typeof e=="string"){const n=e.trim();return n==="true"?!0:n==="false"?!1:ll(e,r)}else return mo.isExist(e)?e:""}var xl=dl,yo={};function kl(e,t){return wo(e,t)}function wo(e,t,r){let n;const s={};for(let i=0;i<e.length;i++){const o=e[i],a=Rl(o);let c="";if(r===void 0?c=a:c=r+"."+a,a===t.textNodeName)n===void 0?n=o[a]:n+=""+o[a];else{if(a===void 0)continue;if(o[a]){let u=wo(o[a],t,c);const f=Pl(u,t);o[":@"]?Cl(u,o[":@"],c,t):Object.keys(u).length===1&&u[t.textNodeName]!==void 0&&!t.alwaysCreateTextNode?u=u[t.textNodeName]:Object.keys(u).length===0&&(t.alwaysCreateTextNode?u[t.textNodeName]="":u=""),s[a]!==void 0&&s.hasOwnProperty(a)?(Array.isArray(s[a])||(s[a]=[s[a]]),s[a].push(u)):t.isArray(a,c,f)?s[a]=[u]:s[a]=u}}}return typeof n=="string"?n.length>0&&(s[t.textNodeName]=n):n!==void 0&&(s[t.textNodeName]=n),s}function Rl(e){const t=Object.keys(e);for(let r=0;r<t.length;r++){const n=t[r];if(n!==":@")return n}}function Cl(e,t,r,n){if(t){const s=Object.keys(t),i=s.length;for(let o=0;o<i;o++){const a=s[o];n.isArray(a,r+"."+a,!0,!0)?e[a]=[t[a]]:e[a]=t[a]}}}function Pl(e,t){const{textNodeName:r}=t,n=Object.keys(e).length;return!!(n===0||n===1&&(e[r]||typeof e[r]=="boolean"||e[r]===0))}yo.prettify=kl;const{buildOptions:Tl}=pn,Il=xl,{prettify:Nl}=yo,Ol=po;let Ml=class{constructor(e){this.externalEntities={},this.options=Tl(e)}parse(e,t){if(typeof e!="string")if(e.toString)e=e.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(t){t===!0&&(t={});const s=Ol.validate(e,t);if(s!==!0)throw Error(`${s.err.msg}:${s.err.line}:${s.err.col}`)}const r=new Il(this.options);r.addExternalEntities(this.externalEntities);const n=r.parseXml(e);return this.options.preserveOrder||n===void 0?n:Nl(n,this.options)}addEntity(e,t){if(t.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(e.indexOf("&")!==-1||e.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(t==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=t}};var Ul=Ml;const $l=Ul;var _l={XMLParser:$l};const bo=(e,t)=>Uu(e,t).then(r=>{if(r.length){const n=new _l.XMLParser({attributeNamePrefix:"",htmlEntities:!0,ignoreAttributes:!1,ignoreDeclaration:!0,parseTagValue:!1,trimValues:!1,tagValueProcessor:(c,u)=>u.trim()===""&&u.includes(`
  25. `)?"":void 0});n.addEntity("#xD","\r"),n.addEntity("#10",`
  26. `);let s;try{s=n.parse(r,!0)}catch(c){throw c&&typeof c=="object"&&Object.defineProperty(c,"$responseBodyText",{value:r}),c}const i="#text",o=Object.keys(s)[0],a=s[o];return a[i]&&(a[o]=a[i],delete a[i]),fo(a)}return{}}),Dl=async(e,t)=>{const r=await bo(e,t);return r.Error&&(r.Error.message=r.Error.message??r.Error.Message),r},Bl=(e,t)=>{var r;if(((r=t==null?void 0:t.Error)==null?void 0:r.Code)!==void 0)return t.Error.Code;if((t==null?void 0:t.Code)!==void 0)return t.Code;if(e.statusCode==404)return"NotFound"},Yr=[H.CRC32,H.CRC32C,H.SHA1,H.SHA256],Ll=[H.SHA256,H.SHA1,H.CRC32,H.CRC32C],Fl=(e,{requestChecksumRequired:t,requestAlgorithmMember:r},n)=>{if(!e[r])return;const s=e[r];if(!Yr.includes(s))throw new Error(`The checksum algorithm "${s}" is not supported by the client. Select one of ${Yr}.`);return s},gn=e=>e===H.MD5?"content-md5":`x-amz-checksum-${e.toLowerCase()}`,Hl=(e,t)=>{const r=e.toLowerCase();for(const n of Object.keys(t))if(r===n.toLowerCase())return!0;return!1},mn=e=>e!==void 0&&typeof e!="string"&&!ArrayBuffer.isView(e)&&!no(e);function yn(e,t,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(f){try{u(n.next(f))}catch(d){o(d)}}function c(f){try{u(n.throw(f))}catch(d){o(d)}}function u(f){f.done?i(f.value):s(f.value).then(a,c)}u((n=n.apply(e,[])).next())})}function wn(e,t){var r={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},n,s,i,o=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return o.next=a(0),o.throw=a(1),o.return=a(2),typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(u){return function(f){return c([u,f])}}function c(u){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(r=0)),r;)try{if(n=1,s&&(i=u[0]&2?s.return:u[0]?s.throw||((i=s.return)&&i.call(s),0):s.next)&&!(i=i.call(s,u[1])).done)return i;switch(s=0,i&&(u=[u[0]&2,i.value]),u[0]){case 0:case 1:i=u;break;case 4:return r.label++,{value:u[1],done:!1};case 5:r.label++,s=u[1],u=[0];continue;case 7:u=r.ops.pop(),r.trys.pop();continue;default:if(i=r.trys,!(i=i.length>0&&i[i.length-1])&&(u[0]===6||u[0]===2)){r=0;continue}if(u[0]===3&&(!i||u[1]>i[0]&&u[1]<i[3])){r.label=u[1];break}if(u[0]===6&&r.label<i[1]){r.label=i[1],i=u;break}if(i&&r.label<i[2]){r.label=i[2],r.ops.push(u);break}i[2]&&r.ops.pop(),r.trys.pop();continue}u=t.call(e,r)}catch(f){u=[6,f],s=0}finally{n=i=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function vo(e){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}const So=e=>new TextEncoder().encode(e);var jl=typeof Buffer<"u"&&Buffer.from?function(e){return Buffer.from(e,"utf8")}:So;function je(e){return e instanceof Uint8Array?e:typeof e=="string"?jl(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}function At(e){return typeof e=="string"?e.length===0:e.byteLength===0}function Eo(e){return new Uint8Array([(e&4278190080)>>24,(e&16711680)>>16,(e&65280)>>8,e&255])}function Ao(e){if(!Uint32Array.from){for(var t=new Uint32Array(e.length),r=0;r<e.length;)t[r]=e[r],r+=1;return t}return Uint32Array.from(e)}var ql=function(){function e(){this.crc32=new jt}return e.prototype.update=function(t){At(t)||this.crc32.update(je(t))},e.prototype.digest=function(){return yn(this,void 0,void 0,function(){return wn(this,function(t){return[2,Eo(this.crc32.digest())]})})},e.prototype.reset=function(){this.crc32=new jt},e}(),jt=function(){function e(){this.checksum=4294967295}return e.prototype.update=function(t){var r,n;try{for(var s=vo(t),i=s.next();!i.done;i=s.next()){var o=i.value;this.checksum=this.checksum>>>8^Vl[(this.checksum^o)&255]}}catch(a){r={error:a}}finally{try{i&&!i.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return this},e.prototype.digest=function(){return(this.checksum^4294967295)>>>0},e}(),zl=[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,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117],Vl=Ao(zl),Kl=function(){function e(){this.crc32c=new ds}return e.prototype.update=function(t){At(t)||this.crc32c.update(je(t))},e.prototype.digest=function(){return yn(this,void 0,void 0,function(){return wn(this,function(t){return[2,Eo(this.crc32c.digest())]})})},e.prototype.reset=function(){this.crc32c=new ds},e}(),ds=function(){function e(){this.checksum=4294967295}return e.prototype.update=function(t){var r,n;try{for(var s=vo(t),i=s.next();!i.done;i=s.next()){var o=i.value;this.checksum=this.checksum>>>8^Gl[(this.checksum^o)&255]}}catch(a){r={error:a}}finally{try{i&&!i.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return this},e.prototype.digest=function(){return(this.checksum^4294967295)>>>0},e}(),Wl=[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],Gl=Ao(Wl);const xo=(e,t)=>({[H.MD5]:t.md5,[H.CRC32]:ql,[H.CRC32C]:Kl,[H.SHA1]:t.sha1,[H.SHA256]:t.sha256})[e],ko=(e,t)=>{const r=new e;return r.update(st(t||"")),r.digest()},Zl={name:"flexibleChecksumsMiddleware",step:"build",tags:["BODY_CHECKSUM"],override:!0},Xl=(e,t)=>(r,n)=>async s=>{if(!Z.isInstance(s.request))return r(s);const{request:i}=s,{body:o,headers:a}=i,{base64Encoder:c,streamHasher:u}=e,{input:f,requestChecksumRequired:d,requestAlgorithmMember:p}=t,g=Fl(f,{requestChecksumRequired:d,requestAlgorithmMember:p},!!n.isS3ExpressBucket);let S=o,R=a;if(g){switch(g){case H.CRC32:fe(n,"FLEXIBLE_CHECKSUMS_REQ_CRC32","U");break;case H.CRC32C:fe(n,"FLEXIBLE_CHECKSUMS_REQ_CRC32C","V");break;case H.SHA1:fe(n,"FLEXIBLE_CHECKSUMS_REQ_SHA1","X");break;case H.SHA256:fe(n,"FLEXIBLE_CHECKSUMS_REQ_SHA256","Y");break}const E=gn(g),$=xo(g,e);if(mn(o)){const{getAwsChunkedEncodingStream:M,bodyLengthChecker:X}=e;S=M(o,{base64Encoder:c,bodyLengthChecker:X,checksumLocationName:E,checksumAlgorithmFn:$,streamHasher:u}),R={...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":E},delete R["content-length"]}else if(!Hl(E,a)){const M=await ko($,o);R={...a,[E]:c(M)}}}return await r({...s,request:{...i,headers:R,body:S}})},Ro=(e=[])=>{const t=[];for(const r of Ll)!e.includes(r)||!Yr.includes(r)||t.push(r);return t},Yl=e=>{const t=e.lastIndexOf("-");if(t!==-1){const r=e.slice(t+1);if(!r.startsWith("0")){const n=parseInt(r,10);if(!isNaN(n)&&n>=1&&n<=1e4)return!0}}return!1};function hs(e){return new Blob([e]).stream()}const Ql=async(e,{streamHasher:t,checksumAlgorithmFn:r,base64Encoder:n})=>{const s=mn(e)?t(r,e):ko(r,e);return n(await s)},Jl=async(e,{config:t,responseAlgorithms:r})=>{const n=Ro(r),{body:s,headers:i}=e;for(const o of n){const a=gn(o),c=i[a];if(c){const u=xo(o,t),{streamHasher:f,base64Encoder:d}=t,p=await Ql(s,{streamHasher:f,checksumAlgorithmFn:u,base64Encoder:d});if(p===c)break;throw new Error(`Checksum mismatch: expected "${p}" but received "${c}" in response header "${a}".`)}}},ed={name:"flexibleChecksumsResponseMiddleware",toMiddleware:"deserializerMiddleware",relation:"after",tags:["BODY_CHECKSUM"],override:!0},td=(e,t)=>(r,n)=>async s=>{if(!Z.isInstance(s.request))return r(s);const i=s.input,o=await r(s),a=o.response;let c;const{requestValidationModeMember:u,responseAlgorithms:f}=t;if(u&&i[u]==="ENABLED"){const{clientName:d,commandName:p}=n;if(d==="S3Client"&&p==="GetObjectCommand"&&Ro(f).every(S=>{const R=gn(S),E=a.headers[R];return!E||Yl(E)}))return o;const g=mn(a.body);g&&(c=await e.streamCollector(a.body),a.body=hs(c)),await Jl(o.response,{config:e,responseAlgorithms:f}),g&&c&&(a.body=hs(c))}return o},rd=(e,t)=>({applyToStack:r=>{r.add(Xl(e,t),Zl),r.addRelativeTo(td(e,t),ed)}}),nd=e=>({...e,requestChecksumCalculation:Te(e.requestChecksumCalculation??qa),responseChecksumValidation:Te(e.responseChecksumValidation??za)}),sd=e=>t=>async r=>{if(!Z.isInstance(r.request))return t(r);const{request:n}=r,{handlerProtocol:s=""}=e.requestHandler.metadata||{};if(s.indexOf("h2")>=0&&!n.headers[":authority"])delete n.headers.host,n.headers[":authority"]=n.hostname+(n.port?":"+n.port:"");else if(!n.headers.host){let i=n.hostname;n.port!=null&&(i+=`:${n.port}`),n.headers.host=i}return t(r)},id={name:"hostHeaderMiddleware",step:"build",priority:"low",tags:["HOST"],override:!0},od=e=>({applyToStack:t=>{t.add(sd(e),id)}}),ad=()=>(e,t)=>async r=>{var n,s;try{const i=await e(r),{clientName:o,commandName:a,logger:c,dynamoDbDocumentClientOptions:u={}}=t,{overrideInputFilterSensitiveLog:f,overrideOutputFilterSensitiveLog:d}=u,p=f??t.inputFilterSensitiveLog,g=d??t.outputFilterSensitiveLog,{$metadata:S,...R}=i.output;return(n=c==null?void 0:c.info)==null||n.call(c,{clientName:o,commandName:a,input:p(r.input),output:g(R),metadata:S}),i}catch(i){const{clientName:o,commandName:a,logger:c,dynamoDbDocumentClientOptions:u={}}=t,{overrideInputFilterSensitiveLog:f}=u,d=f??t.inputFilterSensitiveLog;throw(s=c==null?void 0:c.error)==null||s.call(c,{clientName:o,commandName:a,input:d(r.input),error:i,metadata:i.$metadata}),i}},cd={name:"loggerMiddleware",tags:["LOGGER"],step:"initialize",override:!0},ud=e=>({applyToStack:t=>{t.add(ad(),cd)}}),fs="X-Amzn-Trace-Id",ld="AWS_LAMBDA_FUNCTION_NAME",dd="_X_AMZN_TRACE_ID",hd=e=>t=>async r=>{const{request:n}=r;if(!Z.isInstance(n)||e.runtime!=="node"||n.headers.hasOwnProperty(fs))return t(r);const s=Ln[ld],i=Ln[dd],o=a=>typeof a=="string"&&a.length>0;return o(s)&&o(i)&&(n.headers[fs]=i),t({...r,request:n})},fd={step:"build",tags:["RECURSION_DETECTION"],name:"recursionDetectionMiddleware",override:!0,priority:"low"},pd=e=>({applyToStack:t=>{t.add(hd(e),fd)}}),gd="content-length";function md(){return(e,t)=>async r=>{var n;const{request:s}=r;return Z.isInstance(s)&&!(gd in s.headers)&&typeof((n=t==null?void 0:t.logger)==null?void 0:n.warn)=="function"&&!(t.logger instanceof hn)&&t.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."),e({...r})}}const yd={step:"finalizeRequest",tags:["CHECK_CONTENT_LENGTH_HEADER"],name:"getCheckContentLengthHeaderPlugin",override:!0},wd=e=>({applyToStack:t=>{t.add(md(),yd)}}),bd=e=>(t,r)=>async n=>{const s=await e.region(),i=e.region;let o=()=>{};r.__s3RegionRedirect&&(Object.defineProperty(e,"region",{writable:!1,value:async()=>r.__s3RegionRedirect}),o=()=>Object.defineProperty(e,"region",{writable:!0,value:i}));try{const a=await t(n);if(r.__s3RegionRedirect){o();const c=await e.region();if(s!==c)throw new Error("Region was not restored following S3 region redirect.")}return a}catch(a){throw o(),a}},vd={tags:["REGION_REDIRECT","S3"],name:"regionRedirectEndpointMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"};function Sd(e){return(t,r)=>async n=>{var s,i,o;try{return await t(n)}catch(a){if(e.followRegionRedirects&&(((s=a==null?void 0:a.$metadata)==null?void 0:s.httpStatusCode)===301||((i=a==null?void 0:a.$metadata)==null?void 0:i.httpStatusCode)===400&&(a==null?void 0:a.name)==="IllegalLocationConstraintException")){try{const c=a.$response.headers["x-amz-bucket-region"];(o=r.logger)==null||o.debug(`Redirecting from ${await e.region()} to ${c}`),r.__s3RegionRedirect=c}catch(c){throw new Error("Region redirect failed: "+c)}return t(n)}throw a}}}const Ed={step:"initialize",tags:["REGION_REDIRECT","S3"],name:"regionRedirectMiddleware",override:!0},Ad=e=>({applyToStack:t=>{t.add(Sd(e),Ed),t.addRelativeTo(bd(e),vd)}});class Xt{constructor(t={}){this.data=t,this.lastPurgeTime=Date.now()}get(t){const r=this.data[t];if(r)return r}set(t,r){return this.data[t]=r,r}delete(t){delete this.data[t]}async purgeExpired(){const t=Date.now();if(!(this.lastPurgeTime+Xt.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS>t))for(const r in this.data){const n=this.data[r];if(!n.isRefreshing){const s=await n.identity;s.expiration&&s.expiration.getTime()<t&&delete this.data[r]}}}}Xt.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS=3e4;class dr{constructor(t,r=!1,n=Date.now()){this._identity=t,this.isRefreshing=r,this.accessed=n}get identity(){return this.accessed=Date.now(),this._identity}}class Yt{constructor(t,r=new Xt){this.createSessionFn=t,this.cache=r}async getS3ExpressIdentity(t,r){const n=r.Bucket,{cache:s}=this,i=s.get(n);return i?i.identity.then(o=>{var a,c;return(((a=o.expiration)==null?void 0:a.getTime())??0)<Date.now()?s.set(n,new dr(this.getIdentity(n))).identity:((((c=o.expiration)==null?void 0:c.getTime())??0)<Date.now()+Yt.REFRESH_WINDOW_MS&&!i.isRefreshing&&(i.isRefreshing=!0,this.getIdentity(n).then(u=>{s.set(n,new dr(Promise.resolve(u)))})),o)}):s.set(n,new dr(this.getIdentity(n))).identity}async getIdentity(t){var r,n;await this.cache.purgeExpired().catch(i=>{});const s=await this.createSessionFn(t);if(!((r=s.Credentials)!=null&&r.AccessKeyId)||!((n=s.Credentials)!=null&&n.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}}}Yt.REFRESH_WINDOW_MS=6e4;var ps;(function(e){e.ENV="env",e.CONFIG="shared config entry"})(ps||(ps={}));const xd="Directory",kd="S3Express",Rd="sigv4-s3express",Qr="X-Amz-S3session-Token",Jr=Qr.toLowerCase();class Cd extends Wr{async signWithCredentials(t,r,n){const s=gs(r);t.headers[Jr]=r.sessionToken;const i=this;return ms(i,s),i.signRequest(t,n??{})}async presignWithCredentials(t,r,n){const s=gs(r);return delete t.headers[Jr],t.headers[Qr]=r.sessionToken,t.query=t.query??{},t.query[Qr]=r.sessionToken,ms(this,s),this.presign(t,n)}}function gs(e){return{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,expiration:e.expiration}}function ms(e,t){const r=setTimeout(()=>{throw new Error("SignatureV4S3Express credential override was created but not called.")},10),n=e.credentialProvider,s=()=>(clearTimeout(r),e.credentialProvider=n,Promise.resolve(t));e.credentialProvider=s}const Pd=e=>(t,r)=>async n=>{var s,i,o,a,c;if(r.endpointV2){const u=r.endpointV2,f=((o=(i=(s=u.properties)==null?void 0:s.authSchemes)==null?void 0:i[0])==null?void 0:o.name)===Rd;if((((a=u.properties)==null?void 0:a.backend)===kd||((c=u.properties)==null?void 0:c.bucketType)===xd)&&(fe(r,"S3_EXPRESS_BUCKET","J"),r.isS3ExpressBucket=!0),f){const d=n.input.Bucket;if(d){const p=await e.s3ExpressIdentityProvider.getS3ExpressIdentity(await e.credentials(),{Bucket:d});r.s3ExpressIdentity=p,Z.isInstance(n.request)&&p.sessionToken&&(n.request.headers[Jr]=p.sessionToken)}}}return t(n)},Td={name:"s3ExpressMiddleware",step:"build",tags:["S3","S3_EXPRESS"],override:!0},Id=e=>({applyToStack:t=>{t.add(Pd(e),Td)}}),Nd=async(e,t,r,n)=>{const s=await n.signWithCredentials(r,e,{});if(s.headers["X-Amz-Security-Token"]||s.headers["x-amz-security-token"])throw new Error("X-Amz-Security-Token must not be set for s3-express requests.");return s},Od=e=>t=>{throw t},Md=(e,t)=>{},Ud=e=>(t,r)=>async n=>{if(!Z.isInstance(n.request))return t(n);const s=ut(r).selectedHttpAuthScheme;if(!s)throw new Error("No HttpAuthScheme was selected: unable to sign request");const{httpAuthOption:{signingProperties:i={}},identity:o,signer:a}=s;let c;r.s3ExpressIdentity?c=await Nd(r.s3ExpressIdentity,i,n.request,await e.signer()):c=await a.sign(n.request,o,i);const u=await t({...n,request:c}).catch((a.errorHandler||Od)(i));return(a.successHandler||Md)(u.response,i),u},$d=e=>({applyToStack:t=>{t.addRelativeTo(Ud(e),Vi)}}),_d=(e,{session:t})=>{const[r,n]=t;return{...e,forcePathStyle:e.forcePathStyle??!1,useAccelerateEndpoint:e.useAccelerateEndpoint??!1,disableMultiregionAccessPoints:e.disableMultiregionAccessPoints??!1,followRegionRedirects:e.followRegionRedirects??!1,s3ExpressIdentityProvider:e.s3ExpressIdentityProvider??new Yt(async s=>r().send(new n({Bucket:s,SessionMode:"ReadWrite"}))),bucketEndpoint:e.bucketEndpoint??!1}},Dd={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},Bd=3e3,Ld=e=>(t,r)=>async n=>{const s=await t(n),{response:i}=s;if(!Et.isInstance(i))return s;const{statusCode:o,body:a}=i;if(o<200||o>=300||!(typeof(a==null?void 0:a.stream)=="function"||typeof(a==null?void 0:a.pipe)=="function"||typeof(a==null?void 0:a.tee)=="function"))return s;let c=a,u=a;a&&typeof a=="object"&&!(a instanceof Uint8Array)&&([c,u]=await pc(a)),i.body=u;const f=await Fd(c,{streamCollector:async p=>gc(p,Bd)});typeof(c==null?void 0:c.destroy)=="function"&&c.destroy();const d=e.utf8Encoder(f.subarray(f.length-16));if(f.length===0&&Dd[r.commandName]){const p=new Error("S3 aborted request");throw p.name="InternalError",p}return d&&d.endsWith("</Error>")&&(i.statusCode=400),s},Fd=(e=new Uint8Array,t)=>e instanceof Uint8Array?Promise.resolve(e):t.streamCollector(e)||Promise.resolve(new Uint8Array),Hd={relation:"after",toMiddleware:"deserializerMiddleware",tags:["THROW_200_EXCEPTIONS","S3"],name:"throw200ExceptionsMiddleware",override:!0},Co=e=>({applyToStack:t=>{t.addRelativeTo(Ld(e),Hd)}}),jd=e=>typeof e=="string"&&e.indexOf("arn:")===0&&e.split(":").length>=6;function qd(e){return(t,r)=>async n=>{var s,i,o,a;if(e.bucketEndpoint){const c=r.endpointV2;if(c){const u=n.input.Bucket;if(typeof u=="string")try{const f=new URL(u);r.endpointV2={...c,url:f}}catch(f){const d=`@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${u} could not be parsed as URL.`;throw((i=(s=r.logger)==null?void 0:s.constructor)==null?void 0:i.name)==="NoOpLogger"||(a=(o=r.logger)==null?void 0:o.warn)==null||a.call(o,d),f}}}return t(n)}}const zd={name:"bucketEndpointMiddleware",override:!0,relation:"after",toMiddleware:"endpointV2Middleware"};function Vd({bucketEndpoint:e}){return t=>async r=>{const{input:{Bucket:n}}=r;if(!e&&typeof n=="string"&&!jd(n)&&n.indexOf("/")>=0){const s=new Error(`Bucket name shouldn't contain '/', received '${n}'`);throw s.name="InvalidBucketName",s}return t({...r})}}const Kd={step:"initialize",tags:["VALIDATE_BUCKET_NAME"],name:"validateBucketNameMiddleware",override:!0},Wd=e=>({applyToStack:t=>{t.add(Vd(e),Kd),t.addRelativeTo(qd(e),zd)}}),Gd=void 0;function Zd(e){return e===void 0?!0:typeof e=="string"&&e.length<=50}function Xd(e){const t=rt(e.userAgentAppId??Gd);return{...e,customUserAgent:typeof e.customUserAgent=="string"?[[e.customUserAgent]]:e.customUserAgent,userAgentAppId:async()=>{var r,n;const s=await t();if(!Zd(s)){const i=((n=(r=e.logger)==null?void 0:r.constructor)==null?void 0:n.name)==="NoOpLogger"||!e.logger?console:e.logger;typeof s!="string"?i==null||i.warn("userAgentAppId must be a string or undefined."):s.length>50&&(i==null||i.warn("The provided userAgentAppId exceeds the maximum length of 50 characters."))}return s}}}class Yd{constructor({size:t,params:r}){this.data=new Map,this.parameters=[],this.capacity=t??50,r&&(this.parameters=r)}get(t,r){const n=this.hash(t);if(n===!1)return r();if(!this.data.has(n)){if(this.data.size>this.capacity+10){const s=this.data.keys();let i=0;for(;;){const{value:o,done:a}=s.next();if(this.data.delete(o),a||++i>10)break}}this.data.set(n,r())}return this.data.get(n)}size(){return this.data.size}hash(t){let r="";const{parameters:n}=this;if(n.length===0)return!1;for(const s of n){const i=String(t[s]??"");if(i.includes("|;"))return!1;r+=i+"|;"}return r}}const Qd=new RegExp("^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$"),Po=e=>Qd.test(e)||e.startsWith("[")&&e.endsWith("]"),Jd=new RegExp("^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$"),bn=(e,t=!1)=>{if(!t)return Jd.test(e);const r=e.split(".");for(const n of r)if(!bn(n))return!1;return!0},qt={},xt="endpoints";function qe(e){return typeof e!="object"||e==null?e:"ref"in e?`$${qe(e.ref)}`:"fn"in e?`${e.fn}(${(e.argv||[]).map(qe).join(", ")})`:JSON.stringify(e,null,2)}class ye extends Error{constructor(t){super(t),this.name="EndpointError"}}const eh=(e,t)=>e===t,th=e=>{const t=e.split("."),r=[];for(const n of t){const s=n.indexOf("[");if(s!==-1){if(n.indexOf("]")!==n.length-1)throw new ye(`Path: '${e}' does not end with ']'`);const i=n.slice(s+1,-1);if(Number.isNaN(parseInt(i)))throw new ye(`Invalid array index: '${i}' in path: '${e}'`);s!==0&&r.push(n.slice(0,s)),r.push(i)}else r.push(n)}return r},To=(e,t)=>th(t).reduce((r,n)=>{if(typeof r!="object")throw new ye(`Index '${n}' in '${t}' not found in '${JSON.stringify(e)}'`);return Array.isArray(r)?r[parseInt(n)]:r[n]},e),rh=e=>e!=null,nh=e=>!e,hr={[St.HTTP]:80,[St.HTTPS]:443},sh=e=>{const t=(()=>{try{if(e instanceof URL)return e;if(typeof e=="object"&&"hostname"in e){const{hostname:p,port:g,protocol:S="",path:R="",query:E={}}=e,$=new URL(`${S}//${p}${g?`:${g}`:""}${R}`);return $.search=Object.entries(E).map(([M,X])=>`${M}=${X}`).join("&"),$}return new URL(e)}catch{return null}})();if(!t)return null;const r=t.href,{host:n,hostname:s,pathname:i,protocol:o,search:a}=t;if(a)return null;const c=o.slice(0,-1);if(!Object.values(St).includes(c))return null;const u=Po(s),f=r.includes(`${n}:${hr[c]}`)||typeof e=="string"&&e.includes(`${n}:${hr[c]}`),d=`${n}${f?`:${hr[c]}`:""}`;return{scheme:c,authority:d,path:i,normalizedPath:i.endsWith("/")?i:`${i}/`,isIp:u}},ih=(e,t)=>e===t,oh=(e,t,r,n)=>t>=r||e.length<r?null:n?e.substring(e.length-r,e.length-t):e.substring(t,r),ah=e=>encodeURIComponent(e).replace(/[!*'()]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),ch={booleanEquals:eh,getAttr:To,isSet:rh,isValidHostLabel:bn,not:nh,parseURL:sh,stringEquals:ih,substring:oh,uriEncode:ah},Io=(e,t)=>{const r=[],n={...t.endpointParams,...t.referenceRecord};let s=0;for(;s<e.length;){const i=e.indexOf("{",s);if(i===-1){r.push(e.slice(s));break}r.push(e.slice(s,i));const o=e.indexOf("}",i);if(o===-1){r.push(e.slice(i));break}e[i+1]==="{"&&e[o+1]==="}"&&(r.push(e.slice(i+1,o)),s=o+2);const a=e.substring(i+1,o);if(a.includes("#")){const[c,u]=a.split("#");r.push(To(n[c],u))}else r.push(n[a]);s=o+1}return r.join("")},uh=({ref:e},t)=>({...t.endpointParams,...t.referenceRecord})[e],Qt=(e,t,r)=>{if(typeof e=="string")return Io(e,r);if(e.fn)return No(e,r);if(e.ref)return uh(e,r);throw new ye(`'${t}': ${String(e)} is not a string, function or reference.`)},No=({fn:e,argv:t},r)=>{const n=t.map(i=>["boolean","number"].includes(typeof i)?i:Qt(i,"arg",r)),s=e.split(".");return s[0]in qt&&s[1]!=null?qt[s[0]][s[1]](...n):ch[e](...n)},lh=({assign:e,...t},r)=>{var n,s;if(e&&e in r.referenceRecord)throw new ye(`'${e}' is already defined in Reference Record.`);const i=No(t,r);return(s=(n=r.logger)==null?void 0:n.debug)==null||s.call(n,`${xt} evaluateCondition: ${qe(t)} = ${qe(i)}`),{result:i===""?!0:!!i,...e!=null&&{toAssign:{name:e,value:i}}}},vn=(e=[],t)=>{var r,n;const s={};for(const i of e){const{result:o,toAssign:a}=lh(i,{...t,referenceRecord:{...t.referenceRecord,...s}});if(!o)return{result:o};a&&(s[a.name]=a.value,(n=(r=t.logger)==null?void 0:r.debug)==null||n.call(r,`${xt} assign: ${a.name} := ${qe(a.value)}`))}return{result:!0,referenceRecord:s}},dh=(e,t)=>Object.entries(e).reduce((r,[n,s])=>({...r,[n]:s.map(i=>{const o=Qt(i,"Header value entry",t);if(typeof o!="string")throw new ye(`Header '${n}' value '${o}' is not a string`);return o})}),{}),Oo=(e,t)=>{if(Array.isArray(e))return e.map(r=>Oo(r,t));switch(typeof e){case"string":return Io(e,t);case"object":if(e===null)throw new ye(`Unexpected endpoint property: ${e}`);return Mo(e,t);case"boolean":return e;default:throw new ye(`Unexpected endpoint property type: ${typeof e}`)}},Mo=(e,t)=>Object.entries(e).reduce((r,[n,s])=>({...r,[n]:Oo(s,t)}),{}),hh=(e,t)=>{const r=Qt(e,"Endpoint URL",t);if(typeof r=="string")try{return new URL(r)}catch(n){throw n}throw new ye(`Endpoint URL must be a string, got ${typeof r}`)},fh=(e,t)=>{var r,n;const{conditions:s,endpoint:i}=e,{result:o,referenceRecord:a}=vn(s,t);if(!o)return;const c={...t,referenceRecord:{...t.referenceRecord,...a}},{url:u,properties:f,headers:d}=i;return(n=(r=t.logger)==null?void 0:r.debug)==null||n.call(r,`${xt} Resolving endpoint from template: ${qe(i)}`),{...d!=null&&{headers:dh(d,c)},...f!=null&&{properties:Mo(f,c)},url:hh(u,c)}},ph=(e,t)=>{const{conditions:r,error:n}=e,{result:s,referenceRecord:i}=vn(r,t);if(s)throw new ye(Qt(n,"Error",{...t,referenceRecord:{...t.referenceRecord,...i}}))},gh=(e,t)=>{const{conditions:r,rules:n}=e,{result:s,referenceRecord:i}=vn(r,t);if(s)return Uo(n,{...t,referenceRecord:{...t.referenceRecord,...i}})},Uo=(e,t)=>{for(const r of e)if(r.type==="endpoint"){const n=fh(r,t);if(n)return n}else if(r.type==="error")ph(r,t);else if(r.type==="tree"){const n=gh(r,t);if(n)return n}else throw new ye(`Unknown endpoint rule: ${r}`);throw new ye("Rules evaluation failed")},mh=(e,t)=>{var r,n,s,i;const{endpointParams:o,logger:a}=t,{parameters:c,rules:u}=e;(n=(r=t.logger)==null?void 0:r.debug)==null||n.call(r,`${xt} Initial EndpointParams: ${qe(o)}`);const f=Object.entries(c).filter(([,g])=>g.default!=null).map(([g,S])=>[g,S.default]);if(f.length>0)for(const[g,S]of f)o[g]=o[g]??S;const d=Object.entries(c).filter(([,g])=>g.required).map(([g])=>g);for(const g of d)if(o[g]==null)throw new ye(`Missing required parameter: '${g}'`);const p=Uo(u,{endpointParams:o,logger:a,referenceRecord:{}});return(i=(s=t.logger)==null?void 0:s.debug)==null||i.call(s,`${xt} Resolved endpoint: ${qe(p)}`),p},$o=(e,t=!1)=>{if(t){for(const r of e.split("."))if(!$o(r))return!1;return!0}return!(!bn(e)||e.length<3||e.length>63||e!==e.toLowerCase()||Po(e))},ys=":",yh="/",wh=e=>{const t=e.split(ys);if(t.length<6)return null;const[r,n,s,i,o,...a]=t;if(r!=="arn"||n===""||s===""||a.join(ys)==="")return null;const c=a.map(u=>u.split(yh)).flat();return{partition:n,service:s,region:i,accountId:o,resourceId:c}},bh=[{id:"aws",outputs:{dnsSuffix:"amazonaws.com",dualStackDnsSuffix:"api.aws",implicitGlobalRegion:"us-east-1",name:"aws",supportsDualStack:!0,supportsFIPS:!0},regionRegex:"^(us|eu|ap|sa|ca|me|af|il|mx)\\-\\w+\\-\\d+$",regions:{"af-south-1":{description:"Africa (Cape Town)"},"ap-east-1":{description:"Asia Pacific (Hong Kong)"},"ap-northeast-1":{description:"Asia Pacific (Tokyo)"},"ap-northeast-2":{description:"Asia Pacific (Seoul)"},"ap-northeast-3":{description:"Asia Pacific (Osaka)"},"ap-south-1":{description:"Asia Pacific (Mumbai)"},"ap-south-2":{description:"Asia Pacific (Hyderabad)"},"ap-southeast-1":{description:"Asia Pacific (Singapore)"},"ap-southeast-2":{description:"Asia Pacific (Sydney)"},"ap-southeast-3":{description:"Asia Pacific (Jakarta)"},"ap-southeast-4":{description:"Asia Pacific (Melbourne)"},"ap-southeast-5":{description:"Asia Pacific (Malaysia)"},"aws-global":{description:"AWS Standard global region"},"ca-central-1":{description:"Canada (Central)"},"ca-west-1":{description:"Canada West (Calgary)"},"eu-central-1":{description:"Europe (Frankfurt)"},"eu-central-2":{description:"Europe (Zurich)"},"eu-north-1":{description:"Europe (Stockholm)"},"eu-south-1":{description:"Europe (Milan)"},"eu-south-2":{description:"Europe (Spain)"},"eu-west-1":{description:"Europe (Ireland)"},"eu-west-2":{description:"Europe (London)"},"eu-west-3":{description:"Europe (Paris)"},"il-central-1":{description:"Israel (Tel Aviv)"},"me-central-1":{description:"Middle East (UAE)"},"me-south-1":{description:"Middle East (Bahrain)"},"sa-east-1":{description:"South America (Sao Paulo)"},"us-east-1":{description:"US East (N. Virginia)"},"us-east-2":{description:"US East (Ohio)"},"us-west-1":{description:"US West (N. California)"},"us-west-2":{description:"US West (Oregon)"}}},{id:"aws-cn",outputs:{dnsSuffix:"amazonaws.com.cn",dualStackDnsSuffix:"api.amazonwebservices.com.cn",implicitGlobalRegion:"cn-northwest-1",name:"aws-cn",supportsDualStack:!0,supportsFIPS:!0},regionRegex:"^cn\\-\\w+\\-\\d+$",regions:{"aws-cn-global":{description:"AWS China global region"},"cn-north-1":{description:"China (Beijing)"},"cn-northwest-1":{description:"China (Ningxia)"}}},{id:"aws-us-gov",outputs:{dnsSuffix:"amazonaws.com",dualStackDnsSuffix:"api.aws",implicitGlobalRegion:"us-gov-west-1",name:"aws-us-gov",supportsDualStack:!0,supportsFIPS:!0},regionRegex:"^us\\-gov\\-\\w+\\-\\d+$",regions:{"aws-us-gov-global":{description:"AWS GovCloud (US) global region"},"us-gov-east-1":{description:"AWS GovCloud (US-East)"},"us-gov-west-1":{description:"AWS GovCloud (US-West)"}}},{id:"aws-iso",outputs:{dnsSuffix:"c2s.ic.gov",dualStackDnsSuffix:"c2s.ic.gov",implicitGlobalRegion:"us-iso-east-1",name:"aws-iso",supportsDualStack:!1,supportsFIPS:!0},regionRegex:"^us\\-iso\\-\\w+\\-\\d+$",regions:{"aws-iso-global":{description:"AWS ISO (US) global region"},"us-iso-east-1":{description:"US ISO East"},"us-iso-west-1":{description:"US ISO WEST"}}},{id:"aws-iso-b",outputs:{dnsSuffix:"sc2s.sgov.gov",dualStackDnsSuffix:"sc2s.sgov.gov",implicitGlobalRegion:"us-isob-east-1",name:"aws-iso-b",supportsDualStack:!1,supportsFIPS:!0},regionRegex:"^us\\-isob\\-\\w+\\-\\d+$",regions:{"aws-iso-b-global":{description:"AWS ISOB (US) global region"},"us-isob-east-1":{description:"US ISOB East (Ohio)"}}},{id:"aws-iso-e",outputs:{dnsSuffix:"cloud.adc-e.uk",dualStackDnsSuffix:"cloud.adc-e.uk",implicitGlobalRegion:"eu-isoe-west-1",name:"aws-iso-e",supportsDualStack:!1,supportsFIPS:!0},regionRegex:"^eu\\-isoe\\-\\w+\\-\\d+$",regions:{"eu-isoe-west-1":{description:"EU ISOE West"}}},{id:"aws-iso-f",outputs:{dnsSuffix:"csp.hci.ic.gov",dualStackDnsSuffix:"csp.hci.ic.gov",implicitGlobalRegion:"us-isof-south-1",name:"aws-iso-f",supportsDualStack:!1,supportsFIPS:!0},regionRegex:"^us\\-isof\\-\\w+\\-\\d+$",regions:{}}],vh={partitions:bh};let Sh=vh;const Eh=e=>{const{partitions:t}=Sh;for(const n of t){const{regions:s,outputs:i}=n;for(const[o,a]of Object.entries(s))if(o===e)return{...i,...a}}for(const n of t){const{regionRegex:s,outputs:i}=n;if(new RegExp(s).test(e))return{...i}}const r=t.find(n=>n.id==="aws");if(!r)throw new Error("Provided region was not found in the partition array or regex, and default partition with id 'aws' doesn't exist.");return{...r.outputs}},_o={isVirtualHostableS3Bucket:$o,parseArn:wh,partition:Eh};qt.aws=_o;const Ah=/\d{12}\.ddb/;async function xh(e,t,r){var n,s,i,o,a,c,u;const f=r.request;if(((n=f==null?void 0:f.headers)==null?void 0:n["smithy-protocol"])==="rpc-v2-cbor"&&fe(e,"PROTOCOL_RPC_V2_CBOR","M"),typeof t.retryStrategy=="function"){const p=await t.retryStrategy();typeof p.acquireInitialRetryToken=="function"?(i=(s=p.constructor)==null?void 0:s.name)!=null&&i.includes("Adaptive")?fe(e,"RETRY_MODE_ADAPTIVE","F"):fe(e,"RETRY_MODE_STANDARD","E"):fe(e,"RETRY_MODE_LEGACY","D")}if(typeof t.accountIdEndpointMode=="function"){const p=e.endpointV2;switch(String((o=p==null?void 0:p.url)==null?void 0:o.hostname).match(Ah)&&fe(e,"ACCOUNT_ID_ENDPOINT","O"),await((a=t.accountIdEndpointMode)==null?void 0:a.call(t))){case"disabled":fe(e,"ACCOUNT_ID_MODE_DISABLED","Q");break;case"preferred":fe(e,"ACCOUNT_ID_MODE_PREFERRED","P");break;case"required":fe(e,"ACCOUNT_ID_MODE_REQUIRED","R");break}}const d=(u=(c=e.__smithy_context)==null?void 0:c.selectedHttpAuthScheme)==null?void 0:u.identity;if(d!=null&&d.$source){const p=d;p.accountId&&fe(e,"RESOLVED_ACCOUNT_ID","T");for(const[g,S]of Object.entries(p.$source??{}))fe(e,g,S)}}const ws="user-agent",fr="x-amz-user-agent",bs=" ",pr="/",kh=/[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w]/g,Rh=/[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w\#]/g,vs="-",Ch=1024;function Ph(e){let t="";for(const r in e){const n=e[r];if(t.length+n.length+1<=Ch){t.length?t+=","+n:t+=n;continue}break}return t}const Th=e=>(t,r)=>async n=>{var s,i,o,a;const{request:c}=n;if(!Z.isInstance(c))return t(n);const{headers:u}=c,f=((s=r==null?void 0:r.userAgent)==null?void 0:s.map(Pt))||[],d=(await e.defaultUserAgentProvider()).map(Pt);await xh(r,e,n);const p=r;d.push(`m/${Ph(Object.assign({},(i=r.__smithy_context)==null?void 0:i.features,(o=p.__aws_sdk_context)==null?void 0:o.features))}`);const g=((a=e==null?void 0:e.customUserAgent)==null?void 0:a.map(Pt))||[],S=await e.userAgentAppId();S&&d.push(Pt([`app/${S}`]));const R=[].concat([...d,...f,...g]).join(bs),E=[...d.filter($=>$.startsWith("aws-sdk-")),...g].join(bs);return e.runtime!=="browser"?(E&&(u[fr]=u[fr]?`${u[ws]} ${E}`:E),u[ws]=R):u[fr]=R,t({...n,request:c})},Pt=e=>{var t;const r=e[0].split(pr).map(a=>a.replace(kh,vs)).join(pr),n=(t=e[1])==null?void 0:t.replace(Rh,vs),s=r.indexOf(pr),i=r.substring(0,s);let o=r.substring(s+1);return i==="api"&&(o=o.toLowerCase()),[i,o,n].filter(a=>a&&a.length>0).reduce((a,c,u)=>{switch(u){case 0:return c;case 1:return`${a}/${c}`;default:return`${a}#${c}`}},"")},Ih={name:"getUserAgentMiddleware",step:"build",priority:"low",tags:["SET_USER_AGENT","USER_AGENT"],override:!0},Nh=e=>({applyToStack:t=>{t.add(Th(e),Ih)}}),Oh=!1,Mh=!1,Do=e=>typeof e=="string"&&(e.startsWith("fips-")||e.endsWith("-fips")),Ss=e=>Do(e)?["fips-aws-global","aws-fips"].includes(e)?"us-east-1":e.replace(/fips-(dkr-|prod-)?|-fips/,""):e,Uh=e=>{const{region:t,useFipsEndpoint:r}=e;if(!t)throw new Error("Region is missing");return{...e,region:async()=>{if(typeof t=="string")return Ss(t);const n=await t();return Ss(n)},useFipsEndpoint:async()=>{const n=typeof t=="string"?t:await t();return Do(n)?!0:typeof r!="function"?Promise.resolve(!!r):r()}}},$h=e=>({...e,eventStreamMarshaller:e.eventStreamSerdeProvider(e)}),Es="content-length";function _h(e){return t=>async r=>{const n=r.request;if(Z.isInstance(n)){const{body:s,headers:i}=n;if(s&&Object.keys(i).map(o=>o.toLowerCase()).indexOf(Es)===-1)try{const o=e(s);n.headers={...n.headers,[Es]:String(o)}}catch{}}return t({...r,request:n})}}const Dh={step:"build",tags:["SET_CONTENT_LENGTH","CONTENT_LENGTH"],name:"contentLengthMiddleware",override:!0},Bh=e=>({applyToStack:t=>{t.add(_h(e.bodyLengthChecker),Dh)}}),Lh=async e=>{const t=(e==null?void 0:e.Bucket)||"";if(typeof e.Bucket=="string"&&(e.Bucket=t.replace(/#/g,encodeURIComponent("#")).replace(/\?/g,encodeURIComponent("?"))),zh(t)){if(e.ForcePathStyle===!0)throw new Error("Path-style addressing cannot be used with ARN buckets")}else(!qh(t)||t.indexOf(".")!==-1&&!String(e.Endpoint).startsWith("http:")||t.toLowerCase()!==t||t.length<3)&&(e.ForcePathStyle=!0);return e.DisableMultiRegionAccessPoints&&(e.disableMultiRegionAccessPoints=!0,e.DisableMRAP=!0),e},Fh=/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/,Hh=/(\d+\.){3}\d+/,jh=/\.\./,qh=e=>Fh.test(e)&&!Hh.test(e)&&!jh.test(e),zh=e=>{const[t,r,n,,,s]=e.split(":"),i=t==="arn"&&e.split(":").length>=6,o=!!(i&&r&&n&&s);if(i&&!o)throw new Error(`Invalid ARN: ${e} was an invalid ARN.`);return o},Vh=(e,t,r)=>{const n=async()=>{const s=r[e]??r[t];return typeof s=="function"?s():s};return e==="credentialScope"||t==="CredentialScope"?async()=>{const s=typeof r.credentials=="function"?await r.credentials():r.credentials;return(s==null?void 0:s.credentialScope)??(s==null?void 0:s.CredentialScope)}:e==="accountId"||t==="AccountId"?async()=>{const s=typeof r.credentials=="function"?await r.credentials():r.credentials;return(s==null?void 0:s.accountId)??(s==null?void 0:s.AccountId)}:e==="endpoint"||t==="endpoint"?async()=>{const s=await n();if(s&&typeof s=="object"){if("url"in s)return s.url.href;if("hostname"in s){const{protocol:i,hostname:o,port:a,path:c}=s;return`${i}//${o}${a?":"+a:""}${c}`}}return s}:n},Bo=async e=>{};function Kh(e){const t={};if(e=e.replace(/^\?/,""),e)for(const r of e.split("&")){let[n,s=null]=r.split("=");n=decodeURIComponent(n),s&&(s=decodeURIComponent(s)),n in t?Array.isArray(t[n])?t[n].push(s):t[n]=[t[n],s]:t[n]=s}return t}const zt=e=>{if(typeof e=="string")return zt(new URL(e));const{hostname:t,pathname:r,port:n,protocol:s,search:i}=e;let o;return i&&(o=Kh(i)),{hostname:t,port:n?parseInt(n):void 0,protocol:s,path:r,query:o}},Lo=e=>typeof e=="object"?"url"in e?zt(e.url):e:zt(e),Wh=async(e,t,r,n)=>{if(!r.endpoint){let i;r.serviceConfiguredEndpoint?i=await r.serviceConfiguredEndpoint():i=await Bo(r.serviceId),i&&(r.endpoint=()=>Promise.resolve(Lo(i)))}const s=await Fo(e,t,r);if(typeof r.endpointProvider!="function")throw new Error("config.endpointProvider is not set.");return r.endpointProvider(s,n)},Fo=async(e,t,r)=>{var n;const s={},i=((n=t==null?void 0:t.getEndpointParameterInstructions)==null?void 0:n.call(t))||{};for(const[o,a]of Object.entries(i))switch(a.type){case"staticContextParams":s[o]=a.value;break;case"contextParams":s[o]=e[a.name];break;case"clientContextParams":case"builtInParams":s[o]=await Vh(a.name,o,r)();break;default:throw new Error("Unrecognized endpoint parameter instruction: "+JSON.stringify(a))}return Object.keys(i).length===0&&Object.assign(s,r),String(r.serviceId).toLowerCase()==="s3"&&await Lh(s),s},Gh=({config:e,instructions:t})=>(r,n)=>async s=>{var i,o,a;e.endpoint&&wc(n,"ENDPOINT_OVERRIDE","N");const c=await Wh(s.input,{getEndpointParameterInstructions(){return t}},{...e},n);n.endpointV2=c,n.authSchemes=(i=c.properties)==null?void 0:i.authSchemes;const u=(o=n.authSchemes)==null?void 0:o[0];if(u){n.signing_region=u.signingRegion,n.signing_service=u.signingName;const f=ut(n),d=(a=f==null?void 0:f.selectedHttpAuthScheme)==null?void 0:a.httpAuthOption;d&&(d.signingProperties=Object.assign(d.signingProperties||{},{signing_region:u.signingRegion,signingRegion:u.signingRegion,signing_service:u.signingName,signingName:u.signingName,signingRegionSet:u.signingRegionSet},u.properties))}return r({...s})},Zh={step:"serialize",tags:["ENDPOINT_PARAMETERS","ENDPOINT_V2","ENDPOINT"],name:"endpointV2Middleware",override:!0,relation:"before",toMiddleware:sn.name},Ho=(e,t)=>({applyToStack:r=>{r.addRelativeTo(Gh({config:e,instructions:t}),Zh)}}),Xh=e=>{const t=e.tls??!0,{endpoint:r}=e,n=r!=null?async()=>Lo(await Te(r)()):void 0,s={...e,endpoint:n,tls:t,isCustomEndpoint:!!r,useDualstackEndpoint:Te(e.useDualstackEndpoint??!1),useFipsEndpoint:Te(e.useFipsEndpoint??!1)};let i;return s.serviceConfiguredEndpoint=async()=>(e.serviceId&&!i&&(i=Bo(e.serviceId)),i),s};var it;(function(e){e.STANDARD="standard",e.ADAPTIVE="adaptive"})(it||(it={}));const Sn=3,Yh=it.STANDARD,Qh=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],Jh=["TimeoutError","RequestTimeout","RequestTimeoutException"],ef=[500,502,503,504],tf=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],rf=e=>{var t;return(t=e.$metadata)==null?void 0:t.clockSkewCorrected},jo=e=>{var t,r;return((t=e.$metadata)==null?void 0:t.httpStatusCode)===429||Qh.includes(e.name)||((r=e.$retryable)==null?void 0:r.throttling)==!0},qo=e=>{var t;return rf(e)||Jh.includes(e.name)||tf.includes((e==null?void 0:e.code)||"")||ef.includes(((t=e.$metadata)==null?void 0:t.httpStatusCode)||0)},nf=e=>{var t;if(((t=e.$metadata)==null?void 0:t.httpStatusCode)!==void 0){const r=e.$metadata.httpStatusCode;return 500<=r&&r<=599&&!qo(e)}return!1};class sf{constructor(t){this.currentCapacity=0,this.enabled=!1,this.lastMaxRate=0,this.measuredTxRate=0,this.requestCount=0,this.lastTimestamp=0,this.timeWindow=0,this.beta=(t==null?void 0:t.beta)??.7,this.minCapacity=(t==null?void 0:t.minCapacity)??1,this.minFillRate=(t==null?void 0:t.minFillRate)??.5,this.scaleConstant=(t==null?void 0:t.scaleConstant)??.4,this.smooth=(t==null?void 0:t.smooth)??.8;const r=this.getCurrentTimeInSeconds();this.lastThrottleTime=r,this.lastTxRateBucket=Math.floor(this.getCurrentTimeInSeconds()),this.fillRate=this.minFillRate,this.maxCapacity=this.minCapacity}getCurrentTimeInSeconds(){return Date.now()/1e3}async getSendToken(){return this.acquireTokenBucket(1)}async acquireTokenBucket(t){if(this.enabled){if(this.refillTokenBucket(),t>this.currentCapacity){const r=(t-this.currentCapacity)/this.fillRate*1e3;await new Promise(n=>setTimeout(n,r))}this.currentCapacity=this.currentCapacity-t}}refillTokenBucket(){const t=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=t;return}const r=(t-this.lastTimestamp)*this.fillRate;this.currentCapacity=Math.min(this.maxCapacity,this.currentCapacity+r),this.lastTimestamp=t}updateClientSendingRate(t){let r;if(this.updateMeasuredRate(),jo(t)){const s=this.enabled?Math.min(this.measuredTxRate,this.fillRate):this.measuredTxRate;this.lastMaxRate=s,this.calculateTimeWindow(),this.lastThrottleTime=this.getCurrentTimeInSeconds(),r=this.cubicThrottle(s),this.enableTokenBucket()}else this.calculateTimeWindow(),r=this.cubicSuccess(this.getCurrentTimeInSeconds());const n=Math.min(r,2*this.measuredTxRate);this.updateTokenBucketRate(n)}calculateTimeWindow(){this.timeWindow=this.getPrecise(Math.pow(this.lastMaxRate*(1-this.beta)/this.scaleConstant,1/3))}cubicThrottle(t){return this.getPrecise(t*this.beta)}cubicSuccess(t){return this.getPrecise(this.scaleConstant*Math.pow(t-this.lastThrottleTime-this.timeWindow,3)+this.lastMaxRate)}enableTokenBucket(){this.enabled=!0}updateTokenBucketRate(t){this.refillTokenBucket(),this.fillRate=Math.max(t,this.minFillRate),this.maxCapacity=Math.max(t,this.minCapacity),this.currentCapacity=Math.min(this.currentCapacity,this.maxCapacity)}updateMeasuredRate(){const t=this.getCurrentTimeInSeconds(),r=Math.floor(t*2)/2;if(this.requestCount++,r>this.lastTxRateBucket){const n=this.requestCount/(r-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(n*this.smooth+this.measuredTxRate*(1-this.smooth)),this.requestCount=0,this.lastTxRateBucket=r}}getPrecise(t){return parseFloat(t.toFixed(8))}}const en=100,zo=20*1e3,of=500,As=500,af=5,cf=10,uf=1,lf="amz-sdk-invocation-id",df="amz-sdk-request",hf=()=>{let e=en;return{computeNextBackoffDelay:t=>Math.floor(Math.min(zo,Math.random()*2**t*e)),setDelayBase:t=>{e=t}}},xs=({retryDelay:e,retryCount:t,retryCost:r})=>({getRetryCount:()=>t,getRetryDelay:()=>Math.min(zo,e),getRetryCost:()=>r});class Vo{constructor(t){this.maxAttempts=t,this.mode=it.STANDARD,this.capacity=As,this.retryBackoffStrategy=hf(),this.maxAttemptsProvider=typeof t=="function"?t:async()=>t}async acquireInitialRetryToken(t){return xs({retryDelay:en,retryCount:0})}async refreshRetryTokenForRetry(t,r){const n=await this.getMaxAttempts();if(this.shouldRetry(t,r,n)){const s=r.errorType;this.retryBackoffStrategy.setDelayBase(s==="THROTTLING"?of:en);const i=this.retryBackoffStrategy.computeNextBackoffDelay(t.getRetryCount()),o=r.retryAfterHint?Math.max(r.retryAfterHint.getTime()-Date.now()||0,i):i,a=this.getCapacityCost(s);return this.capacity-=a,xs({retryDelay:o,retryCount:t.getRetryCount()+1,retryCost:a})}throw new Error("No retry token available")}recordSuccess(t){this.capacity=Math.max(As,this.capacity+(t.getRetryCost()??uf))}getCapacity(){return this.capacity}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch{return Sn}}shouldRetry(t,r,n){return t.getRetryCount()+1<n&&this.capacity>=this.getCapacityCost(r.errorType)&&this.isRetryableError(r.errorType)}getCapacityCost(t){return t==="TRANSIENT"?cf:af}isRetryableError(t){return t==="THROTTLING"||t==="TRANSIENT"}}class ff{constructor(t,r){this.maxAttemptsProvider=t,this.mode=it.ADAPTIVE;const{rateLimiter:n}=r??{};this.rateLimiter=n??new sf,this.standardRetryStrategy=new Vo(t)}async acquireInitialRetryToken(t){return await this.rateLimiter.getSendToken(),this.standardRetryStrategy.acquireInitialRetryToken(t)}async refreshRetryTokenForRetry(t,r){return this.rateLimiter.updateClientSendingRate(r),this.standardRetryStrategy.refreshRetryTokenForRetry(t,r)}recordSuccess(t){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess(t)}}let Tt;const pf=new Uint8Array(16);function gf(){if(!Tt&&(Tt=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Tt))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Tt(pf)}const re=[];for(let e=0;e<256;++e)re.push((e+256).toString(16).slice(1));function mf(e,t=0){return re[e[t+0]]+re[e[t+1]]+re[e[t+2]]+re[e[t+3]]+"-"+re[e[t+4]]+re[e[t+5]]+"-"+re[e[t+6]]+re[e[t+7]]+"-"+re[e[t+8]]+re[e[t+9]]+"-"+re[e[t+10]]+re[e[t+11]]+re[e[t+12]]+re[e[t+13]]+re[e[t+14]]+re[e[t+15]]}const yf=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ks={randomUUID:yf};function wf(e,t,r){if(ks.randomUUID&&!e)return ks.randomUUID();e=e||{};const n=e.random||(e.rng||gf)();return n[6]=n[6]&15|64,n[8]=n[8]&63|128,mf(n)}const bf=e=>e instanceof Error?e:e instanceof Object?Object.assign(new Error,e):typeof e=="string"?new Error(e):new Error(`AWS SDK error wrapper for ${e}`),vf=e=>{const{retryStrategy:t}=e,r=Te(e.maxAttempts??Sn);return{...e,maxAttempts:r,retryStrategy:async()=>t||(await Te(e.retryMode)()===it.ADAPTIVE?new ff(r):new Vo(r))}},Sf=e=>(e==null?void 0:e.body)instanceof ReadableStream,Ef=e=>(t,r)=>async n=>{var s;let i=await e.retryStrategy();const o=await e.maxAttempts();if(Af(i)){i=i;let a=await i.acquireInitialRetryToken(r.partition_id),c=new Error,u=0,f=0;const{request:d}=n,p=Z.isInstance(d);for(p&&(d.headers[lf]=wf());;)try{p&&(d.headers[df]=`attempt=${u+1}; max=${o}`);const{response:g,output:S}=await t(n);return i.recordSuccess(a),S.$metadata.attempts=u+1,S.$metadata.totalRetryDelay=f,{response:g,output:S}}catch(g){const S=xf(g);if(c=bf(g),p&&Sf(d))throw(s=r.logger instanceof hn?console:r.logger)==null||s.warn("An error was encountered in a non-retryable streaming request."),c;try{a=await i.refreshRetryTokenForRetry(a,S)}catch{throw c.$metadata||(c.$metadata={}),c.$metadata.attempts=u+1,c.$metadata.totalRetryDelay=f,c}u=a.getRetryCount();const R=a.getRetryDelay();f+=R,await new Promise(E=>setTimeout(E,R))}}else return i=i,i!=null&&i.mode&&(r.userAgent=[...r.userAgent||[],["cfg/retry-mode",i.mode]]),i.retry(t,n)},Af=e=>typeof e.acquireInitialRetryToken<"u"&&typeof e.refreshRetryTokenForRetry<"u"&&typeof e.recordSuccess<"u",xf=e=>{const t={error:e,errorType:kf(e)},r=Pf(e.$response);return r&&(t.retryAfterHint=r),t},kf=e=>jo(e)?"THROTTLING":qo(e)?"TRANSIENT":nf(e)?"SERVER_ERROR":"CLIENT_ERROR",Rf={name:"retryMiddleware",tags:["RETRY"],step:"finalizeRequest",priority:"high",override:!0},Cf=e=>({applyToStack:t=>{t.add(Ef(e),Rf)}}),Pf=e=>{if(!Et.isInstance(e))return;const t=Object.keys(e.headers).find(s=>s.toLowerCase()==="retry-after");if(!t)return;const r=e.headers[t],n=Number(r);return Number.isNaN(n)?new Date(r):new Date(n*1e3)},Tf={CrtSignerV4:null};class If{constructor(t){this.sigv4Signer=new Cd(t),this.signerOptions=t}async sign(t,r={}){if(r.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(t,r)}return this.sigv4Signer.sign(t,r)}async signWithCredentials(t,r,n={}){if(n.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(t,r,n)}return this.sigv4Signer.signWithCredentials(t,r,n)}async presign(t,r={}){if(r.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(t,r)}return this.sigv4Signer.presign(t,r)}async presignWithCredentials(t,r,n={}){if(n.signingRegion==="*")throw new Error("Method presignWithCredentials is not supported for [signingRegion=*].");return this.sigv4Signer.presignWithCredentials(t,r,n)}getSigv4aSigner(){if(!this.sigv4aSigner){let t=null;try{if(t=Tf.CrtSignerV4,typeof t!="function")throw new Error}catch(r){throw r.message=`${r.message}
  27. Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly.
  28. You 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";].
  29. For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`,r}this.sigv4aSigner=new t({...this.signerOptions,signingAlgorithm:1})}return this.sigv4aSigner}}const En="required",l="type",h="conditions",m="fn",y="argv",P="ref",F="assign",A="url",x="properties",Ko="backend",Re="authSchemes",we="disableDoubleEncoding",be="signingName",Oe="signingRegion",k="headers",An="signingRegionSet",Nf=!1,Ae=!0,Se="isSet",te="booleanEquals",C="error",Vt="aws.partition",L="stringEquals",V="getAttr",ue="name",Pe="substring",Rs="bucketSuffix",Wo="parseURL",Cs="{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",v="endpoint",b="tree",Go="aws.isVirtualHostableS3Bucket",Ut="{url#scheme}://{Bucket}.{url#authority}{url#path}",Ie="not",$t="{url#scheme}://{url#authority}{url#path}",Zo="hardwareType",Xo="regionPrefix",Ps="bucketAliasSuffix",tn="outpostId",Qe="isValidHostLabel",xn="sigv4a",kt="s3-outposts",ot="s3",Yo="{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",Qo="https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",Ts="https://{Bucket}.s3.{partitionResult#dnsSuffix}",Jo="aws.parseArn",ea="bucketArn",ta="arnType",Kt="",kn="s3-object-lambda",ra="accesspoint",Rn="accessPointName",Is="{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",Ns="mrapPartition",Os="outpostType",Ms="arnPrefix",na="{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",Us="https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",$s="https://s3.{partitionResult#dnsSuffix}",Je={[En]:!1,[l]:"String"},et={[En]:!0,default:!1,[l]:"Boolean"},pt={[En]:!1,[l]:"Boolean"},xe={[m]:te,[y]:[{[P]:"Accelerate"},!0]},B={[m]:te,[y]:[{[P]:"UseFIPS"},!0]},D={[m]:te,[y]:[{[P]:"UseDualStack"},!0]},W={[m]:Se,[y]:[{[P]:"Endpoint"}]},sa={[m]:Vt,[y]:[{[P]:"Region"}],[F]:"partitionResult"},_s={[m]:L,[y]:[{[m]:V,[y]:[{[P]:"partitionResult"},ue]},"aws-cn"]},Wt={[m]:Se,[y]:[{[P]:"Bucket"}]},pe={[P]:"Bucket"},de={[m]:Wo,[y]:[{[P]:"Endpoint"}],[F]:"url"},_t={[m]:te,[y]:[{[m]:V,[y]:[{[P]:"url"},"isIp"]},!0]},ia={[P]:"url"},oa={[m]:"uriEncode",[y]:[pe],[F]:"uri_encoded_bucket"},Me={[Ko]:"S3Express",[Re]:[{[we]:!0,[ue]:"sigv4",[be]:"s3express",[Oe]:"{Region}"}]},T={},aa={[m]:Go,[y]:[pe,!1]},gr={[C]:"S3Express bucket name is not a valid virtual hostable name.",[l]:C},Gt={[Ko]:"S3Express",[Re]:[{[we]:!0,[ue]:"sigv4-s3express",[be]:"s3express",[Oe]:"{Region}"}]},Ds={[m]:Se,[y]:[{[P]:"UseS3ExpressControlEndpoint"}]},Bs={[m]:te,[y]:[{[P]:"UseS3ExpressControlEndpoint"},!0]},I={[m]:Ie,[y]:[W]},Ls={[C]:"Unrecognized S3Express bucket name format.",[l]:C},Fs={[m]:Ie,[y]:[Wt]},Hs={[P]:Zo},js={[h]:[I],[C]:"Expected a endpoint to be specified but no endpoint was found",[l]:C},It={[Re]:[{[we]:!0,[ue]:xn,[be]:kt,[An]:["*"]},{[we]:!0,[ue]:"sigv4",[be]:kt,[Oe]:"{Region}"}]},mr={[m]:te,[y]:[{[P]:"ForcePathStyle"},!1]},Of={[P]:"ForcePathStyle"},K={[m]:te,[y]:[{[P]:"Accelerate"},!1]},Y={[m]:L,[y]:[{[P]:"Region"},"aws-global"]},Q={[Re]:[{[we]:!0,[ue]:"sigv4",[be]:ot,[Oe]:"us-east-1"}]},U={[m]:Ie,[y]:[Y]},J={[m]:te,[y]:[{[P]:"UseGlobalEndpoint"},!0]},qs={[A]:"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[x]:{[Re]:[{[we]:!0,[ue]:"sigv4",[be]:ot,[Oe]:"{Region}"}]},[k]:{}},G={[Re]:[{[we]:!0,[ue]:"sigv4",[be]:ot,[Oe]:"{Region}"}]},ee={[m]:te,[y]:[{[P]:"UseGlobalEndpoint"},!1]},O={[m]:te,[y]:[{[P]:"UseDualStack"},!1]},zs={[A]:"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}",[x]:G,[k]:{}},N={[m]:te,[y]:[{[P]:"UseFIPS"},!1]},Vs={[A]:"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}",[x]:G,[k]:{}},Ks={[A]:"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}",[x]:G,[k]:{}},yr={[m]:te,[y]:[{[m]:V,[y]:[ia,"isIp"]},!1]},wr={[A]:Yo,[x]:G,[k]:{}},rn={[A]:Ut,[x]:G,[k]:{}},Ws={[v]:rn,[l]:v},br={[A]:Qo,[x]:G,[k]:{}},Gs={[A]:"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}",[x]:G,[k]:{}},Nt={[C]:"Invalid region: region was not a valid DNS name.",[l]:C},me={[P]:ea},ca={[P]:ta},vr={[m]:V,[y]:[me,"service"]},Cn={[P]:Rn},Zs={[h]:[D],[C]:"S3 Object Lambda does not support Dual-stack",[l]:C},Xs={[h]:[xe],[C]:"S3 Object Lambda does not support S3 Accelerate",[l]:C},Ys={[h]:[{[m]:Se,[y]:[{[P]:"DisableAccessPoints"}]},{[m]:te,[y]:[{[P]:"DisableAccessPoints"},!0]}],[C]:"Access points are not supported for this operation",[l]:C},Sr={[h]:[{[m]:Se,[y]:[{[P]:"UseArnRegion"}]},{[m]:te,[y]:[{[P]:"UseArnRegion"},!1]},{[m]:Ie,[y]:[{[m]:L,[y]:[{[m]:V,[y]:[me,"region"]},"{Region}"]}]}],[C]:"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`",[l]:C},ua={[m]:V,[y]:[{[P]:"bucketPartition"},ue]},la={[m]:V,[y]:[me,"accountId"]},Er={[Re]:[{[we]:!0,[ue]:"sigv4",[be]:kn,[Oe]:"{bucketArn#region}"}]},Qs={[C]:"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",[l]:C},Ar={[C]:"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",[l]:C},xr={[C]:"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",[l]:C},kr={[C]:"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",[l]:C},Js={[C]:"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",[l]:C},ei={[C]:"Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided",[l]:C},gt={[Re]:[{[we]:!0,[ue]:"sigv4",[be]:ot,[Oe]:"{bucketArn#region}"}]},ti={[Re]:[{[we]:!0,[ue]:xn,[be]:kt,[An]:["*"]},{[we]:!0,[ue]:"sigv4",[be]:kt,[Oe]:"{bucketArn#region}"}]},ri={[m]:Jo,[y]:[pe]},ni={[A]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[x]:G,[k]:{}},si={[A]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[x]:G,[k]:{}},ii={[A]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[x]:G,[k]:{}},Rr={[A]:na,[x]:G,[k]:{}},oi={[A]:"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[x]:G,[k]:{}},ai={[P]:"UseObjectLambdaEndpoint"},Cr={[Re]:[{[we]:!0,[ue]:"sigv4",[be]:kn,[Oe]:"{Region}"}]},ci={[A]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[x]:G,[k]:{}},ui={[A]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}",[x]:G,[k]:{}},li={[A]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}",[x]:G,[k]:{}},Pr={[A]:$t,[x]:G,[k]:{}},di={[A]:"https://s3.{Region}.{partitionResult#dnsSuffix}",[x]:G,[k]:{}},Tr=[{[P]:"Region"}],Mf=[{[P]:"Endpoint"}],Uf=[pe],Ir=[D],Ot=[xe],Ve=[W,de],hi=[{[m]:Se,[y]:[{[P]:"DisableS3ExpressSessionAuth"}]},{[m]:te,[y]:[{[P]:"DisableS3ExpressSessionAuth"},!0]}],fi=[_t],Nr=[oa],Or=[aa],tt=[B],pi=[{[m]:Pe,[y]:[pe,6,14,!0],[F]:"s3expressAvailabilityZoneId"},{[m]:Pe,[y]:[pe,14,16,!0],[F]:"s3expressAvailabilityZoneDelim"},{[m]:L,[y]:[{[P]:"s3expressAvailabilityZoneDelim"},"--"]}],gi=[{[h]:[B],[v]:{[A]:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",[x]:Me,[k]:{}},[l]:v},{[v]:{[A]:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",[x]:Me,[k]:{}},[l]:v}],mi=[{[m]:Pe,[y]:[pe,6,15,!0],[F]:"s3expressAvailabilityZoneId"},{[m]:Pe,[y]:[pe,15,17,!0],[F]:"s3expressAvailabilityZoneDelim"},{[m]:L,[y]:[{[P]:"s3expressAvailabilityZoneDelim"},"--"]}],yi=[{[h]:[B],[v]:{[A]:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",[x]:Gt,[k]:{}},[l]:v},{[v]:{[A]:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",[x]:Gt,[k]:{}},[l]:v}],$f=[Wt],wi=[{[m]:Qe,[y]:[{[P]:tn},!1]}],bi=[{[m]:L,[y]:[{[P]:Xo},"beta"]}],_f=["*"],$e=[sa],vi=[{[m]:Qe,[y]:[{[P]:"Region"},!1]}],_e=[{[m]:L,[y]:[{[P]:"Region"},"us-east-1"]}],Mr=[{[m]:L,[y]:[ca,ra]}],Si=[{[m]:V,[y]:[me,"resourceId[1]"],[F]:Rn},{[m]:Ie,[y]:[{[m]:L,[y]:[Cn,Kt]}]}],Df=[me,"resourceId[1]"],Ur=[{[m]:Ie,[y]:[{[m]:L,[y]:[{[m]:V,[y]:[me,"region"]},Kt]}]}],Ei=[{[m]:Ie,[y]:[{[m]:Se,[y]:[{[m]:V,[y]:[me,"resourceId[2]"]}]}]}],Bf=[me,"resourceId[2]"],$r=[{[m]:Vt,[y]:[{[m]:V,[y]:[me,"region"]}],[F]:"bucketPartition"}],Ai=[{[m]:L,[y]:[ua,{[m]:V,[y]:[{[P]:"partitionResult"},ue]}]}],_r=[{[m]:Qe,[y]:[{[m]:V,[y]:[me,"region"]},!0]}],Dr=[{[m]:Qe,[y]:[la,!1]}],xi=[{[m]:Qe,[y]:[Cn,!1]}],ki=[{[m]:Qe,[y]:[{[P]:"Region"},!0]}],Lf={parameters:{Bucket:Je,Region:Je,UseFIPS:et,UseDualStack:et,Endpoint:Je,ForcePathStyle:et,Accelerate:et,UseGlobalEndpoint:et,UseObjectLambdaEndpoint:pt,Key:Je,Prefix:Je,CopySource:Je,DisableAccessPoints:pt,DisableMultiRegionAccessPoints:et,UseArnRegion:pt,UseS3ExpressControlEndpoint:pt,DisableS3ExpressSessionAuth:pt},rules:[{[h]:[{[m]:Se,[y]:Tr}],rules:[{[h]:[xe,B],error:"Accelerate cannot be used with FIPS",[l]:C},{[h]:[D,W],error:"Cannot set dual-stack in combination with a custom endpoint.",[l]:C},{[h]:[W,B],error:"A custom endpoint cannot be combined with FIPS",[l]:C},{[h]:[W,xe],error:"A custom endpoint cannot be combined with S3 Accelerate",[l]:C},{[h]:[B,sa,_s],error:"Partition does not support FIPS",[l]:C},{[h]:[Wt,{[m]:Pe,[y]:[pe,0,6,Ae],[F]:Rs},{[m]:L,[y]:[{[P]:Rs},"--x-s3"]}],rules:[{[h]:Ir,error:"S3Express does not support Dual-stack.",[l]:C},{[h]:Ot,error:"S3Express does not support S3 Accelerate.",[l]:C},{[h]:Ve,rules:[{[h]:hi,rules:[{[h]:fi,rules:[{[h]:Nr,rules:[{endpoint:{[A]:Cs,[x]:Me,[k]:T},[l]:v}],[l]:b}],[l]:b},{[h]:Or,rules:[{endpoint:{[A]:Ut,[x]:Me,[k]:T},[l]:v}],[l]:b},gr],[l]:b},{[h]:fi,rules:[{[h]:Nr,rules:[{endpoint:{[A]:Cs,[x]:Gt,[k]:T},[l]:v}],[l]:b}],[l]:b},{[h]:Or,rules:[{endpoint:{[A]:Ut,[x]:Gt,[k]:T},[l]:v}],[l]:b},gr],[l]:b},{[h]:[Ds,Bs],rules:[{[h]:[oa,I],rules:[{[h]:tt,endpoint:{[A]:"https://s3express-control-fips.{Region}.amazonaws.com/{uri_encoded_bucket}",[x]:Me,[k]:T},[l]:v},{endpoint:{[A]:"https://s3express-control.{Region}.amazonaws.com/{uri_encoded_bucket}",[x]:Me,[k]:T},[l]:v}],[l]:b}],[l]:b},{[h]:Or,rules:[{[h]:hi,rules:[{[h]:pi,rules:gi,[l]:b},{[h]:mi,rules:gi,[l]:b},Ls],[l]:b},{[h]:pi,rules:yi,[l]:b},{[h]:mi,rules:yi,[l]:b},Ls],[l]:b},gr],[l]:b},{[h]:[Fs,Ds,Bs],rules:[{[h]:Ve,endpoint:{[A]:$t,[x]:Me,[k]:T},[l]:v},{[h]:tt,endpoint:{[A]:"https://s3express-control-fips.{Region}.amazonaws.com",[x]:Me,[k]:T},[l]:v},{endpoint:{[A]:"https://s3express-control.{Region}.amazonaws.com",[x]:Me,[k]:T},[l]:v}],[l]:b},{[h]:[Wt,{[m]:Pe,[y]:[pe,49,50,Ae],[F]:Zo},{[m]:Pe,[y]:[pe,8,12,Ae],[F]:Xo},{[m]:Pe,[y]:[pe,0,7,Ae],[F]:Ps},{[m]:Pe,[y]:[pe,32,49,Ae],[F]:tn},{[m]:Vt,[y]:Tr,[F]:"regionPartition"},{[m]:L,[y]:[{[P]:Ps},"--op-s3"]}],rules:[{[h]:wi,rules:[{[h]:[{[m]:L,[y]:[Hs,"e"]}],rules:[{[h]:bi,rules:[js,{[h]:Ve,endpoint:{[A]:"https://{Bucket}.ec2.{url#authority}",[x]:It,[k]:T},[l]:v}],[l]:b},{endpoint:{[A]:"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}",[x]:It,[k]:T},[l]:v}],[l]:b},{[h]:[{[m]:L,[y]:[Hs,"o"]}],rules:[{[h]:bi,rules:[js,{[h]:Ve,endpoint:{[A]:"https://{Bucket}.op-{outpostId}.{url#authority}",[x]:It,[k]:T},[l]:v}],[l]:b},{endpoint:{[A]:"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}",[x]:It,[k]:T},[l]:v}],[l]:b},{error:'Unrecognized hardware type: "Expected hardware type o or e but got {hardwareType}"',[l]:C}],[l]:b},{error:"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.",[l]:C}],[l]:b},{[h]:$f,rules:[{[h]:[W,{[m]:Ie,[y]:[{[m]:Se,[y]:[{[m]:Wo,[y]:Mf}]}]}],error:"Custom endpoint `{Endpoint}` was not a valid URI",[l]:C},{[h]:[mr,aa],rules:[{[h]:$e,rules:[{[h]:vi,rules:[{[h]:[xe,_s],error:"S3 Accelerate cannot be used in this region",[l]:C},{[h]:[D,B,K,I,Y],endpoint:{[A]:"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",[x]:Q,[k]:T},[l]:v},{[h]:[D,B,K,I,U,J],rules:[{endpoint:qs,[l]:v}],[l]:b},{[h]:[D,B,K,I,U,ee],endpoint:qs,[l]:v},{[h]:[O,B,K,I,Y],endpoint:{[A]:"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}",[x]:Q,[k]:T},[l]:v},{[h]:[O,B,K,I,U,J],rules:[{endpoint:zs,[l]:v}],[l]:b},{[h]:[O,B,K,I,U,ee],endpoint:zs,[l]:v},{[h]:[D,N,xe,I,Y],endpoint:{[A]:"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}",[x]:Q,[k]:T},[l]:v},{[h]:[D,N,xe,I,U,J],rules:[{endpoint:Vs,[l]:v}],[l]:b},{[h]:[D,N,xe,I,U,ee],endpoint:Vs,[l]:v},{[h]:[D,N,K,I,Y],endpoint:{[A]:"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",[x]:Q,[k]:T},[l]:v},{[h]:[D,N,K,I,U,J],rules:[{endpoint:Ks,[l]:v}],[l]:b},{[h]:[D,N,K,I,U,ee],endpoint:Ks,[l]:v},{[h]:[O,N,K,W,de,_t,Y],endpoint:{[A]:Yo,[x]:Q,[k]:T},[l]:v},{[h]:[O,N,K,W,de,yr,Y],endpoint:{[A]:Ut,[x]:Q,[k]:T},[l]:v},{[h]:[O,N,K,W,de,_t,U,J],rules:[{[h]:_e,endpoint:wr,[l]:v},{endpoint:wr,[l]:v}],[l]:b},{[h]:[O,N,K,W,de,yr,U,J],rules:[{[h]:_e,endpoint:rn,[l]:v},Ws],[l]:b},{[h]:[O,N,K,W,de,_t,U,ee],endpoint:wr,[l]:v},{[h]:[O,N,K,W,de,yr,U,ee],endpoint:rn,[l]:v},{[h]:[O,N,xe,I,Y],endpoint:{[A]:Qo,[x]:Q,[k]:T},[l]:v},{[h]:[O,N,xe,I,U,J],rules:[{[h]:_e,endpoint:br,[l]:v},{endpoint:br,[l]:v}],[l]:b},{[h]:[O,N,xe,I,U,ee],endpoint:br,[l]:v},{[h]:[O,N,K,I,Y],endpoint:{[A]:Ts,[x]:Q,[k]:T},[l]:v},{[h]:[O,N,K,I,U,J],rules:[{[h]:_e,endpoint:{[A]:Ts,[x]:G,[k]:T},[l]:v},{endpoint:Gs,[l]:v}],[l]:b},{[h]:[O,N,K,I,U,ee],endpoint:Gs,[l]:v}],[l]:b},Nt],[l]:b}],[l]:b},{[h]:[W,de,{[m]:L,[y]:[{[m]:V,[y]:[ia,"scheme"]},"http"]},{[m]:Go,[y]:[pe,Ae]},mr,N,O,K],rules:[{[h]:$e,rules:[{[h]:vi,rules:[Ws],[l]:b},Nt],[l]:b}],[l]:b},{[h]:[mr,{[m]:Jo,[y]:Uf,[F]:ea}],rules:[{[h]:[{[m]:V,[y]:[me,"resourceId[0]"],[F]:ta},{[m]:Ie,[y]:[{[m]:L,[y]:[ca,Kt]}]}],rules:[{[h]:[{[m]:L,[y]:[vr,kn]}],rules:[{[h]:Mr,rules:[{[h]:Si,rules:[Zs,Xs,{[h]:Ur,rules:[Ys,{[h]:Ei,rules:[Sr,{[h]:$r,rules:[{[h]:$e,rules:[{[h]:Ai,rules:[{[h]:_r,rules:[{[h]:[{[m]:L,[y]:[la,Kt]}],error:"Invalid ARN: Missing account id",[l]:C},{[h]:Dr,rules:[{[h]:xi,rules:[{[h]:Ve,endpoint:{[A]:Is,[x]:Er,[k]:T},[l]:v},{[h]:tt,endpoint:{[A]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",[x]:Er,[k]:T},[l]:v},{endpoint:{[A]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}",[x]:Er,[k]:T},[l]:v}],[l]:b},Qs],[l]:b},Ar],[l]:b},xr],[l]:b},kr],[l]:b}],[l]:b}],[l]:b},Js],[l]:b},{error:"Invalid ARN: bucket ARN is missing a region",[l]:C}],[l]:b},ei],[l]:b},{error:"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`",[l]:C}],[l]:b},{[h]:Mr,rules:[{[h]:Si,rules:[{[h]:Ur,rules:[{[h]:Mr,rules:[{[h]:Ur,rules:[Ys,{[h]:Ei,rules:[Sr,{[h]:$r,rules:[{[h]:$e,rules:[{[h]:[{[m]:L,[y]:[ua,"{partitionResult#name}"]}],rules:[{[h]:_r,rules:[{[h]:[{[m]:L,[y]:[vr,ot]}],rules:[{[h]:Dr,rules:[{[h]:xi,rules:[{[h]:Ot,error:"Access Points do not support S3 Accelerate",[l]:C},{[h]:[B,D],endpoint:{[A]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",[x]:gt,[k]:T},[l]:v},{[h]:[B,O],endpoint:{[A]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",[x]:gt,[k]:T},[l]:v},{[h]:[N,D],endpoint:{[A]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",[x]:gt,[k]:T},[l]:v},{[h]:[N,O,W,de],endpoint:{[A]:Is,[x]:gt,[k]:T},[l]:v},{[h]:[N,O],endpoint:{[A]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}",[x]:gt,[k]:T},[l]:v}],[l]:b},Qs],[l]:b},Ar],[l]:b},{error:"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}",[l]:C}],[l]:b},xr],[l]:b},kr],[l]:b}],[l]:b}],[l]:b},Js],[l]:b}],[l]:b}],[l]:b},{[h]:[{[m]:Qe,[y]:[Cn,Ae]}],rules:[{[h]:Ir,error:"S3 MRAP does not support dual-stack",[l]:C},{[h]:tt,error:"S3 MRAP does not support FIPS",[l]:C},{[h]:Ot,error:"S3 MRAP does not support S3 Accelerate",[l]:C},{[h]:[{[m]:te,[y]:[{[P]:"DisableMultiRegionAccessPoints"},Ae]}],error:"Invalid configuration: Multi-Region Access Point ARNs are disabled.",[l]:C},{[h]:[{[m]:Vt,[y]:Tr,[F]:Ns}],rules:[{[h]:[{[m]:L,[y]:[{[m]:V,[y]:[{[P]:Ns},ue]},{[m]:V,[y]:[me,"partition"]}]}],rules:[{endpoint:{[A]:"https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}",[x]:{[Re]:[{[we]:Ae,name:xn,[be]:ot,[An]:_f}]},[k]:T},[l]:v}],[l]:b},{error:"Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`",[l]:C}],[l]:b}],[l]:b},{error:"Invalid Access Point Name",[l]:C}],[l]:b},ei],[l]:b},{[h]:[{[m]:L,[y]:[vr,kt]}],rules:[{[h]:Ir,error:"S3 Outposts does not support Dual-stack",[l]:C},{[h]:tt,error:"S3 Outposts does not support FIPS",[l]:C},{[h]:Ot,error:"S3 Outposts does not support S3 Accelerate",[l]:C},{[h]:[{[m]:Se,[y]:[{[m]:V,[y]:[me,"resourceId[4]"]}]}],error:"Invalid Arn: Outpost Access Point ARN contains sub resources",[l]:C},{[h]:[{[m]:V,[y]:Df,[F]:tn}],rules:[{[h]:wi,rules:[Sr,{[h]:$r,rules:[{[h]:$e,rules:[{[h]:Ai,rules:[{[h]:_r,rules:[{[h]:Dr,rules:[{[h]:[{[m]:V,[y]:Bf,[F]:Os}],rules:[{[h]:[{[m]:V,[y]:[me,"resourceId[3]"],[F]:Rn}],rules:[{[h]:[{[m]:L,[y]:[{[P]:Os},ra]}],rules:[{[h]:Ve,endpoint:{[A]:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}",[x]:ti,[k]:T},[l]:v},{endpoint:{[A]:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}",[x]:ti,[k]:T},[l]:v}],[l]:b},{error:"Expected an outpost type `accesspoint`, found {outpostType}",[l]:C}],[l]:b},{error:"Invalid ARN: expected an access point name",[l]:C}],[l]:b},{error:"Invalid ARN: Expected a 4-component resource",[l]:C}],[l]:b},Ar],[l]:b},xr],[l]:b},kr],[l]:b}],[l]:b}],[l]:b},{error:"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`",[l]:C}],[l]:b},{error:"Invalid ARN: The Outpost Id was not set",[l]:C}],[l]:b},{error:"Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})",[l]:C}],[l]:b},{error:"Invalid ARN: No ARN type specified",[l]:C}],[l]:b},{[h]:[{[m]:Pe,[y]:[pe,0,4,Nf],[F]:Ms},{[m]:L,[y]:[{[P]:Ms},"arn:"]},{[m]:Ie,[y]:[{[m]:Se,[y]:[ri]}]}],error:"Invalid ARN: `{Bucket}` was not a valid ARN",[l]:C},{[h]:[{[m]:te,[y]:[Of,Ae]},ri],error:"Path-style addressing cannot be used with ARN buckets",[l]:C},{[h]:Nr,rules:[{[h]:$e,rules:[{[h]:[K],rules:[{[h]:[D,I,B,Y],endpoint:{[A]:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[x]:Q,[k]:T},[l]:v},{[h]:[D,I,B,U,J],rules:[{endpoint:ni,[l]:v}],[l]:b},{[h]:[D,I,B,U,ee],endpoint:ni,[l]:v},{[h]:[O,I,B,Y],endpoint:{[A]:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[x]:Q,[k]:T},[l]:v},{[h]:[O,I,B,U,J],rules:[{endpoint:si,[l]:v}],[l]:b},{[h]:[O,I,B,U,ee],endpoint:si,[l]:v},{[h]:[D,I,N,Y],endpoint:{[A]:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[x]:Q,[k]:T},[l]:v},{[h]:[D,I,N,U,J],rules:[{endpoint:ii,[l]:v}],[l]:b},{[h]:[D,I,N,U,ee],endpoint:ii,[l]:v},{[h]:[O,W,de,N,Y],endpoint:{[A]:na,[x]:Q,[k]:T},[l]:v},{[h]:[O,W,de,N,U,J],rules:[{[h]:_e,endpoint:Rr,[l]:v},{endpoint:Rr,[l]:v}],[l]:b},{[h]:[O,W,de,N,U,ee],endpoint:Rr,[l]:v},{[h]:[O,I,N,Y],endpoint:{[A]:Us,[x]:Q,[k]:T},[l]:v},{[h]:[O,I,N,U,J],rules:[{[h]:_e,endpoint:{[A]:Us,[x]:G,[k]:T},[l]:v},{endpoint:oi,[l]:v}],[l]:b},{[h]:[O,I,N,U,ee],endpoint:oi,[l]:v}],[l]:b},{error:"Path-style addressing cannot be used with S3 Accelerate",[l]:C}],[l]:b}],[l]:b}],[l]:b},{[h]:[{[m]:Se,[y]:[ai]},{[m]:te,[y]:[ai,Ae]}],rules:[{[h]:$e,rules:[{[h]:ki,rules:[Zs,Xs,{[h]:Ve,endpoint:{[A]:$t,[x]:Cr,[k]:T},[l]:v},{[h]:tt,endpoint:{[A]:"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}",[x]:Cr,[k]:T},[l]:v},{endpoint:{[A]:"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}",[x]:Cr,[k]:T},[l]:v}],[l]:b},Nt],[l]:b}],[l]:b},{[h]:[Fs],rules:[{[h]:$e,rules:[{[h]:ki,rules:[{[h]:[B,D,I,Y],endpoint:{[A]:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",[x]:Q,[k]:T},[l]:v},{[h]:[B,D,I,U,J],rules:[{endpoint:ci,[l]:v}],[l]:b},{[h]:[B,D,I,U,ee],endpoint:ci,[l]:v},{[h]:[B,O,I,Y],endpoint:{[A]:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}",[x]:Q,[k]:T},[l]:v},{[h]:[B,O,I,U,J],rules:[{endpoint:ui,[l]:v}],[l]:b},{[h]:[B,O,I,U,ee],endpoint:ui,[l]:v},{[h]:[N,D,I,Y],endpoint:{[A]:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",[x]:Q,[k]:T},[l]:v},{[h]:[N,D,I,U,J],rules:[{endpoint:li,[l]:v}],[l]:b},{[h]:[N,D,I,U,ee],endpoint:li,[l]:v},{[h]:[N,O,W,de,Y],endpoint:{[A]:$t,[x]:Q,[k]:T},[l]:v},{[h]:[N,O,W,de,U,J],rules:[{[h]:_e,endpoint:Pr,[l]:v},{endpoint:Pr,[l]:v}],[l]:b},{[h]:[N,O,W,de,U,ee],endpoint:Pr,[l]:v},{[h]:[N,O,I,Y],endpoint:{[A]:$s,[x]:Q,[k]:T},[l]:v},{[h]:[N,O,I,U,J],rules:[{[h]:_e,endpoint:{[A]:$s,[x]:G,[k]:T},[l]:v},{endpoint:di,[l]:v}],[l]:b},{[h]:[N,O,I,U,ee],endpoint:di,[l]:v}],[l]:b},Nt],[l]:b}],[l]:b}],[l]:b},{error:"A region must be set when sending requests to S3.",[l]:C}]},Ff=Lf,Hf=new Yd({size:50,params:["Accelerate","Bucket","DisableAccessPoints","DisableMultiRegionAccessPoints","DisableS3ExpressSessionAuth","Endpoint","ForcePathStyle","Region","UseArnRegion","UseDualStack","UseFIPS","UseGlobalEndpoint","UseObjectLambdaEndpoint","UseS3ExpressControlEndpoint"]}),da=(e,t={})=>Hf.get(e,()=>mh(Ff,{endpointParams:e,logger:t.logger}));qt.aws=_o;const jf=e=>async(t,r,n)=>{var s,i,o;if(!n)throw new Error("Could not find `input` for `defaultEndpointRuleSetHttpAuthSchemeParametersProvider`");const a=await e(t,r,n),c=(o=(i=(s=ut(r))==null?void 0:s.commandInstance)==null?void 0:i.constructor)==null?void 0:o.getEndpointParameterInstructions;if(!c)throw new Error(`getEndpointParameterInstructions() is not defined on \`${r.commandName}\``);const u=await Fo(n,{getEndpointParameterInstructions:c},t);return Object.assign(a,u)},qf=async(e,t,r)=>({operation:ut(t).operation,region:await Te(e.region)()||(()=>{throw new Error("expected `region` to be configured for `aws.auth#sigv4`")})()}),zf=jf(qf);function ha(e){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"s3",region:e.region},propertiesExtractor:(t,r)=>({signingProperties:{config:t,context:r}})}}function fa(e){return{schemeId:"aws.auth#sigv4a",signingProperties:{name:"s3",region:e.region},propertiesExtractor:(t,r)=>({signingProperties:{config:t,context:r}})}}const Vf=(e,t,r)=>n=>{var s;const i=(s=e(n).properties)==null?void 0:s.authSchemes;if(!i)return t(n);const o=[];for(const a of i){const{name:c,properties:u={},...f}=a,d=c.toLowerCase();let p;if(d==="sigv4a"){if(p="aws.auth#sigv4a",i.find(R=>{const E=R.name.toLowerCase();return E!=="sigv4a"&&E.startsWith("sigv4")}))continue}else if(d.startsWith("sigv4"))p="aws.auth#sigv4";else throw new Error(`Unknown HttpAuthScheme found in \`@smithy.rules#endpointRuleSet\`: \`${d}\``);const g=r[p];if(!g)throw new Error(`Could not find HttpAuthOption create function for \`${p}\``);const S=g(n);S.schemeId=p,S.signingProperties={...S.signingProperties||{},...f,...u},o.push(S)}return o},Kf=e=>{const t=[];switch(e.operation){default:t.push(ha(e)),t.push(fa(e))}return t},Wf=Vf(da,Kf,{"aws.auth#sigv4":ha,"aws.auth#sigv4a":fa}),Gf=e=>{const t=Xc(e);return{...kc(t)}},Zf=e=>({...e,useFipsEndpoint:e.useFipsEndpoint??!1,useDualstackEndpoint:e.useDualstackEndpoint??!1,forcePathStyle:e.forcePathStyle??!1,useAccelerateEndpoint:e.useAccelerateEndpoint??!1,useGlobalEndpoint:e.useGlobalEndpoint??!1,disableMultiregionAccessPoints:e.disableMultiregionAccessPoints??!1,defaultSigningName:"s3"}),pa={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 Ee extends dn{constructor(t){super(t),Object.setPrototypeOf(this,Ee.prototype)}}class Pn extends Ee{constructor(t){super({name:"NoSuchUpload",$fault:"client",...t}),this.name="NoSuchUpload",this.$fault="client",Object.setPrototypeOf(this,Pn.prototype)}}class Tn extends Ee{constructor(t){super({name:"ObjectNotInActiveTierError",$fault:"client",...t}),this.name="ObjectNotInActiveTierError",this.$fault="client",Object.setPrototypeOf(this,Tn.prototype)}}class In extends Ee{constructor(t){super({name:"BucketAlreadyExists",$fault:"client",...t}),this.name="BucketAlreadyExists",this.$fault="client",Object.setPrototypeOf(this,In.prototype)}}class Nn extends Ee{constructor(t){super({name:"BucketAlreadyOwnedByYou",$fault:"client",...t}),this.name="BucketAlreadyOwnedByYou",this.$fault="client",Object.setPrototypeOf(this,Nn.prototype)}}class On extends Ee{constructor(t){super({name:"NoSuchBucket",$fault:"client",...t}),this.name="NoSuchBucket",this.$fault="client",Object.setPrototypeOf(this,On.prototype)}}var Ri;(function(e){e.visit=(t,r)=>t.Prefix!==void 0?r.Prefix(t.Prefix):t.Tag!==void 0?r.Tag(t.Tag):t.And!==void 0?r.And(t.And):r._(t.$unknown[0],t.$unknown[1])})(Ri||(Ri={}));var Ci;(function(e){e.visit=(t,r)=>t.Prefix!==void 0?r.Prefix(t.Prefix):t.Tag!==void 0?r.Tag(t.Tag):t.AccessPointArn!==void 0?r.AccessPointArn(t.AccessPointArn):t.And!==void 0?r.And(t.And):r._(t.$unknown[0],t.$unknown[1])})(Ci||(Ci={}));class Mn extends Ee{constructor(t){super({name:"InvalidObjectState",$fault:"client",...t}),this.name="InvalidObjectState",this.$fault="client",Object.setPrototypeOf(this,Mn.prototype),this.StorageClass=t.StorageClass,this.AccessTier=t.AccessTier}}class Un extends Ee{constructor(t){super({name:"NoSuchKey",$fault:"client",...t}),this.name="NoSuchKey",this.$fault="client",Object.setPrototypeOf(this,Un.prototype)}}class $n extends Ee{constructor(t){super({name:"NotFound",$fault:"client",...t}),this.name="NotFound",this.$fault="client",Object.setPrototypeOf(this,$n.prototype)}}const Xf=e=>({...e,...e.SecretAccessKey&&{SecretAccessKey:ke},...e.SessionToken&&{SessionToken:ke}}),Yf=e=>({...e,...e.SSEKMSKeyId&&{SSEKMSKeyId:ke},...e.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:ke},...e.Credentials&&{Credentials:Xf(e.Credentials)}}),Qf=e=>({...e,...e.SSEKMSKeyId&&{SSEKMSKeyId:ke},...e.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:ke}});class _n extends Ee{constructor(t){super({name:"ObjectAlreadyInActiveTierError",$fault:"client",...t}),this.name="ObjectAlreadyInActiveTierError",this.$fault="client",Object.setPrototypeOf(this,_n.prototype)}}var Pi;(function(e){e.visit=(t,r)=>t.Records!==void 0?r.Records(t.Records):t.Stats!==void 0?r.Stats(t.Stats):t.Progress!==void 0?r.Progress(t.Progress):t.Cont!==void 0?r.Cont(t.Cont):t.End!==void 0?r.End(t.End):r._(t.$unknown[0],t.$unknown[1])})(Pi||(Pi={}));const Jf=e=>({...e,...e.SSEKMSKeyId&&{SSEKMSKeyId:ke},...e.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:ke}}),ep=e=>({...e,...e.SSECustomerKey&&{SSECustomerKey:ke},...e.SSEKMSKeyId&&{SSEKMSKeyId:ke},...e.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:ke}}),tp=async(e,t)=>{const r=Zi(e,t),n=ce({},We,{[Qp]:e[$p],[rr]:e[Jt],[nr]:e[tr],[sr]:e[er],[ct]:[()=>We(e[at]),()=>e[at].toString()]});r.bp("/"),r.p("Bucket",()=>e.Bucket,"{Bucket}",!1);const s=ce({[Xp]:[,""]});return r.m("GET").h(n).q(s).b(void 0),r.build()},rp=async(e,t)=>{const r=Zi(e,t),n=ce({},We,{[Kp]:e[Ap]||"application/octet-stream",[Yp]:e[mp],[Fp]:e[wp],[Hp]:e[bp],[jp]:e[vp],[qp]:e[Sp],[zp]:[()=>We(e[Ti]),()=>e[Ti].toString()],[Vp]:e[Ep],[dg]:e[yp],[Ea]:e[ma],[Aa]:e[ya],[xa]:e[wa],[ka]:e[ba],[Wp]:[()=>We(e[Ii]),()=>hu(e[Ii]).toString()],[Zp]:e[Ip],[tg]:e[Rp],[rg]:e[Cp],[ng]:e[Pp],[sg]:e[Tp],[rr]:e[Jt],[lg]:e[Bt],[gg]:e[Lp],[Ra]:e[va],[hg]:e[_p],[Ca]:e[Sa],[nr]:e[tr],[sr]:e[er],[ct]:[()=>We(e[at]),()=>e[at].toString()],[ug]:e[Up],[fg]:e[Dp],[og]:e[Op],[ag]:[()=>We(e[Ni]),()=>Mu(e[Ni]).toString()],[ig]:e[Np],[eg]:e[xp],...e.Metadata!==void 0&&Object.keys(e.Metadata).reduce((a,c)=>(a[`x-amz-meta-${c.toLowerCase()}`]=e.Metadata[c],a),{})});r.bp("/{Key+}"),r.p("Bucket",()=>e.Bucket,"{Bucket}",!1),r.p("Key",()=>e.Key,"{Key+}",!0);const s=ce({[mg]:[,"PutObject"]});let i,o;return e.Body!==void 0&&(o=e.Body,i=o),r.m("PUT").h(n).q(s).b(i),r.build()},np=async(e,t)=>{if(e.statusCode!==200&&e.statusCode>=300)return ga(e,t);const r=ce({$metadata:Ce(e),[Jt]:[,e.headers[rr]],[tr]:[,e.headers[nr]],[er]:[,e.headers[sr]],[at]:[()=>e.headers[ct]!==void 0,()=>io(e.headers[ct])]}),n=ao(ou(await bo(e.body,t)),"body");return n[Fr]!=null&&(r[Fr]=gp(n[Fr])),r},sp=async(e,t)=>{if(e.statusCode!==200&&e.statusCode>=300)return ga(e,t);const r=ce({$metadata:Ce(e),[Dt]:[,e.headers[Jp]],[kp]:[,e.headers[Gp]],[ma]:[,e.headers[Ea]],[ya]:[,e.headers[Aa]],[wa]:[,e.headers[xa]],[ba]:[,e.headers[ka]],[Jt]:[,e.headers[rr]],[Bp]:[,e.headers[pg]],[va]:[,e.headers[Ra]],[Sa]:[,e.headers[Ca]],[tr]:[,e.headers[nr]],[er]:[,e.headers[sr]],[at]:[()=>e.headers[ct]!==void 0,()=>io(e.headers[ct])],[Mp]:[,e.headers[cg]]});return await Gi(e.body,t),r},ga=async(e,t)=>{const r={...e,body:await Dl(e.body,t)},n=Bl(e,r.body);switch(n){case"NoSuchUpload":case"com.amazonaws.s3#NoSuchUpload":throw await dp(r);case"ObjectNotInActiveTierError":case"com.amazonaws.s3#ObjectNotInActiveTierError":throw await pp(r);case"BucketAlreadyExists":case"com.amazonaws.s3#BucketAlreadyExists":throw await op(r);case"BucketAlreadyOwnedByYou":case"com.amazonaws.s3#BucketAlreadyOwnedByYou":throw await ap(r);case"NoSuchBucket":case"com.amazonaws.s3#NoSuchBucket":throw await up(r);case"InvalidObjectState":case"com.amazonaws.s3#InvalidObjectState":throw await cp(r);case"NoSuchKey":case"com.amazonaws.s3#NoSuchKey":throw await lp(r);case"NotFound":case"com.amazonaws.s3#NotFound":throw await hp(r);case"ObjectAlreadyInActiveTierError":case"com.amazonaws.s3#ObjectAlreadyInActiveTierError":throw await fp(r);default:const s=r.body;return ip({output:e,parsedBody:s,errorCode:n})}},ip=Eu(Ee),op=async(e,t)=>{const r=ce({});e.body;const n=new In({$metadata:Ce(e),...r});return Ne(n,e.body)},ap=async(e,t)=>{const r=ce({});e.body;const n=new Nn({$metadata:Ce(e),...r});return Ne(n,e.body)},cp=async(e,t)=>{const r=ce({}),n=e.body;n[Lr]!=null&&(r[Lr]=wt(n[Lr])),n[Bt]!=null&&(r[Bt]=wt(n[Bt]));const s=new Mn({$metadata:Ce(e),...r});return Ne(s,e.body)},up=async(e,t)=>{const r=ce({});e.body;const n=new On({$metadata:Ce(e),...r});return Ne(n,e.body)},lp=async(e,t)=>{const r=ce({});e.body;const n=new Un({$metadata:Ce(e),...r});return Ne(n,e.body)},dp=async(e,t)=>{const r=ce({});e.body;const n=new Pn({$metadata:Ce(e),...r});return Ne(n,e.body)},hp=async(e,t)=>{const r=ce({});e.body;const n=new $n({$metadata:Ce(e),...r});return Ne(n,e.body)},fp=async(e,t)=>{const r=ce({});e.body;const n=new _n({$metadata:Ce(e),...r});return Ne(n,e.body)},pp=async(e,t)=>{const r=ce({});e.body;const n=new Tn({$metadata:Ce(e),...r});return Ne(n,e.body)},gp=(e,t)=>{const r={};return e[Br]!=null&&(r[Br]=wt(e[Br])),e[Hr]!=null&&(r[Hr]=wt(e[Hr])),e[jr]!=null&&(r[jr]=wt(e[jr])),e[Dt]!=null&&(r[Dt]=ao(pu(e[Dt]))),r},Ce=e=>({httpStatusCode:e.statusCode,requestId:e.headers["x-amzn-requestid"]??e.headers["x-amzn-request-id"]??e.headers["x-amz-request-id"],extendedRequestId:e.headers["x-amz-id-2"],cfId:e.headers["x-amz-cf-id"]}),mp="ACL",Br="AccessKeyId",Lr="AccessTier",at="BucketKeyEnabled",Fr="Credentials",yp="ChecksumAlgorithm",wp="CacheControl",ma="ChecksumCRC32",ya="ChecksumCRC32C",bp="ContentDisposition",vp="ContentEncoding",Sp="ContentLanguage",Ti="ContentLength",Ep="ContentMD5",wa="ChecksumSHA1",ba="ChecksumSHA256",Ap="ContentType",Ii="Expires",xp="ExpectedBucketOwner",kp="ETag",Dt="Expiration",Rp="GrantFullControl",Cp="GrantRead",Pp="GrantReadACP",Tp="GrantWriteACP",Ip="IfNoneMatch",Np="ObjectLockLegalHoldStatus",Op="ObjectLockMode",Ni="ObjectLockRetainUntilDate",Mp="RequestCharged",Up="RequestPayer",Hr="SecretAccessKey",Bt="StorageClass",$p="SessionMode",Jt="ServerSideEncryption",va="SSECustomerAlgorithm",_p="SSECustomerKey",Sa="SSECustomerKeyMD5",er="SSEKMSEncryptionContext",tr="SSEKMSKeyId",jr="SessionToken",Dp="Tagging",Bp="VersionId",Lp="WebsiteRedirectLocation",Fp="cache-control",Hp="content-disposition",jp="content-encoding",qp="content-language",zp="content-length",Vp="content-md5",Kp="content-type",Wp="expires",Gp="etag",Zp="if-none-match",Xp="session",Yp="x-amz-acl",Ea="x-amz-checksum-crc32",Aa="x-amz-checksum-crc32c",xa="x-amz-checksum-sha1",ka="x-amz-checksum-sha256",Qp="x-amz-create-session-mode",Jp="x-amz-expiration",eg="x-amz-expected-bucket-owner",tg="x-amz-grant-full-control",rg="x-amz-grant-read",ng="x-amz-grant-read-acp",sg="x-amz-grant-write-acp",ig="x-amz-object-lock-legal-hold",og="x-amz-object-lock-mode",ag="x-amz-object-lock-retain-until-date",cg="x-amz-request-charged",ug="x-amz-request-payer",lg="x-amz-storage-class",dg="x-amz-sdk-checksum-algorithm",rr="x-amz-server-side-encryption",nr="x-amz-server-side-encryption-aws-kms-key-id",ct="x-amz-server-side-encryption-bucket-key-enabled",sr="x-amz-server-side-encryption-context",Ra="x-amz-server-side-encryption-customer-algorithm",hg="x-amz-server-side-encryption-customer-key",Ca="x-amz-server-side-encryption-customer-key-md5",fg="x-amz-tagging",pg="x-amz-version-id",gg="x-amz-website-redirect-location",mg="x-id";class yg extends un.classBuilder().ep({...pa,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function(t,r,n,s){return[zi(n,this.serialize,this.deserialize),Ho(n,t.getEndpointParameterInstructions()),Co(n)]}).s("AmazonS3","CreateSession",{}).n("S3Client","CreateSessionCommand").f(Qf,Yf).ser(tp).de(np).build(){}const wg="3.677.0",bg={version:wg};function Oi(e){return typeof e=="string"?e.length===0:e.byteLength===0}var Pa={name:"SHA-1"},Mi={name:"HMAC",hash:Pa},vg=new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]);const Sg={};function Fe(){return typeof window<"u"?window:typeof self<"u"?self:Sg}var Eg=function(){function e(t){this.toHash=new Uint8Array(0),t!==void 0&&(this.key=new Promise(function(r,n){Fe().crypto.subtle.importKey("raw",Ui(t),Mi,!1,["sign"]).then(r,n)}),this.key.catch(function(){}))}return e.prototype.update=function(t){if(!Oi(t)){var r=Ui(t),n=new Uint8Array(this.toHash.byteLength+r.byteLength);n.set(this.toHash,0),n.set(r,this.toHash.byteLength),this.toHash=n}},e.prototype.digest=function(){var t=this;return this.key?this.key.then(function(r){return Fe().crypto.subtle.sign(Mi,r,t.toHash).then(function(n){return new Uint8Array(n)})}):Oi(this.toHash)?Promise.resolve(vg):Promise.resolve().then(function(){return Fe().crypto.subtle.digest(Pa,t.toHash)}).then(function(r){return Promise.resolve(new Uint8Array(r))})},e.prototype.reset=function(){this.toHash=new Uint8Array(0)},e}();function Ui(e){return typeof e=="string"?So(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}var Ag=["decrypt","digest","encrypt","exportKey","generateKey","importKey","sign","verify"];function Ta(e){if(xg(e)&&typeof e.crypto.subtle=="object"){var t=e.crypto.subtle;return kg(t)}return!1}function xg(e){if(typeof e=="object"&&typeof e.crypto=="object"){var t=e.crypto.getRandomValues;return typeof t=="function"}return!1}function kg(e){return e&&Ag.every(function(t){return typeof e[t]=="function"})}var Rg=function(){function e(t){if(Ta(Fe()))this.hash=new Eg(t);else throw new Error("SHA1 not supported")}return e.prototype.update=function(t,r){this.hash.update(je(t))},e.prototype.digest=function(){return this.hash.digest()},e.prototype.reset=function(){this.hash.reset()},e}(),Ia={name:"SHA-256"},$i={name:"HMAC",hash:Ia},Cg=new Uint8Array([227,176,196,66,152,252,28,20,154,251,244,200,153,111,185,36,39,174,65,228,100,155,147,76,164,149,153,27,120,82,184,85]),Pg=function(){function e(t){this.toHash=new Uint8Array(0),this.secret=t,this.reset()}return e.prototype.update=function(t){if(!At(t)){var r=je(t),n=new Uint8Array(this.toHash.byteLength+r.byteLength);n.set(this.toHash,0),n.set(r,this.toHash.byteLength),this.toHash=n}},e.prototype.digest=function(){var t=this;return this.key?this.key.then(function(r){return Fe().crypto.subtle.sign($i,r,t.toHash).then(function(n){return new Uint8Array(n)})}):At(this.toHash)?Promise.resolve(Cg):Promise.resolve().then(function(){return Fe().crypto.subtle.digest(Ia,t.toHash)}).then(function(r){return Promise.resolve(new Uint8Array(r))})},e.prototype.reset=function(){var t=this;this.toHash=new Uint8Array(0),this.secret&&this.secret!==void 0&&(this.key=new Promise(function(r,n){Fe().crypto.subtle.importKey("raw",je(t.secret),$i,!1,["sign"]).then(r,n)}),this.key.catch(function(){}))},e}(),ve=64,Tg=32,Ig=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Ng=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],Og=Math.pow(2,53)-1,Lt=function(){function e(){this.state=Int32Array.from(Ng),this.temp=new Int32Array(64),this.buffer=new Uint8Array(64),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}return e.prototype.update=function(t){if(this.finished)throw new Error("Attempted to update an already finished hash.");var r=0,n=t.byteLength;if(this.bytesHashed+=n,this.bytesHashed*8>Og)throw new Error("Cannot hash more than 2^53 - 1 bits");for(;n>0;)this.buffer[this.bufferLength++]=t[r++],n--,this.bufferLength===ve&&(this.hashBuffer(),this.bufferLength=0)},e.prototype.digest=function(){if(!this.finished){var t=this.bytesHashed*8,r=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),n=this.bufferLength;if(r.setUint8(this.bufferLength++,128),n%ve>=ve-8){for(var s=this.bufferLength;s<ve;s++)r.setUint8(s,0);this.hashBuffer(),this.bufferLength=0}for(var s=this.bufferLength;s<ve-8;s++)r.setUint8(s,0);r.setUint32(ve-8,Math.floor(t/4294967296),!0),r.setUint32(ve-4,t),this.hashBuffer(),this.finished=!0}for(var i=new Uint8Array(Tg),s=0;s<8;s++)i[s*4]=this.state[s]>>>24&255,i[s*4+1]=this.state[s]>>>16&255,i[s*4+2]=this.state[s]>>>8&255,i[s*4+3]=this.state[s]>>>0&255;return i},e.prototype.hashBuffer=function(){for(var t=this,r=t.buffer,n=t.state,s=n[0],i=n[1],o=n[2],a=n[3],c=n[4],u=n[5],f=n[6],d=n[7],p=0;p<ve;p++){if(p<16)this.temp[p]=(r[p*4]&255)<<24|(r[p*4+1]&255)<<16|(r[p*4+2]&255)<<8|r[p*4+3]&255;else{var g=this.temp[p-2],S=(g>>>17|g<<15)^(g>>>19|g<<13)^g>>>10;g=this.temp[p-15];var R=(g>>>7|g<<25)^(g>>>18|g<<14)^g>>>3;this.temp[p]=(S+this.temp[p-7]|0)+(R+this.temp[p-16]|0)}var E=(((c>>>6|c<<26)^(c>>>11|c<<21)^(c>>>25|c<<7))+(c&u^~c&f)|0)+(d+(Ig[p]+this.temp[p]|0)|0)|0,$=((s>>>2|s<<30)^(s>>>13|s<<19)^(s>>>22|s<<10))+(s&i^s&o^i&o)|0;d=f,f=u,u=c,c=a+E|0,a=o,o=i,i=s,s=E+$|0}n[0]+=s,n[1]+=i,n[2]+=o,n[3]+=a,n[4]+=c,n[5]+=u,n[6]+=f,n[7]+=d},e}(),Mg=function(){function e(t){this.secret=t,this.hash=new Lt,this.reset()}return e.prototype.update=function(t){if(!(At(t)||this.error))try{this.hash.update(je(t))}catch(r){this.error=r}},e.prototype.digestSync=function(){if(this.error)throw this.error;return this.outer?(this.outer.finished||this.outer.update(this.hash.digest()),this.outer.digest()):this.hash.digest()},e.prototype.digest=function(){return yn(this,void 0,void 0,function(){return wn(this,function(t){return[2,this.digestSync()]})})},e.prototype.reset=function(){if(this.hash=new Lt,this.secret){this.outer=new Lt;var t=Ug(this.secret),r=new Uint8Array(ve);r.set(t);for(var n=0;n<ve;n++)t[n]^=54,r[n]^=92;this.hash.update(t),this.outer.update(r);for(var n=0;n<t.byteLength;n++)t[n]=0}},e}();function Ug(e){var t=je(e);if(t.byteLength>ve){var r=new Lt;r.update(t),t=r.digest()}var n=new Uint8Array(ve);return n.set(t),n}var $g=function(){function e(t){Ta(Fe())?this.hash=new Pg(t):this.hash=new Mg(t)}return e.prototype.update=function(t,r){this.hash.update(je(t))},e.prototype.digest=function(){return this.hash.digest()},e.prototype.reset=function(){this.hash.reset()},e}();const _g={"Amazon Silk":"amazon_silk","Android Browser":"android",Bada:"bada",BlackBerry:"blackberry",Chrome:"chrome",Chromium:"chromium",Electron:"electron",Epiphany:"epiphany",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot","Internet Explorer":"ie","K-Meleon":"k_meleon",Maxthon:"maxthon","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver",Opera:"opera","Opera Coast":"opera_coast",PhantomJS:"phantomjs",Puffin:"puffin",QupZilla:"qupzilla",QQ:"qq",QQLite:"qqlite",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SeaMonkey:"seamonkey",Sleipnir:"sleipnir",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat","Yandex Browser":"yandex",Roku:"roku"},Na={amazon_silk:"Amazon Silk",android:"Android Browser",bada:"Bada",blackberry:"BlackBerry",chrome:"Chrome",chromium:"Chromium",electron:"Electron",epiphany:"Epiphany",firefox:"Firefox",focus:"Focus",generic:"Generic",googlebot:"Googlebot",google_search:"Google Search",ie:"Internet Explorer",k_meleon:"K-Meleon",maxthon:"Maxthon",edge:"Microsoft Edge",mz:"MZ Browser",naver:"NAVER Whale Browser",opera:"Opera",opera_coast:"Opera Coast",phantomjs:"PhantomJS",puffin:"Puffin",qupzilla:"QupZilla",qq:"QQ Browser",qqlite:"QQ Browser Lite",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",sleipnir:"Sleipnir",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yandex:"Yandex Browser"},q={tablet:"tablet",mobile:"mobile",desktop:"desktop",tv:"tv"},he={WindowsPhone:"Windows Phone",Windows:"Windows",MacOS:"macOS",iOS:"iOS",Android:"Android",WebOS:"WebOS",BlackBerry:"BlackBerry",Bada:"Bada",Tizen:"Tizen",Linux:"Linux",ChromeOS:"Chrome OS",PlayStation4:"PlayStation 4",Roku:"Roku"},Be={EdgeHTML:"EdgeHTML",Blink:"Blink",Trident:"Trident",Presto:"Presto",Gecko:"Gecko",WebKit:"WebKit"};class w{static getFirstMatch(t,r){const n=r.match(t);return n&&n.length>0&&n[1]||""}static getSecondMatch(t,r){const n=r.match(t);return n&&n.length>1&&n[2]||""}static matchAndReturnConst(t,r,n){if(t.test(r))return n}static getWindowsVersionName(t){switch(t){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}}static getMacOSVersionName(t){const r=t.split(".").splice(0,2).map(n=>parseInt(n,10)||0);if(r.push(0),r[0]===10)switch(r[1]){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}}static getAndroidVersionName(t){const r=t.split(".").splice(0,2).map(n=>parseInt(n,10)||0);if(r.push(0),!(r[0]===1&&r[1]<5)){if(r[0]===1&&r[1]<6)return"Cupcake";if(r[0]===1&&r[1]>=6)return"Donut";if(r[0]===2&&r[1]<2)return"Eclair";if(r[0]===2&&r[1]===2)return"Froyo";if(r[0]===2&&r[1]>2)return"Gingerbread";if(r[0]===3)return"Honeycomb";if(r[0]===4&&r[1]<1)return"Ice Cream Sandwich";if(r[0]===4&&r[1]<4)return"Jelly Bean";if(r[0]===4&&r[1]>=4)return"KitKat";if(r[0]===5)return"Lollipop";if(r[0]===6)return"Marshmallow";if(r[0]===7)return"Nougat";if(r[0]===8)return"Oreo";if(r[0]===9)return"Pie"}}static getVersionPrecision(t){return t.split(".").length}static compareVersions(t,r,n=!1){const s=w.getVersionPrecision(t),i=w.getVersionPrecision(r);let o=Math.max(s,i),a=0;const c=w.map([t,r],u=>{const f=o-w.getVersionPrecision(u),d=u+new Array(f+1).join(".0");return w.map(d.split("."),p=>new Array(20-p.length).join("0")+p).reverse()});for(n&&(a=o-Math.min(s,i)),o-=1;o>=a;){if(c[0][o]>c[1][o])return 1;if(c[0][o]===c[1][o]){if(o===a)return 0;o-=1}else if(c[0][o]<c[1][o])return-1}}static map(t,r){const n=[];let s;if(Array.prototype.map)return Array.prototype.map.call(t,r);for(s=0;s<t.length;s+=1)n.push(r(t[s]));return n}static find(t,r){let n,s;if(Array.prototype.find)return Array.prototype.find.call(t,r);for(n=0,s=t.length;n<s;n+=1){const i=t[n];if(r(i,n))return i}}static assign(t,...r){const n=t;let s,i;if(Object.assign)return Object.assign(t,...r);for(s=0,i=r.length;s<i;s+=1){const o=r[s];typeof o=="object"&&o!==null&&Object.keys(o).forEach(a=>{n[a]=o[a]})}return t}static getBrowserAlias(t){return _g[t]}static getBrowserTypeByAlias(t){return Na[t]||""}}const _=/version\/(\d+(\.?_?\d+)+)/i,Dg=[{test:[/googlebot/i],describe(e){const t={name:"Googlebot"},r=w.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,e)||w.getFirstMatch(_,e);return r&&(t.version=r),t}},{test:[/opera/i],describe(e){const t={name:"Opera"},r=w.getFirstMatch(_,e)||w.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opr\/|opios/i],describe(e){const t={name:"Opera"},r=w.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,e)||w.getFirstMatch(_,e);return r&&(t.version=r),t}},{test:[/SamsungBrowser/i],describe(e){const t={name:"Samsung Internet for Android"},r=w.getFirstMatch(_,e)||w.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Whale/i],describe(e){const t={name:"NAVER Whale Browser"},r=w.getFirstMatch(_,e)||w.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MZBrowser/i],describe(e){const t={name:"MZ Browser"},r=w.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,e)||w.getFirstMatch(_,e);return r&&(t.version=r),t}},{test:[/focus/i],describe(e){const t={name:"Focus"},r=w.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,e)||w.getFirstMatch(_,e);return r&&(t.version=r),t}},{test:[/swing/i],describe(e){const t={name:"Swing"},r=w.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,e)||w.getFirstMatch(_,e);return r&&(t.version=r),t}},{test:[/coast/i],describe(e){const t={name:"Opera Coast"},r=w.getFirstMatch(_,e)||w.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe(e){const t={name:"Opera Touch"},r=w.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,e)||w.getFirstMatch(_,e);return r&&(t.version=r),t}},{test:[/yabrowser/i],describe(e){const t={name:"Yandex Browser"},r=w.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,e)||w.getFirstMatch(_,e);return r&&(t.version=r),t}},{test:[/ucbrowser/i],describe(e){const t={name:"UC Browser"},r=w.getFirstMatch(_,e)||w.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Maxthon|mxios/i],describe(e){const t={name:"Maxthon"},r=w.getFirstMatch(_,e)||w.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/epiphany/i],describe(e){const t={name:"Epiphany"},r=w.getFirstMatch(_,e)||w.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/puffin/i],describe(e){const t={name:"Puffin"},r=w.getFirstMatch(_,e)||w.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sleipnir/i],describe(e){const t={name:"Sleipnir"},r=w.getFirstMatch(_,e)||w.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/k-meleon/i],describe(e){const t={name:"K-Meleon"},r=w.getFirstMatch(_,e)||w.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/micromessenger/i],describe(e){const t={name:"WeChat"},r=w.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,e)||w.getFirstMatch(_,e);return r&&(t.version=r),t}},{test:[/qqbrowser/i],describe(e){const t={name:/qqbrowserlite/i.test(e)?"QQ Browser Lite":"QQ Browser"},r=w.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,e)||w.getFirstMatch(_,e);return r&&(t.version=r),t}},{test:[/msie|trident/i],describe(e){const t={name:"Internet Explorer"},r=w.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/\sedg\//i],describe(e){const t={name:"Microsoft Edge"},r=w.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/edg([ea]|ios)/i],describe(e){const t={name:"Microsoft Edge"},r=w.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/vivaldi/i],describe(e){const t={name:"Vivaldi"},r=w.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/seamonkey/i],describe(e){const t={name:"SeaMonkey"},r=w.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sailfish/i],describe(e){const t={name:"Sailfish"},r=w.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,e);return r&&(t.version=r),t}},{test:[/silk/i],describe(e){const t={name:"Amazon Silk"},r=w.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/phantom/i],describe(e){const t={name:"PhantomJS"},r=w.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/slimerjs/i],describe(e){const t={name:"SlimerJS"},r=w.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe(e){const t={name:"BlackBerry"},r=w.getFirstMatch(_,e)||w.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(web|hpw)[o0]s/i],describe(e){const t={name:"WebOS Browser"},r=w.getFirstMatch(_,e)||w.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/bada/i],describe(e){const t={name:"Bada"},r=w.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/tizen/i],describe(e){const t={name:"Tizen"},r=w.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,e)||w.getFirstMatch(_,e);return r&&(t.version=r),t}},{test:[/qupzilla/i],describe(e){const t={name:"QupZilla"},r=w.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,e)||w.getFirstMatch(_,e);return r&&(t.version=r),t}},{test:[/firefox|iceweasel|fxios/i],describe(e){const t={name:"Firefox"},r=w.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/electron/i],describe(e){const t={name:"Electron"},r=w.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MiuiBrowser/i],describe(e){const t={name:"Miui"},r=w.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/chromium/i],describe(e){const t={name:"Chromium"},r=w.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,e)||w.getFirstMatch(_,e);return r&&(t.version=r),t}},{test:[/chrome|crios|crmo/i],describe(e){const t={name:"Chrome"},r=w.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/GSA/i],describe(e){const t={name:"Google Search"},r=w.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test(e){const t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe(e){const t={name:"Android Browser"},r=w.getFirstMatch(_,e);return r&&(t.version=r),t}},{test:[/playstation 4/i],describe(e){const t={name:"PlayStation 4"},r=w.getFirstMatch(_,e);return r&&(t.version=r),t}},{test:[/safari|applewebkit/i],describe(e){const t={name:"Safari"},r=w.getFirstMatch(_,e);return r&&(t.version=r),t}},{test:[/.*/i],describe(e){const t=/^(.*)\/(.*) /,r=/^(.*)\/(.*)[ \t]\((.*)/,n=e.search("\\(")!==-1?r:t;return{name:w.getFirstMatch(n,e),version:w.getSecondMatch(n,e)}}}],Bg=[{test:[/Roku\/DVP/],describe(e){const t=w.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,e);return{name:he.Roku,version:t}}},{test:[/windows phone/i],describe(e){const t=w.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,e);return{name:he.WindowsPhone,version:t}}},{test:[/windows /i],describe(e){const t=w.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,e),r=w.getWindowsVersionName(t);return{name:he.Windows,version:t,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe(e){const t={name:he.iOS},r=w.getSecondMatch(/(Version\/)(\d[\d.]+)/,e);return r&&(t.version=r),t}},{test:[/macintosh/i],describe(e){const t=w.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,e).replace(/[_\s]/g,"."),r=w.getMacOSVersionName(t),n={name:he.MacOS,version:t};return r&&(n.versionName=r),n}},{test:[/(ipod|iphone|ipad)/i],describe(e){const t=w.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,e).replace(/[_\s]/g,".");return{name:he.iOS,version:t}}},{test(e){const t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe(e){const t=w.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,e),r=w.getAndroidVersionName(t),n={name:he.Android,version:t};return r&&(n.versionName=r),n}},{test:[/(web|hpw)[o0]s/i],describe(e){const t=w.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,e),r={name:he.WebOS};return t&&t.length&&(r.version=t),r}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe(e){const t=w.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,e)||w.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,e)||w.getFirstMatch(/\bbb(\d+)/i,e);return{name:he.BlackBerry,version:t}}},{test:[/bada/i],describe(e){const t=w.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,e);return{name:he.Bada,version:t}}},{test:[/tizen/i],describe(e){const t=w.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,e);return{name:he.Tizen,version:t}}},{test:[/linux/i],describe(){return{name:he.Linux}}},{test:[/CrOS/],describe(){return{name:he.ChromeOS}}},{test:[/PlayStation 4/],describe(e){const t=w.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,e);return{name:he.PlayStation4,version:t}}}],Lg=[{test:[/googlebot/i],describe(){return{type:"bot",vendor:"Google"}}},{test:[/huawei/i],describe(e){const t=w.getFirstMatch(/(can-l01)/i,e)&&"Nova",r={type:q.mobile,vendor:"Huawei"};return t&&(r.model=t),r}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe(){return{type:q.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe(){return{type:q.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe(){return{type:q.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe(){return{type:q.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe(){return{type:q.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe(){return{type:q.tablet}}},{test(e){const t=e.test(/ipod|iphone/i),r=e.test(/like (ipod|iphone)/i);return t&&!r},describe(e){const t=w.getFirstMatch(/(ipod|iphone)/i,e);return{type:q.mobile,vendor:"Apple",model:t}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe(){return{type:q.mobile,vendor:"Nexus"}}},{test:[/[^-]mobi/i],describe(){return{type:q.mobile}}},{test(e){return e.getBrowserName(!0)==="blackberry"},describe(){return{type:q.mobile,vendor:"BlackBerry"}}},{test(e){return e.getBrowserName(!0)==="bada"},describe(){return{type:q.mobile}}},{test(e){return e.getBrowserName()==="windows phone"},describe(){return{type:q.mobile,vendor:"Microsoft"}}},{test(e){const t=Number(String(e.getOSVersion()).split(".")[0]);return e.getOSName(!0)==="android"&&t>=3},describe(){return{type:q.tablet}}},{test(e){return e.getOSName(!0)==="android"},describe(){return{type:q.mobile}}},{test(e){return e.getOSName(!0)==="macos"},describe(){return{type:q.desktop,vendor:"Apple"}}},{test(e){return e.getOSName(!0)==="windows"},describe(){return{type:q.desktop}}},{test(e){return e.getOSName(!0)==="linux"},describe(){return{type:q.desktop}}},{test(e){return e.getOSName(!0)==="playstation 4"},describe(){return{type:q.tv}}},{test(e){return e.getOSName(!0)==="roku"},describe(){return{type:q.tv}}}],Fg=[{test(e){return e.getBrowserName(!0)==="microsoft edge"},describe(e){if(/\sedg\//i.test(e))return{name:Be.Blink};const t=w.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,e);return{name:Be.EdgeHTML,version:t}}},{test:[/trident/i],describe(e){const t={name:Be.Trident},r=w.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test(e){return e.test(/presto/i)},describe(e){const t={name:Be.Presto},r=w.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test(e){const t=e.test(/gecko/i),r=e.test(/like gecko/i);return t&&!r},describe(e){const t={name:Be.Gecko},r=w.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(apple)?webkit\/537\.36/i],describe(){return{name:Be.Blink}}},{test:[/(apple)?webkit/i],describe(e){const t={name:Be.WebKit},r=w.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,e);return r&&(t.version=r),t}}];class _i{constructor(t,r=!1){if(t==null||t==="")throw new Error("UserAgent parameter can't be empty");this._ua=t,this.parsedResult={},r!==!0&&this.parse()}getUA(){return this._ua}test(t){return t.test(this._ua)}parseBrowser(){this.parsedResult.browser={};const t=w.find(Dg,r=>{if(typeof r.test=="function")return r.test(this);if(r.test instanceof Array)return r.test.some(n=>this.test(n));throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser}getBrowser(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()}getBrowserName(t){return t?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""}getBrowserVersion(){return this.getBrowser().version}getOS(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()}parseOS(){this.parsedResult.os={};const t=w.find(Bg,r=>{if(typeof r.test=="function")return r.test(this);if(r.test instanceof Array)return r.test.some(n=>this.test(n));throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os}getOSName(t){const{name:r}=this.getOS();return t?String(r).toLowerCase()||"":r||""}getOSVersion(){return this.getOS().version}getPlatform(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()}getPlatformType(t=!1){const{type:r}=this.getPlatform();return t?String(r).toLowerCase()||"":r||""}parsePlatform(){this.parsedResult.platform={};const t=w.find(Lg,r=>{if(typeof r.test=="function")return r.test(this);if(r.test instanceof Array)return r.test.some(n=>this.test(n));throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform}getEngine(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()}getEngineName(t){return t?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""}parseEngine(){this.parsedResult.engine={};const t=w.find(Fg,r=>{if(typeof r.test=="function")return r.test(this);if(r.test instanceof Array)return r.test.some(n=>this.test(n));throw new Error("Browser's test function is not valid")});return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine}parse(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this}getResult(){return w.assign({},this.parsedResult)}satisfies(t){const r={};let n=0;const s={};let i=0;if(Object.keys(t).forEach(o=>{const a=t[o];typeof a=="string"?(s[o]=a,i+=1):typeof a=="object"&&(r[o]=a,n+=1)}),n>0){const o=Object.keys(r),a=w.find(o,u=>this.isOS(u));if(a){const u=this.satisfies(r[a]);if(u!==void 0)return u}const c=w.find(o,u=>this.isPlatform(u));if(c){const u=this.satisfies(r[c]);if(u!==void 0)return u}}if(i>0){const o=Object.keys(s),a=w.find(o,c=>this.isBrowser(c,!0));if(a!==void 0)return this.compareVersion(s[a])}}isBrowser(t,r=!1){const n=this.getBrowserName().toLowerCase();let s=t.toLowerCase();const i=w.getBrowserTypeByAlias(s);return r&&i&&(s=i.toLowerCase()),s===n}compareVersion(t){let r=[0],n=t,s=!1;const i=this.getBrowserVersion();if(typeof i=="string")return t[0]===">"||t[0]==="<"?(n=t.substr(1),t[1]==="="?(s=!0,n=t.substr(2)):r=[],t[0]===">"?r.push(1):r.push(-1)):t[0]==="="?n=t.substr(1):t[0]==="~"&&(s=!0,n=t.substr(1)),r.indexOf(w.compareVersions(i,n,s))>-1}isOS(t){return this.getOSName(!0)===String(t).toLowerCase()}isPlatform(t){return this.getPlatformType(!0)===String(t).toLowerCase()}isEngine(t){return this.getEngineName(!0)===String(t).toLowerCase()}is(t,r=!1){return this.isBrowser(t,r)||this.isOS(t)||this.isPlatform(t)}some(t=[]){return t.some(r=>this.is(r))}}/*!
  30. * Bowser - a browser detector
  31. * https://github.com/lancedikson/bowser
  32. * MIT License | (c) Dustin Diaz 2012-2015
  33. * MIT License | (c) Denis Demchenko 2015-2019
  34. */class Oa{static getParser(t,r=!1){if(typeof t!="string")throw new Error("UserAgent should be a string");return new _i(t,r)}static parse(t){return new _i(t).getResult()}static get BROWSER_MAP(){return Na}static get ENGINE_MAP(){return Be}static get OS_MAP(){return he}static get PLATFORMS_MAP(){return q}}const Hg=({serviceId:e,clientVersion:t})=>async r=>{var n,s,i,o,a,c;const u=typeof window<"u"&&(n=window==null?void 0:window.navigator)!=null&&n.userAgent?Oa.parse(window.navigator.userAgent):void 0,f=[["aws-sdk-js",t],["ua","2.1"],[`os/${((s=u==null?void 0:u.os)==null?void 0:s.name)||"other"}`,(i=u==null?void 0:u.os)==null?void 0:i.version],["lang/js"],["md/browser",`${((o=u==null?void 0:u.browser)==null?void 0:o.name)??"unknown"}_${((a=u==null?void 0:u.browser)==null?void 0:a.version)??"unknown"}`]];e&&f.push([`api/${e}`,t]);const d=await((c=r==null?void 0:r.userAgentAppId)==null?void 0:c.call(r));return d&&f.push([`app/${d}`]),f};class vt{constructor(t){if(this.bytes=t,t.byteLength!==8)throw new Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(t){if(t>9223372036854776e3||t<-9223372036854776e3)throw new Error(`${t} is too large (or, if negative, too small) to represent as an Int64`);const r=new Uint8Array(8);for(let n=7,s=Math.abs(Math.round(t));n>-1&&s>0;n--,s/=256)r[n]=s;return t<0&&Di(r),new vt(r)}valueOf(){const t=this.bytes.slice(0),r=t[0]&128;return r&&Di(t),parseInt(ge(t),16)*(r?-1:1)}toString(){return String(this.valueOf())}}function Di(e){for(let t=0;t<8;t++)e[t]^=255;for(let t=7;t>-1&&(e[t]++,e[t]===0);t--);}class jg{constructor(t,r){this.toUtf8=t,this.fromUtf8=r}format(t){const r=[];for(const i of Object.keys(t)){const o=this.fromUtf8(i);r.push(Uint8Array.from([o.byteLength]),o,this.formatHeaderValue(t[i]))}const n=new Uint8Array(r.reduce((i,o)=>i+o.byteLength,0));let s=0;for(const i of r)n.set(i,s),s+=i.byteLength;return n}formatHeaderValue(t){switch(t.type){case"boolean":return Uint8Array.from([t.value?0:1]);case"byte":return Uint8Array.from([2,t.value]);case"short":const r=new DataView(new ArrayBuffer(3));return r.setUint8(0,3),r.setInt16(1,t.value,!1),new Uint8Array(r.buffer);case"integer":const n=new DataView(new ArrayBuffer(5));return n.setUint8(0,4),n.setInt32(1,t.value,!1),new Uint8Array(n.buffer);case"long":const s=new Uint8Array(9);return s[0]=5,s.set(t.value.bytes,1),s;case"binary":const i=new DataView(new ArrayBuffer(3+t.value.byteLength));i.setUint8(0,6),i.setUint16(1,t.value.byteLength,!1);const o=new Uint8Array(i.buffer);return o.set(t.value,3),o;case"string":const a=this.fromUtf8(t.value),c=new DataView(new ArrayBuffer(3+a.byteLength));c.setUint8(0,7),c.setUint16(1,a.byteLength,!1);const u=new Uint8Array(c.buffer);return u.set(a,3),u;case"timestamp":const f=new Uint8Array(9);return f[0]=8,f.set(vt.fromNumber(t.value.valueOf()).bytes,1),f;case"uuid":if(!Yg.test(t.value))throw new Error(`Invalid UUID received: ${t.value}`);const d=new Uint8Array(17);return d[0]=9,d.set(Wi(t.value.replace(/\-/g,"")),1),d}}parse(t){const r={};let n=0;for(;n<t.byteLength;){const s=t.getUint8(n++),i=this.toUtf8(new Uint8Array(t.buffer,t.byteOffset+n,s));switch(n+=s,t.getUint8(n++)){case 0:r[i]={type:Li,value:!0};break;case 1:r[i]={type:Li,value:!1};break;case 2:r[i]={type:qg,value:t.getInt8(n++)};break;case 3:r[i]={type:zg,value:t.getInt16(n,!1)},n+=2;break;case 4:r[i]={type:Vg,value:t.getInt32(n,!1)},n+=4;break;case 5:r[i]={type:Kg,value:new vt(new Uint8Array(t.buffer,t.byteOffset+n,8))},n+=8;break;case 6:const o=t.getUint16(n,!1);n+=2,r[i]={type:Wg,value:new Uint8Array(t.buffer,t.byteOffset+n,o)},n+=o;break;case 7:const a=t.getUint16(n,!1);n+=2,r[i]={type:Gg,value:this.toUtf8(new Uint8Array(t.buffer,t.byteOffset+n,a))},n+=a;break;case 8:r[i]={type:Zg,value:new Date(new vt(new Uint8Array(t.buffer,t.byteOffset+n,8)).valueOf())},n+=8;break;case 9:const c=new Uint8Array(t.buffer,t.byteOffset+n,16);n+=16,r[i]={type:Xg,value:`${ge(c.subarray(0,4))}-${ge(c.subarray(4,6))}-${ge(c.subarray(6,8))}-${ge(c.subarray(8,10))}-${ge(c.subarray(10))}`};break;default:throw new Error("Unrecognized header type tag")}}return r}}var Bi;(function(e){e[e.boolTrue=0]="boolTrue",e[e.boolFalse=1]="boolFalse",e[e.byte=2]="byte",e[e.short=3]="short",e[e.integer=4]="integer",e[e.long=5]="long",e[e.byteArray=6]="byteArray",e[e.string=7]="string",e[e.timestamp=8]="timestamp",e[e.uuid=9]="uuid"})(Bi||(Bi={}));const Li="boolean",qg="byte",zg="short",Vg="integer",Kg="long",Wg="binary",Gg="string",Zg="timestamp",Xg="uuid",Yg=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/,Ma=4,Le=Ma*2,Ke=4,Qg=Le+Ke*2;function Jg({byteLength:e,byteOffset:t,buffer:r}){if(e<Qg)throw new Error("Provided message too short to accommodate event stream message overhead");const n=new DataView(r,t,e),s=n.getUint32(0,!1);if(e!==s)throw new Error("Reported message length does not match received message length");const i=n.getUint32(Ma,!1),o=n.getUint32(Le,!1),a=n.getUint32(e-Ke,!1),c=new jt().update(new Uint8Array(r,t,Le));if(o!==c.digest())throw new Error(`The prelude checksum specified in the message (${o}) does not match the calculated CRC32 checksum (${c.digest()})`);if(c.update(new Uint8Array(r,t+Le,e-(Le+Ke))),a!==c.digest())throw new Error(`The message checksum (${c.digest()}) did not match the expected value of ${a}`);return{headers:new DataView(r,t+Le+Ke,i),body:new Uint8Array(r,t+Le+Ke+i,s-i-(Le+Ke+Ke))}}class em{constructor(t,r){this.headerMarshaller=new jg(t,r),this.messageBuffer=[],this.isEndOfStream=!1}feed(t){this.messageBuffer.push(this.decode(t))}endOfStream(){this.isEndOfStream=!0}getMessage(){const t=this.messageBuffer.pop(),r=this.isEndOfStream;return{getMessage(){return t},isEndOfStream(){return r}}}getAvailableMessages(){const t=this.messageBuffer;this.messageBuffer=[];const r=this.isEndOfStream;return{getMessages(){return t},isEndOfStream(){return r}}}encode({headers:t,body:r}){const n=this.headerMarshaller.format(t),s=n.byteLength+r.byteLength+16,i=new Uint8Array(s),o=new DataView(i.buffer,i.byteOffset,i.byteLength),a=new jt;return o.setUint32(0,s,!1),o.setUint32(4,n.byteLength,!1),o.setUint32(8,a.update(i.subarray(0,8)).digest(),!1),i.set(n,12),i.set(r,n.byteLength+12),o.setUint32(s-4,a.update(i.subarray(8,s-4)).digest(),!1),i}decode(t){const{headers:r,body:n}=Jg(t);return{headers:this.headerMarshaller.parse(r),body:n}}formatHeaders(t){return this.headerMarshaller.format(t)}}class tm{constructor(t){this.options=t}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(const t of this.options.inputStream)yield this.options.decoder.decode(t)}}class rm{constructor(t){this.options=t}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(const t of this.options.messageStream)yield this.options.encoder.encode(t);this.options.includeEndFrame&&(yield new Uint8Array(0))}}class nm{constructor(t){this.options=t}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(const t of this.options.messageStream){const r=await this.options.deserializer(t);r!==void 0&&(yield r)}}}class sm{constructor(t){this.options=t}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(const t of this.options.inputStream)yield this.options.serializer(t)}}function im(e){let t=0,r=0,n=null,s=null;const i=a=>{if(typeof a!="number")throw new Error("Attempted to allocate an event message where size was not a number: "+a);t=a,r=4,n=new Uint8Array(a),new DataView(n.buffer).setUint32(0,a,!1)},o=async function*(){const a=e[Symbol.asyncIterator]();for(;;){const{value:c,done:u}=await a.next();if(u){if(t)if(t===r)yield n;else throw new Error("Truncated event message received.");else return;return}const f=c.length;let d=0;for(;d<f;){if(!n){const g=f-d;s||(s=new Uint8Array(4));const S=Math.min(4-r,g);if(s.set(c.slice(d,d+S),r),r+=S,d+=S,r<4)break;i(new DataView(s.buffer).getUint32(0,!1)),s=null}const p=Math.min(t-r,f-d);n.set(c.slice(d,d+p),r),r+=p,d+=p,t&&t===r&&(yield n,n=null,t=0,r=0)}}};return{[Symbol.asyncIterator]:o}}function om(e,t){return async function(r){const{value:n}=r.headers[":message-type"];if(n==="error"){const s=new Error(r.headers[":error-message"].value||"UnknownError");throw s.name=r.headers[":error-code"].value,s}else if(n==="exception"){const s=r.headers[":exception-type"].value,i={[s]:r},o=await e(i);if(o.$unknown){const a=new Error(t(r.body));throw a.name=s,a}throw o[s]}else if(n==="event"){const s={[r.headers[":event-type"].value]:r},i=await e(s);return i.$unknown?void 0:i}else throw Error(`Unrecognizable event type: ${r.headers[":event-type"].value}`)}}let am=class{constructor({utf8Encoder:e,utf8Decoder:t}){this.eventStreamCodec=new em(e,t),this.utfEncoder=e}deserialize(e,t){const r=im(e);return new nm({messageStream:new tm({inputStream:r,decoder:this.eventStreamCodec}),deserializer:om(t,this.utfEncoder)})}serialize(e,t){return new rm({messageStream:new sm({inputStream:e,serializer:t}),encoder:this.eventStreamCodec,includeEndFrame:!0})}};const cm=e=>({[Symbol.asyncIterator]:async function*(){const t=e.getReader();try{for(;;){const{done:r,value:n}=await t.read();if(r)return;yield n}}finally{t.releaseLock()}}}),um=e=>{const t=e[Symbol.asyncIterator]();return new ReadableStream({async pull(r){const{done:n,value:s}=await t.next();if(n)return r.close();r.enqueue(s)}})};class lm{constructor({utf8Encoder:t,utf8Decoder:r}){this.universalMarshaller=new am({utf8Decoder:r,utf8Encoder:t})}deserialize(t,r){const n=dm(t)?cm(t):t;return this.universalMarshaller.deserialize(n,r)}serialize(t,r){const n=this.universalMarshaller.serialize(t,r);return typeof ReadableStream=="function"?um(n):n}}const dm=e=>typeof ReadableStream=="function"&&e instanceof ReadableStream,hm=e=>new lm(e);function fm(e=0){return new Promise((t,r)=>{e&&setTimeout(()=>{const n=new Error(`Request did not complete within ${e} ms`);n.name="TimeoutError",r(n)},e)})}const qr={supported:void 0};class Dn{static create(t){return typeof(t==null?void 0:t.handle)=="function"?t:new Dn(t)}constructor(t){typeof t=="function"?this.configProvider=t().then(r=>r||{}):(this.config=t??{},this.configProvider=Promise.resolve(this.config)),qr.supported===void 0&&(qr.supported=typeof Request<"u"&&"keepalive"in new Request("https://[::1]"))}destroy(){}async handle(t,{abortSignal:r}={}){var n;this.config||(this.config=await this.configProvider);const s=this.config.requestTimeout,i=this.config.keepAlive===!0,o=this.config.credentials;if(r!=null&&r.aborted){const M=new Error("Request aborted");return M.name="AbortError",Promise.reject(M)}let a=t.path;const c=lc(t.query||{});c&&(a+=`?${c}`),t.fragment&&(a+=`#${t.fragment}`);let u="";if(t.username!=null||t.password!=null){const M=t.username??"",X=t.password??"";u=`${M}:${X}@`}const{port:f,method:d}=t,p=`${t.protocol}//${u}${t.hostname}${f?`:${f}`:""}${a}`,g=d==="GET"||d==="HEAD"?void 0:t.body,S={body:g,headers:new Headers(t.headers),method:d,credentials:o};(n=this.config)!=null&&n.cache&&(S.cache=this.config.cache),g&&(S.duplex="half"),typeof AbortController<"u"&&(S.signal=r),qr.supported&&(S.keepalive=i),typeof this.config.requestInit=="function"&&Object.assign(S,this.config.requestInit(t));let R=()=>{};const E=new Request(p,S),$=[fetch(E).then(M=>{const X=M.headers,j={};for(const ne of X.entries())j[ne[0]]=ne[1];return M.body!=null?{response:new Et({headers:j,reason:M.statusText,statusCode:M.status,body:M.body})}:M.blob().then(ne=>({response:new Et({headers:j,reason:M.statusText,statusCode:M.status,body:ne})}))}),fm(s)];return r&&$.push(new Promise((M,X)=>{const j=()=>{const ne=new Error("Request aborted");ne.name="AbortError",X(ne)};if(typeof r.addEventListener=="function"){const ne=r;ne.addEventListener("abort",j,{once:!0}),R=()=>ne.removeEventListener("abort",j)}else r.onabort=j})),Promise.race($).finally(R)}updateHttpClientConfig(t,r){this.config=void 0,this.configProvider=this.configProvider.then(n=>(n[t]=r,n))}httpHandlerConfigs(){return this.config??{}}}const pm=e=>typeof Blob=="function"&&e instanceof Blob?gm(e):mm(e);async function gm(e){const t=await ym(e),r=on(t);return new Uint8Array(r)}async function mm(e){const t=[],r=e.getReader();let n=!1,s=0;for(;!n;){const{done:a,value:c}=await r.read();c&&(t.push(c),s+=c.length),n=a}const i=new Uint8Array(s);let o=0;for(const a of t)i.set(a,o),o+=a.length;return i}function ym(e){return new Promise((t,r)=>{const n=new FileReader;n.onloadend=()=>{if(n.readyState!==2)return r(new Error("Reader aborted too early"));const s=n.result??"",i=s.indexOf(","),o=i>-1?i+1:s.length;t(s.substring(o))},n.onabort=()=>r(new Error("Read aborted")),n.onerror=()=>r(n.error),n.readAsDataURL(e)})}async function wm(e,t,r=1024*1024){const n=e.size;let s=0;for(;s<n;){const i=e.slice(s,Math.min(n,s+r));t(new Uint8Array(await i.arrayBuffer())),s+=i.size}}const bm=async function(e,t){const r=new e;return await wm(t,n=>{r.update(n)}),r.digest()},vm=e=>()=>Promise.reject(e),De=64,Sm=16,Em=[1732584193,4023233417,2562383102,271733878];class Am{constructor(){this.reset()}update(t){if(xm(t))return;if(this.finished)throw new Error("Attempted to update an already finished hash.");const r=km(t);let n=0,{byteLength:s}=r;for(this.bytesHashed+=s;s>0;)this.buffer.setUint8(this.bufferLength++,r[n++]),s--,this.bufferLength===De&&(this.hashBuffer(),this.bufferLength=0)}async digest(){if(!this.finished){const{buffer:r,bufferLength:n,bytesHashed:s}=this,i=s*8;if(r.setUint8(this.bufferLength++,128),n%De>=De-8){for(let o=this.bufferLength;o<De;o++)r.setUint8(o,0);this.hashBuffer(),this.bufferLength=0}for(let o=this.bufferLength;o<De-8;o++)r.setUint8(o,0);r.setUint32(De-8,i>>>0,!0),r.setUint32(De-4,Math.floor(i/4294967296),!0),this.hashBuffer(),this.finished=!0}const t=new DataView(new ArrayBuffer(Sm));for(let r=0;r<4;r++)t.setUint32(r*4,this.state[r],!0);return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}hashBuffer(){const{buffer:t,state:r}=this;let n=r[0],s=r[1],i=r[2],o=r[3];n=se(n,s,i,o,t.getUint32(0,!0),7,3614090360),o=se(o,n,s,i,t.getUint32(4,!0),12,3905402710),i=se(i,o,n,s,t.getUint32(8,!0),17,606105819),s=se(s,i,o,n,t.getUint32(12,!0),22,3250441966),n=se(n,s,i,o,t.getUint32(16,!0),7,4118548399),o=se(o,n,s,i,t.getUint32(20,!0),12,1200080426),i=se(i,o,n,s,t.getUint32(24,!0),17,2821735955),s=se(s,i,o,n,t.getUint32(28,!0),22,4249261313),n=se(n,s,i,o,t.getUint32(32,!0),7,1770035416),o=se(o,n,s,i,t.getUint32(36,!0),12,2336552879),i=se(i,o,n,s,t.getUint32(40,!0),17,4294925233),s=se(s,i,o,n,t.getUint32(44,!0),22,2304563134),n=se(n,s,i,o,t.getUint32(48,!0),7,1804603682),o=se(o,n,s,i,t.getUint32(52,!0),12,4254626195),i=se(i,o,n,s,t.getUint32(56,!0),17,2792965006),s=se(s,i,o,n,t.getUint32(60,!0),22,1236535329),n=ie(n,s,i,o,t.getUint32(4,!0),5,4129170786),o=ie(o,n,s,i,t.getUint32(24,!0),9,3225465664),i=ie(i,o,n,s,t.getUint32(44,!0),14,643717713),s=ie(s,i,o,n,t.getUint32(0,!0),20,3921069994),n=ie(n,s,i,o,t.getUint32(20,!0),5,3593408605),o=ie(o,n,s,i,t.getUint32(40,!0),9,38016083),i=ie(i,o,n,s,t.getUint32(60,!0),14,3634488961),s=ie(s,i,o,n,t.getUint32(16,!0),20,3889429448),n=ie(n,s,i,o,t.getUint32(36,!0),5,568446438),o=ie(o,n,s,i,t.getUint32(56,!0),9,3275163606),i=ie(i,o,n,s,t.getUint32(12,!0),14,4107603335),s=ie(s,i,o,n,t.getUint32(32,!0),20,1163531501),n=ie(n,s,i,o,t.getUint32(52,!0),5,2850285829),o=ie(o,n,s,i,t.getUint32(8,!0),9,4243563512),i=ie(i,o,n,s,t.getUint32(28,!0),14,1735328473),s=ie(s,i,o,n,t.getUint32(48,!0),20,2368359562),n=oe(n,s,i,o,t.getUint32(20,!0),4,4294588738),o=oe(o,n,s,i,t.getUint32(32,!0),11,2272392833),i=oe(i,o,n,s,t.getUint32(44,!0),16,1839030562),s=oe(s,i,o,n,t.getUint32(56,!0),23,4259657740),n=oe(n,s,i,o,t.getUint32(4,!0),4,2763975236),o=oe(o,n,s,i,t.getUint32(16,!0),11,1272893353),i=oe(i,o,n,s,t.getUint32(28,!0),16,4139469664),s=oe(s,i,o,n,t.getUint32(40,!0),23,3200236656),n=oe(n,s,i,o,t.getUint32(52,!0),4,681279174),o=oe(o,n,s,i,t.getUint32(0,!0),11,3936430074),i=oe(i,o,n,s,t.getUint32(12,!0),16,3572445317),s=oe(s,i,o,n,t.getUint32(24,!0),23,76029189),n=oe(n,s,i,o,t.getUint32(36,!0),4,3654602809),o=oe(o,n,s,i,t.getUint32(48,!0),11,3873151461),i=oe(i,o,n,s,t.getUint32(60,!0),16,530742520),s=oe(s,i,o,n,t.getUint32(8,!0),23,3299628645),n=ae(n,s,i,o,t.getUint32(0,!0),6,4096336452),o=ae(o,n,s,i,t.getUint32(28,!0),10,1126891415),i=ae(i,o,n,s,t.getUint32(56,!0),15,2878612391),s=ae(s,i,o,n,t.getUint32(20,!0),21,4237533241),n=ae(n,s,i,o,t.getUint32(48,!0),6,1700485571),o=ae(o,n,s,i,t.getUint32(12,!0),10,2399980690),i=ae(i,o,n,s,t.getUint32(40,!0),15,4293915773),s=ae(s,i,o,n,t.getUint32(4,!0),21,2240044497),n=ae(n,s,i,o,t.getUint32(32,!0),6,1873313359),o=ae(o,n,s,i,t.getUint32(60,!0),10,4264355552),i=ae(i,o,n,s,t.getUint32(24,!0),15,2734768916),s=ae(s,i,o,n,t.getUint32(52,!0),21,1309151649),n=ae(n,s,i,o,t.getUint32(16,!0),6,4149444226),o=ae(o,n,s,i,t.getUint32(44,!0),10,3174756917),i=ae(i,o,n,s,t.getUint32(8,!0),15,718787259),s=ae(s,i,o,n,t.getUint32(36,!0),21,3951481745),r[0]=n+r[0]&4294967295,r[1]=s+r[1]&4294967295,r[2]=i+r[2]&4294967295,r[3]=o+r[3]&4294967295}reset(){this.state=Uint32Array.from(Em),this.buffer=new DataView(new ArrayBuffer(De)),this.bufferLength=0,this.bytesHashed=0,this.finished=!1}}function ir(e,t,r,n,s,i){return t=(t+e&4294967295)+(n+i&4294967295)&4294967295,(t<<s|t>>>32-s)+r&4294967295}function se(e,t,r,n,s,i,o){return ir(t&r|~t&n,e,t,s,i,o)}function ie(e,t,r,n,s,i,o){return ir(t&n|r&~n,e,t,s,i,o)}function oe(e,t,r,n,s,i,o){return ir(t^r^n,e,t,s,i,o)}function ae(e,t,r,n,s,i,o){return ir(r^(t|~n),e,t,s,i,o)}function xm(e){return typeof e=="string"?e.length===0:e.byteLength===0}function km(e){return typeof e=="string"?Ye(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}const Fi=typeof TextEncoder=="function"?new TextEncoder:null,Rm=e=>{if(typeof e=="string"){if(Fi)return Fi.encode(e).byteLength;let t=e.length;for(let r=t-1;r>=0;r--){const n=e.charCodeAt(r);n>127&&n<=2047?t++:n>2047&&n<=65535&&(t+=2),n>=56320&&n<=57343&&r--}return t}else{if(typeof e.byteLength=="number")return e.byteLength;if(typeof e.size=="number")return e.size}throw new Error(`Body Length computation failed for ${e}`)},Cm=e=>({apiVersion:"2006-03-01",base64Decoder:(e==null?void 0:e.base64Decoder)??on,base64Encoder:(e==null?void 0:e.base64Encoder)??cn,disableHostPrefix:(e==null?void 0:e.disableHostPrefix)??!1,endpointProvider:(e==null?void 0:e.endpointProvider)??da,extensions:(e==null?void 0:e.extensions)??[],getAwsChunkedEncodingStream:(e==null?void 0:e.getAwsChunkedEncodingStream)??cc,httpAuthSchemeProvider:(e==null?void 0:e.httpAuthSchemeProvider)??Wf,httpAuthSchemes:(e==null?void 0:e.httpAuthSchemes)??[{schemeId:"aws.auth#sigv4",identityProvider:t=>t.getIdentityProvider("aws.auth#sigv4"),signer:new qi},{schemeId:"aws.auth#sigv4a",identityProvider:t=>t.getIdentityProvider("aws.auth#sigv4a"),signer:new Wa}],logger:(e==null?void 0:e.logger)??new hn,sdkStreamMixin:(e==null?void 0:e.sdkStreamMixin)??fc,serviceId:(e==null?void 0:e.serviceId)??"S3",signerConstructor:(e==null?void 0:e.signerConstructor)??If,signingEscapePath:(e==null?void 0:e.signingEscapePath)??!1,urlParser:(e==null?void 0:e.urlParser)??zt,useArnRegion:(e==null?void 0:e.useArnRegion)??!1,utf8Decoder:(e==null?void 0:e.utf8Decoder)??Ye,utf8Encoder:(e==null?void 0:e.utf8Encoder)??an}),Pm=["in-region","cross-region","mobile","standard","legacy"],Tm=({defaultsMode:e}={})=>xc(async()=>{const t=typeof e=="function"?await e():e;switch(t==null?void 0:t.toLowerCase()){case"auto":return Promise.resolve(Im()?"mobile":"standard");case"mobile":case"in-region":case"cross-region":case"standard":case"legacy":return Promise.resolve(t==null?void 0:t.toLocaleLowerCase());case void 0:return Promise.resolve("legacy");default:throw new Error(`Invalid parameter for "defaultsMode", expect ${Pm.join(", ")}, got ${t}`)}}),Im=()=>{var e,t;const r=typeof window<"u"&&(e=window==null?void 0:window.navigator)!=null&&e.userAgent?Oa.parse(window.navigator.userAgent):void 0,n=(t=r==null?void 0:r.platform)==null?void 0:t.type;return n==="tablet"||n==="mobile"},Nm=e=>{const t=Tm(e),r=()=>t().then(xu),n=Cm(e);return{...n,...e,runtime:"browser",defaultsMode:t,bodyLengthChecker:(e==null?void 0:e.bodyLengthChecker)??Rm,credentialDefaultProvider:(e==null?void 0:e.credentialDefaultProvider)??(s=>()=>Promise.reject(new Error("Credential is missing"))),defaultUserAgentProvider:(e==null?void 0:e.defaultUserAgentProvider)??Hg({serviceId:n.serviceId,clientVersion:bg.version}),eventStreamSerdeProvider:(e==null?void 0:e.eventStreamSerdeProvider)??hm,maxAttempts:(e==null?void 0:e.maxAttempts)??Sn,md5:(e==null?void 0:e.md5)??Am,region:(e==null?void 0:e.region)??vm("Region is missing"),requestHandler:Dn.create((e==null?void 0:e.requestHandler)??r),retryMode:(e==null?void 0:e.retryMode)??(async()=>(await r()).retryMode||Yh),sha1:(e==null?void 0:e.sha1)??Rg,sha256:(e==null?void 0:e.sha256)??$g,streamCollector:(e==null?void 0:e.streamCollector)??pm,streamHasher:(e==null?void 0:e.streamHasher)??bm,useDualstackEndpoint:(e==null?void 0:e.useDualstackEndpoint)??(()=>Promise.resolve(Oh)),useFipsEndpoint:(e==null?void 0:e.useFipsEndpoint)??(()=>Promise.resolve(Mh))}},Om=e=>{let t=async()=>{if(e.region===void 0)throw new Error("Region is missing from runtimeConfig");const r=e.region;return typeof r=="string"?r:r()};return{setRegion(r){t=r},region(){return t}}},Mm=e=>({region:e.region()}),Um=e=>{const t=e.httpAuthSchemes;let r=e.httpAuthSchemeProvider,n=e.credentials;return{setHttpAuthScheme(s){const i=t.findIndex(o=>o.schemeId===s.schemeId);i===-1?t.push(s):t.splice(i,1,s)},httpAuthSchemes(){return t},setHttpAuthSchemeProvider(s){r=s},httpAuthSchemeProvider(){return r},setCredentials(s){n=s},credentials(){return n}}},$m=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),Mt=e=>e,_m=(e,t)=>{const r={...Mt(Om(e)),...Mt(Tu(e)),...Mt(Da(e)),...Mt(Um(e))};return t.forEach(n=>n.configure(r)),{...e,...Mm(r),...Iu(r),...Ba(r),...$m(r)}};class Dm extends Yc{constructor(...[t]){const r=Nm(t||{}),n=Zf(r),s=Xd(n),i=nd(s),o=vf(i),a=Uh(o),c=a,u=Xh(c),f=$h(u),d=Gf(f),p=_d(d,{session:[()=>this,yg]}),g=_m(p,(t==null?void 0:t.extensions)||[]);super(g),this.config=g,this.middlewareStack.use(Nh(this.config)),this.middlewareStack.use(Cf(this.config)),this.middlewareStack.use(Bh(this.config)),this.middlewareStack.use(od(this.config)),this.middlewareStack.use(ud(this.config)),this.middlewareStack.use(pd(this.config)),this.middlewareStack.use(Ya(this.config,{httpAuthSchemeParametersProvider:zf,identityProviderConfigProvider:async S=>new bc({"aws.auth#sigv4":S.credentials,"aws.auth#sigv4a":S.credentials})})),this.middlewareStack.use(sc(this.config)),this.middlewareStack.use(Wd(this.config)),this.middlewareStack.use(ja(this.config)),this.middlewareStack.use(Ad(this.config)),this.middlewareStack.use(Id(this.config)),this.middlewareStack.use($d(this.config))}destroy(){super.destroy()}}function Bm(e){return t=>async r=>{const n={...r.input},s=[{target:"SSECustomerKey",hash:"SSECustomerKeyMD5"},{target:"CopySourceSSECustomerKey",hash:"CopySourceSSECustomerKeyMD5"}];for(const i of s){const o=n[i.target];if(o){let a;typeof o=="string"?Hm(o,e)?a=e.base64Decoder(o):(a=e.utf8Decoder(o),n[i.target]=e.base64Encoder(a)):(a=ArrayBuffer.isView(o)?new Uint8Array(o.buffer,o.byteOffset,o.byteLength):new Uint8Array(o),n[i.target]=e.base64Encoder(a));const c=new e.md5;c.update(a),n[i.hash]=e.base64Encoder(await c.digest())}}return t({...r,input:n})}}const Lm={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0},Fm=e=>({applyToStack:t=>{t.add(Bm(e),Lm)}});function Hm(e,t){if(!/^(?:[A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e))return!1;try{return t.base64Decoder(e).length===32}catch{return!1}}class jm extends un.classBuilder().ep({...pa,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(t,r,n,s){return[zi(n,this.serialize,this.deserialize),Ho(n,t.getEndpointParameterInstructions()),rd(n,{input:this.input,requestAlgorithmMember:"ChecksumAlgorithm",requestChecksumRequired:!1}),wd(),Co(n),Fm(n)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").f(ep,Jf).ser(rp).de(sp).build(){}const qm=$a.create({});async function zm(e,t,r){return e.getSignedUrl||console.error("请先配置uploader.getSignedUrl,该方法应该从后端获取签名url"),await e.getSignedUrl(e.bucket,t,e,r)}async function Vm(e,t){const{file:r,onProgress:n,options:s}=e,i=await zm(s,t,"put"),o=decodeURIComponent(i);return await qm.put(o,r,{onUploadProgress:a=>{const{loaded:c,total:u}=a;n({percent:Math.round(c*100/u)})}})}async function Km(e){const{file:t,fileName:r,onProgress:n,options:s}=e,i=s,o=new Dm({...(i==null?void 0:i.sdkOpts)||{}}),a=await _a(t,r,i);async function c(){const u={url:i.sdkOpts.endpoint+"/"+i.bucket+"/"+a,key:a};return i.successHandle?await i.successHandle(u):u}if(i.getSignedUrl)await Vm(e,a);else{const u={Bucket:i.bucket,Key:a};await o.send(new jm({Body:t,...u}))}return await c()}async function Zm(e){const{getConfig:t}=Ua(),r=t("s3"),n=e.options,s=Bn.merge(Bn.cloneDeep(r),n);return e.options=s,await Km(e)}export{zm as buildSignedUrl,Zm as upload,Vm as uploadUsingSignedUrl};