firebase
Version:
Firebase JavaScript library for web and Node.js
1 lines • 53.7 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).firebase=t()}(this,function(){"use strict";var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};var l=function(){return(l=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(e,a,s,c){return new(s=s||Promise)(function(n,t){function r(e){try{o(c.next(e))}catch(e){t(e)}}function i(e){try{o(c.throw(e))}catch(e){t(e)}}function o(e){var t;e.done?n(e.value):((t=e.value)instanceof s?t:new s(function(e){e(t)})).then(r,i)}o((c=c.apply(e,a||[])).next())})}function f(n,r){var i,o,a,s={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},e={next:t(0),throw:t(1),return:t(2)};return"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,(t=a?[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 p(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return{value:(e=e&&r>=e.length?void 0:e)&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function d(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 a(e,t){for(var n=0,r=t.length,i=e.length;n<r;n++,i++)e[i]=t[n];return e}var i=(e.prototype.wrapCallback=function(n){var r=this;return function(e,t){e?r.reject(e):r.resolve(t),"function"==typeof n&&(r.promise.catch(function(){}),1===n.length?n(e):n(e,t))}},e);function e(){var n=this;this.reject=function(){},this.resolve=function(){},this.promise=new Promise(function(e,t){n.resolve=e,n.reject=t})}var o,s="FirebaseError",c=(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(h,o=Error),h);function h(e,t,n){t=o.call(this,t)||this;return t.code=e,t.customData=n,t.name=s,Object.setPrototypeOf(t,h.prototype),Error.captureStackTrace&&Error.captureStackTrace(t,m.prototype.create),t}var m=(t.prototype.create=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r,i=t[0]||{},o=this.service+"/"+e,e=this.errors[e],e=e?(r=i,e.replace(g,function(e,t){var n=r[t];return null!=n?String(n):"<"+t+"?>"})):"Error",e=this.serviceName+": "+e+" ("+o+").";return new c(o,e,i)},t);function t(e,t,n){this.service=e,this.serviceName=t,this.errors=n}var g=/\{\$([^}]+)}/g;function v(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function y(e,t){if(e===t)return 1;for(var n=Object.keys(e),r=Object.keys(t),i=0,o=n;i<o.length;i++){var a=o[i];if(!r.includes(a))return;var s=e[a],c=t[a];if(b(s)&&b(c)){if(!y(s,c))return}else if(s!==c)return}for(var u=0,l=r;u<l.length;u++){a=l[u];if(!n.includes(a))return}return 1}function b(e){return null!==e&&"object"==typeof e}var _=(n.prototype.setInstantiationMode=function(e){return this.instantiationMode=e,this},n.prototype.setMultipleInstances=function(e){return this.multipleInstances=e,this},n.prototype.setServiceProps=function(e){return this.serviceProps=e,this},n.prototype.setInstanceCreatedCallback=function(e){return this.onInstanceCreated=e,this},n);function n(e,t,n){this.name=e,this.instanceFactory=t,this.type=n,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}var w="[DEFAULT]",I=(E.prototype.get=function(e){var t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){e=new i;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{var n=this.getOrInitializeService({instanceIdentifier:t});n&&e.resolve(n)}catch(e){}}return this.instancesDeferred.get(t).promise},E.prototype.getImmediate=function(t){var e=this.normalizeInstanceIdentifier(null==t?void 0:t.identifier),t=null!==(t=null==t?void 0:t.optional)&&void 0!==t&&t;if(!this.isInitialized(e)&&!this.shouldAutoInitialize()){if(t)return null;throw Error("Service "+this.name+" is not available")}try{return this.getOrInitializeService({instanceIdentifier:e})}catch(e){if(t)return null;throw e}},E.prototype.getComponent=function(){return this.component},E.prototype.setComponent=function(e){var t,n;if(e.name!==this.name)throw Error("Mismatching Component "+e.name+" for Provider "+this.name+".");if(this.component)throw Error("Component for "+this.name+" has already been provided");if(this.component=e,this.shouldAutoInitialize()){if("EAGER"===e.instantiationMode)try{this.getOrInitializeService({instanceIdentifier:w})}catch(e){}try{for(var r=p(this.instancesDeferred.entries()),i=r.next();!i.done;i=r.next()){var o=d(i.value,2),a=o[0],s=o[1],c=this.normalizeInstanceIdentifier(a);try{var u=this.getOrInitializeService({instanceIdentifier:c});s.resolve(u)}catch(e){}}}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(t)throw t.error}}}},E.prototype.clearInstance=function(e){this.instancesDeferred.delete(e=void 0===e?w:e),this.instancesOptions.delete(e),this.instances.delete(e)},E.prototype.delete=function(){return u(this,void 0,void 0,function(){var t;return f(this,function(e){switch(e.label){case 0:return t=Array.from(this.instances.values()),[4,Promise.all(a(a([],d(t.filter(function(e){return"INTERNAL"in e}).map(function(e){return e.INTERNAL.delete()}))),d(t.filter(function(e){return"_delete"in e}).map(function(e){return e._delete()}))))];case 1:return e.sent(),[2]}})})},E.prototype.isComponentSet=function(){return null!=this.component},E.prototype.isInitialized=function(e){return this.instances.has(e=void 0===e?w:e)},E.prototype.getOptions=function(e){return this.instancesOptions.get(e=void 0===e?w:e)||{}},E.prototype.initialize=function(e){var t,n,r=(e=void 0===e?{}:e).options,r=void 0===r?{}:r,i=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(i))throw Error(this.name+"("+i+") has already been initialized");if(!this.isComponentSet())throw Error("Component "+this.name+" has not been registered yet");var o=this.getOrInitializeService({instanceIdentifier:i,options:r});try{for(var a=p(this.instancesDeferred.entries()),s=a.next();!s.done;s=a.next()){var c=d(s.value,2),u=c[0],l=c[1];i===this.normalizeInstanceIdentifier(u)&&l.resolve(o)}}catch(e){t={error:e}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(t)throw t.error}}return o},E.prototype.onInit=function(e,t){var n=this.normalizeInstanceIdentifier(t),r=null!==(t=this.onInitCallbacks.get(n))&&void 0!==t?t:new Set;r.add(e),this.onInitCallbacks.set(n,r);t=this.instances.get(n);return t&&e(t,n),function(){r.delete(e)}},E.prototype.invokeOnInitCallbacks=function(e,t){var n,r,i=this.onInitCallbacks.get(t);if(i)try{for(var o=p(i),a=o.next();!a.done;a=o.next()){var s=a.value;try{s(e,t)}catch(e){}}}catch(e){n={error:e}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}},E.prototype.getOrInitializeService=function(e){var t=e.instanceIdentifier,n=e.options,r=void 0===n?{}:n,e=this.instances.get(t);if(!e&&this.component&&(e=this.component.instanceFactory(this.container,{instanceIdentifier:(n=t)===w?void 0:n,options:r}),this.instances.set(t,e),this.instancesOptions.set(t,r),this.invokeOnInitCallbacks(e,t),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,t,e)}catch(e){}return e||null},E.prototype.normalizeInstanceIdentifier=function(e){return void 0===e&&(e=w),!this.component||this.component.multipleInstances?e:w},E.prototype.shouldAutoInitialize=function(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode},E);function E(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}var S=(T.prototype.addComponent=function(e){var t=this.getProvider(e.name);if(t.isComponentSet())throw new Error("Component "+e.name+" has already been registered with "+this.name);t.setComponent(e)},T.prototype.addOrOverwriteComponent=function(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)},T.prototype.getProvider=function(e){if(this.providers.has(e))return this.providers.get(e);var t=new I(e,this);return this.providers.set(e,t),t},T.prototype.getProviders=function(){return Array.from(this.providers.values())},T);function T(e){this.name=e,this.providers=new Map}var O,C=[];($=O=O||{})[$.DEBUG=0]="DEBUG",$[$.VERBOSE=1]="VERBOSE",$[$.INFO=2]="INFO",$[$.WARN=3]="WARN",$[$.ERROR=4]="ERROR",$[$.SILENT=5]="SILENT";function A(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(),o=k[t];if(!o)throw new Error("Attempted to log a message with an invalid logType (value: "+t+")");console[o].apply(console,a(["["+i+"] "+e.name+":"],n))}}var N={debug:O.DEBUG,verbose:O.VERBOSE,info:O.INFO,warn:O.WARN,error:O.ERROR,silent:O.SILENT},P=O.INFO,k=((dt={})[O.DEBUG]="log",dt[O.VERBOSE]="log",dt[O.INFO]="info",dt[O.WARN]="warn",dt[O.ERROR]="error",dt),D=(Object.defineProperty(j.prototype,"logLevel",{get:function(){return this._logLevel},set:function(e){if(!(e in O))throw new TypeError('Invalid value "'+e+'" assigned to `logLevel`');this._logLevel=e},enumerable:!1,configurable:!0}),j.prototype.setLogLevel=function(e){this._logLevel="string"==typeof e?N[e]:e},Object.defineProperty(j.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:!1,configurable:!0}),Object.defineProperty(j.prototype,"userLogHandler",{get:function(){return this._userLogHandler},set:function(e){this._userLogHandler=e},enumerable:!1,configurable:!0}),j.prototype.debug=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._userLogHandler&&this._userLogHandler.apply(this,a([this,O.DEBUG],e)),this._logHandler.apply(this,a([this,O.DEBUG],e))},j.prototype.log=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._userLogHandler&&this._userLogHandler.apply(this,a([this,O.VERBOSE],e)),this._logHandler.apply(this,a([this,O.VERBOSE],e))},j.prototype.info=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._userLogHandler&&this._userLogHandler.apply(this,a([this,O.INFO],e)),this._logHandler.apply(this,a([this,O.INFO],e))},j.prototype.warn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._userLogHandler&&this._userLogHandler.apply(this,a([this,O.WARN],e)),this._logHandler.apply(this,a([this,O.WARN],e))},j.prototype.error=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._userLogHandler&&this._userLogHandler.apply(this,a([this,O.ERROR],e)),this._logHandler.apply(this,a([this,O.ERROR],e))},j);function j(e){this.name=e,this._logLevel=P,this._logHandler=A,this._userLogHandler=null,C.push(this)}function R(a,t){for(var e=0,n=C;e<n.length;e++)!function(e){var o=null;t&&t.level&&(o=N[t.level]),e.userLogHandler=null===a?null:function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=n.map(function(e){if(null==e)return null;if("string"==typeof e)return e;if("number"==typeof e||"boolean"==typeof e)return e.toString();if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch(e){return null}}).filter(function(e){return e}).join(" ");t>=(null!=o?o:e.logLevel)&&a({level:O[t].toLowerCase(),message:i,args:n,type:e.name})}}(n[e])}var L=(M.prototype.getPlatformInfoString=function(){return this.container.getProviders().map(function(e){if(function(e){e=e.getComponent();return"VERSION"===(null==e?void 0:e.type)}(e)){e=e.getImmediate();return e.library+"/"+e.version}return null}).filter(function(e){return e}).join(" ")},M);function M(e){this.container=e}var x="@firebase/app",B=new D("@firebase/app"),F="[DEFAULT]",U=(($={})[x]="fire-core",$["@firebase/app-compat"]="fire-core-compat",$["@firebase/analytics"]="fire-analytics",$["@firebase/analytics-compat"]="fire-analytics-compat",$["@firebase/app-check"]="fire-app-check",$["@firebase/app-check-compat"]="fire-app-check-compat",$["@firebase/auth"]="fire-auth",$["@firebase/auth-compat"]="fire-auth-compat",$["@firebase/database"]="fire-rtdb",$["@firebase/database-compat"]="fire-rtdb-compat",$["@firebase/functions"]="fire-fn",$["@firebase/functions-compat"]="fire-fn-compat",$["@firebase/installations"]="fire-iid",$["@firebase/installations-compat"]="fire-iid-compat",$["@firebase/messaging"]="fire-fcm",$["@firebase/messaging-compat"]="fire-fcm-compat",$["@firebase/performance"]="fire-perf",$["@firebase/performance-compat"]="fire-perf-compat",$["@firebase/remote-config"]="fire-rc",$["@firebase/remote-config-compat"]="fire-rc-compat",$["@firebase/storage"]="fire-gcs",$["@firebase/storage-compat"]="fire-gcs-compat",$["@firebase/firestore"]="fire-fst",$["@firebase/firestore-compat"]="fire-fst-compat",$["fire-js"]="fire-js",$.firebase="fire-js-all",$),q=new Map,z=new Map;function V(t,n){try{t.container.addComponent(n)}catch(e){B.debug("Component "+n.name+" failed to register with FirebaseApp "+t.name,e)}}function H(e){var t,n,r=e.name;if(z.has(r))return B.debug("There were multiple attempts to register component "+r+"."),!1;z.set(r,e);try{for(var i=p(q.values()),o=i.next();!o.done;o=i.next())V(o.value,e)}catch(e){t={error:e}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}return!0}function K(e,t){return e.container.getProvider(t)}var $=((dt={})["no-app"]="No Firebase App '{$appName}' has been created - call Firebase App.initializeApp()",dt["bad-app-name"]="Illegal App name: '{$appName}",dt["duplicate-app"]="Firebase App named '{$appName}' already exists with different options or config",dt["app-deleted"]="Firebase App named '{$appName}' already deleted",dt["invalid-app-argument"]="firebase.{$appName}() takes either no argument or a Firebase App instance.",dt["invalid-log-argument"]="First argument to `onLog` must be null or a function.",dt),W=new m("app","Firebase",$),G=(Object.defineProperty(J.prototype,"automaticDataCollectionEnabled",{get:function(){return this.checkDestroyed(),this._automaticDataCollectionEnabled},set:function(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e},enumerable:!1,configurable:!0}),Object.defineProperty(J.prototype,"name",{get:function(){return this.checkDestroyed(),this._name},enumerable:!1,configurable:!0}),Object.defineProperty(J.prototype,"options",{get:function(){return this.checkDestroyed(),this._options},enumerable:!1,configurable:!0}),Object.defineProperty(J.prototype,"config",{get:function(){return this.checkDestroyed(),this._config},enumerable:!1,configurable:!0}),Object.defineProperty(J.prototype,"container",{get:function(){return this._container},enumerable:!1,configurable:!0}),Object.defineProperty(J.prototype,"isDeleted",{get:function(){return this._isDeleted},set:function(e){this._isDeleted=e},enumerable:!1,configurable:!0}),J.prototype.checkDestroyed=function(){if(this.isDeleted)throw W.create("app-deleted",{appName:this._name})},J);function J(e,t,n){var r=this;this._isDeleted=!1,this._options=l({},e),this._config=l({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=n,this.container.addComponent(new _("app",function(){return r},"PUBLIC"))}var Y,X="9.0.0";function Z(e,t){var n,r,i=l({name:F,automaticDataCollectionEnabled:!1},t="object"!=typeof(t=void 0===t?{}:t)?{name:t}:t),o=i.name;if("string"!=typeof o||!o)throw W.create("bad-app-name",{appName:String(o)});t=q.get(o);if(t){if(y(e,t.options)&&y(i,t.config))return t;throw W.create("duplicate-app",{appName:o})}var a=new S(o);try{for(var s=p(z.values()),c=s.next();!c.done;c=s.next()){var u=c.value;a.addComponent(u)}}catch(e){n={error:e}}finally{try{c&&!c.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}i=new G(e,i,a);return q.set(o,i),i}function Q(n){return u(this,void 0,void 0,function(){var t;return f(this,function(e){switch(e.label){case 0:return(t=n.name,q.has(t))?(q.delete(t),[4,Promise.all(n.container.getProviders().map(function(e){return e.delete()}))]):[3,2];case 1:e.sent(),n.isDeleted=!0,e.label=2;case 2:return[2]}})})}function ee(e,t,n){var r=null!==(i=U[e])&&void 0!==i?i:e;n&&(r+="-"+n);var i=r.match(/\s|\//),e=t.match(/\s|\//);if(i||e){n=['Unable to register library "'+r+'" with version "'+t+'":'];return i&&n.push('library name "'+r+'" contains illegal characters (whitespace or "/")'),i&&e&&n.push("and"),e&&n.push('version name "'+t+'" contains illegal characters (whitespace or "/")'),void B.warn(n.join(" "))}H(new _(r+"-version",function(){return{library:r,version:t}},"VERSION"))}function te(e,t){if(null!==e&&"function"!=typeof e)throw W.create("invalid-log-argument");R(e,t)}function ne(e){var t;t=e,C.forEach(function(e){e.setLogLevel(t)})}H(new _("platform-logger",function(e){return new L(e)},"PRIVATE")),ee(x,"0.7.0",Y),ee("fire-js","");var re=Object.freeze({__proto__:null,SDK_VERSION:X,_DEFAULT_ENTRY_NAME:F,_addComponent:V,_addOrOverwriteComponent:function(e,t){e.container.addOrOverwriteComponent(t)},_apps:q,_clearComponents:function(){z.clear()},_components:z,_getProvider:K,_registerComponent:H,_removeServiceInstance:function(e,t,n){void 0===n&&(n=F),K(e,t).clearInstance(n)},deleteApp:Q,getApp:function(e){var t=q.get(e=void 0===e?F:e);if(!t)throw W.create("no-app",{appName:e});return t},getApps:function(){return Array.from(q.values())},initializeApp:Z,onLog:te,registerVersion:ee,setLogLevel:ne,FirebaseError:c}),ie=(Object.defineProperty(oe.prototype,"automaticDataCollectionEnabled",{get:function(){return this._delegate.automaticDataCollectionEnabled},set:function(e){this.automaticDataCollectionEnabled=e},enumerable:!1,configurable:!0}),Object.defineProperty(oe.prototype,"name",{get:function(){return this._delegate.name},enumerable:!1,configurable:!0}),Object.defineProperty(oe.prototype,"options",{get:function(){return this._delegate.options},enumerable:!1,configurable:!0}),oe.prototype.delete=function(){return this.firebase.INTERNAL.removeApp(this.name),Q(this._delegate)},oe.prototype._getService=function(e,t){return void 0===t&&(t=F),this._delegate.checkDestroyed(),this._delegate.container.getProvider(e).getImmediate({identifier:t})},oe);function oe(e,t){var n=this;this._delegate=e,this.firebase=t,V(e,new _("app-compat",function(){return n},"PUBLIC"))}var $=((dt={})["no-app"]="No Firebase App '{$appName}' has been created - call Firebase App.initializeApp()",dt["invalid-app-argument"]="firebase.{$appName}() takes either no argument or a Firebase App instance.",dt),ae=new m("app-compat","Firebase",$);function se(i){var n={},o={__esModule:!0,initializeApp:function(e,t){void 0===t&&(t={});e=Z(e,t);if(v(n,e.name))return n[e.name];t=new i(e,o);return n[e.name]=t},app:a,registerVersion:ee,setLogLevel:ne,onLog:te,apps:null,SDK_VERSION:X,INTERNAL:{registerComponent:function(n){var r=n.name,t=r.replace("-compat","");{var e;H(n)&&"PUBLIC"===n.type&&(e=function(e){if("function"!=typeof(e=void 0===e?a():e)[t])throw ae.create("invalid-app-argument",{appName:r});return e[t]()},void 0!==n.serviceProps&&function e(t,n){if(!(n instanceof Object))return n;switch(n.constructor){case Date:return new Date(n.getTime());case Object:void 0===t&&(t={});break;case Array:t=[];break;default:return n}for(var r in n)n.hasOwnProperty(r)&&"__proto__"!==r&&(t[r]=e(t[r],n[r]));return t}(e,n.serviceProps),o[t]=e,i.prototype[t]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this._getService.bind(this,r).apply(this,n.multipleInstances?e:[])})}return"PUBLIC"===n.type?o[t]:null},removeApp:function(e){delete n[e]},useAsService:function(e,t){return"serverAuth"!==t?t:null},modularAPIs:re}};function a(e){if(!v(n,e=e||F))throw ae.create("no-app",{appName:e});return n[e]}return o.default=o,Object.defineProperty(o,"apps",{get:function(){return Object.keys(n).map(function(e){return n[e]})}}),a.App=i,o}var ce=function(){var e=se(ie);e.SDK_VERSION=e.SDK_VERSION+"_LITE";var t=e.INTERNAL.registerComponent;return e.INTERNAL.registerComponent=function(e){if("PUBLIC"!==e.type||e.name.includes("performance")||e.name.includes("installations"))return t(e);throw Error(name+" cannot register with the standalone perf instance")},e}();ee("@firebase/app-compat","0.1.0","lite");function ue(n){return new Promise(function(e,t){n.onsuccess=function(){e(n.result)},n.onerror=function(){t(n.error)}})}function le(n,r,i){var o,e=new Promise(function(e,t){ue(o=n[r].apply(n,i)).then(e,t)});return e.request=o,e}function fe(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 pe(t,n,r,e){e.forEach(function(e){e in r.prototype&&(t.prototype[e]=function(){return le(this[n],e,arguments)})})}function de(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 he(e,r,t,n){n.forEach(function(n){n in t.prototype&&(e.prototype[n]=function(){return e=this[r],(t=le(e,n,arguments)).then(function(e){if(e)return new ge(e,t.request)});var e,t})})}function me(e){this._index=e}function ge(e,t){this._cursor=e,this._request=t}function ve(e){this._store=e}function ye(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 be(e,t,n){this._db=e,this.oldVersion=t,this.transaction=new ye(n)}function _e(e){this._db=e}ce.registerVersion("firebase","9.0.0","app-compat"),fe(me,"_index",["name","keyPath","multiEntry","unique"]),pe(me,"_index",IDBIndex,["get","getKey","getAll","getAllKeys","count"]),he(me,"_index",IDBIndex,["openCursor","openKeyCursor"]),fe(ge,"_cursor",["direction","key","primaryKey","value"]),pe(ge,"_cursor",IDBCursor,["update","delete"]),["advance","continue","continuePrimaryKey"].forEach(function(n){n in IDBCursor.prototype&&(ge.prototype[n]=function(){var t=this,e=arguments;return Promise.resolve().then(function(){return t._cursor[n].apply(t._cursor,e),ue(t._request).then(function(e){if(e)return new ge(e,t._request)})})})}),ve.prototype.createIndex=function(){return new me(this._store.createIndex.apply(this._store,arguments))},ve.prototype.index=function(){return new me(this._store.index.apply(this._store,arguments))},fe(ve,"_store",["name","keyPath","indexNames","autoIncrement"]),pe(ve,"_store",IDBObjectStore,["put","add","delete","clear","get","getAll","getKey","getAllKeys","count"]),he(ve,"_store",IDBObjectStore,["openCursor","openKeyCursor"]),de(ve,"_store",IDBObjectStore,["deleteIndex"]),ye.prototype.objectStore=function(){return new ve(this._tx.objectStore.apply(this._tx,arguments))},fe(ye,"_tx",["objectStoreNames","mode"]),de(ye,"_tx",IDBTransaction,["abort"]),be.prototype.createObjectStore=function(){return new ve(this._db.createObjectStore.apply(this._db,arguments))},fe(be,"_db",["name","version","objectStoreNames"]),de(be,"_db",IDBDatabase,["deleteObjectStore","close"]),_e.prototype.transaction=function(){return new ye(this._db.transaction.apply(this._db,arguments))},fe(_e,"_db",["name","version","objectStoreNames"]),de(_e,"_db",IDBDatabase,["close"]),["openCursor","openKeyCursor"].forEach(function(i){[ve,me].forEach(function(e){i in e.prototype&&(e.prototype[i.replace("open","iterate")]=function(){var e=(n=arguments,Array.prototype.slice.call(n)),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)}})})}),[me,ve].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 we=1e4,Ie="w:0.5.0",Ee="FIS_v2",Se="https://firebaseinstallations.googleapis.com/v1",Te=36e5,$=((dt={})["missing-app-config-values"]='Missing App configuration value: "{$valueName}"',dt["not-registered"]="Firebase Installation is not registered.",dt["installation-not-found"]="Firebase Installation not found.",dt["request-failed"]='{$requestName} request failed with error "{$serverCode} {$serverStatus}: {$serverMessage}"',dt["app-offline"]="Could not process request. Application offline.",dt["delete-pending-registration"]="Can't delete installation while there is a pending registration request.",dt),Oe=new m("installations","Installations",$);function Ce(e){return e instanceof c&&e.code.includes("request-failed")}function Ae(e){e=e.projectId;return Se+"/projects/"+e+"/installations"}function Ne(e){return{token:e.token,requestStatus:2,expiresIn:(e=e.expiresIn,Number(e.replace("s","000"))),creationTime:Date.now()}}function Pe(n,r){return u(this,void 0,void 0,function(){var t;return f(this,function(e){switch(e.label){case 0:return[4,r.json()];case 1:return t=e.sent(),t=t.error,[2,Oe.create("request-failed",{requestName:n,serverCode:t.code,serverMessage:t.message,serverStatus:t.status})]}})})}function ke(e){e=e.apiKey;return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":e})}function De(e,t){t=t.refreshToken,e=ke(e);return e.append("Authorization",Ee+" "+t),e}function je(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 Re(t){return new Promise(function(e){setTimeout(e,t)})}var Le=/^[cdef][\w-]{21}$/,Me="";function xe(){try{var e=new Uint8Array(17);(self.crypto||self.msCrypto).getRandomValues(e),e[0]=112+e[0]%16;var t=function(e){return btoa(String.fromCharCode.apply(String,a([],d(e)))).replace(/\+/g,"-").replace(/\//g,"_")}(e).substr(0,22);return Le.test(t)?t:Me}catch(e){return Me}}function Be(e){return e.appName+"!"+e.appId}var Fe=new Map;function Ue(e,t){e=Be(e);qe(e,t),function(e,t){var n=function(){!ze&&"BroadcastChannel"in self&&((ze=new BroadcastChannel("[Firebase] FID Change")).onmessage=function(e){qe(e.data.key,e.data.fid)});return ze}();n&&n.postMessage({key:e,fid:t});0===Fe.size&&ze&&(ze.close(),ze=null)}(e,t)}function qe(e,t){var n,r,e=Fe.get(e);if(e)try{for(var i=p(e),o=i.next();!o.done;o=i.next())(0,o.value)(t)}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}var ze=null;var Ve="firebase-installations-database",He=1,Ke="firebase-installations-store",$e=null;function We(){var e,t,n;return $e||(e=He,t=function(e){0===e.oldVersion&&e.createObjectStore(Ke)},(n=(e=le(indexedDB,"open",[Ve,He])).request)&&(n.onupgradeneeded=function(e){t&&t(new be(n.result,e.oldVersion,n.transaction))}),$e=e.then(function(e){return new _e(e)})),$e}function Ge(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=Be(o),[4,We()];case 1:return r=e.sent(),n=r.transaction(Ke,"readwrite"),[4,(r=n.objectStore(Ke)).get(t)];case 2:return i=e.sent(),[4,r.put(a,t)];case 3:return e.sent(),[4,n.complete];case 4:return e.sent(),i&&i.fid===a.fid||Ue(o,a.fid),[2,a]}})})}function Je(r){return u(this,void 0,void 0,function(){var t,n;return f(this,function(e){switch(e.label){case 0:return t=Be(r),[4,We()];case 1:return n=e.sent(),[4,(n=n.transaction(Ke,"readwrite")).objectStore(Ke).delete(t)];case 2:return e.sent(),[4,n.complete];case 3:return e.sent(),[2]}})})}function Ye(a,s){return u(this,void 0,void 0,function(){var t,n,r,i,o;return f(this,function(e){switch(e.label){case 0:return t=Be(a),[4,We()];case 1:return r=e.sent(),n=r.transaction(Ke,"readwrite"),[4,(r=n.objectStore(Ke)).get(t)];case 2:return i=e.sent(),void 0!==(o=s(i))?[3,4]:[4,r.delete(t)];case 3:return e.sent(),[3,6];case 4:return[4,r.put(o,t)];case 5:e.sent(),e.label=6;case 6:return[4,n.complete];case 7:return e.sent(),!o||i&&i.fid===o.fid||Ue(a,o.fid),[2,o]}})})}function Xe(i){return u(this,void 0,void 0,function(){var t,n,r;return f(this,function(e){switch(e.label){case 0:return[4,Ye(i,function(e){e=Qe(e||{fid:xe(),registrationStatus:0}),e=function(e,t){{if(0!==t.registrationStatus)return 1===t.registrationStatus?{installationEntry:t,registrationPromise:function(i){return u(this,void 0,void 0,function(){var t,n,r;return f(this,function(e){switch(e.label){case 0:return[4,Ze(i)];case 1:t=e.sent(),e.label=2;case 2:return 1!==t.registrationStatus?[3,5]:[4,Re(100)];case 3:return e.sent(),[4,Ze(i)];case 4:return t=e.sent(),[3,2];case 5:return 0!==t.registrationStatus?[3,7]:[4,Xe(i)];case 6:return r=e.sent(),n=r.installationEntry,(r=r.registrationPromise)?[2,r]:[2,n];case 7:return[2,t]}})})}(e)}:{installationEntry:t};if(!navigator.onLine){var n=Promise.reject(Oe.create("app-offline"));return{installationEntry:t,registrationPromise:n}}t={fid:t.fid,registrationStatus:1,registrationTime:Date.now()},e=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(a,e){var s=e.fid;return u(this,void 0,void 0,function(){var t,n,r,i,o;return f(this,function(e){switch(e.label){case 0:return t=Ae(a),n=ke(a),o={fid:s,authVersion:Ee,appId:a.appId,sdkVersion:Ie},r={method:"POST",headers:n,body:JSON.stringify(o)},[4,je(function(){return fetch(t,r)})];case 1:return(i=e.sent()).ok?[4,i.json()]:[3,3];case 2:return o=e.sent(),[2,{fid:o.fid||s,registrationStatus:2,refreshToken:o.refreshToken,authToken:Ne(o.authToken)}];case 3:return[4,Pe("Create Installation",i)];case 4:throw e.sent()}})})}(r,i)];case 1:return t=e.sent(),[2,Ge(r,t)];case 2:return Ce(n=e.sent())&&409===n.customData.serverCode?[4,Je(r)]:[3,4];case 3:return e.sent(),[3,6];case 4:return[4,Ge(r,{fid:i.fid,registrationStatus:0})];case 5:e.sent(),e.label=6;case 6:throw n;case 7:return[2]}})})}(e,t);return{installationEntry:t,registrationPromise:e}}}(i,e);return t=e.registrationPromise,e.installationEntry})];case 1:return(n=e.sent()).fid!==Me?[3,3]:(r={},[4,t]);case 2:return[2,(r.installationEntry=e.sent(),r)];case 3:return[2,{installationEntry:n,registrationPromise:t}]}})})}function Ze(e){return Ye(e,function(e){if(!e)throw Oe.create("installation-not-found");return Qe(e)})}function Qe(e){return 1===(t=e).registrationStatus&&t.registrationTime+we<Date.now()?{fid:e.fid,registrationStatus:0}:e;var t}function et(e,a){var s=e.appConfig,c=e.platformLoggerProvider;return u(this,void 0,void 0,function(){var t,n,r,i,o;return f(this,function(e){switch(e.label){case 0:return t=function(e,t){t=t.fid;return Ae(e)+"/"+t+"/authTokens:generate"}(s,a),n=De(s,a),(o=c.getImmediate({optional:!0}))&&n.append("x-firebase-client",o.getPlatformInfoString()),o={installation:{sdkVersion:Ie}},r={method:"POST",headers:n,body:JSON.stringify(o)},[4,je(function(){return fetch(t,r)})];case 1:return(i=e.sent()).ok?[4,i.json()]:[3,3];case 2:return o=e.sent(),[2,Ne(o)];case 3:return[4,Pe("Generate Auth Token",i)];case 4:throw e.sent()}})})}function tt(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,Ye(i.appConfig,function(e){if(!rt(e))throw Oe.create("not-registered");var t,n=e.authToken;if(o||2!==(t=n).requestStatus||function(e){var t=Date.now();return t<e.creationTime||e.creationTime+e.expiresIn<t+Te}(t)){if(1===n.requestStatus)return r=function(n,r){return u(this,void 0,void 0,function(){var t;return f(this,function(e){switch(e.label){case 0:return[4,nt(n.appConfig)];case 1:t=e.sent(),e.label=2;case 2:return 1!==t.authToken.requestStatus?[3,5]:[4,Re(100)];case 3:return e.sent(),[4,nt(n.appConfig)];case 4:return t=e.sent(),[3,2];case 5:return 0===(t=t.authToken).requestStatus?[2,tt(n,r)]:[2,t]}})})}(i,o),e;if(!navigator.onLine)throw Oe.create("app-offline");n=(t=e,n={requestStatus:1,requestTime:Date.now()},l(l({},t),{authToken:n}));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,et(i,o)];case 1:return t=e.sent(),r=l(l({},o),{authToken:t}),[4,Ge(i.appConfig,r)];case 2:return e.sent(),[2,t];case 3:return!Ce(n=e.sent())||401!==n.customData.serverCode&&404!==n.customData.serverCode?[3,5]:[4,Je(i.appConfig)];case 4:return e.sent(),[3,7];case 5:return r=l(l({},o),{authToken:{requestStatus:0}}),[4,Ge(i.appConfig,r)];case 6:e.sent(),e.label=7;case 7:throw n;case 8:return[2]}})})}(i,n),n}return e})];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 nt(e){return Ye(e,function(e){if(!rt(e))throw Oe.create("not-registered");var t=e.authToken;return 1===(t=t).requestStatus&&t.requestTime+we<Date.now()?l(l({},e),{authToken:{requestStatus:0}}):e})}function rt(e){return void 0!==e&&2===e.registrationStatus}function it(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,Xe(n)];case 1:return(t=e.sent().registrationPromise)?[4,t]:[3,3];case 2:e.sent(),e.label=3;case 3:return[2]}})})}((t=n).appConfig)];case 1:return e.sent(),[4,tt(t,r)];case 2:return[2,e.sent().token]}})})}function ot(e){return Oe.create("missing-app-config-values",{valueName:e})}var at="installations";H(new _(at,function(e){e=e.getProvider("app").getImmediate();return{app:e,appConfig:function(e){var t,n;if(!e||!e.options)throw ot("App Configuration");if(!e.name)throw ot("App Name");try{for(var r=p(["projectId","apiKey","appId"]),i=r.next();!i.done;i=r.next()){var o=i.value;if(!e.options[o])throw ot(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}}(e),platformLoggerProvider:K(e,"platform-logger"),_delete:function(){return Promise.resolve()}}},"PUBLIC")),H(new _("installations-internal",function(e){var t=K(e.getProvider("app").getImmediate(),at).getImmediate();return{getId:function(){return function(i){return u(this,void 0,void 0,function(){var t,n,r;return f(this,function(e){switch(e.label){case 0:return[4,Xe((t=i).appConfig)];case 1:return n=e.sent(),r=n.installationEntry,(n.registrationPromise||tt(t)).catch(console.error),[2,r.fid]}})})}(t)},getToken:function(e){return it(t,e)}}},"PRIVATE")),ee("@firebase/installations","0.5.0");var st,ct,ut="0.5.0",lt="FB-PERF-TRACE-MEASURE",ft="@firebase/performance/config",pt="@firebase/performance/configexpire",dt="Performance",$=(($={})["trace started"]="Trace {$traceName} was started before.",$["trace stopped"]="Trace {$traceName} is not running.",$["nonpositive trace startTime"]="Trace {$traceName} startTime should be positive.",$["nonpositive trace duration"]="Trace {$traceName} duration should be positive.",$["no window"]="Window is not available.",$["no app id"]="App id is not available.",$["no project id"]="Project id is not available.",$["no api key"]="Api key is not available.",$["invalid cc log"]="Attempted to queue invalid cc event",$["FB not default"]="Performance can only start when Firebase app instance is the default one.",$["RC response not ok"]="RC response is not ok",$["invalid attribute name"]="Attribute name {$attributeName} is invalid.",$["invalid attribute value"]="Attribute value {$attributeValue} is invalid.",$["invalid custom metric name"]="Custom metric name {$customMetricName} is invalid",$["invalid String merger input"]="Input for String merger is invalid, contact support team to resolve.",$["already initialized"]="initializePerformance() has already been called with different options. To avoid this error, call initializePerformance() with the same options as when it was originally called, or call getPerformance() to return the already initialized instance.",$),ht=new m("performance",dt,$),mt=new D(dt);mt.logLevel=O.INFO;var gt,vt,yt=(bt.prototype.getUrl=function(){return this.windowLocation.href.split("?")[0]},bt.prototype.mark=function(e){this.performance&&this.performance.mark&&this.performance.mark(e)},bt.prototype.measure=function(e,t,n){this.performance&&this.performance.measure&&this.performance.measure(e,t,n)},bt.prototype.getEntriesByType=function(e){return this.performance&&this.performance.getEntriesByType?this.performance.getEntriesByType(e):[]},bt.prototype.getEntriesByName=function(e){return this.performance&&this.performance.getEntriesByName?this.performance.getEntriesByName(e):[]},bt.prototype.getTimeOrigin=function(){return this.performance&&(this.performance.timeOrigin||this.performance.timing.navigationStart)},bt.prototype.requiredApisAvailable=function(){return fetch&&Promise&&this.navigator&&this.navigator.cookieEnabled?"indexedDB"in self&&null!=indexedDB||(mt.info("IndexedDB is not supported by current browswer"),!1):(mt.info("Firebase Performance cannot start if browser does not support fetch and Promise or cookie is disabled."),!1)},bt.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]})},bt.getInstance=function(){return st=void 0===st?new bt(ct):st},bt);function bt(e){if(!(this.window=e))throw ht.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)}function _t(e,t){var n=e.length-t.length;if(n<0||1<n)throw ht.create("invalid String merger input");for(var r=[],i=0;i<e.length;i++)r.push(e.charAt(i)),t.length>i&&r.push(t.charAt(i));return r.join("")}var wt,It=(Et.prototype.getFlTransportFullUrl=function(){return this.flTransportEndpointUrl.concat("?key=",this.transportKey)},Et.getInstance=function(){return vt=void 0===vt?new Et:vt},Et);function Et(){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.flTransportEndpointUrl=_t("hts/frbslgigp.ogepscmv/ieo/eaylg","tp:/ieaeogn-agolai.o/1frlglgc/o"),this.transportKey=_t("AzSC8r6ReiGqFMyfvgow","Iayx0u-XT3vksVM-pIV"),this.logSource=462,this.logTraceAfterSampling=!1,this.logNetworkAfterSampling=!1,this.configTimeToLive=12}(dt=wt=wt||{})[dt.UNKNOWN=0]="UNKNOWN",dt[dt.VISIBLE=1]="VISIBLE",dt[dt.HIDDEN=2]="HIDDEN";var St=["firebase_","google_","ga_"],Tt=new RegExp("^[a-zA-Z]\\w*$");function Ot(){switch(yt.getInstance().document.visibilityState){case"visible":return wt.VISIBLE;case"hidden":return wt.HIDDEN;default:return wt.UNKNOWN}}function Ct(e){e=null===(e=e.options)||void 0===e?void 0:e.appId;if(!e)throw ht.create("no app id");return e}var At="0.0.1",Nt={loggingEnabled:!0},Pt="FIREBASE_INSTALLATIONS_AUTH";function kt(e,t){var r,i,n=function(){var e=yt.getInstance().localStorage;if(e){var t=e.getItem(pt);if(t&&function(e){return Number(e)>Date.now()}(t)){e=e.getItem(ft);if(e)try{return JSON.parse(e)}catch(e){return}}}}();return n?(jt(n),Promise.resolve()):(i=t,function(e){return(e=e.getToken()).then(function(e){}),e}((r=e).installations).then(function(e){var t=function(e){if(!(e=null===(e=e.options)||void 0===e?void 0:e.projectId))throw ht.create("no project id");return e}(r.app),n=function(e){if(!(e=null===(e=e.options)||void 0===e?void 0:e.apiKey))throw ht.create("no api key");return e}(r.app),e=new Request("https://firebaseremoteconfig.googleapis.com/v1/projects/"+t+"/namespaces/fireperf:fetch?key="+n,{method:"POST",headers:{Authorization:Pt+" "+e},body:JSON.stringify({app_instance_id:i,app_instance_id_token:e,app_id:Ct(r.app),app_version:ut,sdk_version:At})});return fetch(e).then(function(e){if(e.ok)return e.json();throw ht.create("RC response not ok")})}).catch(function(){mt.info(Dt)}).then(jt).then(function(e){var t;t=e,e=yt.getInstance().localStorage,t&&e&&(e.setItem(ft,JSON.stringify(t)),e.setItem(pt,String(Date.now()+60*It.getInstance().configTimeToLive*60*1e3)))},function(){}))}var Dt="Could not fetch config, will use default configs";function jt(e){if(!e)return e;var t=It.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),n.fpr_log_transport_key&&(t.transportKey=n.fpr_log_transport_key),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=Rt(t.tracesSamplingRate),t.logNetworkAfterSampling=Rt(t.networkRequestsSamplingRate),e}function Rt(e){return Math.random()<=e}var Lt,Mt=1;function xt(e){var t;return Mt=2,Lt=Lt||(t=e,function(){var n=yt.getInstance().document;return new Promise(function(e){var t;n&&"complete"!==n.readyState?(t=function(){"complete"===n.readyState&&(n.removeEventListener("readystatechange",t),e())},n.addEventListener("readystatechange",t)):e()})}().then(function(){return(e=(e=t.installations).getId()).then(function(e){gt=e}),e;var e}).then(function(e){return kt(t,e)}).then(Bt,Bt))}function Bt(){Mt=3}var Ft,Ut=1e4,qt=3,zt=1e3,Vt=qt,Ht=[],Kt=!1;function $t(e){setTimeout(function(){var e,t;if(0!==Vt)return Ht.length?(e=Ht.splice(0,zt),t=e.map(function(e){return{source_extension_json_proto3:e.message,event_time_ms:String(e.eventTime)}}),void function(e,r){return function(e){var t=It.getInstance().getFlTransportFullUrl();return fetch(t,{method:"POST",body:JSON.stringify(e)})}(e).then(function(e){return e.ok||mt.info("Call to Firebase backend failed."),e.json()}).then(function(e){var t=Number(e.nextRequestWaitMillis),n=Ut;isNaN(t)||(n=Math.max(t,n));e=e.logResponseDetails;Array.isArray(e)&&0<e.length&&"RETRY_REQUEST_LATER"===e[0].responseAction&&(Ht=a(a([],r),Ht),mt.info("Retry transport request later.")),Vt=qt,$t(n)})}({request_time_ms:String(Date.now()),client_info:{client_type:1,js_client_info:{}},log_source:It.getInstance().logSource,log_event:t},e).catch(function(){Ht=a(a([],e),Ht),Vt--,mt.info("Tries left: "+Vt+"."),$t(Ut)})):$t(Ut)},e)}function Wt(n){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];!function(e){if(!e.eventTime||!e.message)throw ht.create("invalid cc log");Ht=a(a([],Ht),[e])}({message:n.apply(void 0,e),eventTime:Date.now()})}}function Gt(e,t){(Ft=Ft||Wt(Xt))(e,t)}function Jt(e){var t=It.getInstance();!t.instrumentationEnabled&&e.isAuto||(t.dataCollectionEnabled||e.isAuto)&&yt.getInstance().requiredApisAvailable()&&(e.isAuto&&Ot()!==wt.VISIBLE||(3===Mt?Yt(e):xt(e.performanceController).then(function(){return Yt(e)},function(){return Yt(e)})))}function Yt(e){var t;!gt||(t=It.getInstance()).loggingEnabled&&t.logTraceAfterSampling&&setTimeout(function(){return Gt(e,1)},0)}function Xt(e,t){return 0===t?(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},t={application_info:Zt(e.performanceController.app),network_request_metric:t},JSON.stringify(t)):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=e.counters);var n=e.getAttributes();0!==Object.keys(n).length&&(t.custom_attributes=n);t={application_info:Zt(e.performanceController.app),trace_metric:t};return JSON.stringify(t)}(e)}function Zt(e){return{google_app_id:Ct(e),app_instance_id:gt,web_app_info:{sdk_version:ut,page_url:yt.getInstance().getUrl(),service_worker_status:"serviceWorker"in(e=yt.getInstance().navigator)?e.serviceWorker.controller?2:3:1,visibility_state:Ot(),effective_connection_type:function(){var e=yt.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}}var Qt=["_fp","_fcp","_fid"];var en=(tn.prototype.start=function(){if(1!==this.state)throw ht.create("trace started",{traceName:this.name});this.api.mark(this.traceStartMark),this.state=2},tn.prototype.stop=function(){if(2!==this.state)throw ht.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(),Jt(this)},tn.prototype.record=function(e,t,n){if(e<=0)throw ht.create("nonpositive trace startTime",{traceName:this.name});if(t<=0)throw ht.create("nonpositive trace duration",{traceName:this.name});if(this.durationUs=Math.floor(1e3*t),this.startTimeUs=Math.floor(1e3*e),n&&n.attributes&&(this.customAttributes=l({},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])))}Jt(this)},tn.prototype.incrementMetric=function(e,t){void 0===t&&(t=1),void 0===this.counters[e]?this.putMetric(e,t):this.putMetric(e,this.counters[e]+t)},tn.prototype.putMetric=function(e,t){if(n=e,r=this.name,0===n.length||100<n.length||!(r&&r.startsWith("_wt_")&&-1<Qt.indexOf(n))&&n.startsWith("_"))throw ht.create("invalid custom metric name",{customMetricName:e});var n,r;this.counters[e]=(e=t,(t=Math.floor(e))<e&&mt.info("Metric value should be an Integer, setting the value as : "+t+"."),t)},tn.prototype.getMetric=function(e){return this.counters[e]||0},tn.prototype.putAttribute=function(e,t){var n,r,i=!(0===(n=e).length||40<n.length)&&(!St.some(function(e){return n.startsWith(e)})&&!!n.match(Tt)),r=0!==(r=t).length&&r.length<=100;if(i&&r)this.customAttributes[e]=t;else{if(!i)throw ht.create("invalid attribute name",{attributeName:e});if(!r)throw ht.create("invalid attribute value",{attributeValue:t})}},tn.prototype.getAttribute=function(e){return this.customAttributes[e]},tn.prototype.removeAttribute=function(e){void 0!==this.customAttributes[e]&&delete this.customAttributes[e]},tn.prototype.getAttributes=function(){return l({},this.customAttributes)},tn.prototype.setStartTime=function(e){this.startTimeUs=e},tn.prototype.setDuration=function(e){this.durationUs=e},tn.prototype.calculateTraceMetrics=function(){var e=this.api.getEntriesByName(this.traceMeasure),e=e&&e[0];e&&(this.durationUs=Math.floor(1e3*e.duration),this.startTimeUs=Math.floor(1e3*(e.startTime+this.api.getTimeOrigin())))},tn.createOobTrace=function(e,t,n,r){var i=yt.getInstance().getUrl();i&&(e=new tn(e,"_wt_"+i,!0),i=Math.floor(1e3*yt.getInstance().getTimeOrigin()),e.setStartTime(i),t&&t[0]&&(e.setDuration(Math.floor(1e3*t[0].duration)),e.putMetric("domInteractive",Math.floor(1e3*t[0].domInteractive)),e.putMetric("domContentLoadedEventEnd",Math.floor(1e3*t[0].domContentLoadedEventEnd)),e.putMetric("loadEventEnd",Math.floor(1e3*t[0].loadEventEnd))),n&&((t=n.find(function(e){return"first-paint"===e.name}))&&t.startTime&&e.putMetric("_fp",Math.floor(1e3*t.startTime)),(n=n.find(function(e){return"first-contentful-paint"===e.name}))&&n.startTime&&e.putMetric("_fcp",Math.floor(1e3*n.startTime)),r&&e.putMetric("_fid",Math.floor(1e3*r))),Jt(e))},tn.createUserTimingTrace=function(e,t){Jt(new tn(e,t,!1,t))},tn);function tn(e,t,n,r){void 0===n&&(n=!1),this.performanceController=e,this.name=t,this.isAuto=n,this.state=1,this.customAttributes={},this.counters={},this.api=yt.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=r||lt+"-"+this.randomId+"-"+this.name,r&&this.calculateTraceMetrics())}function nn(e,t){var n,r,i,o=t;o&&void 0!==o.responseStart&&(r=yt.getInstance().getTimeOrigin(),i=Math.floor(1e3*(o.startTime+r)),t=o.responseStart?Math.floor(1e3*(o.responseStart-o.startTime)):void 0,r=Math.floor(1e3*(o.responseEnd-o.startTime)),o={performanceController:e,url:o.name&&o.name.split("?")[0],responsePayloadBytes:o.transferSize,startTimeUs:i,timeToResponseInitiatedUs:t,timeToResponseCompletedUs:r},n=o,(i=It.getInstance()).instrumentationEnabled&&(t=n.url,r=i.logEndPointUrl.split("?")[0],o=i.flTransportEndpointUrl.split("?")[0],t!==r&&t!==o&&i.loggingEnabled&&i.logNetworkAfterSampling&&s