UNPKG

38.7 kBJavaScriptView Raw
1!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).firebase=t()}(this,function(){"use strict";var n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};var a=function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function u(o,a,s,c){return new(s=s||Promise)(function(e,t){function n(e){try{i(c.next(e))}catch(e){t(e)}}function r(e){try{i(c.throw(e))}catch(e){t(e)}}function i(t){t.done?e(t.value):new s(function(e){e(t.value)}).then(n,r)}i((c=c.apply(o,a||[])).next())})}function f(n,r){var i,o,a,e,s={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return e={next:t(0),throw:t(1),return:t(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,o&&(a=2&t[0]?o.return:t[0]?o.throw||((a=o.return)&&a.call(o),0):o.next)&&!(a=a.call(o,t[1])).done)return a;switch(o=0,a&&(t=[2&t[0],a.value]),t[0]){case 0:case 1:a=t;break;case 4:return s.label++,{value:t[1],done:!1};case 5:s.label++,o=t[1],t=[0];continue;case 7:t=s.ops.pop(),s.trys.pop();continue;default:if(!(a=0<(a=s.trys).length&&a[a.length-1])&&(6===t[0]||2===t[0])){s=0;continue}if(3===t[0]&&(!a||t[1]>a[0]&&t[1]<a[3])){s.label=t[1];break}if(6===t[0]&&s.label<a[1]){s.label=a[1],a=t;break}if(a&&s.label<a[2]){s.label=a[2],s.ops.push(t);break}a[2]&&s.ops.pop(),s.trys.pop();continue}t=r.call(n,s)}catch(e){t=[6,e],o=0}finally{i=a=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}}function r(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),a=[];try{for(;(void 0===t||0<t--)&&!(r=o.next()).done;)a.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return a}function o(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),i=0;for(t=0;t<n;t++)for(var o=arguments[t],a=0,s=o.length;a<s;a++,i++)r[i]=o[a];return r}function d(e,t){if(!(t instanceof Object))return t;switch(t.constructor){case Date:return new Date(t.getTime());case Object:void 0===e&&(e={});break;case Array:e=[];break;default:return t}for(var n in t)t.hasOwnProperty(n)&&(e[n]=d(e[n],t[n]));return e}var e,t,i,p=(i=Error,n(e=c,t=i),void(e.prototype=null===t?Object.create(t):(s.prototype=t.prototype,new s)),c);function s(){this.constructor=e}function c(e,t){var n=i.call(this,t)||this;return n.code=e,n.name="FirebaseError",Object.setPrototypeOf(n,c.prototype),Error.captureStackTrace&&Error.captureStackTrace(n,l.prototype.create),n}var l=(h.prototype.create=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var r=t[0]||{},i=this.service+"/"+e,o=this.errors[e],a=o?function(e,r){return e.replace(m,function(e,t){var n=r[t];return null!=n?n.toString():"<"+t+"?>"})}(o,r):"Error",s=this.serviceName+": "+a+" ("+i+").",c=new p(i,s),u=0,f=Object.keys(r);u<f.length;u++){var l=f[u];"_"!==l.slice(-1)&&(l in c&&console.warn('Overwriting FirebaseError base field "'+l+'" can cause unexpected behavior.'),c[l]=r[l])}return c},h);function h(e,t,n){this.service=e,this.serviceName=t,this.errors=n}var g,v,m=/\{\$([^}]+)}/g;function b(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function y(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var r=Array(e),i=0;for(t=0;t<n;t++)for(var o=arguments[t],a=0,s=o.length;a<s;a++,i++)r[i]=o[a];return r}(v=g=g||{})[v.DEBUG=0]="DEBUG",v[v.VERBOSE=1]="VERBOSE",v[v.INFO=2]="INFO",v[v.WARN=3]="WARN",v[v.ERROR=4]="ERROR",v[v.SILENT=5]="SILENT";function _(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(!(t<e.logLevel)){var i=(new Date).toISOString();switch(t){case g.DEBUG:case g.VERBOSE:console.log.apply(console,y(["["+i+"] "+e.name+":"],n));break;case g.INFO:console.info.apply(console,y(["["+i+"] "+e.name+":"],n));break;case g.WARN:console.warn.apply(console,y(["["+i+"] "+e.name+":"],n));break;case g.ERROR:console.error.apply(console,y(["["+i+"] "+e.name+":"],n));break;default:throw new Error("Attempted to log a message with an invalid logType (value: "+t+")")}}}var w,E=g.INFO,I=(Object.defineProperty(S.prototype,"logLevel",{get:function(){return this._logLevel},set:function(e){if(!(e in g))throw new TypeError("Invalid value assigned to `logLevel`");this._logLevel=e},enumerable:!0,configurable:!0}),Object.defineProperty(S.prototype,"logHandler",{get:function(){return this._logHandler},set:function(e){if("function"!=typeof e)throw new TypeError("Value assigned to `logHandler` must be a function");this._logHandler=e},enumerable:!0,configurable:!0}),S.prototype.debug=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._logHandler.apply(this,y([this,g.DEBUG],e))},S.prototype.log=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._logHandler.apply(this,y([this,g.VERBOSE],e))},S.prototype.info=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._logHandler.apply(this,y([this,g.INFO],e))},S.prototype.warn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._logHandler.apply(this,y([this,g.WARN],e))},S.prototype.error=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._logHandler.apply(this,y([this,g.ERROR],e))},S);function S(e){this.name=e,this._logLevel=E,this._logHandler=_}var T=((w={})["no-app"]="No Firebase App '{$appName}' has been created - call Firebase App.initializeApp()",w["bad-app-name"]="Illegal App name: '{$appName}",w["duplicate-app"]="Firebase App named '{$appName}' already exists",w["app-deleted"]="Firebase App named '{$appName}' already deleted",w["invalid-app-argument"]="firebase.{$appName}() takes either no argument or a Firebase App instance.",w),A=new l("app","Firebase",T),N="[DEFAULT]",k=(Object.defineProperty(O.prototype,"automaticDataCollectionEnabled",{get:function(){return this.checkDestroyed_(),this.automaticDataCollectionEnabled_},set:function(e){this.checkDestroyed_(),this.automaticDataCollectionEnabled_=e},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"name",{get:function(){return this.checkDestroyed_(),this.name_},enumerable:!0,configurable:!0}),Object.defineProperty(O.prototype,"options",{get:function(){return this.checkDestroyed_(),this.options_},enumerable:!0,configurable:!0}),O.prototype.delete=function(){var s=this;return new Promise(function(e){s.checkDestroyed_(),e()}).then(function(){s.firebase_.INTERNAL.removeApp(s.name_);for(var e=[],t=0,n=Object.keys(s.services_);t<n.length;t++)for(var r=n[t],i=0,o=Object.keys(s.services_[r]);i<o.length;i++){var a=o[i];e.push(s.services_[r][a])}return Promise.all(e.filter(function(e){return"INTERNAL"in e}).map(function(e){return e.INTERNAL.delete()}))}).then(function(){s.isDeleted_=!0,s.services_={}})},O.prototype._getService=function(e,t){if(void 0===t&&(t=N),this.checkDestroyed_(),this.services_[e]||(this.services_[e]={}),!this.services_[e][t]){var n=t!==N?t:void 0,r=this.firebase_.INTERNAL.factories[e](this,this.extendApp.bind(this),n);this.services_[e][t]=r}return this.services_[e][t]},O.prototype.extendApp=function(e){d(this,e)},O.prototype.checkDestroyed_=function(){if(this.isDeleted_)throw A.create("app-deleted",{appName:this.name_})},O);function O(e,t,n){this.firebase_=n,this.isDeleted_=!1,this.services_={},this.INTERNAL={},this.name_=t.name,this.automaticDataCollectionEnabled_=t.automaticDataCollectionEnabled||!1,this.options_=function(e){return d(void 0,e)}(e)}var D="7.2.3",R=new I("@firebase/app");function P(a){var o={},s={},c={},u={__esModule:!0,initializeApp:function(e,t){void 0===t&&(t={});if("object"!=typeof t||null===t){t={name:t}}var n=t;void 0===n.name&&(n.name=N);var r=n.name;if("string"!=typeof r||!r)throw A.create("bad-app-name",{appName:String(r)});if(b(o,r))throw A.create("duplicate-app",{appName:r});var i=new a(e,n,u);return p(o[r]=i,"create"),i},app:f,apps:null,SDK_VERSION:D,INTERNAL:{registerService:function(n,e,t,r,i){void 0===i&&(i=!1);if(s[n])return R.debug("There were multiple attempts to register service "+n+"."),u[n];s[n]=e,r&&(c[n]=r,l().forEach(function(e){r("create",e)}));function o(e){if(void 0===e&&(e=f()),"function"!=typeof e[n])throw A.create("invalid-app-argument",{appName:n});return e[n]()}void 0!==t&&d(o,t);return u[n]=o,a.prototype[n]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this._getService.bind(this,n).apply(this,i?e:[])},o},removeApp:function(e){p(o[e],"delete"),delete o[e]},factories:s,useAsService:h}};function f(e){if(!b(o,e=e||N))throw A.create("no-app",{appName:e});return o[e]}function l(){return Object.keys(o).map(function(e){return o[e]})}function p(e,t){for(var n=0,r=Object.keys(s);n<r.length;n++){var i=h(e,r[n]);if(null===i)return;c[i]&&c[i](t,e)}}function h(e,t){return"serverAuth"===t?null:t}return u.default=u,Object.defineProperty(u,"apps",{get:l}),f.App=a,u}var j=function(){var e=P(k);e.SDK_VERSION=e.SDK_VERSION+"_LITE";var o=e.INTERNAL.registerService;return e.INTERNAL.registerService=function(e,t,n,r,i){if("performance"===e||"installations"===e)return o(e,t,n,r,i);throw Error(e+" cannot register with the standalone perf instance")},e}();function M(n){return new Promise(function(e,t){n.onsuccess=function(){e(n.result)},n.onerror=function(){t(n.error)}})}function C(n,r,i){var o,e=new Promise(function(e,t){M(o=n[r].apply(n,i)).then(e,t)});return e.request=o,e}function x(e,n,t){t.forEach(function(t){Object.defineProperty(e.prototype,t,{get:function(){return this[n][t]},set:function(e){this[n][t]=e}})})}function B(t,n,r,e){e.forEach(function(e){e in r.prototype&&(t.prototype[e]=function(){return C(this[n],e,arguments)})})}function L(t,n,r,e){e.forEach(function(e){e in r.prototype&&(t.prototype[e]=function(){return this[n][e].apply(this[n],arguments)})})}function q(t,n,r,e){e.forEach(function(e){e in r.prototype&&(t.prototype[e]=function(){return function(e,t,n){var r=C(e,t,n);return r.then(function(e){if(e)return new F(e,r.request)})}(this[n],e,arguments)})})}function U(e){this._index=e}function F(e,t){this._cursor=e,this._request=t}function K(e){this._store=e}function V(n){this._tx=n,this.complete=new Promise(function(e,t){n.oncomplete=function(){e()},n.onerror=function(){t(n.error)},n.onabort=function(){t(n.error)}})}function $(e,t,n){this._db=e,this.oldVersion=t,this.transaction=new V(n)}function H(e){this._db=e}x(U,"_index",["name","keyPath","multiEntry","unique"]),B(U,"_index",IDBIndex,["get","getKey","getAll","getAllKeys","count"]),q(U,"_index",IDBIndex,["openCursor","openKeyCursor"]),x(F,"_cursor",["direction","key","primaryKey","value"]),B(F,"_cursor",IDBCursor,["update","delete"]),["advance","continue","continuePrimaryKey"].forEach(function(n){n in IDBCursor.prototype&&(F.prototype[n]=function(){var t=this,e=arguments;return Promise.resolve().then(function(){return t._cursor[n].apply(t._cursor,e),M(t._request).then(function(e){if(e)return new F(e,t._request)})})})}),K.prototype.createIndex=function(){return new U(this._store.createIndex.apply(this._store,arguments))},K.prototype.index=function(){return new U(this._store.index.apply(this._store,arguments))},x(K,"_store",["name","keyPath","indexNames","autoIncrement"]),B(K,"_store",IDBObjectStore,["put","add","delete","clear","get","getAll","getKey","getAllKeys","count"]),q(K,"_store",IDBObjectStore,["openCursor","openKeyCursor"]),L(K,"_store",IDBObjectStore,["deleteIndex"]),V.prototype.objectStore=function(){return new K(this._tx.objectStore.apply(this._tx,arguments))},x(V,"_tx",["objectStoreNames","mode"]),L(V,"_tx",IDBTransaction,["abort"]),$.prototype.createObjectStore=function(){return new K(this._db.createObjectStore.apply(this._db,arguments))},x($,"_db",["name","version","objectStoreNames"]),L($,"_db",IDBDatabase,["deleteObjectStore","close"]),H.prototype.transaction=function(){return new V(this._db.transaction.apply(this._db,arguments))},x(H,"_db",["name","version","objectStoreNames"]),L(H,"_db",IDBDatabase,["close"]),["openCursor","openKeyCursor"].forEach(function(i){[K,U].forEach(function(e){i in e.prototype&&(e.prototype[i.replace("open","iterate")]=function(){var e=function(e){return Array.prototype.slice.call(e)}(arguments),t=e[e.length-1],n=this._store||this._index,r=n[i].apply(n,e.slice(0,-1));r.onsuccess=function(){t(r.result)}})})}),[U,K].forEach(function(e){e.prototype.getAll||(e.prototype.getAll=function(e,n){var r=this,i=[];return new Promise(function(t){r.iterateCursor(e,function(e){e?(i.push(e.value),void 0===n||i.length!=n?e.continue():t(i)):t(i)})})})});var W,J=1e4,z="w:0.3.3",G="FIS_v2",Z="https://firebaseinstallations.googleapis.com/v1",Q=36e5,X=((W={})["missing-app-config-values"]='Missing App configuration value: "{$valueName}"',W["not-registered"]="Firebase Installation is not registered.",W["installation-not-found"]="Firebase Installation not found.",W["request-failed"]='{$requestName} request failed with error "{$serverCode} {$serverStatus}: {$serverMessage}"',W["app-offline"]="Could not process request. Application offline.",W["delete-pending-registration"]="Can't delete installation while there is a pending registration request.",W),Y=new l("installations","Installations",X);function ee(e){return e instanceof p&&e.code.includes("request-failed")}function te(e){var t,n;if(!e||!e.options)throw ne("App Configuration");if(!e.name)throw ne("App Name");try{for(var r=function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}(["projectId","apiKey","appId"]),i=r.next();!i.done;i=r.next()){var o=i.value;if(!e.options[o])throw ne(o)}}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(t)throw t.error}}return{appName:e.name,projectId:e.options.projectId,apiKey:e.options.apiKey,appId:e.options.appId}}function ne(e){return Y.create("missing-app-config-values",{valueName:e})}function re(e){var t=e.projectId;return Z+"/projects/"+t+"/installations"}function ie(e){return{token:e.token,requestStatus:2,expiresIn:function(e){return Number(e.replace("s","000"))}(e.expiresIn),creationTime:Date.now()}}function oe(r,i){return u(this,void 0,void 0,function(){var t,n;return f(this,function(e){switch(e.label){case 0:return[4,i.json()];case 1:return t=e.sent(),n=t.error,[2,Y.create("request-failed",{requestName:r,serverCode:n.code,serverMessage:n.message,serverStatus:n.status})]}})})}function ae(e){var t=e.apiKey;return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":t})}function se(e,t){var n=t.refreshToken,r=ae(e);return r.append("Authorization",function(e){return G+" "+e}(n)),r}function ce(n){return u(this,void 0,void 0,function(){var t;return f(this,function(e){switch(e.label){case 0:return[4,n()];case 1:return 500<=(t=e.sent()).status&&t.status<600?[2,n()]:[2,t]}})})}function ue(t){return new Promise(function(e){setTimeout(e,t)})}function fe(e){return btoa(String.fromCharCode.apply(String,function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(r(arguments[t]));return e}(e))).replace(/\+/g,"-").replace(/\//g,"_")}var le=/^[cdef][\w-]{21}$/,pe="";function he(){try{var e=new Uint8Array(17);(self.crypto||self.msCrypto).getRandomValues(e),e[0]=112+e[0]%16;var t=function(e){return fe(e).substr(0,22)}(e);return le.test(t)?t:pe}catch(e){return pe}}var de="firebase-installations-database",ge=1,ve="firebase-installations-store",me=null;function be(){return me=me||function(e,t,n){var r=C(indexedDB,"open",[e,t]),i=r.request;return i&&(i.onupgradeneeded=function(e){n&&n(new $(i.result,e.oldVersion,i.transaction))}),r.then(function(e){return new H(e)})}(de,ge,function(e){switch(e.oldVersion){case 0:e.createObjectStore(ve)}})}function ye(i,o){return u(this,void 0,void 0,function(){var t,n,r;return f(this,function(e){switch(e.label){case 0:return t=Ee(i),[4,be()];case 1:return n=e.sent(),[4,(r=n.transaction(ve,"readwrite")).objectStore(ve).put(o,t)];case 2:return e.sent(),[4,r.complete];case 3:return e.sent(),[2,o]}})})}function _e(i){return u(this,void 0,void 0,function(){var t,n,r;return f(this,function(e){switch(e.label){case 0:return t=Ee(i),[4,be()];case 1:return n=e.sent(),[4,(r=n.transaction(ve,"readwrite")).objectStore(ve).delete(t)];case 2:return e.sent(),[4,r.complete];case 3:return e.sent(),[2]}})})}function we(s,c){return u(this,void 0,void 0,function(){var t,n,r,i,o,a;return f(this,function(e){switch(e.label){case 0:return t=Ee(s),[4,be()];case 1:return n=e.sent(),r=n.transaction(ve,"readwrite"),[4,(i=r.objectStore(ve)).get(t)];case 2:return o=e.sent(),void 0!==(a=c(o))?[3,4]:[4,i.delete(t)];case 3:return e.sent(),[3,6];case 4:return[4,i.put(a,t)];case 5:e.sent(),e.label=6;case 6:return[4,r.complete];case 7:return e.sent(),[2,a]}})})}function Ee(e){return e.appName+"!"+e.appId}function Ie(i){return u(this,void 0,void 0,function(){var r,t,n;return f(this,function(e){switch(e.label){case 0:return[4,we(i,function(e){var t=function(e){return Te(e||{fid:he(),registrationStatus:0})}(e),n=function(e,t){{if(0!==t.registrationStatus)return 1===t.registrationStatus?{installationEntry:t,registrationPromise:function(o){return u(this,void 0,void 0,function(){var t,n,r,i;return f(this,function(e){switch(e.label){case 0:return[4,Se(o)];case 1:t=e.sent(),e.label=2;case 2:return 1!==t.registrationStatus?[3,5]:[4,ue(100)];case 3:return e.sent(),[4,Se(o)];case 4:return t=e.sent(),[3,2];case 5:return 0!==t.registrationStatus?[3,7]:[4,Ie(o)];case 6:return n=e.sent(),r=n.installationEntry,(i=n.registrationPromise)?[2,i]:[2,r];case 7:return[2,t]}})})}(e)}:{installationEntry:t};if(!navigator.onLine){var n=Promise.reject(Y.create("app-offline"));return{installationEntry:t,registrationPromise:n}}var r={fid:t.fid,registrationStatus:1,registrationTime:Date.now()},i=function(r,i){return u(this,void 0,void 0,function(){var t,n;return f(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,7]),[4,function(s,e){var c=e.fid;return u(this,void 0,void 0,function(){var t,n,r,i,o,a;return f(this,function(e){switch(e.label){case 0:return t=re(s),n=ae(s),r={fid:c,authVersion:G,appId:s.appId,sdkVersion:z},i={method:"POST",headers:n,body:JSON.stringify(r)},[4,ce(function(){return fetch(t,i)})];case 1:return(o=e.sent()).ok?[4,o.json()]:[3,3];case 2:return a=e.sent(),[2,{fid:a.fid||c,registrationStatus:2,refreshToken:a.refreshToken,authToken:ie(a.authToken)}];case 3:return[4,oe("Create Installation",o)];case 4:throw e.sent()}})})}(r,i)];case 1:return t=e.sent(),[2,ye(r,t)];case 2:return ee(n=e.sent())&&409===n.serverCode?[4,_e(r)]:[3,4];case 3:return e.sent(),[3,6];case 4:return[4,ye(r,{fid:i.fid,registrationStatus:0})];case 5:e.sent(),e.label=6;case 6:throw n;case 7:return[2]}})})}(e,r);return{installationEntry:r,registrationPromise:i}}}(i,t);return r=n.registrationPromise,n.installationEntry})];case 1:return(t=e.sent()).fid!==pe?[3,3]:(n={},[4,r]);case 2:return[2,(n.installationEntry=e.sent(),n)];case 3:return[2,{installationEntry:t,registrationPromise:r}]}})})}function Se(e){return we(e,function(e){if(!e)throw Y.create("installation-not-found");return Te(e)})}function Te(e){return function(e){return 1===e.registrationStatus&&e.registrationTime+J<Date.now()}(e)?{fid:e.fid,registrationStatus:0}:e}function Ae(s,c){return u(this,void 0,void 0,function(){var t,n,r,i,o,a;return f(this,function(e){switch(e.label){case 0:return t=function(e,t){var n=t.fid;return re(e)+"/"+n+"/authTokens:generate"}(s,c),n=se(s,c),r={installation:{sdkVersion:z}},i={method:"POST",headers:n,body:JSON.stringify(r)},[4,ce(function(){return fetch(t,i)})];case 1:return(o=e.sent()).ok?[4,o.json()]:[3,3];case 2:return a=e.sent(),[2,ie(a)];case 3:return[4,oe("Generate Auth Token",o)];case 4:throw e.sent()}})})}function Ne(i,o){return void 0===o&&(o=!1),u(this,void 0,void 0,function(){var r,t,n;return f(this,function(e){switch(e.label){case 0:return[4,we(i,function(e){if(!Oe(e))throw Y.create("not-registered");var t=e.authToken;if(!o&&function(e){return 2===e.requestStatus&&!function(e){var t=Date.now();return t<e.creationTime||e.creationTime+e.expiresIn<t+Q}(e)}(t))return e;if(1===t.requestStatus)return r=function(r,i){return u(this,void 0,void 0,function(){var t,n;return f(this,function(e){switch(e.label){case 0:return[4,ke(r)];case 1:t=e.sent(),e.label=2;case 2:return 1!==t.authToken.requestStatus?[3,5]:[4,ue(100)];case 3:return e.sent(),[4,ke(r)];case 4:return t=e.sent(),[3,2];case 5:return 0===(n=t.authToken).requestStatus?[2,Ne(r,i)]:[2,n]}})})}(i,o),e;if(!navigator.onLine)throw Y.create("app-offline");var n=function(e){var t={requestStatus:1,requestTime:Date.now()};return a(a({},e),{authToken:t})}(e);return r=function(i,o){return u(this,void 0,void 0,function(){var t,n,r;return f(this,function(e){switch(e.label){case 0:return e.trys.push([0,3,,8]),[4,Ae(i,o)];case 1:return t=e.sent(),r=a(a({},o),{authToken:t}),[4,ye(i,r)];case 2:return e.sent(),[2,t];case 3:return!ee(n=e.sent())||401!==n.serverCode&&404!==n.serverCode?[3,5]:[4,_e(i)];case 4:return e.sent(),[3,7];case 5:return r=a(a({},o),{authToken:{requestStatus:0}}),[4,ye(i,r)];case 6:e.sent(),e.label=7;case 7:throw n;case 8:return[2]}})})}(i,n),n})];case 1:return t=e.sent(),r?[4,r]:[3,3];case 2:return n=e.sent(),[3,4];case 3:n=t.authToken,e.label=4;case 4:return[2,n]}})})}function ke(e){return we(e,function(e){if(!Oe(e))throw Y.create("not-registered");return function(e){return 1===e.requestStatus&&e.requestTime+J<Date.now()}(e.authToken)?a(a({},e),{authToken:{requestStatus:0}}):e})}function Oe(e){return void 0!==e&&2===e.registrationStatus}function De(n,r){return void 0===r&&(r=!1),u(this,void 0,void 0,function(){var t;return f(this,function(e){switch(e.label){case 0:return[4,function(n){return u(this,void 0,void 0,function(){var t;return f(this,function(e){switch(e.label){case 0:return[4,Ie(n)];case 1:return(t=e.sent().registrationPromise)?[4,t]:[3,3];case 2:e.sent(),e.label=3;case 3:return[2]}})})}(t=te(n))];case 1:return e.sent(),[4,Ne(t,r)];case 2:return[2,e.sent().token]}})})}function Re(o,a){return u(this,void 0,void 0,function(){var t,n,r,i;return f(this,function(e){switch(e.label){case 0:return t=function(e,t){var n=t.fid;return re(e)+"/"+n}(o,a),n=se(o,a),r={method:"DELETE",headers:n},[4,ce(function(){return fetch(t,r)})];case 1:return(i=e.sent()).ok?[3,3]:[4,oe("Delete Installation",i)];case 2:throw e.sent();case 3:return[2]}})})}j.INTERNAL.registerService("installations",function(t){return te(t),{app:t,getId:function(){return function(o){return u(this,void 0,void 0,function(){var t,n,r,i;return f(this,function(e){switch(e.label){case 0:return[4,Ie(t=te(o))];case 1:return n=e.sent(),r=n.installationEntry,(i=n.registrationPromise)?i.catch(console.error):Ne(t).catch(console.error),[2,r.fid]}})})}(t)},getToken:function(e){return De(t,e)},delete:function(){return function(r){return u(this,void 0,void 0,function(){var t,n;return f(this,function(e){switch(e.label){case 0:return[4,we(t=te(r),function(e){if(!e||0!==e.registrationStatus)return e})];case 1:if(!(n=e.sent()))return[3,6];if(1!==n.registrationStatus)return[3,2];throw Y.create("delete-pending-registration");case 2:if(2!==n.registrationStatus)return[3,6];if(navigator.onLine)return[3,3];throw Y.create("app-offline");case 3:return[4,Re(t,n)];case 4:return e.sent(),[4,_e(t)];case 5:e.sent(),e.label=6;case 6:return[2]}})})}(t)}}});var Pe,je,Me,Ce,xe="0.2.23",Be="FB-PERF-TRACE-MEASURE",Le="@firebase/performance/config",qe="@firebase/performance/configexpire",Ue="Performance",Fe=((Pe={})["trace started"]="Trace {$traceName} was started before.",Pe["trace stopped"]="Trace {$traceName} is not running.",Pe["no window"]="Window is not available.",Pe["no app id"]="App id is not available.",Pe["no project id"]="Project id is not available.",Pe["no api key"]="Api key is not available.",Pe["invalid cc log"]="Attempted to queue invalid cc event",Pe["FB not default"]="Performance can only start when Firebase app instance is the default one.",Pe["RC response not ok"]="RC response is not ok",Pe["invalid attribute name"]="Attribute name {$attributeName} is invalid.",Pe["invalid attribute value"]="Attribute value {$attributeValue} is invalid.",Pe["invalide custom metric name"]="Custom metric name {$customMetricName} is invalid",Pe),Ke=new l("performance",Ue,Fe),Ve=($e.prototype.getUrl=function(){return this.windowLocation.href.split("?")[0]},$e.prototype.mark=function(e){this.performance&&this.performance.mark&&this.performance.mark(e)},$e.prototype.measure=function(e,t,n){this.performance&&this.performance.measure&&this.performance.measure(e,t,n)},$e.prototype.getEntriesByType=function(e){return this.performance&&this.performance.getEntriesByType?this.performance.getEntriesByType(e):[]},$e.prototype.getEntriesByName=function(e){return this.performance&&this.performance.getEntriesByName?this.performance.getEntriesByName(e):[]},$e.prototype.getTimeOrigin=function(){return this.performance&&(this.performance.timeOrigin||this.performance.timing.navigationStart)},$e.prototype.requiredApisAvailable=function(){return!!(fetch&&Promise&&this.navigator&&this.navigator.cookieEnabled)},$e.prototype.setupObserver=function(e,i){this.PerformanceObserver&&new this.PerformanceObserver(function(e){for(var t=0,n=e.getEntries();t<n.length;t++){var r=n[t];i(r)}}).observe({entryTypes:[e]})},$e.getInstance=function(){return void 0===je&&(je=new $e(Me)),je},$e);function $e(e){if(!e)throw Ke.create("no window");this.performance=e.performance,this.PerformanceObserver=e.PerformanceObserver,this.windowLocation=e.location,this.navigator=e.navigator,this.document=e.document,this.navigator&&this.navigator.cookieEnabled&&(this.localStorage=e.localStorage),e.perfMetrics&&e.perfMetrics.onFirstInputDelay&&(this.onFirstInputDelay=e.perfMetrics.onFirstInputDelay)}var He,We,Je,ze=(Ge.prototype.getAppId=function(){var e=this.firebaseAppInstance&&this.firebaseAppInstance.options&&this.firebaseAppInstance.options.appId;if(!e)throw Ke.create("no app id");return e},Ge.prototype.getProjectId=function(){var e=this.firebaseAppInstance&&this.firebaseAppInstance.options&&this.firebaseAppInstance.options.projectId;if(!e)throw Ke.create("no project id");return e},Ge.prototype.getApiKey=function(){var e=this.firebaseAppInstance&&this.firebaseAppInstance.options&&this.firebaseAppInstance.options.apiKey;if(!e)throw Ke.create("no api key");return e},Ge.getInstance=function(){return void 0===Ce&&(Ce=new Ge),Ce},Ge);function Ge(){this.instrumentationEnabled=!0,this.dataCollectionEnabled=!0,this.loggingEnabled=!1,this.tracesSamplingRate=1,this.networkRequestsSamplingRate=1,this.logEndPointUrl="https://firebaselogging.googleapis.com/v0cc/log?format=json_proto",this.logSource=462,this.logTraceAfterSampling=!1,this.logNetworkAfterSampling=!1,this.configTimeToLive=12}function Ze(){return He}(Je=We=We||{})[Je.UNKNOWN=0]="UNKNOWN",Je[Je.VISIBLE=1]="VISIBLE",Je[Je.HIDDEN=2]="HIDDEN",Je[Je.PRERENDER=3]="PRERENDER",Je[Je.UNLOADED=4]="UNLOADED";var Qe=["firebase_","google_","ga_"],Xe=new RegExp("^[a-zA-Z]\\w*$");function Ye(){switch(Ve.getInstance().document.visibilityState){case"visible":return We.VISIBLE;case"hidden":return We.HIDDEN;case"prerender":return We.PRERENDER;default:return We.UNKNOWN}}var et=new I(Ue);et.logLevel=g.INFO;var tt="0.0.1",nt={loggingEnabled:!0},rt="FIREBASE_INSTALLATIONS_AUTH";function it(e){var t=function(){var e=Ve.getInstance().localStorage,t=e.getItem(qe);if(!t||!function(e){return Number(e)>Date.now()}(t))return;var n=e.getItem(Le);if(!n)return;try{return JSON.parse(n)}catch(e){return}}();return t?(at(t),Promise.resolve()):function(r){return function(){var e=ze.getInstance().firebaseAppInstance.installations().getToken();return e.then(function(e){}),e}().then(function(e){var t="https://firebaseremoteconfig.googleapis.com/v1/projects/"+ze.getInstance().getProjectId()+"/namespaces/fireperf:fetch?key="+ze.getInstance().getApiKey(),n=new Request(t,{method:"POST",headers:{Authorization:rt+" "+e},body:JSON.stringify({app_instance_id:r,app_instance_id_token:e,app_id:ze.getInstance().getAppId(),app_version:xe,sdk_version:tt})});return fetch(n).then(function(e){if(e.ok)return e.json();throw Ke.create("RC response not ok")})}).catch(function(){et.info(ot)})}(e).then(function(e){return at(e)}).then(function(e){return function(e){if(!e)return;var t=Ve.getInstance().localStorage;t.setItem(Le,JSON.stringify(e)),t.setItem(qe,String(Date.now()+60*ze.getInstance().configTimeToLive*60*1e3))}(e)},function(){})}var ot="Could not fetch config, will use default configs";function at(e){if(!e)return e;var t=ze.getInstance(),n=e.entries||{};return void 0!==n.fpr_enabled?t.loggingEnabled="true"===String(n.fpr_enabled):t.loggingEnabled=nt.loggingEnabled,n.fpr_log_source&&(t.logSource=Number(n.fpr_log_source)),n.fpr_log_endpoint_url&&(t.logEndPointUrl=n.fpr_log_endpoint_url),void 0!==n.fpr_vc_network_request_sampling_rate&&(t.networkRequestsSamplingRate=Number(n.fpr_vc_network_request_sampling_rate)),void 0!==n.fpr_vc_trace_sampling_rate&&(t.tracesSamplingRate=Number(n.fpr_vc_trace_sampling_rate)),t.logTraceAfterSampling=st(t.tracesSamplingRate),t.logNetworkAfterSampling=st(t.networkRequestsSamplingRate),e}function st(e){return Math.random()<=e}var ct,ut=1;function ft(){return ut=2,ct=ct||function(){var n=Ve.getInstance().document;return new Promise(function(e){if(n&&"complete"!==n.readyState){var t=function(){"complete"===n.readyState&&(n.removeEventListener("readystatechange",t),e())};n.addEventListener("readystatechange",t)}else e()})}().then(function(){return function(){var e=ze.getInstance().firebaseAppInstance.installations().getId();return e.then(function(e){He=e}),e}()}).then(function(e){return it(e)}).then(function(){return lt()},function(){return lt()})}function lt(){ut=3}var pt,ht=1e4,dt=3,gt=dt,vt=[];function mt(i){return function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];!function(e){if(!e.eventTime||!e.message)throw Ke.create("invalid cc log");vt=o(vt,[e])}({message:i.apply(void 0,n),eventTime:Date.now()})}}function bt(){if(pt)return pt;var e=mt(wt);return(pt=new I("@firebase/performance/cc")).logHandler=e,pt}function yt(e){var t=ze.getInstance();!t.instrumentationEnabled&&e.isAuto||(t.dataCollectionEnabled||e.isAuto)&&Ve.getInstance().requiredApisAvailable()&&(e.isAuto&&Ye()!==We.VISIBLE||t.loggingEnabled&&t.logTraceAfterSampling&&(3===ut?_t(e):ft().then(function(){return _t(e)},function(){return _t(e)})))}function _t(e){Ze()&&setTimeout(function(){return bt().log(e,1)},0)}function wt(e,t){return 0===t?function(e){var t={url:e.url,http_method:e.httpMethod||0,http_response_code:200,response_payload_bytes:e.responsePayloadBytes,client_start_time_us:e.startTimeUs,time_to_response_initiated_us:e.timeToResponseInitiatedUs,time_to_response_completed_us:e.timeToResponseCompletedUs},n={application_info:Et(),network_request_metric:t};return JSON.stringify(n)}(e):function(e){var t={name:e.name,is_auto:e.isAuto,client_start_time_us:e.startTimeUs,duration_us:e.durationUs};0!==Object.keys(e.counters).length&&(t.counters=It(e.counters));var n=e.getAttributes();0!==Object.keys(n).length&&(t.custom_attributes=It(n));var r={application_info:Et(),trace_metric:t};return JSON.stringify(r)}(e)}function Et(){return{google_app_id:ze.getInstance().getAppId(),app_instance_id:Ze(),web_app_info:{sdk_version:xe,page_url:Ve.getInstance().getUrl(),service_worker_status:function(){var e=Ve.getInstance().navigator;return"serviceWorker"in e?e.serviceWorker.controller?2:3:1}(),visibility_state:Ye(),effective_connection_type:function(){var e=Ve.getInstance().navigator.connection;switch(e&&e.effectiveType){case"slow-2g":return 1;case"2g":return 2;case"3g":return 3;case"4g":return 4;default:return 0}}()},application_process_state:0}}function It(t){return Object.keys(t).map(function(e){return{key:e,value:t[e]}})}!function r(e){setTimeout(function(){if(0!==gt){if(!vt.length)return r(ht);var e=o(vt);vt=[];var t=e.map(function(e){return{source_extension_json:e.message,event_time_ms:String(e.eventTime)}}),n={request_time_ms:String(Date.now()),client_info:{client_type:1,js_client_info:{}},log_source:ze.getInstance().logSource,log_event:t};fetch(ze.getInstance().logEndPointUrl,{method:"POST",body:JSON.stringify(n)}).then(function(e){return e.ok||et.info("Call to Firebase backend failed."),e.json()}).then(function(e){var t=Number(e.next_request_wait_millis),n=isNaN(t)?ht:Math.max(ht,t);gt=dt,r(n)}).catch(function(){vt=o(e,vt),gt--,et.info("Tries left: "+gt+"."),r(ht)})}},e)}(5500);var St=["_fp","_fcp","_fid"];var Tt=(At.prototype.start=function(){if(1!==this.state)throw Ke.create("trace started",{traceName:this.name});this.api.mark(this.traceStartMark),this.state=2},At.prototype.stop=function(){if(2!==this.state)throw Ke.create("trace stopped",{traceName:this.name});this.state=3,this.api.mark(this.traceStopMark),this.api.measure(this.traceMeasure,this.traceStartMark,this.traceStopMark),this.calculateTraceMetrics(),yt(this)},At.prototype.record=function(e,t,n){if(this.durationUs=Math.floor(1e3*t),this.startTimeUs=Math.floor(1e3*e),n&&n.attributes&&(this.customAttributes=a({},n.attributes)),n&&n.metrics)for(var r=0,i=Object.keys(n.metrics);r<i.length;r++){var o=i[r];isNaN(Number(n.metrics[o]))||(this.counters[o]=Number(Math.floor(n.metrics[o])))}yt(this)},At.prototype.incrementMetric=function(e,t){void 0===t&&(t=1),void 0===this.counters[e]&&this.putMetric(e,0),this.counters[e]+=t},At.prototype.putMetric=function(e,t){if(!function(e,t){return!(0===e.length||100<e.length)&&(t&&t.startsWith("_wt_")&&-1<St.indexOf(e)||!e.startsWith("_"))}(e,this.name))throw Ke.create("invalide custom metric name",{customMetricName:e});this.counters[e]=t},At.prototype.getMetric=function(e){return this.counters[e]||0},At.prototype.putAttribute=function(e,t){var n=function(t){return!(0===t.length||40<t.length||Qe.some(function(e){return t.startsWith(e)})||!t.match(Xe))}(e),r=function(e){return 0!==e.length&&e.length<=100}(t);if(n&&r)this.customAttributes[e]=t;else{if(!n)throw Ke.create("invalid attribute name",{attributeName:e});if(!r)throw Ke.create("invalid attribute value",{attributeValue:t})}},At.prototype.getAttribute=function(e){return this.customAttributes[e]},At.prototype.removeAttribute=function(e){void 0!==this.customAttributes[e]&&delete this.customAttributes[e]},At.prototype.getAttributes=function(){return a({},this.customAttributes)},At.prototype.setStartTime=function(e){this.startTimeUs=e},At.prototype.setDuration=function(e){this.durationUs=e},At.prototype.calculateTraceMetrics=function(){var e=this.api.getEntriesByName(this.traceMeasure),t=e&&e[0];t&&(this.durationUs=Math.floor(1e3*t.duration),this.startTimeUs=Math.floor(1e3*(t.startTime+this.api.getTimeOrigin())))},At.createOobTrace=function(e,t,n){var r=Ve.getInstance().getUrl();if(r){var i=new At("_wt_"+r,!0),o=Math.floor(1e3*Ve.getInstance().getTimeOrigin());if(i.setStartTime(o),e&&e[0]&&(i.setDuration(Math.floor(1e3*e[0].duration)),i.putMetric("domInteractive",Math.floor(1e3*e[0].domInteractive)),i.putMetric("domContentLoadedEventEnd",Math.floor(1e3*e[0].domContentLoadedEventEnd)),i.putMetric("loadEventEnd",Math.floor(1e3*e[0].loadEventEnd))),t){var a=t.find(function(e){return"first-paint"===e.name});a&&a.startTime&&i.putMetric("_fp",Math.floor(1e3*a.startTime));var s=t.find(function(e){return"first-contentful-paint"===e.name});s&&s.startTime&&i.putMetric("_fcp",Math.floor(1e3*s.startTime)),n&&i.putMetric("_fid",Math.floor(1e3*n))}yt(i)}},At.createUserTimingTrace=function(e){yt(new At(e,!1,e))},At);function At(e,t,n){void 0===t&&(t=!1),this.name=e,this.isAuto=t,this.state=1,this.customAttributes={},this.counters={},this.api=Ve.getInstance(),this.randomId=Math.floor(1e6*Math.random()),this.isAuto||(this.traceStartMark="FB-PERF-TRACE-START-"+this.randomId+"-"+this.name,this.traceStopMark="FB-PERF-TRACE-STOP-"+this.randomId+"-"+this.name,this.traceMeasure=n||Be+"-"+this.randomId+"-"+this.name,n&&this.calculateTraceMetrics())}function Nt(e){var t=e;if(t&&void 0!==t.responseStart){var n=Ve.getInstance().getTimeOrigin(),r=Math.floor(1e3*(t.startTime+n)),i=t.responseStart?Math.floor(1e3*(t.responseStart-t.startTime)):void 0,o=Math.floor(1e3*(t.responseEnd-t.startTime));!function(e){var t=ze.getInstance();t.instrumentationEnabled&&e.url!==t.logEndPointUrl.split("?")[0]&&t.loggingEnabled&&t.logNetworkAfterSampling&&setTimeout(function(){return bt().log(e,0)},0)}({url:t.name&&t.name.split("?")[0],responsePayloadBytes:t.transferSize,startTimeUs:r,timeToResponseInitiatedUs:i,timeToResponseCompletedUs:o})}}var kt=5e3;function Ot(){Ze()&&(setTimeout(function(){return function(){var e=Ve.getInstance(),t=e.getEntriesByType("navigation"),n=e.getEntriesByType("paint");if(e.onFirstInputDelay){var r=setTimeout(function(){Tt.createOobTrace(t,n),r=void 0},kt);e.onFirstInputDelay(function(e){r&&(clearTimeout(r),Tt.createOobTrace(t,n,e))})}else Tt.createOobTrace(t,n)}()},0),setTimeout(function(){return function(){for(var e=Ve.getInstance(),t=e.getEntriesByType("resource"),n=0,r=t;n<r.length;n++){Nt(r[n])}e.setupObserver("resource",Nt)}()},0),setTimeout(function(){return function(){for(var e=Ve.getInstance(),t=e.getEntriesByType("measure"),n=0,r=t;n<r.length;n++){Dt(r[n])}e.setupObserver("measure",Dt)}()},0))}function Dt(e){var t=e.name;t.substring(0,Be.length)!==Be&&Tt.createUserTimingTrace(t)}var Rt=(Pt.prototype.trace=function(e){return new Tt(e)},Object.defineProperty(Pt.prototype,"instrumentationEnabled",{get:function(){return ze.getInstance().instrumentationEnabled},set:function(e){ze.getInstance().instrumentationEnabled=e},enumerable:!0,configurable:!0}),Object.defineProperty(Pt.prototype,"dataCollectionEnabled",{get:function(){return ze.getInstance().dataCollectionEnabled},set:function(e){ze.getInstance().dataCollectionEnabled=e},enumerable:!0,configurable:!0}),Pt);function Pt(e){this.app=e,Ve.getInstance().requiredApisAvailable()?ft().then(Ot,Ot):et.info("Firebase Performance cannot start if browser does not support fetch and Promise or cookie is disabled.")}return j.INTERNAL.registerService("performance",function(e){if("[DEFAULT]"!==e.name)throw Ke.create("FB not default");if("undefined"==typeof window)throw Ke.create("no window");return function(e){Me=e}(window),ze.getInstance().firebaseAppInstance=e,new Rt(e)},{}),j});
2//# sourceMappingURL=firebase-performance-standalone.js.map