1(()=>{var Re=()=>{return};var Me=function(e){let t=[],n=0;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);if(i<128)t[n++]=i;else if(i<2048)t[n++]=i>>6|192,t[n++]=i&63|128;else if((i&64512)===55296&&r+1<e.length&&(e.charCodeAt(r+1)&64512)===56320)i=65536+((i&1023)<<10)+(e.charCodeAt(++r)&1023),t[n++]=i>>18|240,t[n++]=i>>12&63|128,t[n++]=i>>6&63|128,t[n++]=i&63|128;else t[n++]=i>>12|224,t[n++]=i>>6&63|128,t[n++]=i&63|128}return t},Wt=function(e){let t=[],n=0,r=0;while(n<e.length){let i=e[n++];if(i<128)t[r++]=String.fromCharCode(i);else if(i>191&&i<224){let o=e[n++];t[r++]=String.fromCharCode((i&31)<<6|o&63)}else if(i>239&&i<365){let o=e[n++],s=e[n++],c=e[n++],u=((i&7)<<18|(o&63)<<12|(s&63)<<6|c&63)-65536;t[r++]=String.fromCharCode(55296+(u>>10)),t[r++]=String.fromCharCode(56320+(u&1023))}else{let o=e[n++],s=e[n++];t[r++]=String.fromCharCode((i&15)<<12|(o&63)<<6|s&63)}}return t.join("")},xe={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:typeof atob==="function",encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();let n=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,r=[];for(let i=0;i<e.length;i+=3){let o=e[i],s=i+1<e.length,c=s?e[i+1]:0,u=i+2<e.length,a=u?e[i+2]:0,O=o>>2,R=(o&3)<<4|c>>4,H=(c&15)<<2|a>>6,j=a&63;if(!u){if(j=64,!s)H=64}r.push(n[O],n[R],n[H],n[j])}return r.join("")},encodeString(e,t){if(this.HAS_NATIVE_SUPPORT&&!t)return btoa(e);return this.encodeByteArray(Me(e),t)},decodeString(e,t){if(this.HAS_NATIVE_SUPPORT&&!t)return atob(e);return Wt(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();let n=t?this.charToByteMapWebSafe_:this.charToByteMap_,r=[];for(let i=0;i<e.length;){let o=n[e.charAt(i++)],c=i<e.length?n[e.charAt(i)]:0;++i;let a=i<e.length?n[e.charAt(i)]:64;++i;let R=i<e.length?n[e.charAt(i)]:64;if(++i,o==null||c==null||a==null||R==null)throw new Be;let H=o<<2|c>>4;if(r.push(H),a!==64){let j=c<<4&240|a>>2;if(r.push(j),R!==64){let Kt=a<<6&192|R;r.push(Kt)}}}return r},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e<this.ENCODED_VALS.length;e++)if(this.byteToCharMap_[e]=this.ENCODED_VALS.charAt(e),this.charToByteMap_[this.byteToCharMap_[e]]=e,this.byteToCharMapWebSafe_[e]=this.ENCODED_VALS_WEBSAFE.charAt(e),this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[e]]=e,e>=this.ENCODED_VALS_BASE.length)this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e}}};class Be extends Error{constructor(){super(...arguments);this.name="DecodeBase64StringError"}}var zt=function(e){let t=Me(e);return xe.encodeByteArray(t,!0)},Y=function(e){return zt(e).replace(/\./g,"")},Fe=function(e){try{return xe.decodeString(e,!0)}catch(t){console.error("base64Decode failed: ",t)}return null};function qt(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw Error("Unable to locate global object.")}var Gt=()=>qt().__FIREBASE_DEFAULTS__,Jt=()=>{if(typeof process>"u"||typeof process.env>"u")return;let e=process.env.__FIREBASE_DEFAULTS__;if(e)return JSON.parse(e)},Qt=()=>{if(typeof document>"u")return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch(n){return}let t=e&&Fe(e[1]);return t&&JSON.parse(t)},Yt=()=>{try{return Re()||Gt()||Jt()||Qt()}catch(e){console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);return}};var X=()=>Yt()?.config;class Z{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}wrapCallback(e){return(t,n)=>{if(t)this.reject(t);else this.resolve(n);if(typeof e==="function")if(this.promise.catch(()=>{}),e.length===1)e(t);else e(t,n)}}}function U(){try{return typeof indexedDB==="object"}catch(e){return!1}}function V(){return new Promise((e,t)=>
1{try{let n=!0,r="validate-browser-context-for-indexeddb-analytics-module",i=self.indexedDB.open(r);i.onsuccess=()=>{if(i.result.close(),!n)self.indexedDB.deleteDatabase(r);e(!0)},i.onupgradeneeded=()=>{n=!1},i.onerror=()=>{t(i.error?.message||"")}}catch(n){t(n)}})}var Xt="FirebaseError";class b extends Error{constructor(e,t,n){super(t);if(this.code=e,this.customData=n,this.name=Xt,Object.setPrototypeOf(this,b.prototype),Error.captureStackTrace)Error.captureStackTrace(this,_.prototype.create)}}class _{constructor(e,t,n){this.service=e,this.serviceName=t,this.errors=n}create(e,...t){let n=t[0]||{},r=`${this.service}/${e}`,i=this.errors[e],o=i?Zt(i,n):"Error",s=`${this.serviceName}: ${o} (${r}).`;return new b(r,s,n)}}function Zt(e,t){try{let n=0,r="";while(n<e.length){let i=e.indexOf("{$",n);if(i===-1){r+=e.substring(n);break}let o=e.indexOf("}",i+2);if(o===-1){r+=e.substring(n);break}let s=e.substring(i+2,o),c=t[s];r+=e.substring(n,i)+(c!=null?String(c):`<${s}?>`),n=o+1}return r}catch(n){return e}}function K(e,t){if(e===t)return!0;let n=Object.keys(e),r=Object.keys(t);for(let i of n){if(!r.includes(i))return!1;let o=e[i],s=t[i];if(Ne(o)&&Ne(s)){if(!K(o,s))return!1}else if(o!==s)return!1}for(let i of r)if(!n.includes(i))return!1;return!0}function Ne(e){return e!==null&&typeof e==="object"}function ee(e){if(e&&e._delegate)return e._delegate;else return e}class l{constructor(e,t,n){this.name=e,this.instanceFactory=t,this.type=n,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}var I="[DEFAULT]";class Le{constructor(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}get(e){let t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){let n=new Z;if(this.instancesDeferred.set(t,n),this.isInitialized(t)||this.shouldAutoInitialize())try{let r=this.getOrInitializeService({instanceIdentifier:t});if(r)n.resolve(r)}catch(r){}}return this.instancesDeferred.get(t).promise}getImmediate(e){let t=this.normalizeInstanceIdentifier(e?.identifier),n=e?.optional??!1;if(this.isInitialized(t)||this.shouldAutoInitialize())try{return this.getOrInitializeService({instanceIdentifier:t})}catch(r){if(n)return null;else throw r}else if(n)return null;else throw Error(`Service ${this.name} is not available`)}getComponent(){return this.component}setComponent(e){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())return;if(tn(e))try{this.getOrInitializeService({instanceIdentifier:I})}catch(t){}for(let[t,n]of this.instancesDeferred.entries()){let r=this.normalizeInstanceIdentifier(t);try{let i=this.getOrInitializeService({instanceIdentifier:r});n.resolve(i)}catch(i){}}}clearInstance(e=I){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){let e=Array.from(this.instances.values());await Promise.all([...e.filter((t)=>("INTERNAL"in t)).map((t)=>t.INTERNAL.delete()),...e.filter((t)=>("_delete"in t)).map((t)=>t._delete())])}isComponentSet(){return this.component!=null}isInitialized(e=I){return this.instances.has(e)}getOptions(e=I){return this.instancesOptions.get(e)||{}}initialize(e={}){let{options:t={}}=e,n=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(n))throw Error(`${this.name}(${n}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);let r=this.getOrInitializeService({instanceIdentifier:n,options:t});for(let[i,o]of this.instancesDeferred.entries()){let s=this.normalizeInstanceIdentifier(i);if(n===s)o.resolve(r)}return r}onInit(e,t){let n=this.normalizeInstanceIdentifier(t),r=this.onInitCallbacks.get(n)??new Set;r.add(e),this.onInitCallbacks.set(n,r);let i=this.instances.get(n);if(i)e(i,n);return()=>{r.delete(e)}}invokeOnInitCallbacks(e,t){let n=this.onInitCallbacks.get(t);if(!n)return;for(let r of n)try{r(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let n=this.instances.get(e);if(!n&&this.component){if(n=this.component.instanceFactory(this.container,{instanceIdentifier:en(e),options:t}),this.instances.set(e,n),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(n,e),this.component.onInstanceCreated)try{this.component.onInstanceCreated(this.container,e,n)}catch{}}return n||null}normalizeInstanceIdentifier(e=I){if(this.component)return this.component.multipleInstances?e:I;else return e}shouldAutoInitialize(){return!!this.component&&this.component.instantiationMode!=="EXPLICIT"}}function en(e){return e===I?void 0:e}function tn(e){return e.instantiationMode==="EAGER"}class te{constructor(e){this.name=e,this.providers=new Map}addComponent(e){let t=this.getProvider(e.name);if(t.isComponentSet())throw Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){if(this.getProvider(e.name).isComponentSet())this.providers.delete(e.name);this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);let t=new Le(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}var nn=[],f;(function(e){e[e.DEBUG=0]="DEBUG",e[e.VERBOSE=1]="VERBOSE",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.E
1RROR=4]="ERROR",e[e.SILENT=5]="SILENT"})(f||(f={}));var rn={debug:f.DEBUG,verbose:f.VERBOSE,info:f.INFO,warn:f.WARN,error:f.ERROR,silent:f.SILENT},on=f.INFO,sn={[f.DEBUG]:"log",[f.VERBOSE]:"log",[f.INFO]:"info",[f.WARN]:"warn",[f.ERROR]:"error"},an=(e,t,...n)=>{if(t<e.logLevel)return;let r=new Date().toISOString(),i=sn[t];if(i)console[i](`[${r}] ${e.name}:`,...n);else throw Error(`Attempted to log a message with an invalid logType (value: ${t})`)};class ne{constructor(e){this.name=e,this._logLevel=on,this._logHandler=an,this._userLogHandler=null,nn.push(this)}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in f))throw TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel=typeof e==="string"?rn[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if(typeof e!=="function")throw TypeError("Value assigned to `logHandler` must be a function");this._logHandler=e}get userLogHandler(){return this._userLogHandler}set userLogHandler(e){this._userLogHandler=e}debug(...e){this._userLogHandler&&this._userLogHandler(this,f.DEBUG,...e),this._logHandler(this,f.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,f.VERBOSE,...e),this._logHandler(this,f.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,f.INFO,...e),this._logHandler(this,f.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,f.WARN,...e),this._logHandler(this,f.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,f.ERROR,...e),this._logHandler(this,f.ERROR,...e)}}var cn=(e,t)=>t.some((n)=>e instanceof n),Pe,$e;function un(){return Pe||(Pe=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function fn(){return $e||($e=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var He=new WeakMap,ie=new WeakMap,je=new WeakMap,re=new WeakMap,se=new WeakMap;function dn(e){let t=new Promise((n,r)=>{let i=()=>{e.removeEventListener("success",o),e.removeEventListener("error",s)},o=()=>{n(h(e.result)),i()},s=()=>{r(e.error),i()};e.addEventListener("success",o),e.addEventListener("error",s)});return t.then((n)=>{if(n instanceof IDBCursor)He.set(n,e)}).catch(()=>{}),se.set(t,e),t}function ln(e){if(ie.has(e))return;let t=new Promise((n,r)=>{let i=()=>{e.removeEventListener("complete",o),e.removeEventListener("error",s),e.removeEventListener("abort",s)},o=()=>{n(),i()},s=()=>{r(e.error||new DOMException("AbortError","AbortError")),i()};e.addEventListener("complete",o),e.addEventListener("error",s),e.addEventListener("abort",s)});ie.set(e,t)}var oe={get(e,t,n){if(e instanceof IDBTransaction){if(t==="done")return ie.get(e);if(t==="objectStoreNames")return e.objectStoreNames||je.get(e);if(t==="store")return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return h(e[t])},set(e,t,n){return e[t]=n,!0},has(e,t){if(e instanceof IDBTransaction&&(t==="done"||t==="store"))return!0;return t in e}};function Ue(e){oe=e(oe)}function hn(e){if(e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype))return function(t,...n){let r=e.call(W(this),t,...n);return je.set(r,t.sort?t.sort():[t]),h(r)};if(fn().includes(e))return function(...t){return e.apply(W(this),t),h(He.get(this))};return function(...t){return h(e.apply(W(this),t))}}function pn(e){if(typeof e==="function")return hn(e);if(e instanceof IDBTransaction)ln(e);if(cn(e,un()))return new Proxy(e,oe);return e}function h(e){if(e instanceof IDBRequest)return dn(e);if(re.has(e))return re.get(e);let t=pn(e);if(t!==e)re.set(e,t),se.set(t,e);return t}var W=(e)=>se.get(e);function v(e,t,{blocked:n,upgrade:r,blocking:i,terminated:o}={}){let s=indexedDB.open(e,t),c=h(s);if(r)s.addEventListener("upgradeneeded",(u)=>{r(h(s.result),u.oldVersion,u.newVersion,h(s.transaction),u)});if(n)s.addEventListener("blocked",(u)=>n(u.oldVersion,u.newVersion,u));return c.then((u)=>{if(o)u.addEventListener("close",()=>o());if(i)u.addEventListener("versionchange",(a)=>i(a.oldVersion,a.newVersion,a))}).catch(()=>{}),c}function N(e,{blocked:t}={}){let n=indexedDB.deleteDatabase(e);if(t)n.addEventListener("blocked",(r)=>t(r.oldVersion,r));return h(n).then(()=>{return})}var gn=["get","getKey","getAll","getAllKeys","count"],bn=["put","add","delete","clear"],ae=new Map;function Ve(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t==="string"))return;if(ae.get(t))return ae.get(t);let n=t.replace(/FromIndex$/,""),r=t!==n,i=bn.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!(i||gn.includes(n)))return;let o=async function(s,...c){let u=this.transaction(s,i?"readwrite":"readonly"),a=u.store;if(r)a=a.index(c.shift());return(await Promise.all([a[n](...c),i&&u.done]))[0]};return ae.set(t,o),o}Ue((e)=>
1({...e,get:(t,n,r)=>Ve(t,n)||e.get(t,n,r),has:(t,n)=>!!Ve(t,n)||e.has(t,n)}));class Je{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map((t)=>{if(mn(t)){let n=t.getImmediate();return`${n.library}/${n.version}`}else return null}).filter((t)=>t).join(" ")}}function mn(e){return e.getComponent()?.type==="VERSION"}var ue="@firebase/app",Ke="0.16.2",w=new ne("@firebase/app"),wn="@firebase/app-compat",yn="@firebase/analytics-compat",_n="@firebase/analytics",En="@firebase/app-check-compat",Sn="@firebase/app-check",In="@firebase/auth",vn="@firebase/auth-compat",An="@firebase/database",Tn="@firebase/data-connect",Dn="@firebase/database-compat",Cn="@firebase/functions",kn="@firebase/functions-compat",On="@firebase/installations",Rn="@firebase/installations-compat",Nn="@firebase/messaging",Mn="@firebase/messaging-compat",xn="@firebase/performance",Bn="@firebase/performance-compat",Fn="@firebase/remote-config",Ln="@firebase/remote-config-compat",Pn="@firebase/storage",$n="@firebase/storage-compat",Hn="@firebase/firestore",jn="@firebase/ai",Un="@firebase/firestore-compat",Vn="firebase";var fe="[DEFAULT]",Kn={[ue]:"fire-core",[wn]:"fire-core-compat",[_n]:"fire-analytics",[yn]:"fire-analytics-compat",[Sn]:"fire-app-check",[En]:"fire-app-check-compat",[In]:"fire-auth",[vn]:"fire-auth-compat",[An]:"fire-rtdb",[Tn]:"fire-data-connect",[Dn]:"fire-rtdb-compat",[Cn]:"fire-fn",[kn]:"fire-fn-compat",[On]:"fire-iid",[Rn]:"fire-iid-compat",[Nn]:"fire-fcm",[Mn]:"fire-fcm-compat",[xn]:"fire-perf",[Bn]:"fire-perf-compat",[Fn]:"fire-rc",[Ln]:"fire-rc-compat",[Pn]:"fire-gcs",[$n]:"fire-gcs-compat",[Hn]:"fire-fst",[Un]:"fire-fst-compat",[jn]:"fire-vertex","fire-js":"fire-js",[Vn]:"fire-js-all"},z=new Map,Wn=new Map,de=new Map;function We(e,t){try{e.container.addComponent(t)}catch(n){w.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,n)}}function S(e){let t=e.name;if(de.has(t))return w.debug(`There were multiple attempts to register component ${t}.`),!1;de.set(t,e);for(let n of z.values())We(n,e);for(let n of Wn.values())We(n,e);return!0}function x(e,t){let n=e.container.getProvider("heartbeat").getImmediate({optional:!0});if(n)n.triggerHeartbeat();return e.container.getProvider(t)}var zn={["no-app"]:"No Firebase App '{$appName}' has been created - call initializeApp() first",["bad-app-name"]:"Illegal App name: '{$appName}'",["duplicate-app"]:"Firebase App named '{$appName}' already exists with different {$mismatchedParam}. Existing: '{$oldValue}'. New: '{$newValue}'.",["app-deleted"]:"Firebase App named '{$appName}' already deleted",["server-app-deleted"]:"Firebase Server App has been deleted",["no-options"]:"Need to provide options, when not being deployed to hosting via source.",["invalid-app-argument"]:"firebase.{$appName}() takes either no argument or a Firebase App instance.",["invalid-log-argument"]:"First argument to `onLog` must be null or a function.",["idb-open"]:"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.",["idb-get"]:"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.",["idb-set"]:"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.",["idb-delete"]:"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.",["finalization-registry-not-supported"]:"FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.",["invalid-server-app-environment"]:"FirebaseServerApp is not for use in browser environments."},m=new _("app","Firebase",zn);class Qe{constructor(e,t,n){this._isDeleted=!1,this._options={...e},this._config={...t},this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=n,this.container.addComponent(new l("app",()=>this,"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw m.create("app-deleted",{appName:this._name})}}function le(e,t={}){let n=e;if(typeof t!=="object")t={name:t};let r={name:fe,automaticDataCollectionEnabled:!0,...t},i=r.name;if(typeof i!=="string"||!i)throw m.create("bad-app-name",{appName:String(i)});if(n||(n=X()),!n)throw m.create("no-options");let o=z.get(i);if(o)if(!K(n,o.options))throw m.create("duplicate-app",{appName:i,mismatchedParam:"options",oldValue:JSON.stringify(o.options),newValue:JSON.stringify(n)});else if(!K(r,o.config))throw m.create("duplicate-app",{appName:i,mismatchedParam:"config",oldValue:JSON.stringify(o.config),newValue:JSON.stringify(r)});else return o;let s=new te(i);for(let u of de.values())s.addComponent(u);let c=new Qe(n,r,s);return z.set(i,c),c}function he(e=fe){let t=z.get(e);if(!t&&e===fe&&X())return le();if(!t)throw m.create("no-app",{appName:e});return t}function E(e,t,n){let r=Kn[e]??e;if(n)r+=`-${n}`;let i=r.match(/\s|\//),o=t.match(/\s|\//);if(i||o){let s=[`Unable to register library "${r}" with version "${t}":`];if(i)s.push(`library name "${r}" contains illegal characters (whitespace or "/")`);if(i&&o)s.push("and");if(o)s.push(`version name "${t}" contains illegal characters (whitespace or "/")`);w.warn(s.join(" "));return}S(new l(`${r}-version`,()=>({library:r,version:t}),"VERSION"))}var qn="firebase-heartbeat-database",Gn=1,M="firebase-heartbeat-store",ce=null;function Ye(){if(!ce)ce=v(qn,Gn,{upgrade:(e,t)=>{switch(t){case 0:try{e.createObjectStore(M)}catch(n){console.warn(n)}}}}).catch((e)=>{throw m.create("idb-open",{originalErrorMessage:e.message})});return ce}async function Jn(e){try{let n=(await Ye()).transaction(M),r=await n.objectStore(M).get(Xe(e));return await n.done,r}catch(t){if(t instanceof b)w.warn(t.message);else{let n=m.create("idb-get",{originalErrorMessage:t?.message});w.warn(n.message)}}}async function ze(e,t){try{let r=(await Ye()).transaction(M,"readwrite");await r.objectStore(M).put(t,Xe(e)),await r.done}catch(n){if(n instanceof b)w.warn(n.message);else{let r=m.create("idb-set",{originalErrorMessage:n?.message});w.warn(r.message)}}}function Xe(e){return`${e.name}!${e.options.appId}`}var Qn=1024,Yn=30;class Ze{constructor(e){this.container=e,this._heartbeatsCache=null;let t=this.container.getProvider("app").getImmediate();this._storage=new et(t),this._heartbeatsCachePromise=this._storage.read().then((n)=>(this._heartbeatsCache=n,n))}async triggerHeartbeat(){try{let t=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),n=qe();if(this._heartbeatsCache?.heartbeats==null){if(this._heartbeatsCache=await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null)return}if(this._heartbeatsCache.lastSentHeartbeatDate===n||this._heartbeatsCache.heartbeats.some((r)=>r.date===n))return;else if(this._heartbeatsCache.heartbeats.push({date:n,agent:t}),this._heartbeatsCache.heartbeats.length>Yn){let r=Zn(this._heartbeatsCache.heartbeats);this._heartbeatsCache.heartbeats.splice(r,1)}return this._storage.overwrite(this._heartbeatsCache)}catch(e){w.warn(e)}}async getHeartbeatsHeader(){try{if(this._heartbeatsCache===null)await this._heartbeatsCachePromise;if(this._heartbeatsCache?.heartbeats==null||this._heartbeatsCache.heartbeats.length===0)return"";let e=qe(),{heartbeatsToSend:t,unsentEntries:n}=Xn(this._heartbeatsCache.heartbeats),r=Y(JSON.stringify({version:2,heartbeats:t}));if(this._heartbeatsCache.lastSentHeartbeatDate=e,n.length>0)this._heartbeatsCache.heartbeats=n,await this._storage.overwrite(this._heartbeatsCache);else this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache);return r}catch(e){return w.warn(e),""}}}function qe(){return new Date().toISOString().substring(0,10)}function Xn(e,t=Qn){let n=[],r=e.slice();for(let i of e){let o=n.find((s)=>s.agent===i.agent);if(!o){if(n.push({agent:i.agent,dates:[i.date]}),Ge(n)>t){n.pop();break}}else if(o.dates.push(i.date),Ge(n)>t){o.dates.pop();break}r=r.slice(1)}return{heartbeatsToSend:n,unsentEntries:r}}class et{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){if(!U())return!1;else return V().then(()=>!0).catch(()=>!1)}async read(){if(!await this._canUseIndexedDBPromise)return{heartbeats:[]};else{let t=await Jn(this.app);if(t?.heartbeats)return t;else return{heartbeats:[]}}}async overwrite(e){if(!await this._canUseIndexedDBPromise)return;else{let n=await this.read();return ze(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??n.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){if(!await this._canUseIndexedDBPromise)return;else{let n=await this.read();return ze(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??n.lastSentHeartbeatDate,heartbeats:[...n.heartbeats,...e.heartbeats]})}}}function Ge(e){return Y(JSON.stringify({version:2,heartbeats:e})).length}function Zn(e){if(e.length===0)return-1;let t=0,n=e[0].date;for(let r=1;r<e.length;r++)if(e[r].date<n)n=e[r].date,t=r;return t}function er(e){S(new l("platform-logger",(t)=>new Je(t),"PRIVATE")),S(new l("heartbeat",(t)=>new Ze(t),"PRIVATE")),E(ue,Ke,e),E(ue,Ke,"esm2020"),E("fire-js","")}er("");var tr="firebase",nr="12.19.0";E(tr,nr,"app");var rt="@firebase/installations",me="0.6.24",it=1e4,ot=`w:${me}`,st="FIS_v2",rr="https://firebaseinstallations.googleapis.com/v1",ir=3600000,or="installations",sr="Installations",ar={["missing-app-config-values"]:'Missing App configuration value: "{$valueName}"',["not-registered"]:"Firebase Installation is not registered.",["installation-not-found"]:"Firebase Installation not found.",["request-failed"]:'{$requestName} request failed with error "{$serverCode} {$serverStatus}: {$serverMessage}"',["app-offline"]:"Could not process request. Application offline.",["delete-pending-registration"]:"Can't delete installation while there is a pending registration request."},T=new _(or,sr,ar);function at(e){return e instanceof b&&e.code.includes("request-failed")}function ct({projectId:e}){return`${rr}/projects/${e}/installations`}
1function ut(e){return{token:e.token,requestStatus:2,expiresIn:ur(e.expiresIn),creationTime:Date.now()}}async function ft(e,t){let r=(await t.json()).error;return T.create("request-failed",{requestName:e,serverCode:r.code,serverMessage:r.message,serverStatus:r.status})}function dt({apiKey:e}){return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":e})}function cr(e,{refreshToken:t}){let n=dt(e);return n.append("Authorization",fr(t)),n}async function lt(e){let t=await e();if(t.status>=500&&t.status<600)return e();return t}function ur(e){return Number(e.replace("s","000"))}function fr(e){return`${st} ${e}`}async function dr({appConfig:e,heartbeatServiceProvider:t},{fid:n}){let r=ct(e),i=dt(e),o=t.getImmediate({optional:!0});if(o){let a=await o.getHeartbeatsHeader();if(a)i.append("x-firebase-client",a)}let s={fid:n,authVersion:st,appId:e.appId,sdkVersion:ot},c={method:"POST",headers:i,body:JSON.stringify(s)},u=await lt(()=>fetch(r,c));if(u.ok){let a=await u.json();return{fid:a.fid||n,registrationStatus:2,refreshToken:a.refreshToken,authToken:ut(a.authToken)}}else throw await ft("Create Installation",u)}function ht(e){return new Promise((t)=>{setTimeout(t,e)})}function lr(e){return btoa(String.fromCharCode(...e)).replace(/\+/g,"-").replace(/\//g,"_")}var hr=/^[cdef][\w-]{21}$/,be="";function pr(){try{let e=new Uint8Array(17);(self.crypto||self.msCrypto).getRandomValues(e),e[0]=112+e[0]%16;let n=gr(e);return hr.test(n)?n:be}catch{return be}}function gr(e){return lr(e).substr(0,22)}function G(e){return`${e.appName}!${e.appId}`}var pt=new Map;function gt(e,t){let n=G(e);bt(n,t),br(n,t)}function bt(e,t){let n=pt.get(e);if(!n)return;for(let r of n)r(t)}function br(e,t){let n=mr();if(n)n.postMessage({key:e,fid:t});wr()}var A=null;function mr(){if(!A&&"BroadcastChannel"in self)A=new BroadcastChannel("[Firebase] FID Change"),A.onmessage=(e)=>{bt(e.data.key,e.data.fid)};return A}function wr(){if(pt.size===0&&A)A.close(),A=null}var yr="firebase-installations-database",_r=1,D="firebase-installations-store",pe=null;function we(){if(!pe)pe=v(yr,_r,{upgrade:(e,t)=>{switch(t){case 0:e.createObjectStore(D)}}});return pe}async function q(e,t){let n=G(e),i=(await we()).transaction(D,"readwrite"),o=i.objectStore(D),s=await o.get(n);if(await o.put(t,n),await i.done,!s||s.fid!==t.fid)gt(e,t.fid);return t}async function mt(e){let t=G(e),r=(await we()).transaction(D,"readwrite");await r.objectStore(D).delete(t),await r.done}async function J(e,t){let n=G(e),i=(await we()).transaction(D,"readwrite"),o=i.objectStore(D),s=await o.get(n),c=t(s);if(c===void 0)await o.delete(n);else await o.put(c,n);if(await i.done,c&&(!s||s.fid!==c.fid))gt(e,c.fid);return c}async function ye(e){let t,n=await J(e.appConfig,(r)=>{let i=Er(r),o=Sr(e,i);return t=o.registrationPromise,o.installationEntry});if(n.fid===be)return{installationEntry:await t};return{installationEntry:n,registrationPromise:t}}function Er(e){let t=e||{fid:pr(),registrationStatus:0};return wt(t)}function Sr(e,t){if(t.registrationStatus===0){if(!navigator.onLine){let i=Promise.reject(T.create("app-offline"));return{installationEntry:t,registrationPromise:i}}let n={fid:t.fid,registrationStatus:1,registrationTime:Date.now()},r=Ir(e,n);return{installationEntry:n,registrationPromise:r}}else if(t.registrationStatus===1)return{installationEntry:t,registrationPromise:vr(e)};else return{installationEntry:t}}async function Ir(e,t){try{let n=await dr(e,t);return q(e.appConfig,n)}catch(n){if(at(n)&&n.customData.serverCode===409)await mt(e.appConfig);else await q(e.appConfig,{fid:t.fid,registrationStatus:0});throw n}}async function vr(e){let t=await tt(e.appConfig);while(t.registrationStatus===1)await ht(100),t=await tt(e.appConfig);if(t.registrationStatus===0){let{installationEntry:n,registrationPromise:r}=await ye(e);if(r)return r;else return n}return t}function tt(e){return J(e,(t)=>{if(!t)throw T.create("installation-not-found");return wt(t)})}function wt(e){if(Ar(e))return{fid:e.fid,registrationStatus:0};return e}function Ar(e){return e.registrationStatus===1&&e.registrationTime+it<Date.now()}async function Tr({appConfig:e,heartbeatServiceProvider:t},n){let r=Dr(e,n),i=cr(e,n),o=t.getImmediate({optional:!0});if(o){let a=await o.getHeartbeatsHeader();if(a)i.append("x-firebase-client",a)}let s={installation:{sdkVersion:ot,appId:e.appId}},c={method:"POST",headers:i,body:JSON.stringify(s)},u=await lt(()=>fetch(r,c));if(u.ok){let a=await u.json();return ut(a)}else throw await ft("Generate Auth Token",u)}function Dr(e,{fid:t}){return`${ct(e)}/${t}/authTokens:generate`}async function _e(e,t=!1){let n,r=await J(e.appConfig,(o)=>{if(!yt(o))throw T.create("not-registered");let s=o.authToken;if(!t&&Or(s))return o;else if(s.requestStatus===1)return n=Cr(e,t),o;else{if(!navigator.onLine)throw T.create("app-offline");let c=Nr(o);return n=kr(e,c),c}});return n?await n:r.authToken}async function Cr(e,t){let n=await nt(e.appConfig);while(n.authToken.requestStatus===1)await ht(100),n=await nt(e.appConfig);let r=n.authToken;if(r.requestStatus===0)return _e(e,t);else return r}function nt(e){return J(e,(t)=>{if(!yt(t))throw T.create("not-registered");let n=t.authToken;if(Mr(n))return{...t,authToken:{requestStatus:0}};return t})}async function kr(e,t){try{let n=await Tr(e,t),r={...t,authToken:n};return await q(e.appConfig,r),n}catch(n){if(at(n)&&(n.customData.serverCode===401||n.customData.serverCode===404))await mt(e.appConfig);else{let r={...t,authToken:{requestStatus:0}};await q(e.appConfig,r)}throw n}}function yt(e){return e!==void 0&&e.registrationStatus===2}function Or(e){return e.requestStatus===2&&!Rr(e)}function Rr(e){let t=Date.now();
1return t<e.creationTime||e.creationTime+e.expiresIn<t+ir}function Nr(e){let t={requestStatus:1,requestTime:Date.now()};return{...e,authToken:t}}function Mr(e){return e.requestStatus===1&&e.requestTime+it<Date.now()}async function xr(e){let t=e,{installationEntry:n,registrationPromise:r}=await ye(t);if(r)r.catch(console.error);else _e(t).catch(console.error);return n.fid}async function Br(e,t=!1){let n=e;return await Fr(n),(await _e(n,t)).token}async function Fr(e){let{registrationPromise:t}=await ye(e);if(t)await t}function Lr(e){if(!e||!e.options)throw ge("App Configuration");if(!e.name)throw ge("App Name");let t=["projectId","apiKey","appId"];for(let n of t)if(!e.options[n])throw ge(n);return{appName:e.name,projectId:e.options.projectId,apiKey:e.options.apiKey,appId:e.options.appId}}function ge(e){return T.create("missing-app-config-values",{valueName:e})}var _t="installations",Pr="installations-internal",$r=(e)=>{let t=e.getProvider("app").getImmediate(),n=Lr(t),r=x(t,"heartbeat");return{app:t,appConfig:n,heartbeatServiceProvider:r,_delete:()=>Promise.resolve()}},Hr=(e)=>{let t=e.getProvider("app").getImmediate(),n=x(t,_t).getImmediate();return{getId:()=>xr(n),getToken:(i)=>Br(n,i)}};function jr(){S(new l(_t,$r,"PUBLIC")),S(new l(Pr,Hr,"PRIVATE"))}jr();E(rt,me);E(rt,me,"esm2020");var Ie="BDOU99-h67HcA6JeFXHbSNMu7e2yNNu3RzoMj8TM4W88jITfq7ZmPvIM1Iv-4_l2LxQcYwhqby2xGpWwzjfAnG4",Ur="https://fcmregistrations.googleapis.com/v1",Mt="FCM_MSG",Vr="google.c.a.c_id",Et=1000,St=3,xt=86400000,Kr=5000,Wr=1249,zr=3,qr=1,Q;(function(e){e[e.DATA_MESSAGE=1]="DATA_MESSAGE",e[e.DISPLAY_NOTIFICATION=3]="DISPLAY_NOTIFICATION"})(Q||(Q={}));var F;(function(e){e.PUSH_RECEIVED="push-received",e.NOTIFICATION_CLICKED="notification-clicked",e.FID_REGISTERED="fid-registered"})(F||(F={}));function p(e){let t=new Uint8Array(e);return btoa(String.fromCharCode(...t)).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Bt(e){let t="=".repeat((4-e.length%4)%4),n=(e+t).replace(/\-/g,"+").replace(/_/g,"/"),r=atob(n),i=new Uint8Array(r.length);for(let o=0;o<r.length;++o)i[o]=r.charCodeAt(o);return i}var Ee="fcm_token_details_db",Gr=5,It="fcm_token_object_Store";async function Jr(e){if("databases"in indexedDB){if(!(await indexedDB.databases()).map((o)=>o.name).includes(Ee))return null}let t=null;return(await v(Ee,Gr,{upgrade:async(r,i,o,s)=>{if(i<2)return;if(!r.objectStoreNames.contains(It))return;let c=s.objectStore(It),u=await c.index("fcmSenderId").get(e);if(await c.clear(),!u)return;if(i===2){let a=u;if(!a.auth||!a.p256dh||!a.endpoint)return;t={token:a.fcmToken,createTime:a.createTime??Date.now(),subscriptionOptions:{auth:a.auth,p256dh:a.p256dh,endpoint:a.endpoint,swScope:a.swScope,vapidKey:typeof a.vapidKey==="string"?a.vapidKey:p(a.vapidKey)}}}else if(i===3){let a=u;t={token:a.fcmToken,createTime:a.createTime,subscriptionOptions:{auth:p(a.auth),p256dh:p(a.p256dh),endpoint:a.endpoint,swScope:a.swScope,vapidKey:p(a.vapidKey)}}}else if(i===4){let a=u;t={token:a.fcmToken,createTime:a.createTime,subscriptionOptions:{auth:p(a.auth),p256dh:p(a.p256dh),endpoint:a.endpoint,swScope:a.swScope,vapidKey:p(a.vapidKey)}}}}})).close(),await N(Ee),await N("fcm_vapid_details_db"),await N("undefined"),Qr(t)?t:null}function Qr(e){if(!e||!e.subscriptionOptions)return!1;let{subscriptionOptions:t}=e;return typeof e.createTime==="number"&&e.createTime>0&&typeof e.token==="string"&&e.token.length>0&&typeof t.auth==="string"&&t.auth.length>0&&typeof t.p256dh==="string"&&t.p256dh.length>0&&typeof t.endpoint==="string"&&t.endpoint.length>0&&typeof t.swScope==="string"&&t.swScope.length>0&&typeof t.vapidKey==="string"&&t.vapidKey.length>0}var Yr={["missing-app-config-values"]:'Missing App configuration value: "{$valueName}"',["only-available-in-window"]:"This method is available in a Window context.",["only-available-in-sw"]:"This method is available in a service worker context.",["permission-default"]:"The notification permission was not granted and dismissed instead.",["permission-blocked"]:"The notification permission was not granted and blocked instead.",["unsupported-browser"]:"This browser doesn't support the API's required to use the Firebase SDK.",["indexed-db-unsupported"]:"This browser doesn't support indexedDb.open() (ex. Safari iFrame, Firefox Private Browsing, etc)",["failed-service-worker-registration"]:"We are unable to register the default service worker. {$browserErrorMessage}",["token-subscribe-failed"]:"A problem occurred while subscribing the user to FCM: {$errorInfo}",["token-subscribe-no-token"]:"FCM returned no token when subscribing the user to push.",["fi
1d-registration-failed"]:"A problem occurred while creating an FCM registration via FID: {$errorInfo}",["fid-unregister-failed"]:"A problem occurred while unregistering the FCM registration via FID: {$errorInfo}",["fid-registration-idb-schema-unavailable"]:"Unable to read or persist FID registration metadata because the messaging IndexedDB schema is unavailable (for example, the database could not be upgraded to the latest version).",["token-unsubscribe-failed"]:"A problem occurred while unsubscribing the user from FCM: {$errorInfo}",["token-update-failed"]:"A problem occurred while updating the user from FCM: {$errorInfo}",["token-update-no-token"]:"FCM returned no token when updating the user to push.",["use-sw-after-get-token"]:"The useServiceWorker() method may only be called once and must be called before calling getToken() to ensure your service worker is used.",["invalid-sw-registration"]:"The input to useServiceWorker() must be a ServiceWorkerRegistration.",["invalid-bg-handler"]:"The input to setBackgroundMessageHandler() must be a function.",["invalid-vapid-key"]:"The public VAPID key must be a string.",["use-vapid-key-after-get-token"]:"The usePublicVapidKey() method may only be called once and must be called before calling getToken() to ensure your VAPID key is used.",["invalid-on-registered-handler"]:"No onRegistered callback handler was provided or registered. Implement onRegistered() before register()."},d=new _("messaging","Messaging",Yr),vt="firebase-messaging-database",At=2,y="firebase-messaging-store",g="firebase-messaging-fid-registration-store",Xr={openDB:v,deleteDB:N},Tt=Xr,B=null;function Zr(e,t,n){switch(t){case 0:if(e.createObjectStore(y),n===1)break;case 1:if(n===2)e.createObjectStore(g)}}function Dt(e){return{upgrade:(t,n)=>{Zr(t,n,e)},blocked:()=>{},blocking:(t,n,r)=>{B=null,r.target?.close()},terminated:()=>{B=null}}}function C(){if(!B)B=Tt.openDB(vt,At,Dt(2)).catch(()=>Tt.openDB(vt,At-1,Dt(1)));return B}function Ft(e,t){return e.objectStoreNames.contains(t)}function ve(e){if(!Ft(e,g))throw d.create("fid-registration-idb-schema-unavailable")}async function Ae(e){let t=k(e),r=await(await C()).transaction(y).objectStore(y).get(t);if(r)return r;else{let i=await Jr(e.appConfig.senderId);if(i)return await Te(e,i),i}}async function Te(e,t){let n=k(e),r=await C(),i=[y],o=Ft(r,g);if(o)i.push(g);let s=r.transaction(i,"readwrite");if(await s.objectStore(y).put(t,n),o)await s.objectStore(g).delete(n);return await s.done,t}async function ei(e){let t=k(e),r=(await C()).transaction(y,"readwrite");await r.objectStore(y).delete(t),await r.done}async function De(e){let t=k(e),n=await C();return ve(n),await n.transaction(g).objectStore(g).get(t)}async function ti(e,t){let n=k(e),r=await C();ve(r);let i=r.transaction([y,g],"readwrite");return await i.objectStore(g).put(t,n),await i.objectStore(y).delete(n),await i.done,t}async function ni(e){let t=k(e),n=await C();ve(n);let r=n.transaction(g,"readwrite");await r.objectStore(g).delete(t),await r.done}function k({appConfig:e}){return e.appId}var ri="0.13.3",ii=3,oi=1000;async function si(e,t){let n=await P(e),r=Ce(t,e.appConfig.appName,!1),i={method:"POST",headers:n,body:JSON.stringify(r)},o;try{o=await(await fetch(L(e.appConfig),i)).json()}catch(s){throw d.create("token-subscribe-failed",{errorInfo:s?.toString()})}if(o.error){let s=o.error.message;throw d.create("token-subscribe-failed",{errorInfo:s})}if(!o.token)throw d.create("token-subscribe-no-token");return o.token}async function ai(e,t){let n=await P(e),r=Ce(t,e.appConfig.appName,!0),i={method:"POST",headers:n,body:JSON.stringify(r)},o;try{o=await li(()=>fetch(L(e.appConfig),i),ii,oi)}catch(u){throw d.create("fid-registration-failed",{errorInfo:u?.toString()})}if(o.ok)return{responseFid:await ui(o)};let s;try{s=await o.json()}catch(u){throw d.create("fid-registration-failed",{errorInfo:o.statusText})}let c=s.error?.message??o.statusText;throw d.create("fid-registration-failed",{errorInfo:c})}async function ci(e,t){let r={method:"DELETE",headers:await P(e)},i;try{i=await fetch(`${L(e.appConfig)}/${t}`,r)}catch(o){throw d.create("fid-unregister-failed",{errorInfo:o?.toString()})}if(i.ok)return;try{throw(await i.json()).error?.message??i.statusText}catch(o){throw d.create("fid-unregister-failed",{errorInfo:typeof o==="string"&&o||i.statusText||o?.toString()})}}async function ui(e){let t=await e.text();if(!t.trim())throw d.create("fid-registration-failed",{errorInfo:"CreateRegistration succeeded but response body is empty"});let n;try{n=JSON.parse(t)}catch{throw d.create("fid-registration-failed",{errorInfo:"CreateRegistration succeeded but response body is not val
1id JSON"})}let r=n.name;if(typeof r!=="string"||r.length===0)throw d.create("fid-registration-failed",{errorInfo:"CreateRegistration succeeded but response did not include a non-empty name"});return fi(r)}var Ct="/registrations/";function fi(e){let t=e.indexOf(Ct);if(t!==-1){let n=e.slice(t+Ct.length);if(n.length>0)return n}throw d.create("fid-registration-failed",{errorInfo:"CreateRegistration succeeded but response name is not a valid registration resource name"})}async function di(e,t){let n=await P(e),r=Ce(t.subscriptionOptions,e.appConfig.appName,!1),i={method:"PATCH",headers:n,body:JSON.stringify(r)},o;try{o=await(await fetch(`${L(e.appConfig)}/${t.token}`,i)).json()}catch(s){throw d.create("token-update-failed",{errorInfo:s?.toString()})}if(o.error){let s=o.error.message;throw d.create("token-update-failed",{errorInfo:s})}if(!o.token)throw d.create("token-update-no-token");return o.token}async function Lt(e,t){let r={method:"DELETE",headers:await P(e)};try{let o=await(await fetch(`${L(e.appConfig)}/${t}`,r)).json();if(o.error){let s=o.error.message;throw d.create("token-unsubscribe-failed",{errorInfo:s})}}catch(i){throw d.create("token-unsubscribe-failed",{errorInfo:i?.toString()})}}async function li(e,t,n){let r;for(let i=0;i<t;i++)try{return await e()}catch(o){if(r=o,i<t-1){let s=n*Math.pow(2,i);await new Promise((c)=>setTimeout(c,s))}}throw r}function L({projectId:e}){return`${Ur}/projects/${e}/registrations`}async function P({appConfig:e,installations:t}){let n=await t.getToken();return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":e.apiKey,"x-goog-firebase-installations-auth":`FIS ${n}`})}function hi(e,t){try{if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(e))return new URL(e).host}catch{}try{if(typeof self<"u"&&self.location?.href)return new URL(e,self.location.origin).host}catch{}if(typeof self<"u"&&self.location?.host)return self.location.host;return t}function Ce({p256dh:e,auth:t,endpoint:n,vapidKey:r,swScope:i},o,s){let c={web:{origin:hi(i,o),endpoint:n,auth:t,p256dh:e}};if(s)c.fcm_sdk_version=ri;if(r!==Ie)c.web.applicationPubKey=r;return c}var pi=604800000;async function gi(e){let t=await yi(e.swRegistration,e.vapidKey),n={vapidKey:e.vapidKey,swScope:e.swRegistration.scope,endpoint:t.endpoint,auth:p(t.getKey("auth")),p256dh:p(t.getKey("p256dh"))},r=await Ae(e.firebaseDependencies);if(!r)return Ot(e.firebaseDependencies,n);else if(!_i(r.subscriptionOptions,n)){try{await Lt(e.firebaseDependencies,r.token)}catch(i){console.warn(i)}return Ot(e.firebaseDependencies,n)}else if(Date.now()>=r.createTime+pi)return wi(e,{token:r.token,createTime:Date.now(),subscriptionOptions:n});else return r.token}async function bi(e,t){await Lt(e.firebaseDependencies,t.token),await ei(e.firebaseDependencies),await Pt(e.firebaseDependencies)}async function mi(e){let n=(await De(e.firebaseDependencies).catch(()=>{return}))?.fid;if(n)await ci(e.firebaseDependencies,n);if(await Pt(e.firebaseDependencies),n)Si(e,n)}async function kt(e){let t=await Ae(e.firebaseDependencies);if(t)await bi(e,t);else await mi(e);let n=await e.swRegistration.pushManager.getSubscription();if(n)return n.unsubscribe();return!0}async function wi(e,t){try{let n=await di(e.firebaseDependencies,t),r={...t,token:n,createTime:Date.now()};return await Te(e.firebaseDependencies,r),n}catch(n){throw n}}async function Ot(e,t){let r={token:await si(e,t),createTime:Date.now(),subscriptionOptions:t};return await Te(e,r),r.token}async function yi(e,t){let n=await e.pushManager.getSubscription();if(n)return n;return e.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:Bt(t)})}function _i(e,t){let n=t.vapidKey===e.vapidKey,r=t.endpoint===e.endpoint,i=t.auth===e.auth,o=t.p256dh===e.p256dh;return n&&r&&i&&o}async function Pt(e){try{await ni(e)}catch{}}function Ei(e,t){let n=e.onRegisteredHandler;if(!n)return;if(typeof n==="function")n(t);else n.next(t)}function Si(e,t){let n=e.onUnregisteredHandler;if(!n)return;if(typeof n==="function")n(t);else n.next(t)}async function Ii(e,t){if(t)e.vapidKey=t;else if(!e.vapidKey)e.vapidKey=Ie}var Rt=3;async function vi(e,t){let n=await Ai(e.swRegistration,e.vapidKey),r={vapidKey:e.vapidKey,swScope:e.swRegistration.scope,endpoint:n.endpoint,auth:p(n.getKey("auth")),p256dh:p(n.getKey("p256dh"))},i=e.firebaseDependencies.installations;for(let o=0;o<Rt;o++){let{responseFid:s}=await ai(e.firebaseDependencies,r);if(s===t)return;if(o<Rt-1)await i.getToken(!0)}throw d.create("fid-registration-failed",{errorInfo:"CreateRegistration response FID does not match Firebase Installation ID"})}async function Ai(e,t){let n=await e.pushManager.getSubscription();if(n)return n;return e.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:Bt(t)})}async function Ti(e){let t=await De(e.firebaseDependencies).catch(()=>{return});if(!t)return;await Ii(e,t.vapidKey);let n=await e.firebaseDependencies.installations.getId();
1return await vi(e,n),await ti(e.firebaseDependencies,{fid:n,lastRegisterTime:Date.now(),vapidKey:e.vapidKey}),Ei(e,n),n}function Di(e){let t={from:e.from,collapseKey:e.collapse_key,messageId:e.fcmMessageId};return Ci(t,e),ki(t,e),Oi(t,e),t}function Ci(e,t){if(!t.notification)return;e.notification={};let n=t.notification.title;if(n)e.notification.title=n;let r=t.notification.body;if(r)e.notification.body=r;let i=t.notification.image;if(i)e.notification.image=i;let o=t.notification.icon;if(o)e.notification.icon=o}function ki(e,t){if(!t.data)return;e.data=t.data}function Oi(e,t){if(!t.fcmOptions&&!t.notification?.click_action)return;e.fcmOptions={};let n=t.fcmOptions?.link??t.notification?.click_action;if(n)e.fcmOptions.link=n;let r=t.fcmOptions?.analytics_label;if(r)e.fcmOptions.analyticsLabel=r}function Ri(e){return typeof e==="object"&&!!e&&Vr in e}function Ni(e){return new Promise((t)=>{setTimeout(t,e)})}var Mi="https://play.google.com/log?format=json_proto3",$t=0,xi=Ui("AzSCbw63g1R0nCw85jG8","Iaya3yLKwmgvh7cF0q4");function Bi(e){if(e.logQueue.state==="stopped"&&e.logEvents.length>0)ke(e,$t)}function ke(e,t){if(e.logQueue.state==="scheduled")clearTimeout(e.logQueue.t
1imerId);if(e.logQueue={state:"stopped"},!e.deliveryMetricsExportedToBigQueryEnabled){e.logEvents=[];return}e.logQueue={state:"scheduled",timerId:setTimeout(async()=>{if(e.logQueue={state:"flushing"},!e.logEvents.length)return ke(e,xt);await Fi(e)},t)}}async function Fi(e){let t=e.logEvents;e.logEvents=[];for(let n=0,r=t.length;n<r;n+=Et){let i=t.slice(n,n+Et);if(!i.length)break;let o=ji(i),s=0,c={};do{try{if(c=await fetch(Mi.concat("&key=",xi),{method:"POST",body:JSON.stringify(o)}),c.ok||!c.ok&&!Nt(c))break;if(!c.ok&&Nt(c))throw Error("a retriable Non-200 code is returned in fetch to Firelog endpoint. Retry")}catch(a){if(s===St)break}let u;try{u=Number((await c.json()).nextRequestWaitMillis)}catch(a){u=Kr}await new Promise((a)=>setTimeout(a,u)),s++}while(s<St)}ke(e,e.logEvents.length?$t:xt)}function Nt(e){let t=e.status;return t===429||t===500||t===503||t===504}async function Li(e,t){let n=Pi(t,await e.firebaseDependencies.installations.getId());$i(e,n,t.productId),Bi(e)}function Pi(e,t){let n={};if(e.from)n.project_number=e.from;if(e.fcmMessageId)n.message_id=e.fcmMessageId;if(n.instance_id=t,e.notification)n.message_type=Q.DISPLAY_NOTIFICATION.toString();else n.message_type=Q.DATA_MESSAGE.toString();if(n.sdk_platform=zr.toString(),n.package_name=self.origin.replace(/(^\w+:|^)\/\//,""),e.collapse_key)n.collapse_key=e.collapse_key;if(n.event=qr.toString(),e.fcmOptions?.analytics_label)n.analytics_label=e.fcmOptions?.analytics_label;return n}function $i(e,t,n){let r={};if(r.event_time_ms=Math.floor(Date.now()).toString(),r.source_extension_json_proto3=JSON.stringify({messaging_client_event:t}),n)r.compliance_data=Hi(n);e.logEvents.push(r)}function Hi(e){return{privacy_context:{prequest:{origin_associated_product_id:e}}}}function ji(e){let t={};return t.log_source=Wr.toString(),t.log_event=e,t}function Ui(e,t){let n=[];for(let r=0;r<e.length;r++)if(n.push(e.charAt(r)),r<t.length)n.push(t.charAt(r));return n.join("")}async function Vi(e,t){if(!t.swRegistration)t.swRegistration=self.registration;let{newSubscription:n}=e;if(!n){await kt(t);return}if(await De(t.firebaseDependencies).catch(()=>{return})){let o=await Ti(t).catch(()=>{return});if(o){let s=await Oe();if(Ht(s))Qi(s,o)}return}let i=await Ae(t.firebaseDependencies);await kt(t),t.vapidKey=i?.subscriptionOptions?.vapidKey??Ie,await gi(t)}async function Ki(e,t){let n=qi(e);if(!n)return;if(t.deliveryMetricsExportedToBigQueryEnabled)await Li(t,n);let r=await Oe();if(Ht(r))return Ji(r,n);if(n.notification)await Yi(zi(n));if(!t)return;if(t.onBackgroundMessageHandler){let i=Di(n);if(typeof t.onBackgroundMessageHandler==="function")await t.onBackgroundMessageHandler(i);else t.onBackgroundMessageHandler.next(i)}}async function Wi(e){let t=e.notification?.data?.[Mt];if(!t)return;else if(e.action)return;e.stopImmediatePropagation(),e.notification.close();let n=Xi(t);if(!n)return;let r=new URL(n,self.location.href),i=new URL(self.location.origin);if(r.host!==i.host)return;let o=await Gi(r);if(!o)o=await self.clients.openWindow(n),await Ni(3000);else o=await o.focus();if(!o)return;return t.messageType=F.NOTIFICATION_CLICKED,t.isFirebaseMessaging=!0,o.postMessage(t)}function zi(e){let t={...e.notification};return t.data={[Mt]:e},t}function qi({data:e}){if(!e)return null;try{return e.json()}catch(t){return null}}async function Gi(e){let t=await Oe();for(let n of t){let r=new URL(n.url,self.location.href);if(e.host===r.host)return n}return null}function Ht(e){return e.some((t)=>t.visibilityState==="visible"&&!t.url.startsWith("chrome-extension://"))}function Ji(e,t){t.isFirebaseMessaging=!0,t.messageType=F.PUSH_RECEIVED;for(let n of e)n.postMessage(t)}function Qi(e,t){let n={isFirebaseMessaging:!0,messageType:F.FID_REGISTERED,fid:t};for(let r of e)r.postMessage(n)}function Oe(){return self.clients.matchAll({type:"window",includeUncontrolled:!0})}function Yi(e){let{actions:t}=e,{maxActions:n}=Notification;if(t&&n&&t.length>n)console.warn(`This browser only supports ${n} actions. The remaining actions will not be displayed.`);return self.registration.showNotification(e.title??"",e)}function Xi(e){let t=e.fcmOptions?.link??e.notification?.click_action;if(t)return t;if(Ri(e.data))return self.location.origin;else return null}function Zi(e){if(!e||!e.options)throw Se("App Configuration Object");
1if(!e.name)throw Se("App Name");let t=["projectId","apiKey","appId","messagingSenderId"],{options:n}=e;for(let r of t)if(!n[r])throw Se(r);return{appName:e.name,projectId:n.projectId,apiKey:n.apiKey,appId:n.appId,senderId:n.messagingSenderId}}function Se(e){return d.create("missing-app-config-values",{valueName:e})}class jt{constructor(e,t,n){this.deliveryMetricsExportedToBigQueryEnabled=!1,this.onBackgroundMessageHandler=null,this.onMessageHandler=null,this.onRegisteredHandler=null,this.onUnregisteredHandler=null,this._registerNotifyChain=Promise.resolve(),this._fidChangeUnsubscribe=null,this.logEvents=[],this.logQueue={state:"stopped"};let r=Zi(e);this.firebaseDependencies={app:e,appConfig:r,installations:t,analyticsProvider:n}}_delete(){if(this._fidChangeUnsubscribe)this._fidChangeUnsubscribe(),this._fidChangeUnsubscribe=null;if(this.logQueue.state==="scheduled")clearTimeout(this.logQueue.timerId);return this.logQueue={state:"stopped"},Promise.resolve()}}var eo=(e)=>{let t=new jt(e.getProvider("app").getImmediate(),e.getProvider("installations-internal").getImmediate(),e.getProvider("analytics-internal"));return self.addEventListener("push",(n)=>{n.waitUntil(Ki(n,t))}),self.addEventListener("pushsubscriptionchange",(n)=>{n.waitUntil(Vi(n,t))}),self.addEventListener("notificationclick",(n)=>{n.waitUntil(Wi(n))}),t};function to(){S(new l("messaging-sw",eo,"PUBLIC"))}async function no(){return U()&&await V()&&"PushManager"in self&&"Notification"in self&&ServiceWorkerRegistration.prototype.hasOwnProperty("showNotification")&&PushSubscription.prototype.hasOwnProperty("getKey")}function ro(e,t){if(self.document!==void 0)throw d.create("only-available-in-sw");return e.onBackgroundMessageHandler=t,()=>{e.onBackgroundMessageHandler=null}}function Ut(e=he()){return no().then((t)=>{if(!t)throw d.create("unsupported-browser")},(t)=>{throw d.create("indexed-db-unsupported")}),x(ee(e),"messaging-sw").getImmediate()}function Vt(e,t){return e=ee(e),ro(e,t)}to();globalThis.CoffeeFirebaseMessaging={getMessaging:Ut,initializeApp:le,onBackgroundMessage:Vt};})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.