1/*! For license information please see bundle.js.LICENSE.txt */ 2(()=>{"use strict";var e={};e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}();const t=function(e){const t=[];let 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++]=63&i|128):55296==(64512&i)&&r+1<e.length&&56320==(64512&e.charCodeAt(r+1))?(i=65536+((1023&i)<<10)+(1023&e.charCodeAt(++r)),t[n++]=i>>18|240,t[n++]=i>>12&63|128,t[n++]=i>>6&63|128,t[n++]=63&i|128):(t[n++]=i>>12|224,t[n++]=i>>6&63|128,t[n++]=63&i|128)}return t},n={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:"function"==typeof atob,encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();const n=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,r=[];for(let t=0;t<e.length;t+=3){const i=e[t],a=t+1<e.length,o=a?e[t+1]:0,s=t+2<e.length,c=s?e[t+2]:0,l=i>>2,u=(3&i)<<4|o>>4;let d=(15&o)<<2|c>>6,f=63&c;s||(f=64,a||(d=64)),r.push(n[l],n[u],n[d],n[f])}return r.join("")},encodeString(e,n){return this.HAS_NATIVE_SUPPORT&&!n?btoa(e):this.encodeByteArray(t(e),n)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):function(e){const t=[];let n=0,r=0;for(;n<e.length;){const i=e[n++];if(i<128)t[r++]=String.fromCharCode(i);else if(i>191&&i<224){const a=e[n++];t[r++]=String.fromCharCode((31&i)<<6|63&a)}else if(i>239&&i<365){const a=((7&i)<<18|(63&e[n++])<<12|(63&e[n++])<<6|63&e[n++])-65536;t[r++]=String.fromCharCode(55296+(a>>10)),t[r++]=String.fromCharCode(56320+(1023&a))}else{const a=e[n++],o=e[n++];t[r++]=String.fromCharCode((15&i)<<12|(63&a)<<6|63&o)}}return t.join("")}(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();const n=t?this.charToByteMapWebSafe_:this.charToByteMap_,i=[];for(let t=0;t<e.length;){const a=n[e.charAt(t++)],o=t<e.length?n[e.charAt(t)]:0;++t;const s=t<e.length?n[e.charAt(t)]:64;++t;const c=t<e.length?n[e.charAt(t)]:64;if(++t,null==a||null==o||null==s||null==c)throw new r;const l=a<<2|o>>4;if(i.push(l),64!==s){const e=o<<4&240|s>>2;if(i.push(e),64!==c){const e=s<<6&192|c;i.push(e)}}}return i},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)}}};class r extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const i=function(e){return function(e){const r=t(e);return n.encodeByteArray(r,!0)}(e).replace(/\./g,"")},a=()=>{try{return function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==e.g)return e.g;throw new Error("Unable to locate global object.")}().__FIREBASE_DEFAULTS__||(()=>{if("undefined"==typeof process||void 0===process.env)return;const e=process.env.__FIREBASE_DEFAULTS__;return e?JSON.parse(e):void 0})()||(()=>{if("undefined"==typeof document)return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch(e){return}const t=e&&function(e){try{return n.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null}(e[1]);return t&&JSON.parse(t)})()}catch(e){return void console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`)}},o=()=>{var e;return null===(e=a())||void 0===e?void 0:e.config};class s{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}wrapCallback(e){return(t,n)=>{t?this.reject(t):this.resolve(n),"function"==typeof e&&(this.promise.catch((()=>{})),1===e.length?e(t):e(t,n))}}}function c(){try{return"object"==typeof indexedDB}catch(e){return!1}}function l(){return new Promise(((e,t)=>{try{let n=!0;const 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=()=>{var e;t((null===(e=i.error)||void 0===e?void 0:e.message)||"")}}catch(e){t(e)}}))}function u(){return!("undefined"==typeof navigator||!navigator.cookieEnabled)}
vendor: 5,454 bytes, line 2
2class d extends Error{constructor(e,t,n){super(t),this.code=e,this.customData=n,this.name="FirebaseError",Object.setPrototypeOf(this,d.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,f.prototype.create)}}class f{constructor(e,t,n){this.service=e,this.serviceName=t,this.errors=n}create(e,...t){const n=t[0]||{},r=`${this.service}/${e}`,i=this.errors[e],a=i?function(e,t){return e.replace(h,((e,n)=>{const r=t[n];return null!=r?String(r):`<${n}?>`}))}(i,n):"Error",o=`${this.serviceName}: ${a} (${r}).`;return new d(r,o,n)}}const h=/\{\$([^}]+)}/g;function p(e,t){if(e===t)return!0;const n=Object.keys(e),r=Object.keys(t);for(const i of n){if(!r.includes(i))return!1;const n=e[i],a=t[i];if(m(n)&&m(a)){if(!p(n,a))return!1}else if(n!==a)return!1}for(const e of r)if(!n.includes(e))return!1;return!0}function m(e){return null!==e&&"object"==typeof e}function g(e,t=1e3,n=2){const r=t*Math.pow(n,e),i=Math.round(.5*r*(Math.random()-.5)*2);return Math.min(144e5,r+i)}function v(e){return e&&e._delegate?e._delegate:e}class b{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}}const y="[DEFAULT]";class w{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){const t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){const e=new s;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{const n=this.getOrInitializeService({instanceIdentifier:t});n&&e.resolve(n)}catch(e){}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;const n=this.normalizeInstanceIdentifier(null==e?void 0:e.identifier),r=null!==(t=null==e?void 0:e.optional)&&void 0!==t&&t;if(!this.isInitialized(n)&&!this.shouldAutoInitialize()){if(r)return null;throw Error(`Service ${this.name} is not available`)}try{return this.getOrInitializeService({instanceIdentifier:n})}catch(e){if(r)return null;throw e}}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()){if(function(e){return"EAGER"===e.instantiationMode}(e))try{this.getOrInitializeService({instanceIdentifier:y})}catch(e){}for(const[e,t]of this.instancesDeferred.entries()){const n=this.normalizeInstanceIdentifier(e);try{const e=this.getOrInitializeService({instanceIdentifier:n});t.resolve(e)}catch(e){}}}}clearInstance(e=y){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){const e=Array.from(this.instances.values());await Promise.all([...e.filter((e=>"INTERNAL"in e)).map((e=>e.INTERNAL.delete())),...e.filter((e=>"_delete"in e)).map((e=>e._delete()))])}isComponentSet(){return null!=this.component}isInitialized(e=y){return this.instances.has(e)}getOptions(e=y){return this.instancesOptions.get(e)||{}}initialize(e={}){const{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`);const r=this.getOrInitializeService({instanceIdentifier:n,options:t});for(const[e,t]of this.instancesDeferred.entries())n===this.normalizeInstanceIdentifier(e)&&t.resolve(r);return r}onInit(e,t){var n;const r=this.normalizeInstanceIdentifier(t),i=null!==(n=this.onInitCallbacks.get(r))&&void 0!==n?n:new Set;i.add(e),this.onInitCallbacks.set(r,i);const a=this.instances.get(r);return a&&e(a,r),()=>{i.delete(e)}}invokeOnInitCallbacks(e,t){const n=this.onInitCallbacks.get(t);if(n)for(const r of n)try{r(e,t)}catch(e){}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let n=this.instances.get(e);if(!n&&this.component&&(n=this.component.instanceFactory(this.container,{instanceIdentifier:(r=e,r===y?void 0:r),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(e){}var r;return n||null}normalizeInstanceIdentifier(e=y){return this.component?this.component.multipleInstances?e:y:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}class I{constructor(e){this.name=e,this.providers=new Map}addComponent(e){const t=this.getProvider(e.name);if(t.isComponentSet())throw new Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){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);const t=new w(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}const E=[];var _;!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
vendor: 4,333 bytes, line 2
2RROR=4]="ERROR",e[e.SILENT=5]="SILENT"}(_||(_={}));const S={debug:_.DEBUG,verbose:_.VERBOSE,info:_.INFO,warn:_.WARN,error:_.ERROR,silent:_.SILENT},T=_.INFO,C={[_.DEBUG]:"log",[_.VERBOSE]:"log",[_.INFO]:"info",[_.WARN]:"warn",[_.ERROR]:"error"},A=(e,t,...n)=>{if(t<e.logLevel)return;const r=(new Date).toISOString(),i=C[t];if(!i)throw new Error(`Attempted to log a message with an invalid logType (value: ${t})`);console[i](`[${r}] ${e.name}:`,...n)};class D{constructor(e){this.name=e,this._logLevel=T,this._logHandler=A,this._userLogHandler=null,E.push(this)}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in _))throw new TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel="string"==typeof e?S[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if("function"!=typeof e)throw new 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,_.DEBUG,...e),this._logHandler(this,_.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,_.VERBOSE,...e),this._logHandler(this,_.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,_.INFO,...e),this._logHandler(this,_.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,_.WARN,...e),this._logHandler(this,_.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,_.ERROR,...e),this._logHandler(this,_.ERROR,...e)}}let M,k;const O=new WeakMap,P=new WeakMap,N=new WeakMap,L=new WeakMap,B=new WeakMap;let F={get(e,t,n){if(e instanceof IDBTransaction){if("done"===t)return P.get(e);if("objectStoreNames"===t)return e.objectStoreNames||N.get(e);if("store"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return R(e[t])},set:(e,t,n)=>(e[t]=n,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function $(e){return"function"==typeof e?(t=e)!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(k||(k=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(...e){return t.apply(j(this),e),R(O.get(this))}:function(...e){return R(t.apply(j(this),e))}:function(e,...n){const r=t.call(j(this),e,...n);return N.set(r,e.sort?e.sort():[e]),R(r)}:(e instanceof IDBTransaction&&function(e){if(P.has(e))return;const t=new Promise(((t,n)=>{const r=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",a),e.removeEventListener("abort",a)},i=()=>{t(),r()},a=()=>{n(e.error||new DOMException("AbortError","AbortError")),r()};e.addEventListener("complete",i),e.addEventListener("error",a),e.addEventListener("abort",a)}));P.set(e,t)}(e),n=e,(M||(M=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])).some((e=>n instanceof e))?new Proxy(e,F):e);var t,n}function R(e){if(e instanceof IDBRequest)return function(e){const t=new Promise(((t,n)=>{const r=()=>{e.removeEventListener("success",i),e.removeEventListener("error",a)},i=()=>{t(R(e.result)),r()},a=()=>{n(e.error),r()};e.addEventListener("success",i),e.addEventListener("error",a)}));return t.then((t=>{t instanceof IDBCursor&&O.set(t,e)})).catch((()=>{})),B.set(t,e),t}(e);if(L.has(e))return L.get(e);const t=$(e);return t!==e&&(L.set(e,t),B.set(t,e)),t}const j=e=>B.get(e);function U(e,t,{blocked:n,upgrade:r,blocking:i,terminated:a}={}){const o=indexedDB.open(e,t),s=R(o);return r&&o.addEventListener("upgradeneeded",(e=>{r(R(o.result),e.oldVersion,e.newVersion,R(o.transaction),e)})),n&&o.addEventListener("blocked",(e=>n(e.oldVersion,e.newVersion,e))),s.then((e=>{a&&e.addEventListener("close",(()=>a())),i&&e.addEventListener("versionchange",(e=>i(e.oldVersion,e.newVersion,e)))})).catch((()=>{})),s}const x=["get","getKey","getAll","getAllKeys","count"],z=["put","add","delete","clear"],H=new Map;function V(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(H.get(t))return H.get(t);const n=t.replace(/FromIndex$/,""),r=t!==n,i=z.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!i&&!x.includes(n))return;const a=async function(e,...t){const a=this.transaction(e,i?"readwrite":"readonly");let o=a.store;
vendor: 2,964 bytes, line 2
2return r&&(o=o.index(t.shift())),(await Promise.all([o[n](...t),i&&a.done]))[0]};return H.set(t,a),a}var W;W=F,F={...W,get:(e,t,n)=>V(e,t)||W.get(e,t,n),has:(e,t)=>!!V(e,t)||W.has(e,t)};class q{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map((e=>{if(function(e){const t=e.getComponent();return"VERSION"===(null==t?void 0:t.type)}(e)){const t=e.getImmediate();return`${t.library}/${t.version}`}return null})).filter((e=>e)).join(" ")}}const K="@firebase/app",J="0.13.1",G=new D("@firebase/app"),X="@firebase/app-compat",Z="@firebase/analytics-compat",Y="@firebase/analytics",Q="@firebase/app-check-compat",ee="@firebase/app-check",te="@firebase/auth",ne="@firebase/auth-compat",re="@firebase/database",ie="@firebase/data-connect",ae="@firebase/database-compat",oe="@firebase/functions",se="@firebase/functions-compat",ce="@firebase/installations",le="@firebase/installations-compat",ue="@firebase/messaging",de="@firebase/messaging-compat",fe="@firebase/performance",he="@firebase/performance-compat",pe="@firebase/remote-config",me="@firebase/remote-config-compat",ge="@firebase/storage",ve="@firebase/storage-compat",be="@firebase/firestore",ye="@firebase/ai",we="@firebase/firestore-compat",Ie="firebase",Ee="[DEFAULT]",_e={[K]:"fire-core",[X]:"fire-core-compat",[Y]:"fire-analytics",[Z]:"fire-analytics-compat",[ee]:"fire-app-check",[Q]:"fire-app-check-compat",[te]:"fire-auth",[ne]:"fire-auth-compat",[re]:"fire-rtdb",[ie]:"fire-data-connect",[ae]:"fire-rtdb-compat",[oe]:"fire-fn",[se]:"fire-fn-compat",[ce]:"fire-iid",[le]:"fire-iid-compat",[ue]:"fire-fcm",[de]:"fire-fcm-compat",[fe]:"fire-perf",[he]:"fire-perf-compat",[pe]:"fire-rc",[me]:"fire-rc-compat",[ge]:"fire-gcs",[ve]:"fire-gcs-compat",[be]:"fire-fst",[we]:"fire-fst-compat",[ye]:"fire-vertex","fire-js":"fire-js",[Ie]:"fire-js-all"},Se=new Map,Te=new Map,Ce=new Map;function Ae(e,t){try{e.container.addComponent(t)}catch(n){G.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,n)}}function De(e){const t=e.name;if(Ce.has(t))return G.debug(`There were multiple attempts to register component ${t}.`),!1;Ce.set(t,e);for(const t of Se.values())Ae(t,e);for(const t of Te.values())Ae(t,e);return!0}function Me(e,t){const n=e.container.getProvider("heartbeat").getImmediate({optional:!0});return n&&n.triggerHeartbeat(),e.container.getProvider(t)}const ke=new f("app","Firebase",{"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
2d-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."});class Oe{constructor(e,t,n){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=n,this.container.addComponent(new b("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 ke.create("app-deleted",{appName:this._name})}}function Pe(e,t={}){let n=e;"object"!=typeof t&&(t={name:t});const r=Object.assign({name:Ee,automaticDataCollectionEnabled:!0},t),i=r.name;if("string"!=typeof i||!i)throw ke.create("bad-app-name",{appName:String(i)});if(n||(n=o()),!n)throw ke.create("no-options");const a=Se.get(i);if(a){if(p(n,a.options)&&p(r,a.config))return a;throw ke.create("duplicate-app",{appName:i})}const s=new I(i);for(const e of Ce.values())s.addComponent(e);const c=new Oe(n,r,s);return Se.set(i,c),c}function Ne(e=Ee){const t=Se.get(e);if(!t&&e===Ee&&o())return Pe();if(!t)throw ke.create("no-app",{appName:e});return t}function Le(e,t,n){var r;let i=null!==(r=_e[e])&&void 0!==r?r:e;n&&(i+=`-${n}`);const a=i.match(/\s|\//),o=t.match(/\s|\//);if(a||o){const e=[`Unable to register library "${i}" with version "${t}":`];return a&&e.push(`library name "${i}" contains illegal characters (whitespace or "/")`),a&&o&&e.push("and"),o&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),void G.warn(e.join(" "))}De(new b(`${i}-version`,(()=>({library:i,version:t})),"VERSION"))}const Be="firebase-heartbeat-store";let Fe=null;function $e(){return Fe||(Fe=U("firebase-heartbeat-database",1,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore(Be)}catch(e){console.warn(e)}}}).catch((e=>{throw ke.create("idb-open",{originalErrorMessage:e.message})}))),Fe}async function Re(e,t){try{const n=(await $e()).transaction(Be,"readwrite"),r=n.objectStore(Be);await r.put(t,je(e)),await n.done}catch(e){if(e instanceof d)G.warn(e.message);else{const t=ke.create("idb-set",{originalErrorMessage:null==e?void 0:e.message});G.warn(t.message)}}}function je(e){return`${e.name}!${e.options.appId}`}class Ue{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new ze(t),this._heartbeatsCachePromise=this._storage.read().then((e=>(this._heartbeatsCache=e,e)))}async triggerHeartbeat(){var e,t;try{const n=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),r=xe();if(null==(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)&&(this._heartbeatsCache=await this._heartbeatsCachePromise,null==(null===(t=this._heartbeatsCache)||void 0===t?void 0:t.heartbeats)))return;if(this._heartbeatsCache.lastSentHeartbeatDate===r||this._heartbeatsCache.heartbeats.some((e=>e.date===r)))return;if(this._heartbeatsCache.heartbeats.push({date:r,agent:n}),this._heartbeatsCache.heartbeats.length>30){const e=function(e){if(0===e.length)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}(this._heartbeatsCache.heartbeats);this._heartbeatsCache.heartbeats.splice(e,1)}return this._storage.overwrite(this._heartbeatsCache)}catch(e){G.warn(e)}}async getHeartbeatsHeader(){var e;try{if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,null==(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)||0===this._heartbeatsCache.heartbeats.length)return"";const t=xe(),{heartbeatsToSend:n,unsentEntries:r}=function(e,t=1024){const n=[];let r=e.slice();for(const i of e){const e=n.find((e=>e.agent===i.agent));if(e){if(e.dates.push(i.date),He(n)>t){e.dates.pop();break}}else if(n.push({agent:i.agent,dates:[i.date]}),He(n)>t){n.pop();break}r=r.slice(1)}return{heartbeatsToSend:n,unsentEntries:r}}(this._heartbeatsCache.heartbeats),a=i(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)),a}catch(e){return G.warn(e),""}}}function xe(){return(new Date).toISOString().substring(0,10)}class ze{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!c()&&l().then((()=>!0)).catch((()=>!1))}async read(){if(await this._canUseIndexedDBPromise){const e=await async function(e){try{const t=(await $e()).transaction(Be),n=await t.objectStore(Be).get(je(e));return await t.done,n}catch(e){if(e instanceof d)G.warn(e.message);else{const t=ke.create("idb-get",{originalErrorMessage:null==e?void 0:e.message});G.warn(t.message)}}}(this.app);return(null==e?void 0:e.heartbeats)?e:{heartbeats:[]}}return{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){const n=await this.read();return Re(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:n.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){var t;if(await this._canUseIndexedDBPromise){const n=await this.read();return Re(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:n.lastSentHeartbeatDate,heartbeats:[...n.heartbeats,...e.heartbeats]})}}}function He(e){return i(JSON.stringify({version:2,heartbeats:e})).length}
2De(new b("platform-logger",(e=>new q(e)),"PRIVATE")),De(new b("heartbeat",(e=>new Ue(e)),"PRIVATE")),Le(K,J,""),Le(K,J,"esm2017"),Le("fire-js",""),Le("firebase","11.9.0","app");const Ve="@firebase/installations",We="0.6.17",qe=`w:${We}`,Ke="FIS_v2",Je=new f("installations","Installations",{"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."});function Ge(e){return e instanceof d&&e.code.includes("request-failed")}function Xe({projectId:e}){return`https://firebaseinstallations.googleapis.com/v1/projects/${e}/installations`}function Ze(e){return{token:e.token,requestStatus:2,expiresIn:(t=e.expiresIn,Number(t.replace("s","000"))),creationTime:Date.now()};var t}async function Ye(e,t){const n=(await t.json()).error;return Je.create("request-failed",{requestName:e,serverCode:n.code,serverMessage:n.message,serverStatus:n.status})}function Qe({apiKey:e}){return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":e})}async function et(e){const t=await e();return t.status>=500&&t.status<600?e():t}function tt(e){return new Promise((t=>{setTimeout(t,e)}))}const nt=/^[cdef][\w-]{21}$/;function rt(){try{const e=new Uint8Array(17);(self.crypto||self.msCrypto).getRandomValues(e),e[0]=112+e[0]%16;const t=function(e){var t;return(t=e,btoa(String.fromCharCode(...t)).replace(/\+/g,"-").replace(/\//g,"_")).substr(0,22)}(e);return nt.test(t)?t:""}catch(e){return""}}function it(e){return`${e.appName}!${e.appId}`}const at=new Map;function ot(e,t){const n=it(e);st(n,t),function(e,t){const n=(!ct&&"BroadcastChannel"in self&&(ct=new BroadcastChannel("[Firebase] FID Change"),ct.onmessage=e=>{st(e.data.key,e.data.fid)}),ct);n&&n.postMessage({key:e,fid:t}),0===at.size&&ct&&(ct.close(),ct=null)}(n,t)}function st(e,t){const n=at.get(e);if(n)for(const e of n)e(t)}let ct=null;const lt="firebase-installations-store";let ut=null;function dt(){return ut||(ut=U("firebase-installations-database",1,{upgrade:(e,t)=>{0===t&&e.createObjectStore(lt)}})),ut}async function ft(e,t){const n=it(e),r=(await dt()).transaction(lt,"readwrite"),i=r.objectStore(lt),a=await i.get(n);return await i.put(t,n),await r.done,a&&a.fid===t.fid||ot(e,t.fid),t}async function ht(e){const t=it(e),n=(await dt()).transaction(lt,"readwrite");await n.objectStore(lt).delete(t),await n.done}async function pt(e,t){const n=it(e),r=(await dt()).transaction(lt,"readwrite"),i=r.objectStore(lt),a=await i.get(n),o=t(a);return void 0===o?await i.delete(n):await i.put(o,n),await r.done,!o||a&&a.fid===o.fid||ot(e,o.fid),o}async function mt(e){let t;const n=await pt(e.appConfig,(n=>{const r=function(e){return bt(e||{fid:rt(),registrationStatus:0})}(n),i=function(e,t){if(0===t.registrationStatus){if(!navigator.onLine)return{installationEntry:t,registrationPromise:Promise.reject(Je.create("app-offline"))};const n={fid:t.fid,registrationStatus:1,registrationTime:Date.now()},r=async function(e,t){try{const n=await async function({appConfig:e,heartbeatServiceProvider:t},{fid:n}){const r=Xe(e),i=Qe(e),a=t.getImmediate({optional:!0});if(a){const e=await a.getHeartbeatsHeader();e&&i.append("x-firebase-client",e)}const o={fid:n,authVersion:Ke,appId:e.appId,sdkVersion:qe},s={method:"POST",headers:i,body:JSON.stringify(o)},c=await et((()=>fetch(r,s)));if(c.ok){const e=await c.json();return{fid:e.fid||n,registrationStatus:2,refreshToken:e.refreshToken,authToken:Ze(e.authToken)}}throw await Ye("Create Installation",c)}(e,t);return ft(e.appConfig,n)}catch(n){throw Ge(n)&&409===n.customData.serverCode?await ht(e.appConfig):await ft(e.appConfig,{fid:t.fid,registrationStatus:0}),n}}(e,n);return{installationEntry:n,registrationPromise:r}}return 1===t.registrationStatus?{installationEntry:t,registrationPromise:gt(e)}:{installationEntry:t}}(e,r);return t=i.registrationPromise,i.installationEntry}));return""===n.fid?{installationEntry:await t}:{installationEntry:n,registrationPromise:t}}async function gt(e){let t=await vt(e.appConfig);for(;1===t.registrationStatus;)await tt(100),t=await vt(e.appConfig);if(0===t.registrationStatus){const{installationEntry:t,registrationPromise:n}=await mt(e);return n||t}return t}function vt(e){return pt(e,(e=>{if(!e)throw Je.create("installation-not-found");return bt(e)}))}function bt(e){return 1===(t=e).registrationStatus&&t.registrationTime+1e4<Date.now()?{fid:e.fid,registrationStatus:0}:e;var t}async function yt({appConfig:e,heartbeatServiceProvider:t},n){const r=function(e,{fid:t}){return`${Xe(e)}/${t}/authTokens:generate`}(e,n),i=function(e,{refreshToken:t}){const n=Qe(e);return n.append("Authorization",function(e){return`${Ke} ${e}`}(t)),n}(e,n),a=t.getImmediate({optional:!0});if(a){const e=await a.getHeartbeatsHeader();e&&i.append("x-firebase-client",e)}const o={installation:{sdkVersion:qe,appId:e.appId}},s={method:"POST",headers:i,body:JSON.stringify(o)},c=await et((()=>fetch(r,s)));if(c.ok)return Ze(await c.json());throw await Ye("Generate Auth Token",c)}async function wt(e,t=!1){let n;const r=await pt(e.appConfig,(r=>{if(!Et(r))throw Je.create("not-registered");const i=r.authToken;if(!t&&(2===(a=i).requestStatus&&!function(e){const t=Date.now();
2return t<e.creationTime||e.creationTime+e.expiresIn<t+36e5}(a)))return r;var a;if(1===i.requestStatus)return n=async function(e,t){let n=await It(e.appConfig);for(;1===n.authToken.requestStatus;)await tt(100),n=await It(e.appConfig);const r=n.authToken;return 0===r.requestStatus?wt(e,t):r}(e,t),r;{if(!navigator.onLine)throw Je.create("app-offline");const t=function(e){const t={requestStatus:1,requestTime:Date.now()};return Object.assign(Object.assign({},e),{authToken:t})}(r);return n=async function(e,t){try{const n=await yt(e,t),r=Object.assign(Object.assign({},t),{authToken:n});return await ft(e.appConfig,r),n}catch(n){if(!Ge(n)||401!==n.customData.serverCode&&404!==n.customData.serverCode){const n=Object.assign(Object.assign({},t),{authToken:{requestStatus:0}});await ft(e.appConfig,n)}else await ht(e.appConfig);throw n}}(e,t),t}}));return n?await n:r.authToken}function It(e){return pt(e,(e=>{if(!Et(e))throw Je.create("not-registered");return 1===(t=e.authToken).requestStatus&&t.requestTime+1e4<Date.now()?Object.assign(Object.assign({},e),{authToken:{requestStatus:0}}):e;var t}))}function Et(e){return void 0!==e&&2===e.registrationStatus}function _t(e){return Je.create("missing-app-config-values",{valueName:e})}const St="installations";De(new b(St,(e=>{const t=e.getProvider("app").getImmediate(),n=function(e){if(!e||!e.options)throw _t("App Configuration");if(!e.name)throw _t("App Name");const t=["projectId","apiKey","appId"];for(const n of t)if(!e.options[n])throw _t(n);return{appName:e.name,projectId:e.options.projectId,apiKey:e.options.apiKey,appId:e.options.appId}}(t);return{app:t,appConfig:n,heartbeatServiceProvider:Me(t,"heartbeat"),_delete:()=>Promise.resolve()}}),"PUBLIC")),De(new b("installations-internal",(e=>{const t=Me(e.getProvider("app").getImmediate(),St).getImmediate();return{getId:()=>async function(e){const t=e,{installationEntry:n,registrationPromise:r}=await mt(t);return r?r.catch(console.error):wt(t).catch(console.error),n.fid}(t),getToken:e=>async function(e,t=!1){const n=e;return await async function(e){const{registrationPromise:t}=await mt(e);t&&await t}(n),(await wt(n,t)).token}(t,e)}}),"PRIVATE")),Le(Ve,We),Le(Ve,We,"esm2017");const Tt="analytics",Ct="https://www.googletagmanager.com/gtag/js",At=new D("@firebase/analytics"),Dt=new f("analytics","Analytics",{"already-exists":"A Firebase Analytics instance with the appId {$id} already exists. Only one Firebase Analytics instance can be created for each appId.","already-initialized":"initializeAnalytics() cannot be called again with different options than those it was initially called with. It can be called again with the same options to return the existing instance, or getAnalytics() can be used to get a reference to the already-initialized instance.","already-initialized-settings":"Firebase Analytics has already been initialized.settings() must be called before initializing any Analytics instanceor it will have no effect.","interop-component-reg-failed":"Firebase Analytics Interop Component failed to instantiate: {$reason}","invalid-analytics-context":"Firebase Analytics is not supported in this environment. Wrap initialization of analytics in analytics.isSupported() to prevent initialization in unsupported environments. Details: {$errorInfo}","indexeddb-unavailable":"IndexedDB unavailable or restricted in this environment. Wrap initialization of analytics in analytics.isSupported() to prevent initialization in unsupported environments. Details: {$errorInfo}","fetch-throttle":"The config fetch request timed out while in an exponential backoff state. Unix timestamp in milliseconds when fetch request throttling ends: {$throttleEndTimeMillis}.","config-fetch-failed":"Dynamic config fetch failed: [{$httpStatus}] {$responseMessage}","no-api-key":'The "apiKey" field is empty in the local Firebase config. Firebase Analytics requires this field tocontain a valid API key.',"no-app-id":'The "appId" field is empty in the local Firebase config. Firebase Analytics requires this field tocontain a valid app ID.',"no-client-id":'The "client_id" field is empty.',"invali
2d-gtag-resource":"Trusted Types detected an invalid gtag resource: {$gtagURL}."});function Mt(e){if(!e.startsWith(Ct)){const t=Dt.create("invalid-gtag-resource",{gtagURL:e});return At.warn(t.message),""}return e}function kt(e){return Promise.all(e.map((e=>e.catch((e=>e)))))}const Ot=new class{constructor(e={},t=1e3){this.throttleMetadata=e,this.intervalMillis=t}getThrottleMetadata(e){return this.throttleMetadata[e]}setThrottleMetadata(e,t){this.throttleMetadata[e]=t}deleteThrottleMetadata(e){delete this.throttleMetadata[e]}};function Pt(e){return new Headers({Accept:"application/json","x-goog-api-key":e})}async function Nt(e,t=Ot,n){const{appId:r,apiKey:i,measurementId:a}=e.options;if(!r)throw Dt.create("no-app-id");if(!i){if(a)return{measurementId:a,appId:r};throw Dt.create("no-api-key")}const o=t.getThrottleMetadata(r)||{backoffCount:0,throttleEndTimeMillis:Date.now()},s=new Bt;return setTimeout((async()=>{s.abort()}),void 0!==n?n:6e4),Lt({appId:r,apiKey:i,measurementId:a},o,s,t)}async function Lt(e,{throttleEndTimeMillis:t,backoffCount:n},r,i=Ot){var a;const{appId:o,measurementId:s}=e;try{await function(e,t){return new Promise(((n,r)=>{const i=Math.max(t-Date.now(),0),a=setTimeout(n,i);e.addEventListener((()=>{clearTimeout(a),r(Dt.create("fetch-throttle",{throttleEndTimeMillis:t}))}))}))}(r,t)}catch(e){if(s)return At.warn(`Timed out fetching this Firebase app's measurement ID from the server. Falling back to the measurement ID ${s} provided in the "measurementId" field in the local Firebase config. [${null==e?void 0:e.message}]`),{appId:o,measurementId:s};throw e}try{const t=await async function(e){var t;const{appId:n,apiKey:r}=e,i={method:"GET",headers:Pt(r)},a="https://firebase.googleapis.com/v1alpha/projects/-/apps/{app-id}/webConfig".replace("{app-id}",n),o=await fetch(a,i);if(200!==o.status&&304!==o.status){let e="";try{const n=await o.json();(null===(t=n.error)||void 0===t?void 0:t.message)&&(e=n.error.message)}catch(e){}throw Dt.create("config-fetch-failed",{httpStatus:o.status,responseMessage:e})}return o.json()}(e);return i.deleteThrottleMetadata(o),t}catch(t){const c=t;if(!function(e){if(!(e instanceof d&&e.customData))return!1;const t=Number(e.customData.httpStatus);return 429===t||500===t||503===t||504===t}(c)){if(i.deleteThrottleMetadata(o),s)return At.warn(`Failed to fetch this Firebase app's measurement ID from the server. Falling back to the measurement ID ${s} provided in the "measurementId" field in the local Firebase config. [${null==c?void 0:c.message}]`),{appId:o,measurementId:s};throw t}const l=503===Number(null===(a=null==c?void 0:c.customData)||void 0===a?void 0:a.httpStatus)?g(n,i.intervalMillis,30):g(n,i.intervalMillis),u={throttleEndTimeMillis:Date.now()+l,backoffCount:n+1};return i.setThrottleMetadata(o,u),At.debug(`Calling attemptFetch again in ${l} millis`),Lt(e,u,r,i)}}class Bt{constructor(){this.listeners=[]}addEventListener(e){this.listeners.push(e)}abort(){this.listeners.forEach((e=>e()))}}let Ft,$t;async function Rt(e,t,n,r,i,a,o){var s;const u=Nt(e);u.then((t=>{n[t.measurementId]=t.appId,e.options.measurementId&&t.measurementId!==e.options.measurementId&&At.warn(`The measurement ID in the local Firebase config (${e.options.measurementId}) does not match the measurement ID fetched from the server (${t.measurementId}). To ensure analytics events are always sent to the correct Analytics property, update the measurement ID field in the local config or remove it from the local config.`)})).catch((e=>At.error(e))),t.push(u);const d=async function(){if(!c())return At.warn(Dt.create("indexeddb-unavailable",{errorInfo:"IndexedDB is not available in this environment."}).message),!1;try{await l()}catch(e){return At.warn(Dt.create("indexeddb-unavailable",{errorInfo:null==e?void 0:e.toString()}).message),!1}return!0}().then((e=>e?r.getId():void 0)),[f,h]=await Promise.all([u,d]);(function(e){const t=window.document.getElementsByTagName("script");for(const n of Object.values(t))if(n.src&&n.src.includes(Ct)&&n.src.includes(e))return n;return null})(a)||function(e,t){const n=function(e,t){let n;return window.trustedTypes&&(n=window.trustedTypes.createPolicy("firebase-js-sdk-policy",t)),n}(0,{createScriptURL:Mt}),r=document.createElement("script"),i=`${Ct}?l=${e}
2&id=${t}`;r.src=n?null==n?void 0:n.createScriptURL(i):i,r.async=!0,document.head.appendChild(r)}(a,f.measurementId),$t&&(i("consent","default",$t),$t=void 0),i("js",new Date);const p=null!==(s=null==o?void 0:o.config)&&void 0!==s?s:{};return p.origin="firebase",p.update=!0,null!=h&&(p.firebase_id=h),i("config",f.measurementId,p),Ft&&(i("set",Ft),Ft=void 0),f.measurementId}class jt{constructor(e){this.app=e}_delete(){return delete Ut[this.app.options.appId],Promise.resolve()}}let Ut={},xt=[];const zt={};let Ht,Vt,Wt="dataLayer",qt=!1;function Kt(e,t,n){!function(){const e=[];if(function(){const e="object"==typeof chrome?chrome.runtime:"object"==typeof browser?browser.runtime:void 0;return"object"==typeof e&&void 0!==e.id}()&&e.push("This is a browser extension environment."),u()||e.push("Cookies are not available."),e.length>0){const t=e.map(((e,t)=>`(${t+1}) ${e}`)).join(" "),n=Dt.create("invalid-analytics-context",{errorInfo:t});At.warn(n.message)}}();const r=e.options.appId;if(!r)throw Dt.create("no-app-id");if(!e.options.apiKey){if(!e.options.measurementId)throw Dt.create("no-api-key");At.warn(`The "apiKey" field is empty in the local Firebase config. This is needed to fetch the latest measurement ID for this Firebase app. Falling back to the measurement ID ${e.options.measurementId} provided in the "measurementId" field in the local Firebase config.`)}if(null!=Ut[r])throw Dt.create("already-exists",{id:r});if(!qt){!function(e){let t=[];Array.isArray(window[e])?t=window[e]:window[e]=t}(Wt);const{wrappedGtag:e,gtagCore:t}=function(e,t,n,r,i){let a=function(...e){window[r].push(arguments)};return window[i]&&"function"==typeof window[i]&&(a=window[i]),window[i]=function(e,t,n,r){return async function(i,...a){try{if("event"===i){const[r,i]=a;await async function(e,t,n,r,i){try{let a=[];if(i&&i.send_to){let e=i.send_to;Array.isArray(e)||(e=[e]);const r=await kt(n);for(const n of e){const e=r.find((e=>e.measurementId===n)),i=e&&t[e.appId];if(!i){a=[];break}a.push(i)}}0===a.length&&(a=Object.values(t)),await Promise.all(a),e("event",r,i||{})}catch(e){At.error(e)}}(e,t,n,r,i)}else if("config"===i){const[i,o]=a;await async function(e,t,n,r,i,a){const o=r[i];try{if(o)await t[o];else{const e=(await kt(n)).find((e=>e.measurementId===i));e&&await t[e.appId]}}catch(e){At.error(e)}e("config",i,a)}(e,t,n,r,i,o)}else if("consent"===i){const[t,n]=a;e("consent",t,n)}else if("get"===i){const[t,n,r]=a;e("get",t,n,r)}else if("set"===i){const[t]=a;e("set",t)}else e(i,...a)}catch(e){At.error(e)}}}(a,e,t,n),{gtagCore:a,wrappedGtag:window[i]}}(Ut,xt,zt,Wt,"gtag");Vt=e,Ht=t,qt=!0}return Ut[r]=Rt(e,xt,zt,t,Ht,Wt,n),new jt(e)}function Jt(e,t,n,r){e=v(e),async function(e,t,n,r,i){if(i&&i.global)e("event",n,r);else{const i=await t;e("event",n,Object.assign(Object.assign({},r),{send_to:i}))}}(Vt,Ut[e.app.options.appId],t,n,r).catch((e=>At.error(e)))}const Gt="@firebase/analytics",Xt="0.10.16";De(new b(Tt,((e,{options:t})=>Kt(e.getProvider("app").getImmediate(),e.getProvider("installations-internal").getImmediate(),t)),"PUBLIC")),De(new b("analytics-internal",(function(e){try{const t=e.getProvider(Tt).getImmediate();return{logEvent:(e,n,r)=>Jt(t,e,n,r)}}catch(e){throw Dt.create("interop-component-reg-failed",{reason:e})}}),"PRIVATE")),Le(Gt,Xt),Le(Gt,Xt,"esm2017");var Zt,Yt,Qt=function(){var e=self.performance&&performance.getEntriesByType&&performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},en=function(e){if("loading"===document.readyState)return"loading";var t=Qt();if(t){if(e<t.domInteractive)return"loading";if(0===t.domContentLoadedEventStart||e<t.domContentLoadedEventStart)return"dom-interactive";if(0===t.domComplete||e<t.domComplete)return"dom-content-loaded"}return"complete"},tn=function(e){var t=e.nodeName;return 1===e.nodeType?t.toLowerCase():t.toUpperCase().replace(/^#/,"")},nn=function(e,t){var n="";try{for(;e&&9!==e.nodeType;){var r=e,i=r.id?"#"+r.id:tn(r)+(r.classList&&r.classList.value&&r.classList.value.trim()&&r.classList.value.trim().length?"."+r.classList.value.trim().replace(/\s+/g,"."):"");if(n.length+i.length>(t||100)-1)return n||i;if(n=n?i+">"+n:i,r.id)break;e=r.parentNode}}catch(e){}return n},rn=-1,an=function(e){addEventListener("pageshow",(function(t){t.persisted&&(rn=t.timeStamp,e(t))}),!0)},on=function(){var e=Qt();return e&&e.activationStart||0},sn=function(e,t){var n=Qt(),r="navigate";return rn>=0?r="back-forward-cache":n&&(document.prerendering||on()>0?r="prerender":document.wasDiscarded?r="restore":n.type&&(r=n.type.replace(/_/g,"-"))),{name:e,value:void 0===t?-1:t,rating:"good",delta:0,entries:[],id:"v4-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:r}},cn=function(e,t,n){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var r=new PerformanceObserver((function(e){Promise.resolve().then((function(){t(e.getEntries())}))}));return r.observe(Object.assign({type:e,buffered:!0},n||{})),r}}catch(e){}},ln=function(e,t,n,r){var i,a;return function(o){t.value>=0&&(o||r)&&((a=t.value-(i||0))||void 0===i)&&(i=t.value,t.delta=a,t.rating=function(e,t){return e>t[1]?"poor":e>t[0]?"needs-improvement":"good"}(t.value,n),e(t))}},un=function(e){requestAnimationFrame((function(){return requestAnimationFrame((function(){return e()}))}))},dn=function(e){document.addEventListener("visibilitychange",(function(){"hidden"===document.visibilityState&&e()}))},fn=function(e){var t=!1;return function(){t||(e(),t=!0)}},hn=-1,pn=function(){return"hidden"!==document.visibilityState||document.prerendering?1/0:0},mn=function(e){"hidden"===document.visibilityState&&hn>-1&&(hn="visibilitychange"===e.type?e.timeStamp:0,vn())},gn=function(){addEventListener("visibilitychange",mn,!0),addEventListener("prerenderingchange",mn,!0)},vn=function(){removeEventListener("visibilitychange",mn,!0),removeEventListener("prerenderingchange",mn,!0)},bn=function(){return hn<0&&(hn=pn(),gn(),an((function(){setTimeout((function(){hn=pn(),gn()}),0)}))),{get firstHiddenTime(){return hn}}},yn=function(e){document.prerendering?addEventListener("prerenderingchange",(function(){return e()}),!0):e()},wn=[1800,3e3],In=[.1,.25],En=function(e,t){!function(e,t){t=t||{},function(e,t){t=t||{},yn((function(){var n,r=bn(),i=sn("FCP"),a=cn("paint",(function(e){e.forEach((function(e){"first-contentful-paint"===e.name&&(a.disconnect(),e.startTime<r.firstHiddenTime&&(i.value=Math.max(e.startTime-on(),0),i.entries.push(e),n(!0)))}))}));a&&(n=ln(e,i,wn,t.reportAllChanges),an((function(r){i=sn("FCP"),n=ln(e,i,wn,t.reportAllChanges),un((function(){i.value=performance.now()-r.timeStamp,n(!0)}))})))}))}(fn((function(){var n,r=sn("CLS",0),i=0,a=[],o=function(e){e.forEach((function(e){if(!e.hadRecentInput){var t=a[0],n=a[a.length-1];i&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(i+=e.value,a.push(e)):(i=e.value,a=[e])}})),i>r.value&&(r.value=i,r.entries=a,n())},s=cn("layout-shift",o);s&&(n=ln(e,r,In,t.reportAllChanges),dn((function(){o(s.takeRecords()),n(!0)})),an((function(){i=0,r=sn("CLS",0),n=ln(e,r,In,t.reportAllChanges),un((function(){return n()}))})),setTimeout(n,0))}
vendor: 9,016 bytes, line 2
2)))}((function(t){var n=function(e){var t,n={};if(e.entries.length){var r=e.entries.reduce((function(e,t){return e&&e.value>t.value?e:t}));if(r&&r.sources&&r.sources.length){var i=(t=r.sources).find((function(e){return e.node&&1===e.node.nodeType}))||t[0];i&&(n={largestShiftTarget:nn(i.node),largestShiftTime:r.startTime,largestShiftValue:r.value,largestShiftSource:i,largestShiftEntry:r,loadState:en(r.startTime)})}}return Object.assign(e,{attribution:n})}(t);e(n)}),t)},_n=0,Sn=1/0,Tn=0,Cn=function(e){e.forEach((function(e){e.interactionId&&(Sn=Math.min(Sn,e.interactionId),Tn=Math.max(Tn,e.interactionId),_n=Tn?(Tn-Sn)/7+1:0)}))},An=function(){return Zt?_n:performance.interactionCount||0},Dn=function(){"interactionCount"in performance||Zt||(Zt=cn("event",Cn,{type:"event",buffered:!0,durationThreshold:0}))},Mn=[],kn=new Map,On=0,Pn=[],Nn=function(e){if(Pn.forEach((function(t){return t(e)})),e.interactionId||"first-input"===e.entryType){var t=Mn[Mn.length-1],n=kn.get(e.interactionId);if(n||Mn.length<10||e.duration>t.latency){if(n)e.duration>n.latency?(n.entries=[e],n.latency=e.duration):e.duration===n.latency&&e.startTime===n.entries[0].startTime&&n.entries.push(e);else{var r={id:e.interactionId,latency:e.duration,entries:[e]};kn.set(r.id,r),Mn.push(r)}Mn.sort((function(e,t){return t.latency-e.latency})),Mn.length>10&&Mn.splice(10).forEach((function(e){return kn.delete(e.id)}))}}},Ln=function(e){var t=self.requestIdleCallback||self.setTimeout,n=-1;return e=fn(e),"hidden"===document.visibilityState?e():(n=t(e),dn(e)),n},Bn=[200,500],Fn=[],$n=[],Rn=0,jn=new WeakMap,Un=new Map,xn=-1,zn=function(e){Fn=Fn.concat(e),Hn()},Hn=function(){xn<0&&(xn=Ln(Vn))},Vn=function(){Un.size>10&&Un.forEach((function(e,t){kn.has(t)||Un.delete(t)}));var e=Mn.map((function(e){return jn.get(e.entries[0])})),t=$n.length-50;$n=$n.filter((function(n,r){return r>=t||e.includes(n)}));for(var n=new Set,r=0;r<$n.length;r++){var i=$n[r];Wn(i.startTime,i.processingEnd).forEach((function(e){n.add(e)}))}var a=Fn.length-1-50;Fn=Fn.filter((function(e,t){return e.startTime>Rn&&t>a||n.has(e)})),xn=-1};Pn.push((function(e){e.interactionId&&e.target&&!Un.has(e.interactionId)&&Un.set(e.interactionId,e.target)}),(function(e){var t,n=e.startTime+e.duration;Rn=Math.max(Rn,e.processingEnd);for(var r=$n.length-1;r>=0;r--){var i=$n[r];if(Math.abs(n-i.renderTime)<=8){(t=i).startTime=Math.min(e.startTime,t.startTime),t.processingStart=Math.min(e.processingStart,t.processingStart),t.processingEnd=Math.max(e.processingEnd,t.processingEnd),t.entries.push(e);break}}t||(t={startTime:e.startTime,processingStart:e.processingStart,processingEnd:e.processingEnd,renderTime:n,entries:[e]},$n.push(t)),(e.interactionId||"first-input"===e.entryType)&&jn.set(e,t),Hn()}));var Wn=function(e,t){for(var n,r=[],i=0;n=Fn[i];i++)if(!(n.startTime+n.duration<e)){if(n.startTime>t)break;r.push(n)}return r},qn=function(e,t){Yt||(Yt=cn("long-animation-frame",zn)),function(e,t){"PerformanceEventTiming"in self&&"interactionId"in PerformanceEventTiming.prototype&&(t=t||{},yn((function(){var n;Dn();var r,i=sn("INP"),a=function(e){Ln((function(){e.forEach(Nn);var t=function(){var e=Math.min(Mn.length-1,Math.floor((An()-On)/50));return Mn[e]}();t&&t.latency!==i.value&&(i.value=t.latency,i.entries=t.entries,r())}))},o=cn("event",a,{durationThreshold:null!==(n=t.durationThreshold)&&void 0!==n?n:40});r=ln(e,i,Bn,t.reportAllChanges),o&&(o.observe({type:"first-input",buffered:!0}),dn((function(){a(o.takeRecords()),r(!0)})),an((function(){On=An(),Mn.length=0,kn.clear(),i=sn("INP"),r=ln(e,i,Bn,t.reportAllChanges)})))})))}((function(t){var n=function(e){var t=e.entries[0],n=jn.get(t),r=t.processingStart,i=n.processingEnd,a=n.entries.sort((function(e,t){return e.processingStart-t.processingStart})),o=Wn(t.startTime,i),s=e.entries.find((function(e){return e.target})),c=s&&s.target||Un.get(t.interactionId),l=[t.startTime+t.duration,i].concat(o.map((function(e){return e.startTime+e.duration}))),u=Math.max.apply(Math,l),d={interactionTarget:nn(c),interactionTargetElement:c,interactionType:t.name.startsWith("key")?"keyboard":"pointer",interactionTime:t.startTime,nextPaintTime:u,processedEventEntries:a,longAnimationFrameEntries:o,inputDelay:r-t.startTime,processingDuration:i-r,presentationDelay:Math.max(u-i,0),loadState:en(t.startTime)};return Object.assign(e,{attribution:d})}(t);e(n)}),t)},Kn=[2500,4e3],Jn={},Gn=function(e,t){!function(e,t){t=t||{},yn((function(){var n,r=bn(),i=sn("LCP"),a=function(e){t.reportAllChanges||(e=e.slice(-1)),e.forEach((function(e){e.startTime<r.firstHiddenTime&&(i.value=Math.max(e.startTime-on(),0),i.entries=[e],n())}))},o=cn("largest-contentful-paint",a);if(o){n=ln(e,i,Kn,t.reportAllChanges);var s=fn((function(){Jn[i.id]||(a(o.takeRecords()),o.disconnect(),Jn[i.id]=!0,n(!0))}));["keydown","click"].forEach((function(e){addEventListener(e,(function(){return Ln(s)}),{once:!0,capture:!0})})),dn(s),an((function(r){i=sn("LCP"),n=ln(e,i,Kn,t.reportAllChanges),un((function(){i.value=performance.now()-r.timeStamp,Jn[i.id]=!0,n(!0)}))}))}}))}((function(t){var n=function(e){var t={timeToFirstByte:0,resourceLoadDelay:0,resourceLoadDuration:0,elementRenderDelay:e.value};if(e.entries.length){var n=Qt();if(n){var r=n.activationStart||0,i=e.entries[e.entries.length-1],a=i.url&&performance.getEntriesByType("resource").filter((function(e){return e.name===i.url}))[0],o=Math.max(0,n.responseStart-r),s=Math.max(o,a?(a.requestStart||a.startTime)-r:0),c=Math.max(s,a?a.responseEnd-r:0),l=Math.max(c,i.startTime-r);t={element:nn(i.element),timeToFirstByte:o,resourceLoadDelay:s-o,resourceLoadDuration:c-s,elementRenderDelay:l-c,navigationEntry:n,lcpEntry:i},i.url&&(t.url=i.url),a&&(t.lcpResourceEntry=a)}}return Object.assign(e,{attribution:t})}(t);e(n)}),t)};new Date;const Xn="@firebase/performance",Zn="0.7.6",Yn=Zn,Qn="FB-PERF-TRACE-MEASURE",er="_wt_",tr="_fcp",nr="_fid",rr="_lcp",ir="_inp",ar="_cls",or="@firebase/performance/config",sr="@firebase/performance/configexpire",cr="Performance",lr=new f("performance",cr,{"trace started":"Trace {$traceName} was started before.","trace stopped":"Trace {$traceName} is not running.","nonpositive trace startTime":"Trace {$traceName} startTime should be positive.","nonpositive trace duration":"Trace {$traceName} duration should be positive.","no window":"Window is not available.","no app id":"App id is not available.","no project id":"Project id is not available.","no api key":"Api key is not available.","invalid cc log":"Attempted to queue invalid cc event","FB not default":"Performance can only start when Firebase app instance is the default one.","RC response not ok":"RC response is not ok","invalid attribute name":"Attribute name {$attributeName} is invalid.","invalid attribute value":"Attribute value {$attributeValue} is invalid.","invalid custom metric name":"Custom metric name {$customMetricName} is invalid","invalid String merger input":"Input for String merger is invalid, contact support team to resolve.","already initialized":"initializePerformance() has already been called with different options. To avoid this error, call initializePerformance() with the same options as when it was originally called, or call getPerformance() to return the already initialized instance."}),ur=new D(cr);let dr,fr,hr,pr;ur.logLevel=_.INFO;class mr{constructor(e){if(this.window=e,!e)throw lr.create("no window");this.performance=e.performance,this.PerformanceObserver=e.PerformanceObserver,this.windowLocation=e.location,this.navigator=e.navigator,this.document=e.document,this.navigator&&this.navigator.cookieEnabled&&(this.localStorage=e.localStorage),e.perfMetrics&&e.perfMetrics.onFirstInputDelay&&(this.onFirstInputDelay=e.perfMetrics.onFirstInputDelay),this.onLCP=Gn,this.onINP=qn,this.onCLS=En}getUrl(){return this.windowLocation.href.split("?")[0]}mark(e){this.performance&&this.performance.mark&&this.performance.mark(e)}measure(e,t,n){this.performance&&this.performance.measure&&this.performance.measure(e,t,n)}getEntriesByType(e){return this.performance&&this.performance.getEntriesByType?this.performance.getEntriesByType(e):[]}getEntriesByName(e){return this.performance&&this.performance.getEntriesByName?this.performance.getEntriesByName(e):[]}getTimeOrigin(){return this.performance&&(this.performance.timeOrigin||this.performance.timing.navigationStart)}requiredApisAvailable(){return fetch&&Promise&&u()?!!c()||(ur.info("IndexedDB is not supported by current browser"),!1):(ur.info("Firebase Performance cannot start if browser does not support fetch and Promise or cookie is disabled."),!1)}setupObserver(e,t){this.PerformanceObserver&&new this.PerformanceObserver((e=>{for(const n of e.getEntries())t(n)})).observe({entryTypes:[e]})}static getInstance(){return void 0===dr&&(dr=new mr(fr)),dr}}function gr(){return hr}function vr(e,t){const n=e.length-t.length;if(n<0||n>1)throw lr.create("invalid String merger input");const r=[];for(let n=0;n<e.length;n++)r.push(e.charAt(n)),t.length>n&&r.push(t.charAt(n));return r.join("")}
2class br{constructor(){this.instrumentationEnabled=!0,this.dataCollectionEnabled=!0,this.loggingEnabled=!1,this.tracesSamplingRate=1,this.networkRequestsSamplingRate=1,this.logEndPointUrl="https://firebaselogging.googleapis.com/v0cc/log?format=json_proto",this.flTransportEndpointUrl=vr("hts/frbslgigp.ogepscmv/ieo/eaylg","tp:/ieaeogn-agolai.o/1frlglgc/o"),this.transportKey=vr("AzSC8r6ReiGqFMyfvgow","Iayx0u-XT3vksVM-pIV"),this.logSource=462,this.logTraceAfterSampling=!1,this.logNetworkAfterSampling=!1,this.configTimeToLive=12}getFlTransportFullUrl(){return this.flTransportEndpointUrl.concat("?key=",this.transportKey)}static getInstance(){return void 0===pr&&(pr=new br),pr}}var yr;!function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.VISIBLE=1]="VISIBLE",e[e.HIDDEN=2]="HIDDEN"}(yr||(yr={}));const wr=["firebase_","google_","ga_"],Ir=new RegExp("^[a-zA-Z]\\w*$");function Er(){const e=mr.getInstance().navigator;return(null==e?void 0:e.serviceWorker)?e.serviceWorker.controller?2:3:1}function _r(){switch(mr.getInstance().document.visibilityState){case"visible":return yr.VISIBLE;case"hidden":return yr.HIDDEN;default:return yr.UNKNOWN}}function Sr(){const e=mr.getInstance().navigator.connection;switch(e&&e.effectiveType){case"slow-2g":return 1;case"2g":return 2;case"3g":return 3;case"4g":return 4;default:return 0}}function Tr(e){var t;const n=null===(t=e.options)||void 0===t?void 0:t.appId;if(!n)throw lr.create("no app id");return n}const Cr={loggingEnabled:!0};const Ar="Could not fetch config, will use default configs";function Dr(e){if(!e)return e;const t=br.getInstance(),n=e.entries||{};return void 0!==n.fpr_enabled?t.loggingEnabled="true"===String(n.fpr_enabled):t.loggingEnabled=Cr.loggingEnabled,n.fpr_log_source?t.logSource=Number(n.fpr_log_source):Cr.logSource&&(t.logSource=Cr.logSource),n.fpr_log_endpoint_url?t.logEndPointUrl=n.fpr_log_endpoint_url:Cr.logEndPointUrl&&(t.logEndPointUrl=Cr.logEndPointUrl),n.fpr_log_transport_key?t.transportKey=n.fpr_log_transport_key:Cr.transportKey&&(t.transportKey=Cr.transportKey),void 0!==n.fpr_vc_network_request_sampling_rate?t.networkRequestsSamplingRate=Number(n.fpr_vc_network_request_sampling_rate):void 0!==Cr.networkRequestsSamplingRate&&(t.networkRequestsSamplingRate=Cr.networkRequestsSamplingRate),void 0!==n.fpr_vc_trace_sampling_rate?t.tracesSamplingRate=Number(n.fpr_vc_trace_sampling_rate):void 0!==Cr.tracesSamplingRate&&(t.tracesSamplingRate=Cr.tracesSamplingRate),t.logTraceAfterSampling=Mr(t.tracesSamplingRate),t.logNetworkAfterSampling=Mr(t.networkRequestsSamplingRate),e}function Mr(e){return Math.random()<=e}let kr,Or=1;function Pr(e){return Or=2,kr=kr||function(e){return function(){const e=mr.getInstance().document;return new Promise((t=>{if(e&&"complete"!==e.readyState){const n=()=>{"complete"===e.readyState&&(e.removeEventListener("readystatechange",n),t())};e.addEventListener("readystatechange",n)}else t()}))}().then((()=>function(e){const t=e.getId();return t.then((e=>{hr=e})),t}(e.installations))).then((t=>function(e,t){const n=function(){const e=mr.getInstance().localStorage;if(!e)return;const t=e.getItem(sr);if(!(t&&(n=t,Number(n)>Date.now())))return;var n;const r=e.getItem(or);if(r)try{return JSON.parse(r)}catch(e){return}}();return n?(Dr(n),Promise.resolve()):function(e,t){return function(e){const t=e.getToken();return t.then((e=>{})),t}(e.installations).then((n=>{const r=function(e){var t;const n=null===(t=e.options)||void 0===t?void 0:t.projectId;if(!n)throw lr.create("no project id");return n}(e.app),i=function(e){var t;const n=null===(t=e.options)||void 0===t?void 0:t.apiKey;if(!n)throw lr.create("no api key");return n}(e.app),a=new Request(`https://firebaseremoteconfig.googleapis.com/v1/projects/${r}/namespaces/fireperf:fetch?key=${i}`,{method:"POST",headers:{Authorization:`FIREBASE_INSTALLATIONS_AUTH ${n}`},body:JSON.stringify({app_instance_id:t,app_instance_id_token:n,app_id:Tr(e.app),app_version:Yn,sdk_version:"0.0.1"})});return fetch(a).then((e=>{if(e.ok)return e.json();throw lr.create("RC response not ok")}))})).catch((()=>{ur.info(Ar)}))}(e,t).then(Dr).then((e=>function(e){const t=mr.getInstance().localStorage;e&&t&&(t.setItem(or,JSON.stringify(e)),t.setItem(sr,String(Date.now()+60*br.getInstance().configTimeToLive*60*1e3)))}(e)),(()=>{}))}(e,t))).then((()=>Nr()),(()=>Nr()))}(e),kr}function Nr(){Or=3}let Lr,Br=3,Fr=[],$r=!1;function Rr(e){setTimeout((()=>{Br<=0||(Fr.length>0&&jr(),Rr(1e4))}),e)}function jr(){const e=Fr.splice(0,1e3),t=e.map((e=>({source_extension_json_proto3:e.message,event_time_ms:String(e.eventTime)})));(function(e){const t=br.getInstance().getFlTransportFullUrl(),n=JSON.stringify(e);return navigator.sendBeacon&&navigator.sendBeacon(t,n)?Promise.resolve():fetch(t,{method:"POST",body:n,keepalive:!0}).then()})({request_time_ms:String(Date.now()),client_info:{client_type:1,js_client_info:{}},log_source:br.getInstance().logSource,log_event:t}).then((()=>{Br=3})).catch((()=>{Fr=[...e,...Fr],Br--,ur.info(`Tries left: ${Br}.`),Rr(1e4)}))}function Ur(e){return(...t)=>{!function(e){if(!e.eventTime||!e.message)throw lr.create("invalid cc log");Fr=[...Fr,e]}({message:e(...t),eventTime:Date.now()})}}function xr(){for(;Fr.length>0;)jr()}function zr(e,t){Lr||(Lr={send:Ur(Wr),flush:xr}),Lr.send(e,t)}function Hr(e){const t=br.getInstance();!t.instrumentationEnabled&&e.isAuto||(t.dataCollectionEnabled||e.isAuto)&&mr.getInstance().requiredApisAvailable()&&(3===Or?Vr(e):Pr(e.performanceController).then((()=>Vr(e)),(()=>Vr(e))))}
2function Vr(e){if(!gr())return;const t=br.getInstance();t.loggingEnabled&&t.logTraceAfterSampling&&zr(e,1)}function Wr(e,t){return 0===t?function(e){const t={url:e.url,http_method:e.httpMethod||0,http_response_code:200,response_payload_bytes:e.responsePayloadBytes,client_start_time_us:e.startTimeUs,time_to_response_initiated_us:e.timeToResponseInitiatedUs,time_to_response_completed_us:e.timeToResponseCompletedUs},n={application_info:qr(e.performanceController.app),network_request_metric:t};return JSON.stringify(n)}(e):function(e){const t={name:e.name,is_auto:e.isAuto,client_start_time_us:e.startTimeUs,duration_us:e.durationUs};0!==Object.keys(e.counters).length&&(t.counters=e.counters);const n=e.getAttributes();0!==Object.keys(n).length&&(t.custom_attributes=n);const r={application_info:qr(e.performanceController.app),trace_metric:t};return JSON.stringify(r)}(e)}function qr(e){return{google_app_id:Tr(e),app_instance_id:gr(),web_app_info:{sdk_version:Yn,page_url:mr.getInstance().getUrl(),service_worker_status:Er(),visibility_state:_r(),effective_connection_type:Sr()},application_process_state:0}}function Kr(e,t){const n=t;if(!n||void 0===n.responseStart)return;const r=mr.getInstance().getTimeOrigin(),i=Math.floor(1e3*(n.startTime+r)),a=n.responseStart?Math.floor(1e3*(n.responseStart-n.startTime)):void 0,o=Math.floor(1e3*(n.responseEnd-n.startTime));!function(e){const t=br.getInstance();if(!t.instrumentationEnabled)return;const n=e.url,r=t.logEndPointUrl.split("?")[0],i=t.flTransportEndpointUrl.split("?")[0];n!==r&&n!==i&&t.loggingEnabled&&t.logNetworkAfterSampling&&zr(e,0)}({performanceController:e,url:n.name&&n.name.split("?")[0],responsePayloadBytes:n.transferSize,startTimeUs:i,timeToResponseInitiatedUs:a,timeToResponseCompletedUs:o})}const Jr=["_fp",tr,nr,rr,ar,ir];class Gr{constructor(e,t,n=!1,r){this.performanceController=e,this.name=t,this.isAuto=n,this.state=1,this.customAttributes={},this.counters={},this.api=mr.getInstance(),this.randomId=Math.floor(1e6*Math.random()),this.isAuto||(this.traceStartMark=`FB-PERF-TRACE-START-${this.randomId}-${this.name}`,this.traceStopMark=`FB-PERF-TRACE-STOP-${this.randomId}-${this.name}`,this.traceMeasure=r||`${Qn}-${this.randomId}-${this.name}`,r&&this.calculateTraceMetrics())}start(){if(1!==this.state)throw lr.create("trace started",{traceName:this.name});this.api.mark(this.traceStartMark),this.state=2}stop(){if(2!==this.state)throw lr.create("trace stopped",{traceName:this.name});this.state=3,this.api.mark(this.traceStopMark),this.api.measure(this.traceMeasure,this.traceStartMark,this.traceStopMark),this.calculateTraceMetrics(),Hr(this)}record(e,t,n){if(e<=0)throw lr.create("nonpositive trace startTime",{traceName:this.name});if(t<=0)throw lr.create("nonpositive trace duration",{traceName:this.name});if(this.durationUs=Math.floor(1e3*t),this.startTimeUs=Math.floor(1e3*e),n&&n.attributes&&(this.customAttributes=Object.assign({},n.attributes)),n&&n.metrics)for(const e of Object.keys(n.metrics))isNaN(Number(n.metrics[e]))||(this.counters[e]=Math.floor(Number(n.metrics[e])));Hr(this)}incrementMetric(e,t=1){void 0===this.counters[e]?this.putMetric(e,t):this.putMetric(e,this.counters[e]+t)}putMetric(e,t){if(n=e,r=this.name,0===n.length||n.length>100||!(r&&r.startsWith(er)&&Jr.indexOf(n)>-1)&&n.startsWith("_"))throw lr.create("invalid custom metric name",{customMetricName:e});var n,r;this.counters[e]=function(e){const t=Math.floor(e);return t<e&&ur.info(`Metric value should be an Integer, setting the value as : ${t}.`),t}(null!=t?t:0)}getMetric(e){return this.counters[e]||0}putAttribute(e,t){const n=!(0===(r=e).length||r.length>40||wr.some((e=>r.startsWith(e)))||!r.match(Ir));var r;const i=function(e){return 0!==e.length&&e.length<=100}(t);if(n&&i)this.customAttributes[e]=t;else{if(!n)throw lr.create("invalid attribute name",{attributeName:e});if(!i)throw lr.create("invalid attribute value",{attributeValue:t})}}getAttribute(e){return this.customAttributes[e]}removeAttribute(e){void 0!==this.customAttributes[e]&&delete this.customAttributes[e]}getAttributes(){return Object.assign({},this.customAttributes)}setStartTime(e){this.startTimeUs=e}setDuration(e){this.durationUs=e}calculateTraceMetrics(){const e=this.api.getEntriesByName(this.traceMeasure),t=e&&e[0];t&&(this.durationUs=Math.floor(1e3*t.duration),this.startTimeUs=Math.floor(1e3*(t.startTime+this.api.getTimeOrigin())))}static createOobTrace(e,t,n,r,i){const a=mr.getInstance().getUrl();if(!a)return;const o=new Gr(e,er+a,!0),s=Math.floor(1e3*mr.getInstance().getTimeOrigin());if(o.setStartTime(s),t&&t[0]&&(o.setDuration(Math.floor(1e3*t[0].duration)),o.putMetric("domInteractive",Math.floor(1e3*t[0].domInteractive)),o.putMetric("domContentLoadedEventEnd",Math.floor(1e3*t[0].domContentLoadedEventEnd)),o.putMetric("loadEventEnd",Math.floor(1e3*t[0].loadEventEnd))),n){const e=n.find((e=>"first-paint"===e.name));e&&e.startTime&&o.putMetric("_fp",Math.floor(1e3*e.startTime));const t=n.find((e=>"first-contentful-paint"===e.name));t&&t.startTime&&o.putMetric(tr,Math.floor(1e3*t.startTime)),i&&o.putMetric(nr,Math.floor(1e3*i))}this.addWebVitalMetric(o,rr,"lcp_element",r.lcp),this.addWebVitalMetric(o,ar,"cls_largestShiftTarget",r.cls),this.addWebVitalMetric(o,ir,"inp_interactionTarget",r.inp
2),Hr(o),Lr&&Lr.flush()}static addWebVitalMetric(e,t,n,r){r&&(e.putMetric(t,Math.floor(1e3*r.value)),r.elementAttribution&&e.putAttribute(n,r.elementAttribution))}static createUserTimingTrace(e,t){Hr(new Gr(e,t,!1,t))}}let Xr,Zr={},Yr=!1;function Qr(e){gr()&&(setTimeout((()=>function(e){const t=mr.getInstance();"onpagehide"in window?t.document.addEventListener("pagehide",(()=>ti(e))):t.document.addEventListener("unload",(()=>ti(e))),t.document.addEventListener("visibilitychange",(()=>{"hidden"===t.document.visibilityState&&ti(e)})),t.onFirstInputDelay&&t.onFirstInputDelay((e=>{Xr=e})),t.onLCP((e=>{var t;Zr.lcp={value:e.value,elementAttribution:null===(t=e.attribution)||void 0===t?void 0:t.element}})),t.onCLS((e=>{var t;Zr.cls={value:e.value,elementAttribution:null===(t=e.attribution)||void 0===t?void 0:t.largestShiftTarget}})),t.onINP((e=>{var t;Zr.inp={value:e.value,elementAttribution:null===(t=e.attribution)||void 0===t?void 0:t.interactionTarget}}))}(e)),0),setTimeout((()=>function(e){const t=mr.getInstance(),n=t.getEntriesByType("resource");for(const t of n)Kr(e,t);t.setupObserver("resource",(t=>Kr(e,t)))}(e)),0),setTimeout((()=>function(e){const t=mr.getInstance(),n=t.getEntriesByType("measure");for(const t of n)ei(e,t);t.setupObserver("measure",(t=>ei(e,t)))}(e)),0))}function ei(e,t){const n=t.name;n.substring(0,21)!==Qn&&Gr.createUserTimingTrace(e,n)}function ti(e){if(!Yr){Yr=!0;const t=mr.getInstance(),n=t.getEntriesByType("navigation"),r=t.getEntriesByType("paint");setTimeout((()=>{Gr.createOobTrace(e,n,r,Zr,Xr)}),0)}}class ni{constructor(e,t){this.app=e,this.installations=t,this.initialized=!1}_init(e){this.initialized||(void 0!==(null==e?void 0:e.dataCollectionEnabled)&&(this.dataCollectionEnabled=e.dataCollectionEnabled),void 0!==(null==e?void 0:e.instrumentationEnabled)&&(this.instrumentationEnabled=e.instrumentationEnabled),mr.getInstance().requiredApisAvailable()?l().then((e=>{e&&($r||(Rr(5500),$r=!0),Pr(this).then((()=>Qr(this)),(()=>Qr(this))),this.initialized=!0)})).catch((e=>{ur.info(`Environment doesn't support IndexedDB: ${e}`)})):ur.info('Firebase Performance cannot start if the browser does not support "Fetch" and "Promise", or cookies are disabled.'))}set instrumentationEnabled(e){br.getInstance().instrumentationEnabled=e}get instrumentationEnabled(){return br.getInstance().instrumentationEnabled}set dataCollectionEnabled(e){br.getInstance().dataCollectionEnabled=e}get dataCollectionEnabled(){return br.getInstance().dataCollectionEnabled}}De(new b("performance",((e,{options:t})=>{const n=e.getProvider("app").getImmediate(),r=e.getProvider("installations-internal").getImmediate();if("[DEFAULT]"!==n.name)throw lr.create("FB not default");if("undefined"==typeof window)throw lr.create("no window");!function(e){fr=e}(window);const i=new ni(n,r);return i._init(t),i}),"PUBLIC")),Le(Xn,Zn),Le(Xn,Zn,"esm2017");const ri=(()=>{let e=null,t=null,n=null;return{init:async r=>{try{return console.log("FirebaseWeb.init"),!e&&r&&(e=Pe(r),n=function(e=Ne()){return Me(e=v(e),"performance").getImmediate()}(e),t=function(e=Ne()){const t=Me(e=v(e),Tt);return t.isInitialized()?t.getImmediate():function(e,t={}){const n=Me(e,Tt);if(n.isInitialized()){const e=n.getImmediate();if(p(t,n.getOptions()))return e;throw Dt.create("already-initialized")}return n.initialize({options:t})}(e)}(e),console.log("FirebaseWeb initialized",e)),e}catch(e){return console.error("Error initializing Firebase:",e),null}},logEvent:async(e,n)=>{try{return console.log("FirebaseWeb.logEvent",e,n),t?(await Jt(t,e,n),console.log("FirebaseWeb Event logged:",e),!0):(console.warn("Firebase Analytics is not initialized."),!1)}catch(e){return console.error("Error logging event:",e),!1}},setUserId:async(e,n)=>{try{t?(function(e,t,n){e=v(e),async function(e,t,n,r){if(r&&r.global)return e("set",{user_id:n}),Promise.resolve();e("config",await t,{update:!0,user_id:n})}(Vt,Ut[e.app.options.appId],t,n).catch((e=>At.error(e)))}(t,e,n),console.log("User ID set:",e)):console.warn("Firebase Analytics is not initialized.")}catch(e){console.error("Error setting user ID:",e)}},setScreenName:async e=>{try{t?(await ri.logEvent("screen_view",{screen_name:e}),console.log("Screen name set:",e)):console.warn("Firebase Analytics is not initialized.")}catch(e){console.error("Error setting screen name:",e)}},setUserProperties:async e=>{try{t?(function(e,t,n){e=v(e),async function(e,t,n,r){if(r&&r.global){const t={};for(const e of Object.keys(n))t[`user_properties.${e}`]=n[e];return e("set",t),Promise.resolve()}e("config",await t,{update:!0,user_properties:n})}(Vt,Ut[e.app.options.appId],t,n).catch((e=>At.error(e)))}(t,e),console.log("firebaseSetUserProperties:",e)):console.warn("Firebase Analytics is not initialized.")}catch(e){console.error("Error setting user property:",e)}}}})();window.FirebaseWeb=ri})();
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.