vendor: 3,456 bytes, line 1
1"use strict";(()=>{var $e=()=>{};var je=function(e){let t=[],n=0;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);i<128?t[n++]=i:i<2048?(t[n++]=i>>6|192,t[n++]=i&63|128):(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):(t[n++]=i>>12|224,t[n++]=i>>6&63|128,t[n++]=i&63|128)}return t},Jt=function(e){let t=[],n=0,r=0;for(;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("")},He={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,b=o>>2,R=(o&3)<<4|c>>4,$=(c&15)<<2|a>>6,U=a&63;u||(U=64,s||($=64)),r.push(n[b],n[R],n[$],n[U])}return r.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(je(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):Jt(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 ee;let $=o<<2|c>>4;if(r.push($),a!==64){let U=c<<4&240|a>>2;if(r.push(U),R!==64){let Gt=a<<6&192|R;r.push(Gt)}}}return r},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e<this.ENCODED_VALS.length;e++)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)}}},ee=class extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}},Qt=function(e){let t=je(e);return He.encodeByteArray(t,!0)},te=function(e){return Qt(e).replace(/\./g,"")},Ve=function(e){try{return He.decodeString(e,!0)}catch(t){console.error("base64Decode failed: ",t)}return null};function Xt(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("Unable to locate global object.")}var Yt=()=>Xt().__FIREBASE_DEFAULTS__,Zt=()=>{if(typeof process>"u"||typeof process.env>"u")return;let e=process.env.__FIREBASE_DEFAULTS__;if(e)return JSON.parse(e)},en=()=>
vendor: 13,745 bytes, line 1
1{if(typeof document>"u")return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}let t=e&&Ve(e[1]);return t&&JSON.parse(t)},tn=()=>{try{return $e()||Yt()||Zt()||en()}catch(e){console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);return}};var ne=()=>tn()?.config;var j=class{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise((t,n)=>{this.resolve=t,this.reject=n})}wrapCallback(t){return(n,r)=>{n?this.reject(n):this.resolve(r),typeof t=="function"&&(this.promise.catch(()=>{}),t.length===1?t(n):t(n,r))}}};function H(){try{return typeof indexedDB=="object"}catch{return!1}}function V(){return new Promise((e,t)=>{try{let n=!0,r="validate-browser-context-for-indexeddb-analytics-module",i=self.indexedDB.open(r);i.onsuccess=()=>{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 nn="FirebaseError",m=class e extends Error{constructor(t,n,r){super(n),this.code=t,this.customData=r,this.name=nn,Object.setPrototypeOf(this,e.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,w.prototype.create)}},w=class{constructor(t,n,r){this.service=t,this.serviceName=n,this.errors=r}create(t,...n){let r=n[0]||{},i=`${this.service}/${t}`,o=this.errors[t],s=o?rn(o,r):"Error",c=`${this.serviceName}: ${s} (${i}).`;return new m(i,c,r)}};function rn(e,t){return e.replace(on,(n,r)=>{let i=t[r];return i!=null?String(i):`<${r}?>`})}var on=/\{\$([^}]+)}/g;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(Ue(o)&&Ue(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 Ue(e){return e!==null&&typeof e=="object"}var po=14400*1e3;function re(e){return e&&e._delegate?e._delegate:e}var l=class{constructor(t,n,r){this.name=t,this.instanceFactory=n,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(t){return this.instantiationMode=t,this}setMultipleInstances(t){return this.multipleInstances=t,this}setServiceProps(t){return this.serviceProps=t,this}setInstanceCreatedCallback(t){return this.onInstanceCreated=t,this}};var A="[DEFAULT]";var ie=class{constructor(t,n){this.name=t,this.container=n,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(t){let n=this.normalizeInstanceIdentifier(t);if(!this.instancesDeferred.has(n)){let r=new j;if(this.instancesDeferred.set(n,r),this.isInitialized(n)||this.shouldAutoInitialize())try{let i=this.getOrInitializeService({instanceIdentifier:n});i&&r.resolve(i)}catch{}}return this.instancesDeferred.get(n).promise}getImmediate(t){let n=this.normalizeInstanceIdentifier(t?.identifier),r=t?.optional??!1;if(this.isInitialized(n)||this.shouldAutoInitialize())try{return this.getOrInitializeService({instanceIdentifier:n})}catch(i){if(r)return null;throw i}else{if(r)return null;throw Error(`Service ${this.name} is not available`)}}getComponent(){return this.component}setComponent(t){if(t.name!==this.name)throw Error(`Mismatching Component ${t.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=t,!!this.shouldAutoInitialize()){if(an(t))try{this.getOrInitializeService({instanceIdentifier:A})}catch{}for(let[n,r]of this.instancesDeferred.entries()){let i=this.normalizeInstanceIdentifier(n);try{let o=this.getOrInitializeService({instanceIdentifier:i});r.resolve(o)}catch{}}}}clearInstance(t=A){this.instancesDeferred.delete(t),this.instancesOptions.delete(t),this.instances.delete(t)}async delete(){let t=Array.from(this.instances.values());await Promise.all([...t.filter(n=>"INTERNAL"in n).map(n=>n.INTERNAL.delete()),...t.filter(n=>"_delete"in n).map(n=>n._delete())])}isComponentSet(){return this.component!=null}isInitialized(t=A){return this.instances.has(t)}getOptions(t=A){return this.instancesOptions.get(t)||{}}initialize(t={}){let{options:n={}}=t,r=this.normalizeInstanceIdentifier(t.instanceIdentifier);if(this.isInitialized(r))throw Error(`${this.name}(${r}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);let i=this.getOrInitializeService({instanceIdentifier:r,options:n});for(let[o,s]of this.instancesDeferred.entries()){let c=this.normalizeInstanceIdentifier(o);r===c&&s.resolve(i)}return i}onInit(t,n){let r=this.normalizeInstanceIdentifier(n),i=this.onInitCallbacks.get(r)??new Set;i.add(t),this.onInitCallbacks.set(r,i);let o=this.instances.get(r);return o&&t(o,r),()=>{i.delete(t)}}invokeOnInitCallbacks(t,n){let r=this.onInitCallbacks.get(n);if(r)for(let i of r)try{i(t,n)}catch{}}getOrInitializeService({instanceIdentifier:t,options:n={}}){let r=this.instances.get(t);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:sn(t),options:n}),this.instances.set(t,r),this.instancesOptions.set(t,n),this.invokeOnInitCallbacks(r,t),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,t,r)}catch{}return r||null}normalizeInstanceIdentifier(t=A){return this.component?this.component.multipleInstances?t:A:t}shouldAutoInitialize(){return!!this.component&&this.component.instantiationMode!=="EXPLICIT"}};function sn(e){return e===A?void 0:e}function an(e){return e.instantiationMode==="EAGER"}var W=class{constructor(t){this.name=t,this.providers=new Map}addComponent(t){let n=this.getProvider(t.name);if(n.isComponentSet())throw new Error(`Component ${t.name} has already been registered with ${this.name}`);n.setComponent(t)}addOrOverwriteComponent(t){this.getProvider(t.name).isComponentSet()&&this.providers.delete(t.name),this.addComponent(t)}getProvider(t){if(this.providers.has(t))return this.providers.get(t);let n=new ie(t,this);return this.providers.set(t,n),n}getProviders(){return Array.from(this.providers.values())}};var cn=[],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.ERROR=4]="ERROR",e[e.SILENT=5]="SILENT"})(f||(f={}));var un={debug:f.DEBUG,verbose:f.VERBOSE,info:f.INFO,warn:f.WARN,error:f.ERROR,silent:f.SILENT},fn=f.INFO,dn={[f.DEBUG]:"log",[f.VERBOSE]:"log",[f.INFO]:"info",[f.WARN]:"warn",[f.ERROR]:"error"},ln=(e,t,...n)=>{if(t<e.logLevel)return;let r=new Date().toISOString(),i=dn[t];if(i)console[i](`[${r}] ${e.name}:`,...n);else throw new Error(`Attempted to log a message with an invalid logType (value: ${t})`)},z=class{constructor(t){this.name=t,this._logLevel=fn,this._logHandler=ln,this._userLogHandler=null,cn.push(this)}get logLevel(){return this._logLevel}set logLevel(t){if(!(t in f))throw new TypeError(`Invalid value "${t}" assigned to \`logLevel\``);this._logLevel=t}setLogLevel(t){this._logLevel=typeof t=="string"?un[t]:t}get logHandler(){return this._logHandler}set logHandler(t){if(typeof t!="function")throw new TypeError("Value assigned to `logHandler` must be a function");this._logHandler=t}get userLogHandler(){return this._userLogHandler}set userLogHandler(t){this._userLogHandler=t}debug(...t){this._userLogHandler&&this._userLogHandler(this,f.DEBUG,...t),this._logHandler(this,f.DEBUG,...t)}log(...t){this._userLogHandler&&this._userLogHandler(this,f.VERBOSE,...t),this._logHandler(this,f.VERBOSE,...t)}info(...t){this._userLogHandler&&this._userLogHandler(this,f.INFO,...t),this._logHandler(this,f.INFO,...t)}warn(...t){this._userLogHandler&&this._userLogHandler(this,f.WARN,...t),this._logHandler(this,f.WARN,...t)}error(...t){this._userLogHandler&&this._userLogHandler(this,f.ERROR,...t),this._logHandler(this,f.ERROR,...t)}};var hn=(e,t)=>t.some(n=>e instanceof n),Ke,We;function pn(){return Ke||(Ke=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function gn(){return We||(We=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var ze=new WeakMap,se=new WeakMap,qe=new WeakMap,oe=new WeakMap,ce=new WeakMap;function bn(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=>{n instanceof IDBCursor&&ze.set(n,e)}).catch(()=>{}),ce.set(t,e),t}function mn(e){if(se.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)});se.set(e,t)}var ae={get(e,t,n){if(e instanceof IDBTransaction){if(t==="done")return se.get(e);if(t==="objectStoreNames")return e.objectStoreNames||qe.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){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function Ge(e){ae=e(ae)}function wn(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...n){let r=e.call(q(this),t,...n);return qe.set(r,t.sort?t.sort():[t]),h(r)}:gn().includes(e)?function(...t){return e.apply(q(this),t),h(ze.get(this))}:function(...t){return h(e.apply(q(this),t))}}function yn(e){return typeof e=="function"?wn(e):(e instanceof IDBTransaction&&mn(e),hn(e,pn())?new Proxy(e,ae):e)}function h(e){if(e instanceof IDBRequest)return bn(e);if(oe.has(e))return oe.get(e);let t=yn(e);return t!==e&&(oe.set(e,t),ce.set(t,e)),t}var q=e=>ce.get(e);function v(e,t,{blocked:n,upgrade:r,blocking:i,terminated:o}={}){let s=indexedDB.open(e,t),c=h(s);return r&&s.addEventListener("upgradeneeded",u=>{r(h(s.result),u.oldVersion,u.newVersion,h(s.transaction),u)}),n&&s.addEventListener("blocked",u=>n(u.oldVersion,u.newVersion,u)),c.then(u=>{o&&u.addEventListener("close",()=>o()),i&&u.addEventListener("versionchange",a=>i(a.oldVersion,a.newVersion,a))}).catch(()=>{}),c}function N(e,{blocked:t}={}){let n=indexedDB.deleteDatabase(e);return t&&n.addEventListener("blocked",r=>t(r.oldVersion,r)),h(n).then(()=>{})}var _n=["get","getKey","getAll","getAllKeys","count"],En=["put","add","delete","clear"],ue=new Map;function Je(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(ue.get(t))return ue.get(t);let n=t.replace(/FromIndex$/,""),r=t!==n,i=En.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!(i||_n.includes(n)))return;let o=async function(s,...c){let u=this.transaction(s,i?"readwrite":"readonly"),a=u.store;return r&&(a=a.index(c.shift())),(await Promise.all([a[n](...c),i&&u.done]))[0]};return ue.set(t,o),o}Ge(e=>({...e,get:(t,n,r)=>Je(t,n)||e.get(t,n,r),has:(t,n)=>!!Je(t,n)||e.has(t,n)}));var de=class{constructor(t){this.container=t}getPlatformInfoString(){return this.container.getProviders().map(n=>{if(In(n)){let r=n.getImmediate();return`${r.library}/${r.version}`}else return null}).filter(n=>n).join(" ")}};function In(e){return e.getComponent()?.type==="VERSION"}var le="@firebase/app",Qe="0.14.13";var y=new z("@firebase/app"),Sn="@firebase/app-compat",An="@firebase/analytics-compat",vn="@firebase/analytics",Tn="@firebase/app-check-compat",Dn="@firebase/app-check",Cn="@firebase/auth",kn="@firebase/auth-compat",On="@firebase/database",Rn="@firebase/data-connect",Nn="@firebase/database-compat",Mn="@firebase/functions",xn="@firebase/functions-compat",Bn="@firebase/installations",Fn="@firebase/installations-compat",Ln="@firebase/messaging",Pn="@firebase/messaging-compat",$n="@firebase/performance",Un="@firebase/performance-compat",jn="@firebase/remote-config",Hn="@firebase/remote-config-compat",Vn="@firebase/storage",Kn="@firebase/storage-compat",Wn="@firebase/firestore",zn="@firebase/ai",qn="@firebase/firestore-compat",Gn="firebase";var he="[DEFAULT]",Jn={[le]:"fire-core",[Sn]:"fire-core-compat",[vn]:"fire-analytics",[An]:"fire-analytics-compat",[Dn]:"fire-app-check",[Tn]:"fire-app-check-compat",[Cn]:"fire-auth",[kn]:"fire-auth-compat",[On]:"fire-rtdb",[Rn]:"fire-data-connect",[Nn]:"fire-rtdb-compat",[Mn]:"fire-fn",[xn]:"fire-fn-compat",[Bn]:"fire-iid",[Fn]:"fire-iid-compat",[Ln]:"fire-fcm",[Pn]:"fire-fcm-compat",[$n]:"fire-perf",[Un]:"fire-perf-compat",[jn]:"fire-rc",[Hn]:"fire-rc-compat",[Vn]:"fire-gcs",[Kn]:"fire-gcs-compat",[Wn]:"fire-fst",[qn]:"fire-fst-compat",[zn]:"fire-vertex","fire-js":"fire-js",[Gn]:"fire-js-all"};var G=new Map,Qn=new Map,pe=new Map;function Xe(e,t){try{e.container.addComponent(t)}catch(n){y.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,n)}}function S(e){let t=e.name;if(pe.has(t))return y.debug(`There were multiple attempts to register component ${t}.`),!1;pe.set(t,e);for(let n of G.values())Xe(n,e);for(let n of Qn.values())Xe(n,e);return!0}function x(e,t){let n=e.container.getProvider("heartbeat").getImmediate({optional:!0});return n&&n.triggerHeartbeat(),e.container.getProvider(t)}var Xn={"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 options or config","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.","invali
1d-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."},E=new w("app","Firebase",Xn);var ge=class{constructor(t,n,r){this._isDeleted=!1,this._options={...t},this._config={...n},this._name=n.name,this._automaticDataCollectionEnabled=n.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new l("app",()=>this,"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(t){this.checkDestroyed(),this._automaticDataCollectionEnabled=t}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(t){this._isDeleted=t}checkDestroyed(){if(this.isDeleted)throw E.create("app-deleted",{appName:this._name})}};function we(e,t={}){let n=e;typeof t!="object"&&(t={name:t});let r={name:he,automaticDataCollectionEnabled:!0,...t},i=r.name;if(typeof i!="string"||!i)throw E.create("bad-app-name",{appName:String(i)});if(n||(n=ne()),!n)throw E.create("no-options");let o=G.get(i);if(o){if(K(n,o.options)&&K(r,o.config))return o;throw E.create("duplicate-app",{appName:i})}let s=new W(i);for(let u of pe.values())s.addComponent(u);let c=new ge(n,r,s);return G.set(i,c),c}function ye(e=he){let t=G.get(e);if(!t&&e===he&&ne())return we();if(!t)throw E.create("no-app",{appName:e});return t}function I(e,t,n){let r=Jn[e]??e;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}":`];i&&s.push(`library name "${r}" contains illegal characters (whitespace or "/")`),i&&o&&s.push("and"),o&&s.push(`version name "${t}" contains illegal characters (whitespace or "/")`),y.warn(s.join(" "));return}S(new l(`${r}-version`,()=>({library:r,version:t}),"VERSION"))}var Yn="firebase-heartbeat-database",Zn=1,M="firebase-heartbeat-store",fe=null;function tt(){return fe||(fe=v(Yn,Zn,{upgrade:(e,t)=>{switch(t){case 0:try{e.createObjectStore(M)}catch(n){console.warn(n)}}}}).catch(e=>{throw E.create("idb-open",{originalErrorMessage:e.message})})),fe}async function er(e){try{let n=(await tt()).transaction(M),r=await n.objectStore(M).get(nt(e));return await n.done,r}catch(t){if(t instanceof m)y.warn(t.message);else{let n=E.create("idb-get",{originalErrorMessage:t?.message});y.warn(n.message)}}}async function Ye(e,t){try{let r=(await tt()).transaction(M,"readwrite");await r.objectStore(M).put(t,nt(e)),await r.done}catch(n){if(n instanceof m)y.warn(n.message);else{let r=E.create("idb-set",{originalErrorMessage:n?.message});y.warn(r.message)}}}function nt(e){return`${e.name}!${e.options.appId}`}var tr=1024,nr=30,be=class{constructor(t){this.container=t,this._heartbeatsCache=null;let n=this.container.getProvider("app").getImmediate();this._storage=new me(n),this._heartbeatsCachePromise=this._storage.read().then(r=>(this._heartbeatsCache=r,r))}async triggerHeartbeat(){try{let n=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),r=Ze();if(this._heartbeatsCache?.heartbeats==null&&(this._heartbeatsCache=await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null)||this._heartbeatsCache.lastSentHeartbeatDate===r||this._heartbeatsCache.heartbeats.some(i=>i.date===r))return;if(this._heartbeatsCache.heartbeats.push({date:r,agent:n}),this._heartbeatsCache.heartbeats.length>nr){let i=ir(this._heartbeatsCache.heartbeats);this._heartbeatsCache.heartbeats.splice(i,1)}return this._storage.overwrite(this._heartbeatsCache)}catch(t){y.warn(t)}}async getHeartbeatsHeader(){try{if(this._heartbeatsCache===null&&await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null||this._heartbeatsCache.heartbeats.length===0)return"";let t=Ze(),{heartbeatsToSend:n,unsentEntries:r}=rr(this._heartbeatsCache.heartbeats),i=te(JSON.stringify({version:2,heartbeats:n}));return this._heartbeatsCache.lastSentHeartbeatDate=t,r.length>0?(this._heartbeatsCache.heartbeats=r,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),i}catch(t){return y.warn(t),""}}};function Ze(){return new Date().toISOString().substring(0,10)}function rr(e,t=tr){let n=[],r=e.slice();for(let i of e){let o=n.find(s=>s.agent===i.agent);if(o){if(o.dates.push(i.date),et(n)>t){o.dates.pop();break}}else if(n.push({agent:i.agent,dates:[i.date]}),et(n)>t){n.pop();break}r=r.slice(1)}return{heartbeatsToSend:n,unsentEntries:r}}var me=class{constructor(t){this.app=t,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return H()?V().then(()=>!0).catch(()=>!1):!1}async read(){if(await this._canUseIndexedDBPromise){let n=await er(this.app);return n?.heartbeats?n:{heartbeats:[]}}else return{heartbeats:[]}}async overwrite(t){if(await this._canUseIndexedDBPromise){let r=await this.read();return Ye(this.app,{lastSentHeartbeatDate:t.lastSentHeartbeatDate??r.lastSentHeartbeatDate,heartbeats:t.heartbeats})}else return}async add(t){if(await this._canUseIndexedDBPromise){let r=await this.read();return Ye(this.app,{lastSentHeartbeatDate:t.lastSentHeartbeatDate??r.lastSentHeartbeatDate,heartbeats:[...r.heartbeats,...t.heartbeats]})}else return}};function et(e){return te(JSON.stringify({version:2,heartbeats:e})).length}function ir(e){if(e.length===0)return-1;let t=0,n=e[0].date;for(let r=1;r<e.length;r++)e[r].date<n&&(n=e[r].date,t=r);return t}function or(e){S(new l("platform-logger",t=>new de(t),"PRIVATE")),S(new l("heartbeat",t=>new be(t),"PRIVATE")),I(le,Qe,e),I(le,Qe,"esm2020"),I("fire-js","")}or("");
vendor: 11,834 bytes, line 1
1var sr="firebase",ar="12.14.0";I(sr,ar,"app");var ot="@firebase/installations",Se="0.6.22";var st=1e4,at=`w:${Se}`,ct="FIS_v2",cr="https://firebaseinstallations.googleapis.com/v1",ur=3600*1e3,fr="installations",dr="Installations";var lr={"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."},D=new w(fr,dr,lr);function ut(e){return e instanceof m&&e.code.includes("request-failed")}function ft({projectId:e}){return`${cr}/projects/${e}/installations`}function dt(e){return{token:e.token,requestStatus:2,expiresIn:pr(e.expiresIn),creationTime:Date.now()}}async function lt(e,t){let r=(await t.json()).error;return D.create("request-failed",{requestName:e,serverCode:r.code,serverMessage:r.message,serverStatus:r.status})}function ht({apiKey:e}){return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":e})}function hr(e,{refreshToken:t}){let n=ht(e);return n.append("Authorization",gr(t)),n}async function pt(e){let t=await e();return t.status>=500&&t.status<600?e():t}function pr(e){return Number(e.replace("s","000"))}function gr(e){return`${ct} ${e}`}async function br({appConfig:e,heartbeatServiceProvider:t},{fid:n}){let r=ft(e),i=ht(e),o=t.getImmediate({optional:!0});if(o){let a=await o.getHeartbeatsHeader();a&&i.append("x-firebase-client",a)}let s={fid:n,authVersion:ct,appId:e.appId,sdkVersion:at},c={method:"POST",headers:i,body:JSON.stringify(s)},u=await pt(()=>fetch(r,c));if(u.ok){let a=await u.json();return{fid:a.fid||n,registrationStatus:2,refreshToken:a.refreshToken,authToken:dt(a.authToken)}}else throw await lt("Create Installation",u)}function gt(e){return new Promise(t=>{setTimeout(t,e)})}function mr(e){return btoa(String.fromCharCode(...e)).replace(/\+/g,"-").replace(/\//g,"_")}var wr=/^[cdef][\w-]{21}$/,Ie="";function yr(){try{let e=new Uint8Array(17);(self.crypto||self.msCrypto).getRandomValues(e),e[0]=112+e[0]%16;let n=_r(e);return wr.test(n)?n:Ie}catch{return Ie}}function _r(e){return mr(e).substr(0,22)}function Q(e){return`${e.appName}!${e.appId}`}var bt=new Map;function mt(e,t){let n=Q(e);wt(n,t),Er(n,t)}function wt(e,t){let n=bt.get(e);if(n)for(let r of n)r(t)}function Er(e,t){let n=Ir();n&&n.postMessage({key:e,fid:t}),Sr()}var T=null;function Ir(){return!T&&"BroadcastChannel"in self&&(T=new BroadcastChannel("[Firebase] FID Change"),T.onmessage=e=>{wt(e.data.key,e.data.fid)}),T}function Sr(){bt.size===0&&T&&(T.close(),T=null)}var Ar="firebase-installations-database",vr=1,C="firebase-installations-store",_e=null;function Ae(){return _e||(_e=v(Ar,vr,{upgrade:(e,t)=>{t===0&&e.createObjectStore(C)}})),_e}async function J(e,t){let n=Q(e),i=(await Ae()).transaction(C,"readwrite"),o=i.objectStore(C),s=await o.get(n);return await o.put(t,n),await i.done,(!s||s.fid!==t.fid)&&mt(e,t.fid),t}async function yt(e){let t=Q(e),r=(await Ae()).transaction(C,"readwrite");await r.objectStore(C).delete(t),await r.done}async function X(e,t){let n=Q(e),i=(await Ae()).transaction(C,"readwrite"),o=i.objectStore(C),s=await o.get(n),c=t(s);return c===void 0?await o.delete(n):await o.put(c,n),await i.done,c&&(!s||s.fid!==c.fid)&&mt(e,c.fid),c}async function ve(e){let t,n=await X(e.appConfig,r=>{let i=Tr(r),o=Dr(e,i);return t=o.registrationPromise,o.installationEntry});return n.fid===Ie?{installationEntry:await t}:{installationEntry:n,registrationPromise:t}}function Tr(e){let t=e||{fid:yr(),registrationStatus:0};return _t(t)}function Dr(e,t){if(t.registrationStatus===0){if(!navigator.onLine){let i=Promise.reject(D.create("app-offline"));return{installationEntry:t,registrationPromise:i}}let n={fid:t.fid,registrationStatus:1,registrationTime:Date.now()},r=Cr(e,n);return{installationEntry:n,registrationPromise:r}}else return t.registrationStatus===1?{installationEntry:t,registrationPromise:kr(e)}:{installationEntry:t}}async function Cr(e,t){try{let n=await br(e,t);return J(e.appConfig,n)}catch(n){throw ut(n)&&n.customData.serverCode===409?await yt(e.appConfig):await J(e.appConfig,{fid:t.fid,registrationStatus:0}),n}}async function kr(e){let t=await rt(e.appConfig);for(;t.registrationStatus===1;)await gt(100),t=await rt(e.appConfig);if(t.registrationStatus===0){let{installationEntry:n,registrationPromise:r}=await ve(e);return r||n}return t}function rt(e){return X(e,t=>{if(!t)throw D.create("installation-not-found");return _t(t)})}function _t(e){return Or(e)?{fid:e.fid,registrationStatus:0}:e}function Or(e){return e.registrationStatus===1&&e.registrationTime+st<Date.now()}async function Rr({appConfig:e,heartbeatServiceProvider:t},n){let r=Nr(e,n),i=hr(e,n),o=t.getImmediate({optional:!0});if(o){let a=await o.getHeartbeatsHeader();a&&i.append("x-firebase-client",a)}let s={installation:{sdkVersion:at,appId:e.appId}},c={method:"POST",headers:i,body:JSON.stringify(s)},u=await pt(()=>fetch(r,c));if(u.ok){let a=await u.json();return dt(a)}else throw await lt("Generate Auth Token",u)}function Nr(e,{fid:t}){return`${ft(e)}/${t}/authTokens:generate`}async function Te(e,t=!1){let n,r=await X(e.appConfig,o=>{if(!Et(o))throw D.create("not-registered");let s=o.authToken;if(!t&&Br(s))return o;if(s.requestStatus===1)return n=Mr(e,t),o;{if(!navigator.onLine)throw D.create("app-offline");let c=Lr(o);return n=xr(e,c),c}});return n?await n:r.authToken}async function Mr(e,t){let n=await it(e.appConfig);for(;n.authToken.requestStatus===1;)await gt(100),n=await it(e.appConfig);let r=n.authToken;return r.requestStatus===0?Te(e,t):r}function it(e){return X(e,t=>{if(!Et(t))throw D.create("not-registered");let n=t.authToken;return Pr(n)?{...t,authToken:{requestStatus:0}}:t})}async function xr(e,t){try{let n=await Rr(e,t),r={...t,authToken:n};return await J(e.appConfig,r),n}catch(n){if(ut(n)&&(n.customData.serverCode===401||n.customData.serverCode===404))await yt(e.appConfig);else{let r={...t,authToken:{requestStatus:0}};await J(e.appConfig,r)}throw n}}function Et(e){return e!==void 0&&e.registrationStatus===2}function Br(e){return e.requestStatus===2&&!Fr(e)}function Fr(e){let t=Date.now();return t<e.creationTime||e.creationTime+e.expiresIn<t+ur}function Lr(e){let t={requestStatus:1,requestTime:Date.now()};return{...e,authToken:t}}function Pr(e){return e.requestStatus===1&&e.requestTime+st<Date.now()}async function $r(e){let t=e,{installationEntry:n,registrationPromise:r}=await ve(t);return r?r.catch(console.error):Te(t).catch(console.error),n.fid}async function Ur(e,t=!1){let n=e;return await jr(n),(await Te(n,t)).token}async function jr(e){let{registrationPromise:t}=await ve(e);t&&await t}function Hr(e){if(!e||!e.options)throw Ee("App Configuration");if(!e.name)throw Ee("App Name");let t=["projectId","apiKey","appId"];for(let n of t)if(!e.options[n])throw Ee(n);return{appName:e.name,projectId:e.options.projectId,apiKey:e.options.apiKey,appId:e.options.appId}}function Ee(e){return D.create("missing-app-config-values",{valueName:e})}var It="installations",Vr="installations-internal",Kr=e=>{let t=e.getProvider("app").getImmediate(),n=Hr(t),r=x(t,"heartbeat");return{app:t,appConfig:n,heartbeatServiceProvider:r,_delete:()=>Promise.resolve()}},Wr=e=>{let t=e.getProvider("app").getImmediate(),n=x(t,It).getImmediate();return{getId:()=>$r(n),getToken:i=>Ur(n,i)}};function zr(){S(new l(It,Kr,"PUBLIC")),S(new l(Vr,Wr,"PRIVATE"))}zr();I(ot,Se);I(ot,Se,"esm2020");var Oe="BDOU99-h67HcA6JeFXHbSNMu7e2yNNu3RzoMj8TM4W88jITfq7ZmPvIM1Iv-4_l2LxQcYwhqby2xGpWwzjfAnG4",qr="https://fcmregistrations.googleapis.com/v1",Bt="FCM_MSG",Gr="google.c.a.c_id",St=1e3,At=3,Ft=864e5,Jr=5e3,Qr=1249,Xr=3,Yr=1,Y;(function(e){e[e.DATA_MESSAGE=1]="DATA_MESSAGE",e[e.DISPLAY_NOTIFICATION=3]="DISPLAY_NOTIFICATION"})(Y||(Y={}));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 Lt(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 De="fcm_token_details_db",Zr=5,vt="fcm_token_object_Store";async function ei(e){if("databases"in indexedDB&&!(await indexedDB.databases()).map(o=>o.name).includes(De))return null;let t=null;return(await v(De,Zr,{upgrade:async(r,i,o,s)=>{if(i<2||!r.objectStoreNames.contains(vt))return;let c=s.objectStore(vt),u=await c.index("fcmSenderId").get(e);if(await c.clear(),!!u){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(De),await N("fcm_vapid_details_db"),await N("undefined"),ti(t)?t:null}function ti(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 ni={"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.","fid-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.","invali
1d-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 w("messaging","Messaging",ni);var Tt="firebase-messaging-database",Dt=2,_="firebase-messaging-store",g="firebase-messaging-fid-registration-store",ri={openDB:v,deleteDB:N},Ct=ri,B=null;function ii(e,t,n){switch(t){case 0:if(e.createObjectStore(_),n===1)break;case 1:n===2&&e.createObjectStore(g)}}function kt(e){return{upgrade:(t,n)=>{ii(t,n,e)},blocked:()=>{},blocking:(t,n,r)=>{B=null,r.target?.close()},terminated:()=>{B=null}}}function k(){return B||(B=Ct.openDB(Tt,Dt,kt(2)).catch(()=>Ct.openDB(Tt,Dt-1,kt(1)))),B}function Pt(e,t){return e.objectStoreNames.contains(t)}function Re(e){if(!Pt(e,g))throw d.create("fid-registration-idb-schema-unavailable")}async function Ne(e){let t=O(e),r=await(await k()).transaction(_).objectStore(_).get(t);if(r)return r;{let i=await ei(e.appConfig.senderId);if(i)return await Me(e,i),i}}async function Me(e,t){let n=O(e),r=await k(),i=[_],o=Pt(r,g);o&&i.push(g);let s=r.transaction(i,"readwrite");return await s.objectStore(_).put(t,n),o&&await s.objectStore(g).delete(n),await s.done,t}async function oi(e){let t=O(e),r=(await k()).transaction(_,"readwrite");await r.objectStore(_).delete(t),await r.done}async function xe(e){let t=O(e),n=await k();return Re(n),await n.transaction(g).objectStore(g).get(t)}async function si(e,t){let n=O(e),r=await k();Re(r);let i=r.transaction([_,g],"readwrite");return await i.objectStore(g).put(t,n),await i.objectStore(_).delete(n),await i.done,t}async function ai(e){let t=O(e),n=await k();Re(n);let r=n.transaction(g,"readwrite");await r.objectStore(g).delete(t),await r.done}function O({appConfig:e}){return e.appId}var ci="0.13.0";var ui=3,fi=1e3;async function di(e,t){let n=await P(e),r=Be(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 li(e,t){let n=await P(e),r=Be(t,e.appConfig.appName,!0),i={method:"POST",headers:n,body:JSON.stringify(r)},o;try{o=await mi(()=>fetch(L(e.appConfig),i),ui,fi)}catch(u){throw d.create("fid-registration-failed",{errorInfo:u?.toString()})}if(o.ok)return{responseFid:await pi(o)};let s;try{s=await o.json()}catch{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 hi(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)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 pi(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 valid 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 gi(r)}var Ot="/registrations/";function gi(e){let t=e.indexOf(Ot);if(t!==-1){let n=e.slice(t+Ot.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 bi(e,t){let n=await P(e),r=Be(t.subscriptionOptions,e.appConfig.appName,!1),i={method:"PATCH",headers:n,body:JSON.stringify(r)},o;try{o=await(await fetch(`${L(e.appConfig)}
1/${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 $t(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 mi(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`${qr}/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 wi(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{}return typeof self<"u"&&self.location?.host?self.location.host:t}function Be({p256dh:e,auth:t,endpoint:n,vapidKey:r,swScope:i},o,s){let c={web:{origin:wi(i,o),endpoint:n,auth:t,p256dh:e}};return s&&(c.fcm_sdk_version=ci),r!==Oe&&(c.web.applicationPubKey=r),c}var yi=10080*60*1e3;async function _i(e){let t=await Ai(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 Ne(e.firebaseDependencies);if(r){if(vi(r.subscriptionOptions,n))return Date.now()>=r.createTime+yi?Si(e,{token:r.token,createTime:Date.now(),subscriptionOptions:n}):r.token;try{await $t(e.firebaseDependencies,r.token)}catch(i){console.warn(i)}return Nt(e.firebaseDependencies,n)}else return Nt(e.firebaseDependencies,n)}async function Ei(e,t){await $t(e.firebaseDependencies,t.token),await oi(e.firebaseDependencies),await Ut(e.firebaseDependencies)}async function Ii(e){let n=(await xe(e.firebaseDependencies).catch(()=>{}))?.fid;n&&await hi(e.firebaseDependencies,n),await Ut(e.firebaseDependencies),n&&Di(e,n)}async function Rt(e){let t=await Ne(e.firebaseDependencies);t?await Ei(e,t):await Ii(e);let n=await e.swRegistration.pushManager.getSubscription();return n?n.unsubscribe():!0}async function Si(e,t){try{let n=await bi(e.firebaseDependencies,t),r={...t,token:n,createTime:Date.now()};return await Me(e.firebaseDependencies,r),n}catch(n){throw n}}async function Nt(e,t){let r={token:await di(e,t),createTime:Date.now(),subscriptionOptions:t};return await Me(e,r),r.token}async function Ai(e,t){let n=await e.pushManager.getSubscription();return n||e.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:Lt(t)})}function vi(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 Ut(e){try{await ai(e)}catch{}}function Ti(e,t){let n=e.onRegisteredHandler;n&&(typeof n=="function"?n(t):n.next(t))}function Di(e,t){let n=e.onUnregisteredHandler;n&&(typeof n=="function"?n(t):n.next(t))}async function Ci(e,t){t?e.vapidKey=t:e.vapidKey||(e.vapidKey=Oe)}var Mt=3;async function ki(e,t){let n=await Oi(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<Mt;o++){let{responseFid:s}=await li(e.firebaseDependencies,r);if(s===t)return;o<Mt-1&&await i.getToken(!0)}throw d.create("fid-registration-failed",{errorInfo:"CreateRegistration response FID does not match Firebase Installation ID"})}async function Oi(e,t){let n=await e.pushManager.getSubscription();return n||e.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:Lt(t)})}async function Ri(e){let t=await xe(e.firebaseDependencies).catch(()=>{});if(!t)return;await Ci(e,t.vapidKey);let n=await e.firebaseDependencies.installations.getId();
1return await ki(e,n),await si(e.firebaseDependencies,{fid:n,lastRegisterTime:Date.now(),vapidKey:e.vapidKey}),Ti(e,n),n}function Ni(e){let t={from:e.from,collapseKey:e.collapse_key,messageId:e.fcmMessageId};return Mi(t,e),xi(t,e),Bi(t,e),t}function Mi(e,t){if(!t.notification)return;e.notification={};let n=t.notification.title;n&&(e.notification.title=n);let r=t.notification.body;r&&(e.notification.body=r);let i=t.notification.image;i&&(e.notification.image=i);let o=t.notification.icon;o&&(e.notification.icon=o)}function xi(e,t){t.data&&(e.data=t.data)}function Bi(e,t){if(!t.fcmOptions&&!t.notification?.click_action)return;e.fcmOptions={};let n=t.fcmOptions?.link??t.notification?.click_action;n&&(e.fcmOptions.link=n);let r=t.fcmOptions?.analytics_label;r&&(e.fcmOptions.analyticsLabel=r)}function Fi(e){return typeof e=="object"&&!!e&&Gr in e}function Li(e){return new Promise(t=>{setTimeout(t,e)})}var Pi="https://play.google.com/log?format=json_proto3",jt=0,$i=qi("AzSCbw63g1R0nCw85jG8","Iaya3yLKwmgvh7cF0q4");function Ui(e){e.logQueue.state==="stopped"&&e.logEvents.length>0&&Fe(e,jt)}function Fe(e,t){if(e.logQueue.state==="scheduled"&&clearTimeout(e.logQueue.t
1imerId),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 Fe(e,Ft);await ji(e)},t)}}async function ji(e){let t=e.logEvents;e.logEvents=[];for(let n=0,r=t.length;n<r;n+=St){let i=t.slice(n,n+St);if(!i.length)break;let o=zi(i),s=0,c={};do{try{if(c=await fetch(Pi.concat("&key=",$i),{method:"POST",body:JSON.stringify(o)}),c.ok||!c.ok&&!xt(c))break;if(!c.ok&&xt(c))throw new Error("a retriable Non-200 code is returned in fetch to Firelog endpoint. Retry")}catch{if(s===At)break}let u;try{u=Number((await c.json()).nextRequestWaitMillis)}catch{u=Jr}await new Promise(a=>setTimeout(a,u)),s++}while(s<At)}Fe(e,e.logEvents.length?jt:Ft)}function xt(e){let t=e.status;return t===429||t===500||t===503||t===504}async function Hi(e,t){let n=Vi(t,await e.firebaseDependencies.installations.getId());Ki(e,n,t.productId),Ui(e)}function Vi(e,t){let n={};return e.from&&(n.project_number=e.from),e.fcmMessageId&&(n.message_id=e.fcmMessageId),n.instance_id=t,e.notification?n.message_type=Y.DISPLAY_NOTIFICATION.toString():n.message_type=Y.DATA_MESSAGE.toString(),n.sdk_platform=Xr.toString(),n.package_name=self.origin.replace(/(^\w+:|^)\/\//,""),e.collapse_key&&(n.collapse_key=e.collapse_key),n.event=Yr.toString(),e.fcmOptions?.analytics_label&&(n.analytics_label=e.fcmOptions?.analytics_label),n}function Ki(e,t,n){let r={};r.event_time_ms=Math.floor(Date.now()).toString(),r.source_extension_json_proto3=JSON.stringify({messaging_client_event:t}),n&&(r.compliance_data=Wi(n)),e.logEvents.push(r)}function Wi(e){return{privacy_context:{prequest:{origin_associated_product_id:e}}}}function zi(e){let t={};return t.log_source=Qr.toString(),t.log_event=e,t}function qi(e,t){let n=[];for(let r=0;r<e.length;r++)n.push(e.charAt(r)),r<t.length&&n.push(t.charAt(r));return n.join("")}async function Gi(e,t){t.swRegistration||(t.swRegistration=self.registration);let{newSubscription:n}=e;if(!n){await Rt(t);return}if(await xe(t.firebaseDependencies).catch(()=>{})){let o=await Ri(t).catch(()=>{});if(o){let s=await Le();Ht(s)&&to(s,o)}return}let i=await Ne(t.firebaseDependencies);await Rt(t),t.vapidKey=i?.subscriptionOptions?.vapidKey??Oe,await _i(t)}async function Ji(e,t){let n=Yi(e);if(!n)return;t.deliveryMetricsExportedToBigQueryEnabled&&await Hi(t,n);let r=await Le();if(Ht(r))return eo(r,n);if(n.notification&&await no(Xi(n)),!!t&&t.onBackgroundMessageHandler){let i=Ni(n);typeof t.onBackgroundMessageHandler=="function"?await t.onBackgroundMessageHandler(i):t.onBackgroundMessageHandler.next(i)}}async function Qi(e){let t=e.notification?.data?.[Bt];if(t){if(e.action)return}else return;e.stopImmediatePropagation(),e.notification.close();let n=ro(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 Zi(r);if(o?o=await o.focus():(o=await self.clients.openWindow(n),await Li(3e3)),!!o)return t.messageType=F.NOTIFICATION_CLICKED,t.isFirebaseMessaging=!0,o.postMessage(t)}function Xi(e){let t={...e.notification};return t.data={[Bt]:e},t}function Yi({data:e}){if(!e)return null;try{return e.json()}catch{return null}}async function Zi(e){let t=await Le();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 eo(e,t){t.isFirebaseMessaging=!0,t.messageType=F.PUSH_RECEIVED;for(let n of e)n.postMessage(t)}function to(e,t){let n={isFirebaseMessaging:!0,messageType:F.FID_REGISTERED,fid:t};for(let r of e)r.postMessage(n)}function Le(){return self.clients.matchAll({type:"window",includeUncontrolled:!0})}function no(e){let{actions:t}=e,{maxActions:n}=Notification;return t&&n&&t.length>n&&console.warn(`This browser only supports ${n} actions. The remaining actions will not be displayed.`),self.registration.showNotification(e.title??"",e)}function ro(e){let t=e.fcmOptions?.link??e.notification?.click_action;return t||(Fi(e.data)?self.location.origin:null)}function io(e){if(!e||!e.options)throw Ce("App Configuration Object");
1if(!e.name)throw Ce("App Name");let t=["projectId","apiKey","appId","messagingSenderId"],{options:n}=e;for(let r of t)if(!n[r])throw Ce(r);return{appName:e.name,projectId:n.projectId,apiKey:n.apiKey,appId:n.appId,senderId:n.messagingSenderId}}function Ce(e){return d.create("missing-app-config-values",{valueName:e})}var ke=class{constructor(t,n,r){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 i=io(t);this.firebaseDependencies={app:t,appConfig:i,installations:n,analyticsProvider:r}}_delete(){return this._fidChangeUnsubscribe&&(this._fidChangeUnsubscribe(),this._fidChangeUnsubscribe=null),this.logQueue.state==="scheduled"&&clearTimeout(this.logQueue.timerId),this.logQueue={state:"stopped"},Promise.resolve()}};var oo=e=>{let t=new ke(e.getProvider("app").getImmediate(),e.getProvider("installations-internal").getImmediate(),e.getProvider("analytics-internal"));return self.addEventListener("push",n=>{n.waitUntil(Ji(n,t))}),self.addEventListener("pushsubscriptionchange",n=>{n.waitUntil(Gi(n,t))}),self.addEventListener("notificationclick",n=>{n.waitUntil(Qi(n))}),t};function so(){S(new l("messaging-sw",oo,"PUBLIC"))}async function ao(){return H()&&await V()&&"PushManager"in self&&"Notification"in self&&ServiceWorkerRegistration.prototype.hasOwnProperty("showNotification")&&PushSubscription.prototype.hasOwnProperty("getKey")}function co(e,t){if(self.document!==void 0)throw d.create("only-available-in-sw");return e.onBackgroundMessageHandler=t,()=>{e.onBackgroundMessageHandler=null}}function Vt(e=ye()){return ao().then(t=>{if(!t)throw d.create("unsupported-browser")},t=>{throw d.create("indexed-db-unsupported")}),x(re(e),"messaging-sw").getImmediate()}function Kt(e,t){return e=re(e),co(e,t)}so();var Wt={apiKey:"AIzaSyCm9GFfiYoH2012AWF6-3q3-K1YHXVfp3o",authDomain:"typolish.firebaseapp.com",projectId:"typolish",storageBucket:"typolish.firebasestorage.app",messagingSenderId:"907702086669",appId:"1:907702086669:web:63cb3a4ad9595b8393f944"};var uo=new Promise((e,t)=>{let n=indexedDB.open("typolish-device-push",1);n.onupgradeneeded=()=>{n.result.createObjectStore("owner"),n.result.createObjectStore("displayed")},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)});async function Z(e,t){let n=await uo;return new Promise((r,i)=>{let o=n.transaction(e,"readwrite"),s;t(o,c=>{s=c}),o.oncomplete=()=>r(s),o.onerror=()=>i(o.error),o.onabort=()=>i(o.error)})}async function Pe(){return Z(["owner"],(e,t)=>{let n=e.objectStore("owner").get("uid");n.onsuccess=()=>t(n.result??null)})}async function fo(e){if(await Z(["owner","displayed"],(n,r)=>{let i=n.objectStore("owner"),o=i.get("uid");o.onsuccess=()=>{if((o.result??null)===e){r(!1);return}i.put(e,"uid"),n.objectStore("displayed").clear(),r(!0)}}))for(let n of await self.registration.getNotifications())n.close()}function zt(e){return typeof e!="string"||!/^\/(?:settings|projects\/[A-Za-z0-9_-]+(?:\/proofs\/[A-Za-z0-9_-]+)?)$/.test(e)?"/settings":e}async function qt(e){let t=e?.data;if(!(!t||typeof t.ownerUid!="string"||typeof t.notificationId!="string"||typeof t.title!="string"||typeof t.body!="string"||!await Z(["owner","displayed"],(r,i)=>{let o=r.objectStore("owner"),s=r.objectStore("displayed"),c=o.get("uid");c.onsuccess=()=>{if(c.result!==t.ownerUid){i(!1);return}let u=s.get(`${t.ownerUid}:${t.notificationId}`);u.onsuccess=()=>{if(u.result){i(!1);return}s.put(Date.now(),`${t.ownerUid}:${t.notificationId}`);let a=s.openCursor();a.onsuccess=()=>{let b=a.result;b&&(b.value<Date.now()-7*864e5&&b.delete(),b.continue())},i(!0)}}})||await Pe()!==t.ownerUid))try{if(await self.registration.showNotification(t.title.slice(0,160),{body:t.body.slice(0,300),icon:"/icons/icon-192.png",badge:"/icons/icon-192.png",tag:`typolish:${t.ownerUid}:${t.notificationId}`,renotify:!1,data:{ownerUid:t.ownerUid,path:zt(t.path)}}),await Pe()!==t.ownerUid)for(let r of await self.registration.getNotifications())r.close()}catch(r){throw await Z(["displayed"],i=>i.objectStore("displayed").delete(`${t.ownerUid}:${t.notificationId}`)),r}}self.addEventListener("notificationclick",e=>
1{e.notification.close(),e.stopImmediatePropagation(),e.waitUntil((async()=>{if(await Pe()!==e.notification.data?.ownerUid)return;let t=new URL(zt(e.notification.data?.path),self.location.origin).href,n=await self.clients.matchAll({type:"window",includeUncontrolled:!0});for(let r of n)if(r.url===t){await r.focus();return}await self.clients.openWindow(t)})())});self.addEventListener("message",e=>{!e.source||new URL(e.source.url).origin!==self.location.origin||(e.data?.type==="bind-owner"&&(e.data.uid===null||typeof e.data.uid=="string")?e.waitUntil(fo(e.data.uid).then(()=>e.ports[0]?.postMessage({ok:!0}))):e.data?.type==="foreground-push"&&e.waitUntil(qt(e.data.payload)))});self.addEventListener("install",e=>e.waitUntil(self.skipWaiting()));self.addEventListener("activate",e=>e.waitUntil(self.clients.claim()));Kt(Vt(we(Wt)),qt);})(); 2/*! Bundled license information: 3 4@firebase/util/dist/index.esm.js: 5@firebase/util/dist/index.esm.js: 6@firebase/util/dist/index.esm.js: 7@firebase/util/dist/index.esm.js: 8@firebase/util/dist/index.esm.js: 9@firebase/util/dist/index.esm.js: 10@firebase/util/dist/index.esm.js: 11@firebase/util/dist/index.esm.js: 12@firebase/util/dist/index.esm.js: 13@firebase/util/dist/index.esm.js: 14@firebase/util/dist/index.esm.js: 15@firebase/logger/dist/esm/index.esm.js: 16@firebase/messaging/dist/esm/index.sw.esm.js: 17@firebase/messaging/dist/esm/index.sw.esm.js: 18 (** 19 * @license 20 * Copyright 2017 Google LLC 21 * 22 * Licensed under the Apache License, Version 2.0 (the "License"); 23 * you may not use this file except in compliance with the License. 24 * You may obtain a copy of the License at 25 * 26 * http://www.apache.org/licenses/LICENSE-2.0 27 * 28 * Unless required by applicable law or agreed to in writing, software 29 * distributed under the License is distributed on an "AS IS" BASIS, 30 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 31 * See the License for the specific language governing permissions and 32 * limitations under the License. 33 *) 34 35@firebase/util/dist/index.esm.js: 36@firebase/util/dist/index.esm.js: 37 (** 38 * @license 39 * Copyright 2022 Google LLC 40 * 41 * Licensed under the Apache License, Version 2.0 (the "License"); 42 * you may not use this file except in compliance with the License. 43 * You may obtain a copy of the License at 44 * 45 * http://www.apache.org/licenses/LICENSE-2.0 46 * 47 * Unless required by applicable law or agreed to in writing, software 48 * distributed under the License is distributed on an "AS IS" BASIS, 49 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 50 * See the License for the specific language governing permissions and 51 * limitations under the License. 52 *) 53 54@firebase/util/dist/index.esm.js: 55 (** 56 * @license 57 * Copyright 2017 Google LLC 58 * 59 * Licensed under the Apache License, Version 2.0 (the "License"); 60 * you may not use this file except in compliance with the License. 61 * You may obtain a copy of the License at 62 * 63 * http://www.apache.org/licenses/LICENSE-2.0 64 * 65 * Unless required by applicable law or agreed to in writing, software 66 * distributed under the License is distributed on an "AS IS" BASIS, 67 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 68 * See the License for the specific language governing permissions and 69 * limitations under the License. 70 *) 71 (** 72 * @license 73 * Copyright 2021 Google LLC 74 * 75 * Licensed under the Apache License, Version 2.0 (the "License"); 76 * you may not use this file except in compliance with the License. 77 * You may obtain a copy of the License at 78 * 79 * http://www.apache.org/licenses/LICENSE-2.0 80 * 81 * Unless required by applicable law or agreed to in writing, software 82 * distributed under the License is distributed on an "AS IS" BASIS, 83 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 84 * See the License for the specific language governing permissions and 85 * limitations under the License. 86 *) 87 88@firebase/util/dist/index.esm.js: 89@firebase/component/dist/esm/index.esm.js: 90@firebase/app/dist/esm/index.esm.js: 91@firebase/app/dist/esm/index.esm.js: 92@firebase/app/dist/esm/index.esm.js: 93@firebase/installations/dist/esm/index.esm.js: 94@firebase/installations/dist/esm/index.esm.js: 95@firebase/installations/dist/esm/index.esm.js: 96@firebase/installations/dist/esm/index.esm.js: 97 (** 98 * @license 99 * Copyright 2019 Google LLC 100 * 101 * Licensed under the Apache License, Version 2.0 (the "License");
102 * you may not use this file except in compliance with the License. 103 * You may obtain a copy of the License at 104 * 105 * http://www.apache.org/licenses/LICENSE-2.0 106 * 107 * Unless required by applicable law or agreed to in writing, software 108 * distributed under the License is distributed on an "AS IS" BASIS, 109 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 110 * See the License for the specific language governing permissions and 111 * limitations under the License. 112 *) 113 114@firebase/util/dist/index.esm.js: 115firebase/app/dist/esm/index.esm.js: 116@firebase/installations/dist/esm/index.esm.js: 117@firebase/messaging/dist/esm/index.sw.esm.js: 118 (** 119 * @license 120 * Copyright 2020 Google LLC 121 * 122 * Licensed under the Apache License, Version 2.0 (the "License"); 123 * you may not use this file except in compliance with the License. 124 * You may obtain a copy of the License at 125 * 126 * http://www.apache.org/licenses/LICENSE-2.0 127 * 128 * Unless required by applicable law or agreed to in writing, software 129 * distributed under the License is distributed on an "AS IS" BASIS, 130 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 131 * See the License for the specific language governing permissions and 132 * limitations under the License. 133 *) 134 135@firebase/util/dist/index.esm.js: 136 (** 137 * @license 138 * Copyright 2021 Google LLC 139 * 140 * Licensed under the Apache License, Version 2.0 (the "License"); 141 * you may not use this file except in compliance with the License. 142 * You may obtain a copy of the License at 143 * 144 * http://www.apache.org/licenses/LICENSE-2.0 145 * 146 * Unless required by applicable law or agreed to in writing, software 147 * distributed under the License is distributed on an "AS IS" BASIS, 148 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 149 * See the License for the specific language governing permissions and 150 * limitations under the License. 151 *) 152 (** 153 * @license 154 * Copyright 2025 Google LLC 155 * 156 * Licensed under the Apache License, Version 2.0 (the "License"); 157 * you may not use this file except in compliance with the License. 158 * You may obtain a copy of the License at 159 * 160 * http://www.apache.org/licenses/LICENSE-2.0 161 * 162 * Unless required by applicable law or agreed to in writing, software 163 * distributed under the License is distributed on an "AS IS" BASIS, 164 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 165 * See the License for the specific language governing permissions and 166 * limitations under the License. 167 *) 168 169@firebase/util/dist/index.esm.js: 170 (** 171 * @license 172 * Copyright 2025 Google LLC 173 * 174 * Licensed under the Apache License, Version 2.0 (the "License"); 175 * you may not use this file except in compliance with the License. 176 * You may obtain a copy of the License at 177 * 178 * http://www.apache.org/licenses/LICENSE-2.0 179 * 180 * Unless required by applicable law or agreed to in writing, software 181 * distributed under the License is distributed on an "AS IS" BASIS, 182 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 183 * See the License for the specific language governing permissions and 184 * limitations under the License. 185 *) 186 187@firebase/app/dist/esm/index.esm.js: 188 (** 189 * @license 190 * Copyright 2019 Google LLC 191 * 192 * Licensed under the Apache License, Version 2.0 (the "License"); 193 * you may not use this file except in compliance with the License. 194 * You may obtain a copy of the License at 195 * 196 * http://www.apache.org/licenses/LICENSE-2.0 197 * 198 * Unless required by applicable law or agreed to in writing, software 199 * distributed under the License is distributed on an "AS IS" BASIS, 200 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 201 * See the License for the specific language governing permissions and 202 * limitations under the License. 203 *) 204 (** 205 * @license 206 * Copyright 2023 Google LLC 207 * 208 * Licensed under the Apache License, Version 2.0 (the "License");
209 * you may not use this file except in compliance with the License. 210 * You may obtain a copy of the License at 211 * 212 * http://www.apache.org/licenses/LICENSE-2.0 213 * 214 * Unless required by applicable law or agreed to in writing, software 215 * distributed under the License is distributed on an "AS IS" BASIS, 216 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 217 * See the License for the specific language governing permissions and 218 * limitations under the License. 219 *) 220 221@firebase/app/dist/esm/index.esm.js: 222 (** 223 * @license 224 * Copyright 2021 Google LLC 225 * 226 * Licensed under the Apache License, Version 2.0 (the "License"); 227 * you may not use this file except in compliance with the License. 228 * You may obtain a copy of the License at 229 * 230 * http://www.apache.org/licenses/LICENSE-2.0 231 * 232 * Unless required by applicable law or agreed to in writing, software 233 * distributed under the License is distributed on an "AS IS" BASIS, 234 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 235 * See the License for the specific language governing permissions and 236 * limitations under the License. 237 *) 238 (** 239 * @license 240 * Copyright 2019 Google LLC 241 * 242 * Licensed under the Apache License, Version 2.0 (the "License"); 243 * you may not use this file except in compliance with the License. 244 * You may obtain a copy of the License at 245 * 246 * http://www.apache.org/licenses/LICENSE-2.0 247 * 248 * Unless required by applicable law or agreed to in writing, software 249 * distributed under the License is distributed on an "AS IS" BASIS, 250 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 251 * See the License for the specific language governing permissions and 252 * limitations under the License. 253 *) 254 255@firebase/installations/dist/esm/index.esm.js: 256 (** 257 * @license 258 * Copyright 2019 Google LLC 259 * 260 * Licensed under the Apache License, Version 2.0 (the "License"); 261 * you may not use this file except in compliance with the License. 262 * You may obtain a copy of the License at 263 * 264 * http://www.apache.org/licenses/LICENSE-2.0 265 * 266 * Unless required by applicable law or agreed to in writing, software 267 * distributed under the License is distributed on an "AS IS" BASIS, 268 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 269 * See the License for the specific language governing permissions and 270 * limitations under the License. 271 *) 272 (** 273 * @license 274 * Copyright 2020 Google LLC 275 * 276 * Licensed under the Apache License, Version 2.0 (the "License"); 277 * you may not use this file except in compliance with the License. 278 * You may obtain a copy of the License at 279 * 280 * http://www.apache.org/licenses/LICENSE-2.0 281 * 282 * Unless required by applicable law or agreed to in writing, software 283 * distributed under the License is distributed on an "AS IS" BASIS, 284 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 285 * See the License for the specific language governing permissions and 286 * limitations under the License. 287 *) 288 289@firebase/messaging/dist/esm/index.sw.esm.js: 290 (** 291 * @license 292 * Copyright 2019 Google LLC 293 * 294 * Licensed under the Apache License, Version 2.0 (the "License"); 295 * you may not use this file except in compliance with the License. 296 * You may obtain a copy of the License at 297 * 298 * http://www.apache.org/licenses/LICENSE-2.0 299 * 300 * Unless required by applicable law or agreed to in writing, software 301 * distributed under the License is distributed on an "AS IS" BASIS, 302 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 303 * See the License for the specific language governing permissions and 304 * limitations under the License. 305 *) 306 (** 307 * @license 308 * Copyright 2018 Google LLC 309 * 310 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 311 * in compliance with the License. You may obtain a copy of the License at 312 * 313 * http://www.apache.org/licenses/LICENSE-2.0 314 * 315 * Unless required by applicable law or agreed to in writing, softw
315are distributed under the License 316 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 317 * or implied. See the License for the specific language governing permissions and limitations under 318 * the License. 319 *) 320 (** 321 * @license 322 * Copyright 2017 Google LLC 323 * 324 * Licensed under the Apache License, Version 2.0 (the "License"); 325 * you may not use this file except in compliance with the License. 326 * You may obtain a copy of the License at 327 * 328 * http://www.apache.org/licenses/LICENSE-2.0 329 * 330 * Unless required by applicable law or agreed to in writing, software 331 * distributed under the License is distributed on an "AS IS" BASIS, 332 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 333 * See the License for the specific language governing permissions and 334 * limitations under the License. 335 *) 336 (** 337 * @license 338 * Copyright 2020 Google LLC 339 * 340 * Licensed under the Apache License, Version 2.0 (the "License"); 341 * you may not use this file except in compliance with the License. 342 * You may obtain a copy of the License at 343 * 344 * http://www.apache.org/licenses/LICENSE-2.0 345 * 346 * Unless required by applicable law or agreed to in writing, software 347 * distributed under the License is distributed on an "AS IS" BASIS, 348 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 349 * See the License for the specific language governing permissions and 350 * limitations under the License. 351 *) 352 (** 353 * @license 354 * Copyright 2026 Google LLC 355 * 356 * Licensed under the Apache License, Version 2.0 (the "License"); 357 * you may not use this file except in compliance with the License. 358 * You may obtain a copy of the License at 359 * 360 * http://www.apache.org/licenses/LICENSE-2.0 361 * 362 * Unless required by applicable law or agreed to in writing, software 363 * distributed under the License is distributed on an "AS IS" BASIS, 364 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 365 * See the License for the specific language governing permissions and 366 * limitations under the License. 367 *) 368 369@firebase/messaging/dist/esm/index.sw.esm.js: 370 (** 371 * @license 372 * Copyright 2017 Google LLC 373 * 374 * Licensed under the Apache License, Version 2.0 (the "License"); 375 * you may not use this file except in compliance with the License. 376 * You may obtain a copy of the License at 377 * 378 * http://www.apache.org/licenses/LICENSE-2.0 379 * 380 * Unless required by applicable law or agreed to in writing, software 381 * distributed under the License is distributed on an "AS IS" BASIS, 382 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 383 * See the License for the specific language governing permissions and 384 * limitations under the License. 385 *) 386 (** 387 * @license 388 * Copyright 2019 Google LLC 389 * 390 * Licensed under the Apache License, Version 2.0 (the "License"); 391 * you may not use this file except in compliance with the License. 392 * You may obtain a copy of the License at 393 * 394 * http://www.apache.org/licenses/LICENSE-2.0 395 * 396 * Unless required by applicable law or agreed to in writing, software 397 * distributed under the License is distributed on an "AS IS" BASIS, 398 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 399 * See the License for the specific language governing permissions and 400 * limitations under the License. 401 *) 402 (** 403 * @license 404 * Copyright 2020 Google LLC 405 * 406 * Licensed under the Apache License, Version 2.0 (the "License"); 407 * you may not use this file except in compliance with the License. 408 * You may obtain a copy of the License at 409 * 410 * http://www.apache.org/licenses/LICENSE-2.0 411 * 412 * Unless required by applicable law or agreed to in writing, software 413 * distributed under the License is distributed on an "AS IS" BASIS, 414 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 415 * See the License for the specific language governing permissions and 416 * limitations under the License. 417 *) 418 419@firebase/messaging/dist/esm/index.sw.esm.js: 420 (** 421 * @license 422 * Copyright 2026 Google LLC 423 * 424 * Licensed under the Apache License, Version 2.0 (the "License");
425 * you may not use this file except in compliance with the License. 426 * You may obtain a copy of the License at 427 * 428 * http://www.apache.org/licenses/LICENSE-2.0 429 * 430 * Unless required by applicable law or agreed to in writing, software 431 * distributed under the License is distributed on an "AS IS" BASIS, 432 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 433 * See the License for the specific language governing permissions and 434 * limitations under the License. 435 *) 436*/
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.