PageSourceSearch

https://crowdbunker.com/js/vendor-upload-ee68a77f.e4141f37.js

js crowdbunker.com collected 2026-10-02 14:31:42 UTC 33,250 bytes, 3 lines download raw bytes

1/*! cb-build d313161f624c0fe3e935be0fd34c087ec8af8504 */
2"use strict";(self["webpackChunkcrowdbunker"]=self["webpackChunkcrowdbunker"]||[]).push([[6737],{65070:function(e,t,s){s.d(t,{A:function(){return Mt}});var r=s(42656),i=s(32818),o=s(49729),a=s(28937),n=s(75649),l=s(92530);function p(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw new TypeError("attempted to use private field on non-instance");return e}var u=0;function d(e){return"__private_"+u+++"_"+e}const h=1048576,c={getChunkSize(e){return Math.ceil(e.size/1e4)},onProgress(){},onPartComplete(){},onSuccess(){},onError(e){throw e}};function m(e){if("string"===typeof e)return parseInt(e,10);if("number"===typeof e)return e;throw new TypeError("Expected a number")}const y=Symbol("pausing upload, not an actual error");var f=d("abortController"),b=d("chunks"),g=d("chunkState"),w=d("data"),v=d("file"),P=d("uploadHasStarted"),U=d("onError"),O=d("onSuccess"),S=d("shouldUseMultipart"),C=d("isRestoring"),j=d("onReject"),E=d("maxMultipartParts"),k=d("minPartSize"),M=d("initChunks"),F=d("createUpload"),R=d("resumeUpload"),A=d("onPartProgress"),T=d("onPartComplete"),$=d("abortUpload");class x{constructor(e,t){var s;Object.defineProperty(this,$,{value:z}),Object.defineProperty(this,R,{value:H}),Object.defineProperty(this,F,{value:L}),Object.defineProperty(this,M,{value:I}),Object.defineProperty(this,f,{writable:!0,value:new l.z1}),Object.defineProperty(this,b,{writable:!0,value:void 0}),Object.defineProperty(this,g,{writable:!0,value:void 0}),Object.defineProperty(this,w,{writable:!0,value:void 0}),Object.defineProperty(this,v,{writable:!0,value:void 0}),Object.defineProperty(this,P,{writable:!0,value:!1}),Object.defineProperty(this,U,{writable:!0,value:void 0}),Object.defineProperty(this,O,{writable:!0,value:void 0}),Object.defineProperty(this,S,{writable:!0,value:void 0}),Object.defineProperty(this,C,{writable:!0,value:void 0}),Object.defineProperty(this,j,{writable:!0,value:e=>(null==e?void 0:e.cause)===y?null:p(this,U)[U](e)}),Object.defineProperty(this,E,{writable:!0,value:1e4}),Object.defineProperty(this,k,{writable:!0,value:5*h}),Object.defineProperty(this,A,{writable:!0,value:e=>t=>{if(!t.lengthComputable)return;p(this,g)[g][e].uploaded=m(t.loaded);const s=p(this,g)[g].reduce((e,t)=>e+t.uploaded,0);this.options.onProgress(s,p(this,w)[w].size)}}),Object.defineProperty(this,T,{writable:!0,value:e=>t=>{p(this,b)[b][e]=null,p(this,g)[g][e].etag=t,p(this,g)[g][e].done=!0;const s={PartNumber:e+1,ETag:t};this.options.onPartComplete(s)}}),this.options={...c,...t},null!=(s=this.options).getChunkSize||(s.getChunkSize=c.getChunkSize),p(this,w)[w]=e,p(this,v)[v]=t.file,p(this,O)[O]=this.options.onSuccess,p(this,U)[U]=this.options.onError,p(this,S)[S]=this.options.shouldUseMultipart,p(this,C)[C]=t.uploadId&&t.key,p(this,M)[M]()}start(){p(this,P)[P]?(p(this,f)[f].signal.aborted||p(this,f)[f].abort(y),p(this,f)[f]=new l.z1,p(this,R)[R]()):p(this,C)[C]?(this.options.companionComm.restoreUploadFile(p(this,v)[v],{uploadId:this.options.uploadId,key:this.options.key}),p(this,R)[R]()):p(this,F)[F]()}pause(){p(this,f)[f].abort(y),p(this,f)[f]=new l.z1}abort(e){null!=e&&e.really?p(this,$)[$]():this.pause()}get chunkState(){return p(this,g)[g]}}function I(){const e=p(this,w)[w].size,t="function"===typeof p(this,S)[S]?p(this,S)[S](p(this,v)[v]):Boolean(p(this,S)[S]);if(t&&e>p(this,k)[k]){let s=Math.max(this.options.getChunkSize(p(this,w)[w]),p(this,k)[k]),r=Math.floor(e/s);r>p(this,E)[E]&&(r=p(this,E)[E],s=e/p(this,E)[E]),p(this,b)[b]=Array(r);for(let i=0,o=0;i<e;i+=s,o++){const r=Math.min(e,i+s),a=()=>{const e=i;return p(this,w)[w].slice(e,r)};if(p(this,b)[b][o]={getData:a,onProgress:p(this,A)[A](o),onComplete:p(this,T)[T](o),shouldUseMultipart:t},p(this,C)[C]){const t=i+s>e?e-i:s;p(this,b)[b][o].setAsUploaded=()=>{p(this,b)[b][o]=null,p(this,g)[g][o].uploaded=t}}}}else p(this,b)[b]=[{getData:()=>p(this,w)[w],onProgress:p(this,A)[A](0),onComplete:p(this,T)[T](0),shouldUseMultipart:t}];p(this,g)[g]=p(this,b)[b].map(()=>({uploaded:0}))}function L(){this.options.companionComm.uploadFile(p(this,v)[v],p(this,b)[b],p(this,f)[f].signal).then(p(this,O)[O],p(this,j)[j]),p(this,P)[P]=!0}function H(){this.options.companionComm.resumeUploadFile(p(this,v)[v],p(this,b)[b],p(this,f)[f].signal).then(p(this,O)[O],p(this,j)[j])}function z(){p(this,f)[f].abort(),this.options.companionComm.abortFileUpload(p(this,v)[v]).catch(e=>this.options.log(e))}var D=x;function N(e){if(null!=e&&e.aborted)throw(0,l.NK)("The operation was aborted",{cause:e.reason})}function _(e){let{method:t="PUT",CanonicalUri:s="/",CanonicalQueryString:r="",SignedHeaders:i,HashedPayload:o}=e;const a=Object.keys(i).map(e=>e.toLowerCase()).sort();return[t,s,r,...a.map(e=>`${e}:${i[e]}`),"",a.join(";"),o].join("\n")}const q=new TextEncoder,B={name:"HMAC",hash:"SHA-256"};async function X(e){const{subtle:t}=globalThis.crypto;return t.digest(B.hash,q.encode(e))}async function K(e){const{subtle:t}=globalThis.crypto;return t.importKey("raw","string"===typeof e?q.encode(e):e,B,!1,["sign"])}function W(e){const t=new Uint8Array(e);let s="";for(let r=0;r<t.length;r++)s+=t[r].toString(16).padStart(2,"0");return s}async function Q(e,t){const{subtle:s}=globalThis.crypto;return s.sign(B,await K(e),q.encode(t))}async function Y(e){let{accountKey:t,accountSecret:s,sessionToken:r,bucketName:i,Key:o,Region:a,expires:n,uploadId:l,partNumber:p}=e;const u="s3",d=`${i}.${u}.${a}.amazonaws.com`,h=`/${encodeURI(o).replace(/[;?:@&=+$,#!'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`)}`,c="UNSIGNED-PAYLOAD",m=(new Date).toISOString().replace(/[-:]|\.\d+/g,""),y=m.slice(0,8),f=`${y}/${a}/${u}
2/aws4_request`,b=new URL(`https://${d}${h}`);b.searchParams.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),b.searchParams.set("X-Amz-Content-Sha256",c),b.searchParams.set("X-Amz-Credential",`${t}/${f}`),b.searchParams.set("X-Amz-Date",m),b.searchParams.set("X-Amz-Expires",n),b.searchParams.set("X-Amz-Security-Token",r),b.searchParams.set("X-Amz-SignedHeaders","host"),p&&b.searchParams.set("partNumber",p),l&&b.searchParams.set("uploadId",l),b.searchParams.set("x-id",p&&l?"UploadPart":"PutObject");const g=_({CanonicalUri:h,CanonicalQueryString:b.search.slice(1),SignedHeaders:{host:d},HashedPayload:c}),w=W(await X(g)),v=["AWS4-HMAC-SHA256",m,f,w].join("\n"),P=await Q(`AWS4${s}`,y),U=await Q(P,a),O=await Q(U,u),S=await Q(O,"aws4_request"),C=W(await Q(S,v));return b.searchParams.set("X-Amz-Signature",C),b}function V(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw new TypeError("attempted to use private field on non-instance");return e}var G=0;function J(e){return"__private_"+G+++"_"+e}function Z(e){const t=new URL(e);return t.search="",t.hash="",t.href}var ee=J("abortMultipartUpload"),te=J("cache"),se=J("createMultipartUpload"),re=J("fetchSignature"),ie=J("getUploadParameters"),oe=J("listParts"),ae=J("previousRetryDelay"),ne=J("requests"),le=J("retryDelays"),pe=J("sendCompletionRequest"),ue=J("setS3MultipartState"),de=J("uploadPartBytes"),he=J("getFile"),ce=J("shouldRetry"),me=J("nonMultipartUpload");class ye{constructor(e,t,s,r){Object.defineProperty(this,me,{value:be}),Object.defineProperty(this,ce,{value:fe}),Object.defineProperty(this,ee,{writable:!0,value:void 0}),Object.defineProperty(this,te,{writable:!0,value:new WeakMap}),Object.defineProperty(this,se,{writable:!0,value:void 0}),Object.defineProperty(this,re,{writable:!0,value:void 0}),Object.defineProperty(this,ie,{writable:!0,value:void 0}),Object.defineProperty(this,oe,{writable:!0,value:void 0}),Object.defineProperty(this,ae,{writable:!0,value:void 0}),Object.defineProperty(this,ne,{writable:!0,value:void 0}),Object.defineProperty(this,le,{writable:!0,value:void 0}),Object.defineProperty(this,pe,{writable:!0,value:void 0}),Object.defineProperty(this,ue,{writable:!0,value:void 0}),Object.defineProperty(this,de,{writable:!0,value:void 0}),Object.defineProperty(this,he,{writable:!0,value:void 0}),V(this,ne)[ne]=e,V(this,ue)[ue]=s,V(this,he)[he]=r,this.setOptions(t)}setOptions(e){const t=V(this,ne)[ne];var s;("abortMultipartUpload"in e&&(V(this,ee)[ee]=t.wrapPromiseFunction(e.abortMultipartUpload,{priority:1})),"createMultipartUpload"in e&&(V(this,se)[se]=t.wrapPromiseFunction(e.createMultipartUpload,{priority:-1})),"signPart"in e&&(V(this,re)[re]=t.wrapPromiseFunction(e.signPart)),"listParts"in e&&(V(this,oe)[oe]=t.wrapPromiseFunction(e.listParts)),"completeMultipartUpload"in e&&(V(this,pe)[pe]=t.wrapPromiseFunction(e.completeMultipartUpload,{priority:1})),"retryDelays"in e)&&(V(this,le)[le]=null!=(s=e.retryDelays)?s:[]);"uploadPartBytes"in e&&(V(this,de)[de]=t.wrapPromiseFunction(e.uploadPartBytes,{priority:1/0})),"getUploadParameters"in e&&(V(this,ie)[ie]=t.wrapPromiseFunction(e.getUploadParameters))}async getUploadId(e,t){let s;while(null!=(s=V(this,te)[te].get(e.data)))try{return await s}catch{}const r=V(this,se)[se](V(this,he)[he](e),t),i=()=>{r.abort(t.reason),V(this,te)[te].delete(e.data)};return t.addEventListener("abort",i,{once:!0}),V(this,te)[te].set(e.data,r),r.then(async s=>{t.removeEventListener("abort",i),V(this,ue)[ue](e,s),V(this,te)[te].set(e.data,s)},()=>{t.removeEventListener("abort",i),V(this,te)[te].delete(e.data)}),r}async abortFileUpload(e){const t=V(this,te)[te].get(e.data);if(null==t)return;let s;V(this,te)[te].delete(e.data),V(this,ue)[ue](e,Object.create(null));try{s=await t}catch{return}await V(this,ee)[ee](V(this,he)[he](e),s)}async uploadFile(e,t,s){if(N(s),1===t.length&&!t[0].shouldUseMultipart)return V(this,me)[me](e,t[0],s);const{uploadId:r,key:i}=await this.getUploadId(e,s);N(s);try{const o=await Promise.all(t.map((t,r)=>this.uploadChunk(e,r+1,t,s)));return N(s),await V(this,pe)[pe](V(this,he)[he](e),{key:i,uploadId:r,parts:o,signal:s},s).abortOn(s)}catch(o){throw(null==o?void 0:o.cause)!==y&&"AbortError"!==(null==o?void 0:o.name)&&this.abortFileUpload(e),o}}restoreUploadFile(e,t){V(this,te)[te].set(e.data,t)}async resumeUploadFile(e,t,s){if(N(s),1===t.length&&null!=t[0]&&!t[0].shouldUseMultipart)return V(this,me)[me](e,t[0],s);const{uploadId:r,key:i}
2=await this.getUploadId(e,s);N(s);const o=await V(this,oe)[oe](V(this,he)[he](e),{uploadId:r,key:i,signal:s},s).abortOn(s);N(s);const a=await Promise.all(t.map((t,r)=>{const i=r+1,a=o.find(e=>{let{PartNumber:t}=e;return t===i});return null==a?this.uploadChunk(e,i,t,s):(null==t||null==t.setAsUploaded||t.setAsUploaded(),{PartNumber:i,ETag:a.ETag})}));return N(s),V(this,pe)[pe](V(this,he)[he](e),{key:i,uploadId:r,parts:a,signal:s},s).abortOn(s)}async uploadChunk(e,t,s,r){N(r);const{uploadId:i,key:o}=await this.getUploadId(e,r),a=V(this,le)[le].values(),n=V(this,le)[le].values(),l=()=>{const e=a.next();return null==e||e.done?null:e.value};for(;;){N(r);const a=s.getData(),{onProgress:u,onComplete:d}=s;let h;try{h=await V(this,re)[re](V(this,he)[he](e),{uploadId:i,key:o,partNumber:t,body:a,signal:r}).abortOn(r)}catch(p){const e=l();if(null==e||r.aborted)throw p;await new Promise(t=>setTimeout(t,e));continue}N(r);try{return{PartNumber:t,...await V(this,de)[de]({signature:h,body:a,size:a.size,onProgress:u,onComplete:d,signal:r}).abortOn(r)}}catch(p){if(!await V(this,ce)[ce](p,n))throw p}}}}async function fe(e,t){var s;const r=V(this,ne)[ne],i=null==e||null==(s=e.source)?void 0:s.status;if(null==i)return!1;if(403===i&&"Request has expired"===e.message){if(!r.isPaused){if(1===r.limit||null==V(this,ae)[ae]){const e=t.next();if(null==e||e.done)return!1;V(this,ae)[ae]=e.value}r.rateLimit(0),await new Promise(e=>setTimeout(e,V(this,ae)[ae]))}}else if(429===i){if(!r.isPaused){const e=t.next();if(null==e||e.done)return!1;r.rateLimit(e.value)}}else{if(i>400&&i<500&&409!==i)return!1;if("undefined"!==typeof navigator&&!1===navigator.onLine)r.isPaused||(r.pause(),window.addEventListener("online",()=>{r.resume()},{once:!0}));else{const e=t.next();if(null==e||e.done)return!1;await new Promise(t=>setTimeout(t,e.value))}}return!0}async function be(e,t,s){const{method:r="POST",url:i,fields:o,headers:a}=await V(this,ie)[ie](V(this,he)[he](e),{signal:s}).abortOn(s);let n;const l=t.getData();if("POST"===r.toUpperCase()){const e=new FormData;Object.entries(o).forEach(t=>{let[s,r]=t;return e.set(s,r)}),e.set("file",l),n=e}else n=l;const{onProgress:p,onComplete:u}=t,d=await V(this,de)[de]({signature:{url:i,headers:a,method:r},body:n,size:l.size,onProgress:p,onComplete:u,signal:s}).abortOn(s);return"location"in d?d:{location:Z(i),...d}}let ge;function we(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw new TypeError("attempted to use private field on non-instance");return e}var ve=0;function Pe(e){return"__private_"+ve+++"_"+e}const Ue={version:"3.12.0"};function Oe(e){if(null!=e&&e.error){const t=new Error(e.message);throw Object.assign(t,e.error),t}return e}function Se(e){const t=e.Expiration;if(t){const e=Math.floor((new Date(t)-Date.now())/1e3);if(e>9)return e}}function Ce(e){let{meta:t,allowedMetaFields:s,querify:r=!1}=e;const i=null!=s?s:Object.keys(t);return t?Object.fromEntries(i.filter(e=>null!=t[e]).map(e=>{const s=r?`metadata[${e}]`:e,i=String(t[e]);return[s,i]})):{}}const je={allowedMetaFields:null,limit:6,getTemporarySecurityCredentials:!1,shouldUseMultipart:e=>0!==e.size,retryDelays:[0,1e3,3e3,5e3],companionHeaders:{}};var Ee=Pe("companionCommunicationQueue"),ke=Pe("client"),Me=Pe("cachedTemporaryCredentials"),Fe=Pe("getTemporarySecurityCredentials"),Re=Pe("setS3MultipartState"),Ae=Pe("getFile"),Te=Pe("uploadLocalFile"),$e=Pe("getCompanionClientArgs"),xe=Pe("upload"),Ie=Pe("setCompanionHeaders"),Le=Pe("setResumableUploadsCapability"),He=Pe("resetResumableCapability");ge=Symbol.for("uppy test: getClient");class ze extends r.A{constructor(e,t){var s;super(e,{...je,uploadPartBytes:ze.uploadPartBytes,createMultipartUpload:null,listParts:null,abortMultipartUpload:null,completeMultipartUpload:null,signPart:null,getUploadParameters:null,...t}),Object.defineProperty(this,$e,{value:_e}),Object.defineProperty(this,Te,{value:Ne}),Object.defineProperty(this,Fe,{value:De}),Object.defineProperty(this,Ee,{writable:!0,value:void 0}),Object.defineProperty(this,ke,{writable:!0,value:void 0}),Object.defineProperty(this,Me,{writable:!0,value:void 0}),Object.defineProperty(this,Re,{writable:!0,value:(e,t)=>
2{let{key:s,uploadId:r}=t;const i=this.uppy.getFile(e.id);null!=i&&this.uppy.setFileState(e.id,{s3Multipart:{...i.s3Multipart,key:s,uploadId:r}})}}),Object.defineProperty(this,Ae,{writable:!0,value:e=>this.uppy.getFile(e.id)||e}),Object.defineProperty(this,xe,{writable:!0,value:async e=>{if(0===e.length)return;const t=this.uppy.getFilesByIds(e),s=(0,n.Y)(t),r=(0,n.S)(s);this.uppy.emit("upload-start",r);const i=s.map(e=>{if(e.isRemote){const t=()=>this.requests;we(this,Le)[Le](!1);const s=new AbortController,r=t=>{t.id===e.id&&s.abort()};this.uppy.on("file-removed",r);const i=this.uppy.getRequestClientForFile(e).uploadRemoteFile(e,we(this,$e)[$e](e),{signal:s.signal,getQueue:t});return this.requests.wrapSyncFunction(()=>{this.uppy.off("file-removed",r)},{priority:-1})(),i}return we(this,Te)[Te](e)}),o=await Promise.all(i);return we(this,Le)[Le](!0),o}}),Object.defineProperty(this,Ie,{writable:!0,value:()=>{we(this,ke)[ke].setCompanionHeaders(this.opts.companionHeaders)}}),Object.defineProperty(this,Le,{writable:!0,value:e=>{const{capabilities:t}=this.uppy.getState();this.uppy.setState({capabilities:{...t,resumableUploads:e}})}}),Object.defineProperty(this,He,{writable:!0,value:()=>{we(this,Le)[Le](!0)}}),this.type="uploader",this.id=this.opts.id||"AwsS3Multipart",this.title="AWS S3 Multipart",we(this,ke)[ke]=new i.R0(e,t);const r={createMultipartUpload:this.createMultipartUpload,listParts:this.listParts,abortMultipartUpload:this.abortMultipartUpload,completeMultipartUpload:this.completeMultipartUpload,signPart:null!=t&&t.getTemporarySecurityCredentials?this.createSignedURL:this.signPart,getUploadParameters:null!=t&&t.getTemporarySecurityCredentials?this.createSignedURL:this.getUploadParameters};for(const i of Object.keys(r))null==this.opts[i]&&(this.opts[i]=r[i].bind(this));null!=(null==t?void 0:t.prepareUploadParts)&&null==t.signPart&&(this.opts.signPart=async(e,s)=>{let{uploadId:r,key:i,partNumber:o,body:a,signal:n}=s;const{presignedUrls:l,headers:p}=await t.prepareUploadParts(e,{uploadId:r,key:i,parts:[{number:o,chunk:a}],signal:n});return{url:null==l?void 0:l[o],headers:null==p?void 0:p[o]}}),this.requests=null!=(s=this.opts.rateLimitedQueue)?s:new a.i(this.opts.limit),we(this,Ee)[Ee]=new ye(this.requests,this.opts,we(this,Re)[Re],we(this,Ae)[Ae]),this.uploaders=Object.create(null),this.uploaderEvents=Object.create(null),this.uploaderSockets=Object.create(null)}[ge](){return we(this,ke)[ke]}setOptions(e){we(this,Ee)[Ee].setOptions(e),super.setOptions(e),we(this,Ie)[Ie]()}resetUploaderReferences(e,t){this.uploaders[e]&&(this.uploaders[e].abort({really:(null==t?void 0:t.abort)||!1}),this.uploaders[e]=null),this.uploaderEvents[e]&&(this.uploaderEvents[e].remove(),this.uploaderEvents[e]=null),this.uploaderSockets[e]&&(this.uploaderSockets[e].close(),this.uploaderSockets[e]=null)}assertHost(e){if(!this.opts.companionUrl)throw new Error(`Expected a \`companionUrl\` option containing a Companion address, or if you are not using Companion, a custom \`${e}\` implementation.`)}createMultipartUpload(e,t){this.assertHost("createMultipartUpload"),N(t);const s=Ce({meta:e.meta,allowedMetaFields:this.opts.allowedMetaFields});return we(this,ke)[ke].post("s3/multipart",{filename:e.name,type:e.type,metadata:s},{signal:t}).then(Oe)}listParts(e,t,s){let{key:r,uploadId:i,signal:o}=t;null!=o||(o=s),this.assertHost("listParts"),N(o);const a=encodeURIComponent(r);return we(this,ke)[ke].get(`s3/multipart/${i}?key=${a}`,{signal:o}).then(Oe)}completeMultipartUpload(e,t,s){let{key:r,uploadId:i,parts:o,signal:a}=t;null!=a||(a=s),this.assertHost("completeMultipartUpload"),N(a);const n=encodeURIComponent(r),l=encodeURIComponent(i);return we(this,ke)[ke].post(`s3/multipart/${l}/complete?key=${n}`,{parts:o},{signal:a}).then(Oe)}async createSignedURL(e,t){const s=await we(this,Fe)[Fe](t),r=Se(s.credentials)||604800,{uploadId:i,key:o,partNumber:a}=t;return{method:"PUT",expires:r,fields:{},url:`${await Y({accountKey:s.credentials.AccessKeyId,accountSecret:s.credentials.SecretAccessKey,sessionToken:s.credentials.SessionToken,expires:r,bucketName:s.bucket,Region:s.region,Key:null!=o?o:`${crypto.randomUUID()}-${e.name}`,uploadId:i,partNumber:a})}`,headers:{"Content-Type":e.type}}}signPart(e,t){let{uploadId:s,key:r,partNumber:i,signal:o}=t;if(this.assertHost("signPart"),N(o),null==s||null==r||null==i)throw new Error("Cannot sign without a key, an uploadId, and a partNumber");const a=encodeURIComponent(r);return we(this,ke)[ke].get(`s3/multipart/${s}/${i}?key=${a}
2`,{signal:o}).then(Oe)}abortMultipartUpload(e,t,s){let{key:r,uploadId:i,signal:o}=t;null!=o||(o=s),this.assertHost("abortMultipartUpload");const a=encodeURIComponent(r),n=encodeURIComponent(i);return we(this,ke)[ke].delete(`s3/multipart/${n}?key=${a}`,void 0,{signal:o}).then(Oe)}getUploadParameters(e,t){const{meta:s}=e,{type:r,name:i}=s,o=Ce({meta:s,allowedMetaFields:this.opts.allowedMetaFields,querify:!0}),a=new URLSearchParams({filename:i,type:r,...o});return we(this,ke)[ke].get(`s3/params?${a}`,t)}static async uploadPartBytes(e){let{signature:{url:t,expires:s,headers:r,method:i="PUT"},body:o,size:a=o.size,onProgress:n,onComplete:p,signal:u}=e;if(N(u),null==t)throw new Error("Cannot upload to an undefined URL");return new Promise((e,d)=>{const h=new XMLHttpRequest;function c(){h.abort()}function m(){null==u||u.removeEventListener("abort",c)}h.open(i,t,!0),r&&Object.keys(r).forEach(e=>{h.setRequestHeader(e,r[e])}),h.responseType="text","number"===typeof s&&(h.timeout=1e3*s),null==u||u.addEventListener("abort",c),h.upload.addEventListener("progress",e=>{n(e)}),h.addEventListener("abort",()=>{m(),d((0,l.NK)())}),h.addEventListener("timeout",()=>{m();const e=new Error("Request has expired");e.source={status:403},d(e)}),h.addEventListener("load",()=>{if(m(),403===h.status&&h.responseText.includes("<Message>Request has expired</Message>")){const e=new Error("Request has expired");return e.source=h,void d(e)}if(h.status<200||h.status>=300){const e=new Error("Non 2xx");return e.source=h,void d(e)}null==n||n({loaded:a,lengthComputable:!0});const t=h.getAllResponseHeaders().trim().split(/[\r\n]+/),s={__proto__:null};for(const e of t){const t=e.split(": "),r=t.shift(),i=t.join(": ");s[r]=i}const{etag:r,location:o}=s;"POST"===i.toUpperCase()&&null===o&&console.warn("AwsS3/Multipart: Could not read the Location header. This likely means CORS is not configured correctly on the S3 Bucket. See https://uppy.io/docs/aws-s3-multipart#S3-Bucket-Configuration for instructions."),null!==r?(null==p||p(r),e({...s,ETag:r})):d(new Error("AwsS3/Multipart: Could not read the ETag header. This likely means CORS is not configured correctly on the S3 Bucket. See https://uppy.io/docs/aws-s3-multipart#S3-Bucket-Configuration for instructions."))}),h.addEventListener("error",e=>{m();const t=new Error("Unknown error");t.source=e.target,d(t)}),h.send(o)})}install(){we(this,Le)[Le](!0),this.uppy.addPreProcessor(we(this,Ie)[Ie]),this.uppy.addUploader(we(this,xe)[xe]),this.uppy.on("cancel-all",we(this,He)[He])}uninstall(){this.uppy.removePreProcessor(we(this,Ie)[Ie]),this.uppy.removeUploader(we(this,xe)[xe]),this.uppy.off("cancel-all",we(this,He)[He])}}async function De(e){return N(null==e?void 0:e.signal),null==we(this,Me)[Me]&&(!0===this.opts.getTemporarySecurityCredentials?(this.assertHost("getTemporarySecurityCredentials"),we(this,Me)[Me]=we(this,ke)[ke].get("s3/sts",e).then(Oe)):we(this,Me)[Me]=this.opts.getTemporarySecurityCredentials(e),we(this,Me)[Me]=await we(this,Me)[Me],setTimeout(()=>{we(this,Me)[Me]=null},500*(Se(we(this,Me)[Me].credentials)||0))),we(this,Me)[Me]}function Ne(e){var t=this;return new Promise((s,r)=>{const i=(t,s)=>{this.uppy.emit("upload-progress",this.uppy.getFile(e.id),{uploader:this,bytesUploaded:t,bytesTotal:s})},a=t=>{this.uppy.log(t),this.uppy.emit("upload-error",e,t),this.resetUploaderReferences(e.id),r(t)},n=t=>{const r={body:{...t},status:200,uploadURL:t.location};this.resetUploaderReferences(e.id),this.uppy.emit("upload-success",we(this,Ae)[Ae](e),r),t.location&&this.uppy.log(`Download ${e.name} from ${t.location}`),s()},l=new D(e.data,{companionComm:we(this,Ee)[Ee],log:function(){return t.uppy.log(...arguments)},getChunkSize:this.opts.getChunkSize?this.opts.getChunkSize.bind(this):null,onProgress:i,onError:a,onSuccess:n,onPartComplete:t=>{this.uppy.emit("s3-multipart:part-uploaded",we(this,Ae)[Ae](e),t)},file:e,shouldUseMultipart:this.opts.shouldUseMultipart,...e.s3Multipart});this.uploaders[e.id]=l;const p=new o.A(this.uppy);this.uploaderEvents[e.id]=p,p.onFileRemove(e.id,t=>{l.abort(),this.resetUploaderReferences(e.id,{abort:!0}),s(`upload ${t} was removed`)}),p.onCancelAll(e.id,t=>{"user"===(null==t?void 0:t.reason)&&(l.abort(),this.resetUploaderReferences(e.id,{abort:!0})),s(`upload ${e.id} was canceled`)}),p.onFilePause(e.id,e=>{e?l.pause():l.start()}),p.onPauseAll(e.id,()=>{l.pause()}),p.onResumeAll(e.id,()=>{l.start()}),l.start()})}function _e(e){var t;return{...null==(t=e.remote)?void 0:t.body,protocol:"s3-multipart",size:e.data.size,metadata:e.meta}}ze.VERSION=Ue.version;var qe=s(8423),Be=s(96037),Xe=s(4558),Ke=s(26643),We=s(52094),Qe=s(87646);function Ye(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw new TypeError("attempted to use private field on non-instance");return e}var Ve=0;function Ge(e){return"__private_"+Ve+++"_"+e}function Je(e,t){if((0,Qe.A)(e))return new We.A(t,e);const s=new Ke.A("Upload error",{cause:t});return s.request=e,s}function Ze(e){const t=e.data.slice(0,e.data.size,e.meta.type);return t}function et(e,t,s){const r=Array.isArray(s.allowedMetaFields)?s.allowedMetaFields:Object.keys(t);r.forEach(s=>{e.append(s,t[s])})}function tt(e,t){const s=new FormData;et(s,e.meta,t);const r=Ze(e);return e.name?s.append(t.fieldName,r,e.meta.name):s.append(t.fieldName,r),s}const st=e=>e.data;var rt=Ge("addEventHandlerForFile"),it=Ge("addEventHandlerIfFileStillExists");
2class ot{constructor(e,t){Object.defineProperty(this,it,{value:nt}),Object.defineProperty(this,rt,{value:at}),this.uppy=e,this.opts={validateStatus(e){return e>=200&&e<300},...t},this.requests=t[a.$],this.uploaderEvents=Object.create(null),this.i18n=t.i18n}getOptions(e){var t;const{uppy:s}=this,r=s.getState().xhrUpload,i={...this.opts,...r||{},...e.xhrUpload||{},headers:{...this.opts.headers,...null==r?void 0:r.headers,...null==(t=e.xhrUpload)?void 0:t.headers}};return i}uploadLocalFile(e){const t=this.getOptions(e);return new Promise((s,r)=>{const i=t.formData?tt(e,t):st(e,t),o=new XMLHttpRequest;this.uploaderEvents[e.id]=new Be.A(this.uppy);const a=new Xe.A(t.timeout,()=>{o.abort(),l.done();const s=new Error(this.i18n("timedOut",{seconds:Math.ceil(t.timeout/1e3)}));this.uppy.emit("upload-error",e,s),r(s)}),n=(0,qe.A)();o.upload.addEventListener("loadstart",()=>{this.uppy.log(`[AwsS3/XHRUpload] ${n} started`)}),o.upload.addEventListener("progress",t=>{this.uppy.log(`[AwsS3/XHRUpload] ${n} progress: ${t.loaded} / ${t.total}`),a.progress(),t.lengthComputable&&this.uppy.emit("upload-progress",this.uppy.getFile(e.id),{uploader:this,bytesUploaded:t.loaded,bytesTotal:t.total})}),o.addEventListener("load",i=>{if(this.uppy.log(`[AwsS3/XHRUpload] ${n} finished`),a.done(),l.done(),this.uploaderEvents[e.id]&&(this.uploaderEvents[e.id].remove(),this.uploaderEvents[e.id]=null),t.validateStatus(i.target.status,o.responseText,o)){const r=t.getResponseData(o.responseText,o),a=r[t.responseUrlFieldName],n={status:i.target.status,body:r,uploadURL:a};
2return this.uppy.emit("upload-success",this.uppy.getFile(e.id),n),a&&this.uppy.log(`Download ${e.name} from ${a}`),s(e)}const p=t.getResponseData(o.responseText,o),u=Je(o,t.getResponseError(o.responseText,o)),d={status:i.target.status,body:p};return this.uppy.emit("upload-error",e,u,d),r(u)}),o.addEventListener("error",()=>{this.uppy.log(`[AwsS3/XHRUpload] ${n} errored`),a.done(),l.done(),this.uploaderEvents[e.id]&&(this.uploaderEvents[e.id].remove(),this.uploaderEvents[e.id]=null);const s=Je(o,t.getResponseError(o.responseText,o));return this.uppy.emit("upload-error",e,s),r(s)}),o.open(t.method.toUpperCase(),t.endpoint,!0),o.withCredentials=Boolean(t.withCredentials),""!==t.responseType&&(o.responseType=t.responseType),Object.keys(t.headers).forEach(e=>{o.setRequestHeader(e,t.headers[e])});const l=this.requests.run(()=>(o.send(i),()=>{a.done(),o.abort()}),{priority:1});Ye(this,rt)[rt]("file-removed",e.id,()=>{l.abort(),r(new Error("File removed"))}),Ye(this,it)[it]("cancel-all",e.id,function(e){let{reason:t}=void 0===e?{}:e;"user"===t&&l.abort(),r(new Error("Upload cancelled"))})})}}function at(e,t,s){this.uploaderEvents[t].on(e,e=>{var r;const i=null!=(r=null==e?void 0:e.id)?r:e;t===i&&s()})}function nt(e,t,s){var r=this;this.uploaderEvents[t].on(e,function(){r.uppy.getFile(t)&&s(...arguments)})}function lt(e){return e.replace(/;.*$/,"")}function pt(e,t){const s=t.headers?t.headers["content-type"]:t.getResponseHeader("Content-Type");if("string"===typeof s){const t=lt(s).toLowerCase();if("application/xml"===t||"text/xml"===t)return!0;if("text/html"===t&&/^<\?xml /.test(e))return!0}return!1}var ut=pt,dt={strings:{timedOut:"Upload stalled for %{seconds} seconds, aborting."}};let ht;function ct(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw new TypeError("attempted to use private field on non-instance");return e}var mt=0;function yt(e){return"__private_"+mt+++"_"+e}const ft={version:"3.6.2"};function bt(e,t){return e||t.startsWith("https://")||t.startsWith("http://")||(t=`https://${t}`),new URL(t,e||void 0).toString()}function gt(e,t){const s=e.indexOf(`<${t}>`),r=e.indexOf(`</${t}>`,s);return-1!==s&&-1!==r?e.slice(s+t.length+2,r):""}function wt(e){if(e&&e.error){const t=new Error(e.message);throw Object.assign(t,e.error),t}return e}function vt(e,t){const s=null!=t&&"string"===typeof t.url&&("object"===typeof t.fields||null==t.fields);if(!s){const s=new TypeError(`AwsS3: got incorrect result from 'getUploadParameters()' for file '${e.name}', expected an object '{ url, method, fields, headers }' but got '${JSON.stringify(t)}' instead.\nSee https://uppy.io/docs/aws-s3/#getUploadParameters-file for more on the expected format.`);throw s}const r=null==t.method||/^p(u|os)t$/i.test(t.method);if(!r){const s=new TypeError(`AwsS3: got incorrect method from 'getUploadParameters()' for file '${e.name}', expected  'PUT' or 'POST' but got '${t.method}' instead.\nSee https://uppy.io/docs/aws-s3/#getUploadParameters-file for more on the expected format.`);throw s}}function Pt(e,t){if(!ut(e,t))return;const s=gt(e,"Message");return new Error(s)}let Ut=!1;var Ot=yt("client"),St=yt("requests"),Ct=yt("uploader"),jt=yt("handleUpload"),Et=yt("setCompanionHeaders"),kt=yt("getCompanionClientArgs");ht=Symbol.for("uppy test: getClient");class Mt extends r.A{constructor(e,t){if(null!=(null==t?void 0:t.shouldUseMultipart))return new ze(e,t);super(e,t),Object.defineProperty(this,Ot,{writable:!0,value:void 0}),Object.defineProperty(this,St,{writable:!0,value:void 0}),Object.defineProperty(this,Ct,{writable:!0,value:void 0}),Object.defineProperty(this,jt,{writable:!0,value:async e=>{const t=Object.create(null);function s(e){var s;const{id:r}=e;null==(s=t[r])||s.abort()}this.uppy.on("file-removed",s);const r=this.uppy.getFilesByIds(e),i=(0,n.Y)(r),o=(0,n.S)(i);this.uppy.emit("upload-start",o);const a=ct(this,St)[St].wrapPromiseFunction(e=>this.opts.getUploadParameters(e)),l=e.length;return Promise.allSettled(e.map((e,s)=>(t[e]=a(this.uppy.getFile(e)),t[e].then(r=>{delete t[e];const i=this.uppy.getFile(e);vt(i,r);const{method:o="POST",url:a,fields:n,headers:p}=r,u={method:o,formData:"POST"===o.toUpperCase(),endpoint:a,allowedMetaFields:n?Object.keys(n):[]};
2return p&&(u.headers=p),this.uppy.setFileState(i.id,{meta:{...i.meta,...n},xhrUpload:u}),this.uploadFile(i.id,s,l)}).catch(s=>{delete t[e];const r=this.uppy.getFile(e);return this.uppy.emit("upload-error",r,s),Promise.reject(s)})))).finally(()=>{this.uppy.off("file-removed",s)})}}),Object.defineProperty(this,Et,{writable:!0,value:()=>(ct(this,Ot)[Ot].setCompanionHeaders(this.opts.companionHeaders),Promise.resolve())}),Object.defineProperty(this,kt,{writable:!0,value:e=>{const t=ct(this,Ct)[Ct].getOptions(e),s=Array.isArray(t.allowedMetaFields)?t.allowedMetaFields:Object.keys(e.meta);return{...e.remote.body,protocol:"multipart",endpoint:t.endpoint,size:e.data.size,fieldname:t.fieldName,metadata:Object.fromEntries(s.map(t=>[t,e.meta[t]])),httpMethod:t.method,useFormData:t.formData,headers:"function"===typeof t.headers?t.headers(e):t.headers}}}),this.type="uploader",this.id=this.opts.id||"AwsS3",this.title="AWS S3",this.defaultLocale=dt;const s={timeout:3e4,limit:0,allowedMetaFields:[],getUploadParameters:this.getUploadParameters.bind(this),shouldUseMultipart:!1,companionHeaders:{}};if(this.opts={...s,...t},void 0===(null==t?void 0:t.allowedMetaFields)&&"metaFields"in this.opts)throw new Error("The `metaFields` option has been renamed to `allowedMetaFields`.");this.i18nInit(),ct(this,Ot)[Ot]=new i.R0(e,t),ct(this,St)[St]=new a.i(this.opts.limit)}[ht](){return ct(this,Ot)[Ot]}get client(){return ct(this,Ot)[Ot]}set client(e){ct(this,Ot)[Ot]=e}getUploadParameters(e){if(!this.opts.companionUrl)throw new Error("Expected a `companionUrl` option containing a Companion address.");const t=e.meta.name,{type:s}=e.meta,r=Object.fromEntries(this.opts.allowedMetaFields.filter(t=>null!=e.meta[t]).map(t=>[`metadata[${t}]`,e.meta[t].toString()])),i=new URLSearchParams({filename:t,type:s,...r});return ct(this,Ot)[Ot].get(`s3/params?${i}`).then(wt)}uploadFile(e,t,s){const r=this.uppy.getFile(e);if(this.uppy.log(`uploading ${t} of ${s}`),r.error)throw new Error(r.error);if(r.isRemote){const e=()=>ct(this,St)[St],t=new AbortController,s=e=>{e.id===r.id&&t.abort()};this.uppy.on("file-removed",s);
2const i=this.uppy.getRequestClientForFile(r).uploadRemoteFile(r,ct(this,kt)[kt](r),{signal:t.signal,getQueue:e});return ct(this,St)[St].wrapSyncFunction(()=>{this.uppy.off("file-removed",s)},{priority:-1})(),i}return ct(this,Ct)[Ct].uploadLocalFile(r,t,s)}install(){const{uppy:e}=this;function t(t,s){const r=this;return ut(t,s)?{location:bt(s.responseURL,gt(t,"Location")),bucket:gt(t,"Bucket"),key:gt(t,"Key"),etag:gt(t,"ETag")}:"POST"===r.method.toUpperCase()?(Ut||(e.log("[AwsS3] No response data found, make sure to set the success_action_status AWS SDK option to 201. See https://uppy.io/docs/aws-s3/#POST-Uploads","warning"),Ut=!0),{location:null}):s.responseURL?{location:s.responseURL.replace(/\?.*$/,"")}:{location:null}}e.addPreProcessor(ct(this,Et)[Et]),e.addUploader(ct(this,jt)[jt]);const s={fieldName:"file",responseUrlFieldName:"location",timeout:this.opts.timeout,[a.$]:ct(this,St)[St],responseType:"text",getResponseData:this.opts.getResponseData||t,getResponseError:Pt};s.i18n=this.i18n,ct(this,Ct)[Ct]=new ot(e,s)}uninstall(){this.uppy.removePreProcessor(ct(this,Et)[Et]),this.uppy.removeUploader(ct(this,jt)[jt])}}Mt.VERSION=ft.version}}]);
3//# sourceMappingURL=vendor-upload-ee68a77f.e4141f37.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.