!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("@firebase/app-compat"),require("@firebase/app")):"function"==typeof define&&define.amd?define(["@firebase/app-compat","@firebase/app"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).firebase,e.firebase.INTERNAL.modularAPIs)}(this,function(et,tt){"use strict";try{!function(){function e(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var t=e(et),n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)};function r(e){for(var t=[],r=0,n=0;n>6|192:(55296==(64512&s)&&n+1>18|240,t[r++]=s>>12&63|128):t[r++]=s>>12|224,t[r++]=s>>6&63|128),t[r++]=63&s|128)}return t}var s=function(){return(s=Object.assign||function(e){for(var t,r=1,n=arguments.length;r>6,l=63&l;h||(l=64,o||(u=64)),n.push(r[i>>2],r[(3&i)<<4|a>>4],r[u],r[l])}return n.join("")},encodeString:function(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(r(e),t)},decodeString:function(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):function(e){for(var t=[],r=0,n=0;r>10)),t[n++]=String.fromCharCode(56320+(1023&s))):(i=e[r++],o=e[r++],t[n++]=String.fromCharCode((15&a)<<12|(63&i)<<6|63&o))}return t.join("")}(this.decodeStringToByteArray(e,t))},decodeStringToByteArray:function(e,t){this.init_();for(var r=t?this.charToByteMapWebSafe_:this.charToByteMap_,n=[],s=0;s>4),64!==a&&(n.push(o<<4&240|a>>2),64!==h&&n.push(a<<6&192|h))}return n},init_:function(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(var e=0;e=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}},o=function(e){return function(e){e=r(e);return i.encodeByteArray(e,!0)}(e).replace(/\./g,"")};var a,h="FirebaseError",l=(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}(u,a=Error),u);function u(e,t,r){t=a.call(this,t)||this;return t.code=e,t.customData=r,t.name=h,Object.setPrototypeOf(t,u.prototype),Error.captureStackTrace&&Error.captureStackTrace(t,c.prototype.create),t}var c=(d.prototype.create=function(e){for(var t=[],r=1;r"})):"Error",e=this.serviceName+": "+e+" ("+i+").";return new l(i,e,s)},d);function d(e,t,r){this.service=e,this.serviceName=t,this.errors=r}var _=/\{\$([^}]+)}/g;function p(e){return e&&e._delegate?e._delegate:e}var f,g,m,b,v=(y.prototype.setInstantiationMode=function(e){return this.instantiationMode=e,this},y.prototype.setMultipleInstances=function(e){return this.multipleInstances=e,this},y.prototype.setServiceProps=function(e){return this.serviceProps=e,this},y.prototype.setInstanceCreatedCallback=function(e){return this.onInstanceCreated=e,this},y);function y(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}(g=f=f||{})[g.NO_ERROR=0]="NO_ERROR",g[g.NETWORK_ERROR=1]="NETWORK_ERROR",g[g.ABORT=2]="ABORT";const w="firebasestorage.googleapis.com",T="storageBucket";class R extends l{constructor(e,t){super(k(e),`Firebase Storage: ${t} (${k(e)})`),this.customData={serverResponse:null},this._baseMessage=this.message,Object.setPrototypeOf(this,R.prototype)}_codeEquals(e){return k(e)===this.code}get serverResponse(){return this.customData.serverResponse}set serverResponse(e){this.customData.serverResponse=e,this.customData.serverResponse?this.message=`${this._baseMessage}\n${this.customData.serverResponse}`:this.message=this._baseMessage}}function k(e){return"storage/"+e}function S(){return new R("unknown","An unknown error occurred, please check the error payload for server response.")}function C(){return new R("canceled","User canceled the upload/download.")}function E(){return new R("cannot-slice-blob","Cannot slice blob for upload. Please retry the upload.")}function A(e){return new R("invalid-argument",e)}function x(){return new R("app-deleted","The Firebase app was deleted.")}function O(e){return new R("invalid-root-operation","The operation '"+e+"' cannot be performed on a root reference, create a non-root reference using child, such as .child('file.png').")}function U(e,t){return new R("invalid-format","String does not match format '"+e+"': "+t)}function P(e){throw new R("internal-error","Internal error: "+e)}class I{constructor(){this.sent_=!1,this.xhr_=new XMLHttpRequest,this.errorCode_=f.NO_ERROR,this.sendPromise_=new Promise(e=>{this.xhr_.addEventListener("abort",()=>{this.errorCode_=f.ABORT,e()}),this.xhr_.addEventListener("error",()=>{this.errorCode_=f.NETWORK_ERROR,e()}),this.xhr_.addEventListener("load",()=>{e()})})}send(e,t,r,n){if(this.sent_)throw P("cannot .send() more than once");if(this.sent_=!0,this.xhr_.open(t,e,!0),void 0!==n)for(const s in n)n.hasOwnProperty(s)&&this.xhr_.setRequestHeader(s,n[s].toString());return void 0!==r?this.xhr_.send(r):this.xhr_.send(),this.sendPromise_}getErrorCode(){if(!this.sent_)throw P("cannot .getErrorCode() before sending");return this.errorCode_}getStatus(){if(!this.sent_)throw P("cannot .getStatus() before sending");try{return this.xhr_.status}catch(e){return-1}}getResponseText(){if(!this.sent_)throw P("cannot .getResponseText() before sending");return this.xhr_.responseText}abort(){this.xhr_.abort()}getResponseHeader(e){return this.xhr_.getResponseHeader(e)}addUploadProgressListener(e){null!=this.xhr_.upload&&this.xhr_.upload.addEventListener("progress",e)}removeUploadProgressListener(e){null!=this.xhr_.upload&&this.xhr_.upload.removeEventListener("progress",e)}}class M{createConnection(){return new I}}class B{constructor(e,t){this.bucket=e,this.path_=t}get path(){return this.path_}get isRoot(){return 0===this.path.length}fullServerUrl(){const e=encodeURIComponent;return"/b/"+e(this.bucket)+"/o/"+e(this.path)}bucketOnlyServerUrl(){const e=encodeURIComponent;return"/b/"+e(this.bucket)+"/o"}static makeFromBucketSpec(t,e){let r;try{r=B.makeFromUrl(t,e)}catch(e){return new B(t,"")}if(""===r.path)return r;throw t=t,new R("invalid-default-bucket","Invalid default bucket '"+t+"'.")}static makeFromUrl(t,e){let r=null;var n="([A-Za-z0-9.\\-_]+)";var s=new RegExp("^gs://"+n+"(/(.*))?$","i");function i(e){e.path_=decodeURIComponent(e.path)}var o=e.replace(/[.]/g,"\\."),o=new RegExp(`^https?://${o}/v[A-Za-z0-9_]+/b/${n}/o(/([^?#]*).*)?$`,"i"),e=e===w?"(?:storage.googleapis.com|storage.cloud.google.com)":e,a=[{regex:s,indices:{bucket:1,path:3},postModify:function(e){"/"===e.path.charAt(e.path.length-1)&&(e.path_=e.path_.slice(0,-1))}},{regex:o,indices:{bucket:1,path:3},postModify:i},{regex:new RegExp(`^https?://${e}/${n}/([^?#]*)`,"i"),indices:{bucket:1,path:2},postModify:i}];for(let e=0;e{this.resolve_=e,this.reject_=t,this.start_()})}start_(){const h=this;function e(e,t){const r=h.resolve_,n=h.reject_,s=t.connection;if(t.wasSuccessCode)try{var i=h.callback_(s,s.getResponseText());void 0!==i?r(i):r()}catch(e){n(e)}else if(null!==s){const a=S();a.serverResponse=s.getResponseText(),h.errorCallback_?n(h.errorCallback_(s,a)):n(a)}else{var o;t.canceled?(o=(h.appDelete_?x:C)(),n(o)):(o=new R("retry-limit-exceeded","Max retry time for operation exceeded, please try again."),n(o))}}this.canceled_?e(0,new W(!1,null,!0)):this.backoffId_=function(t,r,e){let n=1,s=null,i=!1,o=0;function a(){return 2===o}let h=!1;function l(...e){h||(h=!0,r.apply(null,e))}function u(e){s=setTimeout(()=>{s=null,t(c,a())},e)}function c(e,...t){if(!h)if(e)l.call(null,e,...t);else if(a()||i)l.call(null,e,...t);else{n<64&&(n*=2);let e;e=1===o?(o=2,0):1e3*(n+Math.random()),u(e)}}let d=!1;function _(e){d||(d=!0,h||(null!==s?(e||(o=2),clearTimeout(s),u(0)):e||(o=1)))}return u(0),setTimeout(()=>{_(i=!0)},e),_}(function(n,e){if(e)n(!1,new W(!1,null,!0));else{const i=h.pool_.createConnection();function s(e){var t=e.loaded,e=e.lengthComputable?e.total:-1;null!==h.progressCallback_&&h.progressCallback_(t,e)}h.pendingConnection_=i,null!==h.progressCallback_&&i.addUploadProgressListener(s),i.send(h.url_,h.method_,h.body_,h.headers_).then(()=>{null!==h.progressCallback_&&i.removeUploadProgressListener(s),h.pendingConnection_=null;var e,t=i.getErrorCode()===f.NO_ERROR,r=i.getStatus();t&&!h.isRetryStatusCode_(r)?(e=-1!==h.successCodes_.indexOf(r),n(!0,new W(e,i))):(e=i.getErrorCode()===f.ABORT,n(!1,new W(!1,null,e)))})}},e,this.timeout_)}getPromise(){return this.promise_}cancel(e){this.canceled_=!0,this.appDelete_=e||!1,null!==this.backoffId_&&(0,this.backoffId_)(!1),null!==this.pendingConnection_&&this.pendingConnection_.abort()}isRetryStatusCode_(e){var t=500<=e&&e<600,r=-1!==[408,429].indexOf(e),e=-1!==this.additionalRetryCodes_.indexOf(e);return t||r||e}}class W{constructor(e,t,r){this.wasSuccessCode=e,this.connection=t,this.canceled=!!r}}function V(...t){const e="undefined"!=typeof BlobBuilder?BlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:void 0;if(void 0!==e){const r=new e;for(let e=0;e>6,128|63&e):55296==(64512&e)?t>18,128|e>>12&63,128|e>>6&63,128|63&e)):n.push(239,191,189):56320==(64512&e)?n.push(239,191,189):n.push(224|e>>12,128|e>>6&63,128|63&e)}return new Uint8Array(n)}function J(t,e){switch(t){case $.BASE64:var r=-1!==e.indexOf("-"),n=-1!==e.indexOf("_");if(r||n)throw U(t,"Invalid character '"+(r?"-":"_")+"' found: is it base64url encoded?");break;case $.BASE64URL:n=-1!==e.indexOf("+"),r=-1!==e.indexOf("/");if(n||r)throw U(t,"Invalid character '"+(n?"+":"/")+"' found: is it base64 encoded?");e=e.replace(/-/g,"+").replace(/_/g,"/")}let s;try{s=atob(e)}catch(e){throw U(t,"Invalid character found")}const i=new Uint8Array(s.length);for(let e=0;e][;base64],");const n=r[1]||null;null!=n&&(this.base64=(t=n,r=";base64",t.length>=r.length&&t.substring(t.length-r.length)===r),this.contentType=this.base64?n.substring(0,n.length-";base64".length):n),this.rest=e.substring(e.indexOf(",")+1)}}class Y{constructor(e,t){let r=0,n="";L(e)?(this.data_=e,r=e.size,n=e.type):e instanceof ArrayBuffer?(t?this.data_=new Uint8Array(e):(this.data_=new Uint8Array(e.byteLength),this.data_.set(new Uint8Array(e))),r=this.data_.length):e instanceof Uint8Array&&(t?this.data_=e:(this.data_=new Uint8Array(e.length),this.data_.set(e)),r=e.length),this.size_=r,this.type_=n}size(){return this.size_}type(){return this.type_}slice(e,t){if(L(this.data_)){var r=this.data_,n=(s=e,n=t,(r=r).webkitSlice?r.webkitSlice(s,n):r.mozSlice?r.mozSlice(s,n):r.slice?r.slice(s,n):null);return null===n?null:new Y(n)}var s,n,e=new Uint8Array(this.data_.buffer,e,t-e);return new Y(e,!0)}static getBlob(...e){if(q()){var t=e.map(e=>e instanceof Y?e.data_:e);return new Y(V.apply(null,t))}{const n=e.map(e=>D(e)?X($.RAW,e).data:e.data_);let t=0;n.forEach(e=>{t+=e.byteLength});const s=new Uint8Array(t);let r=0;return n.forEach(t=>{for(let e=0;e{var t=n.bucket,r=n.fullPath;return j("/b/"+i(t)+"/o/"+i(r),s)+z({alt:"media",token:e})})[0]}(r,t,n.host)}}function ge(s){return function(e,t){let r;var n;return r=401===e.getStatus()?e.getResponseText().includes("Firebase App Check token is invalid")?new R("unauthorized-app","This app does not have permission to access Firebase Storage on this project."):new R("unauthenticated","User is not authenticated, please authenticate using Firebase Authentication and try again."):402===e.getStatus()?(n=s.bucket,new R("quota-exceeded","Quota for bucket '"+n+"' exceeded, please view quota on https://firebase.google.com/pricing/.")):403===e.getStatus()?(e=s.path,new R("unauthorized","User does not have permission to access '"+e+"'.")):t,r.serverResponse=t.serverResponse,r}}function me(n){const s=ge(n);return function(e,t){let r=s(e,t);return 404===e.getStatus()&&(r=(e=n.path,new R("object-not-found","Object '"+e+"' does not exist."))),r.serverResponse=t.serverResponse,r}}function be(e,t,r){var n=j(t.fullServerUrl(),e.host),s=e.maxOperationRetryTime;const i=new ce(n,"GET",_e(e,r),s);return i.errorHandler=me(t),i}function ve(e,t,r){const n=Object.assign({},r);return n.fullPath=e.path,n.size=t.size(),n.contentType||(n.contentType=(e=t,(t=null)&&t.contentType||e&&e.type()||"application/octet-stream")),n}function ye(e,t,r,n,s){var i=t.bucketOnlyServerUrl();const o={"X-Goog-Upload-Protocol":"multipart"};var a=function(){let t="";for(let e=0;e<2;e++)t+=Math.random().toString().slice(2);return t}();o["Content-Type"]="multipart/related; boundary="+a;var h=ve(t,n,s),s="--"+a+"\r\nContent-Type: application/json; charset=utf-8\r\n\r\n"+ae(h,r)+"\r\n--"+a+"\r\nContent-Type: "+h.contentType+"\r\n\r\n",a="\r\n--"+a+"--";const l=Y.getBlob(s,n,a);if(null===l)throw E();a={name:h.fullPath},h=j(i,e.host),i=e.maxUploadRetryTime;const u=new ce(h,"POST",_e(e,r),i);return u.urlParams=a,u.headers=o,u.body=l.uploadData(),u.errorHandler=ge(t),u}class we{constructor(e,t,r,n){this.current=e,this.total=t,this.finalized=!!r,this.metadata=n||null}}function Te(e,t){let r=null;try{r=e.getResponseHeader("X-Goog-Upload-Status")}catch(e){de(!1)}const n=t||["active"];return de(!!r&&-1!==n.indexOf(r)),r}function Re(e,t,r,n,s){var i=t.bucketOnlyServerUrl(),o=ve(t,n,s),s={name:o.fullPath},i=j(i,e.host),n={"X-Goog-Upload-Protocol":"resumable","X-Goog-Upload-Command":"start","X-Goog-Upload-Header-Content-Length":`${n.size()}`,"X-Goog-Upload-Header-Content-Type":o.contentType,"Content-Type":"application/json; charset=utf-8"},r=ae(o,r),e=e.maxUploadRetryTime;const a=new ce(i,"POST",function(e){Te(e);let t;try{t=e.getResponseHeader("X-Goog-Upload-URL")}catch(e){de(!1)}return de(D(t)),t},e);return a.urlParams=s,a.headers=n,a.body=r,a.errorHandler=ge(t),a}function ke(e,t,r,n){e=e.maxUploadRetryTime;const s=new ce(r,"POST",function(e){var t=Te(e,["active","final"]);let r=null;try{r=e.getResponseHeader("X-Goog-Upload-Size-Received")}catch(e){de(!1)}return r||de(!1),e=Number(r),de(!isNaN(e)),new we(e,n.size(),"final"===t)},e);return s.headers={"X-Goog-Upload-Command":"query"},s.errorHandler=ge(t),s}function Se(e,o,t,a,r,h,n,s){const l=new we(0,0);if(n?(l.current=n.current,l.total=n.total):(l.current=0,l.total=a.size()),a.size()!==l.total)throw new R("server-file-wrong-size","Server recorded incorrect upload file size, please retry the upload.");var i=l.total-l.current;let u=i;0{Promise.resolve().then(()=>t(...e))}}class Ue{constructor(e,t,r=null){this._transferred=0,this._needToFetchStatus=!1,this._needToFetchMetadata=!1,this._observers=[],this._error=void 0,this._uploadUrl=void 0,this._request=void 0,this._chunkMultiplier=1,this._resolve=void 0,this._reject=void 0,this._ref=e,this._blob=t,this._metadata=r,this._mappings=se(),this._resumable=this._shouldDoResumable(this._blob),this._state="running",this._errorHandler=e=>{this._request=void 0,this._chunkMultiplier=1,e._codeEquals("canceled")?(this._needToFetchStatus=!0,this.completeTransitions_()):(this._error=e,this._transition("error"))},this._metadataErrorHandler=e=>{this._request=void 0,e._codeEquals("canceled")?this.completeTransitions_():(this._error=e,this._transition("error"))},this._promise=new Promise((e,t)=>{this._resolve=e,this._reject=t,this._start()}),this._promise.then(null,()=>{})}_makeProgressCallback(){const t=this._transferred;return e=>this._updateProgress(t+e)}_shouldDoResumable(e){return 262144{switch(this._state){case"running":r(e,t);break;case"canceling":this._transition("canceled");break;case"pausing":this._transition("paused")}})}_createResumable(){this._resolveToken((e,t)=>{var r=Re(this._ref.storage,this._ref._location,this._mappings,this._blob,this._metadata);const n=this._ref.storage._makeRequest(r,e,t);this._request=n,n.getPromise().then(e=>{this._request=void 0,this._uploadUrl=e,this._needToFetchStatus=!1,this.completeTransitions_()},this._errorHandler)})}_fetchStatus(){const s=this._uploadUrl;this._resolveToken((e,t)=>{var r=ke(this._ref.storage,this._ref._location,s,this._blob);const n=this._ref.storage._makeRequest(r,e,t);this._request=n,n.getPromise().then(e=>{this._request=void 0,this._updateProgress(e.current),this._needToFetchStatus=!1,e.finalized&&(this._needToFetchMetadata=!0),this.completeTransitions_()},this._errorHandler)})}_continueUpload(){const s=262144*this._chunkMultiplier,i=new we(this._transferred,this._blob.size()),o=this._uploadUrl;this._resolveToken((e,t)=>{let r;try{r=Se(this._ref._location,this._ref.storage,o,this._blob,s,this._mappings,i,this._makeProgressCallback())}catch(e){return this._error=e,void this._transition("error")}const n=this._ref.storage._makeRequest(r,e,t);this._request=n,n.getPromise().then(e=>{this._increaseMultiplier(),this._request=void 0,this._updateProgress(e.current),e.finalized?(this._metadata=e.metadata,this._transition("success")):this.completeTransitions_()},this._errorHandler)})}_increaseMultiplier(){262144*this._chunkMultiplier<33554432&&(this._chunkMultiplier*=2)}_fetchMetadata(){this._resolveToken((e,t)=>{var r=be(this._ref.storage,this._ref._location,this._mappings);const n=this._ref.storage._makeRequest(r,e,t);this._request=n,n.getPromise().then(e=>{this._request=void 0,this._metadata=e,this._transition("success")},this._metadataErrorHandler)})}_oneShotUpload(){this._resolveToken((e,t)=>{var r=ye(this._ref.storage,this._ref._location,this._mappings,this._blob,this._metadata);const n=this._ref.storage._makeRequest(r,e,t);this._request=n,n.getPromise().then(e=>{this._request=void 0,this._metadata=e,this._updateProgress(this._blob.size()),this._transition("success")},this._errorHandler)})}_updateProgress(e){var t=this._transferred;this._transferred=e,this._transferred!==t&&this._notifyObservers()}_transition(e){if(this._state!==e)switch(e){case"canceling":case"pausing":this._state=e,void 0!==this._request&&this._request.cancel();break;case"running":var t="paused"===this._state;this._state=e,t&&(this._notifyObservers(),this._start());break;case"paused":this._state=e,this._notifyObservers();break;case"canceled":this._error=C(),this._state=e,this._notifyObservers();break;case"error":case"success":this._state=e,this._notifyObservers()}}completeTransitions_(){switch(this._state){case"pausing":this._transition("paused");break;case"canceling":this._transition("canceled");break;case"running":this._start()}}get snapshot(){var e=Ae(this._state);return{bytesTransferred:this._transferred,totalBytes:this._blob.size(),state:e,metadata:this._metadata,task:this,ref:this._ref}}on(e,t,r,n){const s=new xe(t||void 0,r||void 0,n||void 0);return this._addObserver(s),()=>{this._removeObserver(s)}}then(e,t){return this._promise.then(e,t)}catch(e){return this.then(null,e)}_addObserver(e){this._observers.push(e),this._notifyObserver(e)}_removeObserver(e){e=this._observers.indexOf(e);-1!==e&&this._observers.splice(e,1)}_notifyObservers(){this._finishPromise();const e=this._observers.slice();e.forEach(e=>{this._notifyObserver(e)})}_finishPromise(){if(void 0!==this._resolve){let e=!0;switch(Ae(this._state)){case Ee.SUCCESS:Oe(this._resolve.bind(null,this.snapshot))();break;case Ee.CANCELED:case Ee.ERROR:const t=this._reject;Oe(t.bind(null,this._error))();break;default:e=!1}e&&(this._resolve=void 0,this._reject=void 0)}}_notifyObserver(e){switch(Ae(this._state)){case Ee.RUNNING:case Ee.PAUSED:e.next&&Oe(e.next.bind(e,this.snapshot))();break;case Ee.SUCCESS:e.complete&&Oe(e.complete.bind(e))();break;case Ee.CANCELED:case Ee.ERROR:e.error&&Oe(e.error.bind(e,this._error))();break;default:e.error&&Oe(e.error.bind(e,this._error))()}}resume(){var e="paused"===this._state||"pausing"===this._state;return e&&this._transition("running"),e}pause(){var e="running"===this._state;return e&&this._transition("pausing"),e}cancel(){var e="running"===this._state||"pausing"===this._state;return e&&this._transition("canceling"),e}}class Pe{constructor(e,t){this._service=e,t instanceof B?this._location=t:this._location=B.makeFromUrl(t,e.host)}toString(){return"gs://"+this._location.bucket+"/"+this._location.path}_newRef(e,t){return new Pe(e,t)}get root(){var e=new B(this._location.bucket,"");return this._newRef(this._service,e)}get bucket(){return this._location.bucket}get fullPath(){return this._location.path}get name(){return ee(this._location.path)}get storage(){return this._service}get parent(){var e=function(e){if(0===e.length)return null;var t=e.lastIndexOf("/");return-1===t?"":e.slice(0,t)}(this._location.path);if(null===e)return null;e=new B(this._location.bucket,e);return new Pe(this._service,e)}_throwIfRoot(e){if(""===this._location.path)throw O(e)}}function Ie(e){const t={prefixes:[],items:[]};return async function e(t,r,n){const s={pageToken:n};const i=await Me(t,s);r.prefixes.push(...i.prefixes);r.items.push(...i.items);null!=i.nextPageToken&&await e(t,r,i.nextPageToken)}(e,t).then(()=>t)}async function Me(e,t){null!=t&&"number"==typeof t.maxResults&&F("options.maxResults",1,1e3,t.maxResults);t=t||{},t=function(e,t,r,n,s){const i={};t.isRoot?i.prefix="":i.prefix=t.path+"/",r&&0{if(null===e)throw new R("no-download-url","The given file does not have any download URLs.");return e})}async function De(e){e._throwIfRoot("deleteObject");var t=function(e,t){var r=j(t.fullServerUrl(),e.host),e=e.maxOperationRetryTime;const n=new ce(r,"DELETE",function(e,t){},e);return n.successCodes=[200,204],n.errorHandler=me(t),n}(e.storage,e._location);return(await e.storage.makeRequestWithTokens(t)).getPromise()}function Le(e,t){var r,t=(r=e._location.path,t=(t=t).split("/").filter(e=>0e.cancel()),this._requests.clear()),Promise.resolve()}_makeStorageReference(e){return new Pe(this,e)}_makeRequest(e,t,r){if(this._deleted)return new N(x());{const l=(n=e,s=this._appId,i=t,o=r,a=this._pool,h=this._firebaseVersion,e=z(n.urlParams),t=n.url+e,r=Object.assign({},n.headers),e=r,(s=s)&&(e["X-Firebase-GMPID"]=s),s=r,null!==(i=i)&&0this._requests.delete(l),()=>this._requests.delete(l)),l}var n,s,i,o,a,h}async makeRequestWithTokens(e){var[t,r]=await Promise.all([this._getAuthToken(),this._getAppCheckToken()]);return this._makeRequest(e,t,r)}}function We(e,t,r){return e=p(e),t=t,r=r,(e=e)._throwIfRoot("uploadBytesResumable"),new Ue(e,new Y(t),r)}function Ve(e){return async function(e){e._throwIfRoot("getMetadata");var t=be(e.storage,e._location,se());return(await e.storage.makeRequestWithTokens(t)).getPromise()}(e=p(e))}function $e(e,t){return Fe(e=p(e),t)}tt._registerComponent(new v("storage",function(e,{instanceIdentifier:t}){var r=e.getProvider("app").getImmediate(),n=e.getProvider("auth-internal"),e=e.getProvider("app-check-internal");return new He(r,n,e,new M,t,tt.SDK_VERSION)},"PUBLIC").setMultipleInstances(!0)),tt.registerVersion("@firebase/storage","0.8.0");class Ge{constructor(e,t,r){this._delegate=e,this.task=t,this.ref=r}get bytesTransferred(){return this._delegate.bytesTransferred}get metadata(){return this._delegate.metadata}get state(){return this._delegate.state}get totalBytes(){return this._delegate.totalBytes}}class Xe{constructor(e,t){this._delegate=e,this._ref=t,this.cancel=this._delegate.cancel.bind(this._delegate),this.catch=this._delegate.catch.bind(this._delegate),this.pause=this._delegate.pause.bind(this._delegate),this.resume=this._delegate.resume.bind(this._delegate)}get snapshot(){return new Ge(this._delegate.snapshot,this,this._ref)}then(t,e){return this._delegate.then(e=>{if(t)return t(new Ge(e,this,this._ref))},e)}on(e,t,r,n){let s=void 0;return t&&(s="function"==typeof t?e=>t(new Ge(e,this,this._ref)):{next:t.next?e=>t.next(new Ge(e,this,this._ref)):void 0,complete:t.complete||void 0,error:t.error||void 0}),this._delegate.on(e,s,r||void 0,n||void 0)}}class Ke{constructor(e,t){this._delegate=e,this._service=t}get prefixes(){return this._delegate.prefixes.map(e=>new Je(e,this._service))}get items(){return this._delegate.items.map(e=>new Je(e,this._service))}get nextPageToken(){return this._delegate.nextPageToken||null}}class Je{constructor(e,t){this._delegate=e,this.storage=t}get name(){return this._delegate.name}get bucket(){return this._delegate.bucket}get fullPath(){return this._delegate.fullPath}toString(){return this._delegate.toString()}child(e){e=Le(this._delegate,e);return new Je(e,this.storage)}get root(){return new Je(this._delegate.root,this.storage)}get parent(){var e=this._delegate.parent;return null==e?null:new Je(e,this.storage)}put(e,t){return this._throwIfRoot("put"),new Xe(We(this._delegate,e,t),this)}putString(e,t=$.RAW,r){this._throwIfRoot("putString");e=X(t,e);const n=Object.assign({},r);return null==n.contentType&&null!=e.contentType&&(n.contentType=e.contentType),new Xe(new Ue(this._delegate,new Y(e.data,!0),n),this)}listAll(){return Ie(p(this._delegate)).then(e=>new Ke(e,this.storage))}list(e){return t=this._delegate,e=e||void 0,Me(t=p(t),e).then(e=>new Ke(e,this.storage));var t}getMetadata(){return Ve(this._delegate)}updateMetadata(e){return Be(p(this._delegate),e)}getDownloadURL(){return Ne(p(this._delegate))}delete(){return this._throwIfRoot("delete"),De(p(this._delegate))}_throwIfRoot(e){if(""===this._delegate._location.path)throw O(e)}}class Ze{constructor(e,t){this.app=e,this._delegate=t}get maxOperationRetryTime(){return this._delegate.maxOperationRetryTime}get maxUploadRetryTime(){return this._delegate.maxUploadRetryTime}ref(e){if(Ye(e))throw A("ref() expected a child path but got a URL, use refFromURL instead.");return new Je($e(this._delegate,e),this)}refFromURL(e){if(!Ye(e))throw A("refFromURL() expected a full URL but got a child path, use ref() instead.");try{B.makeFromUrl(e,this._delegate.host)}catch(e){throw A("refFromUrl() expected a valid full URL but got an invalid one.")}return new Je($e(this._delegate,e),this)}setMaxUploadRetryTime(e){this._delegate.maxUploadRetryTime=e}setMaxOperationRetryTime(e){this._delegate.maxOperationRetryTime=e}useEmulator(e,t,r={}){var n;[n,e,t,r={}]=[this._delegate,e,t,r],ze(n,e,t,r)}}function Ye(e){return/^[A-Za-z]+:\/\//.test(e)}function Qe(e,{instanceIdentifier:t}){var r=e.getProvider("app-compat").getImmediate(),t=e.getProvider("storage").getImmediate({identifier:t});return new Ze(r,t)}m=t.default,b={TaskState:Ee,TaskEvent:Ce,StringFormat:$,Storage:Ze,Reference:Je},m.INTERNAL.registerComponent(new v("storage-compat",Qe,"PUBLIC").setServiceProps(b).setMultipleInstances(!0)),m.registerVersion("@firebase/storage-compat","0.1.0")}.apply(this,arguments)}catch(e){throw console.error(e),new Error("Cannot instantiate firebase-storage-compat.js - be sure to load firebase-app.js first.")}}); //# sourceMappingURL=firebase-storage-compat.js.map