PageSourceSearch

https://1752.ai/_next/static/chunks/371d3363fb8870a1.js

js 1752.ai collected 2026-10-04 19:32:11 UTC 378,741 bytes, 23 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,36180,97427,8070,83877,92953,98925,e=>{"use strict";let t,n,r;var i,s,a,o,l,u,h,c,d,f,m,g,p,y,w,v,b=e.i(47167);let I=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:((64512&i)==55296&&r+1<e.length&&(64512&e.charCodeAt(r+1))==56320?(i=65536+((1023&i)<<10)+(1023&e.charCodeAt(++r)),t[n++]=i>>18|240,t[n++]=i>>12&63|128):t[n++]=i>>12|224,t[n++]=i>>6&63|128),t[n++]=63&i|128)}return t},_=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 s=e[n++];t[r++]=String.fromCharCode((31&i)<<6|63&s)}else if(i>239&&i<365){let s=((7&i)<<18|(63&e[n++])<<12|(63&e[n++])<<6|63&e[n++])-65536;t[r++]=String.fromCharCode(55296+(s>>10)),t[r++]=String.fromCharCode(56320+(1023&s))}else{let s=e[n++],a=e[n++];t[r++]=String.fromCharCode((15&i)<<12|(63&s)<<6|63&a)}}return t.join("")},E={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_();let n=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,r=[];for(let t=0;t<e.length;t+=3){let i=e[t],s=t+1<e.length,a=s?e[t+1]:0,o=t+2<e.length,l=o?e[t+2]:0,u=i>>2,h=(3&i)<<4|a>>4,c=(15&a)<<2|l>>6,d=63&l;!o&&(d=64,s||(c=64)),r.push(n[u],n[h],n[c],n[d])}return r.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(I(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):_(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();let n=t?this.charToByteMapWebSafe_:this.charToByteMap_,r=[];for(let t=0;t<e.length;){let i=n[e.charAt(t++)],s=t<e.length?n[e.charAt(t)]:0,a=++t<e.length?n[e.charAt(t)]:64,o=++t<e.length?n[e.charAt(t)]:64;if(++t,null==i||null==s||null==a||null==o)throw new T;let l=i<<2|s>>4;if(r.push(l),64!==a){let e=s<<4&240|a>>2;if(r.push(e),64!==o){let e=a<<6&192|o;r.push(e)}}}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)}}};class T extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}let S=function(e){let t=I(e);return E.encodeByteArray(t,!0)},C=function(e){return S(e).replace(/\./g,"")},x=function(e){try{return E.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};function D(){return"u">typeof self?self:"u">typeof window?window:e.g}let A=()=>{try{return D().__FIREBASE_DEFAULTS__||(()=>{if(void 0===b.default||void 0===b.default.env)return;let e=b.default.env.__FIREBASE_DEFAULTS__;if(e)return JSON.parse(e)})()||(()=>{let e;if("u"<typeof document)return;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch(e){return}let t=e&&x(e[1]);return t&&JSON.parse(t)})()}catch(e){console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);return}},N=e=>A()?.emulatorHosts?.[e],k=e=>{let t=N(e);if(!t)return;let n=t.lastIndexOf(":");if(n<=0||n+1===t.length)throw Error(`Invalid host ${t} with no separate hostname and port!`);let r=parseInt(t.substring(n+1),10);return"["===t[0]?[t.substring(1,n-1),r]:[t.substring(0,n),r]},R=()=>A()?.config,O=e=>A()?.[`_${e}`];class M{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise((e,t)=>
1{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 L(e){try{return(e.startsWith("http://")||e.startsWith("https://")?new URL(e).hostname:e).endsWith(".cloudworkstations.dev")}catch{return!1}}async function P(e){return(await fetch(e,{credentials:"include"})).ok}function F(e,t){if(e.uid)throw Error('The "uid" field is no longer supported by mockUserToken. Please use "sub" instead for Firebase Auth User ID.');let n=t||"demo-project",r=e.iat||0,i=e.sub||e.user_id;if(!i)throw Error("mockUserToken must contain 'sub' or 'user_id' field!");let s={iss:`https://securetoken.google.com/${n}`,aud:n,iat:r,exp:r+3600,auth_time:r,sub:i,user_id:i,firebase:{sign_in_provider:"custom",identities:{}},...e};return[C(JSON.stringify({alg:"none",type:"JWT"})),C(JSON.stringify(s)),""].join(".")}let V={},B=!1;function U(e,t){if("u"<typeof window||"u"<typeof document||!L(window.location.host)||V[e]===t||V[e]||B)return;function n(e){return`__firebase__banner__${e}`}V[e]=t;let r="__firebase__banner",i=function(){let e={prod:[],emulator:[]};for(let t of Object.keys(V))V[t]?e.emulator.push(t):e.prod.push(t);return e}().prod.length>0;function s(){let e,t,s=(e=document.getElementById(r),t=!1,e||((e=document.createElement("div")).setAttribute("id",r),t=!0),{created:t,element:e}),a=n("text"),o=document.getElementById(a)||document.createElement("span"),l=n("learnmore"),u=document.getElementById(l)||document.createElement("a"),h=n("preprendIcon"),c=document.getElementById(h)||document.createElementNS("http://www.w3.org/2000/svg","svg");if(s.created){let e,t=s.element;t.style.display="flex",t.style.background="#7faaf0",t.style.position="fixed",t.style.bottom="5px",t.style.left="5px",t.style.padding=".5em",t.style.borderRadius="5px",t.style.alignItems="center",u.setAttribute("id",l),u.innerText="Learn more",u.href="https://firebase.google.com/docs/studio/preview-apps#preview-backend",u.setAttribute("target","__blank"),u.style.paddingLeft="5px",u.style.textDecoration="underline";let n=((e=document.createElement("span")).style.cursor="pointer",e.style.marginLeft="16px",e.style.fontSize="24px",e.innerHTML=" &times;",e.onclick=()=>{let e;B=!0,(e=document.getElementById(r))&&e.remove()},e);c.setAttribute("width","24"),c.setAttribute("id",h),c.setAttribute("height","24"),c.setAttribute("viewBox","0 0 24 24"),c.setAttribute("fill","none"),c.style.marginLeft="-6px",t.append(c,o,u,n),document.body.appendChild(t)}i?(o.innerText="Preview backend disconnected.",c.innerHTML=`<g clip-path="url(#clip0_6013_33858)">
2<path d="M4.8 17.6L12 5.6L19.2 17.6H4.8ZM6.91667 16.4H17.0833L12 7.93333L6.91667 16.4ZM12 15.6C12.1667 15.6 12.3056 15.5444 12.4167 15.4333C12.5389 15.3111 12.6 15.1667 12.6 15C12.6 14.8333 12.5389 14.6944 12.4167 14.5833C12.3056 14.4611 12.1667 14.4 12 14.4C11.8333 14.4 11.6889 14.4611 11.5667 14.5833C11.4556 14.6944 11.4 14.8333 11.4 15C11.4 15.1667 11.4556 15.3111 11.5667 15.4333C11.6889 15.5444 11.8333 15.6 12 15.6ZM11.4 13.6H12.6V10.4H11.4V13.6Z" fill="#212121"/>
3</g>
4<defs>
5<clipPath id="clip0_6013_33858">
6<rect width="24" height="24" fill="white"/>
7</clipPath>
8</defs>`):(c.innerHTML=`<g clip-path="url(#clip0_6083_34804)">
9<path d="M11.4 15.2H12.6V11.2H11.4V15.2ZM12 10C12.1667 10 12.3056 9.94444 12.4167 9.83333C12.5389 9.71111 12.6 9.56667 12.6 9.4C12.6 9.23333 12.5389 9.09444 12.4167 8.98333C12.3056 8.86111 12.1667 8.8 12 8.8C11.8333 8.8 11.6889 8.86111 11.5667 8.98333C11.4556 9.09444 11.4 9.23333 11.4 9.4C11.4 9.56667 11.4556 9.71111 11.5667 9.83333C11.6889 9.94444 11.8333 10 12 10ZM12 18.4C11.1222 18.4 10.2944 18.2333 9.51667 17.9C8.73889 17.5667 8.05556 17.1111 7.46667 16.5333C6.88889 15.9444 6.43333 15.2611 6.1 14.4833C5.76667 13.7056 5.6 12.8778 5.6 12C5.6 11.1111 5.76667 10.2833 6.1 9.51667C6.43333 8.73889 6.88889 8.06111 7.46667 7.48333C8.05556 6.89444 8.73889 6.43333 9.51667 6.1C10.2944 5.76667 11.1222 5.6 12 5.6C12.8889 5.6 13.7167 5.76667 14.4833 6.1C15.2611 6.43333 15.9389 6.89444 16.5167 7.48333C17.1056 8.06111 17.5667 8.73889 17.9 9.51667C18.2333 10.2833 18.4 11.1111 18.4 12C18.4 12.8778 18.2333 13.7056 17.9 14.4833C17.5667 15.2611 17.1056 15.9444 16.5167 16.5333C15.9389 17.1111 15.2611 17.5667 14.4833 17.9C13.7167 18.2333 12.8889 18.4 12 18.4ZM12 17.2C13.4444 17.2 14.6722 16.6944 15.6833 15.6833C16.6944 14.6722 17.2 13.4444 17.2 12C17.2 10.5556 16.6944 9.32778 15.6833 8.31667C14.6722 7.30555 13.4444 6.8 12 6.8C10.5556 6.8 9.32778 7.30555 8.31667 8.31667C7.30556 9.32778 6.8 10.5556 6.8 12C6.8 13.4444 7.30556 14.6722 8.31667 15.6833C9.32778 16.6944 10.5556 17.2 12 17.2Z" fill="#212121"/>
10</g>
11<defs>
12<clipPath id="clip0_6083_34804">
13<rect width="24" height="24" fill="white"/>
14</clipPath>
15</defs>`,o.innerText="Preview backend running in this workspace."),o.setAttribute("id",a)}"loading"===document.readyState?window.addEventListener("DOMContentLoaded",s):s()}function q(){return"u">typeof navigator&&"string"==typeof navigator.userAgent?navigator.userAgent:""}function j(){return"u">typeof window&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(q())}function z(){let t=A()?.forceEnvironment;if("node"===t)return!0;
15if("browser"===t)return!1;try{return"[object process]"===Object.prototype.toString.call(e.g.process)}catch(e){return!1}}function $(){return"u">typeof window||G()}function G(){return"u">typeof WorkerGlobalScope&&"u">typeof self&&self instanceof WorkerGlobalScope}function K(){return"u">typeof navigator&&"Cloudflare-Workers"===navigator.userAgent}function Q(){let e="object"==typeof chrome?chrome.runtime:"object"==typeof browser?browser.runtime:void 0;return"object"==typeof e&&void 0!==e.id}function H(){return"object"==typeof navigator&&"ReactNative"===navigator.product}function W(){let e=q();return e.indexOf("MSIE ")>=0||e.indexOf("Trident/")>=0}function J(){return!z()&&!!navigator.userAgent&&navigator.userAgent.includes("Safari")&&!navigator.userAgent.includes("Chrome")}function Y(){return!z()&&!!navigator.userAgent&&(navigator.userAgent.includes("Safari")||navigator.userAgent.includes("WebKit"))&&!navigator.userAgent.includes("Chrome")}function X(){try{return"object"==typeof indexedDB}catch(e){return!1}}function Z(){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(e){t(e)}})}class ee extends Error{constructor(e,t,n){super(t),this.code=e,this.customData=n,this.name="FirebaseError",Object.setPrototypeOf(this,ee.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,et.prototype.create)}}class et{constructor(e,t,n){this.service=e,this.serviceName=t,this.errors=n}create(e,...t){var n,r;let i=t[0]||{},s=`${this.service}/${e}`,a=this.errors[e],o=a?(n=a,r=i,n.replace(en,(e,t)=>{let n=r[t];return null!=n?String(n):`<${t}?>`})):"Error",l=`${this.serviceName}: ${o} (${s}).`;return new ee(s,l,i)}}let en=/\{\$([^}]+)}/g;function er(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function ei(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 n=e[i],s=t[i];if(es(n)&&es(s)){if(!ei(n,s))return!1}else if(n!==s)return!1}for(let e of r)if(!n.includes(e))return!1;return!0}function es(e){return null!==e&&"object"==typeof e}function ea(e){let t=[];for(let[n,r]of Object.entries(e))Array.isArray(r)?r.forEach(e=>{t.push(encodeURIComponent(n)+"="+encodeURIComponent(e))}):t.push(encodeURIComponent(n)+"="+encodeURIComponent(r));return t.length?"&"+t.join("&"):""}function eo(e){let t={};return e.replace(/^\?/,"").split("&").forEach(e=>{if(e){let[n,r]=e.split("=");
15t[decodeURIComponent(n)]=decodeURIComponent(r)}}),t}function el(e){let t=e.indexOf("?");if(!t)return"";let n=e.indexOf("#",t);return e.substring(t,n>0?n:void 0)}function eu(e,t){let n=new eh(e,t);return n.subscribe.bind(n)}class eh{constructor(e,t){this.observers=[],this.unsubscribes=[],this.observerCount=0,this.task=Promise.resolve(),this.finalized=!1,this.onNoObservers=t,this.task.then(()=>{e(this)}).catch(e=>{this.error(e)})}next(e){this.forEachObserver(t=>{t.next(e)})}error(e){this.forEachObserver(t=>{t.error(e)}),this.close(e)}complete(){this.forEachObserver(e=>{e.complete()}),this.close()}subscribe(e,t,n){let r;if(void 0===e&&void 0===t&&void 0===n)throw Error("Missing Observer.");void 0===(r=!function(e,t){if("object"!=typeof e||null===e)return!1;for(let n of t)if(n in e&&"function"==typeof e[n])return!0;return!1}(e,["next","error","complete"])?{next:e,error:t,complete:n}:e).next&&(r.next=ec),void 0===r.error&&(r.error=ec),void 0===r.complete&&(r.complete=ec);let i=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?r.error(this.finalError):r.complete()}catch(e){}}),this.observers.push(r),i}unsubscribeOne(e){void 0!==this.observers&&void 0!==this.observers[e]&&(delete this.observers[e],this.observerCount-=1,0===this.observerCount&&void 0!==this.onNoObservers&&this.onNoObservers(this))}forEachObserver(e){if(!this.finalized)for(let t=0;t<this.observers.length;t++)this.sendOne(t,e)}sendOne(e,t){this.task.then(()=>{if(void 0!==this.observers&&void 0!==this.observers[e])try{t(this.observers[e])}catch(e){"u">typeof console&&console.error&&console.error(e)}})}close(e){this.finalized||(this.finalized=!0,void 0!==e&&(this.finalError=e),this.task.then(()=>{this.observers=void 0,this.onNoObservers=void 0}))}}function ec(){}function ed(e){return e&&e._delegate?e._delegate:e}e.s(["Deferred",()=>M,"ErrorFactory",()=>et,"FirebaseError",()=>ee,"base64Decode",()=>x,"base64urlEncodeWithoutPadding",()=>C,"createMockUserToken",()=>F,"createSubscribe",()=>eu,"deepEqual",()=>ei,"extractQuerystring",()=>el,"getDefaultAppConfig",()=>R,"getDefaultEmulatorHost",()=>N,"getDefaultEmulatorHostnameAndPort",()=>k,"getExperimentalSetting",()=>O,"getGlobal",()=>D,"getModularInstance",()=>ed,"getUA",()=>q,"isBrowser",()=>$,"isBrowserExtension",()=>Q,"isCloudWorkstation",()=>L,"isCloudflareWorker",()=>K,"isEmpty",()=>er,"isIE",()=>W,"isIndexedDBAvailable",()=>X,"isMobileCordova",()=>j,"isReactNative",()=>H,"isSafari",()=>J,"isSafariOrWebkit",()=>Y,"isWebWorker",()=>G,"pingServer",()=>P,"querystring",()=>ea,"querystringDecode",()=>eo,"updateEmulatorBanner",()=>U,"validateIndexedDBOpenable",()=>Z],97427);class ef{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}}let em="[DEFAULT]";class eg{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){let t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){let e=new M;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{let n=this.getOrInitializeService({instanceIdentifier:t});n&&e.resolve(n)}catch(e){}}return this.instancesDeferred.get(t).promise}getImmediate(e){let t=this.normalizeInstanceIdentifier(e?.identifier),n=e?.optional??!1;if(this.isInitialized(t)||this.shouldAutoInitialize())try{return this.getOrInitializeService({instanceIdentifier:t})}catch(e){if(n)return null;throw e}if(n)return null;throw Error(`Service ${this.name} is not available`)}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if("EAGER"===e.instantiationMode)try{this.getOrInitializeService({instanceIdentifier:em})}catch(e){}for(let[e,t]of this.instancesDeferred.entries()){let n=this.normalizeInstanceIdentifier(e);try{let e=this.getOrInitializeService({instanceIdentifier:n});t.resolve(e)}catch(e){}}}}clearInstance(e=em){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){let e=Array.from(this.instances.values());await Promise.all([...e.filter(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=em){return this.instances.has(e)}getOptions(e=em){return this.instancesOptions.get(e)||{}}initialize(e={}){let{options:t={}}=e,n=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(n))throw Error(`${this.name}(${n}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);let r=this.getOrInitializeService({instanceIdentifier:n,options:t});for(let[e,t]of this.instancesDeferred.entries())n===this.normalizeInstanceIdentifier(e)&&t.resolve(r);return r}onInit(e,t){let n=this.normalizeInstanceIdentifier(t),r=this.onInitCallbacks.get(n)??new Set;r.add(e),this.onInitCallbacks.set(n,r);let i=this.instances.get(n);return i&&e(i,n),()=>{r.delete(e)}}invokeOnInitCallbacks(e,t){let n=this.onInitCallbacks.get(t);if(n)for(let r of n)try{r(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){var n;let r=this.instances.get(e);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:(n=e)===em?void 0:n,options:t}),this.instances.set(e,r),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(r,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,r)}catch{}return r||null}normalizeInstanceIdentifier(e=em){return this.component?this.component.multipleInstances?e:em:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}class ep{constructor(e){this.name=e,this.providers=new Map}addComponent(e){let t=this.getProvider(e.name);if(t.isComponentSet())throw Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);let t=new eg(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}e.s(["Component",()=>ef,"ComponentContainer",()=>ep],8070);let ey=[];(i=s||(s={}))[i.DEBUG=0]="DEBUG",i[i.VERBOSE=1]="VERBOSE",i[i.INFO=2]="INFO",i[i.WARN=3]="WARN",i[i.ERROR=4]="ERROR",i[i.SILENT=5]="SILENT";
15let ew={debug:s.DEBUG,verbose:s.VERBOSE,info:s.INFO,warn:s.WARN,error:s.ERROR,silent:s.SILENT},ev=s.INFO,eb={[s.DEBUG]:"log",[s.VERBOSE]:"log",[s.INFO]:"info",[s.WARN]:"warn",[s.ERROR]:"error"},eI=(e,t,...n)=>{if(t<e.logLevel)return;let r=new Date().toISOString(),i=eb[t];if(i)console[i](`[${r}]  ${e.name}:`,...n);else throw Error(`Attempted to log a message with an invalid logType (value: ${t})`)};class e_{constructor(e){this.name=e,this._logLevel=ev,this._logHandler=eI,this._userLogHandler=null,ey.push(this)}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in s))throw TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel="string"==typeof e?ew[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if("function"!=typeof e)throw TypeError("Value assigned to `logHandler` must be a function");this._logHandler=e}get userLogHandler(){return this._userLogHandler}set userLogHandler(e){this._userLogHandler=e}debug(...e){this._userLogHandler&&this._userLogHandler(this,s.DEBUG,...e),this._logHandler(this,s.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,s.VERBOSE,...e),this._logHandler(this,s.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,s.INFO,...e),this._logHandler(this,s.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,s.WARN,...e),this._logHandler(this,s.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,s.ERROR,...e),this._logHandler(this,s.ERROR,...e)}}function eE(e){ey.forEach(t=>{t.setLogLevel(e)})}function eT(e,t){for(let n of ey){let r=null;t&&t.level&&(r=ew[t.level]),null===e?n.userLogHandler=null:n.userLogHandler=(t,n,...i)=>{let a=i.map(e=>{if(null==e)return null;if("string"==typeof e)return e;if("number"==typeof e||"boolean"==typeof e)return e.toString();if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch(e){return null}}).filter(e=>e).join(" ");n>=(r??t.logLevel)&&e({level:s[n].toLowerCase(),message:a,args:i,type:t.name})}}}e.s(["LogLevel",()=>s,"Logger",()=>e_,"setLogLevel",()=>eE,"setUserLogHandler",()=>eT],83877);let eS=new WeakMap,eC=new WeakMap,ex=new WeakMap,eD=new WeakMap,eA=new WeakMap,eN={get(e,t,n){if(e instanceof IDBTransaction){if("done"===t)return eC.get(e);if("objectStoreNames"===t)return e.objectStoreNames||ex.get(e);if("store"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return ek(e[t])},set:(e,t,n)=>(e[t]=n,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function ek(e){if(e instanceof IDBRequest){let t;return(t=new Promise((t,n)=>{let r=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{t(ek(e.result)),r()},s=()=>{n(e.error),r()};e.addEventListener("success",i),e.addEventListener("error",s)})).then(t=>{t instanceof IDBCursor&&eS.set(t,e)}).catch(()=>{}),eA.set(t,e),t}if(eD.has(e))return eD.get(e);let r=function(e){if("function"==typeof e)return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(n||(n=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(eR(this),t),ek(eS.get(this))}:function(...t){return ek(e.apply(eR(this),t))}:function(t,...n){let r=e.call(eR(this),t,...n);return ex.set(r,t.sort?t.sort():[t]),ek(r)};return e instanceof IDBTransaction&&function(e){if(eC.has(e))return;let t=new Promise((t,n)=>{let r=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",s),e.removeEventListener("abort",s)},i=()=>{t(),r()},s=()=>{n(e.error||new DOMException("AbortError","AbortError")),r()};e.addEventListener("complete",i),e.addEventListener("error",s),e.addEventListener("abort",s)});eC.set(e,t)}(e),(t||(t=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])).some(t=>e instanceof t)?new Proxy(e,eN):e}(e);return r!==e&&(eD.set(e,r),eA.set(r,e)),r}let eR=e=>eA.get(e),eO=["get","getKey","getAll","getAllKeys","count"],eM=["put","add","delete","clear"],eL=new Map;function eP(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(eL.get(t))return eL.get(t);let n=t.replace(/FromIndex$/,""),r=t!==n,i=eM.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!(i||eO.includes(n)))return;let s=async function(e,...t){let s=this.transaction(e,i?"readwrite":"readonly"),a=s.store;
15return r&&(a=a.index(t.shift())),(await Promise.all([a[n](...t),i&&s.done]))[0]};return eL.set(t,s),s}eN={...r=eN,get:(e,t,n)=>eP(e,t)||r.get(e,t,n),has:(e,t)=>!!eP(e,t)||r.has(e,t)};class eF{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(e=>{let t;if(t=e.getComponent(),t?.type!=="VERSION")return null;{let t=e.getImmediate();return`${t.library}/${t.version}`}}).filter(e=>e).join(" ")}}let eV="@firebase/app",eB="0.14.7",eU=new e_("@firebase/app"),eq="[DEFAULT]",ej={[eV]:"fire-core","@firebase/app-compat":"fire-core-compat","@firebase/analytics":"fire-analytics","@firebase/analytics-compat":"fire-analytics-compat","@firebase/app-check":"fire-app-check","@firebase/app-check-compat":"fire-app-check-compat","@firebase/auth":"fire-auth","@firebase/auth-compat":"fire-auth-compat","@firebase/database":"fire-rtdb","@firebase/data-connect":"fire-data-connect","@firebase/database-compat":"fire-rtdb-compat","@firebase/functions":"fire-fn","@firebase/functions-compat":"fire-fn-compat","@firebase/installations":"fire-iid","@firebase/installations-compat":"fire-iid-compat","@firebase/messaging":"fire-fcm","@firebase/messaging-compat":"fire-fcm-compat","@firebase/performance":"fire-perf","@firebase/performance-compat":"fire-perf-compat","@firebase/remote-config":"fire-rc","@firebase/remote-config-compat":"fire-rc-compat","@firebase/storage":"fire-gcs","@firebase/storage-compat":"fire-gcs-compat","@firebase/firestore":"fire-fst","@firebase/firestore-compat":"fire-fst-compat","@firebase/ai":"fire-vertex","fire-js":"fire-js",firebase:"fire-js-all"},ez=new Map,e$=new Map,eG=new Map;function eK(e,t){try{e.container.addComponent(t)}catch(n){eU.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,n)}}function eQ(e,t){e.container.addOrOverwriteComponent(t)}function eH(e){let t=e.name;if(eG.has(t))return eU.debug(`There were multiple attempts to register component ${t}.`),!1;for(let n of(eG.set(t,e),ez.values()))eK(n,e);for(let t of e$.values())eK(t,e);return!0}function eW(e,t){let n=e.container.getProvider("heartbeat").getImmediate({optional:!0});return n&&n.triggerHeartbeat(),e.container.getProvider(t)}function eJ(e,t,n=eq){eW(e,t).clearInstance(n)}function eY(e){return void 0!==e.options}function eX(e){return!eY(e)&&("authIdToken"in e||"appCheckToken"in e||"releaseOnDeref"in e||"automaticDataCollectionEnabled"in e)}function eZ(e){return null!=e&&void 0!==e.settings}function e0(){eG.clear()}let e1=new et("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
15d-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 e2{constructor(e,t,n){this._isDeleted=!1,this._options={...e},this._config={...t},this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=n,this.container.addComponent(new ef("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 e1.create("app-deleted",{appName:this._name})}}function e6(e,t){let n=x(e.split(".")[1]);null===n?console.error(`FirebaseServerApp ${t} is invalid: second part could not be parsed.`):void 0===JSON.parse(n).exp?console.error(`FirebaseServerApp ${t} is invalid: expiration claim could not be parsed`):1e3*JSON.parse(n).exp-new Date().getTime()<=0&&console.error(`FirebaseServerApp ${t} is invalid: the token has expired.`)}class e3 extends e2{constructor(e,t,n,r){const i=void 0===t.automaticDataCollectionEnabled||t.automaticDataCollectionEnabled,s={name:n,automaticDataCollectionEnabled:i};void 0!==e.apiKey?super(e,s,r):super(e.options,s,r),this._serverConfig={automaticDataCollectionEnabled:i,...t},this._serverConfig.authIdToken&&e6(this._serverConfig.authIdToken,"authIdToken"),this._serverConfig.appCheckToken&&e6(this._serverConfig.appCheckToken,"appCheckToken"),this._finalizationRegistry=null,"u">typeof FinalizationRegistry&&(this._finalizationRegistry=new FinalizationRegistry(()=>{this.automaticCleanup()})),this._refCount=0,this.incRefCount(this._serverConfig.releaseOnDeref),this._serverConfig.releaseOnDeref=void 0,t.releaseOnDeref=void 0,tt(eV,eB,"serverapp")}toJSON(){}get refCount(){return this._refCount}incRefCount(e){this.isDeleted||(this._refCount++,void 0!==e&&null!==this._finalizationRegistry&&this._finalizationRegistry.register(e,this))}decRefCount(){return this.isDeleted?0:--this._refCount}automaticCleanup(){te(this)}get settings(){return this.checkDestroyed(),this._serverConfig}checkDestroyed(){if(this.isDeleted)throw e1.create("server-app-deleted")}}let e4="12.8.0";function e5(e,t={}){let n=e;"object"!=typeof t&&(t={name:t});let r={name:eq,automaticDataCollectionEnabled:!0,...t},i=r.name;if("string"!=typeof i||!i)throw e1.create("bad-app-name",{appName:String(i)});if(n||(n=R()),!n)throw e1.create("no-options");let s=ez.get(i);if(s)if(ei(n,s.options)&&ei(r,s.config))return s;else throw e1.create("duplicate-app",{appName:i});let a=new ep(i);for(let e of eG.values())a.addComponent(e);let o=new e2(n,r,a);return ez.set(i,o),o}function e8(e,t={}){let n;if($()&&!G())throw e1.create("invalid-server-app-environment");let r=t||{};if(e&&(eY(e)?n=e.options:eX(e)?r=e:n=e),void 0===r.automaticDataCollectionEnabled&&(r.automaticDataCollectionEnabled=!0),n||(n=R()),!n)throw e1.create("no-options");let i={...r,...n};if(void 0!==i.releaseOnDeref&&delete i.releaseOnDeref,void 0!==r.releaseOnDeref&&"u"<typeof FinalizationRegistry)throw e1.create("finalization-registry-not-supported",{});let s=""+[...JSON.stringify(i)].reduce((e,t)=>Math.imul(31,e)+t.charCodeAt(0)|0,0),a=e$.get(s);if(a)return a.incRefCount(r.releaseOnDeref),a;let o=new ep(s);for(let e of eG.values())o.addComponent(e);let l=new e3(n,r,s,o);return e$.set(s,l),l}function e7(e=eq){let t=ez.get(e);if(!t&&e===eq&&R())return e5();if(!t)throw e1.create("no-app",{appName:e});return t}function e9(){return Array.from(ez.values())}async function te(e){let t=!1,n=e.name;ez.has(n)?(t=!0,ez.delete(n)):e$.has(n)&&0>=e.decRefCount()&&(e$.delete(n),t=!0),t&&(await Promise.all(e.container.getProviders().map(e=>e.delete())),e.isDeleted=!0)}function tt(e,t,n){let r=ej[e]??e;n&&(r+=`-${n}`);let i=r.match(/\s|\//),s=t.match(/\s|\//);if(i||s){let e=[`Unable to register library "${r}" with version "${t}":`];i&&e.push(`library name "${r}" contains illegal characters (whitespace or "/")`),i&&s&&e.push("and"),s&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),eU.warn(e.join(" "));return}eH(new ef(`${r}-version`,()=>({library:r,version:t}),"VERSION"))}function tn(e,t){if(null!==e&&"function"!=typeof e)throw e1.create("invalid-log-argument");eT(e,t)}function tr(e){eE(e)}let ti="firebase-heartbeat-store",ts=null;function ta(){return ts||(ts=(function(e,t,{blocked:n,upgrade:r,blocking:i,terminated:s}={}){let a=indexedDB.open(e,1),o=ek(a);return r&&a.addEventListener("upgradeneeded",e=>{r(ek(a.result),e.oldVersion,e.newVersion,ek(a.transaction),e)}),n&&a.addEventListener("blocked",e=>n(e.oldVersion,e.newVersion,e)),o.then(e=>{s&&e.addEventListener("close",()=>s()),i&&e.addEventListener("versionchange",e=>i(e.oldVersion,e.newVersion,e))}).catch(()=>{}),o})("firebase-heartbeat-database",0,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore(ti)}catch(e){console.warn(e)}}}).catch(e=>{throw e1.create("idb-open",{originalErrorMessage:e.message})})),ts}async function to(e){try{let t=(await ta()).transaction(ti),n=await t.objectStore(ti).get(tu(e));return await t.done,n}catch(e){if(e instanceof ee)eU.warn(e.message);else{let t=e1.create("idb-get",{originalErrorMessage:e?.message});eU.warn(t.message)}}}async function tl(e,t){try{let n=(await ta()).transaction(ti,"readwrite"),r=n.objectStore(ti);await r.put(t,tu(e)),await n.done}catch(e){if(e instanceof ee)eU.warn(e.message);else{let t=e1.create("idb-set",{originalErrorMessage:e?.message});eU.warn(t.message)}}}function tu(e){return`${e.name}!${e.options.appId}`}class th{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new td(t),this._heartbeatsCachePromise=this._storage.read().then(e=>(this._heartbeatsCache=e,e))}async triggerHeartbeat(){try{let e=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),t=tc();if(this._heartbeatsCache?.heartbeats==null&&(this._heartbeatsCache=await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null)||this._heartbeatsCache.lastSentHeartbeatDate===t||this._heartbeatsCache.heartbeats.some(e=>e.date===t))return;if(this._heartbeatsCache.heartbeats.push({date:t,agent:e}),this._heartbeatsCache.heartbeats.length>30){let 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){eU.warn(e)}}async getHeartbeatsHeader(){try{if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,this._heartbeatsCache?.heartbeats==null||0===this._heartbeatsCache.heartbeats.length)return"";let e=tc(),{heartbeatsToSend:t,unsentEntries:n}=function(e,t=1024){let n=[],r=e.slice();for(let i of e){let e=n.find(e=>e.agent===i.agent);if(e){if(e.dates.push(i.date),tf(n)>t){e.dates.pop();break}}else if(n.push({agent:i.agent,dates:[i.date]}),tf(n)>t){n.pop();break}r=r.slice(1)}return{heartbeatsToSend:n,unsentEntries:r}}(this._heartbeatsCache.heartbeats),r=C(JSON.stringify({version:2,heartbeats:t}));return this._heartbeatsCache.lastSentHeartbeatDate=e,n.length>0?(this._heartbeatsCache.heartbeats=n,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),r}catch(e){return eU.warn(e),""}}}function tc(){return new Date().toISOString().substring(0,10)}class td{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!X()&&Z().then(()=>!0).catch(()=>!1)}async read(){if(!await this._canUseIndexedDBPromise)return{heartbeats:[]};{let e=await to(this.app);return e?.heartbeats?e:{heartbeats:[]}}}async overwrite(e){if(await this._canUseIndexedDBPromise){let t=await this.read();return tl(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){if(await this._canUseIndexedDBPromise){let t=await this.read();return tl(this.app,{lastSentHeartbeatDate:e.lastSentHeartbeatDate??t.lastSentHeartbeatDate,heartbeats:[...t.heartbeats,...e.heartbeats]})}}}function tf(e){return C(JSON.stringify({version:2,heartbeats:e})).length}eH(new ef("platform-logger",e=>new eF(e),"PRIVATE")),eH(new ef("heartbeat",e=>new th(e),"PRIVATE")),tt(eV,eB,""),tt(eV,eB,"esm2020"),tt("fire-js",""),e.s(["SDK_VERSION",()=>e4,"_DEFAULT_ENTRY_NAME",()=>eq,"_addComponent",()=>eK,"_addOrOverwriteComponent",()=>eQ,"_apps",()=>ez,"_clearComponents",()=>e0,"_components",()=>eG,"_getProvider",()=>eW,"_isFirebaseApp",()=>eY,"_isFirebaseServerApp",()=>eZ,"_isFirebaseServerAppSettings",()=>eX,"_registerComponent",()=>eH,"_removeServiceInstance",()=>eJ,"_serverApps",()=>e$,"deleteApp",()=>te,"getApp",()=>e7,"getApps",()=>e9,"initializeApp",()=>e5,"initializeServerApp",()=>e8,"onLog",()=>tn,"registerVersion",()=>tt,"setLogLevel",()=>tr],92953);var tm=e.i(67034),tg="u">typeof globalThis?globalThis:"u">typeof window?window:e.g,tp={};(function(){function e(){this.blockSize=-1,this.blockSize=64,this.g=[,,,,],this.C=Array(this.blockSize),this.o=this.h=0,this.u()}var t=function(){this.blockSize=-1};function n(){}function r(e,t,n){n||(n=0);let r=Array(16);if("string"==typeof t)for(var i=0;i<16;++i)r[i]=t.charCodeAt(n++)|t.charCodeAt(n++)<<8|t.charCodeAt(n++)<<16|t.charCodeAt(n++)<<24;else for(i=0;i<16;++i)r[i]=t[n++]|t[n++]<<8|t[n++]<<16|t[n++]<<24;t=e.g[0],n=e.g[1],i=e.g[2];let s=e.g[3],a;a=t+(s^n&(i^s))+r[0]+0xd76aa478|0,a=s+(i^(t=n+(a<<7|a>>>25))&(n^i))+r[1]+0xe8c7b756|0,a=i+(n^(s=t+(a<<12|a>>>20))&(t^n))+r[2]+0x242070db|0,a=n+(t^(i=s+(a<<17|a>>>15))&(s^t))+r[3]+0xc1bdceee|0,a=t+(s^(n=i+(a<<22|a>>>10))&(i^s))+r[4]+0xf57c0faf|0,a=s+(i^(t=n+(a<<7|a>>>25))&(n^i))+r[5]+0x4787c62a|0,a=i+(n^(s=t+(a<<12|a>>>20))&(t^n))+r[6]+0xa8304613|0,a=n+(t^(i=s+(a<<17|a>>>
1515))&(s^t))+r[7]+0xfd469501|0,a=t+(s^(n=i+(a<<22|a>>>10))&(i^s))+r[8]+0x698098d8|0,a=s+(i^(t=n+(a<<7|a>>>25))&(n^i))+r[9]+0x8b44f7af|0,a=i+(n^(s=t+(a<<12|a>>>20))&(t^n))+r[10]+0xffff5bb1|0,a=n+(t^(i=s+(a<<17|a>>>15))&(s^t))+r[11]+0x895cd7be|0,a=t+(s^(n=i+(a<<22|a>>>10))&(i^s))+r[12]+0x6b901122|0,a=s+(i^(t=n+(a<<7|a>>>25))&(n^i))+r[13]+0xfd987193|0,a=i+(n^(s=t+(a<<12|a>>>20))&(t^n))+r[14]+0xa679438e|0,a=n+(t^(i=s+(a<<17|a>>>15))&(s^t))+r[15]+0x49b40821|0,n=i+(a<<22|a>>>10),a=t+(i^s&(n^i))+r[1]+0xf61e2562|0,t=n+(a<<5|a>>>27),a=s+(n^i&(t^n))+r[6]+0xc040b340|0,s=t+(a<<9|a>>>23),a=i+(t^n&(s^t))+r[11]+0x265e5a51|0,i=s+(a<<14|a>>>18),a=n+(s^t&(i^s))+r[0]+0xe9b6c7aa|0,n=i+(a<<20|a>>>12),a=t+(i^s&(n^i))+r[5]+0xd62f105d|0,t=n+(a<<5|a>>>27),a=s+(n^i&(t^n))+r[10]+0x2441453|0,s=t+(a<<9|a>>>23),a=i+(t^n&(s^t))+r[15]+0xd8a1e681|0,i=s+(a<<14|a>>>18),a=n+(s^t&(i^s))+r[4]+0xe7d3fbc8|0,n=i+(a<<20|a>>>12),a=t+(i^s&(n^i))+r[9]+0x21e1cde6|0,t=n+(a<<5|a>>>27),a=s+(n^i&(t^n))+r[14]+0xc33707d6|0,s=t+(a<<9|a>>>23),a=i+(t^n&(s^t))+r[3]+0xf4d50d87|0,i=s+(a<<14|a>>>18),a=n+(s^t&(i^s))+r[8]+0x455a14ed|0,n=i+(a<<20|a>>>12),a=t+(i^s&(n^i))+r[13]+0xa9e3e905|0,t=n+(a<<5|a>>>27),a=s+(n^i&(t^n))+r[2]+0xfcefa3f8|0,s=t+(a<<9|a>>>23),a=i+(t^n&(s^t))+r[7]+0x676f02d9|0,i=s+(a<<14|a>>>18),a=n+(s^t&(i^s))+r[12]+0x8d2a4c8a|0,a=t+((n=i+(a<<20|a>>>12))^i^s)+r[5]+0xfffa3942|0,a=s+((t=n+(a<<4|a>>>28))^n^i)+r[8]+0x8771f681|0,a=i+((s=t+(a<<11|a>>>21))^t^n)+r[11]+0x6d9d6122|0,a=n+((i=s+(a<<16|a>>>16))^s^t)+r[14]+0xfde5380c|0,a=t+((n=i+(a<<23|a>>>9))^i^s)+r[1]+0xa4beea44|0,a=s+((t=n+(a<<4|a>>>28))^n^i)+r[4]+0x4bdecfa9|0,a=i+((s=t+(a<<11|a>>>21))^t^n)+r[7]+0xf6bb4b60|0,a=n+((i=s+(a<<16|a>>>16))^s^t)+r[10]+0xbebfbc70|0,a=t+((n=i+(a<<23|a>>>9))^i^s)+r[13]+0x289b7ec6|0,a=s+((t=n+(a<<4|a>>>28))^n^i)+r[0]+0xeaa127fa|0,a=i+((s=t+(a<<11|a>>>21))^t^n)+r[3]+0xd4ef3085|0,a=n+((i=s+(a<<16|a>>>16))^s^t)+r[6]+0x4881d05|0,a=t+((n=i+(a<<23|a>>>9))^i^s)+r[9]+0xd9d4d039|0,a=s+((t=n+(a<<4|a>>>28))^n^i)+r[12]+0xe6db99e5|0,a=i+((s=t+(a<<11|a>>>21))^t^n)+r[15]+0x1fa27cf8|0,a=n+((i=s+(a<<16|a>>>16))^s^t)+r[2]+0xc4ac5665|0,n=i+(a<<23|a>>>9),a=t+(i^(n|~s))+r[0]+0xf4292244|0,t=n+(a<<6|a>>>26),a=s+(n^(t|~i))+r[7]+0x432aff97|0,s=t+(a<<10|a>>>22),a=i+(t^(s|~n))+r[14]+0xab9423a7|0,i=s+(a<<15|a>>>17),a=n+(s^(i|~t))+r[5]+0xfc93a039|0,n=i+(a<<21|a>>>11),a=t+(i^(n|~s))+r[12]+0x655b59c3|0,t=n+(a<<6|a>>>26),a=s+(n^(t|~i))+r[3]+0x8f0ccc92|0,s=t+(a<<10|a>>>22),a=i+(t^(s|~n))+r[10]+0xffeff47d|0,i=s+(a<<15|a>>>17),a=n+(s^(i|~t))+r[1]+0x85845dd1|0,n=i+(a<<21|a>>>11),a=t+(i^(n|~s))+r[8]+0x6fa87e4f|0,t=n+(a<<6|a>>>26),a=s+(n^(t|~i))+r[15]+0xfe2ce6e0|0,s=t+(a<<10|a>>>22),a=i+(t^(s|~n))+r[6]+0xa3014314|0,i=s+(a<<15|a>>>17),a=n+(s^(i|~t))+r[13]+0x4e0811a1|0,n=i+(a<<21|a>>>11),a=t+(i^(n|~s))+r[4]+0xf7537e82|0,t=n+(a<<6|a>>>26),a=s+(n^(t|~i))+r[11]+0xbd3af235|0,s=t+(a<<10|a>>>22),a=i+(t^(s|~n))+r[2]+0x2ad7d2bb|0,i=s+(a<<15|a>>>17),a=n+(s^(i|~t))+r[9]+0xeb86d391|0,e.g[0]=e.g[0]+t|0,e.g[1]=e.g[1]+(i+(a<<21|a>>>11))|0,e.g[2]=e.g[2]+i|0,e.g[3]=e.g[3]+s|0}function i(e,t){this.h=t;let n=[],r=!0;for(let i=e.length-1;i>=0;i--){let s=0|e[i];r&&s==t||(n[i]=s,r=!1)}this.g=n}n.prototype=t.prototype,e.F=t.prototype,e.prototype=new n,e.prototype.constructor=e,e.D=function(e,n,r){for(var i=Array(arguments.length-2),s=2;s<arguments.length;s++)i[s-2]=arguments[s];return t.prototype[n].apply(e,i)},e.prototype.u=function(){this.g[0]=0x67452301,this.g[1]=0xefcdab89,this.g[2]=0x98badcfe,this.g[3]=0x10325476,this.o=this.h=0},e.prototype.v=function(e,t){void 0===t&&(t=e.length);let n=t-this.blockSize,i=this.C,s=this.h,a=0;for(;a<t;){if(0==s)for(;a<=n;)r(this,e,a),a+=this.blockSize;if("string"==typeof e){for(;a<t;)if(i[s++]=e.charCodeAt(a++),s==this.blockSize){r(this,i),s=0;break}}else for(;a<t;)if(i[s++]=e[a++],s==this.blockSize){r(this,i),s=0;break}}this.h=s,this.o+=t},e.prototype.A=function(){var e=Array((this.h<56?this.blockSize:2*this.blockSize)-this.h);e[0]=128;for(var t=1;t<e.length-8;++t)e[t]=0;t=8*this.o;for(var n=e.length-8;n<e.length;++n)e[n]=255&t,t/=256;for(this.v(e),e=Array(16),t=0,n=0;n<4;++n)for(let r=0;r<32;r+=8)e[t++]=this.g[n]>>>r&255;return e};var s,l={};function u(e){var t;return -128<=e&&e<128?(t=function(e){return new i([0|e],e<0?-1:0)},Object.prototype.hasOwnProperty.call(l,e)?l[e]:l[e]=t(e)):new i([0|e],e<0?-1:0)}function h(e){if(isNaN(e)||!isFinite(e))return c;if(e<0)return p(h(-e));let t=[],n=1;for(let r=0;e>=n;r++)t[r]=e/n|0,n*=0x100000000;return new i(t,0)}var c=u(0),d=u(1),f=u(0x1000000);function m(e){if(0!=e.h)return!1;for(let t=0;t<e.g.length;t++)if(0!=e.g[t])return!1;return!0}function g(e){return -1==e.h}function p(e){let t=e.g.length,n=[];for(let r=0;r<t;r++)n[r]=~e.g[r];return new i(n,~e.h).add(d)}function y(e,t){return e.add(p(t))}function w(e,t){for(;(65535&e[t])!=e[t];)e[t+1]+=e[t]>>>16,e[t]&=65535,t++}function v(e,t){this.g=e,this.h=t}function b(e,t){if(m(t))throw Error("division by zero");if(m(e))return new v(c,c);if(g(e))return t=b(p(e),t),new v(p(t.g),p(t.h));if(g(t))return t=b(e,p(t)),new v(p(t.g),t.h);if(e.g.length>
1530){if(g(e)||g(t))throw Error("slowDivide_ only works with positive integers.");for(var n=d,r=t;0>=r.l(e);)n=I(n),r=I(r);var i=_(n,1),s=_(r,1);for(r=_(r,2),n=_(n,2);!m(r);){var a=s.add(r);0>=a.l(e)&&(i=i.add(n),s=a),r=_(r,1),n=_(n,1)}return t=y(e,i.j(t)),new v(i,t)}for(i=c;e.l(t)>=0;){for(r=(r=Math.ceil(Math.log(n=Math.max(1,Math.floor(e.m()/t.m())))/Math.LN2))<=48?1:Math.pow(2,r-48),a=(s=h(n)).j(t);g(a)||a.l(e)>0;)n-=r,a=(s=h(n)).j(t);m(s)&&(s=d),i=i.add(s),e=y(e,a)}return new v(i,e)}function I(e){let t=e.g.length+1,n=[];for(let r=0;r<t;r++)n[r]=e.i(r)<<1|e.i(r-1)>>>31;return new i(n,e.h)}function _(e,t){let n=t>>5;t%=32;let r=e.g.length-n,s=[];for(let i=0;i<r;i++)s[i]=t>0?e.i(i+n)>>>t|e.i(i+n+1)<<32-t:e.i(i+n);return new i(s,e.h)}(s=i.prototype).m=function(){if(g(this))return-p(this).m();let e=0,t=1;for(let n=0;n<this.g.length;n++){let r=this.i(n);e+=(r>=0?r:0x100000000+r)*t,t*=0x100000000}return e},s.toString=function(e){if((e=e||10)<2||36<e)throw Error("radix out of range: "+e);if(m(this))return"0";if(g(this))return"-"+p(this).toString(e);let t=h(Math.pow(e,6));var n=this;let r="";for(;;){let i=b(n,t).g,s=(((n=y(n,i.j(t))).g.length>0?n.g[0]:n.h)>>>0).toString(e);if(m(n=i))return s+r;for(;s.length<6;)s="0"+s;r=s+r}},s.i=function(e){return e<0?0:e<this.g.length?this.g[e]:this.h},s.l=function(e){return g(e=y(this,e))?-1:+!m(e)},s.abs=function(){return g(this)?p(this):this},s.add=function(e){let t=Math.max(this.g.length,e.g.length),n=[],r=0;for(let i=0;i<=t;i++){let t=r+(65535&this.i(i))+(65535&e.i(i)),s=(t>>>16)+(this.i(i)>>>16)+(e.i(i)>>>16);r=s>>>16,t&=65535,s&=65535,n[i]=s<<16|t}return new i(n,-0x80000000&n[n.length-1]?-1:0)},s.j=function(e){if(m(this)||m(e))return c;if(g(this))return g(e)?p(this).j(p(e)):p(p(this).j(e));if(g(e))return p(this.j(p(e)));if(0>this.l(f)&&0>e.l(f))return h(this.m()*e.m());let t=this.g.length+e.g.length,n=[];for(var r=0;r<2*t;r++)n[r]=0;for(r=0;r<this.g.length;r++)for(let t=0;t<e.g.length;t++){let i=this.i(r)>>>16,s=65535&this.i(r),a=e.i(t)>>>16,o=65535&e.i(t);n[2*r+2*t]+=s*o,w(n,2*r+2*t),n[2*r+2*t+1]+=i*o,w(n,2*r+2*t+1),n[2*r+2*t+1]+=s*a,w(n,2*r+2*t+1),n[2*r+2*t+2]+=i*a,w(n,2*r+2*t+2)}for(e=0;e<t;e++)n[e]=n[2*e+1]<<16|n[2*e];for(e=t;e<2*t;e++)n[e]=0;return new i(n,0)},s.B=function(e){return b(this,e).h},s.and=function(e){let t=Math.max(this.g.length,e.g.length),n=[];for(let r=0;r<t;r++)n[r]=this.i(r)&e.i(r);return new i(n,this.h&e.h)},s.or=function(e){let t=Math.max(this.g.length,e.g.length),n=[];for(let r=0;r<t;r++)n[r]=this.i(r)|e.i(r);return new i(n,this.h|e.h)},s.xor=function(e){let t=Math.max(this.g.length,e.g.length),n=[];for(let r=0;r<t;r++)n[r]=this.i(r)^e.i(r);return new i(n,this.h^e.h)},e.prototype.digest=e.prototype.A,e.prototype.reset=e.prototype.u,e.prototype.update=e.prototype.v,o=tp.Md5=e,i.prototype.add=i.prototype.add,i.prototype.multiply=i.prototype.j,i.prototype.modulo=i.prototype.B,i.prototype.compare=i.prototype.l,i.prototype.toNumber=i.prototype.m,i.prototype.toString=i.prototype.toString,i.prototype.getBits=i.prototype.i,i.fromNumber=h,i.fromString=function e(t,n){if(0==t.length)throw Error("number format error: empty string");if((n=n||10)<2||36<n)throw Error("radix out of range: "+n);if("-"==t.charAt(0))return p(e(t.substring(1),n));if(t.indexOf("-")>=0)throw Error('number format error: interior "-" character');let r=h(Math.pow(n,8)),i=c;for(let e=0;e<t.length;e+=8){var s=Math.min(8,t.length-e);let a=parseInt(t.substring(e,e+s),n);s<8?(s=h(Math.pow(n,s)),i=i.j(s).add(h(a))):i=(i=i.j(r)).add(h(a))}return i},a=tp.Integer=i}).apply(void 0!==tg?tg:"u">typeof self?self:"u">typeof window?window:{});var ty="u">typeof globalThis?globalThis:"u">typeof window?window:e.g,tw={};(function(){var e,t,n=Object.defineProperty,r=function(e){e=["object"==typeof globalThis&&globalThis,e,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof ty&&ty];for(var t=0;t<e.length;++t){var n=e[t];if(n&&n.Math==Math)return n}throw Error("Cannot find global object")}(this);function i(e,t){if(t)e:{var i=r;e=e.split(".");for(var s=0;s<e.length-1;s++){var a=e[s];if(!(a in i))break e;i=i[a]}(t=t(s=i[e=e[e.length-1]]))!=s&&null!=t&&n(i,e,{configurable:!0,writable:!0,value:t})}}i("Symbol.dispose",function(e){return e||Symbol("Symbol.dispose")}),i("Array.prototype.values",function(e){return e||function(){return this[Symbol.iterator]()}}),i("Object.entries",function(e){return e||function(e){var t,n=[];for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&n.push([t,e[t]]);return n}});var s=s||{},a=this||self;function o(e){var t=typeof e;return"object"==t&&null!=e||"function"==t}function p(e,t,n){return e.call.apply(e.bind,arguments)}function y(e,t,n){return(y=p).apply(null,arguments)}
15function w(e,t){var n=Array.prototype.slice.call(arguments,1);return function(){var t=n.slice();return t.push.apply(t,arguments),e.apply(this,t)}}function v(e,t){function n(){}n.prototype=t.prototype,e.Z=t.prototype,e.prototype=new n,e.prototype.constructor=e,e.Ob=function(e,n,r){for(var i=Array(arguments.length-2),s=2;s<arguments.length;s++)i[s-2]=arguments[s];return t.prototype[n].apply(e,i)}}var b="u">typeof AsyncContext&&"function"==typeof AsyncContext.Snapshot?e=>e&&AsyncContext.Snapshot.wrap(e):e=>e;function I(e){let t=e.length;if(t>0){let n=Array(t);for(let r=0;r<t;r++)n[r]=e[r];return n}return[]}function _(e,t){for(let t=1;t<arguments.length;t++){let r=arguments[t];var n=typeof r;if("array"==(n="object"!=n?n:r?Array.isArray(r)?"array":n:"null")||"object"==n&&"number"==typeof r.length){n=e.length||0;let t=r.length||0;e.length=n+t;for(let i=0;i<t;i++)e[n+i]=r[i]}else e.push(r)}}var E=new class{constructor(e,t){this.i=e,this.j=t,this.h=0,this.g=null}get(){let e;return this.h>0?(this.h--,e=this.g,this.g=e.next,e.next=null):e=this.i(),e}}(()=>new T,e=>e.reset());class T{constructor(){this.next=this.g=this.h=null}set(e,t){this.h=e,this.g=t,this.next=null}reset(){this.next=this.g=this.h=null}}let S,C=!1,x=new class{constructor(){this.h=this.g=null}add(e,t){let n=E.get();n.set(e,t),this.h?this.h.next=n:this.g=n,this.h=n}},D=()=>{let e=Promise.resolve(void 0);S=()=>{e.then(A)}};function A(){let e;for(var t;e=null,x.g&&(e=x.g,x.g=x.g.next,x.g||(x.h=null),e.next=null),t=e;){try{t.h.call(t.g)}catch(e){!function(e){a.setTimeout(()=>{throw e},0)}(e)}E.j(t),E.h<100&&(E.h++,t.next=E.g,E.g=t)}C=!1}function N(){this.u=this.u,this.C=this.C}function k(e,t){this.type=e,this.g=this.target=t,this.defaultPrevented=!1}N.prototype.u=!1,N.prototype.dispose=function(){this.u||(this.u=!0,this.N())},N.prototype[Symbol.dispose]=function(){this.dispose()},N.prototype.N=function(){if(this.C)for(;this.C.length;)this.C.shift()()},k.prototype.h=function(){this.defaultPrevented=!0};var R=function(){if(!a.addEventListener||!Object.defineProperty)return!1;var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}});try{let e=()=>{};a.addEventListener("test",e,t),a.removeEventListener("test",e,t)}catch(e){}return e}();function O(e){return/^[\s\xa0]*$/.test(e)}function M(e,t){k.call(this,e?e.type:""),this.relatedTarget=this.g=this.target=null,this.button=this.screenY=this.screenX=this.clientY=this.clientX=0,this.key="",this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1,this.state=null,this.pointerId=0,this.pointerType="",this.i=null,e&&this.init(e,t)}v(M,k),M.prototype.init=function(e,t){let n=this.type=e.type,r=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:null;this.target=e.target||e.srcElement,this.g=t,(t=e.relatedTarget)||("mouseover"==n?t=e.fromElement:"mouseout"==n&&(t=e.toElement)),this.relatedTarget=t,r?(this.clientX=void 0!==r.clientX?r.clientX:r.pageX,this.clientY=void 0!==r.clientY?r.clientY:r.pageY,this.screenX=r.screenX||0,this.screenY=r.screenY||0):(this.clientX=void 0!==e.clientX?e.clientX:e.pageX,this.clientY=void 0!==e.clientY?e.clientY:e.pageY,this.screenX=e.screenX||0,this.screenY=e.screenY||0),this.button=e.button,this.key=e.key||"",this.ctrlKey=e.ctrlKey,this.altKey=e.altKey,this.shiftKey=e.shiftKey,this.metaKey=e.metaKey,this.pointerId=e.pointerId||0,this.pointerType=e.pointerType,this.state=e.state,this.i=e,e.defaultPrevented&&M.Z.h.call(this)},M.prototype.h=function(){M.Z.h.call(this);let e=this.i;e.preventDefault?e.preventDefault():e.returnValue=!1};var L="closure_listenable_"+(1e6*Math.random()|0),P=0;function F(e,t,n,r,i){this.listener=e,this.proxy=null,this.src=t,this.type=n,this.capture=!!r,this.ha=i,this.key=++P,this.da=this.fa=!1}function V(e){e.da=!0,e.listener=null,e.proxy=null,e.src=null,e.ha=null}function B(e,t,n){for(let r in e)t.call(n,e[r],r,e)}function U(e){let t={};for(let n in e)t[n]=e[n];return t}let q="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function j(e,t){let n,r;for(let t=1;t<arguments.length;t++){for(n in r=arguments[t])e[n]=r[n];for(let t=0;t<q.length;
15t++)n=q[t],Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}}function z(e){this.src=e,this.g={},this.h=0}function $(e,t){let n=t.type;if(n in e.g){var r,i=e.g[n],s=Array.prototype.indexOf.call(i,t,void 0);(r=s>=0)&&Array.prototype.splice.call(i,s,1),r&&(V(t),0==e.g[n].length&&(delete e.g[n],e.h--))}}function G(e,t,n,r){for(let i=0;i<e.length;++i){let s=e[i];if(!s.da&&s.listener==t&&!!n==s.capture&&s.ha==r)return i}return -1}z.prototype.add=function(e,t,n,r,i){let s=e.toString();(e=this.g[s])||(e=this.g[s]=[],this.h++);let a=G(e,t,r,i);return a>-1?(t=e[a],n||(t.fa=!1)):((t=new F(t,this.src,s,!!r,i)).fa=n,e.push(t)),t};var K="closure_lm_"+(1e6*Math.random()|0),Q={};function H(e,t,n,r,i,s){if(!t)throw Error("Invalid event type");let a=o(i)?!!i.capture:!!i,l=X(e);if(l||(e[K]=l=new z(e)),(n=l.add(t,n,r,a,s)).proxy)return n;if(r=function e(t){return Y.call(e.src,e.listener,t)},n.proxy=r,r.src=e,r.listener=n,e.addEventListener)R||(i=a),void 0===i&&(i=!1),e.addEventListener(t.toString(),r,i);else if(e.attachEvent)e.attachEvent(J(t.toString()),r);else if(e.addListener&&e.removeListener)e.addListener(r);else throw Error("addEventListener and attachEvent are unavailable.");return n}function W(e){if("number"!=typeof e&&e&&!e.da){var t=e.src;if(t&&t[L])$(t.i,e);else{var n=e.type,r=e.proxy;t.removeEventListener?t.removeEventListener(n,r,e.capture):t.detachEvent?t.detachEvent(J(n),r):t.addListener&&t.removeListener&&t.removeListener(r),(n=X(t))?($(n,e),0==n.h&&(n.src=null,t[K]=null)):V(e)}}}function J(e){return e in Q?Q[e]:Q[e]="on"+e}function Y(e,t){if(e.da)e=!0;else{t=new M(t,this);let n=e.listener,r=e.ha||e.src;e.fa&&W(e),e=n.call(r,t)}return e}function X(e){return(e=e[K])instanceof z?e:null}var Z="__closure_events_fn_"+(1e9*Math.random()>>>0);function ee(e){return"function"==typeof e?e:(e[Z]||(e[Z]=function(t){return e.handleEvent(t)}),e[Z])}function et(){N.call(this),this.i=new z(this),this.M=this,this.G=null}function en(e,t){let n,r;var i,s=e.G;if(s)for(i=[];s;s=s.G)i.push(s);if(e=e.M,s=t.type||t,"string"==typeof t)t=new k(t,e);else if(t instanceof k)t.target=t.target||e;else{var a=t;j(t=new k(s,e),a)}if(a=!0,i)for(r=i.length-1;r>=0;r--)a=er(n=t.g=i[r],s,!0,t)&&a;if(a=er(n=t.g=e,s,!0,t)&&a,a=er(n,s,!1,t)&&a,i)for(r=0;r<i.length;r++)a=er(n=t.g=i[r],s,!1,t)&&a}function er(e,t,n,r){if(!(t=e.i.g[String(t)]))return!0;t=t.concat();let i=!0;for(let s=0;s<t.length;++s){let a=t[s];if(a&&!a.da&&a.capture==n){let t=a.listener,n=a.ha||a.src;a.fa&&$(e.i,a),i=!1!==t.call(n,r)&&i}}return i&&!r.defaultPrevented}v(et,N),et.prototype[L]=!0,et.prototype.removeEventListener=function(e,t,n,r){!function e(t,n,r,i,s){if(Array.isArray(n))for(var a=0;a<n.length;a++)e(t,n[a],r,i,s);else(i=o(i)?!!i.capture:!!i,r=ee(r),t&&t[L])?(t=t.i,(a=String(n).toString())in t.g&&(r=G(n=t.g[a],r,i,s))>-1&&(V(n[r]),Array.prototype.splice.call(n,r,1),0==n.length&&(delete t.g[a],t.h--))):t&&(t=X(t))&&(n=t.g[n.toString()],t=-1,n&&(t=G(n,r,i,s)),(r=t>-1?n[t]:null)&&W(r))}(this,e,t,n,r)},et.prototype.N=function(){if(et.Z.N.call(this),this.i){var e=this.i;for(let t in e.g){let n=e.g[t];for(let e=0;e<n.length;e++)V(n[e]);delete e.g[t],e.h--}}this.G=null},et.prototype.J=function(e,t,n,r){return this.i.add(String(e),t,!1,n,r)},et.prototype.K=function(e,t,n,r){return this.i.add(String(e),t,!0,n,r)};class ei extends N{constructor(e,t){super(),this.m=e,this.l=t,this.h=null,this.i=!1,this.g=null}j(e){this.h=arguments,this.g?this.i=!0:function e(t){t.g=function(e,t){if("function"!=typeof e)if(e&&"function"==typeof e.handleEvent)e=y(e.handleEvent,e);else throw Error("Invalid listener argument");return Number(t)>0x7fffffff?-1:a.setTimeout(e,t||0)}(()=>{t.g=null,t.i&&(t.i=!1,e(t))},t.l);let n=t.h;t.h=null,t.m.apply(null,n)}(this)}N(){super.N(),this.g&&(a.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)}}function es(e){N.call(this),this.h=e,this.g={}}v(es,N);var ea=[];function eo(e){B(e.g,function(e,t){this.g.hasOwnProperty(t)&&W(e)},e),e.g={}}es.prototype.N=function(){es.Z.N.call(this),eo(this)},es.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented")};var el=a.JSON.stringify,eu=a.JSON.parse,eh=class{stringify(e){return a.JSON.stringify(e,void 0)}parse(e){return a.JSON.parse(e,void 0)}};function ec(){}function ed(){}var ef={OPEN:"a",hb:"b",ERROR:"c",tb:"d"};function em(){k.call(this,"d")}function eg(){k.call(this,"c")}v(em,k),v(eg,k);var ep={},ey=null;function ew(){return ey=ey||new et}function ev(e){k.call(this,ep.Ia,e)}function eb(e){let t=ew();en(t,new ev(t))}function eI(e,t){k.call(this,ep.STAT_EVENT,e),this.stat=t}function e_(e){let t=ew();en(t,new eI(t,e))}function eE(e,t){k.call(this,ep.Ja,e),this.size=t}function eT(e,t){if("function"!=typeof e)throw Error("Fn must not be null and must be a function");return a.setTimeout(function(){e()},t)}function eS(){this.g=!0}function eC(e,t,n,r){e.info(function(){return"XMLHTTP TEXT ("+t+"): "+function(e,t){if(!e.g)return t;if(!t)return null;try{let s=JSON.parse(t);if(s){for(e=0;e<s.length;e++)if(Array.isArray(s[e])){var n=s[e];if(!(n.length<2)){var r=n[1];if(Array.isArray(r)&&!(r.length<1)){var i=r[0];if("noop"!=i&&"stop"!=i&&"close"!=i)for(let e=1;e<r.length;e++)r[e]=""}}}}return el(s)}catch(e){return t}}(e,n)+(r?" "+r:"")})}ep.Ia="serverreachability",v(ev,k),ep.STAT_EVENT="statevent",v(eI,k),ep.Ja="timingevent",v(eE,k),eS.prototype.ua=function(){this.g=!1},eS.prototype.info=function(){};var ex={NO_ERROR:0,cb:1,qb:2,pb:3,kb:4,ob:5,rb:6,Ga:7,TIMEOUT:8,ub:9},eD={ib:"complete",Fb:"success",ERROR:"error",Ga:"abort",xb:"ready",yb:"readystatechange",TIMEOUT:"timeout",sb:"incrementaldata",wb:"progress",lb:"downloadprogress",Nb:"uploadprogress"};function eA(){}function eN(e){return encodeURIComponent(String(e))}function ek(e,t,n,r){this.j=e,this.i=t,this.l=n,this.S=r||1,this.V=new es(this),this.H=45e3,this.J=null,this.o=!1,this.u=this.B=this.A=this.M=this.F=this.T=this.D=null,this.G=[],this.g=null,this.C=0,this.m=this.v=null,this.X=-1,this.K=!1,this.P=0,this.O=null,this.W=this.L=this.U=this.R=!1,this.h=new eR}function eR(){this.i=null,this.g="",this.h=!1}v(eA,ec),eA.prototype.g=function(){return new XMLHttpRequest},e=new eA;var eO={},eM={};
15function eL(e,t,n){e.M=1,e.A=e4(e0(t)),e.u=n,e.R=!0,eP(e,null)}function eP(e,t){e.F=Date.now(),eV(e),e.B=e0(e.A);var n,r,i,s,a,l,u=e.B,h=e.S;Array.isArray(h)||(h=[String(h)]),tu(u.i,"t",h),e.C=0,u=e.j.L,e.h=new eR,e.g=tY(e.j,u?t:null,!e.u),e.P>0&&(e.O=new ei(y(e.Y,e,e.g),e.P)),t=e.V,u=e.g,h=e.ba;var c="readystatechange";Array.isArray(c)||(c&&(ea[0]=c.toString()),c=ea);for(let e=0;e<c.length;e++){let n=function e(t,n,r,i,s){if(i&&i.once)return function e(t,n,r,i,s){if(Array.isArray(n)){for(let a=0;a<n.length;a++)e(t,n[a],r,i,s);return null}return r=ee(r),t&&t[L]?t.K(n,r,o(i)?!!i.capture:!!i,s):H(t,n,r,!0,i,s)}(t,n,r,i,s);if(Array.isArray(n)){for(let a=0;a<n.length;a++)e(t,n[a],r,i,s);return null}return r=ee(r),t&&t[L]?t.J(n,r,o(i)?!!i.capture:!!i,s):H(t,n,r,!1,i,s)}(u,c[e],h||t.handleEvent,!1,t.h||t);if(!n)break;t.g[n.key]=n}t=e.J?U(e.J):{},e.u?(e.v||(e.v="POST"),t["Content-Type"]="application/x-www-form-urlencoded",e.g.ea(e.B,e.v,e.u,t)):(e.v="GET",e.g.ea(e.B,e.v,null,t)),eb(),n=e.i,r=e.v,i=e.B,s=e.l,a=e.S,l=e.u,n.info(function(){if(n.g)if(l){var e="",t=l.split("&");for(let n=0;n<t.length;n++){var o=t[n].split("=");if(o.length>1){let t=o[0];o=o[1];let n=t.split("_");e=n.length>=2&&"type"==n[1]?e+(t+"=")+o+"&":e+(t+"=redacted&")}}}else e=null;else e=l;return"XMLHTTP REQ ("+s+") [attempt "+a+"]: "+r+"\n"+i+"\n"+e})}function eF(e){return!!e.g&&"GET"==e.v&&2!=e.M&&e.j.Aa}function eV(e){e.T=Date.now()+e.H,eB(e,e.H)}function eB(e,t){if(null!=e.D)throw Error("WatchDog timer not null");e.D=eT(y(e.aa,e),t)}function eU(e){e.D&&(a.clearTimeout(e.D),e.D=null)}function eq(e){0==e.j.I||e.K||tK(e.j,e)}function ej(e){eU(e);var t=e.O;t&&"function"==typeof t.dispose&&t.dispose(),e.O=null,eo(e.V),e.g&&(t=e.g,e.g=null,t.abort(),t.dispose())}function ez(e,t){try{var n=e.j;if(0!=n.I&&(n.g==e||eH(n.h,e))){if(!e.L&&eH(n.h,e)&&3==n.I){try{var r=n.Ba.g.parse(t)}catch(e){r=null}if(Array.isArray(r)&&3==r.length){var i=r;if(0==i[0]){e:if(!n.v){if(n.g)if(n.g.F+3e3<e.F)tG(n),tL(n);else break e;tj(n),e_(18)}}else n.xa=i[1],0<n.xa-n.K&&i[2]<37500&&n.F&&0==n.A&&!n.C&&(n.C=eT(y(n.Va,n),6e3));1>=eQ(n.h)&&n.ta&&(n.ta=void 0)}else tH(n,11)}else if((e.L||n.g==e)&&tG(n),!O(t))for(i=n.Ba.g.parse(t),t=0;t<i.length;t++){let o=i[t],l=o[0];if(!(l<=n.K))if(n.K=l,o=o[1],2==n.I)if("c"==o[0]){n.M=o[1],n.ba=o[2];let t=o[3];null!=t&&(n.ka=t,n.j.info("VER="+n.ka));let i=o[4];null!=i&&(n.za=i,n.j.info("SVER="+n.za));let l=o[5];null!=l&&"number"==typeof l&&l>0&&(n.O=r=1.5*l,n.j.info("backChannelRequestTimeoutMs_="+r)),r=n;let u=e.g;if(u){let e=u.g?u.g.getResponseHeader("X-Client-Wire-Protocol"):null;if(e){var s=r.h;s.g||-1==e.indexOf("spdy")&&-1==e.indexOf("quic")&&-1==e.indexOf("h2")||(s.j=s.l,s.g=new Set,s.h&&(eW(s,s.h),s.h=null))}if(r.G){let e=u.g?u.g.getResponseHeader("X-HTTP-Session-Id"):null;e&&(r.wa=e,e3(r.J,r.G,e))}}if(n.I=3,n.l&&n.l.ra(),n.aa&&(n.T=Date.now()-e.F,n.j.info("Handshake RTT: "+n.T+"ms")),(r=n).na=tJ(r,r.L?r.ba:null,r.W),e.L){eJ(r.h,e);var a=r.O;a&&(e.H=a),e.D&&(eU(e),eV(e)),r.g=e}else tq(r);n.i.length>0&&tF(n)}else"stop"!=o[0]&&"close"!=o[0]||tH(n,7);else 3==n.I&&("stop"==o[0]||"close"==o[0]?"stop"==o[0]?tH(n,7):tM(n):"noop"!=o[0]&&n.l&&n.l.qa(o),n.A=0)}}eb(4)}catch(e){}}ek.prototype.ba=function(e){e=e.target;let t=this.O;t&&3==tN(e)?t.j():this.Y(e)},ek.prototype.Y=function(e){try{if(e==this.g)e:{let f=tN(this.g),m=this.g.ya(),g=this.g.ca();if(!(f<3)&&(3!=f||this.g&&(this.h.h||this.g.la()||tk(this.g)))){this.K||4!=f||7==m||(8==m||g<=0?eb(3):eb(2)),eU(this);var t=this.g.ca();this.X=t;var n=function(e){if(!eF(e))return e.g.la();let t=tk(e.g);if(""===t)return"";let n="",r=t.length,i=4==tN(e.g);if(!e.h.i){if("u"<typeof TextDecoder)return ej(e),eq(e),"";e.h.i=new a.TextDecoder}for(let s=0;s<r;s++)e.h.h=!0,n+=e.h.i.decode(t[s],{stream:!(i&&s==r-1)});return t.length=0,e.h.g+=n,e.C=0,e.h.g}(this);if(this.o=200==t,r=this.i,i=this.v,s=this.B,o=this.l,l=this.S,r.info(function(){return"XMLHTTP RESP ("+o+") [ attempt "+l+"]: "+i+"\n"+s+"\n"+f+" "+t}),this.o){if(this.U&&!this.L){t:{if(this.g){var r,i,s,o,l,u,h=this.g;if((u=h.g?h.g.getResponseHeader("X-HTTP-Initial-Response"):null)&&!O(u)){var c=u;break t}}c=null}if(e=c)eC(this.i,this.l,e,"Initial handshake response via X-HTTP-Initial-Response"),this.L=!0,ez(this,e);else{this.o=!1,this.m=3,e_(12),ej(this),eq(this);break e}}if(this.R){let t;for(e=!0;!this.K&&this.C<n.length;)if((t=function(e,t){var n=e.C,r=t.indexOf("\n",n);return -1==r?eM:isNaN(n=Number(t.substring(n,r)))?eO:(r+=1)+n>t.length?eM:(t=t.slice(r,r+n),e.C=r+n,t)}(this,n))==eM){4==f&&(this.m=4,e_(14),e=!1),eC(this.i,this.l,null,"[Incomplete Response]");break}else if(t==eO){this.m=4,e_(15),eC(this.i,this.l,n,"[Invalid Chunk]"),e=!1;break}else eC(this.i,this.l,t,null),ez(this,t);if(eF(this)&&0!=this.C&&(this.h.g=this.h.g.slice(this.C),this.C=0),4!=f||0!=n.length||this.h.h||(this.m=1,e_(16),e=!1),this.o=this.o&&e,e){if(n.length>0&&!this.W){this.W=!0;var d=this.j;d.g==this&&d.aa&&!d.P&&(d.j.info("Great, no buffering proxy detected. Bytes received: "+n.length),tz(d),d.P=!0,e_(11))}}else eC(this.i,this.l,n,"[Invalid Chunked Response]"),ej(this),eq(this)}else eC(this.i,this.l,n,null),ez(this,n);4==f&&ej(this),this.o&&!this.K&&(4==f?tK(this.j,this):(this.o=!1,eV(this)))}else(function(e){let t={};e=(e.g&&tN(e)>=2&&e.g.getAllResponseHeaders()||"").split("\r\n");for(let r=0;r<e.length;r++){if(O(e[r]))continue;var n=function(e){var t=1;e=e.split(":");let n=[];for(;t>0&&e.length;)n.push(e.shift()),t--;return e.length&&n.push(e.join(":")),n}(e[r]);let i=n[0];if("string"!=typeof(n=n[1]))continue;n=n.trim();let s=t[i]||[];t[i]=s,s.push(n)}
15var r=function(e){return e.join(", ")};for(let e in t)r.call(void 0,t[e],e,t)})(this.g),400==t&&n.indexOf("Unknown SID")>0?(this.m=3,e_(12)):(this.m=0,e_(13)),ej(this),eq(this)}}}catch(e){}finally{}},ek.prototype.cancel=function(){this.K=!0,ej(this)},ek.prototype.aa=function(){var e,t;this.D=null;let n=Date.now();n-this.T>=0?(e=this.i,t=this.B,e.info(function(){return"TIMEOUT: "+t}),2!=this.M&&(eb(),e_(17)),ej(this),this.m=2,eq(this)):eB(this,this.T-n)};var e$=class{constructor(e,t){this.g=e,this.map=t}};function eG(e){this.l=e||10,e=a.PerformanceNavigationTiming?(e=a.performance.getEntriesByType("navigation")).length>0&&("hq"==e[0].nextHopProtocol||"h2"==e[0].nextHopProtocol):!!(a.chrome&&a.chrome.loadTimes&&a.chrome.loadTimes()&&a.chrome.loadTimes().wasFetchedViaSpdy),this.j=e?this.l:1,this.g=null,this.j>1&&(this.g=new Set),this.h=null,this.i=[]}function eK(e){return!!e.h||!!e.g&&e.g.size>=e.j}function eQ(e){return e.h?1:e.g?e.g.size:0}function eH(e,t){return e.h?e.h==t:!!e.g&&e.g.has(t)}function eW(e,t){e.g?e.g.add(t):e.h=t}function eJ(e,t){e.h&&e.h==t?e.h=null:e.g&&e.g.has(t)&&e.g.delete(t)}function eY(e){if(null!=e.h)return e.i.concat(e.h.G);if(null!=e.g&&0!==e.g.size){let t=e.i;for(let n of e.g.values())t=t.concat(n.G);return t}return I(e.i)}eG.prototype.cancel=function(){if(this.i=eY(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&0!==this.g.size){for(let e of this.g.values())e.cancel();this.g.clear()}};var eX=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function eZ(e){let t;this.g=this.o=this.j="",this.u=null,this.m=this.h="",this.l=!1,e instanceof eZ?(this.l=e.l,e1(this,e.j),this.o=e.o,this.g=e.g,e2(this,e.u),this.h=e.h,e6(this,th(e.i)),this.m=e.m):e&&(t=String(e).match(eX))?(this.l=!1,e1(this,t[1]||"",!0),this.o=e5(t[2]||""),this.g=e5(t[3]||"",!0),e2(this,t[4]),this.h=e5(t[5]||"",!0),e6(this,t[6]||"",!0),this.m=e5(t[7]||"")):(this.l=!1,this.i=new ti(null,this.l))}function e0(e){return new eZ(e)}function e1(e,t,n){e.j=n?e5(t,!0):t,e.j&&(e.j=e.j.replace(/:$/,""))}function e2(e,t){if(t){if(isNaN(t=Number(t))||t<0)throw Error("Bad port number "+t);e.u=t}else e.u=null}function e6(e,t,n){var r,i;t instanceof ti?(e.i=t,r=e.i,(i=e.l)&&!r.j&&(ts(r),r.i=null,r.g.forEach(function(e,t){let n=t.toLowerCase();t!=n&&(ta(this,t),tu(this,n,e))},r)),r.j=i):(n||(t=e8(t,tn)),e.i=new ti(t,e.l))}function e3(e,t,n){e.i.set(t,n)}function e4(e){return e3(e,"zx",Math.floor(0x80000000*Math.random()).toString(36)+Math.abs(Math.floor(0x80000000*Math.random())^Date.now()).toString(36)),e}function e5(e,t){return e?t?decodeURI(e.replace(/%25/g,"%2525")):decodeURIComponent(e):""}function e8(e,t,n){return"string"==typeof e?(e=encodeURI(e).replace(t,e7),n&&(e=e.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),e):null}function e7(e){return"%"+((e=e.charCodeAt(0))>>4&15).toString(16)+(15&e).toString(16)}eZ.prototype.toString=function(){let e=[];var t=this.j;t&&e.push(e8(t,e9,!0),":");var n=this.g;return(n||"file"==t)&&(e.push("//"),(t=this.o)&&e.push(e8(t,e9,!0),"@"),e.push(eN(n).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),null!=(n=this.u)&&e.push(":",String(n))),(n=this.h)&&(this.g&&"/"!=n.charAt(0)&&e.push("/"),e.push(e8(n,"/"==n.charAt(0)?tt:te,!0))),(n=this.i.toString())&&e.push("?",n),(n=this.m)&&e.push("#",e8(n,tr)),e.join("")},eZ.prototype.resolve=function(e){let t=e0(this),n=!!e.j;n?e1(t,e.j):n=!!e.o,n?t.o=e.o:n=!!e.g,n?t.g=e.g:n=null!=e.u;var r=e.h;if(n)e2(t,e.u);else if(n=!!e.h){if("/"!=r.charAt(0))if(this.g&&!this.h)r="/"+r;else{var i=t.h.lastIndexOf("/");-1!=i&&(r=t.h.slice(0,i+1)+r)}if(".."==(i=r)||"."==i)r="";else if(-1!=i.indexOf("./")||-1!=i.indexOf("/.")){r=0==i.lastIndexOf("/",0),i=i.split("/");let e=[];for(let t=0;t<i.length;){let n=i[t++];"."==n?r&&t==i.length&&e.push(""):".."==n?((e.length>1||1==e.length&&""!=e[0])&&e.pop(),r&&t==i.length&&e.push("")):(e.push(n),r=!0)}r=e.join("/")}else r=i}return n?t.h=r:n=""!==e.i.toString(),n?e6(t,th(e.i)):n=!!e.m,n&&(t.m=e.m),t};var e9=/[#\/\?@]/g,te=/[#\?:]/g,tt=/[#\?]/g,tn=/[#\?@]/g,tr=/#/g;function ti(e,t){this.h=this.g=null,this.i=e||null,this.j=!!t}function ts(e){e.g||(e.g=new Map,e.h=0,e.i&&function(e,t){if(e){e=e.split("&");for(let n=0;n<e.length;n++){let r=e[n].indexOf("="),i,s=null;r>=0?(i=e[n].substring(0,r),s=e[n].substring(r+1)):i=e[n],t(i,s?decodeURIComponent(s.replace(/\+/g," ")):"")}}}(e.i,function(t,n){e.add(decodeURIComponent(t.replace(/\+/g," ")),n)}))}
15function ta(e,t){ts(e),t=tc(e,t),e.g.has(t)&&(e.i=null,e.h-=e.g.get(t).length,e.g.delete(t))}function to(e,t){return ts(e),t=tc(e,t),e.g.has(t)}function tl(e,t){ts(e);let n=[];if("string"==typeof t)to(e,t)&&(n=n.concat(e.g.get(tc(e,t))));else for(e=Array.from(e.g.values()),t=0;t<e.length;t++)n=n.concat(e[t]);return n}function tu(e,t,n){ta(e,t),n.length>0&&(e.i=null,e.g.set(tc(e,t),I(n)),e.h+=n.length)}function th(e){let t=new ti;return t.i=e.i,e.g&&(t.g=new Map(e.g),t.h=e.h),t}function tc(e,t){return t=String(t),e.j&&(t=t.toLowerCase()),t}function td(e,t,n,r,i){try{i&&(i.onload=null,i.onerror=null,i.onabort=null,i.ontimeout=null),r(n)}catch(e){}}function tf(){this.g=new eh}function tm(e){this.i=e.Sb||null,this.h=e.ab||!1}function tg(e,t){et.call(this),this.H=e,this.o=t,this.m=void 0,this.status=this.readyState=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.A=new Headers,this.h=null,this.F="GET",this.D="",this.g=!1,this.B=this.j=this.l=null,this.v=new AbortController}function tp(e){e.j.read().then(e.Ma.bind(e)).catch(e.ga.bind(e))}function tv(e){e.readyState=4,e.l=null,e.j=null,e.B=null,tb(e)}function tb(e){e.onreadystatechange&&e.onreadystatechange.call(e)}function tI(e){let t="";return B(e,function(e,n){t+=n,t+=":",t+=e,t+="\r\n"}),t}function t_(e,t,n){e:{for(r in n){var r=!1;break e}r=!0}r||(n=tI(n),"string"==typeof e?null!=n&&eN(n):e3(e,t,n))}function tE(e){et.call(this),this.headers=new Map,this.L=e||null,this.h=!1,this.g=null,this.D="",this.o=0,this.l="",this.j=this.B=this.v=this.A=!1,this.m=null,this.F="",this.H=!1}(t=ti.prototype).add=function(e,t){ts(this),this.i=null,e=tc(this,e);let n=this.g.get(e);return n||this.g.set(e,n=[]),n.push(t),this.h+=1,this},t.forEach=function(e,t){ts(this),this.g.forEach(function(n,r){n.forEach(function(n){e.call(t,n,r,this)},this)},this)},t.set=function(e,t){return ts(this),this.i=null,to(this,e=tc(this,e))&&(this.h-=this.g.get(e).length),this.g.set(e,[t]),this.h+=1,this},t.get=function(e,t){return e&&(e=tl(this,e)).length>0?String(e[0]):t},t.toString=function(){if(this.i)return this.i;if(!this.g)return"";let e=[],t=Array.from(this.g.keys());for(let r=0;r<t.length;r++){var n=t[r];let i=eN(n);n=tl(this,n);for(let t=0;t<n.length;t++){let r=i;""!==n[t]&&(r+="="+eN(n[t])),e.push(r)}}return this.i=e.join("&")},v(tm,ec),tm.prototype.g=function(){return new tg(this.i,this.h)},v(tg,et),(t=tg.prototype).open=function(e,t){if(0!=this.readyState)throw this.abort(),Error("Error reopening a connection");this.F=e,this.D=t,this.readyState=1,tb(this)},t.send=function(e){if(1!=this.readyState)throw this.abort(),Error("need to call open() first. ");if(this.v.signal.aborted)throw this.abort(),Error("Request was aborted.");this.g=!0;let t={headers:this.A,method:this.F,credentials:this.m,cache:void 0,signal:this.v.signal};e&&(t.body=e),(this.H||a).fetch(new Request(this.D,t)).then(this.Pa.bind(this),this.ga.bind(this))},t.abort=function(){this.response=this.responseText="",this.A=new Headers,this.status=0,this.v.abort(),this.j&&this.j.cancel("Request was aborted.").catch(()=>{}),this.readyState>=1&&this.g&&4!=this.readyState&&(this.g=!1,tv(this)),this.readyState=0},t.Pa=function(e){if(this.g&&(this.l=e,this.h||(this.status=this.l.status,this.statusText=this.l.statusText,this.h=e.headers,this.readyState=2,tb(this)),this.g&&(this.readyState=3,tb(this),this.g)))if("arraybuffer"===this.responseType)e.arrayBuffer().then(this.Na.bind(this),this.ga.bind(this));else if(void 0!==a.ReadableStream&&"body"in e){if(this.j=e.body.getReader(),this.o){if(this.responseType)throw Error('responseType must be empty for "streamBinaryChunks" mode responses.');this.response=[]}else this.response=this.responseText="",this.B=new TextDecoder;tp(this)}else e.text().then(this.Oa.bind(this),this.ga.bind(this))},t.Ma=function(e){if(this.g){if(this.o&&e.value)this.response.push(e.value);else if(!this.o){var t=e.value?e.value:new Uint8Array(0);(t=this.B.decode(t,{stream:!e.done}))&&(this.response=this.responseText+=t)}e.done?tv(this):tb(this),3==this.readyState&&tp(this)}},t.Oa=function(e){this.g&&(this.response=this.responseText=e,tv(this))},t.Na=function(e){this.g&&(this.response=e,tv(this))},t.ga=function(){this.g&&tv(this)},t.setRequestHeader=function(e,t){this.A.append(e,t)},t.getResponseHeader=function(e){return this.h&&this.h.get(e.toLowerCase())||""},t.getAllResponseHeaders=function(){if(!this.h)return"";let e=[],t=this.h.entries();for(var n=t.next();!n.done;)e.push((n=n.value)[0]+": "+n[1]),n=t.next();return e.join("\r\n")},Object.defineProperty(tg.prototype,"withCredentials",{get:function(){return"include"===this.m},set:function(e){this.m=e?"include":"same-origin"}}),v(tE,et);var tT=/^https?$/i,tS=["POST","PUT"];function tC(e,t){e.h=!1,e.g&&(e.j=!0,e.g.abort(),e.j=!1),e.l=t,e.o=5,tx(e),tA(e)}function tx(e){e.A||(e.A=!0,en(e,"complete"),en(e,"error"))}function tD(e){if(e.h&&void 0!==s){if(e.v&&4==tN(e))setTimeout(e.Ca.bind(e),0);else if(en(e,"readystatechange"),4==tN(e)){e.h=!1;try{let s=e.ca();switch(s){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:var t,n,r=!0;break;default:r=!1}if(!(t=r)){if(n=0===s){let t=String(e.D).match(eX)[1]||null;!t&&a.self&&a.self.location&&(t=a.self.location.protocol.slice(0,-1)),n=!tT.test(t?t.toLowerCase():"")}t=n}if(t)en(e,"complete"),en(e,"success");else{e.o=6;try{var i=tN(e)>2?e.g.statusText:""}catch(e){i=""}e.l=i+" ["+e.ca()+"]",tx(e)}}finally{tA(e)}}}}function tA(e,t){if(e.g){e.m&&(clearTimeout(e.m),e.m=null);let n=e.g;e.g=null,t||en(e,"ready");try{n.onreadystatechange=null}catch(e){}}}function tN(e){return e.g?e.g.readyState:0}function tk(e){try{if(!e.g)return null;if("response"in e.g)return e.g.response;switch(e.F){case"":case"text":return e.g.responseText;case"arraybuffer":if("mozResponseArrayBuffer"in e.g)return e.g.mozResponseArrayBuffer}return null}catch(e){return null}}
15function tR(e,t,n){return n&&n.internalChannelParams&&n.internalChannelParams[e]||t}function tO(e){this.za=0,this.i=[],this.j=new eS,this.ba=this.na=this.J=this.W=this.g=this.wa=this.G=this.H=this.u=this.U=this.o=null,this.Ya=this.V=0,this.Sa=tR("failFast",!1,e),this.F=this.C=this.v=this.m=this.l=null,this.X=!0,this.xa=this.K=-1,this.Y=this.A=this.D=0,this.Qa=tR("baseRetryDelayMs",5e3,e),this.Za=tR("retryDelaySeedMs",1e4,e),this.Ta=tR("forwardChannelMaxRetries",2,e),this.va=tR("forwardChannelRequestTimeoutMs",2e4,e),this.ma=e&&e.xmlHttpFactory||void 0,this.Ua=e&&e.Rb||void 0,this.Aa=e&&e.useFetchStreams||!1,this.O=void 0,this.L=e&&e.supportsCrossDomainXhr||!1,this.M="",this.h=new eG(e&&e.concurrentRequestLimit),this.Ba=new tf,this.S=e&&e.fastHandshake||!1,this.R=e&&e.encodeInitMessageHeaders||!1,this.S&&this.R&&(this.R=!1),this.Ra=e&&e.Pb||!1,e&&e.ua&&this.j.ua(),e&&e.forceLongPolling&&(this.X=!1),this.aa=!this.S&&this.X&&e&&e.detectBufferingProxy||!1,this.ia=void 0,e&&e.longPollingTimeout&&e.longPollingTimeout>0&&(this.ia=e.longPollingTimeout),this.ta=void 0,this.T=0,this.P=!1,this.ja=this.B=null}function tM(e){if(tP(e),3==e.I){var t=e.V++,n=e0(e.J);if(e3(n,"SID",e.M),e3(n,"RID",t),e3(n,"TYPE","terminate"),tB(e,n),(t=new ek(e,e.j,t)).M=2,t.A=e4(e0(n)),n=!1,a.navigator&&a.navigator.sendBeacon)try{n=a.navigator.sendBeacon(t.A.toString(),"")}catch(e){}!n&&a.Image&&((new Image).src=t.A,n=!0),n||(t.g=tY(t.j,null),t.g.ea(t.A)),t.F=Date.now(),eV(t)}tW(e)}function tL(e){e.g&&(tz(e),e.g.cancel(),e.g=null)}function tP(e){tL(e),e.v&&(a.clearTimeout(e.v),e.v=null),tG(e),e.h.cancel(),e.m&&("number"==typeof e.m&&a.clearTimeout(e.m),e.m=null)}function tF(e){if(!eK(e.h)&&!e.m){e.m=!0;var t=e.Ea;S||D(),C||(S(),C=!0),x.add(t,e),e.D=0}}function tV(e,t){var n;n=t?t.l:e.V++;let r=e0(e.J);e3(r,"SID",e.M),e3(r,"RID",n),e3(r,"AID",e.K),tB(e,r),e.u&&e.o&&t_(r,e.u,e.o),n=new ek(e,e.j,n,e.D+1),null===e.u&&(n.J=e.o),t&&(e.i=t.G.concat(e.i)),t=tU(e,n,1e3),n.H=Math.round(.5*e.va)+Math.round(.5*e.va*Math.random()),eW(e.h,n),eL(n,r,t)}function tB(e,t){e.H&&B(e.H,function(e,n){e3(t,n,e)}),e.l&&B({},function(e,n){e3(t,n,e)})}function tU(e,t,n){n=Math.min(e.i.length,n);let r=e.l?y(e.l.Ka,e.l,e):null;e:{var i=e.i;let t=-1;for(;;){let e=["count="+n];-1==t?n>0?(t=i[0].g,e.push("ofs="+t)):t=0:e.push("ofs="+t);let l=!0;for(let u=0;u<n;u++){var s=i[u].g;let n=i[u].map;if((s-=t)<0)t=Math.max(0,i[u].g-100),l=!1;else try{s="req"+s+"_";try{var a=n instanceof Map?n:Object.entries(n);for(let[t,n]of a){let r=n;o(n)&&(r=el(n)),e.push(s+t+"="+encodeURIComponent(r))}}catch(t){throw e.push(s+"type="+encodeURIComponent("_badmap")),t}}catch(e){r&&r(n)}}if(l){a=e.join("&");break e}}a=void 0}return t.G=e=e.i.splice(0,n),a}function tq(e){if(!e.g&&!e.v){e.Y=1;var t=e.Da;S||D(),C||(S(),C=!0),x.add(t,e),e.A=0}}function tj(e){return!e.g&&!e.v&&!(e.A>=3)&&(e.Y++,e.v=eT(y(e.Da,e),tQ(e,e.A)),e.A++,!0)}function tz(e){null!=e.B&&(a.clearTimeout(e.B),e.B=null)}function t$(e){e.g=new ek(e,e.j,"rpc",e.Y),null===e.u&&(e.g.J=e.o),e.g.P=0;var t=e0(e.na);e3(t,"RID","rpc"),e3(t,"SID",e.M),e3(t,"AID",e.K),e3(t,"CI",e.F?"0":"1"),!e.F&&e.ia&&e3(t,"TO",e.ia),e3(t,"TYPE","xmlhttp"),tB(e,t),e.u&&e.o&&t_(t,e.u,e.o),e.O&&(e.g.H=e.O);var n=e.g;e=e.ba,n.M=1,n.A=e4(e0(t)),n.u=null,n.R=!0,eP(n,e)}function tG(e){null!=e.C&&(a.clearTimeout(e.C),e.C=null)}function tK(e,t){var n,r=null;if(e.g==t){tG(e),tz(e),e.g=null;var i=2}else{if(!eH(e.h,t))return;r=t.G,eJ(e.h,t),i=1}if(0!=e.I){if(t.o)if(1==i){r=t.u?t.u.length:0,t=Date.now()-t.F;var s=e.D;en(i=ew(),new eE(i,r)),tF(e)}else tq(e);else if(3==(s=t.m)||0==s&&t.X>0||!(1==i&&(n=t,!(eQ(e.h)>=e.h.j-!!e.m)&&(e.m?(e.i=n.G.concat(e.i),!0):1!=e.I&&2!=e.I&&!(e.D>=(e.Sa?0:e.Ta))&&(e.m=eT(y(e.Ea,e,n),tQ(e,e.D)),e.D++,!0)))||2==i&&tj(e)))switch(r&&r.length>0&&((t=e.h).i=t.i.concat(r)),s){case 1:tH(e,5);break;case 4:tH(e,10);break;case 3:tH(e,6);break;default:tH(e,2)}}}function tQ(e,t){let n=e.Qa+Math.floor(Math.random()*e.Za);return e.isActive()||(n*=2),n*t}function tH(e,t){if(e.j.info("Error code "+t),2==t){let t,s,o;var n,r=y(e.bb,e),i=e.Ua;let l=!i;i=new eZ(i||"//www.google.com/images/cleardot.gif"),a.location&&"http"==a.location.protocol||e1(i,"https"),e4(i),l?function(e,t){let n=new eS;if(a.Image){let r=new Image;r.onload=w(td,n,"TestLoadImage: loaded",!0,t,r),r.onerror=w(td,n,"TestLoadImage: error",!1,t,r),r.onabort=w(td,n,"TestLoadImage: abort",!1,t,r),r.ontimeout=w(td,n,"TestLoadImage: timeout",!1,t,r),a.setTimeout(function(){r.ontimeout&&r.ontimeout()},1e4),r.src=e}else t(!1)}(i.toString(),r):(n=i.toString(),t=new eS,s=new AbortController,o=setTimeout(()=>{s.abort(),td(t,"TestPingServer: timeout",!1,r)},1e4),fetch(n,{signal:s.signal}).then(e=>{clearTimeout(o),e.ok?td(t,"TestPingServer: ok",!0,r):td(t,"TestPingServer: server error",!1,r)}).catch(()=>{clearTimeout(o),td(t,"TestPingServer: error",!1,r)}))}else e_(2);e.I=0,e.l&&e.l.pa(t),tW(e),tP(e)}function tW(e){if(e.I=0,e.ja=[],e.l){let t=eY(e.h);(0!=t.length||0!=e.i.length)&&(_(e.ja,t),_(e.ja,e.i),e.h.i.length=0,I(e.i),e.i.length=0),e.l.oa()}}function tJ(e,t,n){var r=n instanceof eZ?e0(n):new eZ(n);if(""!=r.g)t&&(r.g=t+"."+r.g),e2(r,r.u);else{var i=a.location;r=i.protocol,t=t?t+"."+i.hostname:i.hostname,i=+i.port;let e=new eZ(null);r&&e1(e,r),t&&(e.g=t),i&&e2(e,i),n&&(e.h=n),r=e}return n=e.G,t=e.wa,n&&t&&e3(r,n,t),e3(r,"VER",e.ka),tB(e,r),r}function tY(e,t,n){if(t&&!e.L)throw Error("Can't create secondary domain capable XhrIo object.");return(t=new tE(e.Aa&&!e.ma?new tm({ab:n}):e.ma)).Fa(e.L),t}function tX(){}function tZ(){}function t0(e,t){et.call(this),this.g=new tO(t),this.l=e,this.h=t&&t.messageUrlParams||null,e=t&&t.messageHeaders||null,t&&t.clientProtocolHeaderRequired&&(e?e["X-Client-Protocol"]="webchannel":e={"X-Client-Protocol":"webchannel"}),this.g.o=e,e=t&&t.initMessageHeaders||null,t&&t.messageContentType&&(e?e["X-WebChannel-Content-Type"]=t.messageContentType:e={"X-WebChannel-Content-Type":t.messageContentType}),t&&t.sa&&(e?e["X-WebChannel-Client-Profile"]=t.sa:e={"X-WebChannel-Client-Profile":t.sa}),this.g.U=e,(e=t&&t.Qb)&&!O(e)&&(this.g.u=e),this.A=t&&t.supportsCrossDomainXhr||!1,this.v=t&&t.sendRawJson||!1,(t=t&&t.httpSessionIdParam)&&!O(t)&&(this.g.G=t,null!==(e=this.h)&&t in e&&t in(e=this.h)&&delete e[t]),this.j=new t6(this)}function t1(e){em.call(this),e.__headers__&&(this.headers=e.__headers__,this.statusCode=e.__status__,delete e.__headers__,delete e.__status__);var t=e.__sm__;if(t){e:{for(let n in t){e=n;break e}e=void 0}(this.i=e)&&(e=this.i,t=null!==t&&e in t?t[e]:void 0),this.data=t}else this.data=e}function t2(){eg.call(this),this.status=1}function t6(e){this.g=e}(t=tE.prototype).Fa=function(e){this.H=e},t.ea=function(t,n,r,i){if(this.g)throw Error("[goog.net.XhrIo] Object is active with another request="+this.D+"; newUri="+t);n=n?n.toUpperCase():"GET",this.D=t,this.l="",this.o=0,this.A=!1,this.h=!0,this.g=this.L?this.L.g():e.g(),this.g.onreadystatechange=b(y(this.Ca,this));try{this.B=!0,this.g.open(n,String(t),!0),this.B=!1}catch(e){tC(this,e);return}if(t=r||"",r=new Map(this.headers),i)if(Object.getPrototypeOf(i)===Object.prototype)for(var s in i)r.set(s,i[s]);else if("function"==typeof i.keys&&"function"==typeof i.get)for(let e of i.keys())r.set(e,i.get(e));else throw Error("Unknown input type for opt_headers: "+String(i));
15for(let[e,o]of(i=Array.from(r.keys()).find(e=>"content-type"==e.toLowerCase()),s=a.FormData&&t instanceof a.FormData,!(Array.prototype.indexOf.call(tS,n,void 0)>=0)||i||s||r.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8"),r))this.g.setRequestHeader(e,o);this.F&&(this.g.responseType=this.F),"withCredentials"in this.g&&this.g.withCredentials!==this.H&&(this.g.withCredentials=this.H);try{this.m&&(clearTimeout(this.m),this.m=null),this.v=!0,this.g.send(t),this.v=!1}catch(e){tC(this,e)}},t.abort=function(e){this.g&&this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1,this.o=e||7,en(this,"complete"),en(this,"abort"),tA(this))},t.N=function(){this.g&&(this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1),tA(this,!0)),tE.Z.N.call(this)},t.Ca=function(){this.u||(this.B||this.v||this.j?tD(this):this.Xa())},t.Xa=function(){tD(this)},t.isActive=function(){return!!this.g},t.ca=function(){try{return tN(this)>2?this.g.status:-1}catch(e){return -1}},t.la=function(){try{return this.g?this.g.responseText:""}catch(e){return""}},t.La=function(e){if(this.g){var t=this.g.responseText;return e&&0==t.indexOf(e)&&(t=t.substring(e.length)),eu(t)}},t.ya=function(){return this.o},t.Ha=function(){return"string"==typeof this.l?this.l:String(this.l)},(t=tO.prototype).ka=8,t.I=1,t.connect=function(e,t,n,r){e_(0),this.W=e,this.H=t||{},n&&void 0!==r&&(this.H.OSID=n,this.H.OAID=r),this.F=this.X,this.J=tJ(this,null,this.W),tF(this)},t.Ea=function(e){if(this.m)if(this.m=null,1==this.I){if(!e){this.V=Math.floor(1e5*Math.random()),e=this.V++;let i=new ek(this,this.j,e),s=this.o;if(this.U&&(s?j(s=U(s),this.U):s=this.U),null!==this.u||this.R||(i.J=s,s=null),this.S)e:{for(var t=0,n=0;n<this.i.length;n++){t:{var r=this.i[n];if("__data__"in r.map&&"string"==typeof(r=r.map.__data__)){r=r.length;break t}r=void 0}if(void 0===r)break;if((t+=r)>4096){t=n;break e}if(4096===t||n===this.i.length-1){t=n+1;break e}}t=1e3}else t=1e3;t=tU(this,i,t),e3(n=e0(this.J),"RID",e),e3(n,"CVER",22),this.G&&e3(n,"X-HTTP-Session-Id",this.G),tB(this,n),s&&(this.R?t="headers="+eN(tI(s))+"&"+t:this.u&&t_(n,this.u,s)),eW(this.h,i),this.Ra&&e3(n,"TYPE","init"),this.S?(e3(n,"$req",t),e3(n,"SID","null"),i.U=!0,eL(i,n,null)):eL(i,n,t),this.I=2}}else 3==this.I&&(e?tV(this,e):0==this.i.length||eK(this.h)||tV(this))},t.Da=function(){if(this.v=null,t$(this),this.aa&&!(this.P||null==this.g||this.T<=0)){var e=4*this.T;this.j.info("BP detection timer enabled: "+e),this.B=eT(y(this.Wa,this),e)}},t.Wa=function(){this.B&&(this.B=null,this.j.info("BP detection timeout reached."),this.j.info("Buffering proxy detected and switch to long-polling!"),this.F=!1,this.P=!0,e_(10),tL(this),t$(this))},t.Va=function(){null!=this.C&&(this.C=null,tL(this),tj(this),e_(19))},t.bb=function(e){e?(this.j.info("Successfully pinged google.com"),e_(2)):(this.j.info("Failed to ping google.com"),e_(1))},t.isActive=function(){return!!this.l&&this.l.isActive(this)},(t=tX.prototype).ra=function(){},t.qa=function(){},t.pa=function(){},t.oa=function(){},t.isActive=function(){return!0},t.Ka=function(){},tZ.prototype.g=function(e,t){return new t0(e,t)},v(t0,et),t0.prototype.m=function(){this.g.l=this.j,this.A&&(this.g.L=!0),this.g.connect(this.l,this.h||void 0)},t0.prototype.close=function(){tM(this.g)},t0.prototype.o=function(e){var t=this.g;if("string"==typeof e){var n={};n.__data__=e,e=n}else this.v&&((n={}).__data__=el(e),e=n);t.i.push(new e$(t.Ya++,e)),3==t.I&&tF(t)},t0.prototype.N=function(){this.g.l=null,delete this.j,tM(this.g),delete this.g,t0.Z.N.call(this)},v(t1,em),v(t2,eg),v(t6,tX),t6.prototype.ra=function(){en(this.g,"a")},t6.prototype.qa=function(e){en(this.g,new t1(e))},t6.prototype.pa=function(e){en(this.g,new t2)},t6.prototype.oa=function(){en(this.g,"b")},tZ.prototype.createWebChannel=tZ.prototype.g,t0.prototype.send=t0.prototype.o,t0.prototype.open=t0.prototype.m,t0.prototype.close=t0.prototype.close,g=tw.createWebChannelTransport=function(){return new tZ},m=tw.getStatEventTarget=function(){return ew()},f=tw.Event=ep,d=tw.Stat={jb:0,mb:1,nb:2,Hb:3,Mb:4,Jb:5,Kb:6,Ib:7,Gb:8,Lb:9,PROXY:10,NOPROXY:11,Eb:12,Ab:13,Bb:14,zb:15,Cb:16,Db:17,fb:18,eb:19,gb:20},ex.NO_ERROR=0,ex.TIMEOUT=8,ex.HTTP_ERROR=6,c=tw.ErrorCode=ex,eD.COMPLETE="complete",h=tw.EventType=eD,ed.EventType=ef,ef.OPEN="a",ef.CLOSE="b",ef.ERROR="c",ef.MESSAGE="d",et.prototype.listen=et.prototype.J,u=tw.WebChannel=ed,tw.FetchXmlHttpFactory=tm,tE.prototype.listenOnce=tE.prototype.K,tE.prototype.getLastError=tE.prototype.Ha,tE.prototype.getLastErrorCode=tE.prototype.ya,tE.prototype.getStatus=tE.prototype.ca,tE.prototype.getResponseJson=tE.prototype.La,tE.prototype.getResponseText=tE.prototype.la,tE.prototype.send=tE.prototype.ea,tE.prototype.setWithCredentials=tE.prototype.Fa,l=tw.XhrIo=tE}).apply(void 0!==ty?ty:"u">typeof self?self:"u">typeof window?window:{});class tv{constructor(e){this.uid=e}isAuthenticated(){return null!=this.uid}toKey(){return this.isAuthenticated()?"uid:"+this.uid:"anonymous-user"}isEqual(e){return e.uid===this.uid}}tv.UNAUTHENTICATED=new tv(null),tv.GOOGLE_CREDENTIALS=new tv("google-credentials-uid"),tv.FIRST_PARTY=new tv
15("first-party-uid"),tv.MOCK_USER=new tv("mock-user");let tb="12.8.0",tI=new e_("@firebase/firestore");function t_(){return tI.logLevel}function tE(e){tI.setLogLevel(e)}function tT(e,...t){if(tI.logLevel<=s.DEBUG){let n=t.map(tx);tI.debug(`Firestore (${tb}): ${e}`,...n)}}function tS(e,...t){if(tI.logLevel<=s.ERROR){let n=t.map(tx);tI.error(`Firestore (${tb}): ${e}`,...n)}}function tC(e,...t){if(tI.logLevel<=s.WARN){let n=t.map(tx);tI.warn(`Firestore (${tb}): ${e}`,...n)}}function tx(e){if("string"==typeof e)return e;try{return JSON.stringify(e)}catch(t){return e}}function tD(e,t,n){let r="Unexpected state";"string"==typeof t?r=t:n=t,tA(e,r,n)}function tA(e,t,n){let r=`FIRESTORE (${tb}) INTERNAL ASSERTION FAILED: ${t} (ID: ${e.toString(16)})`;if(void 0!==n)try{r+=" CONTEXT: "+JSON.stringify(n)}catch(e){r+=" CONTEXT: "+n}throw tS(r),Error(r)}function tN(e,t,n,r){let i="Unexpected state";"string"==typeof n?i=n:r=n,e||tA(t,i,r)}function tk(e,t){e||tD(57014,t)}let tR={OK:"ok",CANCELLED:"cancelled",UNKNOWN:"unknown",INVALID_ARGUMENT:"invalid-argument",DEADLINE_EXCEEDED:"deadline-exceeded",NOT_FOUND:"not-found",ALREADY_EXISTS:"already-exists",PERMISSION_DENIED:"permission-denied",UNAUTHENTICATED:"unauthenticated",RESOURCE_EXHAUSTED:"resource-exhausted",FAILED_PRECONDITION:"failed-precondition",ABORTED:"aborted",OUT_OF_RANGE:"out-of-range",UNIMPLEMENTED:"unimplemented",INTERNAL:"internal",UNAVAILABLE:"unavailable",DATA_LOSS:"data-loss"};class tO extends ee{constructor(e,t){super(e,t),this.code=e,this.message=t,this.toString=()=>`${this.name}: [code=${this.code}]: ${this.message}`}}class tM{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}class tL{constructor(e,t){this.user=t,this.type="OAuth",this.headers=new Map,this.headers.set("Authorization",`Bearer ${e}`)}}class tP{getToken(){return Promise.resolve(null)}invalidateToken(){}start(e,t){e.enqueueRetryable(()=>t(tv.UNAUTHENTICATED))}shutdown(){}}class tF{constructor(e){this.token=e,this.changeListener=null}getToken(){return Promise.resolve(this.token)}invalidateToken(){}start(e,t){this.changeListener=t,e.enqueueRetryable(()=>t(this.token.user))}shutdown(){this.changeListener=null}}class tV{constructor(e){this.t=e,this.currentUser=tv.UNAUTHENTICATED,this.i=0,this.forceRefresh=!1,this.auth=null}start(e,t){tN(void 0===this.o,42304);let n=this.i,r=e=>this.i!==n?(n=this.i,t(e)):Promise.resolve(),i=new tM;this.o=()=>{this.i++,this.currentUser=this.u(),i.resolve(),i=new tM,e.enqueueRetryable(()=>r(this.currentUser))};let s=()=>{let t=i;e.enqueueRetryable(async()=>{await t.promise,await r(this.currentUser)})},a=e=>{tT("FirebaseAuthCredentialsProvider","Auth detected"),this.auth=e,this.o&&(this.auth.addAuthTokenListener(this.o),s())};this.t.onInit(e=>a(e)),setTimeout(()=>{if(!this.auth){let e=this.t.getImmediate({optional:!0});e?a(e):(tT("FirebaseAuthCredentialsProvider","Auth not yet detected"),i.resolve(),i=new tM)}},0),s()}getToken(){let e=this.i,t=this.forceRefresh;return this.forceRefresh=!1,this.auth?this.auth.getToken(t).then(t=>this.i!==e?(tT("FirebaseAuthCredentialsProvider","getToken aborted due to token change."),this.getToken()):t?(tN("string"==typeof t.accessToken,31837,{l:t}),new tL(t.accessToken,this.currentUser)):null):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.auth&&this.o&&this.auth.removeAuthTokenListener(this.o),this.o=void 0}u(){let e=this.auth&&this.auth.getUid();return tN(null===e||"string"==typeof e,2055,{h:e}),new tv(e)}}class tB{constructor(e,t,n){this.P=e,this.T=t,this.I=n,this.type="FirstParty",this.user=tv.FIRST_PARTY,this.R=new Map}A(){return this.I?this.I():null}get headers(){this.R.set("X-Goog-AuthUser",this.P);let e=this.A();return e&&this.R.set("Authorization",e),this.T&&this.R.set("X-Goog-Iam-Authorization-Token",this.T),this.R}}class tU{constructor(e,t,n){this.P=e,this.T=t,this.I=n}getToken(){return Promise.resolve(new tB(this.P,this.T,this.I))}start(e,t){e.enqueueRetryable(()=>t(tv.FIRST_PARTY))}shutdown(){}invalidateToken(){}}class tq{constructor(e){this.value=e,this.type="AppCheck",this.headers=new Map,e&&e.length>0&&this.headers.set("x-firebase-appcheck",this.value)}}class tj{constructor(e,t){this.V=t,this.forceRefresh=!1,this.appCheck=null,this.m=null,this.p=null,eZ(e)&&e.settings.appCheckToken&&(this.p=e.settings.appCheckToken)}start(e,t){tN(void 0===this.o,3512);let n=e=>{null!=e.error&&tT("FirebaseAppCheckTokenProvider",`Error getting App Check token; using placeholder token instead. Error: ${e.error.message}`);let n=e.token!==this.m;return this.m=e.token,tT("FirebaseAppCheckTokenProvider",`Received ${n?"new":"existing"} token.`),n?t(e.token):Promise.resolve()};this.o=t=>{e.enqueueRetryable(()=>n(t))};let r=e=>{tT("FirebaseAppCheckTokenProvider","AppCheck detected"),this.appCheck=e,this.o&&this.appCheck.addTokenListener(this.o)};this.V.onInit(e=>r(e)),setTimeout(()=>{if(!this.appCheck){let e=this.V.getImmediate({optional:!0});e?r(e):tT("FirebaseAppCheckTokenProvider","AppCheck not yet detected")}},0)}getToken(){if(this.p)return Promise.resolve(new tq(this.p));let e=this.forceRefresh;return this.forceRefresh=!1,this.appCheck?this.appCheck.getToken(e).then(e=>e?(tN("string"==typeof e.token,44558,{tokenResult:e}),this.m=e.token,new tq(e.token)):null):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.appCheck&&this.o&&this.appCheck.removeTokenListener(this.o),this.o=void 0}}class tz{getToken(){return Promise.resolve(new tq(""))}invalidateToken(){}start(e,t){}shutdown(){}}class t${static newId(){let e=62*Math.floor(256/62),t="";for(;t.length<20;){let n=function(e){let t="u">typeof self&&(self.crypto||self.msCrypto),n=new Uint8Array(40);if(t&&"function"==typeof t.getRandomValues)t.getRandomValues(n);else for(let e=0;e<40;
15e++)n[e]=Math.floor(256*Math.random());return n}(0);for(let r=0;r<n.length;++r)t.length<20&&n[r]<e&&(t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(n[r]%62))}return t}}function tG(e,t){return e<t?-1:+(e>t)}function tK(e,t){let n=Math.min(e.length,t.length);for(let r=0;r<n;r++){let n=e.charAt(r),i=t.charAt(r);if(n!==i)return tQ(n)===tQ(i)?tG(n,i):tQ(n)?1:-1}return tG(e.length,t.length)}function tQ(e){let t=e.charCodeAt(0);return t>=55296&&t<=57343}function tH(e,t,n){return e.length===t.length&&e.every((e,r)=>n(e,t[r]))}let tW="__name__";class tJ{constructor(e,t,n){void 0===t?t=0:t>e.length&&tD(637,{offset:t,range:e.length}),void 0===n?n=e.length-t:n>e.length-t&&tD(1746,{length:n,range:e.length-t}),this.segments=e,this.offset=t,this.len=n}get length(){return this.len}isEqual(e){return 0===tJ.comparator(this,e)}child(e){let t=this.segments.slice(this.offset,this.limit());return e instanceof tJ?e.forEach(e=>{t.push(e)}):t.push(e),this.construct(t)}limit(){return this.offset+this.length}popFirst(e){return e=void 0===e?1:e,this.construct(this.segments,this.offset+e,this.length-e)}popLast(){return this.construct(this.segments,this.offset,this.length-1)}firstSegment(){return this.segments[this.offset]}lastSegment(){return this.get(this.length-1)}get(e){return this.segments[this.offset+e]}isEmpty(){return 0===this.length}isPrefixOf(e){if(e.length<this.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}isImmediateParentOf(e){if(this.length+1!==e.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}forEach(e){for(let t=this.offset,n=this.limit();t<n;t++)e(this.segments[t])}toArray(){return this.segments.slice(this.offset,this.limit())}static comparator(e,t){let n=Math.min(e.length,t.length);for(let r=0;r<n;r++){let n=tJ.compareSegments(e.get(r),t.get(r));if(0!==n)return n}return tG(e.length,t.length)}static compareSegments(e,t){let n=tJ.isNumericId(e),r=tJ.isNumericId(t);return n&&!r?-1:!n&&r?1:n&&r?tJ.extractNumericId(e).compare(tJ.extractNumericId(t)):tK(e,t)}static isNumericId(e){return e.startsWith("__id")&&e.endsWith("__")}static extractNumericId(e){return a.fromString(e.substring(4,e.length-2))}}class tY extends tJ{construct(e,t,n){return new tY(e,t,n)}canonicalString(){return this.toArray().join("/")}toString(){return this.canonicalString()}toUriEncodedString(){return this.toArray().map(encodeURIComponent).join("/")}static fromString(...e){let t=[];for(let n of e){if(n.indexOf("//")>=0)throw new tO(tR.INVALID_ARGUMENT,`Invalid segment (${n}). Paths must not contain // in them.`);t.push(...n.split("/").filter(e=>e.length>0))}return new tY(t)}static emptyPath(){return new tY([])}}let tX=/^[_a-zA-Z][_a-zA-Z0-9]*$/;class tZ extends tJ{construct(e,t,n){return new tZ(e,t,n)}static isValidIdentifier(e){return tX.test(e)}canonicalString(){return this.toArray().map(e=>(e=e.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),tZ.isValidIdentifier(e)||(e="`"+e+"`"),e)).join(".")}toString(){return this.canonicalString()}isKeyField(){return 1===this.length&&this.get(0)===tW}static keyField(){return new tZ([tW])}static fromServerFormat(e){let t=[],n="",r=0,i=()=>{if(0===n.length)throw new tO(tR.INVALID_ARGUMENT,`Invalid field path (${e}). Paths must not be empty, begin with '.', end with '.', or contain '..'`);t.push(n),n=""},s=!1;for(;r<e.length;){let t=e[r];if("\\"===t){if(r+1===e.length)throw new tO(tR.INVALID_ARGUMENT,"Path has trailing escape character: "+e);let t=e[r+1];if("\\"!==t&&"."!==t&&"`"!==t)throw new tO(tR.INVALID_ARGUMENT,"Path has invalid escape sequence: "+e);n+=t,r+=2}else"`"===t?s=!s:"."!==t||s?n+=t:i(),r++}if(i(),s)throw new tO(tR.INVALID_ARGUMENT,"Unterminated ` in path: "+e);return new tZ(t)}static emptyPath(){return new tZ([])}}class t0{constructor(e){this.path=e}static fromPath(e){return new t0(tY.fromString(e))}static fromName(e){return new t0(tY.fromString(e).popFirst(5))}static empty(){return new t0(tY.emptyPath())}get collectionGroup(){return this.path.popLast().lastSegment()}hasCollectionId(e){return this.path.length>=2&&this.path.get(this.path.length-2)===e}getCollectionGroup(){return this.path.get(this.path.length-2)}getCollectionPath(){return this.path.popLast()}isEqual(e){return null!==e&&0===tY.comparator(this.path,e.path)}toString(){return this.path.toString()}static comparator(e,t){return tY.comparator(e.path,t.path)}static isDocumentKey(e){return e.length%2==0}static fromSegments(e){return new t0(new tY(e.slice()))}}
15function t1(e,t,n){if(!n)throw new tO(tR.INVALID_ARGUMENT,`Function ${e}() cannot be called with an empty ${t}.`)}function t2(e,t,n,r){if(!0===t&&!0===r)throw new tO(tR.INVALID_ARGUMENT,`${e} and ${n} cannot be used together.`)}function t6(e){if(!t0.isDocumentKey(e))throw new tO(tR.INVALID_ARGUMENT,`Invalid document reference. Document references must have an even number of segments, but ${e} has ${e.length}.`)}function t3(e){if(t0.isDocumentKey(e))throw new tO(tR.INVALID_ARGUMENT,`Invalid collection reference. Collection references must have an odd number of segments, but ${e} has ${e.length}.`)}function t4(e){return"object"==typeof e&&null!==e&&(Object.getPrototypeOf(e)===Object.prototype||null===Object.getPrototypeOf(e))}function t5(e){if(void 0===e)return"undefined";if(null===e)return"null";if("string"==typeof e)return e.length>20&&(e=`${e.substring(0,20)}...`),JSON.stringify(e);if("number"==typeof e||"boolean"==typeof e)return""+e;if("object"==typeof e){if(e instanceof Array)return"an array";{var t;let n=(t=e).constructor?t.constructor.name:null;return n?`a custom ${n} object`:"an object"}}return"function"==typeof e?"a function":tD(12329,{type:typeof e})}function t8(e,t){if("_delegate"in e&&(e=e._delegate),!(e instanceof t)){if(t.name===e.constructor.name)throw new tO(tR.INVALID_ARGUMENT,"Type does not match the expected instance. Did you pass a reference from a different Firestore SDK?");{let n=t5(e);throw new tO(tR.INVALID_ARGUMENT,`Expected type '${t.name}', but it was: ${n}`)}}return e}function t7(e,t){if(t<=0)throw new tO(tR.INVALID_ARGUMENT,`Function ${e}() requires a positive number, but it was: ${t}.`)}function t9(e,t){let n={typeString:e};return t&&(n.value=t),n}function ne(e,t){let n;if(!t4(e))throw new tO(tR.INVALID_ARGUMENT,"JSON must be an object");for(let r in t)if(t[r]){let i=t[r].typeString,s="value"in t[r]?{value:t[r].value}:void 0;if(!(r in e)){n=`JSON missing required field: '${r}'`;break}let a=e[r];if(i&&typeof a!==i){n=`JSON field '${r}' must be a ${i}.`;break}if(void 0!==s&&a!==s.value){n=`Expected '${r}' field to equal '${s.value}'`;break}}if(n)throw new tO(tR.INVALID_ARGUMENT,n);return!0}class nt{static now(){return nt.fromMillis(Date.now())}static fromDate(e){return nt.fromMillis(e.getTime())}static fromMillis(e){let t=Math.floor(e/1e3),n=Math.floor((e-1e3*t)*1e6);return new nt(t,n)}constructor(e,t){if(this.seconds=e,this.nanoseconds=t,t<0||t>=1e9)throw new tO(tR.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(e<-0xe7791f700||e>=0x3afff44180)throw new tO(tR.INVALID_ARGUMENT,"Timestamp seconds out of range: "+e)}toDate(){return new Date(this.toMillis())}toMillis(){return 1e3*this.seconds+this.nanoseconds/1e6}_compareTo(e){return this.seconds===e.seconds?tG(this.nanoseconds,e.nanoseconds):tG(this.seconds,e.seconds)}isEqual(e){return e.seconds===this.seconds&&e.nanoseconds===this.nanoseconds}toString(){return"Timestamp(seconds="+this.seconds+", nanoseconds="+this.nanoseconds+")"}toJSON(){return{type:nt._jsonSchemaVersion,seconds:this.seconds,nanoseconds:this.nanoseconds}}static fromJSON(e){if(ne(e,nt._jsonSchema))return new nt(e.seconds,e.nanoseconds)}valueOf(){return String(this.seconds- -0xe7791f700).padStart(12,"0")+"."+String(this.nanoseconds).padStart(9,"0")}}nt._jsonSchemaVersion="firestore/timestamp/1.0",nt._jsonSchema={type:t9("string",nt._jsonSchemaVersion),seconds:t9("number"),nanoseconds:t9("number")};class nn{static fromTimestamp(e){return new nn(e)}static min(){return new nn(new nt(0,0))}static max(){return new nn(new nt(0x3afff4417f,0x3b9ac9ff))}constructor(e){this.timestamp=e}compareTo(e){return this.timestamp._compareTo(e.timestamp)}isEqual(e){return this.timestamp.isEqual(e.timestamp)}toMicroseconds(){return 1e6*this.timestamp.seconds+this.timestamp.nanoseconds/1e3}toString(){return"SnapshotVersion("+this.timestamp.toString()+")"}toTimestamp(){return this.timestamp}}class nr{constructor(e,t,n,r){this.indexId=e,this.collectionGroup=t,this.fields=n,this.indexState=r}}function ni(e){return e.fields.find(e=>2===e.kind)}function ns(e){return e.fields.filter(e=>2!==e.kind)}function na(e,t){let n=tG(e.collectionGroup,t.collectionGroup);if(0!==n)return n;for(let r=0;r<Math.min(e.fields.length,t.fields.length);++r)if(0!==(n=function(e,t){let n=tZ.comparator(e.fieldPath,t.fieldPath);return 0!==n?n:tG(e.kind,t.kind)}(e.fields[r],t.fields[r])))return n;return tG(e.fields.length,t.fields.length)}nr.UNKNOWN_ID=-1;class no{constructor(e,t){this.fieldPath=e,this.kind=t}}class nl{constructor(e,t){this.sequenceNumber=e,this.offset=t}static empty(){return new nl(0,nc.min())}}function nu(e,t){let n=e.toTimestamp().seconds,r=e.toTimestamp().nanoseconds+1;return new nc(nn.fromTimestamp(1e9===r?new nt(n+1,0):new nt(n,r)),t0.empty(),t)}function nh(e){return new nc(e.readTime,e.key,-1)}class nc{constructor(e,t,n){this.readTime=e,this.documentKey=t,this.largestBatchId=n}static min(){return new nc(nn.min(),t0.empty(),-1)}static max(){return new nc(nn.max(),t0.empty(),-1)}}
15function nd(e,t){let n=e.readTime.compareTo(t.readTime);return 0!==n||0!==(n=t0.comparator(e.documentKey,t.documentKey))?n:tG(e.largestBatchId,t.largestBatchId)}let nf="The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab.";class nm{constructor(){this.onCommittedListeners=[]}addOnCommittedListener(e){this.onCommittedListeners.push(e)}raiseOnCommittedEvent(){this.onCommittedListeners.forEach(e=>e())}}async function ng(e){if(e.code!==tR.FAILED_PRECONDITION||e.message!==nf)throw e;tT("LocalStore","Unexpectedly lost primary lease")}class np{constructor(e){this.nextCallback=null,this.catchCallback=null,this.result=void 0,this.error=void 0,this.isDone=!1,this.callbackAttached=!1,e(e=>{this.isDone=!0,this.result=e,this.nextCallback&&this.nextCallback(e)},e=>{this.isDone=!0,this.error=e,this.catchCallback&&this.catchCallback(e)})}catch(e){return this.next(void 0,e)}next(e,t){return this.callbackAttached&&tD(59440),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(t,this.error):this.wrapSuccess(e,this.result):new np((n,r)=>{this.nextCallback=t=>{this.wrapSuccess(e,t).next(n,r)},this.catchCallback=e=>{this.wrapFailure(t,e).next(n,r)}})}toPromise(){return new Promise((e,t)=>{this.next(e,t)})}wrapUserFunction(e){try{let t=e();return t instanceof np?t:np.resolve(t)}catch(e){return np.reject(e)}}wrapSuccess(e,t){return e?this.wrapUserFunction(()=>e(t)):np.resolve(t)}wrapFailure(e,t){return e?this.wrapUserFunction(()=>e(t)):np.reject(t)}static resolve(e){return new np((t,n)=>{t(e)})}static reject(e){return new np((t,n)=>{n(e)})}static waitFor(e){return new np((t,n)=>{let r=0,i=0,s=!1;e.forEach(e=>{++r,e.next(()=>{++i,s&&i===r&&t()},e=>n(e))}),s=!0,i===r&&t()})}static or(e){let t=np.resolve(!1);for(let n of e)t=t.next(e=>e?np.resolve(e):n());return t}static forEach(e,t){let n=[];return e.forEach((e,r)=>{n.push(t.call(this,e,r))}),this.waitFor(n)}static mapArray(e,t){return new np((n,r)=>{let i=e.length,s=Array(i),a=0;for(let o=0;o<i;o++){let l=o;t(e[l]).next(e=>{s[l]=e,++a===i&&n(s)},e=>r(e))}})}static doWhile(e,t){return new np((n,r)=>{let i=()=>{!0===e()?t().next(()=>{i()},r):n()};i()})}}let ny="SimpleDb";class nw{static open(e,t,n,r){try{return new nw(t,e.transaction(r,n))}catch(e){throw new n_(t,e)}}constructor(e,t){this.action=e,this.transaction=t,this.aborted=!1,this.S=new tM,this.transaction.oncomplete=()=>{this.S.resolve()},this.transaction.onabort=()=>{t.error?this.S.reject(new n_(e,t.error)):this.S.resolve()},this.transaction.onerror=t=>{let n=nx(t.target.error);this.S.reject(new n_(e,n))}}get D(){return this.S.promise}abort(e){e&&this.S.reject(e),this.aborted||(tT(ny,"Aborting transaction:",e?e.message:"Client-initiated abort"),this.aborted=!0,this.transaction.abort())}C(){let e=this.transaction;this.aborted||"function"!=typeof e.commit||e.commit()}store(e){return new nT(this.transaction.objectStore(e))}}class nv{static delete(e){return tT(ny,"Removing database:",e),nS(D().indexedDB.deleteDatabase(e)).toPromise()}static v(){if(!X())return!1;if(nv.F())return!0;let e=q(),t=nv.M(e),n=nb(e);return!(e.indexOf("MSIE ")>0||e.indexOf("Trident/")>0||e.indexOf("Edge/")>0||0<t&&t<10||0<n&&n<4.5)}static F(){return void 0!==b.default&&"YES"===b.default.__PRIVATE_env?.__PRIVATE_USE_MOCK_PERSISTENCE}static O(e,t){return e.store(t)}static M(e){let t=e.match(/i(?:phone|pad|pod) os ([\d_]+)/i);return Number(t?t[1].split("_").slice(0,2).join("."):"-1")}constructor(e,t,n){this.name=e,this.version=t,this.N=n,this.B=null,12.2===nv.M(q())&&tS("Firestore persistence suffers from a bug in iOS 12.2 Safari that may cause your app to stop working. See https://stackoverflow.com/q/56496296/110915 for details and a potential workaround.")}async L(e){return this.db||(tT(ny,"Opening database:",this.name),this.db=await new Promise((t,n)=>{let r=indexedDB.open(this.name,this.version);r.onsuccess=e=>{t(e.target.result)},r.onblocked=()=>{n(new n_(e,"Cannot upgrade IndexedDB schema while another tab is open. Close all tabs that access Firestore and reload this page to proceed."))},r.onerror=t=>{let r=t.target.error;"VersionError"===r.name?n(new tO(tR.FAILED_PRECONDITION,"A newer version of the Firestore SDK was previously used and so the persisted data is not compatible with the version of the SDK you are now using. The SDK will operate with persistence disabled. If you need persistence, please re-upgrade to a newer version of the SDK or else clear the persisted IndexedDB data for your app to start fresh.")):"InvalidStateError"===r.name?n(new tO(tR.FAILED_PRECONDITION,"Unable to open an IndexedDB connection. This could be due to running in a private browsing session on a browser whose private browsing sessions do not support IndexedDB: "+r)):n(new n_(e,r))},r.onupgradeneeded=e=>{tT(ny,'Database "'+this.name+'" requires upgrade from version:',e.oldVersion);let t=e.target.result;this.N.k(t,r.transaction,e.oldVersion,this.version).next(()=>{tT(ny,"Database upgrade to version "+this.version+" complete")}
15)}})),this.K&&(this.db.onversionchange=e=>this.K(e)),this.db}q(e){this.K=e,this.db&&(this.db.onversionchange=t=>e(t))}async runTransaction(e,t,n,r){let i="readonly"===t,s=0;for(;;){++s;try{this.db=await this.L(e);let t=nw.open(this.db,e,i?"readonly":"readwrite",n),s=r(t).next(e=>(t.C(),e)).catch(e=>(t.abort(e),np.reject(e))).toPromise();return s.catch(()=>{}),await t.D,s}catch(t){let e="FirebaseError"!==t.name&&s<3;if(tT(ny,"Transaction failed with error:",t.message,"Retrying:",e),this.close(),!e)return Promise.reject(t)}}}close(){this.db&&this.db.close(),this.db=void 0}}function nb(e){let t=e.match(/Android ([\d.]+)/i);return Number(t?t[1].split(".").slice(0,2).join("."):"-1")}class nI{constructor(e){this.U=e,this.$=!1,this.W=null}get isDone(){return this.$}get G(){return this.W}set cursor(e){this.U=e}done(){this.$=!0}j(e){this.W=e}delete(){return nS(this.U.delete())}}class n_ extends tO{constructor(e,t){super(tR.UNAVAILABLE,`IndexedDB transaction '${e}' failed: ${t}`),this.name="IndexedDbTransactionError"}}function nE(e){return"IndexedDbTransactionError"===e.name}class nT{constructor(e){this.store=e}put(e,t){let n;return void 0!==t?(tT(ny,"PUT",this.store.name,e,t),n=this.store.put(t,e)):(tT(ny,"PUT",this.store.name,"<auto-key>",e),n=this.store.put(e)),nS(n)}add(e){return tT(ny,"ADD",this.store.name,e,e),nS(this.store.add(e))}get(e){return nS(this.store.get(e)).next(t=>(void 0===t&&(t=null),tT(ny,"GET",this.store.name,e,t),t))}delete(e){return tT(ny,"DELETE",this.store.name,e),nS(this.store.delete(e))}count(){return tT(ny,"COUNT",this.store.name),nS(this.store.count())}H(e,t){let n=this.options(e,t),r=n.index?this.store.index(n.index):this.store;if("function"==typeof r.getAll){let e=r.getAll(n.range);return new np((t,n)=>{e.onerror=e=>{n(e.target.error)},e.onsuccess=e=>{t(e.target.result)}})}{let e=this.cursor(n),t=[];return this.J(e,(e,n)=>{t.push(n)}).next(()=>t)}}Z(e,t){let n=this.store.getAll(e,null===t?void 0:t);return new np((e,t)=>{n.onerror=e=>{t(e.target.error)},n.onsuccess=t=>{e(t.target.result)}})}X(e,t){tT(ny,"DELETE ALL",this.store.name);let n=this.options(e,t);n.Y=!1;let r=this.cursor(n);return this.J(r,(e,t,n)=>n.delete())}ee(e,t){let n;t?n=e:(n={},t=e);let r=this.cursor(n);return this.J(r,t)}te(e){let t=this.cursor({});return new np((n,r)=>{t.onerror=e=>{r(nx(e.target.error))},t.onsuccess=t=>{let r=t.target.result;r?e(r.primaryKey,r.value).next(e=>{e?r.continue():n()}):n()}})}J(e,t){let n=[];return new np((r,i)=>{e.onerror=e=>{i(e.target.error)},e.onsuccess=e=>{let i=e.target.result;if(!i)return void r();let s=new nI(i),a=t(i.primaryKey,i.value,s);if(a instanceof np){let e=a.catch(e=>(s.done(),np.reject(e)));n.push(e)}s.isDone?r():null===s.G?i.continue():i.continue(s.G)}}).next(()=>np.waitFor(n))}options(e,t){let n;return void 0!==e&&("string"==typeof e?n=e:t=e),{index:n,range:t}}cursor(e){let t="next";if(e.reverse&&(t="prev"),e.index){let n=this.store.index(e.index);return e.Y?n.openKeyCursor(e.range,t):n.openCursor(e.range,t)}return this.store.openCursor(e.range,t)}}function nS(e){return new np((t,n)=>{e.onsuccess=e=>{t(e.target.result)},e.onerror=e=>{n(nx(e.target.error))}})}let nC=!1;function nx(e){let t=nv.M(q());if(t>=12.2&&t<13){let t="An internal error was encountered in the Indexed Database server";if(e.message.indexOf(t)>=0){let e=new tO("internal",`IOS_INDEXEDDB_BUG1: IndexedDb has thrown '${t}'. This is likely due to an unavoidable bug in iOS. See https://stackoverflow.com/q/56496296/110915 for details and a potential workaround.`);return nC||(nC=!0,setTimeout(()=>{throw e},0)),e}}return e}let nD="IndexBackfiller";class nA{constructor(e,t){this.asyncQueue=e,this.ne=t,this.task=null}start(){this.re(15e3)}stop(){this.task&&(this.task.cancel(),this.task=null)}get started(){return null!==this.task}re(e){tT(nD,`Scheduled in ${e}ms`),this.task=this.asyncQueue.enqueueAfterDelay("index_backfill",e,async()=>{this.task=null;try{let e=await this.ne.ie();tT(nD,`Documents written: ${e}`)}catch(e){nE(e)?tT(nD,"Ignoring IndexedDB error during index backfill: ",e):await ng(e)}await this.re(6e4)})}}class nN{constructor(e,t){this.localStore=e,this.persistence=t}async ie(e=50){return this.persistence.runTransaction("Backfill Indexes","readwrite-primary",t=>this.se(t,e))}se(e,t){let n=new Set,r=t,i=!0;
15return np.doWhile(()=>!0===i&&r>0,()=>this.localStore.indexManager.getNextCollectionGroupToUpdate(e).next(t=>{if(null!==t&&!n.has(t))return tT(nD,`Processing collection: ${t}`),this.oe(e,t,r).next(e=>{r-=e,n.add(t)});i=!1})).next(()=>t-r)}oe(e,t,n){return this.localStore.indexManager.getMinOffsetFromCollectionGroup(e,t).next(r=>this.localStore.localDocuments.getNextDocuments(e,t,r,n).next(n=>{let i=n.changes;return this.localStore.indexManager.updateIndexEntries(e,i).next(()=>this._e(r,n)).next(n=>(tT(nD,`Updating offset: ${n}`),this.localStore.indexManager.updateCollectionGroup(e,t,n))).next(()=>i.size)}))}_e(e,t){let n=e;return t.changes.forEach((e,t)=>{let r=nh(t);nd(r,n)>0&&(n=r)}),new nc(n.readTime,n.documentKey,Math.max(t.batchId,e.largestBatchId))}}class nk{constructor(e,t){this.previousValue=e,t&&(t.sequenceNumberHandler=e=>this.ae(e),this.ue=e=>t.writeSequenceNumber(e))}ae(e){return this.previousValue=Math.max(e,this.previousValue),this.previousValue}next(){let e=++this.previousValue;return this.ue&&this.ue(e),e}}function nR(e){return null==e}function nO(e){return 0===e&&1/e==-1/0}function nM(e){return"number"==typeof e&&Number.isInteger(e)&&!nO(e)&&e<=Number.MAX_SAFE_INTEGER&&e>=Number.MIN_SAFE_INTEGER}function nL(e){let t="";for(let n=0;n<e.length;n++)t.length>0&&(t+="\x01\x01"),t=function(e,t){let n=t,r=e.length;for(let t=0;t<r;t++){let r=e.charAt(t);switch(r){case"\0":n+="\x01\x10";break;case"\x01":n+="\x01\x11";break;default:n+=r}}return n}(e.get(n),t);return t+"\x01\x01"}nk.ce=-1;function nP(e){let t=e.length;if(tN(t>=2,64408,{path:e}),2===t)return tN("\x01"===e.charAt(0)&&"\x01"===e.charAt(1),56145,{path:e}),tY.emptyPath();let n=t-2,r=[],i="";for(let s=0;s<t;){let t=e.indexOf("\x01",s);switch((t<0||t>n)&&tD(50515,{path:e}),e.charAt(t+1)){case"\x01":let a,o=e.substring(s,t);0===i.length?a=o:(i+=o,a=i,i=""),r.push(a);break;case"\x10":i+=e.substring(s,t),i+="\0";break;case"\x11":i+=e.substring(s,t+1);break;default:tD(61167,{path:e})}s=t+2}return new tY(r)}
15let nF="remoteDocuments",nV="owner",nB="owner",nU="mutationQueues",nq="mutations",nj="batchId",nz="userMutationsIndex",n$=["userId","batchId"],nG={},nK="documentMutations",nQ="remoteDocumentsV14",nH=["prefixPath","collectionGroup","readTime","documentId"],nW="documentKeyIndex",nJ=["prefixPath","collectionGroup","documentId"],nY="collectionGroupIndex",nX=["collectionGroup","readTime","prefixPath","documentId"],nZ="remoteDocumentGlobal",n0="remoteDocumentGlobalKey",n1="targets",n2="queryTargetsIndex",n6=["canonicalId","targetId"],n3="targetDocuments",n4=["targetId","path"],n5="documentTargetsIndex",n8=["path","targetId"],n7="targetGlobalKey",n9="targetGlobal",re="collectionParents",rt=["collectionId","parent"],rn="clientMetadata",rr="bundles",ri="namedQueries",rs="indexConfiguration",ra="collectionGroupIndex",ro="indexState",rl=["indexId","uid"],ru="sequenceNumberIndex",rh=["uid","sequenceNumber"],rc="indexEntries",rd=["indexId","uid","arrayValue","directionalValue","orderedDocumentKey","documentKey"],rf="documentKeyIndex",rm=["indexId","uid","orderedDocumentKey"],rg="documentOverlays",rp=["userId","collectionPath","documentId"],ry="collectionPathOverlayIndex",rw=["userId","collectionPath","largestBatchId"],rv="collectionGroupOverlayIndex",rb=["userId","collectionGroup","largestBatchId"],rI="globals",r_=[nU,nq,nK,nF,n1,nV,n9,n3,rn,nZ,re,rr,ri],rE=[...r_,rg],rT=[nU,nq,nK,nQ,n1,nV,n9,n3,rn,nZ,re,rr,ri,rg],rS=[...rT,rs,ro,rc],rC=[...rS,rI];class rx extends nm{constructor(e,t){super(),this.le=e,this.currentSequenceNumber=t}}function rD(e,t){return nv.O(e.le,t)}function rA(e){let t=0;for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t++;return t}function rN(e,t){for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t(n,e[n])}function rk(e,t){let n=[];for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&n.push(t(e[r],r,e));return n}function rR(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}class rO{constructor(e,t){this.comparator=e,this.root=t||rL.EMPTY}insert(e,t){return new rO(this.comparator,this.root.insert(e,t,this.comparator).copy(null,null,rL.BLACK,null,null))}remove(e){return new rO(this.comparator,this.root.remove(e,this.comparator).copy(null,null,rL.BLACK,null,null))}get(e){let t=this.root;for(;!t.isEmpty();){let n=this.comparator(e,t.key);if(0===n)return t.value;n<0?t=t.left:n>0&&(t=t.right)}return null}indexOf(e){let t=0,n=this.root;for(;!n.isEmpty();){let r=this.comparator(e,n.key);if(0===r)return t+n.left.size;r<0?n=n.left:(t+=n.left.size+1,n=n.right)}return -1}isEmpty(){return this.root.isEmpty()}get size(){return this.root.size}minKey(){return this.root.minKey()}maxKey(){return this.root.maxKey()}inorderTraversal(e){return this.root.inorderTraversal(e)}forEach(e){this.inorderTraversal((t,n)=>(e(t,n),!1))}toString(){let e=[];return this.inorderTraversal((t,n)=>(e.push(`${t}:${n}`),!1)),`{${e.join(", ")}}`}reverseTraversal(e){return this.root.reverseTraversal(e)}getIterator(){return new rM(this.root,null,this.comparator,!1)}getIteratorFrom(e){return new rM(this.root,e,this.comparator,!1)}getReverseIterator(){return new rM(this.root,null,this.comparator,!0)}getReverseIteratorFrom(e){return new rM(this.root,e,this.comparator,!0)}}class rM{constructor(e,t,n,r){this.isReverse=r,this.nodeStack=[];let i=1;for(;!e.isEmpty();)if(i=t?n(e.key,t):1,t&&r&&(i*=-1),i<0)e=this.isReverse?e.left:e.right;else{if(0===i){this.nodeStack.push(e);break}this.nodeStack.push(e),e=this.isReverse?e.right:e.left}}getNext(){let e=this.nodeStack.pop(),t={key:e.key,value:e.value};if(this.isReverse)for(e=e.left;!e.isEmpty();)this.nodeStack.push(e),e=e.right;else for(e=e.right;!e.isEmpty();)this.nodeStack.push(e),e=e.left;return t}hasNext(){return this.nodeStack.length>0}peek(){if(0===this.nodeStack.length)return null;let e=this.nodeStack[this.nodeStack.length-1];return{key:e.key,value:e.value}}}class rL{constructor(e,t,n,r,i){this.key=e,this.value=t,this.color=null!=n?n:rL.RED,this.left=null!=r?r:rL.EMPTY,this.right=null!=i?i:rL.EMPTY,this.size=this.left.size+1+this.right.size}copy(e,t,n,r,i){return new rL(null!=e?e:this.key,null!=t?t:this.value,
15null!=n?n:this.color,null!=r?r:this.left,null!=i?i:this.right)}isEmpty(){return!1}inorderTraversal(e){return this.left.inorderTraversal(e)||e(this.key,this.value)||this.right.inorderTraversal(e)}reverseTraversal(e){return this.right.reverseTraversal(e)||e(this.key,this.value)||this.left.reverseTraversal(e)}min(){return this.left.isEmpty()?this:this.left.min()}minKey(){return this.min().key}maxKey(){return this.right.isEmpty()?this.key:this.right.maxKey()}insert(e,t,n){let r=this,i=n(e,r.key);return(r=i<0?r.copy(null,null,null,r.left.insert(e,t,n),null):0===i?r.copy(null,t,null,null,null):r.copy(null,null,null,null,r.right.insert(e,t,n))).fixUp()}removeMin(){if(this.left.isEmpty())return rL.EMPTY;let e=this;return e.left.isRed()||e.left.left.isRed()||(e=e.moveRedLeft()),(e=e.copy(null,null,null,e.left.removeMin(),null)).fixUp()}remove(e,t){let n,r=this;if(0>t(e,r.key))r.left.isEmpty()||r.left.isRed()||r.left.left.isRed()||(r=r.moveRedLeft()),r=r.copy(null,null,null,r.left.remove(e,t),null);else{if(r.left.isRed()&&(r=r.rotateRight()),r.right.isEmpty()||r.right.isRed()||r.right.left.isRed()||(r=r.moveRedRight()),0===t(e,r.key)){if(r.right.isEmpty())return rL.EMPTY;n=r.right.min(),r=r.copy(n.key,n.value,null,null,r.right.removeMin())}r=r.copy(null,null,null,null,r.right.remove(e,t))}return r.fixUp()}isRed(){return this.color}fixUp(){let e=this;return e.right.isRed()&&!e.left.isRed()&&(e=e.rotateLeft()),e.left.isRed()&&e.left.left.isRed()&&(e=e.rotateRight()),e.left.isRed()&&e.right.isRed()&&(e=e.colorFlip()),e}moveRedLeft(){let e=this.colorFlip();return e.right.left.isRed()&&(e=(e=(e=e.copy(null,null,null,null,e.right.rotateRight())).rotateLeft()).colorFlip()),e}moveRedRight(){let e=this.colorFlip();return e.left.left.isRed()&&(e=(e=e.rotateRight()).colorFlip()),e}rotateLeft(){let e=this.copy(null,null,rL.RED,null,this.right.left);return this.right.copy(null,null,this.color,e,null)}rotateRight(){let e=this.copy(null,null,rL.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,e)}colorFlip(){let e=this.left.copy(null,null,!this.left.color,null,null),t=this.right.copy(null,null,!this.right.color,null,null);return this.copy(null,null,!this.color,e,t)}checkMaxDepth(){return Math.pow(2,this.check())<=this.size+1}check(){if(this.isRed()&&this.left.isRed())throw tD(43730,{key:this.key,value:this.value});if(this.right.isRed())throw tD(14113,{key:this.key,value:this.value});let e=this.left.check();if(e!==this.right.check())throw tD(27949);return e+ +!this.isRed()}}rL.EMPTY=null,rL.RED=!0,rL.BLACK=!1,rL.EMPTY=new class{constructor(){this.size=0}get key(){throw tD(57766)}get value(){throw tD(16141)}get color(){throw tD(16727)}get left(){throw tD(29726)}get right(){throw tD(36894)}copy(e,t,n,r,i){return this}insert(e,t,n){return new rL(e,t)}remove(e,t){return this}isEmpty(){return!0}inorderTraversal(e){return!1}reverseTraversal(e){return!1}minKey(){return null}maxKey(){return null}isRed(){return!1}checkMaxDepth(){return!0}check(){return 0}};class rP{constructor(e){this.comparator=e,this.data=new rO(this.comparator)}has(e){return null!==this.data.get(e)}first(){return this.data.minKey()}last(){return this.data.maxKey()}get size(){return this.data.size}indexOf(e){return this.data.indexOf(e)}forEach(e){this.data.inorderTraversal((t,n)=>(e(t),!1))}forEachInRange(e,t){let n=this.data.getIteratorFrom(e[0]);for(;n.hasNext();){let r=n.getNext();if(this.comparator(r.key,e[1])>=0)return;t(r.key)}}forEachWhile(e,t){let n;for(n=void 0!==t?this.data.getIteratorFrom(t):this.data.getIterator();n.hasNext();)if(!e(n.getNext().key))return}firstAfterOrEqual(e){let t=this.data.getIteratorFrom(e);return t.hasNext()?t.getNext().key:null}getIterator(){return new rF(this.data.getIterator())}getIteratorFrom(e){return new rF(this.data.getIteratorFrom(e))}add(e){return this.copy(this.data.remove(e).insert(e,!0))}delete(e){return this.has(e)?this.copy(this.data.remove(e)):this}isEmpty(){return this.data.isEmpty()}unionWith(e){let t=this;return t.size<e.size&&(t=e,e=this),e.forEach(e=>{t=t.add(e)}),t}isEqual(e){if(!(e instanceof rP)||this.size!==e.size)return!1;let t=this.data.getIterator(),n=e.data.getIterator();for(;t.hasNext();){let e=t.getNext().key,r=n.getNext().key;if(0!==this.comparator(e,r))return!1}return!0}toArray(){let e=[];return this.forEach(t=>{e.push(t)}),e}toString(){let e=[];return this.forEach(t=>e.push(t)),"SortedSet("+e.toString()+")"}copy(e){let t=new rP(this.comparator);return t.data=e,t}}
15class rF{constructor(e){this.iter=e}getNext(){return this.iter.getNext().key}hasNext(){return this.iter.hasNext()}}function rV(e){return e.hasNext()?e.getNext():void 0}class rB{constructor(e){this.fields=e,e.sort(tZ.comparator)}static empty(){return new rB([])}unionWith(e){let t=new rP(tZ.comparator);for(let e of this.fields)t=t.add(e);for(let n of e)t=t.add(n);return new rB(t.toArray())}covers(e){for(let t of this.fields)if(t.isPrefixOf(e))return!0;return!1}isEqual(e){return tH(this.fields,e.fields,(e,t)=>e.isEqual(t))}}class rU extends Error{constructor(){super(...arguments),this.name="Base64DecodeError"}}function rq(){return"u">typeof atob}class rj{constructor(e){this.binaryString=e}static fromBase64String(e){return new rj(function(e){try{return atob(e)}catch(e){throw"u">typeof DOMException&&e instanceof DOMException?new rU("Invalid base64 string: "+e):e}}(e))}static fromUint8Array(e){return new rj(function(e){let t="";for(let n=0;n<e.length;++n)t+=String.fromCharCode(e[n]);return t}(e))}[Symbol.iterator](){let e=0;return{next:()=>e<this.binaryString.length?{value:this.binaryString.charCodeAt(e++),done:!1}:{value:void 0,done:!0}}}toBase64(){return btoa(this.binaryString)}toUint8Array(){var e=this.binaryString;let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}approximateByteSize(){return 2*this.binaryString.length}compareTo(e){return tG(this.binaryString,e.binaryString)}isEqual(e){return this.binaryString===e.binaryString}}rj.EMPTY_BYTE_STRING=new rj("");let rz=new RegExp(/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(?:\.(\d+))?Z$/);function r$(e){if(tN(!!e,39018),"string"==typeof e){let t=0,n=rz.exec(e);if(tN(!!n,46558,{timestamp:e}),n[1]){let e=n[1];t=Number(e=(e+"000000000").substr(0,9))}return{seconds:Math.floor(new Date(e).getTime()/1e3),nanos:t}}return{seconds:rG(e.seconds),nanos:rG(e.nanos)}}function rG(e){return"number"==typeof e?e:"string"==typeof e?Number(e):0}function rK(e){return"string"==typeof e?rj.fromBase64String(e):rj.fromUint8Array(e)}let rQ="server_timestamp",rH="__type__",rW="__previous_value__",rJ="__local_write_time__";function rY(e){return(e?.mapValue?.fields||{})[rH]?.stringValue===rQ}function rX(e){let t=e.mapValue.fields[rW];return rY(t)?rX(t):t}function rZ(e){let t=r$(e.mapValue.fields[rJ].timestampValue);return new nt(t.seconds,t.nanos)}class r0{constructor(e,t,n,r,i,s,a,o,l,u,h){this.databaseId=e,this.appId=t,this.persistenceKey=n,this.host=r,this.ssl=i,this.forceLongPolling=s,this.autoDetectLongPolling=a,this.longPollingOptions=o,this.useFetchStreams=l,this.isUsingEmulator=u,this.apiKey=h}}let r1="(default)";class r2{constructor(e,t){this.projectId=e,this.database=t||r1}static empty(){return new r2("","")}get isDefaultDatabase(){return this.database===r1}isEqual(e){return e instanceof r2&&e.projectId===this.projectId&&e.database===this.database}}let r6="__type__",r3="__max__",r4={mapValue:{fields:{__type__:{stringValue:r3}}}},r5="__vector__",r8="value",r7={nullValue:"NULL_VALUE"};function r9(e){return"nullValue"in e?0:"booleanValue"in e?1:"integerValue"in e||"doubleValue"in e?2:"timestampValue"in e?3:"stringValue"in e?5:"bytesValue"in e?6:"referenceValue"in e?7:"geoPointValue"in e?8:"arrayValue"in e?9:"mapValue"in e?rY(e)?4:ip(e)?0x1fffffffffffff:im(e)?10:11:tD(28295,{value:e})}function ie(e,t){if(e===t)return!0;let n=r9(e);if(n!==r9(t))return!1;switch(n){case 0:case 0x1fffffffffffff:return!0;case 1:return e.booleanValue===t.booleanValue;case 4:return rZ(e).isEqual(rZ(t));case 3:if("string"==typeof e.timestampValue&&"string"==typeof t.timestampValue&&e.timestampValue.length===t.timestampValue.length)return e.timestampValue===t.timestampValue;let r=r$(e.timestampValue),i=r$(t.timestampValue);return r.seconds===i.seconds&&r.nanos===i.nanos;case 5:return e.stringValue===t.stringValue;case 6:return rK(e.bytesValue).isEqual(rK(t.bytesValue));case 7:return e.referenceValue===t.referenceValue;case 8:return rG(e.geoPointValue.latitude)===rG(t.geoPointValue.latitude)&&rG(e.geoPointValue.longitude)===rG(t.geoPointValue.longitude);case 2:if("integerValue"in e&&"integerValue"in t)return rG(e.integerValue)===rG(t.integerValue);if("doubleValue"in e&&"doubleValue"in t){let n=rG(e.doubleValue),r=rG(t.doubleValue);return n===r?nO(n)===nO(r):isNaN(n)&&isNaN(r)}return!1;case 9:return tH(e.arrayValue.values||[],t.arrayValue.values||[],ie);case 10:case 11:let s=e.mapValue.fields||{},a=t.mapValue.fields||{};if(rA(s)!==rA(a))return!1;for(let e in s)if(s.hasOwnProperty(e)&&(void 0===a[e]||!ie(s[e],a[e])))return!1;return!0;default:return tD(52216,{left:e})}}function it(e,t){return void 0!==(e.values||[]).find(e=>ie(e,t))}function ir(e,t){var n,r,i,s,a,o;if(e===t)return 0;let l=r9(e),u=r9(t);if(l!==u)return tG(l,u);switch(l){case 0:case 0x1fffffffffffff:return 0;case 1:return tG(e.booleanValue,t.booleanValue);case 2:let h,c;return h=rG(e.integerValue||e.doubleValue),h<(c=rG(t.integerValue||t.doubleValue))?-1:h>c?1:h===c?0:isNaN(h)?isNaN(c)?0:-1:1;case 3:return ii(e.timestampValue,t.timestampValue);case 4:return ii(rZ(e),rZ(t));case 5:return tK(e.stringValue,t.stringValue);case 6:let d,f;return n=e.bytesValue,r=t.bytesValue,d=rK(n),f=rK(r),d.compareTo(f);case 7:return function(e,t){let n=e.split("/"),r=t.split("/");for(let e=0;e<n.length&&e<r.length;e++){let t=tG(n[e],r[e]);if(0!==t)return t}return tG(n.length,r.length)}(e.referenceValue,t.referenceValue);case 8:let m;return i=e.geoPointValue,s=t.geoPointValue,0!==(m=tG(rG(i.latitude),rG(s.latitude)))?m:tG(rG(i.longitude),rG(s.longitude));case 9:return is(e.arrayValue,t.arrayValue);case 10:let g,p,y,w,v;return a=e.mapValue,o=t.mapValue,g=a.fields||{},p=o.fields||{},y=g[r8]?.arrayValue,w=p[r8]?.arrayValue,0!==(v=tG(y?.values?.length||0,w?.values?.length||0))?v:is(y,w);case 11:return function(e,t){if(e===r4.mapValue&&t===r4.mapValue)return 0;if(e===r4.mapValue)return 1;if(t===r4.mapValue)return -1;let n=e.fields||{},r=Object.keys(n),i=t.fields||{},s=Object.keys(i);r.sort(),s.sort();for(let e=0;e<r.length&&e<s.length;++e){let t=tK(r[e],s[e]);if(0!==t)return t;let a=ir(n[r[e]],i[s[e]]);if(0!==a)return a}return tG(r.length,s.length)}(e.mapValue,t.mapValue);default:throw tD(23264,{he:l})}}function ii(e,t){if("string"==typeof e&&"string"==typeof t&&e.length===t.length)return tG(e,t);let n=r$(e),r=r$(t),i=tG(n.seconds,r.seconds);return 0!==i?i:tG(n.nanos,r.nanos)}function is(e,t){let n=e.values||[],r=t.values||[];for(let e=0;e<n.length&&e<r.length;++e){let t=ir(n[e],r[e]);if(t)return t}return tG(n.length,r.length)}function ia(e){var t,n;let r;return"nullValue"in e?"null":"booleanValue"in e?""+e.booleanValue:"integerValue"in e?""+e.integerValue:"doubleValue"in e?""+e.doubleValue:"timestampValue"in e?(r=r$(e.timestampValue),`time(${r.seconds},${r.nanos}
15)`):"stringValue"in e?e.stringValue:"bytesValue"in e?rK(e.bytesValue).toBase64():"referenceValue"in e?(t=e.referenceValue,t0.fromName(t).toString()):"geoPointValue"in e?(n=e.geoPointValue,`geo(${n.latitude},${n.longitude})`):"arrayValue"in e?function(e){let t="[",n=!0;for(let r of e.values||[])n?n=!1:t+=",",t+=ia(r);return t+"]"}(e.arrayValue):"mapValue"in e?function(e){let t=Object.keys(e.fields||{}).sort(),n="{",r=!0;for(let i of t)r?r=!1:n+=",",n+=`${i}:${ia(e.fields[i])}`;return n+"}"}(e.mapValue):tD(61005,{value:e})}function io(e,t){return{referenceValue:`projects/${e.projectId}/databases/${e.database}/documents/${t.path.canonicalString()}`}}function il(e){return!!e&&"integerValue"in e}function iu(e){return!!e&&"arrayValue"in e}function ih(e){return!!e&&"nullValue"in e}function ic(e){return!!e&&"doubleValue"in e&&isNaN(Number(e.doubleValue))}function id(e){return!!e&&"mapValue"in e}function im(e){return(e?.mapValue?.fields||{})[r6]?.stringValue===r5}function ig(e){if(e.geoPointValue)return{geoPointValue:{...e.geoPointValue}};if(e.timestampValue&&"object"==typeof e.timestampValue)return{timestampValue:{...e.timestampValue}};if(e.mapValue){let t={mapValue:{fields:{}}};return rN(e.mapValue.fields,(e,n)=>t.mapValue.fields[e]=ig(n)),t}if(e.arrayValue){let t={arrayValue:{values:[]}};for(let n=0;n<(e.arrayValue.values||[]).length;++n)t.arrayValue.values[n]=ig(e.arrayValue.values[n]);return t}return{...e}}function ip(e){return(((e.mapValue||{}).fields||{}).__type__||{}).stringValue===r3}let iy={mapValue:{fields:{[r6]:{stringValue:r5},[r8]:{arrayValue:{}}}}};function iw(e,t){let n=ir(e.value,t.value);return 0!==n?n:e.inclusive&&!t.inclusive?-1:!e.inclusive&&t.inclusive?1:0}function iv(e,t){let n=ir(e.value,t.value);return 0!==n?n:e.inclusive&&!t.inclusive?1:!e.inclusive&&t.inclusive?-1:0}class ib{constructor(e){this.value=e}static empty(){return new ib({mapValue:{}})}field(e){if(e.isEmpty())return this.value;{let t=this.value;for(let n=0;n<e.length-1;++n)if(!id(t=(t.mapValue.fields||{})[e.get(n)]))return null;return(t=(t.mapValue.fields||{})[e.lastSegment()])||null}}set(e,t){this.getFieldsMap(e.popLast())[e.lastSegment()]=ig(t)}setAll(e){let t=tZ.emptyPath(),n={},r=[];e.forEach((e,i)=>{if(!t.isImmediateParentOf(i)){let e=this.getFieldsMap(t);this.applyChanges(e,n,r),n={},r=[],t=i.popLast()}e?n[i.lastSegment()]=ig(e):r.push(i.lastSegment())});let i=this.getFieldsMap(t);this.applyChanges(i,n,r)}delete(e){let t=this.field(e.popLast());id(t)&&t.mapValue.fields&&delete t.mapValue.fields[e.lastSegment()]}isEqual(e){return ie(this.value,e.value)}getFieldsMap(e){let t=this.value;t.mapValue.fields||(t.mapValue={fields:{}});for(let n=0;n<e.length;++n){let r=t.mapValue.fields[e.get(n)];id(r)&&r.mapValue.fields||(r={mapValue:{fields:{}}},t.mapValue.fields[e.get(n)]=r),t=r}return t.mapValue.fields}applyChanges(e,t,n){for(let r of(rN(t,(t,n)=>e[t]=n),n))delete e[r]}clone(){return new ib(ig(this.value))}}class iI{constructor(e,t,n,r,i,s,a){this.key=e,this.documentType=t,this.version=n,this.readTime=r,this.createTime=i,this.data=s,this.documentState=a}static newInvalidDocument(e){return new iI(e,0,nn.min(),nn.min(),nn.min(),ib.empty(),0)}static newFoundDocument(e,t,n,r){return new iI(e,1,t,nn.min(),n,r,0)}static newNoDocument(e,t){return new iI(e,2,t,nn.min(),nn.min(),ib.empty(),0)}static newUnknownDocument(e,t){return new iI(e,3,t,nn.min(),nn.min(),ib.empty(),2)}convertToFoundDocument(e,t){return this.createTime.isEqual(nn.min())&&(2===this.documentType||0===this.documentType)&&(this.createTime=e),this.version=e,this.documentType=1,this.data=t,this.documentState=0,this}convertToNoDocument(e){return this.version=e,this.documentType=2,this.data=ib.empty(),this.documentState=0,this}convertToUnknownDocument(e){return this.version=e,this.documentType=3,this.data=ib.empty(),this.documentState=2,this}setHasCommittedMutations(){return this.documentState=2,this}setHasLocalMutations(){return this.documentState=1,this.version=nn.min(),this}setReadTime(e){return this.readTime=e,this}get hasLocalMutations(){return 1===this.documentState}get hasCommittedMutations(){return 2===this.documentState}get hasPendingWrites(){return this.hasLocalMutations||this.hasCommittedMutations}isValidDocument(){return 0!==this.documentType}isFoundDocument(){return 1===this.documentType}isNoDocument(){return 2===this.documentType}isUnknownDocument(){return 3===this.documentType}isEqual(e){return e instanceof iI&&this.key.isEqual(e.key)&&this.version.isEqual(e.version)&&this.documentType===e.documentType&&this.documentState===e.documentState&&this.data.isEqual(e.data)}mutableCopy(){return new iI(this.key,this.documentType,this.version,this.readTime,this.createTime,this.data.clone(),this.documentState)}toString(){return`Document(${this.key}, ${this.version}, ${JSON.stringify(this.data.value)}, {createTime: ${this.createTime}}), {documentType: ${this.documentType}}), {documentState: ${this.documentState}})`}}
15class i_{constructor(e,t){this.position=e,this.inclusive=t}}function iE(e,t,n){let r=0;for(let i=0;i<e.position.length;i++){let s=t[i],a=e.position[i];if(r=s.field.isKeyField()?t0.comparator(t0.fromName(a.referenceValue),n.key):ir(a,n.data.field(s.field)),"desc"===s.dir&&(r*=-1),0!==r)break}return r}function iT(e,t){if(null===e)return null===t;if(null===t||e.inclusive!==t.inclusive||e.position.length!==t.position.length)return!1;for(let n=0;n<e.position.length;n++)if(!ie(e.position[n],t.position[n]))return!1;return!0}class iS{constructor(e,t="asc"){this.field=e,this.dir=t}}class iC{}class ix extends iC{constructor(e,t,n){super(),this.field=e,this.op=t,this.value=n}static create(e,t,n){return e.isKeyField()?"in"===t||"not-in"===t?this.createKeyFieldInFilter(e,t,n):new iM(e,t,n):"array-contains"===t?new iV(e,n):"in"===t?new iB(e,n):"not-in"===t?new iU(e,n):"array-contains-any"===t?new iq(e,n):new ix(e,t,n)}static createKeyFieldInFilter(e,t,n){return"in"===t?new iL(e,n):new iP(e,n)}matches(e){let t=e.data.field(this.field);return"!="===this.op?null!==t&&void 0===t.nullValue&&this.matchesComparison(ir(t,this.value)):null!==t&&r9(this.value)===r9(t)&&this.matchesComparison(ir(t,this.value))}matchesComparison(e){switch(this.op){case"<":return e<0;case"<=":return e<=0;case"==":return 0===e;case"!=":return 0!==e;case">":return e>0;case">=":return e>=0;default:return tD(47266,{operator:this.op})}}isInequality(){return["<","<=",">",">=","!=","not-in"].indexOf(this.op)>=0}getFlattenedFilters(){return[this]}getFilters(){return[this]}}class iD extends iC{constructor(e,t){super(),this.filters=e,this.op=t,this.Pe=null}static create(e,t){return new iD(e,t)}matches(e){return iA(this)?void 0===this.filters.find(t=>!t.matches(e)):void 0!==this.filters.find(t=>t.matches(e))}getFlattenedFilters(){return null!==this.Pe||(this.Pe=this.filters.reduce((e,t)=>e.concat(t.getFlattenedFilters()),[])),this.Pe}getFilters(){return Object.assign([],this.filters)}}function iA(e){return"and"===e.op}function iN(e){return"or"===e.op}function ik(e){return iR(e)&&iA(e)}function iR(e){for(let t of e.filters)if(t instanceof iD)return!1;return!0}function iO(e,t){let n=e.filters.concat(t);return iD.create(n,e.op)}class iM extends ix{constructor(e,t,n){super(e,t,n),this.key=t0.fromName(n.referenceValue)}matches(e){let t=t0.comparator(e.key,this.key);return this.matchesComparison(t)}}class iL extends ix{constructor(e,t){super(e,"in",t),this.keys=iF("in",t)}matches(e){return this.keys.some(t=>t.isEqual(e.key))}}class iP extends ix{constructor(e,t){super(e,"not-in",t),this.keys=iF("not-in",t)}matches(e){return!this.keys.some(t=>t.isEqual(e.key))}}function iF(e,t){return(t.arrayValue?.values||[]).map(e=>t0.fromName(e.referenceValue))}class iV extends ix{constructor(e,t){super(e,"array-contains",t)}matches(e){let t=e.data.field(this.field);return iu(t)&&it(t.arrayValue,this.value)}}class iB extends ix{constructor(e,t){super(e,"in",t)}matches(e){let t=e.data.field(this.field);return null!==t&&it(this.value.arrayValue,t)}}class iU extends ix{constructor(e,t){super(e,"not-in",t)}matches(e){if(it(this.value.arrayValue,{nullValue:"NULL_VALUE"}))return!1;let t=e.data.field(this.field);return null!==t&&void 0===t.nullValue&&!it(this.value.arrayValue,t)}}class iq extends ix{constructor(e,t){super(e,"array-contains-any",t)}matches(e){let t=e.data.field(this.field);return!(!iu(t)||!t.arrayValue.values)&&t.arrayValue.values.some(e=>it(this.value.arrayValue,e))}}class ij{constructor(e,t=null,n=[],r=[],i=null,s=null,a=null){this.path=e,this.collectionGroup=t,this.orderBy=n,this.filters=r,this.limit=i,this.startAt=s,this.endAt=a,this.Te=null}}function iz(e,t=null,n=[],r=[],i=null,s=null,a=null){return new ij(e,t,n,r,i,s,a)}function i$(e){if(null===e.Te){let t=e.path.canonicalString();null!==e.collectionGroup&&(t+="|cg:"+e.collectionGroup),t+="|f:",t+=e.filters.map(e=>(function e(t){if(t instanceof ix)return t.field.canonicalString()+t.op.toString()+ia(t.value);if(ik(t))return t.filters.map(t=>e(t)).join(",");{let n=t.filters.map(t=>e(t)).join(",");return`${t.op}(${n})`}})(e)).join(","),t+="|ob:",t+=e.orderBy.map(e=>e.field.canonicalString()+e.dir).join(","),nR(e.limit)||(t+="|l:",t+=e.limit),e.startAt&&(t+="|lb:",t+=e.startAt.inclusive?"b:":"a:",t+=e.startAt.position.map(e=>ia(e)).join(",")),e.endAt&&(t+="|ub:",t+=e.endAt.inclusive?"a:":"b:",t+=e.endAt.position.map(e=>ia(e)).join(",")),e.Te=t}return e.Te}function iG(e,t){if(e.limit!==t.limit||e.orderBy.length!==t.orderBy.length)return!1;for(let i=0;i<e.orderBy.length;i++){var n,r;if(n=e.orderBy[i],r=t.orderBy[i],!(n.dir===r.dir&&n.field.isEqual(r.field)))return!1}if(e.filters.length!==t.filters.length)return!1;for(let n=0;n<e.filters.length;n++)if(!function e(t,n){return t instanceof ix?n instanceof ix&&t.op===n.op&&t.field.isEqual(n.field)&&ie(t.value,n.value):t instanceof iD?n instanceof iD&&t.op===n.op&&t.filters.length===n.filters.length&&t.filters.reduce((t,r,i)=>t&&e(r,n.filters[i]),!0):void tD(19439)}(e.filters[n],t.filters[n]))return!1;return e.collectionGroup===t.collectionGroup&&!!e.path.isEqual(t.path)&&!!iT(e.startAt,t.startAt)&&iT(e.endAt,t.endAt)}function iK(e){return t0.isDocumentKey(e.path)&&null===e.collectionGroup&&0===e.filters.length}function iQ(e,t){return e.filters.filter(e=>e instanceof ix&&e.field.isEqual(t))}
15function iH(e,t,n){let r=r7,i=!0;for(let n of iQ(e,t)){let e=r7,t=!0;switch(n.op){case"<":case"<=":var s;e="nullValue"in(s=n.value)?r7:"booleanValue"in s?{booleanValue:!1}:"integerValue"in s||"doubleValue"in s?{doubleValue:NaN}:"timestampValue"in s?{timestampValue:{seconds:Number.MIN_SAFE_INTEGER}}:"stringValue"in s?{stringValue:""}:"bytesValue"in s?{bytesValue:""}:"referenceValue"in s?io(r2.empty(),t0.empty()):"geoPointValue"in s?{geoPointValue:{latitude:-90,longitude:-180}}:"arrayValue"in s?{arrayValue:{}}:"mapValue"in s?im(s)?iy:{mapValue:{}}:tD(35942,{value:s});break;case"==":case"in":case">=":e=n.value;break;case">":e=n.value,t=!1;break;case"!=":case"not-in":e=r7}0>iw({value:r,inclusive:i},{value:e,inclusive:t})&&(r=e,i=t)}if(null!==n){for(let s=0;s<e.orderBy.length;++s)if(e.orderBy[s].field.isEqual(t)){let e=n.position[s];0>iw({value:r,inclusive:i},{value:e,inclusive:n.inclusive})&&(r=e,i=n.inclusive);break}}return{value:r,inclusive:i}}function iW(e,t,n){let r=r4,i=!0;for(let n of iQ(e,t)){let e=r4,t=!0;switch(n.op){case">=":case">":var s;e="nullValue"in(s=n.value)?{booleanValue:!1}:"booleanValue"in s?{doubleValue:NaN}:"integerValue"in s||"doubleValue"in s?{timestampValue:{seconds:Number.MIN_SAFE_INTEGER}}:"timestampValue"in s?{stringValue:""}:"stringValue"in s?{bytesValue:""}:"bytesValue"in s?io(r2.empty(),t0.empty()):"referenceValue"in s?{geoPointValue:{latitude:-90,longitude:-180}}:"geoPointValue"in s?{arrayValue:{}}:"arrayValue"in s?iy:"mapValue"in s?im(s)?{mapValue:{}}:r4:tD(61959,{value:s}),t=!1;break;case"==":case"in":case"<=":e=n.value;break;case"<":e=n.value,t=!1;break;case"!=":case"not-in":e=r4}iv({value:r,inclusive:i},{value:e,inclusive:t})>0&&(r=e,i=t)}if(null!==n){for(let s=0;s<e.orderBy.length;++s)if(e.orderBy[s].field.isEqual(t)){let e=n.position[s];iv({value:r,inclusive:i},{value:e,inclusive:n.inclusive})>0&&(r=e,i=n.inclusive);break}}return{value:r,inclusive:i}}class iJ{constructor(e,t=null,n=[],r=[],i=null,s="F",a=null,o=null){this.path=e,this.collectionGroup=t,this.explicitOrderBy=n,this.filters=r,this.limit=i,this.limitType=s,this.startAt=a,this.endAt=o,this.Ie=null,this.Ee=null,this.Re=null,this.startAt,this.endAt}}function iY(e){return new iJ(e)}function iX(e){return 0===e.filters.length&&null===e.limit&&null==e.startAt&&null==e.endAt&&(0===e.explicitOrderBy.length||1===e.explicitOrderBy.length&&e.explicitOrderBy[0].field.isKeyField())}function iZ(e){return null!==e.collectionGroup}function i0(e){if(null===e.Ie){let t;e.Ie=[];let n=new Set;for(let t of e.explicitOrderBy)e.Ie.push(t),n.add(t.field.canonicalString());let r=e.explicitOrderBy.length>0?e.explicitOrderBy[e.explicitOrderBy.length-1].dir:"asc";(t=new rP(tZ.comparator),e.filters.forEach(e=>{e.getFlattenedFilters().forEach(e=>{e.isInequality()&&(t=t.add(e.field))})}),t).forEach(t=>{n.has(t.canonicalString())||t.isKeyField()||e.Ie.push(new iS(t,r))}),n.has(tZ.keyField().canonicalString())||e.Ie.push(new iS(tZ.keyField(),r))}return e.Ie}function i1(e){return e.Ee||(e.Ee=i6(e,i0(e))),e.Ee}function i2(e){return e.Re||(e.Re=i6(e,e.explicitOrderBy)),e.Re}function i6(e,t){if("F"===e.limitType)return iz(e.path,e.collectionGroup,t,e.filters,e.limit,e.startAt,e.endAt);{t=t.map(e=>{let t="desc"===e.dir?"asc":"desc";return new iS(e.field,t)});let n=e.endAt?new i_(e.endAt.position,e.endAt.inclusive):null,r=e.startAt?new i_(e.startAt.position,e.startAt.inclusive):null;return iz(e.path,e.collectionGroup,t,e.filters,e.limit,n,r)}}function i3(e,t){let n=e.filters.concat([t]);return new iJ(e.path,e.collectionGroup,e.explicitOrderBy.slice(),n,e.limit,e.limitType,e.startAt,e.endAt)}function i4(e,t,n){return new iJ(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),t,n,e.startAt,e.endAt)}function i5(e,t){return iG(i1(e),i1(t))&&e.limitType===t.limitType}function i8(e){return`${i$(i1(e))}|lt:${e.limitType}`}function i7(e){var t;let n;return`Query(target=${n=(t=i1(e)).path.canonicalString(),null!==t.collectionGroup&&(n+=" collectionGroup="+t.collectionGroup),t.filters.length>0&&(n+=`, filters: [${t.filters.map(e=>(function e(t){return t instanceof ix?`${t.field.canonicalString()} ${t.op} ${ia(t.value)}`:t instanceof iD?t.op.toString()+" {"+t.getFilters().map(e).join(" ,")+"}":"Filter"})(e)).join(", ")}]`),nR(t.limit)||(n+=", limit: "+t.limit),t.orderBy.length>0&&(n+=`, orderBy: [${t.orderBy.map(e=>`${e.field.canonicalString()} (${e.dir})`).join(", ")}]`),t.startAt&&(n+=", startAt: ",n+=t.startAt.inclusive?"b:":"a:",n+=t.startAt.position.map(e=>ia(e)).join(",")),t.endAt&&(n+=", endAt: ",n+=t.endAt.inclusive?"a:":"b:",n+=t.endAt.position.map(e=>ia(e)).join(",")),`Target(${n})`}; limitType=${e.limitType})`}function i9(e,t){var n,r,i,s;let a,o,l;
15return t.isFoundDocument()&&(a=t.key.path,null!==e.collectionGroup?t.key.hasCollectionId(e.collectionGroup)&&e.path.isPrefixOf(a):t0.isDocumentKey(e.path)?e.path.isEqual(a):e.path.isImmediateParentOf(a))&&function(e,t){for(let n of i0(e))if(!n.field.isKeyField()&&null===t.data.field(n.field))return!1;return!0}(e,t)&&function(e,t){for(let n of e.filters)if(!n.matches(t))return!1;return!0}(e,t)&&(n=e,r=t,(!n.startAt||(i=n.startAt,o=iE(i,i0(n),r),i.inclusive?!!(o<=0):!!(o<0)))&&(!n.endAt||(s=n.endAt,l=iE(s,i0(n),r),s.inclusive?!!(l>=0):!!(l>0))))}function se(e){return e.collectionGroup||(e.path.length%2==1?e.path.lastSegment():e.path.get(e.path.length-2))}function st(e){return(t,n)=>{let r=!1;for(let i of i0(e)){let e=function(e,t,n){var r;let i,s,a=e.field.isKeyField()?t0.comparator(t.key,n.key):(r=e.field,i=t.data.field(r),s=n.data.field(r),null!==i&&null!==s?ir(i,s):tD(42886));switch(e.dir){case"asc":return a;case"desc":return -1*a;default:return tD(19790,{direction:e.dir})}}(i,t,n);if(0!==e)return e;r=r||i.field.isKeyField()}return 0}}class sn{constructor(e,t){this.mapKeyFn=e,this.equalsFn=t,this.inner={},this.innerSize=0}get(e){let t=this.mapKeyFn(e),n=this.inner[t];if(void 0!==n){for(let[t,r]of n)if(this.equalsFn(t,e))return r}}has(e){return void 0!==this.get(e)}set(e,t){let n=this.mapKeyFn(e),r=this.inner[n];if(void 0===r)return this.inner[n]=[[e,t]],void this.innerSize++;for(let n=0;n<r.length;n++)if(this.equalsFn(r[n][0],e))return void(r[n]=[e,t]);r.push([e,t]),this.innerSize++}delete(e){let t=this.mapKeyFn(e),n=this.inner[t];if(void 0===n)return!1;for(let r=0;r<n.length;r++)if(this.equalsFn(n[r][0],e))return 1===n.length?delete this.inner[t]:n.splice(r,1),this.innerSize--,!0;return!1}forEach(e){rN(this.inner,(t,n)=>{for(let[t,r]of n)e(t,r)})}isEmpty(){return rR(this.inner)}size(){return this.innerSize}}let sr=new rO(t0.comparator),si=new rO(t0.comparator);function ss(...e){let t=si;for(let n of e)t=t.insert(n.key,n);return t}function sa(e){let t=si;return e.forEach((e,n)=>t=t.insert(e,n.overlayedDocument)),t}function so(){return new sn(e=>e.toString(),(e,t)=>e.isEqual(t))}let sl=new rO(t0.comparator),su=new rP(t0.comparator);function sh(...e){let t=su;for(let n of e)t=t.add(n);return t}let sc=new rP(tG);function sd(e,t){if(e.useProto3Json){if(isNaN(t))return{doubleValue:"NaN"};if(t===1/0)return{doubleValue:"Infinity"};if(t===-1/0)return{doubleValue:"-Infinity"}}return{doubleValue:nO(t)?"-0":t}}function sf(e){return{integerValue:""+e}}function sm(e,t){return nM(t)?sf(t):sd(e,t)}class sg{constructor(){this._=void 0}}function sp(e,t){return e instanceof s_?il(t)||t&&"doubleValue"in t?t:{integerValue:0}:null}class sy extends sg{}class sw extends sg{constructor(e){super(),this.elements=e}}function sv(e,t){let n=sT(t);for(let t of e.elements)n.some(e=>ie(e,t))||n.push(t);return{arrayValue:{values:n}}}class sb extends sg{constructor(e){super(),this.elements=e}}function sI(e,t){let n=sT(t);for(let t of e.elements)n=n.filter(e=>!ie(e,t));return{arrayValue:{values:n}}}class s_ extends sg{constructor(e,t){super(),this.serializer=e,this.Ae=t}}function sE(e){return rG(e.integerValue||e.doubleValue)}function sT(e){return iu(e)&&e.arrayValue.values?e.arrayValue.values.slice():[]}class sS{constructor(e,t){this.field=e,this.transform=t}}class sC{constructor(e,t){this.version=e,this.transformResults=t}}class sx{constructor(e,t){this.updateTime=e,this.exists=t}static none(){return new sx}static exists(e){return new sx(void 0,e)}static updateTime(e){return new sx(e)}get isNone(){return void 0===this.updateTime&&void 0===this.exists}isEqual(e){return this.exists===e.exists&&(this.updateTime?!!e.updateTime&&this.updateTime.isEqual(e.updateTime):!e.updateTime)}}function sD(e,t){return void 0!==e.updateTime?t.isFoundDocument()&&t.version.isEqual(e.updateTime):void 0===e.exists||e.exists===t.isFoundDocument()}class sA{}function sN(e,t){if(!e.hasLocalMutations||t&&0===t.fields.length)return null;if(null===t)return e.isNoDocument()?new sV(e.key,sx.none()):new sO(e.key,e.data,sx.none());{let n=e.data,r=ib.empty(),i=new rP(tZ.comparator);for(let e of t.fields)if(!i.has(e)){let t=n.field(e);null===t&&e.length>1&&(e=e.popLast(),t=n.field(e)),null===t?r.delete(e):r.set(e,t),i=i.add(e)}return new sM(e.key,r,new rB(i.toArray()),sx.none())}}function sk(e,t,n,r){return e instanceof sO?function(e,t,n,r){if(!sD(e.precondition,t))return n;let i=e.value.clone(),s=sF(e.fieldTransforms,r,t);return i.setAll(s),t.convertToFoundDocument(t.version,i).setHasLocalMutations(),null}(e,t,n,r):e instanceof sM?function(e,t,n,r){if(!sD(e.precondition,t))return n;let i=sF(e.fieldTransforms,r,t),s=t.data;return(s.setAll(sL(e)),s.setAll(i),t.convertToFoundDocument(t.version,s).setHasLocalMutations(),null===n)?null:n.unionWith(e.fieldMask.fields).unionWith(e.fieldTransforms.map(e=>e.field))}(e,t,n,r):sD(e.precondition,t)?(t.convertToNoDocument(t.version).setHasLocalMutations(),null):n}function sR(e,t){var n,r;return e.type===t.type&&!!e.key.isEqual(t.key)&&!!e.precondition.isEqual(t.precondition)&&(n=e.fieldTransforms,r=t.fieldTransforms,!!(void 0===n&&void 0===r||!(!n||!r)&&tH(n,r,(e,t)=>{var n,r;return e.field.isEqual(t.field)&&(n=e.transform,r=t.transform,n instanceof sw&&r instanceof sw||n instanceof sb&&r instanceof sb?tH(n.elements,r.elements,ie):n instanceof s_&&r instanceof s_?ie(n.Ae,r.Ae):n instanceof sy&&r instanceof sy)})))&&(0===e.type?e.value.isEqual(t.value):1!==e.type||e.data.isEqual(t.data)&&e.fieldMask.isEqual(t.fieldMask))}class sO extends sA{constructor(e,t,n,r=[]){super(),this.key=e,this.value=t,this.prec
15ondition=n,this.fieldTransforms=r,this.type=0}getFieldMask(){return null}}class sM extends sA{constructor(e,t,n,r,i=[]){super(),this.key=e,this.data=t,this.fieldMask=n,this.precondition=r,this.fieldTransforms=i,this.type=1}getFieldMask(){return this.fieldMask}}function sL(e){let t=new Map;return e.fieldMask.fields.forEach(n=>{if(!n.isEmpty()){let r=e.data.field(n);t.set(n,r)}}),t}function sP(e,t,n){let r=new Map;tN(e.length===n.length,32656,{Ve:n.length,de:e.length});for(let s=0;s<n.length;s++){var i;let a=e[s],o=a.transform,l=t.data.field(a.field);r.set(a.field,(i=n[s],o instanceof sw?sv(o,l):o instanceof sb?sI(o,l):i))}return r}function sF(e,t,n){let r=new Map;for(let i of e){let e=i.transform,s=n.data.field(i.field);r.set(i.field,function(e,t,n){var r;let i,s,a;return e instanceof sy?(r=t,i={fields:{[rH]:{stringValue:rQ},[rJ]:{timestampValue:{seconds:n.seconds,nanos:n.nanoseconds}}}},r&&rY(r)&&(r=rX(r)),r&&(i.fields[rW]=r),{mapValue:i}):e instanceof sw?sv(e,t):e instanceof sb?sI(e,t):(a=sE(s=sp(e,t))+sE(e.Ae),il(s)&&il(e.Ae)?sf(a):sd(e.serializer,a))}(e,s,t))}return r}class sV extends sA{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=2,this.fieldTransforms=[]}getFieldMask(){return null}}class sB extends sA{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=3,this.fieldTransforms=[]}getFieldMask(){return null}}class sU{constructor(e,t,n,r){this.batchId=e,this.localWriteTime=t,this.baseMutations=n,this.mutations=r}applyToRemoteDocument(e,t){let n=t.mutationResults;for(let t=0;t<this.mutations.length;t++){let r=this.mutations[t];r.key.isEqual(e.key)&&function(e,t,n){let r,i;e instanceof sO?(r=e.value.clone(),i=sP(e.fieldTransforms,t,n.transformResults),r.setAll(i),t.convertToFoundDocument(n.version,r).setHasCommittedMutations()):e instanceof sM?function(e,t,n){if(!sD(e.precondition,t))return t.convertToUnknownDocument(n.version);let r=sP(e.fieldTransforms,t,n.transformResults),i=t.data;i.setAll(sL(e)),i.setAll(r),t.convertToFoundDocument(n.version,i).setHasCommittedMutations()}(e,t,n):t.convertToNoDocument(n.version).setHasCommittedMutations()}(r,e,n[t])}}applyToLocalView(e,t){for(let n of this.baseMutations)n.key.isEqual(e.key)&&(t=sk(n,e,t,this.localWriteTime));for(let n of this.mutations)n.key.isEqual(e.key)&&(t=sk(n,e,t,this.localWriteTime));return t}applyToLocalDocumentSet(e,t){let n=so();return this.mutations.forEach(r=>{let i=e.get(r.key),s=i.overlayedDocument,a=this.applyToLocalView(s,i.mutatedFields),o=sN(s,a=t.has(r.key)?null:a);null!==o&&n.set(r.key,o),s.isValidDocument()||s.convertToNoDocument(nn.min())}),n}keys(){return this.mutations.reduce((e,t)=>e.add(t.key),sh())}isEqual(e){return this.batchId===e.batchId&&tH(this.mutations,e.mutations,(e,t)=>sR(e,t))&&tH(this.baseMutations,e.baseMutations,(e,t)=>sR(e,t))}}class sq{constructor(e,t,n,r){this.batch=e,this.commitVersion=t,this.mutationResults=n,this.docVersions=r}static from(e,t,n){tN(e.mutations.length===n.length,58842,{me:e.mutations.length,fe:n.length});let r=sl,i=e.mutations;for(let e=0;e<i.length;e++)r=r.insert(i[e].key,n[e].version);return new sq(e,t,n,r)}}class sj{constructor(e,t){this.largestBatchId=e,this.mutation=t}getKey(){return this.mutation.key}isEqual(e){return null!==e&&this.mutation===e.mutation}toString(){return`Overlay{
16      largestBatchId: ${this.largestBatchId},
17      mutation: ${this.mutation.toString()}
18    }`}}class sz{constructor(e,t,n){this.alias=e,this.aggregateType=t,this.fieldPath=n}}class s${constructor(e,t){this.count=e,this.unchangedNames=t}}function sG(e){switch(e){case tR.OK:return tD(64938);case tR.CANCELLED:case tR.UNKNOWN:case tR.DEADLINE_EXCEEDED:case tR.RESOURCE_EXHAUSTED:case tR.INTERNAL:case tR.UNAVAILABLE:case tR.UNAUTHENTICATED:return!1;case tR.INVALID_ARGUMENT:case tR.NOT_FOUND:case tR.ALREADY_EXISTS:case tR.PERMISSION_DENIED:case tR.FAILED_PRECONDITION:case tR.ABORTED:case tR.OUT_OF_RANGE:case tR.UNIMPLEMENTED:case tR.DATA_LOSS:return!0;default:return tD(15467,{code:e})}}function sK(e){if(void 0===e)return tS("GRPC error has no .code"),tR.UNKNOWN;switch(e){case p.OK:return tR.OK;case p.CANCELLED:return tR.CANCELLED;case p.UNKNOWN:return tR.UNKNOWN;case p.DEADLINE_EXCEEDED:return tR.DEADLINE_EXCEEDED;case p.RESOURCE_EXHAUSTED:return tR.RESOURCE_EXHAUSTED;case p.INTERNAL:return tR.INTERNAL;case p.UNAVAILABLE:return tR.UNAVAILABLE;case p.UNAUTHENTICATED:return tR.UNAUTHENTICATED;case p.INVALID_ARGUMENT:return tR.INVALID_ARGUMENT;case p.NOT_FOUND:return tR.NOT_FOUND;case p.ALREADY_EXISTS:return tR.ALREADY_EXISTS;case p.PERMISSION_DENIED:return tR.PERMISSION_DENIED;case p.FAILED_PRECONDITION:return tR.FAILED_PRECONDITION;case p.ABORTED:return tR.ABORTED;case p.OUT_OF_RANGE:return tR.OUT_OF_RANGE;
18case p.UNIMPLEMENTED:return tR.UNIMPLEMENTED;case p.DATA_LOSS:return tR.DATA_LOSS;default:return tD(39323,{code:e})}}(y=p||(p={}))[y.OK=0]="OK",y[y.CANCELLED=1]="CANCELLED",y[y.UNKNOWN=2]="UNKNOWN",y[y.INVALID_ARGUMENT=3]="INVALID_ARGUMENT",y[y.DEADLINE_EXCEEDED=4]="DEADLINE_EXCEEDED",y[y.NOT_FOUND=5]="NOT_FOUND",y[y.ALREADY_EXISTS=6]="ALREADY_EXISTS",y[y.PERMISSION_DENIED=7]="PERMISSION_DENIED",y[y.UNAUTHENTICATED=16]="UNAUTHENTICATED",y[y.RESOURCE_EXHAUSTED=8]="RESOURCE_EXHAUSTED",y[y.FAILED_PRECONDITION=9]="FAILED_PRECONDITION",y[y.ABORTED=10]="ABORTED",y[y.OUT_OF_RANGE=11]="OUT_OF_RANGE",y[y.UNIMPLEMENTED=12]="UNIMPLEMENTED",y[y.INTERNAL=13]="INTERNAL",y[y.UNAVAILABLE=14]="UNAVAILABLE",y[y.DATA_LOSS=15]="DATA_LOSS";let sQ=null;function sH(){return new TextEncoder}let sW=new a([0xffffffff,0xffffffff],0);function sJ(e){let t=sH().encode(e),n=new o;return n.update(t),new Uint8Array(n.digest())}function sY(e){let t=new DataView(e.buffer),n=t.getUint32(0,!0),r=t.getUint32(4,!0),i=t.getUint32(8,!0),s=t.getUint32(12,!0);return[new a([n,r],0),new a([i,s],0)]}class sX{constructor(e,t,n){if(this.bitmap=e,this.padding=t,this.hashCount=n,t<0||t>=8)throw new sZ(`Invalid padding: ${t}`);if(n<0||e.length>0&&0===this.hashCount)throw new sZ(`Invalid hash count: ${n}`);if(0===e.length&&0!==t)throw new sZ(`Invalid padding when bitmap length is 0: ${t}`);this.ge=8*e.length-t,this.pe=a.fromNumber(this.ge)}ye(e,t,n){let r=e.add(t.multiply(a.fromNumber(n)));return 1===r.compare(sW)&&(r=new a([r.getBits(0),r.getBits(1)],0)),r.modulo(this.pe).toNumber()}we(e){return!!(this.bitmap[Math.floor(e/8)]&1<<e%8)}mightContain(e){if(0===this.ge)return!1;let[t,n]=sY(sJ(e));for(let e=0;e<this.hashCount;e++){let r=this.ye(t,n,e);if(!this.we(r))return!1}return!0}static create(e,t,n){let r=new sX(new Uint8Array(Math.ceil(e/8)),e%8==0?0:8-e%8,t);return n.forEach(e=>r.insert(e)),r}insert(e){if(0===this.ge)return;let[t,n]=sY(sJ(e));for(let e=0;e<this.hashCount;e++){let r=this.ye(t,n,e);this.be(r)}}be(e){let t=Math.floor(e/8);this.bitmap[t]|=1<<e%8}}class sZ extends Error{constructor(){super(...arguments),this.name="BloomFilterError"}}class s0{constructor(e,t,n,r,i){this.snapshotVersion=e,this.targetChanges=t,this.targetMismatches=n,this.documentUpdates=r,this.resolvedLimboDocuments=i}static createSynthesizedRemoteEventForCurrentChange(e,t,n){let r=new Map;return r.set(e,s1.createSynthesizedTargetChangeForCurrentChange(e,t,n)),new s0(nn.min(),r,new rO(tG),sr,sh())}}class s1{constructor(e,t,n,r,i){this.resumeToken=e,this.current=t,this.addedDocuments=n,this.modifiedDocuments=r,this.removedDocuments=i}static createSynthesizedTargetChangeForCurrentChange(e,t,n){return new s1(n,t,sh(),sh(),sh())}}class s2{constructor(e,t,n,r){this.Se=e,this.removedTargetIds=t,this.key=n,this.De=r}}class s6{constructor(e,t){this.targetId=e,this.Ce=t}}class s3{constructor(e,t,n=rj.EMPTY_BYTE_STRING,r=null){this.state=e,this.targetIds=t,this.resumeToken=n,this.cause=r}}class s4{constructor(){this.ve=0,this.Fe=s7(),this.Me=rj.EMPTY_BYTE_STRING,this.xe=!1,this.Oe=!0}get current(){return this.xe}get resumeToken(){return this.Me}get Ne(){return 0!==this.ve}get Be(){return this.Oe}Le(e){e.approximateByteSize()>0&&(this.Oe=!0,this.Me=e)}ke(){let e=sh(),t=sh(),n=sh();return this.Fe.forEach((r,i)=>{switch(i){case 0:e=e.add(r);break;case 2:t=t.add(r);break;case 1:n=n.add(r);break;default:tD(38017,{changeType:i})}}),new s1(this.Me,this.xe,e,t,n)}Ke(){this.Oe=!1,this.Fe=s7()}qe(e,t){this.Oe=!0,this.Fe=this.Fe.insert(e,t)}Ue(e){this.Oe=!0,this.Fe=this.Fe.remove(e)}$e(){this.ve+=1}We(){this.ve-=1,tN(this.ve>=0,3241,{ve:this.ve})}Qe(){this.Oe=!0,this.xe=!0}}class s5{constructor(e){this.Ge=e,this.ze=new Map,this.je=sr,this.He=s8(),this.Je=s8(),this.Ze=new rO(tG)}Xe(e){for(let t of e.Se)e.De&&e.De.isFoundDocument()?this.Ye(t,e.De):this.et(t,e.key,e.De);for(let t of e.removedTargetIds)this.et(t,e.key,e.De)}tt(e){this.forEachTarget(e,t=>{let n=this.nt(t);switch(e.state){case 0:this.rt(t)&&n.Le(e.resumeToken);break;case 1:n.We(),n.Ne||n.Ke(),n.Le(e.resumeToken);break;case 2:n.We(),n.Ne||this.removeTarget(t);break;case 3:this.rt(t)&&(n.Qe(),n.Le(e.resumeToken));break;case 4:this.rt(t)&&(this.it(t),n.Le(e.resumeToken));break;default:tD(56790,{state:e.state})}})}forEachTarget(e,t){e.targetIds.length>0?e.targetIds.forEach(t):this.ze.forEach((e,n)=>{this.rt(n)&&t(n)})}st(e){let t=e.targetId,n=e.Ce.count,r=this.ot(t);if(r){let a=r.target;if(iK(a))if(0===n){let e=new t0(a.path);this.et(t,e,iI.newNoDocument(e,nn.min()))}else tN(1===n,20013,{expectedCount:n});else{let r=this._t(t);if(r!==n){var i,s;let n,a,o=this.ut(e),l=o?this.ct(o,e,r):1;0!==l&&(this.it(t),this.Ze=this.Ze.insert(t,2===l?"TargetPurposeExistenceFilterMismatchBloom":"TargetPurposeExistenceFilterMismatch")),sQ?.lt((i=e.Ce,s=this.Ge.ht(),n={localCacheCount:r,existenceFilterCount:i.count,databaseId:s.database,projectId:s.projectId},(a=i.unchangedNames)&&(n.bloomFilter={applied:0===l,hashCount:a?.hashCount??0,bitmapLength:a?.bits?.bitmap?.length??0,padding:a?.bits?.padding??0,mightContain:e=>o?.mightContain(e)??!1}),n))}}}}ut(e){let t,n,r=e.Ce.unchangedNames;if(!r||!r.bits)return null;let{bits:{bitmap:i="",padding:s=0},hashCount:a=0}=r;try{t=rK(i).toUint8Array()}catch(e){if(e instanceof rU)return tC("Decoding the base64 bloom filter in existence filter failed ("+e.message+"); ignoring the bloom filter and falling back to full re-query."),null;throw e}try{n=new sX(t,s,a)}catch(e){return tC(e instanceof sZ?"BloomFilter error: ":"Applying bloom filter failed: ",e),null}return 0===n.ge?null:n}ct(e,t,n){return 2*(t.Ce.count!==n-this.Pt(e,t.targetId))}Pt(e,t){let n=this.Ge.getRemoteKeysForTarget(t),r=0;
18return n.forEach(n=>{let i=this.Ge.ht(),s=`projects/${i.projectId}/databases/${i.database}/documents/${n.path.canonicalString()}`;e.mightContain(s)||(this.et(t,n,null),r++)}),r}Tt(e){let t=new Map;this.ze.forEach((n,r)=>{let i=this.ot(r);if(i){if(n.current&&iK(i.target)){let t=new t0(i.target.path);this.It(t).has(r)||this.Et(r,t)||this.et(r,t,iI.newNoDocument(t,e))}n.Be&&(t.set(r,n.ke()),n.Ke())}});let n=sh();this.Je.forEach((e,t)=>{let r=!0;t.forEachWhile(e=>{let t=this.ot(e);return!t||"TargetPurposeLimboResolution"===t.purpose||(r=!1,!1)}),r&&(n=n.add(e))}),this.je.forEach((t,n)=>n.setReadTime(e));let r=new s0(e,t,this.Ze,this.je,n);return this.je=sr,this.He=s8(),this.Je=s8(),this.Ze=new rO(tG),r}Ye(e,t){if(!this.rt(e))return;let n=2*!!this.Et(e,t.key);this.nt(e).qe(t.key,n),this.je=this.je.insert(t.key,t),this.He=this.He.insert(t.key,this.It(t.key).add(e)),this.Je=this.Je.insert(t.key,this.Rt(t.key).add(e))}et(e,t,n){if(!this.rt(e))return;let r=this.nt(e);this.Et(e,t)?r.qe(t,1):r.Ue(t),this.Je=this.Je.insert(t,this.Rt(t).delete(e)),this.Je=this.Je.insert(t,this.Rt(t).add(e)),n&&(this.je=this.je.insert(t,n))}removeTarget(e){this.ze.delete(e)}_t(e){let t=this.nt(e).ke();return this.Ge.getRemoteKeysForTarget(e).size+t.addedDocuments.size-t.removedDocuments.size}$e(e){this.nt(e).$e()}nt(e){let t=this.ze.get(e);return t||(t=new s4,this.ze.set(e,t)),t}Rt(e){let t=this.Je.get(e);return t||(t=new rP(tG),this.Je=this.Je.insert(e,t)),t}It(e){let t=this.He.get(e);return t||(t=new rP(tG),this.He=this.He.insert(e,t)),t}rt(e){let t=null!==this.ot(e);return t||tT("WatchChangeAggregator","Detected inactive target",e),t}ot(e){let t=this.ze.get(e);return t&&t.Ne?null:this.Ge.At(e)}it(e){this.ze.set(e,new s4),this.Ge.getRemoteKeysForTarget(e).forEach(t=>{this.et(e,t,null)})}Et(e,t){return this.Ge.getRemoteKeysForTarget(e).has(t)}}function s8(){return new rO(t0.comparator)}function s7(){return new rO(t0.comparator)}let s9={asc:"ASCENDING",desc:"DESCENDING"},ae={"<":"LESS_THAN","<=":"LESS_THAN_OR_EQUAL",">":"GREATER_THAN",">=":"GREATER_THAN_OR_EQUAL","==":"EQUAL","!=":"NOT_EQUAL","array-contains":"ARRAY_CONTAINS",in:"IN","not-in":"NOT_IN","array-contains-any":"ARRAY_CONTAINS_ANY"},at={and:"AND",or:"OR"};class an{constructor(e,t){this.databaseId=e,this.useProto3Json=t}}function ar(e,t){return e.useProto3Json||nR(t)?t:{value:t}}function ai(e,t){return e.useProto3Json?`${new Date(1e3*t.seconds).toISOString().replace(/\.\d*/,"").replace("Z","")}.${("000000000"+t.nanoseconds).slice(-9)}Z`:{seconds:""+t.seconds,nanos:t.nanoseconds}}function as(e,t){return e.useProto3Json?t.toBase64():t.toUint8Array()}function aa(e){let t;return tN(!!e,49232),nn.fromTimestamp(new nt((t=r$(e)).seconds,t.nanos))}function ao(e,t){return al(e,t).canonicalString()}function al(e,t){let n=new tY(["projects",e.projectId,"databases",e.database]).child("documents");return void 0===t?n:n.child(t)}function au(e){let t=tY.fromString(e);return tN(aC(t),10190,{key:t.toString()}),t}function ah(e,t){return ao(e.databaseId,t.path)}function ac(e,t){let n=au(t);if(n.get(1)!==e.databaseId.projectId)throw new tO(tR.INVALID_ARGUMENT,"Tried to deserialize key from different project: "+n.get(1)+" vs "+e.databaseId.projectId);if(n.get(3)!==e.databaseId.database)throw new tO(tR.INVALID_ARGUMENT,"Tried to deserialize key from different database: "+n.get(3)+" vs "+e.databaseId.database);return new t0(ag(n))}function ad(e,t){return ao(e.databaseId,t)}function af(e){let t=au(e);return 4===t.length?tY.emptyPath():ag(t)}function am(e){return new tY(["projects",e.databaseId.projectId,"databases",e.databaseId.database]).canonicalString()}function ag(e){return tN(e.length>4&&"documents"===e.get(4),29091,{key:e.toString()}),e.popFirst(5)}function ap(e,t,n){return{name:ah(e,t),fields:n.value.mapValue.fields}}function ay(e,t,n){let r=ac(e,t.name),i=aa(t.updateTime),s=t.createTime?aa(t.createTime):nn.min(),a=new ib({mapValue:{fields:t.fields}}),o=iI.newFoundDocument(r,i,s,a);return n&&o.setHasCommittedMutations(),n?o.setHasCommittedMutations():o}function aw(e,t){var n,r;let i;if(t instanceof sO)i={update:ap(e,t.key,t.value)};else if(t instanceof sV)i={delete:ah(e,t.key)};else if(t instanceof sM){let n;i={update:ap(e,t.key,t.data),updateMask:(r=t.fieldMask,n=[],r.fields.forEach(e
18=>n.push(e.canonicalString())),{fieldPaths:n})}}else{if(!(t instanceof sB))return tD(16599,{dt:t.type});i={verify:ah(e,t.key)}}return t.fieldTransforms.length>0&&(i.updateTransforms=t.fieldTransforms.map(e=>(function(e,t){let n=t.transform;if(n instanceof sy)return{fieldPath:t.field.canonicalString(),setToServerValue:"REQUEST_TIME"};if(n instanceof sw)return{fieldPath:t.field.canonicalString(),appendMissingElements:{values:n.elements}};if(n instanceof sb)return{fieldPath:t.field.canonicalString(),removeAllFromArray:{values:n.elements}};if(n instanceof s_)return{fieldPath:t.field.canonicalString(),increment:n.Ae};throw tD(20930,{transform:t.transform})})(0,e))),t.precondition.isNone||(i.currentDocument=void 0!==(n=t.precondition).updateTime?{updateTime:ai(e,n.updateTime.toTimestamp())}:void 0!==n.exists?{exists:n.exists}:tD(27497)),i}function av(e,t){var n;let r=t.currentDocument?void 0!==(n=t.currentDocument).updateTime?sx.updateTime(aa(n.updateTime)):void 0!==n.exists?sx.exists(n.exists):sx.none():sx.none(),i=t.updateTransforms?t.updateTransforms.map(t=>{let n;return n=null,"setToServerValue"in t?(tN("REQUEST_TIME"===t.setToServerValue,16630,{proto:t}),n=new sy):"appendMissingElements"in t?n=new sw(t.appendMissingElements.values||[]):"removeAllFromArray"in t?n=new sb(t.removeAllFromArray.values||[]):"increment"in t?n=new s_(e,t.increment):tD(16584,{proto:t}),new sS(tZ.fromServerFormat(t.fieldPath),n)}):[];if(t.update){t.update.name;let n=ac(e,t.update.name),s=new ib({mapValue:{fields:t.update.fields}});return t.updateMask?new sM(n,s,new rB((t.updateMask.fieldPaths||[]).map(e=>tZ.fromServerFormat(e))),r,i):new sO(n,s,r,i)}return t.delete?new sV(ac(e,t.delete),r):t.verify?new sB(ac(e,t.verify),r):tD(1463,{proto:t})}function ab(e,t){return{documents:[ad(e,t.path)]}}function aI(e,t){var n,r;let i,s={structuredQuery:{}},a=t.path;null!==t.collectionGroup?(i=a,s.structuredQuery.from=[{collectionId:t.collectionGroup,allDescendants:!0}]):(i=a.popLast(),s.structuredQuery.from=[{collectionId:a.lastSegment()}]),s.parent=ad(e,i);let o=function(e){if(0!==e.length)return function e(t){var n;let r;return t instanceof ix?function(e){if("=="===e.op){if(ic(e.value))return{unaryFilter:{field:aT(e.field),op:"IS_NAN"}};if(ih(e.value))return{unaryFilter:{field:aT(e.field),op:"IS_NULL"}}}else if("!="===e.op){if(ic(e.value))return{unaryFilter:{field:aT(e.field),op:"IS_NOT_NAN"}};if(ih(e.value))return{unaryFilter:{field:aT(e.field),op:"IS_NOT_NULL"}}}return{fieldFilter:{field:aT(e.field),op:ae[e.op],value:e.value}}}(t):t instanceof iD?1===(r=(n=t).getFilters().map(t=>e(t))).length?r[0]:{compositeFilter:{op:at[n.op],filters:r}}:tD(54877,{filter:t})}(iD.create(e,"and"))}(t.filters);o&&(s.structuredQuery.where=o);let l=function(e){if(0!==e.length)return e.map(e=>({field:aT(e.field),direction:s9[e.dir]}))}(t.orderBy);l&&(s.structuredQuery.orderBy=l);let u=ar(e,t.limit);return null!==u&&(s.structuredQuery.limit=u),t.startAt&&(s.structuredQuery.startAt={before:(n=t.startAt).inclusive,values:n.position}),t.endAt&&(s.structuredQuery.endAt={before:!(r=t.endAt).inclusive,values:r.position}),{ft:s,parent:i}}function a_(e,t,n,r){let{ft:i,parent:s}=aI(e,t),a={},o=[],l=0;return n.forEach(e=>{let t=r?e.alias:"aggregate_"+l++;a[t]=e.alias,"count"===e.aggregateType?o.push({alias:t,count:{}}):"avg"===e.aggregateType?o.push({alias:t,avg:{field:aT(e.fieldPath)}}):"sum"===e.aggregateType&&o.push({alias:t,sum:{field:aT(e.fieldPath)}})}),{request:{structuredAggregationQuery:{aggregations:o,structuredQuery:i.structuredQuery},parent:i.parent},gt:a,parent:s}}function aE(e){var t,n,r;let i,s,a,o,l=af(e.parent),u=e.structuredQuery,h=u.from?u.from.length:0,c=null;if(h>0){tN(1===h,65062);let e=u.from[0];e.allDescendants?c=e.collectionId:l=l.child(e.collectionId)}let d=[];u.where&&(d=(i=function e(t){return void 0!==t.unaryFilter?function(e){switch(e.unaryFilter.op){case"IS_NAN":let t=aS(e.unaryFilter.field);return ix.create(t,"==",{doubleValue:NaN});case"IS_NULL":let n=aS(e.unaryFilter.field);return ix.create(n,"==",{nullValue:"NULL_VALUE"});case"IS_NOT_NAN":let r=aS(e.unaryFilter.field);return ix.create(r,"!=",{doubleValue:NaN});case"IS_NOT_NULL":let i=aS(e.unaryFilter.field);return ix.create(i,"!=",{nullValue:"NULL_VALUE"});case"OPERATOR_UNSPECIFIED":return tD(61313);default:return tD(60726)}}(t):void 0!==t.fieldFilter?ix.create(aS(t.fieldFilter.field),function(e){switch(e){case"EQUAL":return"==";case"NOT_EQUAL":return"!=";case"GREATER_THAN":return">";case"GREATER_THAN_OR_EQUAL":return">=";case"LESS_THAN":return"<";case"LESS_THAN_OR_EQUAL":return"<=";case"ARRAY_CONTAINS":return"array-contains";case"IN":return"in";case"NOT_IN":return"not-in";case"ARRAY_CONTAINS_ANY":return"array-contains-any";case"OPERATOR_UNSPECIFIED":return tD(58110);default:return tD(50506)}}(t.fieldFilter.op),t.fieldFilter.value):void 0!==t.compositeFilter?iD.create(t.compositeFilter.filters.map(t=>e(t)),function(e){switch(e){case"AND":return"and";case"OR":return"or";default:return tD(1026)}}(t.compositeFilter.op)):tD(30097,{filter:t})}(u.where))instanceof iD&&ik(i)?i.getFilters():[i]);let f=[];u.orderBy&&(f=u.orderBy.map(e=>new iS(aS(e.field),function(e){switch(e){case"ASCENDING":return"asc";case"DESCENDING":return"desc";default:return}}(e.direction))));let m=null;u.limit&&(m=nR(s="object"==typeof(t=u.limit)?t.value:t)?null:s);let g=null;u.startAt&&(a=!!(n=u.startAt).before,g=new i_(n.values||[],a));let p=null;return u.endAt&&(o=!(r=u.endAt).before,p=new i_(r.values||[],o)),new iJ(l,c,f,d,m,"F",g,p)}function aT(e){return{fieldPath:e.canonicalString()}}function aS(e){return tZ.fromServerFormat(e.fieldPath)}function aC(e){return e.length>=4&&"projects"===e.get(0)&&"databases"===e.get(2)}function ax(e){return!!e&&"function"==typeof e._toProto&&"ProtoValue"===e._protoValueType}class aD{constructor(e,t,n,r,i=nn.min(),s=nn.min(),a=rj.EMPTY_BYTE_STRING,o=null){this.target=e,this.targetId=t,this.purpose=n,this.sequenceNumber=r,this.snapshotVersion=i,this.lastLimboFreeSnapshotVersion=s,this.resumeToken=a,this.expectedCount=o}withSequenceNumber(e){return new aD(this.target,this.targetId,this.purpose,e,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken,this.expectedCount)}withResumeToken(e,t){return new aD(this.target,this.targetId,this.purpose,this.sequenceNumber,t,this.lastLimboFreeSnapshotVersion,e,null)}withExpectedCount(e){return new aD(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken,e)}withLastLimboFreeSnapshotVersion(e){return new aD(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,e,this.resumeToken,this.expectedCount)}}class aA{constructor(e){this.yt=e}}function aN(e,t){let n=t.key,r={prefixPath:n.getCollectionPath().popLast().toArray(),collectionGroup:n.collectionGroup,documentId:n.path.lastSegment(),readTime:ak(t.readTime),hasCommittedMutations:t.hasCommittedMutations};if(t.isFoundDocument()){var i;r.document={name:ah(i=e.yt,t.key),fields:t.data.value.mapValue.fields,updateTime:ai(i,t.version.toTimestamp()),createTime:ai(i,t.createTime.toTimestamp())}}else if(t.isNoDocument())r.noDocument={path:n.path.toArray(),readTime:aR(t.version)};else{if(!t.isUnknownDocument())return tD(57904,{document:t});r.unknownDocument={path:n.path.toArray(),version:aR(t.version)}}return r}function ak(e){let t=e.toTimestamp();return[t.seconds,t.nanoseconds]}function aR(e){let t=e.toTimestamp();return{seconds:t.seconds,nanoseconds:t.nanoseconds}}function aO(e){let t=new nt(e.seconds,e.nanoseconds);return nn.fromTimestamp(t)}function aM(e,t){let n=(t.baseMutations||[]).map(t=>av(e.yt,t));for(let e=0;e<t.mutations.length-1;++e){let n=t.mutations[e];e+1<t.mutations.length&&void 0!==t.mutations[e+1].transform&&(n.updateTransforms=t.mutations[e+1].transform.fieldTransforms,t.mutations.splice(e+1,1),++e)}let r=t.mutations.map(t=>av(e.yt,t)),i=nt.fromMillis(t.localWriteTimeMs);return new sU(t.batchId,i,n,r)}function aL(e){var t;let n,r=aO(e.readTime),i=void 0!==e.lastLimboFreeSnapshotVersion?aO(e.lastLimboFreeSnapshotVersion):nn.min();return new aD(void 0!==e.query.documents?(tN(1===(n=(t=e.query).documents.length),1966,{count:n}),i1(iY(af(t.documents[0])))):i1(aE(e.query)),e.targetId,"TargetPurposeListen",e.lastListenSequenceNumber,r,i,rj.fromBase64String(e.resumeToken))}function aP(e,t){let n,r=aR(t.snapshotVersion),i=aR(t.lastLimboFreeSnapshotVersion);n=iK(t.target)?ab(e.yt,t.target):aI(e.yt,t.target).ft;let s=t.resumeToken.toBase64();return{targetId:t.targetId,canonicalId:i$(t.target),readTime:r,resumeToken:s,lastListenSequenceNumber:t.sequenceNumber,lastLimboFreeSnapshotVersion:i,query:n}}function aF(e){let t=aE({parent:e.parent,structuredQuery:e.structuredQuery});return"LAST"===e.limitType?i4(t,t.limit,"L"):t}function aV(e,t){return new sj(t.largestBatchId,av(e.yt,t.overlayMutation))}function aB(e,t){let n=t.path.lastSegment();return[e,nL(t.path.popLast()),n]}function aU(e,t,n,r){return{indexId:e,uid:t,sequenceNumber:n,readTime:aR(r.readTime),documentKey:nL(r.documentKey.path),largestBatchId:r.largestBatchId}}class aq{getBundleMetadata(e,t){return rD(e,rr).get(t).next(e=>{if(e)return{id:e.bundleId,createTime:aO(e.createTime),version:e.version}})}saveBundleMetadata(e,t){return rD(e,rr).put({bundleId:t.id,createTime:aR(aa(t.createTime)),version:t.version})}getNamedQuery(e,t){return rD(e,ri).get(t).next(e=>{if(e)return{name:e.name,query:aF(e.bundledQuery),readTime:aO(e.readTime)}})}saveNamedQuery(e,t){return rD(e,ri).put({name:t.name,readTime:aR(aa(t.readTime)),bundledQuery:t.bundledQuery})}}
18class aj{constructor(e,t){this.serializer=e,this.userId=t}static wt(e,t){return new aj(e,t.uid||"")}getOverlay(e,t){return rD(e,rg).get(aB(this.userId,t)).next(e=>e?aV(this.serializer,e):null)}getOverlays(e,t){let n=so();return np.forEach(t,t=>this.getOverlay(e,t).next(e=>{null!==e&&n.set(t,e)})).next(()=>n)}saveOverlays(e,t,n){let r=[];return n.forEach((n,i)=>{let s=new sj(t,i);r.push(this.bt(e,s))}),np.waitFor(r)}removeOverlaysForBatchId(e,t,n){let r=new Set;t.forEach(e=>r.add(nL(e.getCollectionPath())));let i=[];return r.forEach(t=>{let r=IDBKeyRange.bound([this.userId,t,n],[this.userId,t,n+1],!1,!0);i.push(rD(e,rg).X(ry,r))}),np.waitFor(i)}getOverlaysForCollection(e,t,n){let r=so(),i=nL(t),s=IDBKeyRange.bound([this.userId,i,n],[this.userId,i,1/0],!0);return rD(e,rg).H(ry,s).next(e=>{for(let t of e){let e=aV(this.serializer,t);r.set(e.getKey(),e)}return r})}getOverlaysForCollectionGroup(e,t,n,r){let i,s=so(),a=IDBKeyRange.bound([this.userId,t,n],[this.userId,t,1/0],!0);return rD(e,rg).ee({index:rv,range:a},(e,t,n)=>{let a=aV(this.serializer,t);s.size()<r||a.largestBatchId===i?(s.set(a.getKey(),a),i=a.largestBatchId):n.done()}).next(()=>s)}bt(e,t){return rD(e,rg).put(function(e,t,n){let[r,i,s]=aB(t,n.mutation.key);return{userId:t,collectionPath:i,documentId:s,collectionGroup:n.mutation.key.getCollectionGroup(),largestBatchId:n.largestBatchId,overlayMutation:aw(e.yt,n.mutation)}}(this.serializer,this.userId,t))}}class az{St(e){return rD(e,rI)}getSessionToken(e){return this.St(e).get("sessionToken").next(e=>{let t=e?.value;return t?rj.fromUint8Array(t):rj.EMPTY_BYTE_STRING})}setSessionToken(e,t){return this.St(e).put({name:"sessionToken",value:t.toUint8Array()})}}class a${Dt(e,t){this.Ct(e,t),t.vt()}Ct(e,t){if("nullValue"in e)this.Ft(t,5);else if("booleanValue"in e)this.Ft(t,10),t.Mt(+!!e.booleanValue);else if("integerValue"in e)this.Ft(t,15),t.Mt(rG(e.integerValue));else if("doubleValue"in e){let n=rG(e.doubleValue);isNaN(n)?this.Ft(t,13):(this.Ft(t,15),nO(n)?t.Mt(0):t.Mt(n))}else if("timestampValue"in e){let n=e.timestampValue;this.Ft(t,20),"string"==typeof n&&(n=r$(n)),t.xt(`${n.seconds||""}`),t.Mt(n.nanos||0)}else if("stringValue"in e)this.Ot(e.stringValue,t),this.Nt(t);else if("bytesValue"in e)this.Ft(t,30),t.Bt(rK(e.bytesValue)),this.Nt(t);else if("referenceValue"in e)this.Lt(e.referenceValue,t);else if("geoPointValue"in e){let n=e.geoPointValue;this.Ft(t,45),t.Mt(n.latitude||0),t.Mt(n.longitude||0)}else"mapValue"in e?ip(e)?this.Ft(t,Number.MAX_SAFE_INTEGER):im(e)?this.kt(e.mapValue,t):(this.Kt(e.mapValue,t),this.Nt(t)):"arrayValue"in e?(this.qt(e.arrayValue,t),this.Nt(t)):tD(19022,{Ut:e})}Ot(e,t){this.Ft(t,25),this.$t(e,t)}$t(e,t){t.xt(e)}Kt(e,t){let n=e.fields||{};for(let e of(this.Ft(t,55),Object.keys(n)))this.Ot(e,t),this.Ct(n[e],t)}kt(e,t){let n=e.fields||{};this.Ft(t,53);let r=n[r8].arrayValue?.values?.length||0;this.Ft(t,15),t.Mt(rG(r)),this.Ot(r8,t),this.Ct(n[r8],t)}qt(e,t){let n=e.values||[];for(let e of(this.Ft(t,50),n))this.Ct(e,t)}Lt(e,t){this.Ft(t,37),t0.fromName(e).path.forEach(e=>{this.Ft(t,60),this.$t(e,t)})}Ft(e,t){e.Mt(t)}Nt(e){e.Mt(2)}}function aG(e){return Math.ceil((64-function(e){let t=0;for(let n=0;n<8;++n){let r=function(e){if(0===e)return 8;let t=0;return e>>4||(t+=4,e<<=4),e>>6||(t+=2,e<<=2),e>>7||(t+=1),t}(255&e[n]);if(t+=r,8!==r)break}return t}(e))/8)}a$.Wt=new a$;class aK{constructor(){this.buffer=new Uint8Array(1024),this.position=0}Qt(e){let t=e[Symbol.iterator](),n=t.next();for(;!n.done;)this.Gt(n.value),n=t.next();this.zt()}jt(e){let t=e[Symbol.iterator](),n=t.next();for(;!n.done;)this.Ht(n.value),n=t.next();this.Jt()}Zt(e){for(let t of e){let e=t.charCodeAt(0);if(e<128)this.Gt(e);else if(e<2048)this.Gt(960|e>>>6),this.Gt(128|63&e);else if(t<"\uD800"||"\uDBFF"<t)this.Gt(480|e>>>12),this.Gt(128|63&e>>>6),this.Gt(128|63&e);else{let e=t.codePointAt(0);this.Gt(240|e>>>18),this.Gt(128|63&e>>>12),this.Gt(128|63&e>>>6),this.Gt(128|63&e)}}this.zt()}Xt(e){for(let t of e){let e=t.charCodeAt(0);if(e<128)this.Ht(e);else if(e<2048)this.Ht(960|e>>>6),this.Ht(128|63&e);else if(t<"\uD800"||"\uDBFF"<t)this.Ht(480|e>>>12),this.Ht(128|63&e>>>6),this.Ht(128|63&e);else{let e=t.codePointAt(0);this.Ht(240|e>>>18),this.Ht(128|63&e>>>12),this.Ht(128|63&e>>>6),this.Ht(128|63&e)}}this.Jt()}Yt(e){let t=this.en(e),n=aG(t);this.tn(1+n),this.buffer[this.position++]=255&n;for(let e=t.length-n;e<t.length;++e)this.buffer[this.position++]=255&t[e]}nn(e){let t=this.en(e),n=aG(t);this.tn(1+n),this.buffer[this.position++]=~(255&n);for(let e=t.length-n;e<t.length;++e)this.buffer[this.position++]=~(255&t[e])}rn(){this.sn(255),this.sn(255)}_n(){this.an(255),this.an(255)}reset(){this.position=0}seed(e){this.tn(e.length),this.buffer.set(e,this.position),this.position+=e.length}un(){return this.buffer.slice(0,this.position)}en(e){let t,n=((t=new DataView(new ArrayBuffer(8))).setFloat64(0,e,!1),new Uint8Array(t.buffer)),r=!!(128&n[0]);n[0]^=r?255:128;for(let e=1;e<n.length;++e)n[e]^=255*!!r;return n}Gt(e){let t=255&e;0===t?(this.sn(0),this.sn(255)):255===t?(this.sn(255),this.sn(0)):this.sn(t)}Ht(e){let t=255&e;0===t?(this.an(0),this.an(255)):255===t?(this.an(255),this.an(0)):this.an(e)}zt(){this.sn(0),this.sn(1)}Jt(){this.an(0),this.an(1)}sn(e){this.tn(1),this.buffer[this.position++]=e}an(e){this.tn(1),this.buffer[this.position++]=~e}tn(e){let t=e+this.position;if(t<=this.buffer.length)return;let n=2*this.buffer.length;n<t&&(n=t);let r=new Uint8Array(n);r.set(this.buffer),this.buffer=r}}class aQ{constructor(e){this.cn=e}Bt(e){this.cn.Qt(e)}xt(e){this.cn.Zt(e)}Mt(e){this.cn.Yt(e)}vt(){this.cn.rn()}}class aH{constructor(e){this.cn=e}Bt(e){this.cn.jt(e)}xt(e){this.cn.Xt(e)}Mt(e){this.cn.nn(e)}vt(){this.cn._n()}}class aW{constructor(){this.cn=new aK,this.ascending=new aQ(this.cn),this.descending=new aH(this.cn)}seed(e){this.cn.seed(e)}ln(e){return 0===e?this.ascending:this.descending}un(){return this.cn.un()}reset(){this.cn.reset()}}class aJ{constructor(e,t,n,r){this.hn=e,this.Pn=t,this.Tn=n,this.In=r}En(){let e=this.In.length,t=0===e||255===this.In[e-1]?e+1:e,n=new Uint8Array(t);return n.set(this.In,0),t!==e?n.set([0],this.In.length):++n[n.length-1],new aJ(this.hn,this.Pn,this.Tn,n)}Rn(e,t,n){return{indexId:this.hn,uid:e,arrayValue:aZ(this.Tn),directionalValue:aZ(this.In),orderedDocumentKey:aZ(t),documentKey:n.path.toArray()}}An(e,t,n){let r=this.Rn(e,t,n);return[r.indexId,r.uid,r.arrayValue,r.directionalValue,r.orderedDocumentKey,r.documentKey]}}function aY(e,t){let n=e.hn-t.hn;
18return 0!==n||0!==(n=aX(e.Tn,t.Tn))||0!==(n=aX(e.In,t.In))?n:t0.comparator(e.Pn,t.Pn)}function aX(e,t){for(let n=0;n<e.length&&n<t.length;++n){let r=e[n]-t[n];if(0!==r)return r}return e.length-t.length}function aZ(e){return Y()?function(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t}(e):e}function a0(e){return"string"!=typeof e?e:function(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}(e)}class a1{constructor(e){for(const t of(this.Vn=new rP((e,t)=>tZ.comparator(e.field,t.field)),this.collectionId=null!=e.collectionGroup?e.collectionGroup:e.path.lastSegment(),this.dn=e.orderBy,this.mn=[],e.filters))t.isInequality()?this.Vn=this.Vn.add(t):this.mn.push(t)}get fn(){return this.Vn.size>1}gn(e){if(tN(e.collectionGroup===this.collectionId,49279),this.fn)return!1;let t=ni(e);if(void 0!==t&&!this.pn(t))return!1;let n=ns(e),r=new Set,i=0,s=0;for(;i<n.length&&this.pn(n[i]);++i)r=r.add(n[i].fieldPath.canonicalString());if(i===n.length)return!0;if(this.Vn.size>0){let e=this.Vn.getIterator().getNext();if(!r.has(e.field.canonicalString())){let t=n[i];if(!this.yn(e,t)||!this.wn(this.dn[s++],t))return!1}++i}for(;i<n.length;++i){let e=n[i];if(s>=this.dn.length||!this.wn(this.dn[s++],e))return!1}return!0}bn(){if(this.fn)return null;let e=new rP(tZ.comparator),t=[];for(let n of this.mn)if(!n.field.isKeyField())if("array-contains"===n.op||"array-contains-any"===n.op)t.push(new no(n.field,2));else{if(e.has(n.field))continue;e=e.add(n.field),t.push(new no(n.field,0))}for(let n of this.dn)n.field.isKeyField()||e.has(n.field)||(e=e.add(n.field),t.push(new no(n.field,+("asc"!==n.dir))));return new nr(nr.UNKNOWN_ID,this.collectionId,t,nl.empty())}pn(e){for(let t of this.mn)if(this.yn(t,e))return!0;return!1}yn(e,t){if(void 0===e||!e.field.isEqual(t.fieldPath))return!1;let n="array-contains"===e.op||"array-contains-any"===e.op;return 2===t.kind===n}wn(e,t){return!!e.field.isEqual(t.fieldPath)&&(0===t.kind&&"asc"===e.dir||1===t.kind&&"desc"===e.dir)}}function a2(e){return e instanceof ix}function a6(e){return e instanceof iD&&ik(e)}function a3(e){return a2(e)||a6(e)||function(e){if(e instanceof iD&&iN(e)){for(let t of e.getFilters())if(!a2(t)&&!a6(t))return!1;return!0}return!1}(e)}function a4(e,t){return tN(e instanceof ix||e instanceof iD,38388),tN(t instanceof ix||t instanceof iD,25473),a8(e instanceof ix?t instanceof ix?iD.create([e,t],"and"):a5(e,t):t instanceof ix?a5(t,e):function(e,t){if(tN(e.filters.length>0&&t.filters.length>0,48005),iA(e)&&iA(t))return iO(e,t.getFilters());let n=iN(e)?e:t,r=iN(e)?t:e,i=n.filters.map(e=>a4(e,r));return iD.create(i,"or")}(e,t))}function a5(e,t){if(iA(t))return iO(t,e.getFilters());{let n=t.filters.map(t=>a4(e,t));return iD.create(n,"or")}}function a8(e){if(tN(e instanceof ix||e instanceof iD,11850),e instanceof ix)return e;let t=e.getFilters();if(1===t.length)return a8(t[0]);if(iR(e))return e;let n=t.map(e=>a8(e)),r=[];return n.forEach(t=>{t instanceof ix?r.push(t):t instanceof iD&&(t.op===e.op?r.push(...t.filters):r.push(t))}),1===r.length?r[0]:iD.create(r,e.op)}class a7{constructor(){this.Sn=new a9}addToCollectionParentIndex(e,t){return this.Sn.add(t),np.resolve()}getCollectionParents(e,t){return np.resolve(this.Sn.getEntries(t))}addFieldIndex(e,t){return np.resolve()}deleteFieldIndex(e,t){return np.resolve()}deleteAllFieldIndexes(e){return np.resolve()}createTargetIndexes(e,t){return np.resolve()}getDocumentsMatchingTarget(e,t){return np.resolve(null)}getIndexType(e,t){return np.resolve(0)}getFieldIndexes(e,t){return np.resolve([])}getNextCollectionGroupToUpdate(e){return np.resolve(null)}getMinOffset(e,t){return np.resolve(nc.min())}getMinOffsetFromCollectionGroup(e,t){return np.resolve(nc.min())}updateCollectionGroup(e,t,n){return np.resolve()}updateIndexEntries(e,t){return np.resolve()}}class a9{constructor(){this.index={}}add(e){let t=e.lastSegment(),n=e.popLast(),r=this.index[t]||new rP(tY.comparator),i=!r.has(n);return this.index[t]=r.add(n),i}has(e){let t=e.lastSegment(),n=e.popLast(),r=this.index[t];return r&&r.has(n)}getEntries(e){return(this.index[e]||new rP(tY.comparator)).toArray()}}let oe="IndexedDbIndexManager",ot=new Uint8Array(0);class on{constructor(e,t){this.databaseId=t,this.Dn=new a9,this.Cn=new sn(e=>i$(e),(e,t)=>iG(e,t)),this.uid=e.uid||""}addToCollectionParentIndex(e,t){if(!this.Dn.has(t)){let n=t.lastSegment(),r=t.popLast();e.addOnCommittedListener(()=>{this.Dn.add(t)});let i={collectionId:n,parent:nL(r)};return rD(e,re).put(i)}return np.resolve()}getCollectionParents(e,t){let n=[],r=IDBKeyRange.bound([t,""],[t+"\0",""],!1,!0);return rD(e,re).H(r).next(e=>{for(let r of e){if(r.collectionId!==t)break;n.push(nP(r.parent))}return n})}addFieldIndex(e,t){let n=rD(e,rs),r={indexId:t.indexId,collectionGroup:t.collectionGroup,fields:t.fields.map(e=>[e.fieldPath.canonicalString(),e.kind])};delete r.indexId;let i=n.add(r);if(t.indexState){let n=rD(e,ro);return i.next(e=>{n.put(aU(e,this.uid,t.indexState.sequenceNumber,t.indexState.offset))})}return i.next()}deleteFieldIndex(e,t){let n=rD(e,rs),r=rD(e,ro),i=rD(e,rc);return n.delete(t.indexId).next(()=>r.delete(IDBKeyRange.bound([t.indexId],[t.indexId+1],!1,!0))).next(()=>i.delete(IDBKeyRange.bound([t.indexId],[t.indexId+1],!1,!0)))}deleteAllFieldIndexes(e){let t=rD(e,rs),n=rD(e,rc),r=rD(e,ro);return t.X().next(()=>n.X()).next(()=>r.X())}
18createTargetIndexes(e,t){return np.forEach(this.vn(t),t=>this.getIndexType(e,t).next(n=>{if(0===n||1===n){let n=new a1(t).bn();if(null!=n)return this.addFieldIndex(e,n)}}))}getDocumentsMatchingTarget(e,t){let n=rD(e,rc),r=!0,i=new Map;return np.forEach(this.vn(t),t=>this.Fn(e,t).next(e=>{r&&(r=!!e),i.set(t,e)})).next(()=>{if(r){let e=sh(),r=[];return np.forEach(i,(i,s)=>{tT(oe,`Using index id=${i.indexId}|cg=${i.collectionGroup}|f=${i.fields.map(e=>`${e.fieldPath}:${e.kind}`).join(",")} to execute ${i$(t)}`);let a=function(e,t){let n=ni(t);if(void 0===n)return null;for(let t of iQ(e,n.fieldPath))switch(t.op){case"array-contains-any":return t.value.arrayValue.values||[];case"array-contains":return[t.value]}return null}(s,i),o=function(e,t){let n=new Map;for(let r of ns(t))for(let t of iQ(e,r.fieldPath))switch(t.op){case"==":case"in":n.set(r.fieldPath.canonicalString(),t.value);break;case"not-in":case"!=":return n.set(r.fieldPath.canonicalString(),t.value),Array.from(n.values())}return null}(s,i),l=function(e,t){let n=[],r=!0;for(let i of ns(t)){let t=0===i.kind?iH(e,i.fieldPath,e.startAt):iW(e,i.fieldPath,e.startAt);n.push(t.value),r&&(r=t.inclusive)}return new i_(n,r)}(s,i),u=function(e,t){let n=[],r=!0;for(let i of ns(t)){let t=0===i.kind?iW(e,i.fieldPath,e.endAt):iH(e,i.fieldPath,e.endAt);n.push(t.value),r&&(r=t.inclusive)}return new i_(n,r)}(s,i),h=this.Mn(i,s,l),c=this.Mn(i,s,u),d=this.xn(i,s,o),f=this.On(i.indexId,a,h,l.inclusive,c,u.inclusive,d);return np.forEach(f,i=>n.Z(i,t.limit).next(t=>{t.forEach(t=>{let n=t0.fromSegments(t.documentKey);e.has(n)||(e=e.add(n),r.push(n))})}))}).next(()=>r)}return np.resolve(null)})}vn(e){let t=this.Cn.get(e);return t||(t=0===e.filters.length?[e]:(function(e){if(0===e.getFilters().length)return[];let t=function e(t){if(tN(t instanceof ix||t instanceof iD,34018),t instanceof ix)return t;if(1===t.filters.length)return e(t.filters[0]);let n=t.filters.map(t=>e(t)),r=iD.create(n,t.op);return a3(r=a8(r))?r:(tN(r instanceof iD,64498),tN(iA(r),40251),tN(r.filters.length>1,57927),r.filters.reduce((e,t)=>a4(e,t)))}(function e(t){if(tN(t instanceof ix||t instanceof iD,20012),t instanceof ix){if(t instanceof iB){let e=t.value.arrayValue?.values?.map(e=>ix.create(t.field,"==",e))||[];return iD.create(e,"or")}return t}let n=t.filters.map(t=>e(t));return iD.create(n,t.op)}(e));return tN(a3(t),7391),a2(t)||a6(t)?[t]:t.getFilters()})(iD.create(e.filters,"and")).map(t=>iz(e.path,e.collectionGroup,e.orderBy,t.getFilters(),e.limit,e.startAt,e.endAt)),this.Cn.set(e,t)),t}On(e,t,n,r,i,s,a){let o=(null!=t?t.length:1)*Math.max(n.length,i.length),l=o/(null!=t?t.length:1),u=[];for(let h=0;h<o;++h){let o=t?this.Nn(t[h/l]):ot,c=this.Bn(e,o,n[h%l],r),d=this.Ln(e,o,i[h%l],s),f=a.map(t=>this.Bn(e,o,t,!0));u.push(...this.createRange(c,d,f))}return u}Bn(e,t,n,r){let i=new aJ(e,t0.empty(),t,n);return r?i:i.En()}Ln(e,t,n,r){let i=new aJ(e,t0.empty(),t,n);return r?i.En():i}Fn(e,t){let n=new a1(t),r=null!=t.collectionGroup?t.collectionGroup:t.path.lastSegment();return this.getFieldIndexes(e,r).next(e=>{let t=null;for(let r of e)n.gn(r)&&(!t||r.fields.length>t.fields.length)&&(t=r);return t})}getIndexType(e,t){let n=2,r=this.vn(t);return np.forEach(r,t=>this.Fn(e,t).next(e=>{e?0!==n&&e.fields.length<function(e){let t=new rP(tZ.comparator),n=!1;for(let r of e.filters)for(let e of r.getFlattenedFilters())e.field.isKeyField()||("array-contains"===e.op||"array-contains-any"===e.op?n=!0:t=t.add(e.field));for(let n of e.orderBy)n.field.isKeyField()||(t=t.add(n.field));return t.size+ +!!n}(t)&&(n=1):n=0})).next(()=>null!==t.limit&&r.length>1&&2===n?1:n)}kn(e,t){let n=new aW;for(let r of ns(e)){let e=t.data.field(r.fieldPath);if(null==e)return null;let i=n.ln(r.kind);a$.Wt.Dt(e,i)}return n.un()}Nn(e){let t=new aW;return a$.Wt.Dt(e,t.ln(0)),t.un()}Kn(e,t){let n,r=new aW;return a$.Wt.Dt(io(this.databaseId,t),r.ln(0===(n=ns(e)).length?0:n[n.length-1].kind)),r.un()}xn(e,t,n){if(null===n)return[];let r=[];r.push(new aW);let i=0;for(let s of ns(e)){let e=n[i++];for(let n of r)if(this.qn(t,s.fieldPath)&&iu(e))r=this.Un(r,s,e);else{let t=n.ln(s.kind);a$.Wt.Dt(e,t)}}return this.$n(r)}Mn(e,t,n){return this.xn(e,t,n.position)}$n(e){let t=[];for(let n=0;n<e.length;++n)t[n]=e[n].un();return t}Un(e,t,n){let r=[...e],i=[];for(let e of n.arrayValue.values||[])for(let n of r){let r=new aW;r.seed(n.un()),a$.Wt.Dt(e,r.ln(t.kind)),i.push(r)}return i}qn(e,t){return!!e.filters.find(e=>e instanceof ix&&e.field.isEqual(t)&&("in"===e.op||"not-in"===e.op))}getFieldIndexes(e,t){let n=rD(e,rs),r=rD(e,ro);return(t?n.H(ra,IDBKeyRange.bound(t,t)):n.H()).next(e=>{let t=[];
18return np.forEach(e,e=>r.get([e.indexId,this.uid]).next(n=>{let r,i;t.push((r=n?new nl(n.sequenceNumber,new nc(aO(n.readTime),new t0(nP(n.documentKey)),n.largestBatchId)):nl.empty(),i=e.fields.map(([e,t])=>new no(tZ.fromServerFormat(e),t)),new nr(e.indexId,e.collectionGroup,i,r)))})).next(()=>t)})}getNextCollectionGroupToUpdate(e){return this.getFieldIndexes(e).next(e=>0===e.length?null:(e.sort((e,t)=>{let n=e.indexState.sequenceNumber-t.indexState.sequenceNumber;return 0!==n?n:tG(e.collectionGroup,t.collectionGroup)}),e[0].collectionGroup))}updateCollectionGroup(e,t,n){let r=rD(e,rs),i=rD(e,ro);return this.Wn(e).next(e=>r.H(ra,IDBKeyRange.bound(t,t)).next(t=>np.forEach(t,t=>i.put(aU(t.indexId,this.uid,e,n)))))}updateIndexEntries(e,t){let n=new Map;return np.forEach(t,(t,r)=>{let i=n.get(t.collectionGroup);return(i?np.resolve(i):this.getFieldIndexes(e,t.collectionGroup)).next(i=>(n.set(t.collectionGroup,i),np.forEach(i,n=>this.Qn(e,t,n).next(t=>{let i=this.Gn(r,n);return t.isEqual(i)?np.resolve():this.zn(e,r,n,t,i)}))))})}jn(e,t,n,r){return rD(e,rc).put(r.Rn(this.uid,this.Kn(n,t.key),t.key))}Hn(e,t,n,r){return rD(e,rc).delete(r.An(this.uid,this.Kn(n,t.key),t.key))}Qn(e,t,n){let r=rD(e,rc),i=new rP(aY);return r.ee({index:rf,range:IDBKeyRange.only([n.indexId,this.uid,aZ(this.Kn(n,t))])},(e,r)=>{i=i.add(new aJ(n.indexId,t,a0(r.arrayValue),a0(r.directionalValue)))}).next(()=>i)}Gn(e,t){let n=new rP(aY),r=this.kn(t,e);if(null==r)return n;let i=ni(t);if(null!=i){let s=e.data.field(i.fieldPath);if(iu(s))for(let i of s.arrayValue.values||[])n=n.add(new aJ(t.indexId,e.key,this.Nn(i),r))}else n=n.add(new aJ(t.indexId,e.key,ot,r));return n}zn(e,t,n,r,i){tT(oe,"Updating index entries for document '%s'",t.key);let s=[];return function(e,t,n,r,i){let s=e.getIterator(),a=t.getIterator(),o=rV(s),l=rV(a);for(;o||l;){let e=!1,t=!1;if(o&&l){let r=n(o,l);r<0?t=!0:r>0&&(e=!0)}else null!=o?t=!0:e=!0;e?(r(l),l=rV(a)):t?(i(o),o=rV(s)):(o=rV(s),l=rV(a))}}(r,i,aY,r=>{s.push(this.jn(e,t,n,r))},r=>{s.push(this.Hn(e,t,n,r))}),np.waitFor(s)}Wn(e){let t=1;return rD(e,ro).ee({index:ru,reverse:!0,range:IDBKeyRange.upperBound([this.uid,Number.MAX_SAFE_INTEGER])},(e,n,r)=>{r.done(),t=n.sequenceNumber+1}).next(()=>t)}createRange(e,t,n){n=n.sort((e,t)=>aY(e,t)).filter((e,t,n)=>!t||0!==aY(e,n[t-1]));let r=[];for(let i of(r.push(e),n)){let n=aY(i,e),s=aY(i,t);if(0===n)r[0]=e.En();else if(n>0&&s<0)r.push(i),r.push(i.En());else if(s>0)break}r.push(t);let i=[];for(let e=0;e<r.length;e+=2){if(this.Jn(r[e],r[e+1]))return[];let t=r[e].An(this.uid,ot,t0.empty()),n=r[e+1].An(this.uid,ot,t0.empty());i.push(IDBKeyRange.bound(t,n))}return i}Jn(e,t){return aY(e,t)>0}getMinOffsetFromCollectionGroup(e,t){return this.getFieldIndexes(e,t).next(or)}getMinOffset(e,t){return np.mapArray(this.vn(t),t=>this.Fn(e,t).next(e=>e||tD(44426))).next(or)}}function or(e){tN(0!==e.length,28825);let t=e[0].indexState.offset,n=t.largestBatchId;for(let r=1;r<e.length;r++){let i=e[r].indexState.offset;0>nd(i,t)&&(t=i),n<i.largestBatchId&&(n=i.largestBatchId)}return new nc(t.readTime,t.documentKey,n)}let oi={didRun:!1,sequenceNumbersCollected:0,targetsRemoved:0,documentsRemoved:0};class os{static withCacheSize(e){return new os(e,os.DEFAULT_COLLECTION_PERCENTILE,os.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT)}constructor(e,t,n){this.cacheSizeCollectionThreshold=e,this.percentileToCollect=t,this.maximumSequenceNumbersToCollect=n}}function oa(e,t,n){let r=e.store(nq),i=e.store(nK),s=[],a=IDBKeyRange.only(n.batchId),o=0,l=r.ee({range:a},(e,t,n)=>(o++,n.delete()));s.push(l.next(()=>{tN(1===o,47070,{batchId:n.batchId})}));let u=[];for(let e of n.mutations){var h,c;let r=(h=e.key.path,c=n.batchId,[t,nL(h),c]);s.push(i.delete(r)),u.push(e.key)}return np.waitFor(s).next(()=>u)}function oo(e){let t;if(!e)return 0;if(e.document)t=e.document;else if(e.unknownDocument)t=e.unknownDocument;else{if(!e.noDocument)throw tD(14731);t=e.noDocument}return JSON.stringify(t).length}os.DEFAULT_COLLECTION_PERCENTILE=10,os.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT=1e3,os.DEFAULT=new os(0x2800000,os.DEFAULT_COLLECTION_PERCENTILE,os.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT),os.DISABLED=new os(-1,0,0);
18class ol{constructor(e,t,n,r){this.userId=e,this.serializer=t,this.indexManager=n,this.referenceDelegate=r,this.Zn={}}static wt(e,t,n,r){return tN(""!==e.uid,64387),new ol(e.isAuthenticated()?e.uid:"",t,n,r)}checkEmpty(e){let t=!0,n=IDBKeyRange.bound([this.userId,-1/0],[this.userId,1/0]);return oh(e).ee({index:nz,range:n},(e,n,r)=>{t=!1,r.done()}).next(()=>t)}addMutationBatch(e,t,n,r){let i=rD(e,nK),s=oh(e);return s.add({}).next(a=>{var o,l,u,h;let c,d;tN("number"==typeof a,49019);let f=new sU(a,t,n,r),m=(o=this.serializer,l=this.userId,c=f.baseMutations.map(e=>aw(o.yt,e)),d=f.mutations.map(e=>aw(o.yt,e)),{userId:l,batchId:f.batchId,localWriteTimeMs:f.localWriteTime.toMillis(),baseMutations:c,mutations:d}),g=[],p=new rP((e,t)=>tG(e.canonicalString(),t.canonicalString()));for(let e of r){let t=(u=this.userId,h=e.key.path,[u,nL(h),a]);p=p.add(e.key.path.popLast()),g.push(s.put(m)),g.push(i.put(t,nG))}return p.forEach(t=>{g.push(this.indexManager.addToCollectionParentIndex(e,t))}),e.addOnCommittedListener(()=>{this.Zn[a]=f.keys()}),np.waitFor(g).next(()=>f)})}lookupMutationBatch(e,t){return oh(e).get(t).next(e=>e?(tN(e.userId===this.userId,48,"Unexpected user for mutation batch",{userId:e.userId,batchId:t}),aM(this.serializer,e)):null)}Xn(e,t){return this.Zn[t]?np.resolve(this.Zn[t]):this.lookupMutationBatch(e,t).next(e=>{if(e){let n=e.keys();return this.Zn[t]=n,n}return null})}getNextMutationBatchAfterBatchId(e,t){let n=t+1,r=IDBKeyRange.lowerBound([this.userId,n]),i=null;return oh(e).ee({index:nz,range:r},(e,t,r)=>{t.userId===this.userId&&(tN(t.batchId>=n,47524,{Yn:n}),i=aM(this.serializer,t)),r.done()}).next(()=>i)}getHighestUnacknowledgedBatchId(e){let t=IDBKeyRange.upperBound([this.userId,1/0]),n=-1;return oh(e).ee({index:nz,range:t,reverse:!0},(e,t,r)=>{n=t.batchId,r.done()}).next(()=>n)}getAllMutationBatches(e){let t=IDBKeyRange.bound([this.userId,-1],[this.userId,1/0]);return oh(e).H(nz,t).next(e=>e.map(e=>aM(this.serializer,e)))}getAllMutationBatchesAffectingDocumentKey(e,t){let n=[this.userId,nL(t.path)],r=IDBKeyRange.lowerBound(n),i=[];return rD(e,nK).ee({range:r},(n,r,s)=>{let[a,o,l]=n,u=nP(o);if(a===this.userId&&t.path.isEqual(u))return oh(e).get(l).next(e=>{if(!e)throw tD(61480,{er:n,batchId:l});tN(e.userId===this.userId,10503,"Unexpected user for mutation batch",{userId:e.userId,batchId:l}),i.push(aM(this.serializer,e))});s.done()}).next(()=>i)}getAllMutationBatchesAffectingDocumentKeys(e,t){let n=new rP(tG),r=[];return t.forEach(t=>{let i=[this.userId,nL(t.path)],s=IDBKeyRange.lowerBound(i),a=rD(e,nK).ee({range:s},(e,r,i)=>{let[s,a,o]=e,l=nP(a);s===this.userId&&t.path.isEqual(l)?n=n.add(o):i.done()});r.push(a)}),np.waitFor(r).next(()=>this.tr(e,n))}getAllMutationBatchesAffectingQuery(e,t){let n=t.path,r=n.length+1,i=[this.userId,nL(n)],s=IDBKeyRange.lowerBound(i),a=new rP(tG);return rD(e,nK).ee({range:s},(e,t,i)=>{let[s,o,l]=e,u=nP(o);s===this.userId&&n.isPrefixOf(u)?u.length===r&&(a=a.add(l)):i.done()}).next(()=>this.tr(e,a))}tr(e,t){let n=[],r=[];return t.forEach(t=>{r.push(oh(e).get(t).next(e=>{if(null===e)throw tD(35274,{batchId:t});tN(e.userId===this.userId,9748,"Unexpected user for mutation batch",{userId:e.userId,batchId:t}),n.push(aM(this.serializer,e))}))}),np.waitFor(r).next(()=>n)}removeMutationBatch(e,t){return oa(e.le,this.userId,t).next(n=>(e.addOnCommittedListener(()=>{this.nr(t.batchId)}
18),np.forEach(n,t=>this.referenceDelegate.markPotentiallyOrphaned(e,t))))}nr(e){delete this.Zn[e]}performConsistencyCheck(e){return this.checkEmpty(e).next(t=>{if(!t)return np.resolve();let n=IDBKeyRange.lowerBound([this.userId]),r=[];return rD(e,nK).ee({range:n},(e,t,n)=>{if(e[0]===this.userId){let t=nP(e[1]);r.push(t)}else n.done()}).next(()=>{tN(0===r.length,56720,{rr:r.map(e=>e.canonicalString())})})})}containsKey(e,t){return ou(e,this.userId,t)}ir(e){return rD(e,nU).get(this.userId).next(e=>e||{userId:this.userId,lastAcknowledgedBatchId:-1,lastStreamToken:""})}}function ou(e,t,n){let r=[t,nL(n.path)],i=r[1],s=IDBKeyRange.lowerBound(r),a=!1;return rD(e,nK).ee({range:s,Y:!0},(e,n,r)=>{let[s,o,l]=e;s===t&&o===i&&(a=!0),r.done()}).next(()=>a)}function oh(e){return rD(e,nq)}class oc{constructor(e){this.sr=e}next(){return this.sr+=2,this.sr}static _r(){return new oc(0)}static ar(){return new oc(-1)}}class od{constructor(e,t){this.referenceDelegate=e,this.serializer=t}allocateTargetId(e){return this.ur(e).next(t=>{let n=new oc(t.highestTargetId);return t.highestTargetId=n.next(),this.cr(e,t).next(()=>t.highestTargetId)})}getLastRemoteSnapshotVersion(e){return this.ur(e).next(e=>nn.fromTimestamp(new nt(e.lastRemoteSnapshotVersion.seconds,e.lastRemoteSnapshotVersion.nanoseconds)))}getHighestSequenceNumber(e){return this.ur(e).next(e=>e.highestListenSequenceNumber)}setTargetsMetadata(e,t,n){return this.ur(e).next(r=>(r.highestListenSequenceNumber=t,n&&(r.lastRemoteSnapshotVersion=n.toTimestamp()),t>r.highestListenSequenceNumber&&(r.highestListenSequenceNumber=t),this.cr(e,r)))}addTargetData(e,t){return this.lr(e,t).next(()=>this.ur(e).next(n=>(n.targetCount+=1,this.hr(t,n),this.cr(e,n))))}updateTargetData(e,t){return this.lr(e,t)}removeTargetData(e,t){return this.removeMatchingKeysForTargetId(e,t.targetId).next(()=>rD(e,n1).delete(t.targetId)).next(()=>this.ur(e)).next(t=>(tN(t.targetCount>0,8065),t.targetCount-=1,this.cr(e,t)))}removeTargets(e,t,n){let r=0,i=[];return rD(e,n1).ee((s,a)=>{let o=aL(a);o.sequenceNumber<=t&&null===n.get(o.targetId)&&(r++,i.push(this.removeTargetData(e,o)))}).next(()=>np.waitFor(i)).next(()=>r)}forEachTarget(e,t){return rD(e,n1).ee((e,n)=>{t(aL(n))})}ur(e){return rD(e,n9).get(n7).next(e=>(tN(null!==e,2888),e))}cr(e,t){return rD(e,n9).put(n7,t)}lr(e,t){return rD(e,n1).put(aP(this.serializer,t))}hr(e,t){let n=!1;return e.targetId>t.highestTargetId&&(t.highestTargetId=e.targetId,n=!0),e.sequenceNumber>t.highestListenSequenceNumber&&(t.highestListenSequenceNumber=e.sequenceNumber,n=!0),n}getTargetCount(e){return this.ur(e).next(e=>e.targetCount)}getTargetData(e,t){let n=i$(t),r=IDBKeyRange.bound([n,-1/0],[n,1/0]),i=null;return rD(e,n1).ee({range:r,index:n2},(e,n,r)=>{let s=aL(n);iG(t,s.target)&&(i=s,r.done())}).next(()=>i)}addMatchingKeys(e,t,n){let r=[],i=of(e);return t.forEach(t=>{let s=nL(t.path);r.push(i.put({targetId:n,path:s})),r.push(this.referenceDelegate.addReference(e,n,t))}),np.waitFor(r)}removeMatchingKeys(e,t,n){let r=of(e);return np.forEach(t,t=>{let i=nL(t.path);return np.waitFor([r.delete([n,i]),this.referenceDelegate.removeReference(e,n,t)])})}removeMatchingKeysForTargetId(e,t){let n=of(e),r=IDBKeyRange.bound([t],[t+1],!1,!0);return n.delete(r)}getMatchingKeysForTargetId(e,t){let n=IDBKeyRange.bound([t],[t+1],!1,!0),r=of(e),i=sh();return r.ee({range:n,Y:!0},(e,t,n)=>{let r=new t0(nP(e[1]));i=i.add(r)}).next(()=>i)}containsKey(e,t){let n=nL(t.path),r=IDBKeyRange.bound([n],[n+"\0"],!1,!0),i=0;return of(e).ee({index:n5,Y:!0,range:r},([e,t],n,r)=>{0!==e&&(i++,r.done())}).next(()=>i>0)}At(e,t){return rD(e,n1).get(t).next(e=>e?aL(e):null)}}function of(e){return rD(e,n3)}let om="LruGarbageCollector";function og([e,t],[n,r]){let i=tG(e,n);return 0===i?tG(t,r):i}class op{constructor(e){this.Pr=e,this.buffer=new rP(og),this.Tr=0}Ir(){return++this.Tr}Er(e){let t=[e,this.Ir()];if(this.buffer.size<this.Pr)this.buffer=this.buffer.add(t);else{let e=this.buffer.last();0>og(t,e)&&(this.buffer=this.buffer.delete(e).add(t))}}get maxValue(){return this.buffer.last()[0]}}class oy{constructor(e,t,n){this.garbageCollector=e,this.asyncQueue=t,this.localStore=n,this.Rr=null}start(){-1!==this.garbageCollector.params.cacheSizeCollectionThreshold&&this.Ar(6e4)}stop(){this.Rr&&(this.Rr.cancel(),this.Rr=null)}get started(){return null!==this.Rr}Ar(e){tT(om,`Garbage collection scheduled in ${e}ms`),this.Rr=this.asyncQueue.enqueueAfterDelay("lru_garbage_collection",e,async()=>{this.Rr=null;try{await this.localStore.collectGarbage(this.garbageCollector)}catch(e){nE(e)?tT(om,"Ignoring IndexedDB error during garbage collection: ",e):await ng(e)}await this.Ar(3e5)})}}class ow{constructor(e,t){this.Vr=e,this.params=t}calculateTargetCount(e,t){return this.Vr.dr(e).next(e=>Math.floor(t/100*e))}nthSequenceNumber(e,t){if(0===t)return np.resolve(nk.ce);let n=new op(t);return this.Vr.forEachTarget(e,e=>n.Er(e.sequenceNumber)).next(()=>this.Vr.mr(e,e=>n.Er(e))).next(()=>n.maxValue)}removeTargets(e,t,n){return this.Vr.removeTargets(e,t,n)}removeOrphanedDocuments(e,t){return this.Vr.removeOrphanedDocuments(e,t)}collect(e,t){return -1===this.params.cacheSizeCollectionThreshold?(tT("LruGarbageCollector","Garbage collection skipped; disabled"),np.resolve(oi)):this.getCacheSize(e).next(n=>n<this.params.cacheSizeCollectionThreshold?(tT("LruGarbageCollector",`Garbage collection skipped; Cache size ${n} is lower than threshold ${this.params.cacheSizeCollectionThreshold}`),oi):this.gr(e,t))}getCacheSize(e){return this.Vr.getCacheSize(e)}gr(e,t){let n,r,i,a,o,l,u,h=Date.now();return this.calculateTargetCount(e,this.params.percentileToCollect).next(t=>(t>this.params.maximumSequenceNumbersToCollect?(tT("LruGarbageCollector",`C
18apping sequence numbers to collect down to the maximum of ${this.params.maximumSequenceNumbersToCollect} from ${t}`),r=this.params.maximumSequenceNumbersToCollect):r=t,a=Date.now(),this.nthSequenceNumber(e,r))).next(r=>(n=r,o=Date.now(),this.removeTargets(e,n,t))).next(t=>(i=t,l=Date.now(),this.removeOrphanedDocuments(e,n))).next(e=>(u=Date.now(),t_()<=s.DEBUG&&tT("LruGarbageCollector",`LRU Garbage Collection
19	Counted targets in ${a-h}ms
20	Determined least recently used ${r} in `+(o-a)+"ms\n"+`	Removed ${i} targets in `+(l-o)+"ms\n"+`	Removed ${e} documents in `+(u-l)+"ms\n"+`Total Duration: ${u-h}ms`),np.resolve({didRun:!0,sequenceNumbersCollected:r,targetsRemoved:i,documentsRemoved:e})))}}class ov{constructor(e,t){this.db=e,this.garbageCollector=function(e,t){return new ow(e,t)}(this,t)}dr(e){let t=this.pr(e);return this.db.getTargetCache().getTargetCount(e).next(e=>t.next(t=>e+t))}pr(e){let t=0;return this.mr(e,e=>{t++}).next(()=>t)}forEachTarget(e,t){return this.db.getTargetCache().forEachTarget(e,t)}mr(e,t){return this.yr(e,(e,n)=>t(n))}addReference(e,t,n){return ob(e,n)}removeReference(e,t,n){return ob(e,n)}removeTargets(e,t,n){return this.db.getTargetCache().removeTargets(e,t,n)}markPotentiallyOrphaned(e,t){return ob(e,t)}wr(e,t){let n;return n=!1,rD(e,nU).te(r=>ou(e,r,t).next(e=>(e&&(n=!0),np.resolve(!e)))).next(()=>n)}removeOrphanedDocuments(e,t){let n=this.db.getRemoteDocumentCache().newChangeBuffer(),r=[],i=0;return this.yr(e,(s,a)=>{if(a<=t){let t=this.wr(e,s).next(t=>{if(!t)return i++,n.getEntry(e,s).next(()=>(n.removeEntry(s,nn.min()),of(e).delete([0,nL(s.path)])))});r.push(t)}}).next(()=>np.waitFor(r)).next(()=>n.apply(e)).next(()=>i)}removeTarget(e,t){let n=t.withSequenceNumber(e.currentSequenceNumber);return this.db.getTargetCache().updateTargetData(e,n)}updateLimboDocument(e,t){return ob(e,t)}yr(e,t){let n=of(e),r,i=nk.ce;return n.ee({index:n5},([e,n],{path:s,sequenceNumber:a})=>{0===e?(i!==nk.ce&&t(new t0(nP(r)),i),i=a,r=s):i=nk.ce}).next(()=>{i!==nk.ce&&t(new t0(nP(r)),i)})}getCacheSize(e){return this.db.getRemoteDocumentCache().getSize(e)}}function ob(e,t){var n;return of(e).put((n=e.currentSequenceNumber,{targetId:0,path:nL(t.path),sequenceNumber:n}))}class oI{constructor(){this.changes=new sn(e=>e.toString(),(e,t)=>e.isEqual(t)),this.changesApplied=!1}addEntry(e){this.assertNotApplied(),this.changes.set(e.key,e)}removeEntry(e,t){this.assertNotApplied(),this.changes.set(e,iI.newInvalidDocument(e).setReadTime(t))}getEntry(e,t){this.assertNotApplied();let n=this.changes.get(t);return void 0!==n?np.resolve(n):this.getFromCache(e,t)}getEntries(e,t){return this.getAllFromCache(e,t)}apply(e){return this.assertNotApplied(),this.changesApplied=!0,this.applyChanges(e)}assertNotApplied(){}}class o_{constructor(e){this.serializer=e}setIndexManager(e){this.indexManager=e}addEntry(e,t,n){return rD(e,nQ).put(n)}removeEntry(e,t,n){let r;return rD(e,nQ).delete([(r=t.path.toArray()).slice(0,r.length-2),r[r.length-2],ak(n),r[r.length-1]])}updateMetadata(e,t){return this.getMetadata(e).next(n=>(n.byteSize+=t,this.br(e,n)))}getEntry(e,t){let n=iI.newInvalidDocument(t);return rD(e,nQ).ee({index:nW,range:IDBKeyRange.only(oT(t))},(e,r)=>{n=this.Sr(t,r)}).next(()=>n)}Dr(e,t){let n={size:0,document:iI.newInvalidDocument(t)};return rD(e,nQ).ee({index:nW,range:IDBKeyRange.only(oT(t))},(e,r)=>{n={document:this.Sr(t,r),size:oo(r)}}).next(()=>n)}getEntries(e,t){let n=sr;return this.Cr(e,t,(e,t)=>{let r=this.Sr(e,t);n=n.insert(e,r)}).next(()=>n)}vr(e,t){let n=sr,r=new rO(t0.comparator);return this.Cr(e,t,(e,t)=>{let i=this.Sr(e,t);n=n.insert(e,i),r=r.insert(e,oo(t))}).next(()=>({documents:n,Fr:r}))}Cr(e,t,n){if(t.isEmpty())return np.resolve();let r=new rP(oC);t.forEach(e=>r=r.add(e));let i=IDBKeyRange.bound(oT(r.first()),oT(r.last())),s=r.getIterator(),a=s.getNext();return rD(e,nQ).ee({index:nW,range:i},(e,t,r)=>{let i=t0.fromSegments([...t.prefixPath,t.collectionGroup,t.documentId]);for(;a&&0>oC(a,i);)n(a,null),a=s.getNext();a&&a.isEqual(i)&&(n(a,t),a=s.hasNext()?s.getNext():null),a?r.j(oT(a)):r.done()}).next(()=>{for(;a;)n(a,null),a=s.hasNext()?s.getNext():null})}getDocumentsMatchingQuery(e,t,n,r,i){let s=t.path,a=[s.popLast().toArray(),s.lastSegment(),ak(n.readTime),n.documentKey.path.isEmpty()?"":n.documentKey.path.lastSegment()],o=[s.popLast().toArray(),s.lastSegment(),[Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],""];return rD(e,nQ).H(IDBKeyRange.bound(a,o,!0)).next(e=>{i?.incrementDocumentReadCount(e.length);let n=sr;for(let i of e){let e=this.Sr(t0.fromSegments(i.prefixPath.concat(i.collectionGroup,i.documentId)),i);
20e.isFoundDocument()&&(i9(t,e)||r.has(e.key))&&(n=n.insert(e.key,e))}return n})}getAllFromCollectionGroup(e,t,n,r){let i=sr,s=oS(t,n),a=oS(t,nc.max());return rD(e,nQ).ee({index:nY,range:IDBKeyRange.bound(s,a,!0)},(e,t,n)=>{let s=this.Sr(t0.fromSegments(t.prefixPath.concat(t.collectionGroup,t.documentId)),t);(i=i.insert(s.key,s)).size===r&&n.done()}).next(()=>i)}newChangeBuffer(e){return new oE(this,!!e&&e.trackRemovals)}getSize(e){return this.getMetadata(e).next(e=>e.byteSize)}getMetadata(e){return rD(e,nZ).get(n0).next(e=>(tN(!!e,20021),e))}br(e,t){return rD(e,nZ).put(n0,t)}Sr(e,t){if(t){let e=function(e,t){var n;let r,i;if(t.document)r=ay(e.yt,t.document,!!t.hasCommittedMutations);else if(t.noDocument){let e=t0.fromSegments(t.noDocument.path),n=aO(t.noDocument.readTime);r=iI.newNoDocument(e,n),t.hasCommittedMutations&&r.setHasCommittedMutations()}else{if(!t.unknownDocument)return tD(56709);{let e=t0.fromSegments(t.unknownDocument.path),n=aO(t.unknownDocument.version);r=iI.newUnknownDocument(e,n)}}return t.readTime&&r.setReadTime((i=new nt((n=t.readTime)[0],n[1]),nn.fromTimestamp(i))),r}(this.serializer,t);if(!(e.isNoDocument()&&e.version.isEqual(nn.min())))return e}return iI.newInvalidDocument(e)}}class oE extends oI{constructor(e,t){super(),this.Mr=e,this.trackRemovals=t,this.Or=new sn(e=>e.toString(),(e,t)=>e.isEqual(t))}applyChanges(e){let t=[],n=0,r=new rP((e,t)=>
20tG(e.canonicalString(),t.canonicalString()));return this.changes.forEach((i,s)=>{let a=this.Or.get(i);if(t.push(this.Mr.removeEntry(e,i,a.readTime)),s.isValidDocument()){let o=aN(this.Mr.serializer,s);r=r.add(i.path.popLast());let l=oo(o);n+=l-a.size,t.push(this.Mr.addEntry(e,i,o))}else if(n-=a.size,this.trackRemovals){let n=aN(this.Mr.serializer,s.convertToNoDocument(nn.min()));t.push(this.Mr.addEntry(e,i,n))}}),r.forEach(n=>{t.push(this.Mr.indexManager.addToCollectionParentIndex(e,n))}),t.push(this.Mr.updateMetadata(e,n)),np.waitFor(t)}getFromCache(e,t){return this.Mr.Dr(e,t).next(e=>(this.Or.set(t,{size:e.size,readTime:e.document.readTime}),e.document))}getAllFromCache(e,t){return this.Mr.vr(e,t).next(({documents:e,Fr:t})=>(t.forEach((t,n)=>{this.Or.set(t,{size:n,readTime:e.get(t).readTime})}),e))}}function oT(e){let t=e.path.toArray();return[t.slice(0,t.length-2),t[t.length-2],t[t.length-1]]}function oS(e,t){let n=t.documentKey.path.toArray();return[e,ak(t.readTime),n.slice(0,n.length-2),n.length>0?n[n.length-1]:""]}function oC(e,t){let n=e.path.toArray(),r=t.path.toArray(),i=0;for(let e=0;e<n.length-2&&e<r.length-2;++e)if(i=tG(n[e],r[e]))return i;return(i=tG(n.length,r.length))||(i=tG(n[n.length-2],r[r.length-2]))||tG(n[n.length-1],r[r.length-1])}class ox{constructor(e,t){this.overlayedDocument=e,this.mutatedFields=t}}class oD{constructor(e,t,n,r){this.remoteDocumentCache=e,this.mutationQueue=t,this.documentOverlayCache=n,this.indexManager=r}getDocument(e,t){let n=null;return this.documentOverlayCache.getOverlay(e,t).next(r=>(n=r,this.remoteDocumentCache.getEntry(e,t))).next(e=>(null!==n&&sk(n.mutation,e,rB.empty(),nt.now()),e))}getDocuments(e,t){return this.remoteDocumentCache.getEntries(e,t).next(t=>this.getLocalViewOfDocuments(e,t,sh()).next(()=>t))}getLocalViewOfDocuments(e,t,n=sh()){let r=so();return this.populateOverlays(e,r,t).next(()=>this.computeViews(e,t,r,n).next(e=>{let t=ss();return e.forEach((e,n)=>{t=t.insert(e,n.overlayedDocument)}),t}))}getOverlayedDocuments(e,t){let n=so();return this.populateOverlays(e,n,t).next(()=>this.computeViews(e,t,n,sh()))}populateOverlays(e,t,n){let r=[];return n.forEach(e=>{t.has(e)||r.push(e)}),this.documentOverlayCache.getOverlays(e,r).next(e=>{e.forEach((e,n)=>{t.set(e,n)})})}computeViews(e,t,n,r){let i=sr,s=so(),a=so();return t.forEach((e,t)=>{let a=n.get(t.key);r.has(t.key)&&(void 0===a||a.mutation instanceof sM)?i=i.insert(t.key,t):void 0!==a?(s.set(t.key,a.mutation.getFieldMask()),sk(a.mutation,t,a.mutation.getFieldMask(),nt.now())):s.set(t.key,rB.empty())}),this.recalculateAndSaveOverlays(e,i).next(e=>(e.forEach((e,t)=>s.set(e,t)),t.forEach((e,t)=>a.set(e,new ox(t,s.get(e)??null))),a))}recalculateAndSaveOverlays(e,t){let n=so(),r=new rO((e,t)=>e-t),i=sh();return this.mutationQueue.getAllMutationBatchesAffectingDocumentKeys(e,t).next(e=>{for(let i of e)i.keys().forEach(e=>{let s=t.get(e);if(null===s)return;let a=n.get(e)||rB.empty();a=i.applyToLocalView(s,a),n.set(e,a);let o=(r.get(i.batchId)||sh()).add(e);r=r.insert(i.batchId,o)})}).next(()=>{let s=[],a=r.getReverseIterator();for(;a.hasNext();){let r=a.getNext(),o=r.key,l=r.value,u=so();l.forEach(e=>{if(!i.has(e)){let r=sN(t.get(e),n.get(e));null!==r&&u.set(e,r),i=i.add(e)}}),s.push(this.documentOverlayCache.saveOverlays(e,o,u))}return np.waitFor(s)}).next(()=>n)}recalculateAndSaveOverlaysForDocumentKeys(e,t){return this.remoteDocumentCache.getEntries(e,t).next(t=>this.recalculateAndSaveOverlays(e,t))}getDocumentsMatchingQuery(e,t,n,r){return t0.isDocumentKey(t.path)&&null===t.collectionGroup&&0===t.filters.length?this.getDocumentsMatchingDocumentQuery(e,t.path):iZ(t)?this.getDocumentsMatchingCollectionGroupQuery(e,t,n,r):this.getDocumentsMatchingCollectionQuery(e,t,n,r)}getNextDocuments(e,t,n,r){return this.remoteDocumentCache.getAllFromCollectionGroup(e,t,n,r).next(i=>{let s=r-i.size>0?this.documentOverlayCache.getOverlaysForCollectionGroup(e,t,n.largestBatchId,r-i.size):np.resolve(so()),a=-1,o=i;return s.next(t=>np.forEach(t,(t,n)=>(a<n.largestBatchId&&(a=n.largestBatchId),i.get(t)?np.resolve():this.remoteDocumentCache.getEntry(e,t).next(e=>{o=o.insert(t,e)}))).next(()=>this.populateOverlays(e,t,i)).next(()=>this.computeViews(e,o,t,sh())).next(e=>({batchId:a,changes:sa(e)})))})}getDocumentsMatchingDocumentQuery(e,t){return this.getDocument(e,new t0(t)).next(e=>{let t=ss();
vendor: 4,145 bytes, line 20
20return e.isFoundDocument()&&(t=t.insert(e.key,e)),t})}getDocumentsMatchingCollectionGroupQuery(e,t,n,r){let i=t.collectionGroup,s=ss();return this.indexManager.getCollectionParents(e,i).next(a=>np.forEach(a,a=>{let o=new iJ(a.child(i),null,t.explicitOrderBy.slice(),t.filters.slice(),t.limit,t.limitType,t.startAt,t.endAt);return this.getDocumentsMatchingCollectionQuery(e,o,n,r).next(e=>{e.forEach((e,t)=>{s=s.insert(e,t)})})}).next(()=>s))}getDocumentsMatchingCollectionQuery(e,t,n,r){let i;return this.documentOverlayCache.getOverlaysForCollection(e,t.path,n.largestBatchId).next(s=>(i=s,this.remoteDocumentCache.getDocumentsMatchingQuery(e,t,n,i,r))).next(e=>{i.forEach((t,n)=>{let r=n.getKey();null===e.get(r)&&(e=e.insert(r,iI.newInvalidDocument(r)))});let n=ss();return e.forEach((e,r)=>{let s=i.get(e);void 0!==s&&sk(s.mutation,r,rB.empty(),nt.now()),i9(t,r)&&(n=n.insert(e,r))}),n})}}class oA{constructor(e){this.serializer=e,this.Nr=new Map,this.Br=new Map}getBundleMetadata(e,t){return np.resolve(this.Nr.get(t))}saveBundleMetadata(e,t){return this.Nr.set(t.id,{id:t.id,version:t.version,createTime:aa(t.createTime)}),np.resolve()}getNamedQuery(e,t){return np.resolve(this.Br.get(t))}saveNamedQuery(e,t){return this.Br.set(t.name,{name:t.name,query:aF(t.bundledQuery),readTime:aa(t.readTime)}),np.resolve()}}class oN{constructor(){this.overlays=new rO(t0.comparator),this.Lr=new Map}getOverlay(e,t){return np.resolve(this.overlays.get(t))}getOverlays(e,t){let n=so();return np.forEach(t,t=>this.getOverlay(e,t).next(e=>{null!==e&&n.set(t,e)})).next(()=>n)}saveOverlays(e,t,n){return n.forEach((n,r)=>{this.bt(e,t,r)}),np.resolve()}removeOverlaysForBatchId(e,t,n){let r=this.Lr.get(n);return void 0!==r&&(r.forEach(e=>this.overlays=this.overlays.remove(e)),this.Lr.delete(n)),np.resolve()}getOverlaysForCollection(e,t,n){let r=so(),i=t.length+1,s=new t0(t.child("")),a=this.overlays.getIteratorFrom(s);for(;a.hasNext();){let e=a.getNext().value,s=e.getKey();if(!t.isPrefixOf(s.path))break;s.path.length===i&&e.largestBatchId>n&&r.set(e.getKey(),e)}return np.resolve(r)}getOverlaysForCollectionGroup(e,t,n,r){let i=new rO((e,t)=>e-t),s=this.overlays.getIterator();for(;s.hasNext();){let e=s.getNext().value;if(e.getKey().getCollectionGroup()===t&&e.largestBatchId>n){let t=i.get(e.largestBatchId);null===t&&(t=so(),i=i.insert(e.largestBatchId,t)),t.set(e.getKey(),e)}}let a=so(),o=i.getIterator();for(;o.hasNext()&&(o.getNext().value.forEach((e,t)=>a.set(e,t)),!(a.size()>=r)););return np.resolve(a)}bt(e,t,n){let r=this.overlays.get(n.key);if(null!==r){let e=this.Lr.get(r.largestBatchId).delete(n.key);this.Lr.set(r.largestBatchId,e)}this.overlays=this.overlays.insert(n.key,new sj(t,n));let i=this.Lr.get(t);void 0===i&&(i=sh(),this.Lr.set(t,i)),this.Lr.set(t,i.add(n.key))}}class ok{constructor(){this.sessionToken=rj.EMPTY_BYTE_STRING}getSessionToken(e){return np.resolve(this.sessionToken)}setSessionToken(e,t){return this.sessionToken=t,np.resolve()}}class oR{constructor(){this.kr=new rP(oO.Kr),this.qr=new rP(oO.Ur)}isEmpty(){return this.kr.isEmpty()}addReference(e,t){let n=new oO(e,t);this.kr=this.kr.add(n),this.qr=this.qr.add(n)}$r(e,t){e.forEach(e=>this.addReference(e,t))}removeReference(e,t){this.Wr(new oO(e,t))}Qr(e,t){e.forEach(e=>this.removeReference(e,t))}Gr(e){let t=new t0(new tY([])),n=new oO(t,e),r=new oO(t,e+1),i=[];return this.qr.forEachInRange([n,r],e=>{this.Wr(e),i.push(e.key)}),i}zr(){this.kr.forEach(e=>this.Wr(e))}Wr(e){this.kr=this.kr.delete(e),this.qr=this.qr.delete(e)}jr(e){let t=new t0(new tY([])),n=new oO(t,e),r=new oO(t,e+1),i=sh();return this.qr.forEachInRange([n,r],e=>{i=i.add(e.key)}),i}containsKey(e){let t=new oO(e,0),n=this.kr.firstAfterOrEqual(t);return null!==n&&e.isEqual(n.key)}}class oO{constructor(e,t){this.key=e,this.Hr=t}static Kr(e,t){return t0.comparator(e.key,t.key)||tG(e.Hr,t.Hr)}static Ur(e,t){return tG(e.Hr,t.Hr)||t0.comparator(e.key,t.key)}}class oM{constructor(e,t){this.indexManager=e,this.referenceDelegate=t,this.mutationQueue=[],this.Yn=1,this.Jr=new rP(oO.Kr)}checkEmpty(e){return np.resolve(0===this.mutationQueue.length)}addMutationBatch(e,t,n,r){let i=this.Yn;
20this.Yn++,this.mutationQueue.length>0&&this.mutationQueue[this.mutationQueue.length-1];let s=new sU(i,t,n,r);for(let t of(this.mutationQueue.push(s),r))this.Jr=this.Jr.add(new oO(t.key,i)),this.indexManager.addToCollectionParentIndex(e,t.key.path.popLast());return np.resolve(s)}lookupMutationBatch(e,t){return np.resolve(this.Zr(t))}getNextMutationBatchAfterBatchId(e,t){let n=this.Xr(t+1),r=n<0?0:n;return np.resolve(this.mutationQueue.length>r?this.mutationQueue[r]:null)}getHighestUnacknowledgedBatchId(){return np.resolve(0===this.mutationQueue.length?-1:this.Yn-1)}getAllMutationBatches(e){return np.resolve(this.mutationQueue.slice())}getAllMutationBatchesAffectingDocumentKey(e,t){let n=new oO(t,0),r=new oO(t,1/0),i=[];return this.Jr.forEachInRange([n,r],e=>{let t=this.Zr(e.Hr);i.push(t)}),np.resolve(i)}getAllMutationBatchesAffectingDocumentKeys(e,t){let n=new rP(tG);return t.forEach(e=>{let t=new oO(e,0),r=new oO(e,1/0);this.Jr.forEachInRange([t,r],e=>{n=n.add(e.Hr)})}),np.resolve(this.Yr(n))}getAllMutationBatchesAffectingQuery(e,t){let n=t.path,r=n.length+1,i=n;t0.isDocumentKey(i)||(i=i.child(""));let s=new oO(new t0(i),0),a=new rP(tG);return this.Jr.forEachWhile(e=>{let t=e.key.path;return!!n.isPrefixOf(t)&&(t.length===r&&(a=a.add(e.Hr)),!0)},s),np.resolve(this.Yr(a))}Yr(e){let t=[];return e.forEach(e=>{let n=this.Zr(e);null!==n&&t.push(n)}),t}removeMutationBatch(e,t){tN(0===this.ei(t.batchId,"removed"),55003),this.mutationQueue.shift();let n=this.Jr;return np.forEach(t.mutations,r=>{let i=new oO(r.key,t.batchId);return n=n.delete(i),this.referenceDelegate.markPotentiallyOrphaned(e,r.key)}).next(()=>{this.Jr=n})}nr(e){}containsKey(e,t){let n=new oO(t,0),r=this.Jr.firstAfterOrEqual(n);return np.resolve(t.isEqual(r&&r.key))}performConsistencyCheck(e){return this.mutationQueue.length,np.resolve()}ei(e,t){return this.Xr(e)}Xr(e){return 0===this.mutationQueue.length?0:e-this.mutationQueue[0].batchId}Zr(e){let t=this.Xr(e);return t<0||t>=this.mutationQueue.length?null:this.mutationQueue[t]}}class oL{constructor(e){this.ti=e,this.docs=new rO(t0.comparator),this.size=0}setIndexManager(e){this.indexManager=e}addEntry(e,t){let n=t.key,r=this.docs.get(n),i=r?r.size:0,s=this.ti(t);return this.docs=this.docs.insert(n,{document:t.mutableCopy(),size:s}),this.size+=s-i,this.indexManager.addToCollectionParentIndex(e,n.path.popLast())}removeEntry(e){let t=this.docs.get(e);t&&(this.docs=this.docs.remove(e),this.size-=t.size)}getEntry(e,t){let n=this.docs.get(t);return np.resolve(n?n.document.mutableCopy():iI.newInvalidDocument(t))}getEntries(e,t){let n=sr;return t.forEach(e=>{let t=this.docs.get(e);n=n.insert(e,t?t.document.mutableCopy():iI.newInvalidDocument(e))}),np.resolve(n)}getDocumentsMatchingQuery(e,t,n,r){let i=sr,s=t.path,a=new t0(s.child("__id-9223372036854775808__")),o=this.docs.getIteratorFrom(a);for(;o.hasNext();){let{key:e,value:{document:a}}=o.getNext();if(!s.isPrefixOf(e.path))break;e.path.length>s.length+1||0>=nd(nh(a),n)||(r.has(a.key)||i9(t,a))&&(i=i.insert(a.key,a.mutableCopy()))}return np.resolve(i)}getAllFromCollectionGroup(e,t,n,r){tD(9500)}ni(e,t){return np.forEach(this.docs,e=>t(e))}newChangeBuffer(e){return new oP(this)}getSize(e){return np.resolve(this.size)}}class oP extends oI{constructor(e){super(),this.Mr=e}applyChanges(e){let t=[];
vendor: 4,787 bytes, line 20
20return this.changes.forEach((n,r)=>{r.isValidDocument()?t.push(this.Mr.addEntry(e,r)):this.Mr.removeEntry(n)}),np.waitFor(t)}getFromCache(e,t){return this.Mr.getEntry(e,t)}getAllFromCache(e,t){return this.Mr.getEntries(e,t)}}class oF{constructor(e){this.persistence=e,this.ri=new sn(e=>i$(e),iG),this.lastRemoteSnapshotVersion=nn.min(),this.highestTargetId=0,this.ii=0,this.si=new oR,this.targetCount=0,this.oi=oc._r()}forEachTarget(e,t){return this.ri.forEach((e,n)=>t(n)),np.resolve()}getLastRemoteSnapshotVersion(e){return np.resolve(this.lastRemoteSnapshotVersion)}getHighestSequenceNumber(e){return np.resolve(this.ii)}allocateTargetId(e){return this.highestTargetId=this.oi.next(),np.resolve(this.highestTargetId)}setTargetsMetadata(e,t,n){return n&&(this.lastRemoteSnapshotVersion=n),t>this.ii&&(this.ii=t),np.resolve()}lr(e){this.ri.set(e.target,e);let t=e.targetId;t>this.highestTargetId&&(this.oi=new oc(t),this.highestTargetId=t),e.sequenceNumber>this.ii&&(this.ii=e.sequenceNumber)}addTargetData(e,t){return this.lr(t),this.targetCount+=1,np.resolve()}updateTargetData(e,t){return this.lr(t),np.resolve()}removeTargetData(e,t){return this.ri.delete(t.target),this.si.Gr(t.targetId),this.targetCount-=1,np.resolve()}removeTargets(e,t,n){let r=0,i=[];return this.ri.forEach((s,a)=>{a.sequenceNumber<=t&&null===n.get(a.targetId)&&(this.ri.delete(s),i.push(this.removeMatchingKeysForTargetId(e,a.targetId)),r++)}),np.waitFor(i).next(()=>r)}getTargetCount(e){return np.resolve(this.targetCount)}getTargetData(e,t){let n=this.ri.get(t)||null;return np.resolve(n)}addMatchingKeys(e,t,n){return this.si.$r(t,n),np.resolve()}removeMatchingKeys(e,t,n){this.si.Qr(t,n);let r=this.persistence.referenceDelegate,i=[];return r&&t.forEach(t=>{i.push(r.markPotentiallyOrphaned(e,t))}),np.waitFor(i)}removeMatchingKeysForTargetId(e,t){return this.si.Gr(t),np.resolve()}getMatchingKeysForTargetId(e,t){let n=this.si.jr(t);return np.resolve(n)}containsKey(e,t){return np.resolve(this.si.containsKey(t))}}class oV{constructor(e,t){this._i={},this.overlays={},this.ai=new nk(0),this.ui=!1,this.ui=!0,this.ci=new ok,this.referenceDelegate=e(this),this.li=new oF(this),this.indexManager=new a7,this.remoteDocumentCache=function(e){return new oL(e)}(e=>this.referenceDelegate.hi(e)),this.serializer=new aA(t),this.Pi=new oA(this.serializer)}start(){return Promise.resolve()}shutdown(){return this.ui=!1,Promise.resolve()}get started(){return this.ui}setDatabaseDeletedListener(){}setNetworkEnabled(){}getIndexManager(e){return this.indexManager}getDocumentOverlayCache(e){let t=this.overlays[e.toKey()];return t||(t=new oN,this.overlays[e.toKey()]=t),t}getMutationQueue(e,t){let n=this._i[e.toKey()];return n||(n=new oM(t,this.referenceDelegate),this._i[e.toKey()]=n),n}getGlobalsCache(){return this.ci}getTargetCache(){return this.li}getRemoteDocumentCache(){return this.remoteDocumentCache}getBundleCache(){return this.Pi}runTransaction(e,t,n){tT("MemoryPersistence","Starting transaction:",e);let r=new oB(this.ai.next());return this.referenceDelegate.Ti(),n(r).next(e=>this.referenceDelegate.Ii(r).next(()=>e)).toPromise().then(e=>(r.raiseOnCommittedEvent(),e))}Ei(e,t){return np.or(Object.values(this._i).map(n=>()=>n.containsKey(e,t)))}}class oB extends nm{constructor(e){super(),this.currentSequenceNumber=e}}class oU{constructor(e){this.persistence=e,this.Ri=new oR,this.Ai=null}static Vi(e){return new oU(e)}get di(){if(this.Ai)return this.Ai;throw tD(60996)}addReference(e,t,n){return this.Ri.addReference(n,t),this.di.delete(n.toString()),np.resolve()}removeReference(e,t,n){return this.Ri.removeReference(n,t),this.di.add(n.toString()),np.resolve()}markPotentiallyOrphaned(e,t){return this.di.add(t.toString()),np.resolve()}removeTarget(e,t){this.Ri.Gr(t.targetId).forEach(e=>this.di.add(e.toString()));let n=this.persistence.getTargetCache();return n.getMatchingKeysForTargetId(e,t.targetId).next(e=>{e.forEach(e=>this.di.add(e.toString()))}).next(()=>n.removeTargetData(e,t))}Ti(){this.Ai=new Set}Ii(e){let t=this.persistence.getRemoteDocumentCache().newChangeBuffer();return np.forEach(this.di,n=>{let r=t0.fromPath(n);return this.mi(e,r).next(e=>{e||t.removeEntry(r,nn.min())})}).next(()=>(this.Ai=null,t.apply(e)))}updateLimboDocument(e,t){return this.mi(e,t).next(e=>{e?this.di.delete(t.toString()):this.di.add(t.toString())})}hi(e){return 0}mi(e,t){return np.or([()=>np.resolve(this.Ri.containsKey(t)),()=>this.persistence.getTargetCache().containsKey(e,t),()=>this.persistence.Ei(e,t)])}}class oq{constructor(e,t){this.persistence=e,this.fi=new sn(e=>nL(e.path),(e,t)=>e.isEqual(t)),this.garbageCollector=function(e,t){return new ow(e,t)}(this,t)}static Vi(e,t){return new oq(e,t)}Ti(){}Ii(e){return np.resolve()}forEachTarget(e,t){return this.persistence.getTargetCache().forEac
20hTarget(e,t)}dr(e){let t=this.pr(e);return this.persistence.getTargetCache().getTargetCount(e).next(e=>t.next(t=>e+t))}pr(e){let t=0;return this.mr(e,e=>{t++}).next(()=>t)}mr(e,t){return np.forEach(this.fi,(n,r)=>this.wr(e,n,r).next(e=>e?np.resolve():t(r)))}removeTargets(e,t,n){return this.persistence.getTargetCache().removeTargets(e,t,n)}removeOrphanedDocuments(e,t){let n=0,r=this.persistence.getRemoteDocumentCache(),i=r.newChangeBuffer();return r.ni(e,r=>this.wr(e,r,t).next(e=>{e||(n++,i.removeEntry(r,nn.min()))})).next(()=>i.apply(e)).next(()=>n)}markPotentiallyOrphaned(e,t){return this.fi.set(t,e.currentSequenceNumber),np.resolve()}removeTarget(e,t){let n=t.withSequenceNumber(e.currentSequenceNumber);return this.persistence.getTargetCache().updateTargetData(e,n)}addReference(e,t,n){return this.fi.set(n,e.currentSequenceNumber),np.resolve()}removeReference(e,t,n){return this.fi.set(n,e.currentSequenceNumber),np.resolve()}updateLimboDocument(e,t){return this.fi.set(t,e.currentSequenceNumber),np.resolve()}hi(e){let t=e.key.toString().length;return e.isFoundDocument()&&(t+=function e(t){switch(r9(t)){case 0:case 1:return 4;case 2:return 8;case 3:case 8:return 16;case 4:let n=rX(t);return n?16+e(n):16;case 5:return 2*t.stringValue.length;case 6:return rK(t.bytesValue).approximateByteSize();case 7:return t.referenceValue.length;case 9:return(t.arrayValue.values||[]).reduce((t,n)=>t+e(n),0);case 10:case 11:var r;let i;return r=t.mapValue,i=0,rN(r.fields,(t,n)=>{i+=t.length+e(n)}),i;default:throw tD(13486,{value:t})}}(e.data.value)),t}wr(e,t,n){return np.or([()=>this.persistence.Ei(e,t),()=>this.persistence.getTargetCache().containsKey(e,t),()=>{let e=this.fi.get(t);return np.resolve(void 0!==e&&e>n)}])}getCacheSize(e){return this.persistence.getRemoteDocumentCache().getSize(e)}}class oj{constructor(e){this.serializer=e}k(e,t,n,r){let i=new nw("createOrUpgrade",t);n<1&&r>=1&&(e.createObjectStore(nV),e.createObjectStore(nU,{keyPath:"userId"}),e.createObjectStore(nq,{keyPath:nj,autoIncrement:!0}).createIndex(nz,n$,{unique:!0}),e.createObjectStore(nK),oz(e),e.createObjectStore(nF));let s=np.resolve();return n<3&&r>=3&&(0!==n&&(e.deleteObjectStore(n3),e.deleteObjectStore(n1),e.deleteObjectStore(n9),oz(e)),s=s.next(()=>{let e,t;return e=i.store(n9),t={highestTargetId:0,highestListenSequenceNumber:0,lastRemoteSnapshotVersion:nn.min().toTimestamp(),targetCount:0},e.put(n7,t)})),n<4&&r>=4&&(0!==n&&(s=s.next(()=>i.store(nq).H().next(t=>{e.deleteObjectStore(nq),e.createObjectStore(nq,{keyPath:nj,autoIncrement:!0}).createIndex(nz,n$,{unique:!0});let n=i.store(nq),r=t.map(e=>n.put(e));return np.waitFor(r)}))),s=s.next(()=>{e.createObjectStore(rn,{keyPath:"clientId"})})),n<5&&r>=5&&(s=s.next(()=>this.gi(i))),n<6&&r>=6&&(s=s.next(()=>(e.createObjectStore(nZ),this.pi(i)))),n<7&&r>=7&&(s=s.next(()=>this.yi(i))),n<8&&r>=8&&(s=s.next(()=>this.wi(e,i))),n<9&&r>=9&&(s=s.next(()=>{e.objectStoreNames.contains("remoteDocumentChanges")&&e.deleteObjectStore("remoteDocumentChanges")})),n<10&&r>=10&&(s=s.next(()=>this.bi(i))),n<11&&r>=11&&(s=s.next(()=>{e.createObjectStore(rr,{keyPath:"bundleId"}),e.createObjectStore(ri,{keyPath:"name"})})),n<12&&r>=12&&(s=s.next(()=>{let t;(t=e.createObjectStore(rg,{keyPath:rp})).createIndex(ry,rw,{unique:!1}),t.createIndex(rv,rb,{unique:!1})})),n<13&&r>=13&&(s=s.next(()=>{let t;(t=e.createObjectStore(nQ,{keyPath:nH})).createIndex(nW,nJ),t.createIndex(nY,nX)}).next(()=>this.Si(e,i)).next(()=>e.deleteObjectStore(nF))),n<14&&r>=14&&(s=s.next(()=>this.Di(e,i))),n<15&&r>=15&&(s=s.next(()=>{e.createObjectStore(rs,{keyPath:"indexId",autoIncrement:!0}).createIndex(ra,"collectionGroup",{unique:!1}),e.createObjectStore(ro,{keyPath:rl}).createIndex(ru,rh,{unique:!1}),e.createObjectStore(rc,{keyPath:rd}).createIndex(rf,rm,{unique:!1})})),n<16&&r>=16&&(s=s.next(()=>{t.objectStore(ro).clear()}).next(()=>{t.objectStore(rc).clear()})),n<17&&r>=17&&(s=s.next(()=>{e.createObjectStore(rI,{keyPath:"name"})})),n<18&&r>=18&&Y()&&(s=s.next(()=>{t.objectStore(ro).clear()}).next(()=>{t.objectStore(rc).clear()})),s}pi(e){let t=0;return e.store(nF).ee((e,n)=>{t+=oo(n)}).next(()=>{let n={byteSize:t};return e.store(nZ).put(n0,n)})}gi(e){let t=e.store(nU),n=e.store(nq);return t.H().next(t=>
20np.forEach(t,t=>{let r=IDBKeyRange.bound([t.userId,-1],[t.userId,t.lastAcknowledgedBatchId]);return n.H(nz,r).next(n=>np.forEach(n,n=>{tN(n.userId===t.userId,18650,"Cannot process batch from unexpected user",{batchId:n.batchId});let r=aM(this.serializer,n);return oa(e,t.userId,r).next(()=>{})}))}))}yi(e){let t=e.store(n3),n=e.store(nF);return e.store(n9).get(n7).next(e=>{let r=[];return n.ee((n,i)=>{let s=new tY(n),a=[0,nL(s)];r.push(t.get(a).next(n=>n?np.resolve():t.put({targetId:0,path:nL(s),sequenceNumber:e.highestListenSequenceNumber})))}).next(()=>np.waitFor(r))})}wi(e,t){e.createObjectStore(re,{keyPath:rt});let n=t.store(re),r=new a9,i=e=>{if(r.add(e)){let t=e.lastSegment(),r=e.popLast();return n.put({collectionId:t,parent:nL(r)})}};return t.store(nF).ee({Y:!0},(e,t)=>i(new tY(e).popLast())).next(()=>t.store(nK).ee({Y:!0},([e,t,n],r)=>i(nP(t).popLast())))}bi(e){let t=e.store(n1);return t.ee((e,n)=>{let r=aL(n),i=aP(this.serializer,r);return t.put(i)})}Si(e,t){let n=t.store(nF),r=[];return n.ee((e,n)=>{let i=t.store(nQ),s=(n.document?new t0(tY.fromString(n.document.name).popFirst(5)):n.noDocument?t0.fromSegments(n.noDocument.path):n.unknownDocument?t0.fromSegments(n.unknownDocument.path):tD(36783)).path.toArray(),a={prefixPath:s.slice(0,s.length-2),collectionGroup:s[s.length-2],documentId:s[s.length-1],readTime:n.readTime||[0,0],unknownDocument:n.unknownDocument,noDocument:n.noDocument,document:n.document,hasCommittedMutations:!!n.hasCommittedMutations};r.push(i.put(a))}).next(()=>np.waitFor(r))}Di(e,t){let n=t.store(nq),r=new o_(this.serializer),i=new oV(oU.Vi,this.serializer.yt);return n.H().next(e=>{let n=new Map;return e.forEach(e=>{let t=n.get(e.userId)??sh();aM(this.serializer,e).keys().forEach(e=>t=t.add(e)),n.set(e.userId,t)}
20),np.forEach(n,(e,n)=>{let s=new tv(n),a=aj.wt(this.serializer,s),o=i.getIndexManager(s);return new oD(r,ol.wt(s,this.serializer,o,i.referenceDelegate),a,o).recalculateAndSaveOverlaysForDocumentKeys(new rx(t,nk.ce),e).next()})})}}function oz(e){e.createObjectStore(n3,{keyPath:n4}).createIndex(n5,n8,{unique:!0}),e.createObjectStore(n1,{keyPath:"targetId"}).createIndex(n2,n6,{unique:!0}),e.createObjectStore(n9)}let o$="IndexedDbPersistence",oG="Failed to obtain exclusive access to the persistence layer. To allow shared access, multi-tab synchronization has to be enabled in all tabs. If you are using `experimentalForceOwningTab:true`, make sure that only one tab has persistence enabled at any given time.",oK="main";class oQ{constructor(e,t,n,r,i,s,a,o,l,u,h=18){if(this.allowTabSynchronization=e,this.persistenceKey=t,this.clientId=n,this.Ci=i,this.window=s,this.document=a,this.Fi=l,this.Mi=u,this.xi=h,this.ai=null,this.ui=!1,this.isPrimary=!1,this.networkEnabled=!0,this.Oi=null,this.inForeground=!1,this.Ni=null,this.Bi=null,this.Li=-1/0,this.ki=e=>Promise.resolve(),!oQ.v())throw new tO(tR.UNIMPLEMENTED,"This platform is either missing IndexedDB or is known to have an incomplete implementation. Offline persistence has been disabled.");this.referenceDelegate=new ov(this,r),this.Ki=t+oK,this.serializer=new aA(o),this.qi=new nv(this.Ki,this.xi,new oj(this.serializer)),this.ci=new az,this.li=new od(this.referenceDelegate,this.serializer),this.remoteDocumentCache=function(e){return new o_(e)}(this.serializer),this.Pi=new aq,this.window&&this.window.localStorage?this.Ui=this.window.localStorage:(this.Ui=null,!1===u&&tS(o$,"LocalStorage is unavailable. As a result, persistence may not work reliably. In particular enablePersistence() could fail immediately after refreshing the page."))}start(){return this.$i().then(()=>{if(!this.isPrimary&&!this.allowTabSynchronization)throw new tO(tR.FAILED_PRECONDITION,oG);return this.Wi(),this.Qi(),this.Gi(),this.runTransaction("getHighestListenSequenceNumber","readonly",e=>this.li.getHighestSequenceNumber(e))}).then(e=>{this.ai=new nk(e,this.Fi)}).then(()=>{this.ui=!0}).catch(e=>(this.qi&&this.qi.close(),Promise.reject(e)))}zi(e){return this.ki=async t=>{if(this.started)return e(t)},e(this.isPrimary)}setDatabaseDeletedListener(e){this.qi.q(async t=>{null===t.newVersion&&await e()})}setNetworkEnabled(e){this.networkEnabled!==e&&(this.networkEnabled=e,this.Ci.enqueueAndForget(async()=>{this.started&&await this.$i()}))}$i(){return this.runTransaction("updateClientMetadataAndTryBecomePrimary","readwrite",e=>rD(e,rn).put({clientId:this.clientId,updateTimeMs:Date.now(),networkEnabled:this.networkEnabled,inForeground:this.inForeground}).next(()=>{if(this.isPrimary)return this.ji(e).next(e=>{e||(this.isPrimary=!1,this.Ci.enqueueRetryable(()=>this.ki(!1)))})}).next(()=>this.Hi(e)).next(t=>this.isPrimary&&!t?this.Ji(e).next(()=>!1):!!t&&this.Zi(e).next(()=>!0))).catch(e=>{if(nE(e))return tT(o$,"Failed to extend owner lease: ",e),this.isPrimary;if(!this.allowTabSynchronization)throw e;return tT(o$,"Releasing owner lease after error during lease refresh",e),!1}).then(e=>{this.isPrimary!==e&&this.Ci.enqueueRetryable(()=>this.ki(e)),this.isPrimary=e})}ji(e){return rD(e,nV).get(nB).next(e=>np.resolve(this.Xi(e)))}Yi(e){return rD(e,rn).delete(this.clientId)}async es(){if(this.isPrimary&&!this.ts(this.Li,18e5)){this.Li=Date.now();let e=await this.runTransaction("maybeGarbageCollectMultiClientState","readwrite-primary",e=>{let t=rD(e,rn);return t.H().next(e=>{let n=this.ns(e,18e5),r=e.filter(e=>-1===n.indexOf(e));return np.forEach(r,e=>t.delete(e.clientId)).next(()=>r)})}).catch(()=>[]);if(this.Ui)for(let t of e)this.Ui.removeItem(this.rs(t.clientId))}}Gi(){this.Bi=this.Ci.enqueueAfterDelay("client_metadata_refresh",4e3,()=>this.$i().then(()=>this.es()).then(()=>this.Gi()))}Xi(e){return!!e&&e.ownerId===this.clientId}Hi(e){return this.Mi?np.resolve(!0):rD(e,nV).get(nB).next(t=>{if(null!==t&&this.ts(t.leaseTimestampMs,5e3)&&!this.ss(t.ownerId)){if(this.Xi(t)&&this.networkEnabled)return!0;if(!this.Xi(t)){if(!t.allowTabSynchronization)throw new tO(tR.FAILED_PRECONDITION,oG);return!1}}return!(!this.networkEnabled||!this.inForeground)||rD(e,rn).H().next(e=>void 0===this.ns(e,5e3).find(e=>{if(this.clientId!==e.clientId){let t=!this.networkEnabled&&e.networkEnabled,n=!this.inForeground&&e.inForeground,r=this.networkEnabled===e.networkEnabled;if(t||n&&r)return!0}return!1}))}).next(e=>(this.isPrimary!==e&&tT(o$,`Client ${e?"is":"is not"} eligible for a primary lease.`),e))}async shutdown(){this.ui=!1,this._s(),this.Bi&&(this.Bi.cancel(),this.Bi=null),this.us(),this.cs(),await this.qi.runTransaction("shutdown","readwrite",[nV,rn],e=>{let t=new rx(e,nk.ce);return this.Ji(t).next(()=>this.Yi(t))}),this.qi.close(),this.ls()}ns(e,t){return e.filter(e=>this.ts(e.updateTimeMs,t)&&!this.ss(e.clientId))}hs(){return this.runTransaction("getActiveClients","readonly",e=>rD(e,rn).H().next(e=>this.ns(e,18e5).map(e=>e.clientId)))}get started(){return this.ui}getGlobalsCache(){return this.ci}getMutationQueue(e,t){return ol.wt(e,this.serializer,t,this.referenceDelegate)}getTargetCache(){return this.li}getRemoteDocumentCache(){return this.remoteDocumentCache}getIndexManager(e){return new on(e,this.serializer.yt.databaseId)}getDocumentOverlayCache(e){return aj.wt(this.serializer,e)}getBundleCache(){return this.Pi}runTransaction(e,t,n){var r;let i;tT(o$,"Starting transaction:",e);let s=18===(r=this.xi)||17===r?rC:16===r||15===r?rS:14===r||13===r?rT:12===r?rE:11===r?r_:void tD(60245);return this.qi.runTransaction(e,"readonly"===t?"readonly":"readwrite",s,r=>(i=new rx(r,this.ai?this.ai.next():nk.ce),"readwrite-primary"===t?this.ji(i).next(e=>!!e||this.Hi(i)).next(t=>
20{if(!t)throw tS(`Failed to obtain primary lease for action '${e}'.`),this.isPrimary=!1,this.Ci.enqueueRetryable(()=>this.ki(!1)),new tO(tR.FAILED_PRECONDITION,nf);return n(i)}).next(e=>this.Zi(i).next(()=>e)):this.Ps(i).next(()=>n(i)))).then(e=>(i.raiseOnCommittedEvent(),e))}Ps(e){return rD(e,nV).get(nB).next(e=>{if(null!==e&&this.ts(e.leaseTimestampMs,5e3)&&!this.ss(e.ownerId)&&!this.Xi(e)&&!(this.Mi||this.allowTabSynchronization&&e.allowTabSynchronization))throw new tO(tR.FAILED_PRECONDITION,oG)})}Zi(e){let t={ownerId:this.clientId,allowTabSynchronization:this.allowTabSynchronization,leaseTimestampMs:Date.now()};return rD(e,nV).put(nB,t)}static v(){return nv.v()}Ji(e){let t=rD(e,nV);return t.get(nB).next(e=>this.Xi(e)?(tT(o$,"Releasing primary lease."),t.delete(nB)):np.resolve())}ts(e,t){let n=Date.now();return!(e<n-t)&&(!(e>n)||(tS(`Detected an update time that is in the future: ${e} > ${n}`),!1))}Wi(){null!==this.document&&"function"==typeof this.document.addEventListener&&(this.Ni=()=>{this.Ci.enqueueAndForget(()=>(this.inForeground="visible"===this.document.visibilityState,this.$i()))},this.document.addEventListener("visibilitychange",this.Ni),this.inForeground="visible"===this.document.visibilityState)}us(){this.Ni&&(this.document.removeEventListener("visibilitychange",this.Ni),this.Ni=null)}Qi(){"function"==typeof this.window?.addEventListener&&(this.Oi=()=>{this._s();let e=/(?:Version|Mobile)\/1[456]/;J()&&(navigator.appVersion.match(e)||navigator.userAgent.match(e))&&this.Ci.enterRestrictedMode(!0),this.Ci.enqueueAndForget(()=>this.shutdown())},this.window.addEventListener("pagehide",this.Oi))}cs(){this.Oi&&(this.window.removeEventListener("pagehide",this.Oi),this.Oi=null)}ss(e){try{let t=null!==this.Ui?.getItem(this.rs(e));return tT(o$,`Client '${e}' ${t?"is":"is not"} zombied in LocalStorage`),t}catch(e){return tS(o$,"Failed to get zombied client id.",e),!1}}_s(){if(this.Ui)try{this.Ui.setItem(this.rs(this.clientId),String(Date.now()))}catch(e){tS("Failed to set zombie client id.",e)}}ls(){if(this.Ui)try{this.Ui.removeItem(this.rs(this.clientId))}catch(e){}}rs(e){return`firestore_zombie_${this.persistenceKey}_${e}`}}function oH(e,t){let n=e.projectId;return e.isDefaultDatabase||(n+="."+e.database),"firestore/"+t+"/"+n+"/"}class oW{constructor(e,t,n,r){this.targetId=e,this.fromCache=t,this.Ts=n,this.Is=r}static Es(e,t){let n=sh(),r=sh();for(let e of t.docChanges)switch(e.type){case 0:n=n.add(e.doc.key);break;case 1:r=r.add(e.doc.key)}return new oW(e,t.fromCache,n,r)}}class oJ{constructor(){this._documentReadCount=0}get documentReadCount(){return this._documentReadCount}incrementDocumentReadCount(e){this._documentReadCount+=e}}class oY{constructor(){this.Rs=!1,this.As=!1,this.Vs=100,this.ds=J()?8:nb(q())>0?6:4}initialize(e,t){this.fs=e,this.indexManager=t,this.Rs=!0}getDocumentsMatchingQuery(e,t,n,r){let i={result:null};return this.gs(e,t).next(e=>{i.result=e}).next(()=>{if(!i.result)return this.ps(e,t,r,n).next(e=>{i.result=e})}).next(()=>{if(i.result)return;let n=new oJ;return this.ys(e,t,n).next(r=>{if(i.result=r,this.As)return this.ws(e,t,n,r.size)})}).next(()=>i.result)}ws(e,t,n,r){return n.documentReadCount<this.Vs?(t_()<=s.DEBUG&&tT("QueryEngine","SDK will not create cache indexes for query:",i7(t),"since it only creates cache indexes for collection contains","more than or equal to",this.Vs,"documents"),np.resolve()):(t_()<=s.DEBUG&&tT("QueryEngine","Query:",i7(t),"scans",n.documentReadCount,"local documents and returns",r,"documents as results."),n.documentReadCount>this.ds*r?(t_()<=s.DEBUG&&tT("QueryEngine","The SDK decides to create cache indexes for query:",i7(t),"as using cache indexes may help improve performance."),this.indexManager.createTargetIndexes(e,i1(t))):np.resolve())}gs(e,t){if(iX(t))return np.resolve(null);let n=i1(t);return this.indexManager.getIndexType(e,n).next(r=>0===r?null:(null!==t.limit&&1===r&&(n=i1(t=i4(t,null,"F"))),this.indexManager.getDocumentsMatchingTarget(e,n).next(r=>{let i=sh(...r);return this.fs.getDocuments(e,i).next(r=>this.indexManager.getMinOffset(e,n).next(n=>{let s=this.bs(t,r);return this.Ss(t,s,i,n.readTime)?this.gs(e,i4(t,null,"F")):this.Ds(e,s,t,n)}))})))}ps(e,t,n,r){return iX(t)||r.isEqual(nn.min())?np.resolve(null):this.fs.getDocuments(e,n).next(i=>{let a=this.bs(t,i);return this.Ss(t,a,n,r)?np.resolve(null):(t_()<=s.DEBUG&&tT("QueryEngine","Re-using previous result from %s to execute query: %s",r.toString(),i7(t)),this.Ds(e,a,t,nu(r,-1)).next(e=>e))})}bs(e,t){let n=new rP(st(e));return t.forEach((t,r)=>{i9(e,r)&&(n=n.add(r))}),n}Ss(e,t,n,r){if(null===e.limit)return!1;if(n.size!==t.size)return!0;let i="F"===e.limitType?t.last():t.first();return!!i&&(i.hasPendingWrites||i.version.compareTo(r)>0)}ys(e,t,n){return t_()<=s.DEBUG&&tT("QueryEngine","Using full collection scan to execute query:",i7(t)),this.fs.getDocumentsMatchingQuery(e,t,nc.min(),n)}Ds(e,t,n,r){return this.fs.getDocumentsMatchingQuery(e,n,r).next(e=>(t.forEach(t=>{e=e.insert(t.key,t)}),e))}}let oX="LocalStore";class oZ{constructor(e,t,n,r){this.persistence=e,this.Cs=t,this.serializer
20=r,this.vs=new rO(tG),this.Fs=new sn(e=>i$(e),iG),this.Ms=new Map,this.xs=e.getRemoteDocumentCache(),this.li=e.getTargetCache(),this.Pi=e.getBundleCache(),this.Os(n)}Os(e){this.documentOverlayCache=this.persistence.getDocumentOverlayCache(e),this.indexManager=this.persistence.getIndexManager(e),this.mutationQueue=this.persistence.getMutationQueue(e,this.indexManager),this.localDocuments=new oD(this.xs,this.mutationQueue,this.documentOverlayCache,this.indexManager),this.xs.setIndexManager(this.indexManager),this.Cs.initialize(this.localDocuments,this.indexManager)}collectGarbage(e){return this.persistence.runTransaction("Collect garbage","readwrite-primary",t=>e.collect(t,this.vs))}}async function o0(e,t){return await e.persistence.runTransaction("Handle user change","readonly",n=>{let r;return e.mutationQueue.getAllMutationBatches(n).next(i=>(r=i,e.Os(t),e.mutationQueue.getAllMutationBatches(n))).next(t=>{let i=[],s=[],a=sh();for(let e of r)for(let t of(i.push(e.batchId),e.mutations))a=a.add(t.key);for(let e of t)for(let t of(s.push(e.batchId),e.mutations))a=a.add(t.key);return e.localDocuments.getDocuments(n,a).next(e=>({Ns:e,removedBatchIds:i,addedBatchIds:s}))})})}function o1(e){return e.persistence.runTransaction("Get last remote snapshot version","readonly",t=>e.li.getLastRemoteSnapshotVersion(t))}function o2(e,t,n){let r=sh(),i=sh();return n.forEach(e=>r=r.add(e)),t.getEntries(e,r).next(e=>{let r=sr;return n.forEach((n,s)=>{let a=e.get(n);s.isFoundDocument()!==a.isFoundDocument()&&(i=i.add(n)),s.isNoDocument()&&s.version.isEqual(nn.min())?(t.removeEntry(n,s.readTime),r=r.insert(n,s)):!a.isValidDocument()||s.version.compareTo(a.version)>0||0===s.version.compareTo(a.version)&&a.hasPendingWrites?(t.addEntry(s),r=r.insert(n,s)):tT(oX,"Ignoring outdated watch update for ",n,". Current version:",a.version," Watch version:",s.version)}),{Bs:r,Ls:i}})}function o6(e,t){return e.persistence.runTransaction("Allocate target","readwrite",n=>{let r;return e.li.getTargetData(n,t).next(i=>i?(r=i,np.resolve(r)):e.li.allocateTargetId(n).next(i=>(r=new aD(t,i,"TargetPurposeListen",n.currentSequenceNumber),e.li.addTargetData(n,r).next(()=>r))))}).then(n=>{let r=e.vs.get(n.targetId);return(null===r||n.snapshotVersion.compareTo(r.snapshotVersion)>0)&&(e.vs=e.vs.insert(n.targetId,n),e.Fs.set(t,n.targetId)),n})}async function o3(e,t,n){let r=e.vs.get(t);try{n||await e.persistence.runTransaction("Release target",n?"readwrite":"readwrite-primary",t=>e.persistence.referenceDelegate.removeTarget(t,r))}catch(e){if(!nE(e))throw e;tT(oX,`Failed to update sequence numbers for target ${t}: ${e}`)}e.vs=e.vs.remove(t),e.Fs.delete(r.target)}function o4(e,t,n){let r=nn.min(),i=sh();return e.persistence.runTransaction("Execute query","readwrite",s=>{var a;let o;return(a=i1(t),void 0!==(o=e.Fs.get(a))?np.resolve(e.vs.get(o)):e.li.getTargetData(s,a)).next(t=>{if(t)return r=t.lastLimboFreeSnapshotVersion,e.li.getMatchingKeysForTargetId(s,t.targetId).next(e=>{i=e})}).next(()=>e.Cs.getDocumentsMatchingQuery(s,t,n?r:nn.min(),n?i:sh())).next(n=>(o7(e,se(t),n),{documents:n,ks:i}))})}function o5(e,t){let n=e.li,r=e.vs.get(t);return r?Promise.resolve(r.target):e.persistence.runTransaction("Get target data","readonly",e=>n.At(e,t).next(e=>e?e.target:null))}function o8(e,t){let n=e.Ms.get(t)||nn.min();return e.persistence.runTransaction("Get new document changes","readonly",r=>e.xs.getAllFromCollectionGroup(r,t,nu(n,-1),Number.MAX_SAFE_INTEGER)).then(n=>(o7(e,t,n),n))}function o7(e,t,n){let r=e.Ms.get(t)||nn.min();n.forEach((e,t)=>{t.readTime.compareTo(r)>0&&(r=t.readTime)}),e.Ms.set(t,r)}async function o9(e,t,n,r){let i=sh(),s=sr;for(let e of n){let n=t.Ks(e.metadata.name);e.document&&(i=i.add(n));let r=t.qs(e);r.setReadTime(t.Us(e.metadata.readTime)),s=s.insert(n,r)}let a=e.xs.newChangeBuffer({trackRemovals:!0}),o=await o6(e,i1(iY(tY.fromString(`__bundle__/docs/${r}`))));return e.persistence.runTransaction("Apply bundle documents","readwrite",t=>o2(t,a,s).next(e=>(a.apply(t),e)).next(n=>e.li.removeMatchingKeysForTargetId(t,o.targetId).next(()=>e.li.addMatchingKeys(t,i,o.targetId)).next(()=>e.localDocuments.getLocalViewOfDocuments(t,n.Bs,n.Ls)).next(()=>
20n.Bs)))}async function le(e,t,n=sh()){let r=await o6(e,i1(aF(t.bundledQuery)));return e.persistence.runTransaction("Save named query","readwrite",i=>{let s=aa(t.readTime);if(r.snapshotVersion.compareTo(s)>=0)return e.Pi.saveNamedQuery(i,t);let a=r.withResumeToken(rj.EMPTY_BYTE_STRING,s);return e.vs=e.vs.insert(a.targetId,a),e.li.updateTargetData(i,a).next(()=>e.li.removeMatchingKeysForTargetId(i,r.targetId)).next(()=>e.li.addMatchingKeys(i,n,r.targetId)).next(()=>e.Pi.saveNamedQuery(i,t))})}let lt="firestore_clients";function ln(e,t){return`${lt}_${e}_${t}`}let lr="firestore_mutations";function li(e,t,n){let r=`${lr}_${e}_${n}`;return t.isAuthenticated()&&(r+=`_${t.uid}`),r}let ls="firestore_targets";function la(e,t){return`${ls}_${e}_${t}`}let lo="SharedClientState";class ll{constructor(e,t,n,r){this.user=e,this.batchId=t,this.state=n,this.error=r}static $s(e,t,n){let r=JSON.parse(n),i,s="object"==typeof r&&-1!==["pending","acknowledged","rejected"].indexOf(r.state)&&(void 0===r.error||"object"==typeof r.error);return s&&r.error&&(s="string"==typeof r.error.message&&"string"==typeof r.error.code)&&(i=new tO(r.error.code,r.error.message)),s?new ll(e,t,r.state,i):(tS(lo,`Failed to parse mutation state for ID '${t}': ${n}`),null)}Ws(){let e={state:this.state,updateTimeMs:Date.now()};return this.error&&(e.error={code:this.error.code,message:this.error.message}),JSON.stringify(e)}}class lu{constructor(e,t,n){this.targetId=e,this.state=t,this.error=n}static $s(e,t){let n=JSON.parse(t),r,i="object"==typeof n&&-1!==["not-current","current","rejected"].indexOf(n.state)&&(void 0===n.error||"object"==typeof n.error);return i&&n.error&&(i="string"==typeof n.error.message&&"string"==typeof n.error.code)&&(r=new tO(n.error.code,n.error.message)),i?new lu(e,n.state,r):(tS(lo,`Failed to parse target state for ID '${e}': ${t}`),null)}Ws(){let e={state:this.state,updateTimeMs:Date.now()};return this.error&&(e.error={code:this.error.code,message:this.error.message}),JSON.stringify(e)}}class lh{constructor(e,t){this.clientId=e,this.activeTargetIds=t}static $s(e,t){let n=JSON.parse(t),r="object"==typeof n&&n.activeTargetIds instanceof Array,i=sc;for(let e=0;r&&e<n.activeTargetIds.length;++e)r=nM(n.activeTargetIds[e]),i=i.add(n.activeTargetIds[e]);return r?new lh(e,i):(tS(lo,`Failed to parse client data for instance '${e}': ${t}`),null)}}class lc{constructor(e,t){this.clientId=e,this.onlineState=t}static $s(e){let t=JSON.parse(e);return"object"==typeof t&&-1!==["Unknown","Online","Offline"].indexOf(t.onlineState)&&"string"==typeof t.clientId?new lc(t.clientId,t.onlineState):(tS(lo,`Failed to parse online state: ${e}`),null)}}class ld{constructor(){this.activeTargetIds=sc}Qs(e){this.activeTargetIds=this.activeTargetIds.add(e)}Gs(e){this.activeTargetIds=this.activeTargetIds.delete(e)}Ws(){return JSON.stringify({activeTargetIds:this.activeTargetIds.toArray(),updateTimeMs:Date.now()})}}class lf{constructor(e,t,n,r,i){this.window=e,this.Ci=t,this.persistenceKey=n,this.zs=r,this.syncEngine=null,this.onlineStateHandler=null,this.sequenceNumberHandler=null,this.js=this.Hs.bind(this),this.Js=new rO(tG),this.started=!1,this.Zs=[];const s=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");this.storage=this.window.localStorage,this.currentUser=i,this.Xs=ln(this.persistenceKey,this.zs),this.Ys=function(e){return`firestore_sequence_number_${e}`}(this.persistenceKey),this.Js=this.Js.insert(this.zs,new ld),this.eo=RegExp(`^${lt}_${s}_([^_]*)$`),this.no=RegExp(`^${lr}_${s}_(\\d+)(?:_(.*))?$`),this.ro=RegExp(`^${ls}_${s}_(\\d+)$`),this.io=function(e){return`firestore_online_state_${e}`}(this.persistenceKey),this.so=function(e){return`firestore_bundle_loaded_v2_${e}`}(this.persistenceKey),this.window.addEventListener("storage",this.js)}static v(e){return!(!e||!e.localStorage)}async start(){for(let e of(await this.syncEngine.hs())){if(e===this.zs)continue;let t=this.getItem(ln(this.persistenceKey,e));if(t){let n=lh.$s(e,t);n&&(this.Js=this.Js.insert(n.clientId,n))}}this.oo();let e=this.storage.getItem(this.io);if(e){let t=this._o(e);t&&this.ao(t)}for(let e of this.Zs)this.Hs(e);this.Zs=[],this.window.addEventListener("pagehide",()=>this.shutdown()),this.started=!0}writeSequenceNumber(e){this.setItem(this.Ys,JSON.stringify(e))}getAllActiveQueryTargets(){return this.uo(this.Js)}isActiveQueryTarget(e){let t=!1;
20return this.Js.forEach((n,r)=>{r.activeTargetIds.has(e)&&(t=!0)}),t}addPendingMutation(e){this.co(e,"pending")}updateMutationState(e,t,n){this.co(e,t,n),this.lo(e)}addLocalQueryTarget(e,t=!0){let n="not-current";if(this.isActiveQueryTarget(e)){let t=this.storage.getItem(la(this.persistenceKey,e));if(t){let r=lu.$s(e,t);r&&(n=r.state)}}return t&&this.ho.Qs(e),this.oo(),n}removeLocalQueryTarget(e){this.ho.Gs(e),this.oo()}isLocalQueryTarget(e){return this.ho.activeTargetIds.has(e)}clearQueryState(e){this.removeItem(la(this.persistenceKey,e))}updateQueryState(e,t,n){this.Po(e,t,n)}handleUserChange(e,t,n){t.forEach(e=>{this.lo(e)}),this.currentUser=e,n.forEach(e=>{this.addPendingMutation(e)})}setOnlineState(e){this.To(e)}notifyBundleLoaded(e){this.Io(e)}shutdown(){this.started&&(this.window.removeEventListener("storage",this.js),this.removeItem(this.Xs),this.started=!1)}getItem(e){let t=this.storage.getItem(e);return tT(lo,"READ",e,t),t}setItem(e,t){tT(lo,"SET",e,t),this.storage.setItem(e,t)}removeItem(e){tT(lo,"REMOVE",e),this.storage.removeItem(e)}Hs(e){if(e.storageArea===this.storage){if(tT(lo,"EVENT",e.key,e.newValue),e.key===this.Xs)return void tS("Received WebStorage notification for local change. Another client might have garbage-collected our state");this.Ci.enqueueRetryable(async()=>{if(this.started){if(null!==e.key){if(this.eo.test(e.key)){if(null==e.newValue){let t=this.Eo(e.key);return this.Ro(t,null)}{let t=this.Ao(e.key,e.newValue);if(t)return this.Ro(t.clientId,t)}}else if(this.no.test(e.key)){if(null!==e.newValue){let t=this.Vo(e.key,e.newValue);if(t)return this.mo(t)}}else if(this.ro.test(e.key)){if(null!==e.newValue){let t=this.fo(e.key,e.newValue);if(t)return this.po(t)}}else if(e.key===this.io){if(null!==e.newValue){let t=this._o(e.newValue);if(t)return this.ao(t)}}else if(e.key===this.Ys){let t=function(e){let t=nk.ce;if(null!=e)try{let n=JSON.parse(e);tN("number"==typeof n,30636,{yo:e}),t=n}catch(e){tS(lo,"Failed to read sequence number from WebStorage",e)}return t}(e.newValue);t!==nk.ce&&this.sequenceNumberHandler(t)}else if(e.key===this.so){let t=this.wo(e.newValue);await Promise.all(t.map(e=>this.syncEngine.bo(e)))}}}else this.Zs.push(e)})}}get ho(){return this.Js.get(this.zs)}oo(){this.setItem(this.Xs,this.ho.Ws())}co(e,t,n){let r=new ll(this.currentUser,e,t,n),i=li(this.persistenceKey,this.currentUser,e);this.setItem(i,r.Ws())}lo(e){let t=li(this.persistenceKey,this.currentUser,e);this.removeItem(t)}To(e){let t={clientId:this.zs,onlineState:e};this.storage.setItem(this.io,JSON.stringify(t))}Po(e,t,n){let r=la(this.persistenceKey,e),i=new lu(e,t,n);this.setItem(r,i.Ws())}Io(e){let t=JSON.stringify(Array.from(e));this.setItem(this.so,t)}Eo(e){let t=this.eo.exec(e);return t?t[1]:null}Ao(e,t){let n=this.Eo(e);return lh.$s(n,t)}Vo(e,t){let n=this.no.exec(e),r=Number(n[1]),i=void 0!==n[2]?n[2]:null;return ll.$s(new tv(i),r,t)}fo(e,t){let n=Number(this.ro.exec(e)[1]);return lu.$s(n,t)}_o(e){return lc.$s(e)}wo(e){return JSON.parse(e)}async mo(e){if(e.user.uid===this.currentUser.uid)return this.syncEngine.So(e.batchId,e.state,e.error);tT(lo,`Ignoring mutation for non-active user ${e.user.uid}`)}po(e){return this.syncEngine.Do(e.targetId,e.state,e.error)}Ro(e,t){let n=t?this.Js.insert(e,t):this.Js.remove(e),r=this.uo(this.Js),i=this.uo(n),s=[],a=[];return i.forEach(e=>{r.has(e)||s.push(e)}),r.forEach(e=>{i.has(e)||a.push(e)}),this.syncEngine.Co(s,a).then(()=>{this.Js=n})}ao(e){this.Js.get(e.clientId)&&this.onlineStateHandler(e.onlineState)}uo(e){let t=sc;return e.forEach((e,n)=>{t=t.unionWith(n.activeTargetIds)}),t}}class lm{constructor(){this.vo=new ld,this.Fo={},this.onlineStateHandler=null,this.sequenceNumberHandler=null}addPendingMutation(e){}updateMutationState(e,t,n){}addLocalQueryTarget(e,t=!0){return t&&this.vo.Qs(e),this.Fo[e]||"not-current"}updateQueryState(e,t,n){this.Fo[e]=t}removeLocalQueryTarget(e){this.vo.Gs(e)}isLocalQueryTarget(e){return this.vo.activeTargetIds.has(e)}clearQueryState(e){delete this.Fo[e]}getAllActiveQueryTargets(){return this.vo.activeTargetIds}isActiveQueryTarget(e){return this.vo.activeTargetIds.has(e)}start(){return this.vo=new ld,Promise.resolve()}handleUserChange(e,t,n){}setOnlineState(e){}shutdown(){}writeSequenceNumber(e){}notifyBundleLoaded(e){}}class lg{Mo(e){}shutdown(){}}let lp="ConnectivityMonitor";class ly{constructor(){this.xo=()=>this.Oo(),this.No=()=>this.Bo(),this.Lo=[],this.ko()}Mo(e){this.Lo.push(e)}shutdown(){window.removeEventListener("online",this.xo),window.removeEventListener("offline",this.No)}
20ko(){window.addEventListener("online",this.xo),window.addEventListener("offline",this.No)}Oo(){for(let e of(tT(lp,"Network connectivity changed: AVAILABLE"),this.Lo))e(0)}Bo(){for(let e of(tT(lp,"Network connectivity changed: UNAVAILABLE"),this.Lo))e(1)}static v(){return"u">typeof window&&void 0!==window.addEventListener&&void 0!==window.removeEventListener}}let lw=null;function lv(){return null===lw?lw=0x10000000+Math.round(0x80000000*Math.random()):lw++,"0x"+lw.toString(16)}let lb="RestConnection",lI={BatchGetDocuments:"batchGet",Commit:"commit",RunQuery:"runQuery",RunAggregationQuery:"runAggregationQuery",ExecutePipeline:"executePipeline"};class l_{get Ko(){return!1}constructor(e){this.databaseInfo=e,this.databaseId=e.databaseId;const t=e.ssl?"https":"http",n=encodeURIComponent(this.databaseId.projectId),r=encodeURIComponent(this.databaseId.database);this.qo=t+"://"+e.host,this.Uo=`projects/${n}/databases/${r}`,this.$o=this.databaseId.database===r1?`project_id=${n}`:`project_id=${n}&database_id=${r}`}Wo(e,t,n,r,i){let s=lv(),a=this.Qo(e,t.toUriEncodedString());tT(lb,`Sending RPC '${e}' ${s}:`,a,n);let o={"google-cloud-resource-prefix":this.Uo,"x-goog-request-params":this.$o};this.Go(o,r,i);let{host:l}=new URL(a),u=L(l);return this.zo(e,a,o,n,u).then(t=>(tT(lb,`Received RPC '${e}' ${s}: `,t),t),t=>{throw tC(lb,`RPC '${e}' ${s} failed with error: `,t,"url: ",a,"request:",n),t})}jo(e,t,n,r,i,s){return this.Wo(e,t,n,r,i)}Go(e,t,n){e["X-Goog-Api-Client"]="gl-js/ fire/"+tb,e["Content-Type"]="text/plain",this.databaseInfo.appId&&(e["X-Firebase-GMPID"]=this.databaseInfo.appId),t&&t.headers.forEach((t,n)=>e[n]=t),n&&n.headers.forEach((t,n)=>e[n]=t)}Qo(e,t){let n=lI[e],r=`${this.qo}/v1/${t}:${n}`;return this.databaseInfo.apiKey&&(r=`${r}?key=${encodeURIComponent(this.databaseInfo.apiKey)}`),r}terminate(){}}class lE{constructor(e){this.Ho=e.Ho,this.Jo=e.Jo}Zo(e){this.Xo=e}Yo(e){this.e_=e}t_(e){this.n_=e}onMessage(e){this.r_=e}close(){this.Jo()}send(e){this.Ho(e)}i_(){this.Xo()}s_(){this.e_()}o_(e){this.n_(e)}__(e){this.r_(e)}}let lT="WebChannelConnection",lS=(e,t,n)=>{e.listen(t,e=>{try{n(e)}catch(e){setTimeout(()=>{throw e},0)}})};class lC extends l_{constructor(e){super(e),this.a_=[],this.forceLongPolling=e.forceLongPolling,this.autoDetectLongPolling=e.autoDetectLongPolling,this.useFetchStreams=e.useFetchStreams,this.longPollingOptions=e.longPollingOptions}static u_(){lC.c_||(lS(m(),f.STAT_EVENT,e=>{e.stat===d.PROXY?tT(lT,"STAT_EVENT: detected buffering proxy"):e.stat===d.NOPROXY&&tT(lT,"STAT_EVENT: detected no buffering proxy")}),lC.c_=!0)}zo(e,t,n,r,i){let s=lv();return new Promise((i,a)=>{let o=new l;o.setWithCredentials(!0),o.listenOnce(h.COMPLETE,()=>{try{switch(o.getLastErrorCode()){case c.NO_ERROR:let t=o.getResponseJson();tT(lT,`XHR for RPC '${e}' ${s} received:`,JSON.stringify(t)),i(t);break;case c.TIMEOUT:tT(lT,`RPC '${e}' ${s} timed out`),a(new tO(tR.DEADLINE_EXCEEDED,"Request time out"));break;case c.HTTP_ERROR:let n=o.getStatus();if(tT(lT,`RPC '${e}' ${s} failed with status:`,n,"response text:",o.getResponseText()),n>0){let e=o.getResponseJson();Array.isArray(e)&&(e=e[0]);let t=e?.error;if(t&&t.status&&t.message){let e,n=(e=t.status.toLowerCase().replace(/_/g,"-"),Object.values(tR).indexOf(e)>=0?e:tR.UNKNOWN);a(new tO(n,t.message))}else a(new tO(tR.UNKNOWN,"Server responded with status "+o.getStatus()))}else a(new tO(tR.UNAVAILABLE,"Connection failed."));break;default:tD(9055,{l_:e,streamId:s,h_:o.getLastErrorCode(),P_:o.getLastError()})}}finally{tT(lT,`RPC '${e}' ${s} completed.`)}});let u=JSON.stringify(r);tT(lT,`RPC '${e}' ${s} sending request:`,r),o.send(t,"POST",u,n,15)})}T_(e,t,n){let r=lv(),i=[this.qo,"/","google.firestore.v1.Firestore","/",e,"/channel"],s=this.createWebChannelTransport(),a={httpSessionIdParam:"gsessionid",initMessageHeaders:{},messageUrlParams:{database:`projects/${this.databaseId.projectId}/databases/${this.databaseId.database}`},sendRawJson:!0,supportsCrossDomainXhr:!0,internalChannelParams:{forwardChannelRequestTimeoutMs:6e5},forceLongPolling:this.forceLongPolling,detectBufferingProxy:this.autoDetectLongPolling},o=this.longPollingOptions.timeoutSeconds;void 0!==o&&(a.longPollingTimeout=Math.round(1e3*o)),this.useFetchStreams&&(a.useFetchStreams=!0),this.Go(a.initMessageHeaders,t,n),a.encodeInitMessageHeaders=!0;let l=i.join("");tT(lT,`Creating RPC '${e}' stream ${r}: ${l}`,a);let h=s.createWebChannel(l,a);this.I_(h);let c=!1,d=!1,f=new lE({Ho:t=>{d?tT(lT,`Not sending because RPC '${e}' stream ${r} is closed:`,t):(c||(tT(lT,`Opening RPC '${e}' stream ${r} transport.`),h.open(),c=!0),tT(lT,`RPC '${e}' stream ${r} sending:`,t),h.send(t))},Jo:()=>h.close()});return lS(h,u.EventType.OPEN,()=>{d||(tT(lT,`RPC '${e}' stream ${r} transport opened.`),f.i_())}),lS(h,u.EventType.CLOSE,()=>{d||(d=!0,tT(lT,`RPC '${e}' stream ${r} transport closed`),f.o_(),this.E_(h))}
20),lS(h,u.EventType.ERROR,t=>{d||(d=!0,tC(lT,`RPC '${e}' stream ${r} transport errored. Name:`,t.name,"Message:",t.message),f.o_(new tO(tR.UNAVAILABLE,"The operation could not be completed")))}),lS(h,u.EventType.MESSAGE,t=>{if(!d){let n=t.data[0];tN(!!n,16349);let i=n?.error||n[0]?.error;if(i){tT(lT,`RPC '${e}' stream ${r} received error:`,i);let t=i.status,n=function(e){let t=p[e];if(void 0!==t)return sK(t)}(t),s=i.message;void 0===n&&(n=tR.INTERNAL,s="Unknown error status: "+t+" with message "+i.message),d=!0,f.o_(new tO(n,s)),h.close()}else tT(lT,`RPC '${e}' stream ${r} received:`,n),f.__(n)}}),lC.u_(),setTimeout(()=>{f.s_()},0),f}terminate(){this.a_.forEach(e=>e.close()),this.a_=[]}I_(e){this.a_.push(e)}E_(e){this.a_=this.a_.filter(t=>t===e)}Go(e,t,n){super.Go(e,t,n),this.databaseInfo.apiKey&&(e["x-goog-api-key"]=this.databaseInfo.apiKey)}createWebChannelTransport(){return g()}}function lx(){return"u">typeof window?window:null}function lD(){return"u">typeof document?document:null}function lA(e){return new an(e,!0)}lC.c_=!1;class lN{constructor(e,t,n=1e3,r=1.5,i=6e4){this.Ci=e,this.timerId=t,this.R_=n,this.A_=r,this.V_=i,this.d_=0,this.m_=null,this.f_=Date.now(),this.reset()}reset(){this.d_=0}g_(){this.d_=this.V_}p_(e){this.cancel();let t=Math.floor(this.d_+this.y_()),n=Math.max(0,Date.now()-this.f_),r=Math.max(0,t-n);r>0&&tT("ExponentialBackoff",`Backing off for ${r} ms (base delay: ${this.d_} ms, delay with jitter: ${t} ms, last attempt: ${n} ms ago)`),this.m_=this.Ci.enqueueAfterDelay(this.timerId,r,()=>(this.f_=Date.now(),e())),this.d_*=this.A_,this.d_<this.R_&&(this.d_=this.R_),this.d_>this.V_&&(this.d_=this.V_)}w_(){null!==this.m_&&(this.m_.skipDelay(),this.m_=null)}cancel(){null!==this.m_&&(this.m_.cancel(),this.m_=null)}y_(){return(Math.random()-.5)*this.d_}}let lk="PersistentStream";class lR{constructor(e,t,n,r,i,s,a,o){this.Ci=e,this.b_=n,this.S_=r,this.connection=i,this.authCredentialsProvider=s,this.appCheckCredentialsProvider=a,this.listener=o,this.state=0,this.D_=0,this.C_=null,this.v_=null,this.stream=null,this.F_=0,this.M_=new lN(e,t)}x_(){return 1===this.state||5===this.state||this.O_()}O_(){return 2===this.state||3===this.state}start(){this.F_=0,4!==this.state?this.auth():this.N_()}async stop(){this.x_()&&await this.close(0)}B_(){this.state=0,this.M_.reset()}L_(){this.O_()&&null===this.C_&&(this.C_=this.Ci.enqueueAfterDelay(this.b_,6e4,()=>this.k_()))}K_(e){this.q_(),this.stream.send(e)}async k_(){if(this.O_())return this.close(0)}q_(){this.C_&&(this.C_.cancel(),this.C_=null)}U_(){this.v_&&(this.v_.cancel(),this.v_=null)}async close(e,t){this.q_(),this.U_(),this.M_.cancel(),this.D_++,4!==e?this.M_.reset():t&&t.code===tR.RESOURCE_EXHAUSTED?(tS(t.toString()),tS("Using maximum backoff delay to prevent overloading the backend."),this.M_.g_()):t&&t.code===tR.UNAUTHENTICATED&&3!==this.state&&(this.authCredentialsProvider.invalidateToken(),this.appCheckCredentialsProvider.invalidateToken()),null!==this.stream&&(this.W_(),this.stream.close(),this.stream=null),this.state=e,await this.listener.t_(t)}W_(){}auth(){this.state=1;let e=this.Q_(this.D_),t=this.D_;Promise.all([this.authCredentialsProvider.getToken(),this.appCheckCredentialsProvider.getToken()]).then(([e,n])=>{this.D_===t&&this.G_(e,n)},t=>{e(()=>{let e=new tO(tR.UNKNOWN,"Fetching auth token failed: "+t.message);return this.z_(e)})})}G_(e,t){let n=this.Q_(this.D_);this.stream=this.j_(e,t),this.stream.Zo(()=>{n(()=>this.listener.Zo())}),this.stream.Yo(()=>{n(()=>(this.state=2,this.v_=this.Ci.enqueueAfterDelay(this.S_,1e4,()=>(this.O_()&&(this.state=3),Promise.resolve())),this.listener.Yo()))}),this.stream.t_(e=>{n(()=>this.z_(e))}),this.stream.onMessage(e=>{n(()=>1==++this.F_?this.H_(e):this.onNext(e))})}N_(){this.state=5,this.M_.p_(async()=>{this.state=0,this.start()})}z_(e){return tT(lk,`close with error: ${e}`),this.stream=null,this.close(4,e)}Q_(e){return t=>{this.Ci.enqueueAndForget(()=>this.D_===e?t():(tT(lk,"stream callback skipped by getCloseGuardedDispatcher."),Promise.resolve()))}}}class lO extends lR{constructor(e,t,n,r,i,s){super(e,"listen_stream_connection_backoff","listen_stream_idle","health_check_timeout",t,n,r,s
20),this.serializer=i}j_(e,t){return this.connection.T_("Listen",e,t)}H_(e){return this.onNext(e)}onNext(e){this.M_.reset();let t=function(e,t){let n;if("targetChange"in t){var r,i;t.targetChange;let s="NO_CHANGE"===(r=t.targetChange.targetChangeType||"NO_CHANGE")?0:"ADD"===r?1:"REMOVE"===r?2:"CURRENT"===r?3:"RESET"===r?4:tD(39313,{state:r}),a=t.targetChange.targetIds||[],o=(i=t.targetChange.resumeToken,e.useProto3Json?(tN(void 0===i||"string"==typeof i,58123),rj.fromBase64String(i||"")):(tN(void 0===i||i instanceof tm.Buffer||i instanceof Uint8Array,16193),rj.fromUint8Array(i||new Uint8Array))),l=t.targetChange.cause;n=new s3(s,a,o,l&&new tO(void 0===l.code?tR.UNKNOWN:sK(l.code),l.message||"")||null)}else if("documentChange"in t){t.documentChange;let r=t.documentChange;r.document,r.document.name,r.document.updateTime;let i=ac(e,r.document.name),s=aa(r.document.updateTime),a=r.document.createTime?aa(r.document.createTime):nn.min(),o=new ib({mapValue:{fields:r.document.fields}}),l=iI.newFoundDocument(i,s,a,o);n=new s2(r.targetIds||[],r.removedTargetIds||[],l.key,l)}else if("documentDelete"in t){t.documentDelete;let r=t.documentDelete;r.document;let i=ac(e,r.document),s=r.readTime?aa(r.readTime):nn.min(),a=iI.newNoDocument(i,s);n=new s2([],r.removedTargetIds||[],a.key,a)}else if("documentRemove"in t){t.documentRemove;let r=t.documentRemove;r.document;let i=ac(e,r.document);n=new s2([],r.removedTargetIds||[],i,null)}else{if(!("filter"in t))return tD(11601,{Vt:t});{t.filter;let e=t.filter;e.targetId;let{count:r=0,unchangedNames:i}=e,s=new s$(r,i);n=new s6(e.targetId,s)}}return n}(this.serializer,e),n=function(e){if(!("targetChange"in e))return nn.min();let t=e.targetChange;return t.targetIds&&t.targetIds.length?nn.min():t.readTime?aa(t.readTime):nn.min()}(e);return this.listener.J_(t,n)}Z_(e){let t,n={};n.database=am(this.serializer),n.addTarget=function(e,t){let n,r=t.target;if((n=iK(r)?{documents:ab(e,r)}:{query:aI(e,r).ft}).targetId=t.targetId,t.resumeToken.approximateByteSize()>0){n.resumeToken=as(e,t.resumeToken);let r=ar(e,t.expectedCount);null!==r&&(n.expectedCount=r)}else if(t.snapshotVersion.compareTo(nn.min())>0){n.readTime=ai(e,t.snapshotVersion.toTimestamp());let r=ar(e,t.expectedCount);null!==r&&(n.expectedCount=r)}return n}(this.serializer,e);let r=(this.serializer,null==(t=function(e){switch(e){case"TargetPurposeListen":return null;case"TargetPurposeExistenceFilterMismatch":return"existence-filter-mismatch";case"TargetPurposeExistenceFilterMismatchBloom":return"existence-filter-mismatch-bloom";case"TargetPurposeLimboResolution":return"limbo-document";default:return tD(28987,{purpose:e})}}(e.purpose))?null:{"goog-listen-tags":t});r&&(n.labels=r),this.K_(n)}X_(e){let t={};t.database=am(this.serializer),t.removeTarget=e,this.K_(t)}}class lM extends lR{constructor(e,t,n,r,i,s){super(e,"write_stream_connection_backoff","write_stream_idle","health_check_timeout",t,n,r,s),this.serializer=i}get Y_(){return this.F_>0}start(){this.lastStreamToken=void 0,super.start()}W_(){this.Y_&&this.ea([])}j_(e,t){return this.connection.T_("Write",e,t)}H_(e){return tN(!!e.streamToken,31322),this.lastStreamToken=e.streamToken,tN(!e.writeResults||0===e.writeResults.length,55816),this.listener.ta()}onNext(e){var t,n;tN(!!e.streamToken,12678),this.lastStreamToken=e.streamToken,this.M_.reset();let r=(t=e.writeResults,n=e.commitTime,t&&t.length>0?(tN(void 0!==n,14353),t.map(e=>{let t;return(t=e.updateTime?aa(e.updateTime):aa(n)).isEqual(nn.min())&&(t=aa(n)),new sC(t,e.transformResults||[])})):[]),i=aa(e.commitTime);return this.listener.na(i,r)}ra(){let e={};e.database=am(this.serializer),this.K_(e)}ea(e){let t={streamToken:this.lastStreamToken,writes:e.map(e=>aw(this.serializer,e))};this.K_(t)}}class lL{}class lP extends lL{constructor(e,t,n,r){super(),this.authCredentials=e,this.appCheckCredentials=t,this.connection=n,this.serializer=r,this.ia=!1}sa(){if(this.ia)throw new tO(tR.FAILED_PRECONDITION,"The client has already been terminated.")}Wo(e,t,n,r){return this.sa(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([i,s])=>this.connection.Wo(e,al(t,n),r,i,s)).catch(e=>{throw"FirebaseError"===e.name?(e.code===tR.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),e):new tO(tR.UNKNOWN,e.toString())})}jo(e,t,n,r,i){return this.sa(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([s,a])=>this.connection.jo(e,al(t,n),r,s,a,i)).catch(e=>{throw"FirebaseError"===e.name?(e.code===tR.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),e):new tO(tR.UNKNOWN,e.toString())})}terminate(){this.ia=!0,this.connection.terminate()}}class lF{constructor(e,t){this.asyncQueue=e,this.onlineStateHandler=t,this.state="Unknown",this.oa=0,this._a=null,this.aa=!0}ua(){0===this.oa&&(this.ca("Unknown"),this._a=this.asyncQueue.enqueueAfterDelay("online_state_timeout",1e4,()=>(this._a=null,this.la("Backend didn't respond within 10 seconds."),this.ca("Offline"),Promise.resolve())))}ha(e){"Online"===this.state?this.ca("Unknown"):(this.oa++,this.oa>=1&&(this.Pa(),this.la(`Connection failed 1 times. Most recent error: ${e.toString()}`),this.ca("Offline")))}set(e){this.Pa(),this.oa=0,"Online"===e&&(this.aa=!1),this.ca(e)}ca(e){e!==this.state&&(this.state=e,this.onlineStateHandler(e))}la(e){let t=`Could not reach Cloud Firestore backend. ${e}
21This typically indicates that your device does not have a healthy Internet connection at the moment. The client will operate in offline mode until it is able to successfully connect to the backend.`;this.aa?(tS(t),this.aa=!1):tT("OnlineStateTracker",t)}Pa(){null!==this._a&&(this._a.cancel(),this._a=null)}}let lV="RemoteStore";class lB{constructor(e,t,n,r,i){this.localStore=e,this.datastore=t,this.asyncQueue=n,this.remoteSyncer={},this.Ta=[],this.Ia=new Map,this.Ea=new Set,this.Ra=[],this.Aa=i,this.Aa.Mo(e=>{n.enqueueAndForget(async()=>
21{lH(this)&&(tT(lV,"Restarting streams for network reachability change."),await async function(e){e.Ea.add(4),await lq(e),e.Va.set("Unknown"),e.Ea.delete(4),await lU(e)}(this))})}),this.Va=new lF(n,r)}}async function lU(e){if(lH(e))for(let t of e.Ra)await t(!0)}async function lq(e){for(let t of e.Ra)await t(!1)}function lj(e,t){e.Ia.has(t.targetId)||(e.Ia.set(t.targetId,t),lQ(e)?lK(e):ue(e).O_()&&l$(e,t))}function lz(e,t){let n=ue(e);e.Ia.delete(t),n.O_()&&lG(e,t),0===e.Ia.size&&(n.O_()?n.L_():lH(e)&&e.Va.set("Unknown"))}function l$(e,t){if(e.da.$e(t.targetId),t.resumeToken.approximateByteSize()>0||t.snapshotVersion.compareTo(nn.min())>0){let n=e.remoteSyncer.getRemoteKeysForTarget(t.targetId).size;t=t.withExpectedCount(n)}ue(e).Z_(t)}function lG(e,t){e.da.$e(t),ue(e).X_(t)}function lK(e){e.da=new s5({getRemoteKeysForTarget:t=>e.remoteSyncer.getRemoteKeysForTarget(t),At:t=>e.Ia.get(t)||null,ht:()=>e.datastore.serializer.databaseId}),ue(e).start(),e.Va.ua()}function lQ(e){return lH(e)&&!ue(e).x_()&&e.Ia.size>0}function lH(e){return 0===e.Ea.size}async function lW(e){e.Va.set("Online")}async function lJ(e){e.Ia.forEach((t,n)=>{l$(e,t)})}async function lY(e,t){e.da=void 0,lQ(e)?(e.Va.ha(t),lK(e)):e.Va.set("Unknown")}async function lX(e,t,n){if(e.Va.set("Online"),t instanceof s3&&2===t.state&&t.cause)try{await async function(e,t){let n=t.cause;for(let r of t.targetIds)e.Ia.has(r)&&(await e.remoteSyncer.rejectListen(r,n),e.Ia.delete(r),e.da.removeTarget(r))}(e,t)}catch(n){tT(lV,"Failed to remove targets %s: %s ",t.targetIds.join(","),n),await lZ(e,n)}else if(t instanceof s2?e.da.Xe(t):t instanceof s6?e.da.st(t):e.da.tt(t),!n.isEqual(nn.min()))try{let t,r=await o1(e.localStore);n.compareTo(r)>
21=0&&await ((t=e.da.Tt(n)).targetChanges.forEach((t,r)=>{if(t.resumeToken.approximateByteSize()>0){let i=e.Ia.get(r);i&&e.Ia.set(r,i.withResumeToken(t.resumeToken,n))}}),t.targetMismatches.forEach((t,n)=>{let r=e.Ia.get(t);if(!r)return;e.Ia.set(t,r.withResumeToken(rj.EMPTY_BYTE_STRING,r.snapshotVersion)),lG(e,t);let i=new aD(r.target,t,n,r.sequenceNumber);l$(e,i)}),e.remoteSyncer.applyRemoteEvent(t))}catch(t){tT(lV,"Failed to raise snapshot:",t),await lZ(e,t)}}async function lZ(e,t,n){if(!nE(t))throw t;e.Ea.add(1),await lq(e),e.Va.set("Offline"),n||(n=()=>o1(e.localStore)),e.asyncQueue.enqueueRetryable(async()=>{tT(lV,"Retrying IndexedDB access"),await n(),e.Ea.delete(1),await lU(e)})}function l0(e,t){return t().catch(n=>lZ(e,n,t))}async function l1(e){var t;let n=ut(e),r=e.Ta.length>0?e.Ta[e.Ta.length-1].batchId:-1;for(;lH(t=e)&&t.Ta.length<10;)try{let t=await function(e,t){return e.persistence.runTransaction("Get next mutation batch","readonly",n=>(void 0===t&&(t=-1),e.mutationQueue.getNextMutationBatchAfterBatchId(n,t)))}(e.localStore,r);if(null===t){0===e.Ta.length&&n.L_();break}r=t.batchId,function(e,t){e.Ta.push(t);let n=ut(e);n.O_()&&n.Y_&&n.ea(t.mutations)}(e,t)}catch(t){await lZ(e,t)}l2(e)&&l6(e)}function l2(e){return lH(e)&&!ut(e).x_()&&e.Ta.length>0}function l6(e){ut(e).start()}async function l3(e){ut(e).ra()}async function l4(e){let t=ut(e);for(let n of e.Ta)t.ea(n.mutations)}async function l5(e,t,n){let r=e.Ta.shift(),i=sq.from(r,t,n);await l0(e,()=>e.remoteSyncer.applySuccessfulWrite(i)),await l1(e)}async function l8(e,t){t&&ut(e).Y_&&await async function(e,t){var n;if(sG(n=t.code)&&n!==tR.ABORTED){let n=e.Ta.shift();ut(e).B_(),await l0(e,()=>e.remoteSyncer.rejectFailedWrite(n.batchId,t)),await l1(e)}}(e,t),l2(e)&&l6(e)}async function l7(e,t){e.asyncQueue.verifyOperationInProgress(),tT(lV,"RemoteStore received new credentials");let n=lH(e);e.Ea.add(3),await lq(e),n&&e.Va.set("Unknown"),await e.remoteSyncer.handleCredentialChange(t),e.Ea.delete(3),await lU(e)}async function l9(e,t){t?(e.Ea.delete(2),await lU(e)):t||(e.Ea.add(2),await lq(e),e.Va.set("Unknown"))}function ue(e){var t,n,r;return e.ma||(t=e.datastore,n=e.asyncQueue,r={Zo:lW.bind(null,e),Yo:lJ.bind(null,e),t_:lY.bind(null,e),J_:lX.bind(null,e)},t.sa(),e.ma=new lO(n,t.connection,t.authCredentials,t.appCheckCredentials,t.serializer,r),e.Ra.push(async t=>{t?(e.ma.B_(),lQ(e)?lK(e):e.Va.set("Unknown")):(await e.ma.stop(),e.da=void 0)})),e.ma}function ut(e){var t,n,r;return e.fa||(t=e.datastore,n=e.asyncQueue,r={Zo:()=>Promise.resolve(),Yo:l3.bind(null,e),t_:l8.bind(null,e),ta:l4.bind(null,e),na:l5.bind(null,e)},t.sa(),e.fa=new lM(n,t.connection,t.authCredentials,t.appCheckCredentials,t.serializer,r),e.Ra.push(async t=>{t?(e.fa.B_(),await l1(e)):(await e.fa.stop(),e.Ta.length>0&&(tT(lV,`Stopping write stream with ${e.Ta.length} pending writes`),e.Ta=[]))})),e.fa}class un{constructor(e,t,n,r,i){this.asyncQueue=e,this.timerId=t,this.targetTimeMs=n,this.op=r,this.removalCallback=i,this.deferred=new tM,this.then=this.deferred.promise.then.bind(this.deferred.promise),this.deferred.promise.catch(e=>{})}get promise(){return this.deferred.promise}static createAndSchedule(e,t,n,r,i){let s=new un(e,t,Date.now()+n,r,i);return s.start(n),s}start(e){this.timerHandle=setTimeout(()=>this.handleDelayElapsed(),e)}skipDelay(){return this.handleDelayElapsed()}cancel(e){null!==this.timerHandle&&(this.clearTimeout(),this.deferred.reject(new tO(tR.CANCELLED,"Operation cancelled"+(e?": "+e:""))))}handleDelayElapsed(){this.asyncQueue.enqueueAndForget(()=>null!==this.timerHandle?(this.clearTimeout(),this.op().then(e=>this.deferred.resolve(e))):Promise.resolve())}clearTimeout(){null!==this.timerHandle&&(this.removalCallback(this),clearTimeout(this.timerHandle),this.timerHandle=null)}}function ur(e,t){if(tS("AsyncQueue",`${t}: ${e}`),nE(e))return new tO(tR.UNAVAILABLE,`${t}: ${e}`);throw e}class ui{static emptySet(e){return new ui(e.comparator)}constructor(e){this.comparator=e?(t,n)=>e(t,n)||t0.comparator(t.key,n.key):(e,t)=>t0.comparator(e.key,t.key),this.keyedMap=ss(),this.sortedSet=new rO(this.comparator)}has(e){return null!=this.keyedMap.get(e)}get(e){return this.keyedMap.get(e)}first(){return this.sortedSet.minKey()}last(){return this.sortedSet.maxKey()}isEmpty(){return this.sortedSet.isEmpty()}indexOf(e){let t=this.keyedMap.get(e);return t?this.sortedSet.indexOf(t):-1}get size(){return this.sortedSet.size}forEach(e){this.sortedSet.inorderTraversal((t,n)=>(e(t),!1))}add(e){let t=this.delete(e.key);return t.copy(t.keyedMap.insert(e.key,e),t.sortedSet.insert(e,null))}delete(e){let t=this.get(e);return t?this.copy(this.keyedMap.remove(e),this.sortedSet.remove(t)):this}isEqual(e){if(!(e instanceof ui)||this.size!==e.size)return!1;let t=this.sortedSet.getIterator(),n=e.sortedSet.getIterator();for(;t.hasNext();){let e=t.getNext().key,r=n.getNext().key;if(!e.isEqual(r))return!1}return!0}toString(){let e=[];return this.forEach(t=>{e.push(t.toString())}),0===e.length?"DocumentSet ()":"DocumentSet (\n  "+e.join("  \n")+"\n)"}copy(e,t){let n=new ui;return n.comparator=this.comparator,n.keyedMap=e,n.sortedSet=t,n}}class us{constructor(){this.ga=new rO(t0.comparator)}track(e){let t=e.doc.key,n=this.ga.get(t);n?0!==e.type&&3===n.type?this.ga=this.ga.insert(t,e):3===e.type&&1!==n.type?this.ga=this.ga.insert(t,{type:n.type,doc:e.doc}):2===e.type&&2===n.type?this.ga=this.ga.insert(t,{type:2,doc:e.doc}):2===e.type&&0===n.type?this.ga=this.ga.insert(t,{type:0,doc:e.doc}):1===e.type&&0===n.type?this.ga=this.ga.remove(t):1===e.type&&2===n.type?this.ga=this.ga.insert(t,{type:1,doc:n.doc}):0===e.type&&1===n.type?this.ga=this.ga.insert(t,{type:2,doc:e.doc}):tD(63341,{Vt:e,pa:n}):this.ga=this.ga.insert(t,e)}ya(){let e=[];return this.ga.inorderTraversal((t,n)=>{e.push(n)}),e}}class ua{constructor(e,t,n,r,i,s,a,o,l){this.query=e,this.docs=t,this.oldDocs=n,this.docChanges=r,this.mutatedKeys=i,this.fromCache=s,this.syncStateChanged=a,this.excludesMetadataChanges=o,this.hasCachedResults=l}static fromInitialDocuments(e,t,n,r,i){let s=[];
21return t.forEach(e=>{s.push({type:0,doc:e})}),new ua(e,t,ui.emptySet(t),s,n,r,!0,!1,i)}get hasPendingWrites(){return!this.mutatedKeys.isEmpty()}isEqual(e){if(!(this.fromCache===e.fromCache&&this.hasCachedResults===e.hasCachedResults&&this.syncStateChanged===e.syncStateChanged&&this.mutatedKeys.isEqual(e.mutatedKeys)&&i5(this.query,e.query)&&this.docs.isEqual(e.docs)&&this.oldDocs.isEqual(e.oldDocs)))return!1;let t=this.docChanges,n=e.docChanges;if(t.length!==n.length)return!1;for(let e=0;e<t.length;e++)if(t[e].type!==n[e].type||!t[e].doc.isEqual(n[e].doc))return!1;return!0}}class uo{constructor(){this.wa=void 0,this.ba=[]}Sa(){return this.ba.some(e=>e.Da())}}class ul{constructor(){this.queries=uu(),this.onlineState="Unknown",this.Ca=new Set}terminate(){var e;let t;e=new tO(tR.ABORTED,"Firestore shutting down"),t=this.queries,this.queries=uu(),t.forEach((t,n)=>{for(let t of n.ba)t.onError(e)})}}function uu(){return new sn(e=>i8(e),i5)}async function uh(e,t){let n=3,r=t.query,i=e.queries.get(r);i?!i.Sa()&&t.Da()&&(n=2):(i=new uo,n=+!t.Da());try{switch(n){case 0:i.wa=await e.onListen(r,!0);break;case 1:i.wa=await e.onListen(r,!1);break;case 2:await e.onFirstRemoteStoreListen(r)}}catch(n){let e=ur(n,`Initialization of query '${i7(t.query)}' failed`);return void t.onError(e)}e.queries.set(r,i),i.ba.push(t),t.va(e.onlineState),i.wa&&t.Fa(i.wa)&&um(e)}async function uc(e,t){let n=t.query,r=3,i=e.queries.get(n);if(i){let e=i.ba.indexOf(t);e>=0&&(i.ba.splice(e,1),0===i.ba.length?r=+!t.Da():!i.Sa()&&t.Da()&&(r=2))}switch(r){case 0:return e.queries.delete(n),e.onUnlisten(n,!0);case 1:return e.queries.delete(n),e.onUnlisten(n,!1);case 2:return e.onLastRemoteStoreUnlisten(n);default:return}}function ud(e,t){let n=!1;for(let r of t){let t=r.query,i=e.queries.get(t);if(i){for(let e of i.ba)e.Fa(r)&&(n=!0);i.wa=r}}n&&um(e)}function uf(e,t,n){let r=e.queries.get(t);if(r)for(let e of r.ba)e.onError(n);e.queries.delete(t)}function um(e){e.Ca.forEach(e=>{e.next()})}(v=w||(w={})).Ma="default",v.Cache="cache";class ug{constructor(e,t,n){this.query=e,this.xa=t,this.Oa=!1,this.Na=null,this.onlineState="Unknown",this.options=n||{}}Fa(e){if(!this.options.includeMetadataChanges){let t=[];for(let n of e.docChanges)3!==n.type&&t.push(n);e=new ua(e.query,e.docs,e.oldDocs,t,e.mutatedKeys,e.fromCache,e.syncStateChanged,!0,e.hasCachedResults)}let t=!1;return this.Oa?this.Ba(e)&&(this.xa.next(e),t=!0):this.La(e,this.onlineState)&&(this.ka(e),t=!0),this.Na=e,t}onError(e){this.xa.error(e)}va(e){this.onlineState=e;let t=!1;return this.Na&&!this.Oa&&this.La(this.Na,e)&&(this.ka(this.Na),t=!0),t}La(e,t){return!(e.fromCache&&this.Da())||(!this.options.Ka||"Offline"===t)&&(!e.docs.isEmpty()||e.hasCachedResults||"Offline"===t)}Ba(e){if(e.docChanges.length>0)return!0;let t=this.Na&&this.Na.hasPendingWrites!==e.hasPendingWrites;return!(!e.syncStateChanged&&!t)&&!0===this.options.includeMetadataChanges}ka(e){e=ua.fromInitialDocuments(e.query,e.docs,e.mutatedKeys,e.fromCache,e.hasCachedResults),this.Oa=!0,this.xa.next(e)}Da(){return this.options.source!==w.Cache}}class up{constructor(e,t){this.qa=e,this.byteLength=t}Ua(){return"metadata"in this.qa}}class uy{constructor(e){this.serializer=e}Ks(e){return ac(this.serializer,e)}qs(e){return e.metadata.exists?ay(this.serializer,e.document,!1):iI.newNoDocument(this.Ks(e.metadata.name),this.Us(e.metadata.readTime))}Us(e){return aa(e)}}class uw{constructor(e,t){this.$a=e,this.serializer=t,this.Wa=[],this.Qa=[],this.collectionGroups=new Set,this.progress=uv(e)}get queries(){return this.Wa}get documents(){return this.Qa}Ga(e){this.progress.bytesLoaded+=e.byteLength;let t=this.progress.documentsLoaded;if(e.qa.namedQuery)this.Wa.push(e.qa.namedQuery);else if(e.qa.documentMetadata){this.Qa.push({metadata:e.qa.documentMetadata}),e.qa.documentMetadata.exists||++t;let n=tY.fromString(e.qa.documentMetadata.name);this.collectionGroups.add(n.get(n.length-2))}else e.qa.document&&(this.Qa[this.Qa.length-1].document=e.qa.document,++t);return t!==this.progress.documentsLoaded?(this.progress.documentsLoaded=t,{...this.progress}):null}za(e){let t=new Map,n=new uy(this.serializer);for(let r of e)if(r.metadata.queries){let e=n.Ks(r.metadata.name);for(let n of r.metadata.queries){let r=(t.get(n)||sh()).add(e);t.set(n,r)}}return t}async ja(e){let t=await o9(e,new uy(this.serializer),this.Qa,this.$a.id),n=this.za(this.documents);for(let t of this.Wa)await le(e,t,n.get(t.name));return this.progress.taskState="Success",{progress:this.progress,Ha:this.collectionGroups,Ja:t}}}function uv(e){return{taskState:"Running",documentsLoaded:0,bytesLoaded:0,totalDocuments:e.totalDocuments,totalBytes:e.totalBytes}}
21class ub{constructor(e){this.key=e}}class uI{constructor(e){this.key=e}}class u_{constructor(e,t){this.query=e,this.Za=t,this.Xa=null,this.hasCachedResults=!1,this.current=!1,this.Ya=sh(),this.mutatedKeys=sh(),this.eu=st(e),this.tu=new ui(this.eu)}get nu(){return this.Za}ru(e,t){let n=t?t.iu:new us,r=t?t.tu:this.tu,i=t?t.mutatedKeys:this.mutatedKeys,s=r,a=!1,o="F"===this.query.limitType&&r.size===this.query.limit?r.last():null,l="L"===this.query.limitType&&r.size===this.query.limit?r.first():null;if(e.inorderTraversal((e,t)=>{let u=r.get(e),h=i9(this.query,t)?t:null,c=!!u&&this.mutatedKeys.has(u.key),d=!!h&&(h.hasLocalMutations||this.mutatedKeys.has(h.key)&&h.hasCommittedMutations),f=!1;u&&h?u.data.isEqual(h.data)?c!==d&&(n.track({type:3,doc:h}),f=!0):this.su(u,h)||(n.track({type:2,doc:h}),f=!0,(o&&this.eu(h,o)>0||l&&0>this.eu(h,l))&&(a=!0)):!u&&h?(n.track({type:0,doc:h}),f=!0):u&&!h&&(n.track({type:1,doc:u}),f=!0,(o||l)&&(a=!0)),f&&(h?(s=s.add(h),i=d?i.add(e):i.delete(e)):(s=s.delete(e),i=i.delete(e)))}),null!==this.query.limit)for(;s.size>this.query.limit;){let e="F"===this.query.limitType?s.last():s.first();s=s.delete(e.key),i=i.delete(e.key),n.track({type:1,doc:e})}return{tu:s,iu:n,Ss:a,mutatedKeys:i}}su(e,t){return e.hasLocalMutations&&t.hasCommittedMutations&&!t.hasLocalMutations}applyChanges(e,t,n,r){let i=this.tu;this.tu=e.tu,this.mutatedKeys=e.mutatedKeys;let s=e.iu.ya();s.sort((e,t)=>{var n,r;let i;return n=e.type,r=t.type,(i=e=>{switch(e){case 0:return 1;case 2:case 3:return 2;case 1:return 0;default:return tD(20277,{Vt:e})}})(n)-i(r)||this.eu(e.doc,t.doc)}),this.ou(n),r=r??!1;let a=t&&!r?this._u():[],o=0===this.Ya.size&&this.current&&!r?1:0,l=o!==this.Xa;return(this.Xa=o,0!==s.length||l)?{snapshot:new ua(this.query,e.tu,i,s,e.mutatedKeys,0===o,l,!1,!!n&&n.resumeToken.approximateByteSize()>0),au:a}:{au:a}}va(e){return this.current&&"Offline"===e?(this.current=!1,this.applyChanges({tu:this.tu,iu:new us,mutatedKeys:this.mutatedKeys,Ss:!1},!1)):{au:[]}}uu(e){return!this.Za.has(e)&&!!this.tu.has(e)&&!this.tu.get(e).hasLocalMutations}ou(e){e&&(e.addedDocuments.forEach(e=>this.Za=this.Za.add(e)),e.modifiedDocuments.forEach(e=>{}),e.removedDocuments.forEach(e=>this.Za=this.Za.delete(e)),this.current=e.current)}_u(){if(!this.current)return[];let e=this.Ya;this.Ya=sh(),this.tu.forEach(e=>{this.uu(e.key)&&(this.Ya=this.Ya.add(e.key))});let t=[];return e.forEach(e=>{this.Ya.has(e)||t.push(new uI(e))}),this.Ya.forEach(n=>{e.has(n)||t.push(new ub(n))}),t}cu(e){this.Za=e.ks,this.Ya=sh();let t=this.ru(e.documents);return this.applyChanges(t,!0)}lu(){return ua.fromInitialDocuments(this.query,this.tu,this.mutatedKeys,0===this.Xa,this.hasCachedResults)}}let uE="SyncEngine";class uT{constructor(e,t,n){this.query=e,this.targetId=t,this.view=n}}class uS{constructor(e){this.key=e,this.hu=!1}}class uC{constructor(e,t,n,r,i,s){this.localStore=e,this.remoteStore=t,this.eventManager=n,this.sharedClientState=r,this.currentUser=i,this.maxConcurrentLimboResolutions=s,this.Pu={},this.Tu=new sn(e=>i8(e),i5),this.Iu=new Map,this.Eu=new Set,this.Ru=new rO(t0.comparator),this.Au=new Map,this.Vu=new oR,this.du={},this.mu=new Map,this.fu=oc.ar(),this.onlineState="Unknown",this.gu=void 0}get isPrimaryClient(){return!0===this.gu}}async function ux(e,t,n=!0){let r,i=u3(e),s=i.Tu.get(t);return s?(i.sharedClientState.addLocalQueryTarget(s.targetId),r=s.view.lu()):r=await uA(i,t,n,!0),r}async function uD(e,t){let n=u3(e);await uA(n,t,!0,!1)}async function uA(e,t,n,r){let i,s=await o6(e.localStore,i1(t)),a=s.targetId,o=e.sharedCl
21ientState.addLocalQueryTarget(a,n);return r&&(i=await uN(e,t,a,"current"===o,s.resumeToken)),e.isPrimaryClient&&n&&lj(e.remoteStore,s),i}async function uN(e,t,n,r,i){e.pu=(t,n,r)=>(async function(e,t,n,r){let i=t.view.ru(n);i.Ss&&(i=await o4(e.localStore,t.query,!1).then(({documents:e})=>t.view.ru(e,i)));let s=r&&r.targetChanges.get(t.targetId),a=r&&null!=r.targetMismatches.get(t.targetId),o=t.view.applyChanges(i,e.isPrimaryClient,s,a);return u$(e,t.targetId,o.au),o.snapshot})(e,t,n,r);let s=await o4(e.localStore,t,!0),a=new u_(t,s.ks),o=a.ru(s.documents),l=s1.createSynthesizedTargetChangeForCurrentChange(n,r&&"Offline"!==e.onlineState,i),u=a.applyChanges(o,e.isPrimaryClient,l);u$(e,n,u.au);let h=new uT(t,n,a);return e.Tu.set(t,h),e.Iu.has(n)?e.Iu.get(n).push(t):e.Iu.set(n,[t]),u.snapshot}async function uk(e,t,n){let r=e.Tu.get(t),i=e.Iu.get(r.targetId);i.length>1?(e.Iu.set(r.targetId,i.filter(e=>!i5(e,t))),e.Tu.delete(t)):e.isPrimaryClient?(e.sharedClientState.removeLocalQueryTarget(r.targetId),e.sharedClientState.isActiveQueryTarget(r.targetId)||await o3(e.localStore,r.targetId,!1).then(()=>{e.sharedClientState.clearQueryState(r.targetId),n&&lz(e.remoteStore,r.targetId),uj(e,r.targetId)}).catch(ng)):(uj(e,r.targetId),await o3(e.localStore,r.targetId,!0))}async function uR(e,t){let n=e.Tu.get(t),r=e.Iu.get(n.targetId);e.isPrimaryClient&&1===r.length&&(e.sharedClientState.removeLocalQueryTarget(n.targetId),lz(e.remoteStore,n.targetId))}async function uO(e,t,n){let r=u4(e);try{var i,s;let e,a,o,l,u,h=await (i=r.localStore,o=nt.now(),l=t.reduce((e,t)=>e.add(t.key),sh()),i.persistence.runTransaction("Locally write mutations","readwrite",n=>{let r=sr,s=sh();return i.xs.getEntries(n,l).next(e=>{(r=e).forEach((e,t)=>{t.isValidDocument()||(s=s.add(e))})}).next(()=>i.localDocuments.getOverlayedDocuments(n,r)).next(r=>{e=r;let s=[];for(let n of t){let t=function(e,t){let n=null;for(let r of e.fieldTransforms){let e=t.data.field(r.field),i=sp(r.transform,e||null);null!=i&&(null===n&&(n=ib.empty()),n.set(r.field,i))}return n||null}(n,e.get(n.key).overlayedDocument);null!=t&&s.push(new sM(n.key,t,function e(t){let n=[];return rN(t.fields,(t,r)=>{let i=new tZ([t]);if(id(r)){let t=e(r.mapValue).fields;if(0===t.length)n.push(i);else for(let e of t)n.push(i.child(e))}else n.push(i)}),new rB(n)}(t.value.mapValue),sx.exists(!0)))}
21return i.mutationQueue.addMutationBatch(n,o,s,t)}).next(t=>{a=t;let r=t.applyToLocalDocumentSet(e,s);return i.documentOverlayCache.saveOverlays(n,t.batchId,r)})}).then(()=>({batchId:a.batchId,changes:sa(e)})));r.sharedClientState.addPendingMutation(h.batchId),s=h.batchId,(u=r.du[r.currentUser.toKey()])||(u=new rO(tG)),u=u.insert(s,n),r.du[r.currentUser.toKey()]=u,await uK(r,h.changes),await l1(r.remoteStore)}catch(t){let e=ur(t,"Failed to persist write");n.reject(e)}}async function uM(e,t){var n;try{let r,i,s=await (n=e.localStore,r=t.snapshotVersion,i=n.vs,n.persistence.runTransaction("Apply remote event","readwrite-primary",e=>{let s=n.xs.newChangeBuffer({trackRemovals:!0});i=n.vs;let a=[];t.targetChanges.forEach((s,o)=>{var l;let u=i.get(o);if(!u)return;a.push(n.li.removeMatchingKeys(e,s.removedDocuments,o).next(()=>n.li.addMatchingKeys(e,s.addedDocuments,o)));let h=u.withSequenceNumber(e.currentSequenceNumber);null!==t.targetMismatches.get(o)?h=h.withResumeToken(rj.EMPTY_BYTE_STRING,nn.min()).withLastLimboFreeSnapshotVersion(nn.min()):s.resumeToken.approximateByteSize()>0&&(h=h.withResumeToken(s.resumeToken,r)),i=i.insert(o,h),l=h,(0===u.resumeToken.approximateByteSize()||l.snapshotVersion.toMicroseconds()-u.snapshotVersion.toMicroseconds()>=3e8||s.addedDocuments.size+s.modifiedDocuments.size+s.removedDocuments.size>0)&&a.push(n.li.updateTargetData(e,h))});let o=sr,l=sh();if(t.documentUpdates.forEach(r=>{t.resolvedLimboDocuments.has(r)&&a.push(n.persistence.referenceDelegate.updateLimboDocument(e,r))}),a.push(o2(e,s,t.documentUpdates).next(e=>{o=e.Bs,l=e.Ls})),!r.isEqual(nn.min())){let t=n.li.getLastRemoteSnapshotVersion(e).next(t=>n.li.setTargetsMetadata(e,e.currentSequenceNumber,r));a.push(t)}return np.waitFor(a).next(()=>s.apply(e)).next(()=>n.localDocuments.getLocalViewOfDocuments(e,o,l)).next(()=>o)}).then(e=>(n.vs=i,e)));
21t.targetChanges.forEach((t,n)=>{let r=e.Au.get(n);r&&(tN(t.addedDocuments.size+t.modifiedDocuments.size+t.removedDocuments.size<=1,22616),t.addedDocuments.size>0?r.hu=!0:t.modifiedDocuments.size>0?tN(r.hu,14607):t.removedDocuments.size>0&&(tN(r.hu,42227),r.hu=!1))}),await uK(e,s,t)}catch(e){await ng(e)}}function uL(e,t,n){var r;if(e.isPrimaryClient&&0===n||!e.isPrimaryClient&&1===n){let n,i=[];e.Tu.forEach((e,n)=>{let r=n.view.va(t);r.snapshot&&i.push(r.snapshot)}),(r=e.eventManager).onlineState=t,n=!1,r.queries.forEach((e,r)=>{for(let e of r.ba)e.va(t)&&(n=!0)}),n&&um(r),i.length&&e.Pu.J_(i),e.onlineState=t,e.isPrimaryClient&&e.sharedClientState.setOnlineState(t)}}async function uP(e,t,n){e.sharedClientState.updateQueryState(t,"rejected",n);let r=e.Au.get(t),i=r&&r.key;if(i){let n=new rO(t0.comparator);n=n.insert(i,iI.newNoDocument(i,nn.min()));let r=sh().add(i),s=new s0(nn.min(),new Map,new rO(tG),n,r);await uM(e,s),e.Ru=e.Ru.remove(i),e.Au.delete(t),uG(e)}else await o3(e.localStore,t,!1).then(()=>uj(e,t,n)).catch(ng)}async function uF(e,t){var n;let r=t.batch.batchId;try{let i=await (n=e.localStore,n.persistence.runTransaction("Acknowledge batch","readwrite-primary",e=>{let r,i,s,a=t.batch.keys(),o=n.xs.newChangeBuffer({trackRemovals:!0});return(i=(r=t.batch).keys(),s=np.resolve(),i.forEach(n=>{s=s.next(()=>o.getEntry(e,n)).next(e=>{let i=t.docVersions.get(n);tN(null!==i,48541),0>e.version.compareTo(i)&&(r.applyToRemoteDocument(e,t),e.isValidDocument()&&(e.setReadTime(t.commitVersion),o.addEntry(e)))})}),s.next(()=>n.mutationQueue.removeMutationBatch(e,r))).next(()=>o.apply(e)).next(()=>n.mutationQueue.performConsistencyCheck(e)).next(()=>n.documentOverlayCache.removeOverlaysForBatchId(e,a,t.batch.batchId)).next(()=>n.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(e,function(e){let t=sh();for(let n=0;n<e.mutationResults.length;++n)e.mutationResults[n].transformResults.length>0&&(t=t.add(e.batch.mutations[n].key));return t}(t))).next(()=>n.localDocuments.getDocuments(e,a))}));uq(e,r,null),uU(e,r),e.sharedClientState.updateMutationState(r,"acknowledged"),await uK(e,i)}catch(e){await ng(e)}}async function uV(e,t,n){var r;try{let i=await (r=e.localStore,r.persistence.runTransaction("Reject batch","readwrite-primary",e=>{let n;return r.mutationQueue.lookupMutationBatch(e,t).next(t=>(tN(null!==t,37113),n=t.keys(),r.mutationQueue.removeMutationBatch(e,t))).next(()=>r.mutationQueue.performConsistencyCheck(e)).next(()=>r.documentOverlayCache.removeOverlaysForBatchId(e,n,t)).next(()=>r.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(e,n)).next(()=>r.localDocuments.getDocuments(e,n))}));uq(e,t,n),uU(e,t),e.sharedClientState.updateMutationState(t,"rejected",n),await uK(e,i)}catch(e){await ng(e)}}async function uB(e,t){var n;lH(e.remoteStore)||tT(uE,"The network is disabled. The task returned by 'awaitPendingWrites()' will not complete until the network is enabled.");try{let r=await (n=e.localStore).persistence.runTransaction("Get highest unacknowledged batch id","readonly",e=>n.mutationQueue.getHighestUnacknowledgedBatchId(e));if(-1===r)return void t.resolve();let i=e.mu.get(r)||[];i.push(t),e.mu.set(r,i)}catch(n){let e=ur(n,"Initialization of waitForPendingWrites() operation failed");t.reject(e)}}function uU(e,t){(e.mu.get(t)||[]).forEach(e=>{e.resolve()}),e.mu.delete(t)}function uq(e,t,n){let r=e.du[e.currentUser.toKey()];if(r){let i=r.get(t);i&&(n?i.reject(n):i.resolve(),r=r.remove(t)),e.du[e.currentUser.toKey()]=r}}function uj(e,t,n=null){for(let r of(e.sharedClientState.removeLocalQueryTarget(t),e.Iu.get(t)))e.Tu.delete(r),n&&e.Pu.yu(r,n);e.Iu.delete(t),e.isPrimaryClient&&e.Vu.Gr(t).forEach(t=>{e.Vu.containsKey(t)||uz(e,t)})}function uz(e,t){e.Eu.delete(t.path.canonicalString());let n=e.Ru.get(t);null!==n&&(lz(e.remoteStore,n),e.Ru=e.Ru.remove(t),e.Au.delete(n),uG(e))}function u$(e,t,n){for(let r of n)r instanceof ub?(e.Vu.addReference(r.key,t),function(e,t){let n=t.key,r=n.path.canonicalString();e.Ru.get(n)||e.Eu.has(r)||(tT(uE,"New document in limbo: "+n),e.Eu.add(r),uG(e))}(e,r)):r instanceof uI?(tT(uE,"Document no longer in limbo: "+r.key),e.Vu.removeReference(r.key,t),e.Vu.containsKey(r.key)||uz(e,r.key)):tD(19791,{wu:r})}function uG(e){for(;e.Eu.size>0&&e.Ru.size<e.maxConcurrentLimboResolutions;){let t=e.Eu.values().next().value;e.Eu.delete(t);let n=new t0(tY.fromString(t)),r=e.fu.next();e.Au.set(r,new uS(n)),e.Ru=e.Ru.insert(n,r),lj(e.remoteStore,new aD(i1(iY(n.path)),r,"TargetPurposeLimboResolution",nk.ce))}}
21async function uK(e,t,n){let r=[],i=[],s=[];e.Tu.isEmpty()||(e.Tu.forEach((a,o)=>{s.push(e.pu(o,t,n).then(t=>{if((t||n)&&e.isPrimaryClient){let r=t?!t.fromCache:n?.targetChanges.get(o.targetId)?.current;e.sharedClientState.updateQueryState(o.targetId,r?"current":"not-current")}if(t){r.push(t);let e=oW.Es(o.targetId,t);i.push(e)}}))}),await Promise.all(s),e.Pu.J_(r),await async function(e,t){try{await e.persistence.runTransaction("notifyLocalViewChanges","readwrite",n=>np.forEach(t,t=>np.forEach(t.Ts,r=>e.persistence.referenceDelegate.addReference(n,t.targetId,r)).next(()=>np.forEach(t.Is,r=>e.persistence.referenceDelegate.removeReference(n,t.targetId,r)))))}catch(e){if(!nE(e))throw e;tT(oX,"Failed to update sequence numbers: "+e)}for(let n of t){let t=n.targetId;if(!n.fromCache){let n=e.vs.get(t),r=n.snapshotVersion,i=n.withLastLimboFreeSnapshotVersion(r);e.vs=e.vs.insert(t,i)}}}(e.localStore,i))}async function uQ(e,t){if(!e.currentUser.isEqual(t)){tT(uE,"User change. New user:",t.toKey());let n=await o0(e.localStore,t);e.currentUser=t,e.mu.forEach(e=>{e.forEach(e=>{e.reject(new tO(tR.CANCELLED,"'waitForPendingWrites' promise is rejected due to a user change."))})}),e.mu.clear(),e.sharedClientState.handleUserChange(t,n.removedBatchIds,n.addedBatchIds),await uK(e,n.Ns)}}function uH(e,t){let n=e.Au.get(t);if(n&&n.hu)return sh().add(n.key);{let n=sh(),r=e.Iu.get(t);if(!r)return n;for(let t of r){let r=e.Tu.get(t);n=n.unionWith(r.view.nu)}return n}}async function uW(e,t){let n=await o4(e.localStore,t.query,!0),r=t.view.cu(n);return e.isPrimaryClient&&u$(e,t.targetId,r.au),r}async function uJ(e,t){return o8(e.localStore,t).then(t=>uK(e,t))}async function uY(e,t,n,r){var i,s;let a,o=await (i=e.localStore,a=i.mutationQueue,i.persistence.runTransaction("Lookup mutation documents","readonly",e=>a.Xn(e,t).next(t=>t?i.localDocuments.getDocuments(e,t):np.resolve(null))));null!==o?("pending"===n?await l1(e.remoteStore):"acknowledged"===n||"rejected"===n?(uq(e,t,r||null),uU(e,t),s=e.localStore,s.mutationQueue.nr(t)):tD(6720,"Unknown batchState",{bu:n}),await uK(e,o)):tT(uE,"Cannot apply mutation batch with id: "+t)}async function uX(e,t){if(u3(e),u4(e),!0===t&&!0!==e.gu){let t=e.sharedClientState.getAllActiveQueryTargets(),n=await uZ(e,t.toArray());for(let t of(e.gu=!0,await l9(e.remoteStore,!0),n))lj(e.remoteStore,t)}else if(!1===t&&!1!==e.gu){let t=[],n=Promise.resolve();e.Iu.forEach((r,i)=>{e.sharedClientState.isLocalQueryTarget(i)?t.push(i):n=n.then(()=>(uj(e,i),o3(e.localStore,i,!0))),lz(e.remoteStore,i)}),await n,await uZ(e,t),e.Au.forEach((t,n)=>{lz(e.remoteStore,n)}),e.Vu.zr(),e.Au=new Map,e.Ru=new rO(t0.comparator),e.gu=!1,await l9(e.remoteStore,!1)}}async function uZ(e,t,n){let r=[],i=[];for(let n of t){let t,s=e.Iu.get(n);if(s&&0!==s.length)for(let n of(t=await o6(e.localStore,i1(s[0])),s)){let t=e.Tu.get(n),r=await uW(e,t);r.snapshot&&i.push(r.snapshot)}else{let r=await o5(e.localStore,n);t=await o6(e.localStore,r),await uN(e,u0(r),n,!1,t.resumeToken)}r.push(t)}return e.Pu.J_(i),r}function u0(e){var t,n,r,i,s;return t=e.path,n=e.collectionGroup,r=e.orderBy,i=e.filters,s=e.limit,new iJ(t,n,r,i,s,"F",e.startAt,e.endAt)}function u1(e){return e.localStore.persistence.hs()}async function u2(e,t,n,r){if(e.gu)return void tT(uE,"Ignoring unexpected query state notification.");let i=e.Iu.get(t);if(i&&i.length>0)switch(n){case"current":case"not-current":{let r=await o8(e.localStore,se(i[0])),s=s0.createSynthesizedRemoteEventForCurrentChange(t,"current"===n,rj.EMPTY_BYTE_STRING);await uK(e,r,s);break}case"rejected":await o3(e.localStore,t,!0),uj(e,t,r);break;default:tD(64155,n)}}async function u6(e,t,n){let r=u3(e);if(r.gu){for(let e of t){if(r.Iu.has(e)&&r.sharedClientState.isActiveQueryTarget(e)){tT(uE,"Adding an already active target "+e);continue}let t=await o5(r.localStore,e),n=await o6(r.localStore,t);await uN(r,u0(t),n.targetId,!1,n.resumeToken),lj(r.remoteStore,n)}for(let e of n)r.Iu.has(e)&&await o3(r.localStore,e,!1).then(()=>{lz(r.remoteStore,e),uj(r,e)}).catch(ng)}}function u3(e){return e.remoteStore.remoteSyncer.applyRemoteEvent=uM.bind(null,e),e.remoteStore.remoteSyncer.getRemoteKeysForTarget=uH.bind(null,e),e.remoteStore.remoteSyncer.rejectListen=uP.bind(null,e),e.Pu.J_=ud.bind(null,e.eventManager),e.Pu.yu=uf.b
21ind(null,e.eventManager),e}function u4(e){return e.remoteStore.remoteSyncer.applySuccessfulWrite=uF.bind(null,e),e.remoteStore.remoteSyncer.rejectFailedWrite=uV.bind(null,e),e}class u5{constructor(){this.kind="memory",this.synchronizeTabs=!1}async initialize(e){this.serializer=lA(e.databaseInfo.databaseId),this.sharedClientState=this.Du(e),this.persistence=this.Cu(e),await this.persistence.start(),this.localStore=this.vu(e),this.gcScheduler=this.Fu(e,this.localStore),this.indexBackfillerScheduler=this.Mu(e,this.localStore)}Fu(e,t){return null}Mu(e,t){return null}vu(e){var t,n;return t=this.persistence,n=new oY,new oZ(t,n,e.initialUser,this.serializer)}Cu(e){return new oV(oU.Vi,this.serializer)}Du(e){return new lm}async terminate(){this.gcScheduler?.stop(),this.indexBackfillerScheduler?.stop(),this.sharedClientState.shutdown(),await this.persistence.shutdown()}}u5.provider={build:()=>new u5};class u8 extends u5{constructor(e){super(),this.cacheSizeBytes=e}Fu(e,t){return tN(this.persistence.referenceDelegate instanceof oq,46915),new oy(this.persistence.referenceDelegate.garbageCollector,e.asyncQueue,t)}Cu(e){let t=void 0!==this.cacheSizeBytes?os.withCacheSize(this.cacheSizeBytes):os.DEFAULT;return new oV(e=>oq.Vi(e,t),this.serializer)}}class u7 extends u5{constructor(e,t,n){super(),this.xu=e,this.cacheSizeBytes=t,this.forceOwnership=n,this.kind="persistent",this.synchronizeTabs=!1}async initialize(e){await super.initialize(e),await this.xu.initialize(this,e),await u4(this.xu.syncEngine),await l1(this.xu.remoteStore),await this.persistence.zi(()=>(this.gcScheduler&&!this.gcScheduler.started&&this.gcScheduler.start(),this.indexBackfillerScheduler&&!this.indexBackfillerScheduler.started&&this.indexBackfillerScheduler.start(),Promise.resolve()))}vu(e){var t,n;return t=this.persistence,n=new oY,new oZ(t,n,e.initialUser,this.serializer)}Fu(e,t){return new oy(this.persistence.referenceDelegate.garbageCollector,e.asyncQueue,t)}Mu(e,t){let n=new nN(t,this.persistence);return new nA(e.asyncQueue,n)}Cu(e){let t=oH(e.databaseInfo.databaseId,e.databaseInfo.persistenceKey),n=void 0!==this.cacheSizeBytes?os.withCacheSize(this.cacheSizeBytes):os.DEFAULT;return new oQ(this.synchronizeTabs,t,e.clientId,n,e.asyncQueue,lx(),lD(),this.serializer,this.sharedClientState,!!this.forceOwnership)}Du(e){return new lm}}class u9 extends u7{constructor(e,t){super(e,t,!1),this.xu=e,this.cacheSizeBytes=t,this.synchronizeTabs=!0}async initialize(e){await super.initialize(e);let t=this.xu.syncEngine;this.sharedClientState instanceof lf&&(this.sharedClientState.syncEngine={So:uY.bind(null,t),Do:u2.bind(null,t),Co:u6.bind(null,t),hs:u1.bind(null,t),bo:uJ.bind(null,t)},await this.sharedClientState.start()),await this.persistence.zi(async e=>{await uX(this.xu.syncEngine,e),this.gcScheduler&&(e&&!this.gcScheduler.started?this.gcScheduler.start():e||this.gcScheduler.stop()),this.indexBackfillerScheduler&&(e&&!this.indexBackfillerScheduler.started?this.indexBackfillerScheduler.start():e||this.indexBackfillerScheduler.stop())})}Du(e){let t=lx();if(!lf.v(t))throw new tO(tR.UNIMPLEMENTED,"IndexedDB persistence is only available on platforms that support LocalStorage.");let n=oH(e.databaseInfo.databaseId,e.databaseInfo.persistenceKey);return new lf(t,e.asyncQueue,n,e.clientId,e.initialUser)}}class he{async initialize(e,t){this.localStore||(this.localStore=e.localStore,this.sharedClientState=e.sharedClientState,this.datastore=this.createDatastore(t),this.remoteStore=this.createRemoteStore(t),this.eventManager=this.createEventManager(t),this.syncEngine=this.createSyncEngine(t,!e.synchronizeTabs),this.sharedClientState.onlineStateHandler=e=>uL(this.syncEngine,e,1),this.remoteStore.remoteSyncer.handleCredentialChange=uQ.bind(null,this.syncEngine),await l9(this.remoteStore,this.syncEngine.isPrimaryClient))}createEventManager(e){return new ul}createDatastore(e){var t;let n=lA(e.databaseInfo.databaseId),r=new lC(e.databaseInfo);return t=e.authCredentials,new lP(t,e.appCheckCredentials,r,n)}createRemoteStore(e){var t,n;return t=this.localStore,n=this.datastore,new lB(t,n,e.asyncQueue,e=>uL(this.syncEngine,e,0),ly.v()?new ly:new lg)}createSyncEngine(e,t){var n,r,i,s,a,o;let l;return n=this.localStore,r=this.remoteStore,i=this.eventManager,s=this.sharedCl
21ientState,a=e.initialUser,o=e.maxConcurrentLimboResolutions,l=new uC(n,r,i,s,a,o),t&&(l.gu=!0),l}async terminate(){await async function(e){tT(lV,"RemoteStore shutting down."),e.Ea.add(5),await lq(e),e.Aa.shutdown(),e.Va.set("Unknown")}(this.remoteStore),this.datastore?.terminate(),this.eventManager?.terminate()}}function ht(e,t=10240){let n=0;return{async read(){if(n<e.byteLength){let r={value:e.slice(n,n+t),done:!1};return n+=t,r}return{done:!0}},async cancel(){},releaseLock(){},closed:Promise.resolve()}}he.provider={build:()=>new he};class hn{constructor(e){this.observer=e,this.muted=!1}next(e){this.muted||this.observer.next&&this.Ou(this.observer.next,e)}error(e){this.muted||(this.observer.error?this.Ou(this.observer.error,e):tS("Uncaught Error in snapshot listener:",e.toString()))}Nu(){this.muted=!0}Ou(e,t){setTimeout(()=>{this.muted||e(t)},0)}}class hr{constructor(e,t){this.Bu=e,this.serializer=t,this.metadata=new tM,this.buffer=new Uint8Array,this.Lu=new TextDecoder("utf-8"),this.ku().then(e=>{e&&e.Ua()?this.metadata.resolve(e.qa.metadata):this.metadata.reject(Error(`The first element of the bundle is not a metadata, it is
22             ${JSON.stringify(e?.qa)}`))},e=>this.metadata.reject(e))}close(){return this.Bu.cancel()}async getMetadata(){return this.metadata.promise}async Su(){return await this.getMetadata(),this.ku()}async ku(){let e=await this.Ku();if(null===e)return null;let t=this.Lu.decode(e),n=Number(t);return isNaN(n)&&this.qu(`length string (${t}) is not valid number`),new up(JSON.parse(await this.Uu(n)),e.length+n)}$u(){return this.buffer.findIndex(e=>123===e)}async Ku(){for(;0>this.$u()&&!await this.Wu(););if(0===this.buffer.length)return null;let e=this.$u();e<0&&this.qu("Reached the end of bundle when a length string is expected.");let t=this.buffer.slice(0,e);return this.buffer=this.buffer.slice(e),t}async Uu(e){for(;this.buffer.length<e;)await this.Wu()&&this.qu("Reached the end of bundle when more is expected.");let t=this.Lu.decode(this.buffer.slice(0,e));return this.buffer=this.buffer.slice(e),t}qu(e){throw this.Bu.cancel(),Error(`Invalid bundle format: ${e}`)}async Wu(){let e=await this.Bu.read();if(!e.done){let t=new Uint8Array(this.buffer.length+e.value.length);t.set(this.buffer),t.set(e.value,this.buffer.length),this.buffer=t}return e.done}}class hi{constructor(e,t){this.bundleData=e,this.serializer=t,this.cursor=0,this.elements=[];let n=this.Su();if(!n||!n.Ua())throw Error(`The first element of the bundle is not a metadata object, it is
23         ${JSON.stringify(n?.qa)}`);this.metadata=n;do null!==(n=this.Su())&&this.elements.push(n);while(null!==n)}getMetadata(){return this.metadata}Qu(){return this.elements}Su(){if(this.cursor===this.bundleData.length)return null;let e=this.Ku();return new up(JSON.parse(this.Uu(e)),e)}Uu(e){if(this.cursor+e>this.bundleData.length)throw new tO(tR.INTERNAL,"Reached the end of bundle when more is expected.");return this.bundleData.slice(this.cursor,this.cursor+=e)}Ku(){let e=this.cursor,t=this.cursor;for(;t<this.bundleData.length;){if("{"===this.bundleData[t]){if(t===e)throw Error("First character is a bracket and not a number");return this.cursor=t,Number(this.bundleData.slice(e,t))}t++}throw Error("Reached the end of bundle when more is expected.")}}class hs{constructor(e){this.datastore=e,this.readVersions=new Map,this.mutations=[],this.committed=!1,this.lastTransactionError=null,this.writtenDocs=new Set}async lookup(e){if(this.ensureCommitNotCalled(),this.mutations.length>0)throw this.lastTransactionError=new tO(tR.INVALID_ARGUMENT,"Firestore transactions require all reads to be executed before all writes."),this.lastTransactionError;let t=await async function(e,t){let n={documents:t.map(t=>ah(e.serializer,t))},r=await e.jo("BatchGetDocuments",e.serializer.databaseId,tY.emptyPath(),n,t.length),i=new Map;r.forEach(t=>{var n;let r,s,a,o,l,u,h=(n=e.serializer,"found"in t?(tN(!!t.found,43571),t.found.name,t.found.updateTime,r=ac(n,t.found.name),s=aa(t.found.updateTime),a=t.found.createTime?aa(t.found.createTime):nn.min(),o=new ib({mapValue:{fields:t.found.fields}}),iI.newFoundDocument(r,s,a,o)):"missing"in t?(tN(!!t.missing,3894),tN(!!t.readTime,22933),l=ac(n,t.missing),u=aa(t.readTime),iI.newNoDocument(l,u)):tD(7234,{result:t}));i.set(h.key.toString(),h)});let s=[];
23return t.forEach(e=>{let t=i.get(e.toString());tN(!!t,55234,{key:e}),s.push(t)}),s}(this.datastore,e);return t.forEach(e=>this.recordVersion(e)),t}set(e,t){this.write(t.toMutation(e,this.precondition(e))),this.writtenDocs.add(e.toString())}update(e,t){try{this.write(t.toMutation(e,this.preconditionForUpdate(e)))}catch(e){this.lastTransactionError=e}this.writtenDocs.add(e.toString())}delete(e){this.write(new sV(e,this.precondition(e))),this.writtenDocs.add(e.toString())}async commit(){if(this.ensureCommitNotCalled(),this.lastTransactionError)throw this.lastTransactionError;let e=this.readVersions;this.mutations.forEach(t=>{e.delete(t.key.toString())}),e.forEach((e,t)=>{let n=t0.fromPath(t);this.mutations.push(new sB(n,this.precondition(n)))}),await async function(e,t){let n={writes:t.map(t=>aw(e.serializer,t))};await e.Wo("Commit",e.serializer.databaseId,tY.emptyPath(),n)}(this.datastore,this.mutations),this.committed=!0}recordVersion(e){let t;if(e.isFoundDocument())t=e.version;else{if(!e.isNoDocument())throw tD(50498,{Gu:e.constructor.name});t=nn.min()}let n=this.readVersions.get(e.key.toString());if(n){if(!t.isEqual(n))throw new tO(tR.ABORTED,"Document version changed between two reads.")}else this.readVersions.set(e.key.toString(),t)}precondition(e){let t=this.readVersions.get(e.toString());return!this.writtenDocs.has(e.toString())&&t?t.isEqual(nn.min())?sx.exists(!1):sx.updateTime(t):sx.none()}preconditionForUpdate(e){let t=this.readVersions.get(e.toString());if(!this.writtenDocs.has(e.toString())&&t){if(t.isEqual(nn.min()))throw new tO(tR.INVALID_ARGUMENT,"Can't update a document that doesn't exist.");return sx.updateTime(t)}return sx.exists(!0)}write(e){this.ensureCommitNotCalled(),this.mutations.push(e)}ensureCommitNotCalled(){}}class ha{constructor(e,t,n,r,i){this.asyncQueue=e,this.datastore=t,this.options=n,this.updateFunction=r,this.deferred=i,this.zu=n.maxAttempts,this.M_=new lN(this.asyncQueue,"transaction_retry")}ju(){this.zu-=1,this.Hu()}Hu(){this.M_.p_(async()=>{let e=new hs(this.datastore),t=this.Ju(e);t&&t.then(t=>{this.asyncQueue.enqueueAndForget(()=>e.commit().then(()=>{this.deferred.resolve(t)}).catch(e=>{this.Zu(e)}))}).catch(e=>{this.Zu(e)})})}Ju(e){try{let t=this.updateFunction(e);return!nR(t)&&t.catch&&t.then?t:(this.deferred.reject(Error("Transaction callback must return a Promise")),null)}catch(e){return this.deferred.reject(e),null}}Zu(e){this.zu>0&&this.Xu(e)?(this.zu-=1,this.asyncQueue.enqueueAndForget(()=>(this.Hu(),Promise.resolve()))):this.deferred.reject(e)}Xu(e){if("FirebaseError"===e?.name){let t=e.code;return"aborted"===t||"failed-precondition"===t||"already-exists"===t||!sG(t)}return!1}}let ho="FirestoreClient";class hl{constructor(e,t,n,r,i){this.authCredentials=e,this.appCheckCredentials=t,this.asyncQueue=n,this._databaseInfo=r,this.user=tv.UNAUTHENTICATED,this.clientId=t$.newId(),this.authCredentialListener=()=>Promise.resolve(),this.appCheckCredentialListener=()=>Promise.resolve(),this._uninitializedComponentsProvider=i,this.authCredentials.start(n,async e=>{tT(ho,"Received user=",e.uid),await this.authCredentialListener(e),this.user=e}),this.appCheckCredentials.start(n,e=>(tT(ho,"Received new app check token=",e),this.appCheckCredentialListener(e,this.user)))}get configuration(){return{asyncQueue:this.asyncQueue,databaseInfo:this._databaseInfo,clientId:this.clientId,authCredentials:this.authCredentials,appCheckCredentials:this.appCheckCredentials,initialUser:this.user,maxConcurrentLimboResolutions:100}}setCredentialChangeListener(e){this.authCredentialListener=e}setAppCheckTokenChangeListener(e){this.appCheckCredentialListener=e}terminate(){this.asyncQueue.enterRestrictedMode();let e=new tM;return this.asyncQueue.enqueueAndForgetEvenWhileRestricted(async()=>{try{this._onlineComponents&&await this._onlineComponents.terminate(),this._offlineComponents&&await this._offlineComponents.terminate(),this.authCredentials.shutdown(),this.appCheckCredentials.shutdown(),e.resolve()}catch(n){let t=ur(n,"Failed to shutdown persistence");e.reject(t)}}),e.promise}}async function hu(e,t){e.asyncQueue.verifyOperationInProgress(),tT(ho,"Initializing OfflineComponentProvider");let n=e.configuration;await t.initialize(n);let r=n.initialUser;e.setCredentialChangeListener(async e=>{r.isEqual(e)||(await o0(t.localStore,e),r=e)}),t.persistence.setDatabaseDeletedListener(()=>e.terminate()),e._offlineComponents=t}async function hh(e,t){e.asyncQueue.verifyOperationInProgress();let n=await hc(e);tT(ho,"Initializing OnlineComponentProvider"),await t.initialize(n,e.configuration),e.setCredentialChangeListener(e=>l7(t.remoteStore,e)),e.setAppCheckTokenChangeListener((e,n)=>l7(t.remoteStore,n)),e._onlineComponents=t}async function hc(e){if(!e._offlineComponents)if(e._uninitializedComponentsProvider){tT(ho,"Using user provided OfflineComponentProvider");try{await hu(e,e._uninitializedComponentsProvider._offline)}catch(t){if(!("FirebaseError"===t.name?t.code===tR.FAILED_PRECONDITION||t.code===tR.UNIMPLEMENT
23ED:!("u">typeof DOMException&&t instanceof DOMException)||22===t.code||20===t.code||11===t.code))throw t;tC("Error using user provided cache. Falling back to memory cache: "+t),await hu(e,new u5)}}else tT(ho,"Using default OfflineComponentProvider"),await hu(e,new u8(void 0));return e._offlineComponents}async function hd(e){return e._onlineComponents||(e._uninitializedComponentsProvider?(tT(ho,"Using user provided OnlineComponentProvider"),await hh(e,e._uninitializedComponentsProvider._online)):(tT(ho,"Using default OnlineComponentProvider"),await hh(e,new he))),e._onlineComponents}function hf(e){return hc(e).then(e=>e.persistence)}function hm(e){return hc(e).then(e=>e.localStore)}function hg(e){return hd(e).then(e=>e.remoteStore)}function hp(e){return hd(e).then(e=>e.syncEngine)}function hy(e){return hd(e).then(e=>e.datastore)}async function hw(e){let t=await hd(e),n=t.eventManager;return n.onListen=ux.bind(null,t.syncEngine),n.onUnlisten=uk.bind(null,t.syncEngine),n.onFirstRemoteStoreListen=uD.bind(null,t.syncEngine),n.onLastRemoteStoreUnlisten=uR.bind(null,t.syncEngine),n}function hv(e,t,n={}){let r=new tM;return e.asyncQueue.enqueueAndForget(async()=>{var i,s;let a,o;return i=await hw(e),s=e.asyncQueue,a=new hn({next:e=>{a.Nu(),s.enqueueAndForget(()=>uc(i,o));let l=e.docs.has(t);!l&&e.fromCache?r.reject(new tO(tR.UNAVAILABLE,"Failed to get document because the client is offline.")):l&&e.fromCache&&n&&"server"===n.source?r.reject(new tO(tR.UNAVAILABLE,'Failed to get document from server. (However, this document does exist in the local cache. Run again without setting source to "server" to retrieve the cached document.)')):r.resolve(e)},error:e=>r.reject(e)}),uh(i,o=new ug(iY(t.path),a,{includeMetadataChanges:!0,Ka:!0}))}),r.promise}function hb(e,t,n={}){let r=new tM;return e.asyncQueue.enqueueAndForget(async()=>{var i,s;let a,o;return i=await hw(e),s=e.asyncQueue,o=new ug(t,a=new hn({next:e=>{a.Nu(),s.enqueueAndForget(()=>uc(i,o)),e.fromCache&&"server"===n.source?r.reject(new tO(tR.UNAVAILABLE,'Failed to get documents from server. (However, these documents may exist in the local cache. Run again without setting source to "server" to retrieve the cached documents.)')):r.resolve(e)},error:e=>r.reject(e)}),{includeMetadataChanges:!0,Ka:!0}),uh(i,o)}),r.promise}function hI(e){let t={};return void 0!==e.timeoutSeconds&&(t.timeoutSeconds=e.timeoutSeconds),t}let h_=new Map,hE="firestore.googleapis.com";class hT{constructor(e){if(void 0===e.host){if(void 0!==e.ssl)throw new tO(tR.INVALID_ARGUMENT,"Can't provide ssl option if host option is not set");this.host=hE,this.ssl=!0}else this.host=e.host,this.ssl=e.ssl??!0;if(this.isUsingEmulator=void 0!==e.emulatorOptions,this.credentials=e.credentials,this.ignoreUndefinedProperties=!!e.ignoreUndefinedProperties,this.localCache=e.localCache,void 0===e.cacheSizeBytes)this.cacheSizeBytes=0x2800000;else{if(-1!==e.cacheSizeBytes&&e.cacheSizeBytes<1048576)throw new tO(tR.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");this.cacheSizeBytes=e.cacheSizeBytes}t2("experimentalForceLongPolling",e.experimentalForceLongPolling,"experimentalAutoDetectLongPolling",e.experimentalAutoDetectLongPolling),this.experimentalForceLongPolling=!!e.experimentalForceLongPolling,this.experimentalForceLongPolling?this.experimentalAutoDetectLongPolling=!1:void 0===e.experimentalAutoDetectLongPolling?this.experimentalAutoDetectLongPolling=!0:this.experimentalAutoDetectLongPolling=!!e.experimentalAutoDetectLongPolling,this.experimentalLongPollingOptions=hI(e.experimentalLongPollingOptions??{}),function(e){if(void 0!==e.timeoutSeconds){if(isNaN(e.timeoutSeconds))throw new tO(tR.INVALID_ARGUMENT,`invalid long polling timeout: ${e.timeoutSeconds} (must not be NaN)`);if(e.timeoutSeconds<5)throw new tO(tR.INVALID_ARGUMENT,`invalid long polling timeout: ${e.timeoutSeconds} (minimum allowed value is 5)`);if(e.timeoutSeconds>30)throw new tO(tR.INVALID_ARGUMENT,`invalid long polling timeout: ${e.timeoutSeconds} (maximum allowed value is 30)`)}}(this.experimentalLongPollingOptions),this.useFetchStreams=!!e.useFetchStreams}isEqual(e){var t,n;return this.host===e.host&&this.ssl===e.ssl&&this.credentials===e.credentials&&this.cacheSizeBytes===e.cacheSizeBytes&&this.experimentalForceLongPolling===e.experimentalForceLongPolling&&this.experimentalAutoDetectLongPolling===e.experimentalAutoDetectLongPolling&&(t=this.experimentalLongPollingOptions,n=e.experimentalLongPollingOptions,t.timeoutSeconds===n.timeoutSeconds)&&this.ignoreUndefinedProperties===e.ignoreUndefinedProperties&&this.useFetchStreams===e.useFetchStreams}}class hS{constructor(e,t,n,r){this._authCredentials=e,this._appCheckCredentials=t,this._databaseId=n,this._app=r,this.type="firestore-lite",this._persistenceKey="(lite)",this._settings=new hT({}),this._settingsFrozen=!1,this._emulatorOptions={},this._terminateTask="notTerminated"}get app(){if(!this._app)throw new tO(tR.FAILED_PRECONDITION,"Firestore was not initialized using the Firebase SDK. 'app' is not available");return this._app}get _initialized(){return this._settingsFrozen}get _terminated(){return"notTerminated"!==this._terminateTask}_setSettings(e){if(this._settingsFrozen)throw new tO(tR.FAILED_PRECONDITION,"Firestore has already been started and its settings can no longer be changed. You can only modify settings before calling any other methods on a Firestore object.");this._settings=new hT(e),this._emulatorOptions=e.emulatorOptions||{},void 0!==e.credentials&&(this._authCredentials=function(e){if(!e)return new tP;switch(e.type){case"firstParty":return new tU(e.sessionIndex||"0",e.iamToken||null,e.authTokenFactory||null);case"provider":return e.client;default:throw new tO(tR.INVALID_ARGUMENT,"makeAuthCredentialsProvider failed due to invali
23d credential type")}}(e.credentials))}_getSettings(){return this._settings}_getEmulatorOptions(){return this._emulatorOptions}_freezeSettings(){return this._settingsFrozen=!0,this._settings}_delete(){return"notTerminated"===this._terminateTask&&(this._terminateTask=this._terminate()),this._terminateTask}async _restart(){"notTerminated"===this._terminateTask?await this._terminate():this._terminateTask="notTerminated"}toJSON(){return{app:this._app,databaseId:this._databaseId,settings:this._settings}}_terminate(){let e;return(e=h_.get(this))&&(tT("ComponentProvider","Removing Datastore"),h_.delete(this),e.terminate()),Promise.resolve()}}function hC(e,t,n,r={}){e=t8(e,hS);let i=L(t),s=e._getSettings(),a={...s,emulatorOptions:e._getEmulatorOptions()},o=`${t}:${n}`;i&&(P(`https://${o}`),U("Firestore",!0)),s.host!==hE&&s.host!==o&&tC("Host has been set in both settings() and connectFirestoreEmulator(), emulator host will be used.");let l={...s,host:o,ssl:i,emulatorOptions:r};if(!ei(l,a)&&(e._setSettings(l),r.mockUserToken)){let t,n;if("string"==typeof r.mockUserToken)t=r.mockUserToken,n=tv.MOCK_USER;else{t=F(r.mockUserToken,e._app?.options.projectId);let i=r.mockUserToken.sub||r.mockUserToken.user_id;if(!i)throw new tO(tR.INVALID_ARGUMENT,"mockUserToken must contain 'sub' or 'user_id' field!");n=new tv(i)}e._authCredentials=new tF(new tL(t,n))}}class hx{constructor(e,t,n){this.converter=t,this._query=n,this.type="query",this.firestore=e}withConverter(e){return new hx(this.firestore,e,this._query)}}class hD{constructor(e,t,n){this.converter=t,this._key=n,this.type="document",this.firestore=e}get _path(){return this._key.path}get id(){return this._key.path.lastSegment()}get path(){return this._key.path.canonicalString()}get parent(){return new hA(this.firestore,this.converter,this._key.path.popLast())}withConverter(e){return new hD(this.firestore,e,this._key)}toJSON(){return{type:hD._jsonSchemaVersion,referencePath:this._key.toString()}}static fromJSON(e,t,n){if(ne(t,hD._jsonSchema))return new hD(e,n||null,new t0(tY.fromString(t.referencePath)))}}hD._jsonSchemaVersion="firestore/documentReference/1.0",hD._jsonSchema={type:t9("string",hD._jsonSchemaVersion),referencePath:t9("string")};class hA extends hx{constructor(e,t,n){super(e,t,iY(n)),this._path=n,this.type="collection"}get id(){return this._query.path.lastSegment()}get path(){return this._query.path.canonicalString()}get parent(){let e=this._path.popLast();return e.isEmpty()?null:new hD(this.firestore,null,new t0(e))}withConverter(e){return new hA(this.firestore,e,this._path)}}function hN(e,t,...n){if(e=ed(e),t1("collection","path",t),e instanceof hS){let r=tY.fromString(t,...n);return t3(r),new hA(e,null,r)}{if(!(e instanceof hD||e instanceof hA))throw new tO(tR.INVALID_ARGUMENT,"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");let r=e._path.child(tY.fromString(t,...n));return t3(r),new hA(e.firestore,null,r)}}function hk(e,t){if(e=t8(e,hS),t1("collectionGroup","collection id",t),t.indexOf("/")>=0)throw new tO(tR.INVALID_ARGUMENT,`Invalid collection ID '${t}' passed to function collectionGroup(). Collection IDs must not contain '/'.`);return new hx(e,null,new iJ(tY.emptyPath(),t))}function hR(e,t,...n){if(e=ed(e),1==arguments.length&&(t=t$.newId()),t1("doc","path",t),e instanceof hS){let r=tY.fromString(t,...n);return t6(r),new hD(e,null,new t0(r))}{if(!(e instanceof hD||e instanceof hA))throw new tO(tR.INVALID_ARGUMENT,"Expected first argument to doc() to be a CollectionReference, a DocumentReference or FirebaseFirestore");let r=e._path.child(tY.fromString(t,...n));return t6(r),new hD(e.firestore,e instanceof hA?e.converter:null,new t0(r))}}function hO(e,t){return e=ed(e),t=ed(t),(e instanceof hD||e instanceof hA)&&(t instanceof hD||t instanceof hA)&&e.firestore===t.firestore&&e.path===t.path&&e.converter===t.converter}function hM(e,t){return e=ed(e),t=ed(t),e instanceof hx&&t instanceof hx&&e.firestore===t.firestore&&i5(e._query,t._query)&&e.converter===t.converter}let hL="AsyncQueue";class hP{constructor(e=Promise.resolve()){this.Yu=[],this.ec=!1,this.tc=[],this.nc=null,this.rc=!1,this.sc=!1,this.oc=[],this.M_=new lN(this,"async_queue_retry"),this._c=()=>{let e=lD();e&&tT(hL,"Visibility state changed to "+e.visibilityState),this.M_.w_()},this.ac=e;const t=lD();t&&"function"==typeof t.addEventListener&&t.addEventListener("visibilitychange",this._c)}get isShuttingDown(){return this.ec}enqueueAndForget(e){this.enqueue(e)}enqueueAndForgetEvenWhileRestricted(e){this.uc(),this.cc(e)}enterRestrictedMode(e){if(!this.ec){this.ec=!0,this.sc=e||!1;let t=lD();t&&"function"==typeof t.removeEventListener&&t.removeEventListener("visibilitychange",this._c)}}enqueue(e){if(this.uc(),this.ec)return new Promise(()=>{});let t=new tM;return this.cc(()=>this.ec&&this.sc?Promise.resolve():(e().then(t.resolve,t.reject),t.promise)).then(()=>t.promise)}enqueueRetryable(e){this.enqueueAndForget(()=>(this.Yu.push(e),this.lc()))}async lc(){if(0!==this.Yu.length){try{await this.Yu[0](),this.Yu.shift(),this.M_.reset()}catch(e){if(!nE(e))throw e;tT(hL,"Operation failed with retryable error: "+e)}this.Yu.length>0&&this.M_.p_(()=>this.lc())}}cc(e){let t=this.ac.then(()=>(this.rc=!0,e().catch(e=>{throw this.nc=e,this.rc=!1,tS("INTERNAL UNHANDLED ERROR: ",hF(e)),e}).then(e=>(this.rc=!1,e))));return this.ac=t,t}enqueueAfterDelay(e,t,n){this.uc(),this.oc.indexOf(e)>-1&&(t=0);let r=un.createAndSchedule(this,e,t,n,e=>this.hc(e));return this.tc.push(r),r}uc(){this.nc&&tD(47125,{Pc:hF(this.nc)})}verifyOperationInProgress(){}async Tc(){let e;do e=this.ac,await e;while(e!==this.ac)}Ic(e){for(let t of this.tc)if(t.timerId===e)return!0;return!1}Ec(e){return this.Tc().then(()=>{for(let t of(this.tc.sort((e,t)=>
23e.targetTimeMs-t.targetTimeMs),this.tc))if(t.skipDelay(),"all"!==e&&t.timerId===e)break;return this.Tc()})}Rc(e){this.oc.push(e)}hc(e){let t=this.tc.indexOf(e);this.tc.splice(t,1)}}function hF(e){let t=e.message||"";return e.stack&&(t=e.stack.includes(e.message)?e.stack:e.message+"\n"+e.stack),t}class hV{constructor(){this._progressObserver={},this._taskCompletionResolver=new tM,this._lastProgress={taskState:"Running",totalBytes:0,totalDocuments:0,bytesLoaded:0,documentsLoaded:0}}onProgress(e,t,n){this._progressObserver={next:e,error:t,complete:n}}catch(e){return this._taskCompletionResolver.promise.catch(e)}then(e,t){return this._taskCompletionResolver.promise.then(e,t)}_completeWith(e){this._updateProgress(e),this._progressObserver.complete&&this._progressObserver.complete(),this._taskCompletionResolver.resolve(e)}_failWith(e){this._lastProgress.taskState="Error",this._progressObserver.next&&this._progressObserver.next(this._lastProgress),this._progressObserver.error&&this._progressObserver.error(e),this._taskCompletionResolver.reject(e)}_updateProgress(e){this._lastProgress=e,this._progressObserver.next&&this._progressObserver.next(e)}}class hB extends hS{constructor(e,t,n,r){super(e,t,n,r),this.type="firestore",this._queue=new hP,this._persistenceKey=r?.name||"[DEFAULT]"}async _terminate(){if(this._firestoreClient){let e=this._firestoreClient.terminate();this._queue=new hP(e),this._firestoreClient=void 0,await e}}}function hU(e,t,n){n||(n=r1);let r=eW(e,"firestore");if(r.isInitialized(n)){let e=r.getImmediate({identifier:n});if(ei(r.getOptions(n),t))return e;throw new tO(tR.FAILED_PRECONDITION,"initializeFirestore() has already been called with different options. To avoid this error, call initializeFirestore() with the same options as when it was originally called, or call getFirestore() to return the already initialized instance.")}if(void 0!==t.cacheSizeBytes&&void 0!==t.localCache)throw new tO(tR.INVALID_ARGUMENT,"cache and cacheSizeBytes cannot be specified at the same time as cacheSizeBytes willbe deprecated. Instead, specify the cache size in the cache object");if(void 0!==t.cacheSizeBytes&&-1!==t.cacheSizeBytes&&t.cacheSizeBytes<1048576)throw new tO(tR.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");return t.host&&L(t.host)&&P(t.host),r.initialize({options:t,instanceIdentifier:n})}function hq(e,t){let n="object"==typeof e?e:e7(),r="string"==typeof e?e:t||r1,i=eW(n,"firestore").getImmediate({identifier:r});if(!i._initialized){let e=k("firestore");e&&hC(i,...e)}return i}function hj(e){if(e._terminated)throw new tO(tR.FAILED_PRECONDITION,"The client has already been terminated.");return e._firestoreClient||hz(e),e._firestoreClient}function hz(e){var t,n,r,i,s;let a,o=e._freezeSettings(),l=(t=e._databaseId,n=e._app?.options.appId||"",r=e._persistenceKey,i=e._app?.options.apiKey,new r0(t,n,r,o.host,o.ssl,o.experimentalForceLongPolling,o.experimentalAutoDetectLongPolling,hI(o.experimentalLongPollingOptions),o.useFetchStreams,o.isUsingEmulator,i));e._componentsProvider||o.localCache?._offlineComponentProvider&&o.localCache?._onlineComponentProvider&&(e._componentsProvider={_offline:o.localCache._offlineComponentProvider,_online:o.localCache._onlineComponentProvider}),e._firestoreClient=new hl(e._authCredentials,e._appCheckCredentials,e._queue,l,e._componentsProvider&&(s=e._componentsProvider,a=s?._online.build(),{_offline:s?._offline.build(a),_online:a}))}function h$(e,t){tC("enableIndexedDbPersistence() will be deprecated 
23in the future, you can use `FirestoreSettings.cache` instead.");let n=e._freezeSettings();return hK(e,he.provider,{build:e=>new u7(e,n.cacheSizeBytes,t?.forceOwnership)}),Promise.resolve()}async function hG(e){tC("enableMultiTabIndexedDbPersistence() will be deprecated in the future, you can use `FirestoreSettings.cache` instead.");let t=e._freezeSettings();hK(e,he.provider,{build:e=>new u9(e,t.cacheSizeBytes)})}function hK(e,t,n){if((e=t8(e,hB))._firestoreClient||e._terminated)throw new tO(tR.FAILED_PRECONDITION,"Firestore has already been started and persistence can no longer be enabled. You can only enable persistence before calling any other methods on a Firestore object.");if(e._componentsProvider||e._getSettings().localCache)throw new tO(tR.FAILED_PRECONDITION,"SDK cache is already specified.");e._componentsProvider={_online:t,_offline:n},hz(e)}function hQ(e){if(e._initialized&&!e._terminated)throw new tO(tR.FAILED_PRECONDITION,"Persistence can only be cleared before a Firestore instance is initialized or after it is terminated.");let t=new tM;return e._queue.enqueueAndForgetEvenWhileRestricted(async()=>{try{await async function(e){if(!nv.v())return Promise.resolve();await nv.delete(e+oK)}(oH(e._databaseId,e._persistenceKey)),t.resolve()}catch(e){t.reject(e)}}),t.promise}function hH(e){var t;let n;return t=hj(e=t8(e,hB)),n=new tM,t.asyncQueue.enqueueAndForget(async()=>uB(await hp(t),n)),n.promise}function hW(e){var t;return(t=hj(e=t8(e,hB))).asyncQueue.enqueue(async()=>{let e=await hf(t),n=await hg(t);return e.setNetworkEnabled(!0),n.Ea.delete(0),lU(n)})}function hJ(e){var t;return(t=hj(e=t8(e,hB))).asyncQueue.enqueue(async()=>{let e=await hf(t),n=await hg(t);return e.setNetworkEnabled(!1),async function(e){e.Ea.add(0),await lq(e),e.Va.set("Offline")}(n)})}function hY(e){return eJ(e.app,"firestore",e._databaseId.database),e._delete()}function hX(e,t){let n=hj(e=t8(e,hB)),r=new hV;return function(e,t,n,r){var i;let s=(i=lA(t),new hr(function(e,t){if(e instanceof Uint8Array)return ht(e,void 0);if(e instanceof ArrayBuffer)return ht(new Uint8Array(e),void 0);if(e instanceof ReadableStream)return e.getReader();throw Error("Source of `toByteStreamReader` has to be a ArrayBuffer or ReadableStream")}("string"==typeof n?sH().encode(n):n),i));e.asyncQueue.enqueueAndForget(async()=>{var t;(async function(e,t,n){try{var r,i;let s,a=await t.getMetadata();if(await (r=e.localStore,s=aa(a.createTime),r.persistence.runTransaction("hasNewerBundle","readonly",e=>r.Pi.getBundleMetadata(e,a.id)).then(e=>!!e&&e.createTime.compareTo(s)>=0)))return await t.close(),n._completeWith({taskState:"Success",documentsLoaded:a.totalDocuments,bytesLoaded:a.totalBytes,totalDocuments:a.totalDocuments,totalBytes:a.totalBytes}),Promise.resolve(new Set);n._updateProgress(uv(a));let o=new uw(a,t.serializer),l=await t.Su();for(;l;){let e=await o.Ga(l);e&&n._updateProgress(e),l=await t.Su()}let u=await o.ja(e.localStore);return await uK(e,u.Ja,void 0),await (i=e.localStore,i.persistence.runTransaction("Save bundle","readwrite",e=>i.Pi.saveBundleMetadata(e,a))),n._completeWith(u.progress),Promise.resolve(u.Ha)}catch(e){return tC(uE,`Loading bundle failed with ${e}`),n._failWith(e),Promise.resolve(new Set)}})(t=await hp(e),s,r).then(e=>{t.sharedClientState.notifyBundleLoaded(e)})})}(n,e._databaseId,t,r),r}function hZ(e,t){var n;return(n=hj(e=t8(e,hB)),n.asyncQueue.enqueue(async()=>{var e;return e=await hm(n),e.persistence.runTransaction("Get named query","readonly",n=>e.Pi.getNamedQuery(n,t))})).then(t=>t?new hx(e,null,t.query):null)}class h0{constructor(e){this._byteString=e}static fromBase64String(e){try{return new h0(rj.fromBase64String(e))}catch(e){throw new tO(tR.INVALID_ARGUMENT,"Failed to construct data from Base64 string: "+e)}}static fromUint8Array(e){return new h0(rj.fromUint8Array(e))}toBase64(){return this._byteString.toBase64()}toUint8Array(){return this._byteString.toUint8Array()}toString(){return"Bytes(base64: "+this.toBase64()+")"}isEqual(e){return this._byteString.isEqual(e._byteString)}toJSON(){return{type:h0._jsonSchemaVersion,bytes:this.toBase64()}}static fromJSON(e){if(ne(e,h0._jsonSchema))return h0.fromBase64String(e.bytes)}}
23h0._jsonSchemaVersion="firestore/bytes/1.0",h0._jsonSchema={type:t9("string",h0._jsonSchemaVersion),bytes:t9("string")};class h1{constructor(...e){for(let t=0;t<e.length;++t)if(0===e[t].length)throw new tO(tR.INVALID_ARGUMENT,"Invalid field name at argument $(i + 1). Field names must not be empty.");this._internalPath=new tZ(e)}isEqual(e){return this._internalPath.isEqual(e._internalPath)}}function h2(){return new h1(tW)}class h6{constructor(e){this._methodName=e}}class h3{constructor(e,t){if(!isFinite(e)||e<-90||e>90)throw new tO(tR.INVALID_ARGUMENT,"Latitude must be a number between -90 and 90, but was: "+e);if(!isFinite(t)||t<-180||t>180)throw new tO(tR.INVALID_ARGUMENT,"Longitude must be a number between -180 and 180, but was: "+t);this._lat=e,this._long=t}get latitude(){return this._lat}get longitude(){return this._long}isEqual(e){return this._lat===e._lat&&this._long===e._long}_compareTo(e){return tG(this._lat,e._lat)||tG(this._long,e._long)}toJSON(){return{latitude:this._lat,longitude:this._long,type:h3._jsonSchemaVersion}}static fromJSON(e){if(ne(e,h3._jsonSchema))return new h3(e.latitude,e.longitude)}}h3._jsonSchemaVersion="firestore/geoPoint/1.0",h3._jsonSchema={type:t9("string",h3._jsonSchemaVersion),latitude:t9("number"),longitude:t9("number")};class h4{constructor(e){this._values=(e||[]).map(e=>e)}toArray(){return this._values.map(e=>e)}isEqual(e){return function(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;++n)if(e[n]!==t[n])return!1;return!0}(this._values,e._values)}toJSON(){return{type:h4._jsonSchemaVersion,vectorValues:this._values}}static fromJSON(e){if(ne(e,h4._jsonSchema)){if(Array.isArray(e.vectorValues)&&e.vectorValues.every(e=>"number"==typeof e))return new h4(e.vectorValues);throw new tO(tR.INVALID_ARGUMENT,"Expected 'vectorValues' field to be a number array")}}}h4._jsonSchemaVersion="firestore/vectorValue/1.0",h4._jsonSchema={type:t9("string",h4._jsonSchemaVersion),vectorValues:t9("object")};let h5=/^__.*__$/;class h8{constructor(e,t,n){this.data=e,this.fieldMask=t,this.fieldTransforms=n}toMutation(e,t){return null!==this.fieldMask?new sM(e,this.data,this.fieldMask,t,this.fieldTransforms):new sO(e,this.data,t,this.fieldTransforms)}}class h7{constructor(e,t,n){this.data=e,this.fieldMask=t,this.fieldTransforms=n}toMutation(e,t){return new sM(e,this.data,this.fieldMask,t,this.fieldTransforms)}}function h9(e){switch(e){case 0:case 2:case 1:return!0;case 3:case 4:return!1;default:throw tD(40011,{dataSource:e})}}class ce{constructor(e,t,n,r,i,s){this.settings=e,this.databaseId=t,this.serializer=n,this.ignoreUndefinedProperties=r,void 0===i&&this.validatePath(),this.fieldTransforms=i||[],this.fieldMask=s||[]}get path(){return this.settings.path}get dataSource(){return this.settings.dataSource}contextWith(e){return new ce({...this.settings,...e},this.databaseId,this.serializer,this.ignoreUndefinedProperties,this.fieldTransforms,this.fieldMask)}childContextForField(e){let t=this.path?.child(e),n=this.contextWith({path:t,arrayElement:!1});return n.validatePathSegment(e),n}childContextForFieldPath(e){let t=this.path?.child(e),n=this.contextWith({path:t,arrayElement:!1});return n.validatePath(),n}childContextForArray(e){return this.contextWith({path:void 0,arrayElement:!0})}createError(e){return cb(e,this.settings.methodName,this.settings.hasConverter||!1,this.path,this.settings.targetDoc)}contains(e){return void 0!==this.fieldMask.find(t=>e.isPrefixOf(t))||void 0!==this.fieldTransforms.find(t=>e.isPrefixOf(t.field))}validatePath(){if(this.path)for(let e=0;e<this.path.length;e++)this.validatePathSegment(this.path.get(e))}validatePathSegment(e){if(0===e.length)throw this.createError("Document fields must not be empty");if(h9(this.dataSource)&&h5.test(e))throw this.createError('Document fields cannot begin and end with "__"')}}class ct{constructor(e,t,n){this.databaseId=e,this.ignoreUndefinedProperties=t,this.serializer=n||lA(e)}createContext(e,t,n,r=!1){return new ce({dataSource:e,methodName:t,targetDoc:n,path:tZ.emptyPath(),arrayElement:!1,hasConverter:r},this.databaseId,this.serializer,this.ignoreUndefinedProperties)}}function cn(e){let t=e._freezeSettings(),n=lA(e._databaseId);return new ct(e._databaseId,!!t.ignoreUndefinedProperties,n)}function cr(e,t,n,r,i,s={}){let a,o,l=e.createContext(s.merge||s.mergeFields?2:0,t,n,i);cp("Data must be an object, but it was:",l,r);let u=cm(r,l);if(s.merge)a=new rB(l.fieldMask),o=l.fieldTransforms;else if(s.mergeFields){let e=[];for(let r of s.mergeFields){let i=cy(t,r,n);if(!l.contains(i))throw new tO(tR.INVALID_ARGUMENT,`Field '${i}' is specified in your field mask but missing from your input data.`);cI(e,i)||e.push(i)}a=new rB(e),o=l.fieldTransforms.filter(e=>a.covers(e.field))}else a=null,o=l.fieldTransforms;return new h8(new ib(u),a,o)}class ci extends h6{_toFieldTransform(e){if(2!==e.dataSource)throw 1===e.dataSource?e.createError(`${this._methodName}() can only appear at the top level of your update data`):e.createError(`${this._methodName}() cannot be used with set() unless you pass {merge:true}`);return e.fieldMask.push(e.path),null}isEqual(e){return e instanceof ci}}function cs(e,t,n){return new ce({dataSource:3,targetDoc:t.settings.targetDoc,methodName:e._methodName,arrayElement:n},t.databaseId,t.serializer,t.ignoreUndefinedProperties)}class ca extends h6{_toFieldTransform(e){return new sS(e.path,new sy)}isEqual(e){return e instanceof ca}}class co extends h6{constructor(e,t){super(e),this.Ac=t}_toFieldTransform(e){let t=cs(this,e,!0),n=new sw(this.Ac.map(e=>cf(e,t)));return new sS(e.path,n)}isEqual(e){return e instanceof co&&ei(this.Ac,e.Ac)}}class cl extends h6{constructor(e,t){super(e),this.Ac=t}_toFieldTransform(e){let t=cs(this,e,!0),n=new sb(this.Ac.map(e=>cf(e,t)));return new sS(e.path,n)}isEqual(e){return e instanceof cl&&ei(this.Ac,e.Ac)}}class cu extends h6{constructor(e,t){super(e),this.Vc=t}_toFieldTransform(e){let t=new s_(e.serializer,sm(e.serializer,this.Vc));return new sS(e.path,t)}isEqual(e){return e instanceof cu&&this.Vc===e.Vc}}function ch(e,t,n,r){let i=e.createContext(1,t,n);cp("Data must be an object, but it was:",i,r);let s=[],a=ib.empty();return rN(r,(e,r)=>{let o=cv(t,e,n);r=ed(r);let l=i.childContextForFieldPath(o);if(r instanceof ci)s.push(o);else{let e=cf(r,l);null!=e&&(s.push(o),a.set(o,e))}}),new h7(a,new rB(s),i.fieldTransforms)}function cc(e,t,n,r,i,s){let a=e.createContext(1,t,n),o=[cy(t,r,n)],l=[i];if(s.length%2!=0)throw new tO(tR.INVALID_ARGUMENT,`Function ${t}() needs to be called with an even number of arguments that alternate between field names and values.`);for(let e=0;e<s.length;e+=2)o.push(cy(t,s[e])),l.push(s[e+1]);let u=[],h=ib.empty();for(let e=o.length-1;e>=0;
23--e)if(!cI(u,o[e])){let t=o[e],n=l[e];n=ed(n);let r=a.childContextForFieldPath(t);if(n instanceof ci)u.push(t);else{let e=cf(n,r);null!=e&&(u.push(t),h.set(t,e))}}return new h7(h,new rB(u),a.fieldTransforms)}function cd(e,t,n,r=!1){return cf(n,e.createContext(r?4:3,t))}function cf(e,t){if(cg(e=ed(e)))return cp("Unsupported field value:",t,e),cm(e,t);if(e instanceof h6)return function(e,t){if(!h9(t.dataSource))throw t.createError(`${e._methodName}() can only be used with update() and set()`);if(!t.path)throw t.createError(`${e._methodName}() is not currently supported inside arrays`);let n=e._toFieldTransform(t);n&&t.fieldTransforms.push(n)}(e,t),null;if(void 0===e&&t.ignoreUndefinedProperties)return null;if(t.path&&t.fieldMask.push(t.path),e instanceof Array){if(t.settings.arrayElement&&4!==t.dataSource)throw t.createError("Nested arrays are not supported");let n=[],r=0;for(let i of e){let e=cf(i,t.childContextForArray(r));null==e&&(e={nullValue:"NULL_VALUE"}),n.push(e),r++}return{arrayValue:{values:n}}}return function(e,t){if(null===(e=ed(e)))return{nullValue:"NULL_VALUE"};if("number"==typeof e)return sm(t.serializer,e);if("boolean"==typeof e)return{booleanValue:e};if("string"==typeof e)return{stringValue:e};if(e instanceof Date){let n=nt.fromDate(e);return{timestampValue:ai(t.serializer,n)}}if(e instanceof nt){let n=new nt(e.seconds,1e3*Math.floor(e.nanoseconds/1e3));return{timestampValue:ai(t.serializer,n)}}if(e instanceof h3)return{geoPointValue:{latitude:e.latitude,longitude:e.longitude}};if(e instanceof h0)return{bytesValue:as(t.serializer,e._byteString)};if(e instanceof hD){let n=t.databaseId,r=e.firestore._databaseId;if(!r.isEqual(n))throw t.createError(`Document reference is for database ${r.projectId}/${r.database} but should be for database ${n.projectId}/${n.database}`);return{referenceValue:ao(e.firestore._databaseId||t.databaseId,e._key.path)}}if(e instanceof h4){var n;return{mapValue:{fields:{[r6]:{stringValue:r5},[r8]:{arrayValue:{values:((n=e)instanceof h4?n.toArray():n).map(e=>{if("number"!=typeof e)throw t.createError("VectorValues must only contain numeric values.");return sd(t.serializer,e)})}}}}}}if(ax(e))return e._toProto(t.serializer);throw t.createError(`Unsupported field value: ${t5(e)}`)}(e,t)}function cm(e,t){let n={};return rR(e)?t.path&&t.path.length>0&&t.fieldMask.push(t.path):rN(e,(e,r)=>{let i=cf(r,t.childContextForField(e));null!=i&&(n[e]=i)}),{mapValue:{fields:n}}}function cg(e){return!("object"!=typeof e||null===e||e instanceof Array||e instanceof Date||e instanceof nt||e instanceof h3||e instanceof h0||e instanceof hD||e instanceof h6||e instanceof h4||ax(e))}function cp(e,t,n){if(!cg(n)||!t4(n)){let r=t5(n);throw"an object"===r?t.createError(e+" a custom object"):t.createError(e+" "+r)}}function cy(e,t,n){if((t=ed(t))instanceof h1)return t._internalPath;if("string"==typeof t)return cv(e,t);throw cb("Field path arguments must be of type string or ",e,!1,void 0,n)}let cw=RegExp("[~\\*/\\[\\]]");function cv(e,t,n){if(t.search(cw)>=0)throw cb(`Invalid field path (${t}). Paths must not contain '~', '*', '/', '[', or ']'`,e,!1,void 0,n);try{return new h1(...t.split("."))._internalPath}catch(r){throw cb(`Invalid field path (${t}). Paths must not be empty, begin with '.', end with '.', or contain '..'`,e,!1,void 0,n)}}function cb(e,t,n,r,i){let s=r&&!r.isEmpty(),a=void 0!==i,o=`Function ${t}() called with invalid data`;n&&(o+=" (via `toFirestore()`)"),o+=". ";let l="";return(s||a)&&(l+=" (found",s&&(l+=` in field ${r}`),a&&(l+=` in document ${i}`),l+=")"),new tO(tR.INVALID_ARGUMENT,o+e+l)}function cI(e,t){return e.some(e=>e.isEqual(t))}class c_{convertValue(e,t="none"){switch(r9(e)){case 0:return null;case 1:return e.booleanValue;case 2:return rG(e.integerValue||e.doubleValue);case 3:return this.convertTimestamp(e.timestampValue);case 4:return this.convertServerTimestamp(e,t);case 5:return e.stringValue;case 6:return this.convertBytes(rK(e.bytesValue));case 7:return this.convertReference(e.referenceValue);case 8:return this.convertGeoPoint(e.geoPointValue);case 9:return this.convertArray(e.arrayValue,t);case 11:return this.convertObject(e.mapValue,t);case 10:return this.convertVectorValue(e.mapValue);default:throw tD(62114,{value:e})}}convertObject(e,t){return this.convertObjectMap(e.fields,t)}convertObjectMap(e,t="none"){let n={};return rN(e,(e,r)=>{n[e]=this.convertValue(r,t)}),n}convertVectorValue(e){return new h4(e.fields?.[r8].arrayValue?.values?.map(e=>rG(e.doubleValue)))}convertGeoPoint(e){return new h3(rG(e.latitude),rG(e.longitude))}convertArray(e,t){return(e.values||[]).map(e=>this.convertValue(e,t))}convertServerTimestamp(e,t){switch(t){case"previous":let n=rX(e);return null==n?null:this.convertValue(n,t);case"estimate":return this.convertTimestamp(rZ(e));default:return null}}convertTimestamp(e){let t=r$(e);return new nt(t.seconds,t.nanos)}convertDocumentKey(e,t){let n=tY.fromString(e);tN(aC(n),9688,{name:e});let r=new r2(n.get(1),n.get(3)),i=new t0(n.popFirst(5));return r.isEqual(t)||tS(`Document ${i} contains a document reference within a different database (${r.projectId}/${r.database}) which is not supported. It will be treated as a reference in the current database (${t.projectId}/${t.database}) instead.`),i}}class cE extends c_{constructor(e){super(),this.firestore=e}convertBytes(e){return new h0(e)}convertReference(e){let t=this.convertDocumentKey(e,this.firestore._databaseId);
23return new hD(this.firestore,null,t)}}function cT(){return new ci("deleteField")}function cS(){return new ca("serverTimestamp")}function cC(...e){return new co("arrayUnion",e)}function cx(...e){return new cl("arrayRemove",e)}function cD(e){return new cu("increment",e)}function cA(e){return new h4(e)}function cN(e){let t=hj(t8(e.firestore,hB)),n=t._onlineComponents?.datastore.serializer;return void 0===n?null:aI(n,i1(e._query)).ft}function ck(e,t){let n=rk(t,(e,t)=>new sz(t,e.aggregateType,e._internalFieldPath)),r=hj(t8(e.firestore,hB)),i=r._onlineComponents?.datastore.serializer;return void 0===i?null:a_(i,i2(e._query),n,!0).request}let cR="@firebase/firestore",cO="4.10.0";function cM(e){if("object"!=typeof e||null===e)return!1;for(let t of["next","error","complete"])if(t in e&&"function"==typeof e[t])return!0;return!1}class cL{constructor(e="count",t){this._internalFieldPath=t,this.type="AggregateField",this.aggregateType=e}}class cP{constructor(e,t,n){this._userDataWriter=t,this._data=n,this.type="AggregateQuerySnapshot",this.query=e}data(){return this._userDataWriter.convertObjectMap(this._data)}_fieldsProto(){return new ib({mapValue:{fields:this._data}}).clone().value.mapValue.fields}}class cF{constructor(e,t,n,r,i){this._firestore=e,this._userDataWriter=t,this._key=n,this._document=r,this._converter=i}get id(){return this._key.path.lastSegment()}get ref(){return new hD(this._firestore,this._converter,this._key)}exists(){return null!==this._document}data(){if(this._document){if(this._converter){let e=new cV(this._firestore,this._userDataWriter,this._key,this._document,null);return this._converter.fromFirestore(e)}return this._userDataWriter.convertValue(this._document.data.value)}}_fieldsProto(){return this._document?.data.clone().value.mapValue.fields??void 0}get(e){if(this._document){let t=this._document.data.field(cy("DocumentSnapshot.get",e));if(null!==t)return this._userDataWriter.convertValue(t)}}}class cV extends cF{data(){return super.data()}}function cB(e){if("L"===e.limitType&&0===e.explicitOrderBy.length)throw new tO(tR.UNIMPLEMENTED,"limitToLast() queries require specifying at least one orderBy() clause")}class cU{}class cq extends cU{}function cj(e,t,...n){let r=[];for(let i of(t instanceof cU&&r.push(t),function(e){let t=e.filter(e=>e instanceof cG).length,n=e.filter(e=>e instanceof cz).length;if(t>1||t>0&&n>0)throw new tO(tR.INVALID_ARGUMENT,"InvalidQuery. When using composite filters, you cannot use more than one filter at the top level. Consider nesting the multiple filters within an `and(...)` statement. For example: change `query(query, where(...), or(...))` to `query(query, and(where(...), or(...)))`.")}(r=r.concat(n)),r))e=i._apply(e);return e}class cz extends cq{constructor(e,t,n){super(),this._field=e,this._op=t,this._value=n,this.type="where"}static _create(e,t,n){return new cz(e,t,n)}_apply(e){let t=this._parse(e);return c7(e._query,t),new hx(e.firestore,e.converter,i3(e._query,t))}_parse(e){let t=cn(e.firestore);return function(e,t,n,r,i,s,a){let o;if(i.isKeyField()){if("array-contains"===s||"array-contains-any"===s)throw new tO(tR.INVALID_ARGUMENT,`Invalid Query. You can't perform '${s}' queries on documentId().`);if("in"===s||"not-in"===s){c8(a,s);let t=[];for(let n of a)t.push(c5(r,e,n));o={arrayValue:{values:t}}}else o=c5(r,e,a)}else"in"!==s&&"not-in"!==s&&"array-contains-any"!==s||c8(a,s),o=cd(n,t,a,"in"===s||"not-in"===s);return ix.create(i,s,o)}(e._query,"where",t,e.firestore._databaseId,this._field,this._op,this._value)}}function c$(e,t,n){let r=cy("where",e);return cz._create(r,t,n)}class cG extends cU{constructor(e,t){super(),this.type=e,this._queryConstraints=t}static _create(e,t){return new cG(e,t)}_parse(e){let t=this._queryConstraints.map(t=>t._parse(e)).filter(e=>e.getFilters().length>0);return 1===t.length?t[0]:iD.create(t,this._getOperator())}_apply(e){let t=this._parse(e);return 0===t.getFilters().length?e:(function(e,t){let n=e;for(let e of t.getFlattenedFilters())c7(n,e),n=i3(n,e)}(e._query,t),new hx(e.firestore,e.converter,i3(e._query,t)))}_getQueryConstraints(){return this._queryConstraints}_getOperator(){return"and"===this.type?"and":"or"}}
23function cK(...e){return e.forEach(e=>c9("or",e)),cG._create("or",e)}function cQ(...e){return e.forEach(e=>c9("and",e)),cG._create("and",e)}class cH extends cq{constructor(e,t){super(),this._field=e,this._direction=t,this.type="orderBy"}static _create(e,t){return new cH(e,t)}_apply(e){var t;let n,r=function(e,t,n){if(null!==e.startAt)throw new tO(tR.INVALID_ARGUMENT,"Invalid query. You must not call startAt() or startAfter() before calling orderBy().");if(null!==e.endAt)throw new tO(tR.INVALID_ARGUMENT,"Invalid query. You must not call endAt() or endBefore() before calling orderBy().");return new iS(t,n)}(e._query,this._field,this._direction);return new hx(e.firestore,e.converter,(t=e._query,n=t.explicitOrderBy.concat([r]),new iJ(t.path,t.collectionGroup,n,t.filters.slice(),t.limit,t.limitType,t.startAt,t.endAt)))}}function cW(e,t="asc"){let n=cy("orderBy",e);return cH._create(n,t)}class cJ extends cq{constructor(e,t,n){super(),this.type=e,this._limit=t,this._limitType=n}static _create(e,t,n){return new cJ(e,t,n)}_apply(e){return new hx(e.firestore,e.converter,i4(e._query,this._limit,this._limitType))}}function cY(e){return t7("limit",e),cJ._create("limit",e,"F")}function cX(e){return t7("limitToLast",e),cJ._create("limitToLast",e,"L")}class cZ extends cq{constructor(e,t,n){super(),this.type=e,this._docOrFields=t,this._inclusive=n}static _create(e,t,n){return new cZ(e,t,n)}_apply(e){var t;let n=c4(e,this.type,this._docOrFields,this._inclusive);return new hx(e.firestore,e.converter,(t=e._query,new iJ(t.path,t.collectionGroup,t.explicitOrderBy.slice(),t.filters.slice(),t.limit,t.limitType,n,t.endAt)))}}function c0(...e){return cZ._create("startAt",e,!0)}function c1(...e){return cZ._create("startAfter",e,!1)}class c2 extends cq{constructor(e,t,n){super(),this.type=e,this._docOrFields=t,this._inclusive=n}static _create(e,t,n){return new c2(e,t,n)}_apply(e){var t;let n=c4(e,this.type,this._docOrFields,this._inclusive);return new hx(e.firestore,e.converter,(t=e._query,new iJ(t.path,t.collectionGroup,t.explicitOrderBy.slice(),t.filters.slice(),t.limit,t.limitType,t.startAt,n)))}}function c6(...e){return c2._create("endBefore",e,!1)}function c3(...e){return c2._create("endAt",e,!0)}function c4(e,t,n,r){if(n[0]=ed(n[0]),n[0]instanceof cF)return function(e,t,n,r,i){if(!r)throw new tO(tR.NOT_FOUND,`Can't use a DocumentSnapshot that doesn't exist for ${n}().`);let s=[];for(let n of i0(e))if(n.field.isKeyField())s.push(io(t,r.key));else{let e=r.data.field(n.field);if(rY(e))throw new tO(tR.INVALID_ARGUMENT,'Invalid query. You are trying to start or end a query using a document for which the field "'+n.field+'" is an uncommitted server timestamp. (Since the value of this field is unknown, you cannot start/end a query with it.)');if(null===e){let e=n.field.canonicalString();throw new tO(tR.INVALID_ARGUMENT,`Invalid query. You are trying to start or end a query using a document for which the field '${e}' (used as the orderBy) does not exist.`)}s.push(e)}return new i_(s,i)}(e._query,e.firestore._databaseId,t,n[0]._document,r);{let i=cn(e.firestore);return function(e,t,n,r,i,s){let a=e.explicitOrderBy;if(i.length>a.length)throw new tO(tR.INVALID_ARGUMENT,`Too many arguments provided to ${r}(). The number of arguments must be less than or equal to the number of orderBy() clauses`);let o=[];for(let s=0;s<i.length;s++){let l=i[s];if(a[s].field.isKeyField()){if("string"!=typeof l)throw new tO(tR.INVALID_ARGUMENT,`Invalid query. Expected a string for document ID in ${r}(), but got a ${typeof l}`);if(!iZ(e)&&-1!==l.indexOf("/"))throw new tO(tR.INVALID_ARGUMENT,`Invalid query. When querying a collection and ordering by documentId(), the value passed to ${r}() must be a plain document ID, but '${l}' contains a slash.`);let n=e.path.child(tY.fromString(l));if(!t0.isDocumentKey(n))throw new tO(tR.INVALID_ARGUMENT,`Invalid query. When querying a collection group and ordering by documentId(), the value passed to ${r}() must result in a valid document path, but '${n}' is not because it contains an odd number of segments.`);let i=new t0(n);o.push(io(t,i))}else{let e=cd(n,r,l);o.push(e)}}return new i_(o,s)}(e._query,e.firestore._databaseId,i,t,n,r)}}
23function c5(e,t,n){if("string"==typeof(n=ed(n))){if(""===n)throw new tO(tR.INVALID_ARGUMENT,"Invalid query. When querying with documentId(), you must provide a valid document ID, but it was an empty string.");if(!iZ(t)&&-1!==n.indexOf("/"))throw new tO(tR.INVALID_ARGUMENT,`Invalid query. When querying a collection by documentId(), you must provide a plain document ID, but '${n}' contains a '/' character.`);let r=t.path.child(tY.fromString(n));if(!t0.isDocumentKey(r))throw new tO(tR.INVALID_ARGUMENT,`Invalid query. When querying a collection group by documentId(), the value provided must result in a valid document path, but '${r}' is not because it has an odd number of segments (${r.length}).`);return io(e,new t0(r))}if(n instanceof hD)return io(e,n._key);throw new tO(tR.INVALID_ARGUMENT,`Invalid query. When querying with documentId(), you must provide a valid string or a DocumentReference, but it was: ${t5(n)}.`)}function c8(e,t){if(!Array.isArray(e)||0===e.length)throw new tO(tR.INVALID_ARGUMENT,`Invalid Query. A non-empty array is required for '${t.toString()}' filters.`)}function c7(e,t){let n=function(e,t){for(let n of e)for(let e of n.getFlattenedFilters())if(t.indexOf(e.op)>=0)return e.op;return null}(e.filters,function(e){switch(e){case"!=":return["!=","not-in"];case"array-contains-any":case"in":return["not-in"];case"not-in":return["array-contains-any","in","not-in","!="];default:return[]}}(t.op));if(null!==n)throw n===t.op?new tO(tR.INVALID_ARGUMENT,`Invalid query. You cannot use more than one '${t.op.toString()}' filter.`):new tO(tR.INVALID_ARGUMENT,`Invalid query. You cannot use '${t.op.toString()}' filters with '${n.toString()}' filters.`)}function c9(e,t){if(!(t instanceof cz||t instanceof cG))throw new tO(tR.INVALID_ARGUMENT,`Function ${e}() requires AppliableConstraints created with a call to 'where(...)', 'or(...)', or 'and(...)'.`)}function de(e,t,n){return e?n&&(n.merge||n.mergeFields)?e.toFirestore(t,n):e.toFirestore(t):t}class dt extends c_{constructor(e){super(),this.firestore=e}convertBytes(e){return new h0(e)}convertReference(e){let t=this.convertDocumentKey(e,this.firestore._databaseId);return new hD(this.firestore,null,t)}}function dn(e){return new cL("sum",cy("sum",e))}function dr(e){return new cL("avg",cy("average",e))}function di(){return new cL("count")}function ds(e,t){return e instanceof cL&&t instanceof cL&&e.aggregateType===t.aggregateType&&e._internalFieldPath?.canonicalString()===t._internalFieldPath?.canonicalString()}function da(e,t){return hM(e.query,t.query)&&ei(e.data(),t.data())}function dl(e){return du(e,{count:di()})}function du(e,t){var n;let r,i=t8(e.firestore,hB),s=hj(i),a=rk(t,(e,t)=>new sz(t,e.aggregateType,e._internalFieldPath));return(n=e._query,r=new tM,s.asyncQueue.enqueueAndForget(async()=>{try{let e=await hy(s);r.resolve(async function(e,t,n){let{request:r,gt:i,parent:s}=a_(e.serializer,i2(t),n);e.connection.Ko||delete r.parent;let a=(await e.jo("RunAggregationQuery",e.serializer.databaseId,s,r,1)).filter(e=>!!e.result);tN(1===a.length,64727);let o=a[0].result?.aggregateFields;return Object.keys(o).reduce((e,t)=>(e[i[t]]=o[t],e),{})}(e,n,a))}catch(e){r.reject(e)}}),r.promise).then(t=>new cP(e,new cE(i),t))}class dh{constructor(e){this.kind="memory",this._onlineComponentProvider=he.provider,this._offlineComponentProvider=e?.garbageCollector?e.garbageCollector._offlineComponentProvider:{build:()=>new u8(void 0)}}toJSON(){return{kind:this.kind}}}class dc{constructor(e){let t;this.kind="persistent",e?.tabManager?(e.tabManager._initialize(e),t=e.tabManager):(t=db(void 0))._initialize(e),this._onlineComponentProvider=t._onlineComponentProvider,this._offlineComponentProvider=t._offlineComponentProvider}toJSON(){return{kind:this.kind}}}class dd{constructor(){this.kind="memoryEager",this._offlineComponentProvider=u5.provider}toJSON(){return{kind:this.kind}}}class df{constructor(e){this.kind="memoryLru",this._offlineComponentProvider={build:()=>new u8(e)}}toJSON(){return{kind:this.kind}}}function dm(){return new dd}function dg(e){return new df(e?.cacheSizeBytes)}function dp(e){return new dh(e)}function dy(e){return new dc(e)}class dw{constructor(e){this.forceOwnership=e,this.kind="persistentSingleTab"}toJSON(){return{kind:this.kind}}_initialize(e){this._onlineComponentProvider=he.provider,this._offlineComponentProvider={build:t=>new u7(t,e?.cacheSizeBytes,this.forceOwnership)}}}class dv{constructor(){this.kind="PersistentMultipleTab"}toJSON(){return{kind:this.kind}}_initialize(e){this._onlineComponentProvider=he.provider,this._offlineComponentProvider={build:t=>new u9(t,e?.cacheSizeBytes)}}}function db(e){return new dw(e?.forceOwnership)}function dI(){return new dv}let d_="NOT SUPPORTED";class dE{constructor(e,t){this.hasPendingWrites=e,this.fromCache=t}isEqual(e){return this.hasPendingWrites===e.hasPendingWrites&&this.fromCache===e.fromCache}}
23class dT extends cF{constructor(e,t,n,r,i,s){super(e,t,n,r,s),this._firestore=e,this._firestoreImpl=e,this.metadata=i}exists(){return super.exists()}data(e={}){if(this._document){if(this._converter){let t=new dC(this._firestore,this._userDataWriter,this._key,this._document,this.metadata,null);return this._converter.fromFirestore(t,e)}return this._userDataWriter.convertValue(this._document.data.value,e.serverTimestamps)}}get(e,t={}){if(this._document){let n=this._document.data.field(cy("DocumentSnapshot.get",e));if(null!==n)return this._userDataWriter.convertValue(n,t.serverTimestamps)}}toJSON(){if(this.metadata.hasPendingWrites)throw new tO(tR.FAILED_PRECONDITION,"DocumentSnapshot.toJSON() attempted to serialize a document with pending writes. Await waitForPendingWrites() before invoking toJSON().");let e=this._document,t={};return t.type=dT._jsonSchemaVersion,t.bundle="",t.bundleSource="DocumentSnapshot",t.bundleName=this._key.toString(),e&&e.isValidDocument()&&e.isFoundDocument()&&(this._userDataWriter.convertObjectMap(e.data.value.mapValue.fields,"previous"),this._firestore,this.ref.path,t.bundle="NOT SUPPORTED"),t}}function dS(e,t,n){if(ne(t,dT._jsonSchema)){var r;if(t.bundle===d_)throw new tO(tR.INVALID_ARGUMENT,"The provided JSON object was created in a client environment, which is not supported.");let i=lA(e._databaseId),s=(r=t.bundle,new hi(r,i)),a=s.t(),o=new uw(s.getMetadata(),i);for(let e of a)o.o(e);let l=o.documents;if(1!==l.length)throw new tO(tR.INVALID_ARGUMENT,`Expected bundle data to contain 1 document, but it contains ${l.length} documents.`);let u=ay(i,l[0].document),h=new t0(tY.fromString(t.bundleName));return new dT(e,new dt(e),h,u,new dE(!1,!1),n||null)}}dT._jsonSchemaVersion="firestore/documentSnapshot/1.0",dT._jsonSchema={type:t9("string",dT._jsonSchemaVersion),bundleSource:t9("string","DocumentSnapshot"),bundleName:t9("string"),bundle:t9("string")};class dC extends dT{data(e={}){return super.data(e)}}class dx{constructor(e,t,n,r){this._firestore=e,this._userDataWriter=t,this._snapshot=r,this.metadata=new dE(r.hasPendingWrites,r.fromCache),this.query=n}get docs(){let e=[];return this.forEach(t=>e.push(t)),e}get size(){return this._snapshot.docs.size}get empty(){return 0===this.size}forEach(e,t){this._snapshot.docs.forEach(n=>{e.call(t,new dC(this._firestore,this._userDataWriter,n.key,n,new dE(this._snapshot.mutatedKeys.has(n.key),this._snapshot.fromCache),this.query.converter))})}docChanges(e={}){let t=!!e.includeMetadataChanges;if(t&&this._snapshot.excludesMetadataChanges)throw new tO(tR.INVALID_ARGUMENT,"To include metadata changes with your document changes, you must also pass { includeMetadataChanges:true } to onSnapshot().");return this._cachedChanges&&this._cachedChangesIncludeMetadataChanges===t||(this._cachedChanges=function(e,t){if(e._snapshot.oldDocs.isEmpty()){let t=0;return e._snapshot.docChanges.map(n=>{let r=new dC(e._firestore,e._userDataWriter,n.doc.key,n.doc,new dE(e._snapshot.mutatedKeys.has(n.doc.key),e._snapshot.fromCache),e.query.converter);return n.doc,{type:"added",doc:r,oldIndex:-1,newIndex:t++}})}{let n=e._snapshot.oldDocs;return e._snapshot.docChanges.filter(e=>t||3!==e.type).map(t=>{let r=new dC(e._firestore,e._userDataWriter,t.doc.key,t.doc,new dE(e._snapshot.mutatedKeys.has(t.doc.key),e._snapshot.fromCache),e.query.converter),i=-1,s=-1;return 0!==t.type&&(i=n.indexOf(t.doc.key),n=n.delete(t.doc.key)),1!==t.type&&(s=(n=n.add(t.doc)).indexOf(t.doc.key)),{type:function(e){switch(e){case 0:return"added";case 2:case 3:return"modified";case 1:return"removed";default:return tD(61501,{type:e})}}(t.type),doc:r,oldIndex:i,newIndex:s}})}}(this,t),this._cachedChangesIncludeMetadataChanges=t),this._cachedChanges}toJSON(){if(this.metadata.hasPendingWrites)throw new tO(tR.FAILED_PRECONDITION,"QuerySnapshot.toJSON() attempted to serialize a document with pending writes. Await waitForPendingWrites() before invoking toJSON().");let e={};e.type=dx._jsonSchemaVersion,e.bundleSource="QuerySnapshot",e.bundleName=t$.newId(),this._firestore._databaseId.database,this._firestore._databaseId.projectId;let t=[],n=[],r=[];
23return this.docs.forEach(e=>{null!==e._document&&(t.push(e._document),n.push(this._userDataWriter.convertObjectMap(e._document.data.value.mapValue.fields,"previous")),r.push(e.ref.path))}),this._firestore,this.query._query,e.bundleName,e.bundle="NOT SUPPORTED",e}}function dD(e,t,n){if(ne(t,dx._jsonSchema)){var r;if(t.bundle===d_)throw new tO(tR.INVALID_ARGUMENT,"The provided JSON object was created in a client environment, which is not supported.");let i=lA(e._databaseId),s=(r=t.bundle,new hi(r,i)),a=s.t(),o=new uw(s.getMetadata(),i);for(let e of a)o.o(e);if(1!==o.queries.length)throw new tO(tR.INVALID_ARGUMENT,`Snapshot data expected 1 query but found ${o.queries.length} queries.`);let l=aF(o.queries[0].bundledQuery),u=o.documents,h=new ui;u.map(e=>{let t=ay(i,e.document);h=h.add(t)});let c=ua.fromInitialDocuments(l,h,sh(),!1,!1),d=new hx(e,n||null,l);return new dx(e,new dt(e),d,c)}}function dA(e,t){return e instanceof dT&&t instanceof dT?e._firestore===t._firestore&&e._key.isEqual(t._key)&&(null===e._document?null===t._document:e._document.isEqual(t._document))&&e._converter===t._converter:e instanceof dx&&t instanceof dx&&e._firestore===t._firestore&&hM(e.query,t.query)&&e.metadata.isEqual(t.metadata)&&e._snapshot.isEqual(t._snapshot)}dx._jsonSchemaVersion="firestore/querySnapshot/1.0",dx._jsonSchema={type:t9("string",dx._jsonSchemaVersion),bundleSource:t9("string","QuerySnapshot"),bundleName:t9("string"),bundle:t9("string")};let dN={maxAttempts:5};class dk{constructor(e,t){this._firestore=e,this._commitHandler=t,this._mutations=[],this._committed=!1,this._dataReader=cn(e)}set(e,t,n){this._verifyNotCommitted();let r=dR(e,this._firestore),i=de(r.converter,t,n),s=cr(this._dataReader,"WriteBatch.set",r._key,i,null!==r.converter,n);return this._mutations.push(s.toMutation(r._key,sx.none())),this}update(e,t,n,...r){let i;this._verifyNotCommitted();let s=dR(e,this._firestore);return i="string"==typeof(t=ed(t))||t instanceof h1?cc(this._dataReader,"WriteBatch.update",s._key,t,n,r):ch(this._dataReader,"WriteBatch.update",s._key,t),this._mutations.push(i.toMutation(s._key,sx.exists(!0))),this}delete(e){this._verifyNotCommitted();let t=dR(e,this._firestore);return this._mutations=this._mutations.concat(new sV(t._key,sx.none())),this}commit(){return this._verifyNotCommitted(),this._committed=!0,this._mutations.length>0?this._commitHandler(this._mutations):Promise.resolve()}_verifyNotCommitted(){if(this._committed)throw new tO(tR.FAILED_PRECONDITION,"A write batch can no longer be used after commit() has been called.")}}function dR(e,t){if((e=ed(e)).firestore!==t)throw new tO(tR.INVALID_ARGUMENT,"Provided document reference is from a different Firestore instance.");return e}class dO{constructor(e,t){this._firestore=e,this._transaction=t,this._dataReader=cn(e)}get(e){let t=dR(e,this._firestore),n=new dt(this._firestore);return this._transaction.lookup([t._key]).then(e=>{if(!e||1!==e.length)return tD(24041);let r=e[0];if(r.isFoundDocument())return new cF(this._firestore,n,r.key,r,t.converter);if(r.isNoDocument())return new cF(this._firestore,n,t._key,null,t.converter);throw tD(18433,{doc:r})})}set(e,t,n){let r=dR(e,this._firestore),i=de(r.converter,t,n),s=cr(this._dataReader,"Transaction.set",r._key,i,null!==r.converter,n);return this._transaction.set(r._key,s),this}update(e,t,n,...r){let i,s=dR(e,this._firestore);return i="string"==typeof(t=ed(t))||t instanceof h1?cc(this._dataReader,"Transaction.update",s._key,t,n,r):ch(this._dataReader,"Transaction.update",s._key,t),this._transaction.update(s._key,i),this}delete(e){let t=dR(e,this._firestore);return this._transaction.delete(t._key),this}}class dM extends dO{constructor(e,t){super(e,t),this._firestore=e}get(e){let t=dR(e,this._firestore),n=new cE(this._firestore);return super.get(e).then(e=>new dT(this._firestore,n,t._key,e._document,new dE(!1,!1),t.converter))}}function dL(e,t,n){var r,i;let s;e=t8(e,hB);let a={...dN,...n};if(a.maxAttempts<1)throw new tO(tR.INVALID_ARGUMENT,"Max attempts must be at least 1");return r=hj(e),i=n=>t(new dM(e,n)),s=new tM,r.asyncQueue.enqueueAndForget(async()=>{let e=await hy(r);new ha(r.asyncQueue,e,a,i,s).ju()}),s.promise}function dP(e){e=t8(e,hD);let t=t8(e.firestore,hB);return hv(hj(t),e._key).then(n=>dJ(t,e,n))}function dF(e){var t;let n;e=t8(e,hD);let r=t8(e.firestore,hB),i=hj(r),s=new cE(r);return(t=e._key,n=new tM,i.asyncQueue.enqueueAndForget(async()=>(async function(e,t,n){try{let r=await e.persistence.runTransaction("read document","readonly",n=>e.localDocuments.getDocument(n,t));r.isFoundDocument()?n.resolve(r):r.isNoDocument()?n.resolve(null):n.reject(new tO(tR.UNAVAILABLE,"Failed to get document from cache. (However, this document may exist on the server. Run again without setting 'source' in the GetOptions to attempt to retrieve the document from the server.)"))}catch(r){let e=ur(r,`Failed to get document '${t} from cache`);n.reject(e)}})(await hm(i),t,n)),n.promise).then(t=>new dT(r,s,e._key,t,new dE(null!==t&&t.hasLocalMutations,!0),e.converter))}function dV(e){e=t8(e,hD);let t=t8(e.firestore,hB);return hv(hj(t),e._key,{source:"server"}).then(n=>dJ(t,e,n))}function dB(e){e=t8(e,hx);let t=t8(e.firestore,hB),n=hj(t),r=new cE(t);return cB(e._query),hb(n,e._query).then(n=>new dx(t,r,e,n))}function dU(e){var t;let n;e=t8(e,hx);let r=t8(e.firestore,hB),i=hj(r),s=new cE(r);return(t=e._query,n=new tM,i.asyncQueue.enqueueAndForget(async()=>(async function(e,t,n){try{let r=await o4(e,t,!0),i=new u_(t,r.ks),s=i.ru(r.documents),a=i.applyChanges(s,
23!1);n.resolve(a.snapshot)}catch(r){let e=ur(r,`Failed to execute query '${t} against cache`);n.reject(e)}})(await hm(i),t,n)),n.promise).then(t=>new dx(r,s,e,t))}function dq(e){e=t8(e,hx);let t=t8(e.firestore,hB),n=hj(t),r=new cE(t);return hb(n,e._query,{source:"server"}).then(n=>new dx(t,r,e,n))}function dj(e,t,n){e=t8(e,hD);let r=t8(e.firestore,hB),i=de(e.converter,t,n),s=cn(r);return dW(r,[cr(s,"setDoc",e._key,i,null!==e.converter,n).toMutation(e._key,sx.none())])}function dz(e,t,n,...r){e=t8(e,hD);let i=t8(e.firestore,hB),s=cn(i);return dW(i,[("string"==typeof(t=ed(t))||t instanceof h1?cc(s,"updateDoc",e._key,t,n,r):ch(s,"updateDoc",e._key,t)).toMutation(e._key,sx.exists(!0))])}function d$(e){return dW(t8(e.firestore,hB),[new sV(e._key,sx.none())])}function dG(e,t){let n=t8(e.firestore,hB),r=hR(e),i=de(e.converter,t);return dW(n,[cr(cn(e.firestore),"addDoc",r._key,i,null!==e.converter,{}).toMutation(r._key,sx.exists(!1))]).then(()=>r)}function dK(e,...t){var n;let r,i,s,a,o;e=ed(e);let l={includeMetadataChanges:!1,source:"default"},u=0;"object"!=typeof t[0]||cM(t[u])||(l=t[u++]);let h={includeMetadataChanges:l.includeMetadataChanges,source:l.source};if(cM(t[u])){let e=t[u];t[u]=e.next?.bind(e),t[u+1]=e.error?.bind(e),t[u+2]=e.complete?.bind(e)}if(e instanceof hD)i=t8(e.firestore,hB),s=iY(e._key.path),r={next:n=>{t[u]&&t[u](dJ(i,e,n))},error:t[u+1],complete:t[u+2]};else{let n=t8(e,hx);i=t8(n.firestore,hB),s=n._query;let a=new cE(i);r={next:e=>{t[u]&&t[u](new dx(i,a,n,e))},error:t[u+1],complete:t[u+2]},cB(e._query)}return n=hj(i),o=new ug(s,a=new hn(r),h),n.asyncQueue.enqueueAndForget(async()=>uh(await hw(n),o)),()=>{a.Nu(),n.asyncQueue.enqueueAndForget(async()=>uc(await hw(n),o))}}function dQ(e,t,...n){var r,i,s,a,o,l;let u=ed(e),h=function(e){let t={bundle:"",bundleName:"",bundleSource:""};for(let n of["bundle","bundleName","bundleSource"]){if(!(n in e)){t.error=`snapshotJson missing required field: ${n}`;break}let r=e[n];if("string"!=typeof r){t.error=`snapshotJson field '${n}' must be a string.`;break}if(0===r.length){t.error=`snapshotJson field '${n}' cannot be an empty string.`;break}"bundle"===n?t.bundle=r:"bundleName"===n?t.bundleName=r:"bundleSource"===n&&(t.bundleSource=r)}return t}(t);if(h.error)throw new tO(tR.INVALID_ARGUMENT,h.error);let c,d=0;if("object"!=typeof n[0]||cM(n[d])||(c=n[d++]),"QuerySnapshot"===h.bundleSource){let e,t,a=null;if("object"==typeof n[d]&&cM(n[d])){let e=n[d++];a={next:e.next,error:e.error,complete:e.complete}}else a={next:n[d++],error:n[d++],complete:n[d++]};return r=c,i=a,s=n[d],t=!1,hX(u,h.bundle).then(()=>hZ(u,h.bundleName)).then(n=>{n&&!t&&(s&&n.withConverter(s),e=dK(n,r||{},i))}).catch(e=>(i.error&&i.error(e),()=>{})),()=>{t||(t=!0,e&&e())}}if("DocumentSnapshot"===h.bundleSource){let e,t,r=null;if("object"==typeof n[d]&&cM(n[d])){let e=n[d++];r={next:e.next,error:e.error,complete:e.complete}}else r={next:n[d++],error:n[d++],complete:n[d++]};return a=c,o=r,l=n[d],t=!1,hX(u,h.bundle).then(()=>{t||(e=dK(new hD(u,l||null,t0.fromPath(h.bundleName)),a||{},o))}).catch(e=>(o.error&&o.error(e),()=>{})),()=>{t||(t=!0,e&&e())}}throw new tO(tR.INVALID_ARGUMENT,`unsupported bundle source: ${h.bundleSource}`)}function dH(e,t){let n,r=hj(e=t8(e,hB));return n=new hn(cM(t)?t:{next:t}),r.asyncQueue.enqueueAndForget(async()=>{var e;return e=await hw(r),void(e.Ca.add(n),n.next())}),()=>{n.Nu(),r.asyncQueue.enqueueAndForget(async()=>{var e;return e=await hw(r),void e.Ca.delete(n)})}}function dW(e,t){var n;let r;return n=hj(e),r=new tM,n.asyncQueue.enqueueAndForget(async()=>uO(await hp(n),t,r)),r.promise}function dJ(e,t,n){let r=n.docs.get(t._key),i=new cE(e);return new dT(e,i,t._key,r,new dE(n.hasPendingWrites,n.fromCache),t.converter)}function dY(e){return hj(e=t8(e,hB)),new dk(e,t=>dW(e,t))}function dX(e,t){let n=hj(e=t8(e,hB));if(!n._uninitializedComponentsProvider||"memory"===n._uninitializedComponentsProvider._offline.kind)return tC("Cannot enable indexes when persistence is disabled"),Promise.resolve();let r=function(e){let t="string"==typeof e?function(e){try{return JSON.parse(e)}catch(e){throw new tO(tR.INVALID_ARGUMENT,"Failed to parse JSON: "+e?.message)}}(e):e,n=[];if(Array.isArray(t.indexes))for(let e of t.indexes){let t=dZ(e,"collectionGroup"),r=[];if(Array.isArray(e.fields))for(let t of e.fields){let e=cv("setIndexConfiguration",dZ(t,"fieldPath"));"CONTAINS"===t.arrayConfig?r.push(new no(e,2)):"ASCENDING"===t.order?r.push(new no(e,0)):"DESCENDING"===t.order&&r.push(new no(e,1))}n.push(new nr(nr.UNKNOWN_ID,t,r,nl.empty()))}return n}(t);return n.asyncQueue.enqueue(async()=>(async function(e,t){let n=e.indexManager,r=[];return e.persistence.runTransaction("Configure indexes","readwrite",e=>n.getFieldIndexes(e).next(i=>(function(e,t,n,r,i){t=[...t],(e=[...e]).sort(n),t.sort(n);let s=e.length,a=t.length,o=0,l=0;for(;o<a&&l<s;){let s=n(e[l],t[o]);s<0?i(e[l++]):s>0?r(t[o++]):(o++,l++)}for(;o<a;)r(t[o++]);for(;l<s;)i(e[l++])})(i,t,na,t=>{r.push(n.addFieldIndex(e,t))},t=>{r.push(n.deleteFieldIndex(e,t))})).next(()=>np.waitFor(r)))})(await hm(n),r))}function dZ(e,t){if("string"!=typeof e[t])throw new tO(tR.INVALID_ARGUMENT,"Missing str
23ing value for: "+t);return e[t]}class d0{constructor(e){this._firestore=e,this.type="PersistentCacheIndexManager"}}function d1(e){e=t8(e,hB);let t=d5.get(e);if(t)return t;let n=hj(e);if("persistent"!==n._uninitializedComponentsProvider?._offline.kind)return null;let r=new d0(e);return d5.set(e,r),r}function d2(e){d4(e,!0)}function d6(e){d4(e,!1)}function d3(e){var t;(t=hj(e._firestore)).asyncQueue.enqueue(async()=>{var e;let n;return n=(e=await hm(t)).indexManager,e.persistence.runTransaction("Delete All Indexes","readwrite",e=>n.deleteAllFieldIndexes(e))}).then(e=>tT("deleting all persistent cache indexes succeeded")).catch(e=>tC("deleting all persistent cache indexes failed",e))}function d4(e,t){var n;(n=hj(e._firestore),n.asyncQueue.enqueue(async()=>{var e;return e=await hm(n),void(e.Cs.As=t)})).then(e=>tT(`setting persistent cache index auto creation isEnabled=${t} succeeded`)).catch(e=>tC(`setting persistent cache index auto creation isEnabled=${t} failed`,e))}let d5=new WeakMap;class d8{constructor(){throw Error("instances of this class should not be created")}static onExistenceFilterMismatch(e){return d7.instance.onExistenceFilterMismatch(e)}}class d7{constructor(){this.i=new Map}static get instance(){return d9||function(e){if(sQ)throw Error("a TestingHooksSpi instance is already set");sQ=e}(d9=new d7),d9}u(e){this.i.forEach(t=>t(e))}onExistenceFilterMismatch(e){let t=Symbol(),n=this.i;return n.set(t,e),()=>n.delete(t)}}let d9=null;!function(e=!0){tb=e4,eH(new ef("firestore",(t,{instanceIdentifier:n,options:r})=>{let i=t.getProvider("app").getImmediate(),s=new hB(new tV(t.getProvider("auth-internal")),new tj(i,t.getProvider("app-check-internal")),function(e,t){if(!Object.prototype.hasOwnProperty.apply(e.options,["projectId"]))throw new tO(tR.INVALID_ARGUMENT,'"projectId" not provided in firebase.initializeApp.');return new r2(e.options.projectId,t)}(i,n),i);return r={useFetchStreams:e,...r},s._setSettings(r),s},"PUBLIC").setMultipleInstances(!0)),tt(cR,cO,void 0),tt(cR,cO,"esm2020")}(),e.s(["AggregateField",()=>cL,"AggregateQuerySnapshot",()=>cP,"DocumentSnapshot",()=>dT,"PersistentCacheIndexManager",()=>d0,"QueryCompositeFilterConstraint",()=>cG,"QueryConstraint",()=>cq,"QueryDocumentSnapshot",()=>dC,"QueryEndAtConstraint",()=>c2,"QueryFieldFilterConstraint",()=>cz,"QueryLimitConstraint",()=>cJ,"QueryOrderByConstraint",()=>cH,"QuerySnapshot",()=>dx,"QueryStartAtConstraint",()=>cZ,"SnapshotMetadata",()=>dE,"Transaction",()=>dM,"WriteBatch",()=>dk,"_TestingHooks",()=>d8,"addDoc",()=>dG,"aggregateFieldEqual",()=>ds,"aggregateQuerySnapshotEqual",()=>da,"and",()=>cQ,"average",()=>dr,"count",()=>di,"deleteAllPersistentCacheIndexes",()=>d3,"deleteDoc",()=>d$,"disablePersistentCacheIndexAutoCreation",()=>d6,"documentSnapshotFromJSON",()=>dS,"enablePersistentCacheIndexAutoCreation",()=>d2,"endAt",()=>c3,"endBefore",()=>c6,"executeWrite",()=>dW,"getAggregateFromServer",()=>du,"getCountFromServer",()=>dl,"getDoc",()=>dP,"getDocFromCache",()=>dF,"getDocFromServer",()=>dV,"getDocs",()=>dB,"getDocsFromCache",()=>dU,"getDocsFromServer",()=>dq,"getPersistentCacheIndexManager",()=>d1,"limit",()=>cY,"limitToLast",()=>cX,"memoryEagerGarbageCollector",()=>dm,"memoryLocalCache",()=>dp,"memoryLruGarbageCollector",()=>dg,"onSnapshot",()=>dK,"onSnapshotResume",()=>dQ,"onSnapshotsInSync",()=>dH,"or",()=>cK,"orderBy",()=>cW,"persistentLocalCache",()=>dy,"persistentMultipleTabManager",()=>dI,"persistentSingleTabManager",()=>db,"query",()=>cj,"querySnapshotFromJSON",()=>dD,"runTransaction",()=>dL,"setDoc",()=>dj,"setIndexConfiguration",()=>dX,"snapshotEqual",()=>dA,"startAfter",()=>c1,"startAt",()=>c0,"sum",()=>dn,"updateDoc",()=>dz,"where",()=>c$,"writeBatch",()=>
23dY],63802),e.s([],36180),e.i(63802),e.s(["AbstractUserDataWriter",()=>c_,"AggregateField",()=>cL,"AggregateQuerySnapshot",()=>cP,"Bytes",()=>h0,"CACHE_SIZE_UNLIMITED",()=>-1,"CollectionReference",()=>hA,"DocumentReference",()=>hD,"DocumentSnapshot",()=>dT,"FieldPath",()=>h1,"FieldValue",()=>h6,"Firestore",()=>hB,"FirestoreError",()=>tO,"GeoPoint",()=>h3,"LoadBundleTask",()=>hV,"PersistentCacheIndexManager",()=>d0,"Query",()=>hx,"QueryCompositeFilterConstraint",()=>cG,"QueryConstraint",()=>cq,"QueryDocumentSnapshot",()=>dC,"QueryEndAtConstraint",()=>c2,"QueryFieldFilterConstraint",()=>cz,"QueryLimitConstraint",()=>cJ,"QueryOrderByConstraint",()=>cH,"QuerySnapshot",()=>dx,"QueryStartAtConstraint",()=>cZ,"SnapshotMetadata",()=>dE,"Timestamp",()=>nt,"Transaction",()=>dM,"VectorValue",()=>h4,"WriteBatch",()=>dk,"_AutoId",()=>t$,"_ByteString",()=>rj,"_DatabaseId",()=>r2,"_DocumentKey",()=>t0,"_EmptyAppCheckTokenProvider",()=>tz,"_EmptyAuthCredentialsProvider",()=>tP,"_FieldPath",()=>tZ,"_TestingHooks",()=>d8,"_cast",()=>t8,"_debugAssert",()=>tk,"_internalAggregationQueryToProtoRunAggregationQueryRequest",()=>ck,"_internalQueryToProtoQueryTarget",()=>cN,"_isBase64Available",()=>rq,"_logWarn",()=>tC,"_validateIsNotUsedTogether",()=>t2,"addDoc",()=>dG,"aggregateFieldEqual",()=>ds,"aggregateQuerySnapshotEqual",()=>da,"and",()=>cQ,"arrayRemove",()=>cx,"arrayUnion",()=>cC,"average",()=>dr,"clearIndexedDbPersistence",()=>hQ,"collection",()=>hN,"collectionGroup",()=>hk,"connectFirestoreEmulator",()=>hC,"count",()=>di,"deleteAllPersistentCacheIndexes",()=>d3,"deleteDoc",()=>d$,"deleteField",()=>cT,"disableNetwork",()=>hJ,"disablePersistentCacheIndexAutoCreation",()=>d6,"doc",()=>hR,"documentId",()=>h2,"documentSnapshotFromJSON",()=>dS,"enableIndexedDbPersistence",()=>h$,"enableMultiTabIndexedDbPersistence",()=>hG,"enableNetwork",()=>hW,"enablePersistentCacheIndexAutoCreation",()=>d2,"endAt",()=>c3,"endBefore",()=>c6,"ensureFirestoreConfigured",()=>hj,"executeWrite",()=>dW,"getAggregateFromServer",()=>du,"getCountFromServer",()=>dl,"getDoc",()=>dP,"getDocFromCache",()=>dF,"getDocFromServer",()=>dV,"getDocs",()=>dB,"getDocsFromCache",()=>dU,"getDocsFromServer",()=>dq,"getFirestore",()=>hq,"getPersistentCacheIndexManager",()=>d1,"increment",()=>cD,"initializeFirestore",()=>hU,"limit",()=>cY,"limitToLast",()=>cX,"loadBundle",()=>hX,"memoryEagerGarbageCollector",()=>dm,"memoryLocalCache",()=>dp,"memoryLruGarbageCollector",()=>dg,"namedQuery",()=>hZ,"onSnapshot",()=>dK,"onSnapshotResume",()=>dQ,"onSnapshotsInSync",()=>dH,"or",()=>cK,"orderBy",()=>cW,"persistentLocalCache",()=>dy,"persistentMultipleTabManager",()=>dI,"persistentSingleTabManager",()=>db,"query",()=>cj,"queryEqual",()=>hM,"querySnapshotFromJSON",()=>dD,"refEqual",()=>hO,"runTransaction",()=>dL,"serverTimestamp",()=>cS,"setDoc",()=>dj,"setIndexConfiguration",()=>dX,"setLogLevel",()=>tE,"snapshotEqual",()=>dA,"startAfter",()=>c1,"startAt",()=>c0,"sum",()=>dn,"terminate",()=>hY,"updateDoc",()=>dz,"vector",()=>cA,"waitForPendingWrites",()=>hH,"where",()=>c$,"writeBatch",()=>dY],98925)}]);

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.